StackInstances Class
Where Stack Instances will be created from the StackSet.
Example
declare const pipeline: codepipeline.Pipeline;
declare const sourceOutput: codepipeline.Artifact;
pipeline.addStage({
stageName: 'DeployStackSets',
actions: [
// First, update the StackSet itself with the newest template
new codepipeline_actions.CloudFormationDeployStackSetAction({
actionName: 'UpdateStackSet',
runOrder: 1,
stackSetName: 'MyStackSet',
template: codepipeline_actions.StackSetTemplate.fromArtifactPath(sourceOutput.atPath('template.yaml')),
// Change this to 'StackSetDeploymentModel.organizations()' if you want to deploy to OUs
deploymentModel: codepipeline_actions.StackSetDeploymentModel.selfManaged(),
// This deploys to a set of accounts
stackInstances: codepipeline_actions.StackInstances.inAccounts(['111111111111'], ['us-east-1', 'eu-west-1']),
}),
// Afterwards, update/create additional instances in other accounts
new codepipeline_actions.CloudFormationDeployStackInstancesAction({
actionName: 'AddMoreInstances',
runOrder: 2,
stackSetName: 'MyStackSet',
stackInstances: codepipeline_actions.StackInstances.inAccounts(
['222222222222', '333333333333'],
['us-east-1', 'eu-west-1']
),
}),
],
});
Initializer
new StackInstances()
StackInstances()
new StackInstances()
new StackInstances()
NewStackInstances()
Methods
fromArtifactPath(artifactPath: ArtifactPath, regions: string[]): StackInstances // chainable@staticmethod def from_artifact_path(artifact_path: ArtifactPath, regions: typing.List[str]) -> StackInstancespublic static StackInstances fromArtifactPath(ArtifactPath artifactPath, List<String> regions)public static StackInstances FromArtifactPath(ArtifactPath artifactPath, string[] regions)func FromArtifactPath(ArtifactPath ArtifactPath, Regions *[]*string) StackInstancesstatic#notes
For example:
[
"111111111111",
"222222222222",
"333333333333"
]
Stack Instances will be created in every combination of region and account, or region and Organizational Units (OUs).
If this is set of Organizational Units, you must have selected StackSetDeploymentModel.organizations() as deployment model.
inAccounts(accounts: string[], regions: string[]): StackInstances // chainable@staticmethod def in_accounts(accounts: typing.List[str], regions: typing.List[str]) -> StackInstancespublic static StackInstances inAccounts(List<String> accounts, List<String> regions)public static StackInstances InAccounts(string[] accounts, string[] regions)func InAccounts(Accounts *[]*string, Regions *[]*string) StackInstancesstatic#notes
Stack Instances will be created in every combination of region and account.
NOTE:
StackInstances.inAccounts()andStackInstances.inOrganizationalUnits()have exactly the same behavior, and you can use them interchangeably if you want. The only difference between them is that your code clearly indicates what entity it's working with.
inOrganizationalUnits(ous: string[], regions: string[]): StackInstances // chainable@staticmethod def in_organizational_units(ous: typing.List[str], regions: typing.List[str]) -> StackInstancespublic static StackInstances inOrganizationalUnits(List<String> ous, List<String> regions)public static StackInstances InOrganizationalUnits(string[] ous, string[] regions)func InOrganizationalUnits(Ous *[]*string, Regions *[]*string) StackInstancesstatic#notes
If you want to deploy to Organization Units, you must choose have created the StackSet with deploymentModel: DeploymentModel.organizations().
Stack Instances will be created in every combination of region and account.
NOTE:
StackInstances.inAccounts()andStackInstances.inOrganizationalUnits()have exactly the same behavior, and you can use them interchangeably if you want. The only difference between them is that your code clearly indicates what entity it's working with.