1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203
|
// Code generated by smithy-go-codegen DO NOT EDIT.
package cloudformation
import (
"context"
"fmt"
awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware"
"github.com/aws/aws-sdk-go-v2/aws/signer/v4"
"github.com/aws/aws-sdk-go-v2/service/cloudformation/types"
"github.com/aws/smithy-go/middleware"
smithyhttp "github.com/aws/smithy-go/transport/http"
"time"
)
// Returns information about a stack drift detection operation. A stack drift
// detection operation detects whether a stack's actual configuration differs, or
// has drifted, from its expected configuration, as defined in the stack template
// and any values specified as template parameters. A stack is considered to have
// drifted if one or more of its resources have drifted. For more information about
// stack and resource drift, see Detecting Unregulated Configuration Changes to
// Stacks and Resources (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-stack-drift.html)
// . Use DetectStackDrift to initiate a stack drift detection operation.
// DetectStackDrift returns a StackDriftDetectionId you can use to monitor the
// progress of the operation using DescribeStackDriftDetectionStatus . Once the
// drift detection operation has completed, use DescribeStackResourceDrifts to
// return drift information about the stack and its resources.
func (c *Client) DescribeStackDriftDetectionStatus(ctx context.Context, params *DescribeStackDriftDetectionStatusInput, optFns ...func(*Options)) (*DescribeStackDriftDetectionStatusOutput, error) {
if params == nil {
params = &DescribeStackDriftDetectionStatusInput{}
}
result, metadata, err := c.invokeOperation(ctx, "DescribeStackDriftDetectionStatus", params, optFns, c.addOperationDescribeStackDriftDetectionStatusMiddlewares)
if err != nil {
return nil, err
}
out := result.(*DescribeStackDriftDetectionStatusOutput)
out.ResultMetadata = metadata
return out, nil
}
type DescribeStackDriftDetectionStatusInput struct {
// The ID of the drift detection results of this operation. CloudFormation
// generates new results, with a new drift detection ID, each time this operation
// is run. However, the number of drift results CloudFormation retains for any
// given stack, and for how long, may vary.
//
// This member is required.
StackDriftDetectionId *string
noSmithyDocumentSerde
}
type DescribeStackDriftDetectionStatusOutput struct {
// The status of the stack drift detection operation.
// - DETECTION_COMPLETE : The stack drift detection operation has successfully
// completed for all resources in the stack that support drift detection.
// (Resources that don't currently support stack detection remain unchecked.) If
// you specified logical resource IDs for CloudFormation to use as a filter for the
// stack drift detection operation, only the resources with those logical IDs are
// checked for drift.
// - DETECTION_FAILED : The stack drift detection operation has failed for at
// least one resource in the stack. Results will be available for resources on
// which CloudFormation successfully completed drift detection.
// - DETECTION_IN_PROGRESS : The stack drift detection operation is currently in
// progress.
//
// This member is required.
DetectionStatus types.StackDriftDetectionStatus
// The ID of the drift detection results of this operation. CloudFormation
// generates new results, with a new drift detection ID, each time this operation
// is run. However, the number of reports CloudFormation retains for any given
// stack, and for how long, may vary.
//
// This member is required.
StackDriftDetectionId *string
// The ID of the stack.
//
// This member is required.
StackId *string
// Time at which the stack drift detection operation was initiated.
//
// This member is required.
Timestamp *time.Time
// The reason the stack drift detection operation has its current status.
DetectionStatusReason *string
// Total number of stack resources that have drifted. This is NULL until the drift
// detection operation reaches a status of DETECTION_COMPLETE . This value will be
// 0 for stacks whose drift status is IN_SYNC .
DriftedStackResourceCount *int32
// Status of the stack's actual configuration compared to its expected
// configuration.
// - DRIFTED : The stack differs from its expected template configuration. A
// stack is considered to have drifted if one or more of its resources have
// drifted.
// - NOT_CHECKED : CloudFormation hasn't checked if the stack differs from its
// expected template configuration.
// - IN_SYNC : The stack's actual configuration matches its expected template
// configuration.
// - UNKNOWN : This value is reserved for future use.
StackDriftStatus types.StackDriftStatus
// Metadata pertaining to the operation's result.
ResultMetadata middleware.Metadata
noSmithyDocumentSerde
}
func (c *Client) addOperationDescribeStackDriftDetectionStatusMiddlewares(stack *middleware.Stack, options Options) (err error) {
if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil {
return err
}
err = stack.Serialize.Add(&awsAwsquery_serializeOpDescribeStackDriftDetectionStatus{}, middleware.After)
if err != nil {
return err
}
err = stack.Deserialize.Add(&awsAwsquery_deserializeOpDescribeStackDriftDetectionStatus{}, middleware.After)
if err != nil {
return err
}
if err := addProtocolFinalizerMiddlewares(stack, options, "DescribeStackDriftDetectionStatus"); err != nil {
return fmt.Errorf("add protocol finalizers: %v", err)
}
if err = addlegacyEndpointContextSetter(stack, options); err != nil {
return err
}
if err = addSetLoggerMiddleware(stack, options); err != nil {
return err
}
if err = awsmiddleware.AddClientRequestIDMiddleware(stack); err != nil {
return err
}
if err = smithyhttp.AddComputeContentLengthMiddleware(stack); err != nil {
return err
}
if err = addResolveEndpointMiddleware(stack, options); err != nil {
return err
}
if err = v4.AddComputePayloadSHA256Middleware(stack); err != nil {
return err
}
if err = addRetryMiddlewares(stack, options); err != nil {
return err
}
if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil {
return err
}
if err = awsmiddleware.AddRecordResponseTiming(stack); err != nil {
return err
}
if err = addClientUserAgent(stack, options); err != nil {
return err
}
if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil {
return err
}
if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil {
return err
}
if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil {
return err
}
if err = addOpDescribeStackDriftDetectionStatusValidationMiddleware(stack); err != nil {
return err
}
if err = stack.Initialize.Add(newServiceMetadataMiddleware_opDescribeStackDriftDetectionStatus(options.Region), middleware.Before); err != nil {
return err
}
if err = awsmiddleware.AddRecursionDetection(stack); err != nil {
return err
}
if err = addRequestIDRetrieverMiddleware(stack); err != nil {
return err
}
if err = addResponseErrorMiddleware(stack); err != nil {
return err
}
if err = addRequestResponseLogging(stack, options); err != nil {
return err
}
if err = addDisableHTTPSMiddleware(stack, options); err != nil {
return err
}
return nil
}
func newServiceMetadataMiddleware_opDescribeStackDriftDetectionStatus(region string) *awsmiddleware.RegisterServiceMetadata {
return &awsmiddleware.RegisterServiceMetadata{
Region: region,
ServiceID: ServiceID,
OperationName: "DescribeStackDriftDetectionStatus",
}
}
|