in source/repositories/compliant-framework-central-pipeline/lib/environment-pipeline-stack.ts [860:934]
private getFederationSupportActions(): codepipeline.IAction[] {
let tags: any = [
{
Key: 'solution-info:built-by',
Value: this.props.solutionInfo.builtBy
},
{
Key: 'solution-info:name',
Value: this.props.solutionInfo.name
},
{
Key: 'solution-info:version',
Value: this.props.solutionInfo.version
}
]
let actions: codepipeline.IAction[] = []
for (var region of this.props.config.deployToRegions) {
actions.push(
new codepipeline_actions.LambdaInvokeAction({
actionName: `Federation-StackSet-${cfw.getActionName(region)}`,
lambda: this.lambdas[cfw.STACK_SET_ACTION],
userParameters: {
'stackSetName': `${this.props.environment}-federation-stackset-${region}`,
'ouName': this.getOuName(region),
'templateUrl': `https://${this.s3Bucket.bucketRegionalDomainName}/` +
`${this.sources[cfw.SECURITY_BASELINE].repo.repositoryName}/` +
'templates/federation/federation.yml',
'region': region,
'parameters': {
'pFederationName': this.props.config.federation.name
},
'capabilities': [
'CAPABILITY_NAMED_IAM'
],
'tags': tags
},
runOrder: 1,
}),
);
}
if (this.props.environment == this.props.config.federation.sourceEnvironment) {
actions.push(new codepipeline_actions.CloudFormationCreateUpdateStackAction({
actionName: 'Federation-CentralAccount',
stackName: 'federation-stack',
adminPermissions: true,
replaceOnFailure: true,
templatePath: this.sources[cfw.SECURITY_BASELINE].output.atPath('templates/federation/federation.yml'),
parameterOverrides: {
['pFederationName']: this.props.config.federation.name,
},
runOrder: 2
}));
actions.push(new codepipeline_actions.CloudFormationCreateUpdateStackAction({
actionName: 'Federation-LoggingAccount',
stackName: 'federation-stack',
adminPermissions: true,
replaceOnFailure: true,
templatePath: this.sources[cfw.SECURITY_BASELINE].output.atPath('templates/federation/federation.yml'),
parameterOverrides: {
['pFederationName']: this.props.config.federation.name,
},
account: this.props.config.logging.accountId,
runOrder: 2
}));
}
return actions
}