func()

in internal/pkg/deploy/cloudformation/changeset.go [52:78]


func (set *changeSet) describe() error {
	var executionStatus, statusReason string
	var changes []*cloudformation.Change
	var nextToken *string
	for {
		out, err := set.c.DescribeChangeSet(&cloudformation.DescribeChangeSetInput{
			ChangeSetName: aws.String(set.name),
			StackName:     aws.String(set.stackID),
			NextToken:     nextToken,
		})
		if err != nil {
			return fmt.Errorf("failed to describe changeSet %s: %w", set, err)
		}
		executionStatus = aws.StringValue(out.ExecutionStatus)
		statusReason = aws.StringValue(out.StatusReason)
		changes = append(changes, out.Changes...)
		nextToken = out.NextToken

		if nextToken == nil { // no more results left
			break
		}
	}
	set.executionStatus = executionStatus
	set.statusReason = statusReason
	set.changes = changes
	return nil
}