Documentation ¶
Index ¶
- Constants
- func AddStackSetInstances(conf StackSetConfig, instanceConf StackSetInstancesConfig, wait bool) error
- func CreateChangeSet(template cft.Template, params []types.Parameter, tags map[string]string, ...) (string, error)
- func CreateStackSet(conf StackSetConfig) (*string, error)
- func CreateStackSetInstances(conf StackSetInstancesConfig, wait bool) error
- func DeleteAllStackSetInstances(stackSetName string, wait bool, retainStacks bool) error
- func DeleteChangeSet(stackName, changeSetName string) error
- func DeleteStack(stackName string, roleArn string) error
- func DeleteStackSet(stackSetName string) error
- func DeleteStackSetInstances(stackSetName string, accounts []string, regions []string, wait bool, ...) error
- func ExecuteChangeSet(stackName, changeSetName string, disableRollback bool) error
- func GetChangeSet(stackName, changeSetName string) (*cloudformation.DescribeChangeSetOutput, error)
- func GetStack(stackName string) (types.Stack, error)
- func GetStackEvents(stackName string) ([]types.StackEvent, error)
- func GetStackResources(stackName string) ([]types.StackResource, error)
- func GetStackSet(stackSetName string) (*types.StackSet, error)
- func GetStackSetOperationsResult(stackSetName *string, operationId *string) (*types.StackSetOperationResultSummary, error)
- func GetStackTemplate(stackName string, processed bool) (string, error)
- func ListLast10StackSetOperations(stackSetName string) ([]types.StackSetOperationSummary, error)
- func ListStackSetInstances(stackSetName string) ([]types.StackInstanceSummary, error)
- func ListStackSets() ([]types.StackSetSummary, error)
- func ListStacks() ([]types.StackSummary, error)
- func MakeTags(tags map[string]string) []types.Tag
- func SetTerminationProtection(stackName string, protectionEnabled bool) error
- func StackExists(stackName string) (bool, error)
- func UniqueStrings(input []string) []string
- func UpdateStackSet(conf StackSetConfig, instanceConf StackSetInstancesConfig, wait bool) error
- func WaitUntilStackCreateComplete(stackName string) error
- func WaitUntilStackExists(stackName string) error
- func WaitUntilStackSetOperationCompleted(operationId string, stacksetName string) error
- type StackSetConfig
- type StackSetInstancesConfig
Constants ¶
const WAIT_PERIOD_IN_SECONDS = 2
Variables ¶
This section is empty.
Functions ¶
func AddStackSetInstances ¶ added in v1.3.0
func AddStackSetInstances(conf StackSetConfig, instanceConf StackSetInstancesConfig, wait bool) error
AddStackSetInstances adds instances to a stack set
func CreateChangeSet ¶
func CreateChangeSet(template cft.Template, params []types.Parameter, tags map[string]string, stackName string, roleArn string) (string, error)
CreateChangeSet creates a changeset
func CreateStackSet ¶ added in v1.3.0
func CreateStackSet(conf StackSetConfig) (*string, error)
CreateStackSet creates stack set
func CreateStackSetInstances ¶ added in v1.3.0
func CreateStackSetInstances(conf StackSetInstancesConfig, wait bool) error
func DeleteAllStackSetInstances ¶ added in v1.3.0
DeleteAllStackSetInstances deletes all instances for a given stack set
func DeleteChangeSet ¶
DeleteChangeSet deletes the named changeset
func DeleteStack ¶
DeleteStack deletes a stack
func DeleteStackSet ¶ added in v1.3.0
DeleteStackSet deletes a stack set
func DeleteStackSetInstances ¶ added in v1.3.0
func DeleteStackSetInstances(stackSetName string, accounts []string, regions []string, wait bool, retainStacks bool) error
DeleteStackSetInstances deletes instances for a given stack set in specified accounts and regions
func ExecuteChangeSet ¶
ExecuteChangeSet executes the named changeset
func GetChangeSet ¶
func GetChangeSet(stackName, changeSetName string) (*cloudformation.DescribeChangeSetOutput, error)
GetChangeSet returns the named changeset
func GetStackEvents ¶
func GetStackEvents(stackName string) ([]types.StackEvent, error)
GetStackEvents returns all events associated with the named stack
func GetStackResources ¶
func GetStackResources(stackName string) ([]types.StackResource, error)
GetStackResources returns a list of the resources in the named stack
func GetStackSet ¶ added in v1.3.0
GetStackSet returns a cloudformation.StackSet
func GetStackSetOperationsResult ¶ added in v1.3.0
func GetStackSetOperationsResult(stackSetName *string, operationId *string) (*types.StackSetOperationResultSummary, error)
GetStackSetOperationsResult returns an operation result for a given stack sets operation id
func GetStackTemplate ¶
GetStackTemplate returns the template used to launch the named stack
func ListLast10StackSetOperations ¶ added in v1.3.0
func ListLast10StackSetOperations(stackSetName string) ([]types.StackSetOperationSummary, error)
ListLast10StackSetOperations returns a list of last 10 operations for a given stack sets
func ListStackSetInstances ¶ added in v1.3.0
func ListStackSetInstances(stackSetName string) ([]types.StackInstanceSummary, error)
ListStackSetInstances returns a list of all stack set instances for a given stack set
func ListStackSets ¶ added in v1.3.0
func ListStackSets() ([]types.StackSetSummary, error)
ListStackSets returns a list of all existing stack sets
func ListStacks ¶
func ListStacks() ([]types.StackSummary, error)
ListStacks returns a list of all existing stacks
func SetTerminationProtection ¶
SetTerminationProtection enables or disables termination protection for a stack
func StackExists ¶
StackExists checks whether the named stack currently exists
func UniqueStrings ¶ added in v1.3.0
uniqueStrings returns a unique subset of the string slice provided.
func UpdateStackSet ¶ added in v1.3.0
func UpdateStackSet(conf StackSetConfig, instanceConf StackSetInstancesConfig, wait bool) error
UpdateStackSet updates stack set and its instances
func WaitUntilStackCreateComplete ¶
WaitUntilStackCreateComplete pauses execution until the stack is completed (or fails)
func WaitUntilStackExists ¶
WaitUntilStackExists pauses execution until the named stack exists
func WaitUntilStackSetOperationCompleted ¶ added in v1.3.0
Types ¶
type StackSetConfig ¶ added in v1.3.0
type StackSetConfig struct { // The Amazon Resource Number (ARN) of the IAM role to use to create this stack // set. Specify an IAM role only if you are using customized administrator roles to // control which users or groups can manage specific stack sets within the same // administrator account. For more information, see Prerequisites: Granting // Permissions for Stack Set Operations // (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-prereqs.html) // in the CloudFormation User Guide. AdministrationRoleARN *string // Describes whether StackSets automatically deploys to Organizations accounts that // are added to the target organization or organizational unit (OU). Specify only // if PermissionModel is SERVICE_MANAGED. AutoDeployment *types.AutoDeployment // [Service-managed permissions] Specifies whether you are acting as an account // administrator in the organization's management account or as a delegated // administrator in a member account. By default, SELF is specified. Use SELF for // stack sets with self-managed permissions. // // * To create a stack set with // service-managed permissions while signed in to the management account, specify // SELF. // // * To create a stack set with service-managed permissions while signed in // to a delegated administrator account, specify DELEGATED_ADMIN. Your Amazon Web // Services account must be registered as a delegated admin in the management // account. For more information, see Register a delegated administrator // (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-orgs-delegated-admin.html) // in the CloudFormation User Guide. // // Stack sets with service-managed permissions // are created in the management account, including stack sets that are created by // delegated administrators. CallAs types.CallAs // In some cases, you must explicitly acknowledge that your stack set template // contains certain capabilities in order for CloudFormation to create the stack // set and related stack instances. // // * CAPABILITY_IAM and CAPABILITY_NAMED_IAM Some // stack templates might include resources that can affect permissions in your // Amazon Web Services account; for example, by creating new Identity and Access // Management (IAM) users. For those stack sets, you must explicitly acknowledge // this by specifying one of these capabilities. The following IAM resources // require you to specify either the CAPABILITY_IAM or CAPABILITY_NAMED_IAM // capability. // // * If you have IAM resources, you can specify either capability. // // * // If you have IAM resources with custom names, you must specify // CAPABILITY_NAMED_IAM. // // * If you don't specify either of these capabilities, // CloudFormation returns an InsufficientCapabilities error. // // If your stack // template contains these resources, we recommend that you review all permissions // associated with them and edit their permissions if necessary. // // * // AWS::IAM::AccessKey // (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-accesskey.html) // // * // AWS::IAM::Group // (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-group.html) // // * // AWS::IAM::InstanceProfile // (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-instanceprofile.html) // // * // AWS::IAM::Policy // (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-policy.html) // // * // AWS::IAM::Role // (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-role.html) // // * // AWS::IAM::User // (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-user.html) // // * // AWS::IAM::UserToGroupAddition // (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-addusertogroup.html) // // For // more information, see Acknowledging IAM Resources in CloudFormation Templates // (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-iam-template.html#capabilities). // // * // CAPABILITY_AUTO_EXPAND Some templates reference macros. If your stack set // template references one or more macros, you must create the stack set directly // from the processed template, without first reviewing the resulting changes in a // change set. To create the stack set directly, you must acknowledge this // capability. For more information, see Using CloudFormation Macros to Perform // Custom Processing on Templates // (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-macros.html). // Stack sets with service-managed permissions don't currently support the use of // macros in templates. (This includes the AWS::Include // (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/create-reusable-transform-function-snippets-and-add-to-your-template-with-aws-include-transform.html) // and AWS::Serverless // (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/transform-aws-serverless.html) // transforms, which are macros hosted by CloudFormation.) Even if you specify this // capability for a stack set with service-managed permissions, if you reference a // macro in your template the stack set operation will fail. Capabilities []types.Capability // A description of the stack set. You can use the description to identify the // stack set's purpose or other important information. Description *string // The name of the IAM execution role to use to create the stack set. If you do not // specify an execution role, CloudFormation uses the // AWSCloudFormationStackSetExecutionRole role for the stack set operation. Specify // an IAM role only if you are using customized execution roles to control which // stack resources users and groups can include in their stack sets. ExecutionRoleName *string // Describes whether StackSets performs non-conflicting operations concurrently and // queues conflicting operations. ManagedExecution *types.ManagedExecution // Describes how the IAM roles required for stack set operations are created. By // default, SELF-MANAGED is specified. // // * With self-managed permissions, you must // create the administrator and execution roles required to deploy to target // accounts. For more information, see Grant Self-Managed Stack Set Permissions // (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-prereqs-self-managed.html). // // * // With service-managed permissions, StackSets automatically creates the IAM roles // required to deploy to accounts managed by Organizations. For more information, // see Grant Service-Managed Stack Set Permissions // (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-prereqs-service-managed.html). PermissionModel types.PermissionModels // service fields, not to be used in configuration file StackSetName string `yaml:"-"` Template cft.Template `yaml:"-"` Parameters []types.Parameter `yaml:"-"` Tags []types.Tag `yaml:"-"` }
type StackSetInstancesConfig ¶ added in v1.3.0
type StackSetInstancesConfig struct { // The names of one or more Amazon Web Services Regions where you want to create // stack instances using the specified Amazon Web Services accounts. // // This member is required. Regions []string // [Service-managed permissions] The Organizations accounts for which to create // stack instances in the specified Amazon Web Services Regions. You can specify // Accounts or DeploymentTargets, but not both. Accounts []string // [Service-managed permissions] The Organizations accounts for which to create // stack instances in the specified Amazon Web Services Regions. You can specify // Accounts or DeploymentTargets, but not both. DeploymentTargets *types.DeploymentTargets // Preferences for how CloudFormation performs this stack set operation. OperationPreferences *types.StackSetOperationPreferences // service fields, not to be used in configuration file StackSetName string `yaml:"-"` CallAs types.CallAs `yaml:"-"` }
we treat list of provided accounts and regions as requirement to have instances in all the provided accounts whether updated or created(added).