-
Notifications
You must be signed in to change notification settings - Fork 597
/
api_op_UpdateSecretVersionStage.go
158 lines (140 loc) · 5.48 KB
/
api_op_UpdateSecretVersionStage.go
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
// Code generated by smithy-go-codegen DO NOT EDIT.
package secretsmanager
import (
"context"
awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware"
"github.com/aws/aws-sdk-go-v2/aws/signer/v4"
"github.com/aws/smithy-go/middleware"
smithyhttp "github.com/aws/smithy-go/transport/http"
)
// Modifies the staging labels attached to a version of a secret. Secrets Manager
// uses staging labels to track a version as it progresses through the secret
// rotation process. Each staging label can be attached to only one version at a
// time. To add a staging label to a version when it is already attached to another
// version, Secrets Manager first removes it from the other version first and then
// attaches it to this one. For more information about versions and staging labels,
// see Concepts: Version
// (https://docs.aws.amazon.com/secretsmanager/latest/userguide/getting-started.html#term_version).
// The staging labels that you specify in the VersionStage parameter are added to
// the existing list of staging labels for the version. You can move the AWSCURRENT
// staging label to this version by including it in this call. Whenever you move
// AWSCURRENT, Secrets Manager automatically moves the label AWSPREVIOUS to the
// version that AWSCURRENT was removed from. If this action results in the last
// label being removed from a version, then the version is considered to be
// 'deprecated' and can be deleted by Secrets Manager.
func (c *Client) UpdateSecretVersionStage(ctx context.Context, params *UpdateSecretVersionStageInput, optFns ...func(*Options)) (*UpdateSecretVersionStageOutput, error) {
if params == nil {
params = &UpdateSecretVersionStageInput{}
}
result, metadata, err := c.invokeOperation(ctx, "UpdateSecretVersionStage", params, optFns, c.addOperationUpdateSecretVersionStageMiddlewares)
if err != nil {
return nil, err
}
out := result.(*UpdateSecretVersionStageOutput)
out.ResultMetadata = metadata
return out, nil
}
type UpdateSecretVersionStageInput struct {
// The ARN or the name of the secret with the version and staging labelsto modify.
// For an ARN, we recommend that you specify a complete ARN rather than a partial
// ARN.
//
// This member is required.
SecretId *string
// The staging label to add to this version.
//
// This member is required.
VersionStage *string
// The ID of the version to add the staging label to. To remove a label from a
// version, then do not specify this parameter. If the staging label is already
// attached to a different version of the secret, then you must also specify the
// RemoveFromVersionId parameter.
MoveToVersionId *string
// The ID of the version that the staging label is to be removed from. If the
// staging label you are trying to attach to one version is already attached to a
// different version, then you must include this parameter and specify the version
// that the label is to be removed from. If the label is attached and you either do
// not specify this parameter, or the version ID does not match, then the operation
// fails.
RemoveFromVersionId *string
noSmithyDocumentSerde
}
type UpdateSecretVersionStageOutput struct {
// The ARN of the secret that was updated.
ARN *string
// The name of the secret that was updated.
Name *string
// Metadata pertaining to the operation's result.
ResultMetadata middleware.Metadata
noSmithyDocumentSerde
}
func (c *Client) addOperationUpdateSecretVersionStageMiddlewares(stack *middleware.Stack, options Options) (err error) {
err = stack.Serialize.Add(&awsAwsjson11_serializeOpUpdateSecretVersionStage{}, middleware.After)
if err != nil {
return err
}
err = stack.Deserialize.Add(&awsAwsjson11_deserializeOpUpdateSecretVersionStage{}, middleware.After)
if 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 = addHTTPSignerV4Middleware(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); err != nil {
return err
}
if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil {
return err
}
if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil {
return err
}
if err = addOpUpdateSecretVersionStageValidationMiddleware(stack); err != nil {
return err
}
if err = stack.Initialize.Add(newServiceMetadataMiddleware_opUpdateSecretVersionStage(options.Region), middleware.Before); 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
}
return nil
}
func newServiceMetadataMiddleware_opUpdateSecretVersionStage(region string) *awsmiddleware.RegisterServiceMetadata {
return &awsmiddleware.RegisterServiceMetadata{
Region: region,
ServiceID: ServiceID,
SigningName: "secretsmanager",
OperationName: "UpdateSecretVersionStage",
}
}