Concourse editor: support for semver driver 'gcs'

See https://github.com/spring-projects/sts4/issues/60
This commit is contained in:
Kris De Volder
2018-06-18 10:47:45 -07:00
parent 0d4c3b8c42
commit a1f3da0611
5 changed files with 82 additions and 2 deletions

View File

@@ -605,8 +605,13 @@ public class PipelineYmlSchema implements YamlSchema {
AbstractType swift_source = f.ybean("SwiftSemverSource");
addProp(swift_source, "openstack", t_any).isPrimary(true);
AbstractType gcs_source = f.ybean("GcsSemverSource");
addProp(gcs_source, "bucket", t_ne_string).isRequired(true);
addProp(gcs_source, "key", t_ne_string).isRequired(true);
addProp(gcs_source, "json_key", t_ne_string).isRequired(true);
AbstractType[] driverSpecificSources = {
git_source, s3_source, swift_source
git_source, s3_source, swift_source, gcs_source
};
AbstractType source = f.contextAware("SemverSource", (dc) -> {
@@ -617,12 +622,14 @@ public class PipelineYmlSchema implements YamlSchema {
return s3_source;
case "swift":
return swift_source;
case "gcs":
return gcs_source;
default:
return null;
}
}).treatAsBean();
addProp(source, "initial_version", t_semver);
addProp(source, "driver", f.yenum("SemverDriver", "git", "s3", "swift")).isPrimary(true, false);
addProp(source, "driver", f.yenum("SemverDriver", "git", "s3", "swift", "gcs")).isPrimary(true, false);
for (AbstractType s : driverSpecificSources) {
for (YTypedProperty p : source.getProperties()) {
s.addProperty(p);

View File

@@ -0,0 +1 @@
*Required*. The name of the bucket.

View File

@@ -0,0 +1,10 @@
*Required*. The contents of your GCP Account JSON Key. Example:
json_key: |
{
"private_key_id": "...",
"private_key": "...",
"client_email": "...",
"client_id": "...",
"type": "service_account"
}

View File

@@ -0,0 +1 @@
*Required*. The key to use for the object in the bucket tracking the version.