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).