@Override public AwsBakeryDefaults emptyBakeryDefaults() { return new AwsBakeryDefaults(); } }
@Override protected Account emptyAccount() { return new AwsAccount(); } }
@Override protected Account buildAccount(String accountName) { AwsAccount account = (AwsAccount) new AwsAccount().setName(accountName); account.setDefaultKeyPair(defaultKeyPair) .setEdda(edda) .setDiscovery(discovery) .setAccountId(accountId) .setRegions(regions .stream() .map(r -> new AwsProvider.AwsRegion().setName(r)) .collect(Collectors.toList()) ) .setAssumeRole(assumeRole); return account; }
@Override protected Account editAccount(AwsAccount account) { account.setDefaultKeyPair(isSet(defaultKeyPair) ? defaultKeyPair : account.getDefaultKeyPair()); account.setEdda(isSet(edda) ? edda : account.getEdda()); account.setDiscovery(isSet(discovery) ? discovery : account.getDiscovery()); account.setAccountId(isSet(accountId) ? accountId : account.getAccountId()); account.setAssumeRole(isSet(assumeRole) ? assumeRole : account.getAssumeRole()); try { List<String> existingRegions = account .getRegions() .stream() .map(AwsProvider.AwsRegion::getName).collect(Collectors.toList()); regions = updateStringList(existingRegions, regions, addRegion, removeRegion); account.setRegions(regions .stream() .map(r -> new AwsProvider.AwsRegion().setName(r)) .collect(Collectors.toList()) ); } catch (IllegalArgumentException e) { throw new IllegalArgumentException("Set either --regions or --[add/remove]-region"); } return account; } }
@Override protected AwsBakeryDefaults editBakeryDefaults(AwsBakeryDefaults bakeryDefaults) { bakeryDefaults.setAwsAccessKey(isSet(awsAccessKey) ? awsAccessKey : bakeryDefaults.getAwsAccessKey()); bakeryDefaults.setAwsSecretKey(isSet(awsSecretKey) ? awsSecretKey : bakeryDefaults.getAwsSecretKey()); bakeryDefaults.setAwsSubnetId(isSet(awsSubnetId) ? awsSubnetId : bakeryDefaults.getAwsSubnetId()); bakeryDefaults.setAwsVpcId(isSet(awsVpcId) ? awsVpcId : bakeryDefaults.getAwsVpcId()); bakeryDefaults.setAwsAssociatePublicIpAddress(isSet(awsAssociatePublicIpAddress) ? awsAssociatePublicIpAddress : bakeryDefaults.getAwsAssociatePublicIpAddress()); bakeryDefaults.setDefaultVirtualizationType(isSet(defaultVirtualizationType) ? defaultVirtualizationType : bakeryDefaults.getDefaultVirtualizationType()); bakeryDefaults.setTemplateFile(isSet(templateFile) ? templateFile : bakeryDefaults.getTemplateFile()); return bakeryDefaults; } }
@Override protected Provider editProvider(AwsProvider provider) { provider.setAccessKeyId(isSet(accessKeyId) ? accessKeyId : provider.getAccessKeyId()); provider.setSecretAccessKey(isSet(secretAccessKey) ? secretAccessKey : provider.getSecretAccessKey()); return provider; } }
protected Optional<Profile> generateAwsProfile(DeploymentConfiguration deploymentConfiguration, SpinnakerRuntimeSettings endpoints, String spinnakerHome) { String name = "aws/clouddriver-credentials" + spinnakerHome.replace("/", "_"); AwsProvider awsProvider = deploymentConfiguration.getProviders().getAws(); if (awsProvider.isEnabled() && !StringUtils.isEmpty(awsProvider.getAccessKeyId()) && !StringUtils.isEmpty(awsProvider.getSecretAccessKey())) { String outputFile = awsCredentialsProfileFactoryBuilder.getOutputFile(spinnakerHome); return Optional.of(awsCredentialsProfileFactoryBuilder .setArtifact(SpinnakerArtifact.CLOUDDRIVER) .setAccessKeyId(awsProvider.getAccessKeyId()) .setSecretAccessKey(awsProvider.getSecretAccessKey()) .build() .getProfile(name, outputFile, deploymentConfiguration, endpoints)); } else { return Optional.empty(); } }
bindings.put("aws.default.account", awsProvider.getPrimaryAccount()); if (awsProvider.getPrimaryAccount() != null) { AwsAccount awsAccount = (AwsAccount) accountService.getProviderAccount(deploymentConfiguration.getName(), "aws", awsProvider.getPrimaryAccount()); AwsProvider.AwsRegion firstRegion = awsAccount.getRegions().get(0); if (firstRegion != null) { bindings.put("aws.default.region", firstRegion.getName());
@Override protected void setProfile(Profile profile, DeploymentConfiguration deploymentConfiguration, SpinnakerRuntimeSettings endpoints) { super.setProfile(profile, deploymentConfiguration, endpoints); profile.appendContents(profile.getBaseContents()); AwsProvider awsProvider = deploymentConfiguration.getProviders().getAws(); if (awsProvider.isEnabled()) { profile.appendContents("default.bake.account: " + awsProvider.getPrimaryAccount()); profile.appendContents("default.securityGroups: "); profile.appendContents("default.vpc.securityGroups: "); } String pipelineTemplates = Boolean.toString(deploymentConfiguration.getFeatures().getPipelineTemplates() != null ? deploymentConfiguration.getFeatures().getPipelineTemplates() : false); profile.appendContents("pipelineTemplates.enabled: " + pipelineTemplates); // For backward compatibility profile.appendContents("pipelineTemplate.enabled: " + pipelineTemplates); } }
@Override protected Account editAccount(AwsAccount account) { account.setDefaultKeyPair(isSet(defaultKeyPair) ? defaultKeyPair : account.getDefaultKeyPair()); account.setEdda(isSet(edda) ? edda : account.getEdda()); account.setDiscovery(isSet(discovery) ? discovery : account.getDiscovery()); account.setAccountId(isSet(accountId) ? accountId : account.getAccountId()); account.setAssumeRole(isSet(assumeRole) ? assumeRole : account.getAssumeRole()); try { List<String> existingRegions = account .getRegions() .stream() .map(AwsProvider.AwsRegion::getName).collect(Collectors.toList()); regions = updateStringList(existingRegions, regions, addRegion, removeRegion); account.setRegions(regions .stream() .map(r -> new AwsProvider.AwsRegion().setName(r)) .collect(Collectors.toList()) ); } catch (IllegalArgumentException e) { throw new IllegalArgumentException("Set either --regions or --[add/remove]-region"); } return account; } }
@Override protected AwsBakeryDefaults editBakeryDefaults(AwsBakeryDefaults bakeryDefaults) { bakeryDefaults.setAwsAccessKey(isSet(awsAccessKey) ? awsAccessKey : bakeryDefaults.getAwsAccessKey()); bakeryDefaults.setAwsSecretKey(isSet(awsSecretKey) ? awsSecretKey : bakeryDefaults.getAwsSecretKey()); bakeryDefaults.setAwsSubnetId(isSet(awsSubnetId) ? awsSubnetId : bakeryDefaults.getAwsSubnetId()); bakeryDefaults.setAwsVpcId(isSet(awsVpcId) ? awsVpcId : bakeryDefaults.getAwsVpcId()); bakeryDefaults.setAwsAssociatePublicIpAddress(isSet(awsAssociatePublicIpAddress) ? awsAssociatePublicIpAddress : bakeryDefaults.getAwsAssociatePublicIpAddress()); bakeryDefaults.setDefaultVirtualizationType(isSet(defaultVirtualizationType) ? defaultVirtualizationType : bakeryDefaults.getDefaultVirtualizationType()); bakeryDefaults.setTemplateFile(isSet(templateFile) ? templateFile : bakeryDefaults.getTemplateFile()); return bakeryDefaults; } }
@Override protected Account buildAccount(String accountName) { AwsAccount account = (AwsAccount) new AwsAccount().setName(accountName); account.setDefaultKeyPair(defaultKeyPair) .setEdda(edda) .setDiscovery(discovery) .setAccountId(accountId) .setRegions(regions .stream() .map(r -> new AwsProvider.AwsRegion().setName(r)) .collect(Collectors.toList()) ) .setAssumeRole(assumeRole); return account; }
@Override protected Provider editProvider(AwsProvider provider) { provider.setAccessKeyId(isSet(accessKeyId) ? accessKeyId : provider.getAccessKeyId()); provider.setSecretAccessKey(isSet(secretAccessKey) ? secretAccessKey : provider.getSecretAccessKey()); return provider; } }
protected Optional<Profile> generateAwsProfile(DeploymentConfiguration deploymentConfiguration, SpinnakerRuntimeSettings endpoints, String spinnakerHome) { String name = "aws/clouddriver-credentials" + spinnakerHome.replace("/", "_"); AwsProvider awsProvider = deploymentConfiguration.getProviders().getAws(); if (awsProvider.isEnabled() && !StringUtils.isEmpty(awsProvider.getAccessKeyId()) && !StringUtils.isEmpty(awsProvider.getSecretAccessKey())) { String outputFile = awsCredentialsProfileFactoryBuilder.getOutputFile(spinnakerHome); return Optional.of(awsCredentialsProfileFactoryBuilder .setArtifact(SpinnakerArtifact.CLOUDDRIVER) .setAccessKeyId(awsProvider.getAccessKeyId()) .setSecretAccessKey(awsProvider.getSecretAccessKey()) .build() .getProfile(name, outputFile, deploymentConfiguration, endpoints)); } else { return Optional.empty(); } }
bindings.put("aws.default.account", awsProvider.getPrimaryAccount()); if (awsProvider.getPrimaryAccount() != null) { AwsAccount awsAccount = (AwsAccount) accountService.getProviderAccount(deploymentConfiguration.getName(), "aws", awsProvider.getPrimaryAccount()); List<AwsProvider.AwsRegion> regionList = awsAccount.getRegions(); if (!regionList.isEmpty() && regionList.get(0) != null) { bindings.put("aws.default.region", regionList.get(0).getName());
@Override protected void setProfile(Profile profile, DeploymentConfiguration deploymentConfiguration, SpinnakerRuntimeSettings endpoints) { super.setProfile(profile, deploymentConfiguration, endpoints); profile.appendContents(profile.getBaseContents()); AwsProvider awsProvider = deploymentConfiguration.getProviders().getAws(); if (awsProvider.isEnabled()) { profile.appendContents("default.bake.account: " + awsProvider.getPrimaryAccount()); profile.appendContents("default.securityGroups: "); profile.appendContents("default.vpc.securityGroups: "); } Webhook webhook = deploymentConfiguration.getWebhook(); List<String> files = backupRequiredFiles(webhook, deploymentConfiguration.getName()); profile.setRequiredFiles(files); profile.appendContents(yamlToString(new WebhookWrapper(webhook))); String pipelineTemplates = Boolean.toString(deploymentConfiguration.getFeatures().getPipelineTemplates() != null ? deploymentConfiguration.getFeatures().getPipelineTemplates() : false); profile.appendContents("pipelineTemplates.enabled: " + pipelineTemplates); // For backward compatibility profile.appendContents("pipelineTemplate.enabled: " + pipelineTemplates); }
@Override public AwsBakeryDefaults emptyBakeryDefaults() { return new AwsBakeryDefaults(); } }
@Override protected Account emptyAccount() { return new AwsAccount(); } }