func ExecuteChangeSet()

in internal/aws/cfn/mock.go [231:294]


func ExecuteChangeSet(stackName, changeSetName string, disableRollback bool) error {
	c, ok := region().changeSets[changeSetName]
	if !ok {
		return noChangeSetErr
	}

	if c.stackName != stackName {
		return wrongChangeSetErr
	}

	s, ok := region().stacks[stackName]
	if !ok {
		s = &mockStack{
			name:     stackName,
			template: c.template,
		}

		region().stacks[stackName] = s
	}

	s.stack = types.Stack{
		CreationTime:                &now,
		StackName:                   ptr.String(stackName),
		StackStatus:                 types.StackStatusCreateComplete,
		Capabilities:                []types.Capability{},
		ChangeSetId:                 ptr.String(changeSetName),
		Description:                 ptr.String("Mock stack description"),
		DisableRollback:             ptr.Bool(false),
		EnableTerminationProtection: ptr.Bool(false),
		Outputs: []types.Output{
			{
				Description: ptr.String("Mock output description"),
				ExportName:  ptr.String("MockExport"),
				OutputKey:   ptr.String("MockKey"),
				OutputValue: ptr.String("Mock value"),
			},
		},
		Parameters: []types.Parameter{
			{
				ParameterKey:   ptr.String("MockKey"),
				ParameterValue: ptr.String("Mock value"),
			},
		},
		StackId:           ptr.String(stackName),
		StackStatusReason: ptr.String("Mock status reason"),
		Tags:              makeTags(c.tags),
	}

	s.resources = []types.StackResource{
		{
			LogicalResourceId:    ptr.String("MockResourceId"),
			ResourceStatus:       types.ResourceStatusCreateComplete,
			ResourceType:         ptr.String("Mock::Resource::Type"),
			Timestamp:            &now,
			Description:          ptr.String("Mock resource description"),
			PhysicalResourceId:   ptr.String("MockPhysicalId"),
			ResourceStatusReason: ptr.String("Mock status reason"),
			StackId:              ptr.String(stackName),
			StackName:            ptr.String(stackName),
		},
	}

	return nil
}