@Override protected Account buildAccount(String accountName) { GoogleAccount account = (GoogleAccount) new GoogleAccount().setName(accountName); account = (GoogleAccount) account.setJsonPath(jsonPath) .setProject(project); account.setAlphaListed(alphaListed) .setImageProjects(imageProjects) .setUserDataFile(userDataFile) .setRegions(regions); return account; }
@Override protected BaseImage buildBaseImage(String baseImageId) { GoogleBaseImage baseImage = new GoogleBaseImage(); GoogleBaseImage.GoogleImageSettings imageSettings = new GoogleBaseImage.GoogleImageSettings(); imageSettings.setImageFamily(isImageFamily); baseImage.setBaseImage(imageSettings); GoogleBaseImage.GoogleVirtualizationSettings virtualizationSettings = new GoogleBaseImage.GoogleVirtualizationSettings(); virtualizationSettings.setSourceImage(sourceImage); virtualizationSettings.setSourceImageFamily(sourceImageFamily); baseImage.setVirtualizationSettings(virtualizationSettings); return baseImage; } }
@Override protected Account emptyAccount() { return new GoogleAccount(); } }
@Override protected BakeryDefaults editBakeryDefaults(GoogleBakeryDefaults bakeryDefaults) { bakeryDefaults.setZone(isSet(zone) ? zone : bakeryDefaults.getZone()); bakeryDefaults.setNetwork(isSet(network) ? network : bakeryDefaults.getNetwork()); bakeryDefaults.setNetworkProjectId(isSet(networkProjectId) ? networkProjectId : bakeryDefaults.getNetworkProjectId()); bakeryDefaults.setUseInternalIp(isSet(useInternalIp) ? useInternalIp : bakeryDefaults.isUseInternalIp()); bakeryDefaults.setTemplateFile(isSet(templateFile) ? templateFile : bakeryDefaults.getTemplateFile()); return bakeryDefaults; } }
@Override protected BaseImage editBaseImage(GoogleBaseImage baseImage) { GoogleBaseImage.GoogleImageSettings imageSettings = baseImage.getBaseImage(); imageSettings = imageSettings != null ? imageSettings : new GoogleBaseImage.GoogleImageSettings(); imageSettings.setImageFamily(isSet(isImageFamily) ? isImageFamily : imageSettings.isImageFamily()); baseImage.setBaseImage(imageSettings); GoogleBaseImage.GoogleVirtualizationSettings virtualizationSettings = baseImage.getVirtualizationSettings(); virtualizationSettings = virtualizationSettings != null ? virtualizationSettings : new GoogleBaseImage.GoogleVirtualizationSettings(); virtualizationSettings.setSourceImage(isSet(sourceImage) ? sourceImage : virtualizationSettings.getSourceImage()); virtualizationSettings.setSourceImageFamily(isSet(sourceImageFamily) ? sourceImageFamily : virtualizationSettings.getSourceImageFamily()); baseImage.setVirtualizationSettings(virtualizationSettings); return baseImage; } }
@Override public GoogleBakeryDefaults emptyBakeryDefaults() { GoogleBakeryDefaults result = new GoogleBakeryDefaults(); result.setNetwork("default"); result.setZone("us-central1-f"); result.setUseInternalIp(false); result.setTemplateFile("gce.json"); return result; } }
@Override protected Provider editProvider(GoogleProvider provider) { try { provider.setDefaultRegions( updateStringList(provider.getDefaultRegions(), defaultRegions, addDefaultRegion, removeDefaultRegion)); } catch (IllegalArgumentException e) { throw new IllegalArgumentException("Set either --default-regions or --[add/remove]-default-region"); } return provider; } }
@Override public void validate(ConfigProblemSetBuilder p, GoogleProvider n) { List<GoogleNamedAccountCredentials> credentialsList = new ArrayList<>(); GoogleAccountValidator googleAccountValidator = new GoogleAccountValidator(credentialsList, halyardVersion); n.getAccounts().forEach(googleAccount -> googleAccountValidator.validate(p, googleAccount)); new GoogleBakeryDefaultsValidator(credentialsList, halyardVersion).validate(p, n.getBakeryDefaults()); } }
@Override protected Account buildAccount(String accountName) { AppengineAccount account = (AppengineAccount) new AppengineAccount().setName(accountName); account.setProject(project).setJsonPath(jsonPath); account.setLocalRepositoryDirectory(localRepositoryDirectory).setGitHttpsUsername(gitHttpsUsername) .setGitHttpsPassword(gitHttpsPassword).setGithubOAuthAccessToken(githubOAuthAccessToken) .setSshPrivateKeyFilePath(sshPrivateKeyFilePath).setSshPrivateKeyPassphrase(sshPrivateKeyPassphrase) .setSshKnownHostsFilePath(sshKnownHostsFilePath).setSshTrustUnknownHosts(sshTrustUnknownHosts) .setGcloudReleaseTrack(gcloudReleaseTrack); return account; }
@Override public void makeBootstrappingAccount(ArtifactSourcesConfig artifactSourcesConfig) { super.makeBootstrappingAccount(artifactSourcesConfig); imageProjects.add(artifactSourcesConfig.getGoogleImageProject()); } }
@Override protected BakeryDefaults editBakeryDefaults(GoogleBakeryDefaults bakeryDefaults) { bakeryDefaults.setZone(isSet(zone) ? zone : bakeryDefaults.getZone()); bakeryDefaults.setNetwork(isSet(network) ? network : bakeryDefaults.getNetwork()); bakeryDefaults.setNetworkProjectId(isSet(networkProjectId) ? networkProjectId : bakeryDefaults.getNetworkProjectId()); bakeryDefaults.setUseInternalIp(isSet(useInternalIp) ? useInternalIp : bakeryDefaults.isUseInternalIp()); bakeryDefaults.setTemplateFile(isSet(templateFile) ? templateFile : bakeryDefaults.getTemplateFile()); return bakeryDefaults; } }
@Override protected BaseImage editBaseImage(GoogleBaseImage baseImage) { GoogleBaseImage.GoogleImageSettings imageSettings = baseImage.getBaseImage(); imageSettings = imageSettings != null ? imageSettings : new GoogleBaseImage.GoogleImageSettings(); imageSettings.setImageFamily(isSet(isImageFamily) ? isImageFamily : imageSettings.isImageFamily()); baseImage.setBaseImage(imageSettings); GoogleBaseImage.GoogleVirtualizationSettings virtualizationSettings = baseImage.getVirtualizationSettings(); virtualizationSettings = virtualizationSettings != null ? virtualizationSettings : new GoogleBaseImage.GoogleVirtualizationSettings(); virtualizationSettings.setSourceImage(isSet(sourceImage) ? sourceImage : virtualizationSettings.getSourceImage()); virtualizationSettings.setSourceImageFamily(isSet(sourceImageFamily) ? sourceImageFamily : virtualizationSettings.getSourceImageFamily()); baseImage.setVirtualizationSettings(virtualizationSettings); return baseImage; } }
@Override public GoogleBakeryDefaults emptyBakeryDefaults() { GoogleBakeryDefaults result = new GoogleBakeryDefaults(); result.setNetwork("default"); result.setZone("us-central1-f"); result.setUseInternalIp(false); result.setTemplateFile("gce.json"); return result; } }
@Override protected Account buildAccount(String accountName) { GoogleAccount account = (GoogleAccount) new GoogleAccount().setName(accountName); account = (GoogleAccount) account.setJsonPath(jsonPath) .setProject(project); account.setAlphaListed(alphaListed) .setImageProjects(imageProjects) .setUserDataFile(userDataFile) .setRegions(regions); return account; }
@Override protected BaseImage buildBaseImage(String baseImageId) { GoogleBaseImage baseImage = new GoogleBaseImage(); GoogleBaseImage.GoogleImageSettings imageSettings = new GoogleBaseImage.GoogleImageSettings(); imageSettings.setImageFamily(isImageFamily); baseImage.setBaseImage(imageSettings); GoogleBaseImage.GoogleVirtualizationSettings virtualizationSettings = new GoogleBaseImage.GoogleVirtualizationSettings(); virtualizationSettings.setSourceImage(sourceImage); virtualizationSettings.setSourceImageFamily(sourceImageFamily); baseImage.setVirtualizationSettings(virtualizationSettings); return baseImage; } }
@Override protected Provider editProvider(GoogleProvider provider) { try { provider.setDefaultRegions( updateStringList(provider.getDefaultRegions(), defaultRegions, addDefaultRegion, removeDefaultRegion)); } catch (IllegalArgumentException e) { throw new IllegalArgumentException("Set either --default-regions or --[add/remove]-default-region"); } return provider; } }
@Override public void validate(ConfigProblemSetBuilder p, GoogleProvider n) { List<GoogleNamedAccountCredentials> credentialsList = new ArrayList<>(); GoogleAccountValidator googleAccountValidator = new GoogleAccountValidator(credentialsList, halyardVersion); n.getAccounts().forEach(googleAccount -> googleAccountValidator.validate(p, googleAccount)); new GoogleBakeryDefaultsValidator(credentialsList, halyardVersion).validate(p, n.getBakeryDefaults()); } }
@Override protected Account emptyAccount() { return new GoogleAccount(); } }
@Override protected Account buildAccount(String accountName) { AppengineAccount account = (AppengineAccount) new AppengineAccount().setName(accountName); account.setProject(project).setJsonPath(jsonPath); account.setLocalRepositoryDirectory(localRepositoryDirectory).setGitHttpsUsername(gitHttpsUsername) .setGitHttpsPassword(gitHttpsPassword).setGithubOAuthAccessToken(githubOAuthAccessToken) .setSshPrivateKeyFilePath(sshPrivateKeyFilePath).setSshPrivateKeyPassphrase(sshPrivateKeyPassphrase) .setSshKnownHostsFilePath(sshKnownHostsFilePath).setSshTrustUnknownHosts(sshTrustUnknownHosts) .setGcloudReleaseTrack(gcloudReleaseTrack) .setServices(services) .setVersions(versions) .setOmitServices(omitServices) .setOmitVersions(omitVersions); return account; }
@Override public void makeBootstrappingAccount(ArtifactSourcesConfig artifactSourcesConfig) { super.makeBootstrappingAccount(artifactSourcesConfig); imageProjects.add(artifactSourcesConfig.getGoogleImageProject()); } }