-
Notifications
You must be signed in to change notification settings - Fork 596
/
api_op_StartDeployment.go
247 lines (203 loc) · 7.12 KB
/
api_op_StartDeployment.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
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
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
// Code generated by smithy-go-codegen DO NOT EDIT.
package appconfig
import (
"context"
"fmt"
awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware"
"github.com/aws/aws-sdk-go-v2/service/appconfig/types"
"github.com/aws/smithy-go/middleware"
smithyhttp "github.com/aws/smithy-go/transport/http"
"time"
)
// Starts a deployment.
func (c *Client) StartDeployment(ctx context.Context, params *StartDeploymentInput, optFns ...func(*Options)) (*StartDeploymentOutput, error) {
if params == nil {
params = &StartDeploymentInput{}
}
result, metadata, err := c.invokeOperation(ctx, "StartDeployment", params, optFns, c.addOperationStartDeploymentMiddlewares)
if err != nil {
return nil, err
}
out := result.(*StartDeploymentOutput)
out.ResultMetadata = metadata
return out, nil
}
type StartDeploymentInput struct {
// The application ID.
//
// This member is required.
ApplicationId *string
// The configuration profile ID.
//
// This member is required.
ConfigurationProfileId *string
// The configuration version to deploy. If deploying an AppConfig hosted
// configuration version, you can specify either the version number or version
// label. For all other configurations, you must specify the version number.
//
// This member is required.
ConfigurationVersion *string
// The deployment strategy ID.
//
// This member is required.
DeploymentStrategyId *string
// The environment ID.
//
// This member is required.
EnvironmentId *string
// A description of the deployment.
Description *string
// A map of dynamic extension parameter names to values to pass to associated
// extensions with PRE_START_DEPLOYMENT actions.
DynamicExtensionParameters map[string]string
// The KMS key identifier (key ID, key alias, or key ARN). AppConfig uses this ID
// to encrypt the configuration data using a customer managed key.
KmsKeyIdentifier *string
// Metadata to assign to the deployment. Tags help organize and categorize your
// AppConfig resources. Each tag consists of a key and an optional value, both of
// which you define.
Tags map[string]string
noSmithyDocumentSerde
}
type StartDeploymentOutput struct {
// The ID of the application that was deployed.
ApplicationId *string
// A list of extensions that were processed as part of the deployment. The
// extensions that were previously associated to the configuration profile,
// environment, or the application when StartDeployment was called.
AppliedExtensions []types.AppliedExtension
// The time the deployment completed.
CompletedAt *time.Time
// Information about the source location of the configuration.
ConfigurationLocationUri *string
// The name of the configuration.
ConfigurationName *string
// The ID of the configuration profile that was deployed.
ConfigurationProfileId *string
// The configuration version that was deployed.
ConfigurationVersion *string
// Total amount of time the deployment lasted.
DeploymentDurationInMinutes int32
// The sequence number of the deployment.
DeploymentNumber int32
// The ID of the deployment strategy that was deployed.
DeploymentStrategyId *string
// The description of the deployment.
Description *string
// The ID of the environment that was deployed.
EnvironmentId *string
// A list containing all events related to a deployment. The most recent events
// are displayed first.
EventLog []types.DeploymentEvent
// The amount of time that AppConfig monitored for alarms before considering the
// deployment to be complete and no longer eligible for automatic rollback.
FinalBakeTimeInMinutes int32
// The percentage of targets to receive a deployed configuration during each
// interval.
GrowthFactor *float32
// The algorithm used to define how percentage grew over time.
GrowthType types.GrowthType
// The Amazon Resource Name of the Key Management Service key used to encrypt
// configuration data. You can encrypt secrets stored in Secrets Manager, Amazon
// Simple Storage Service (Amazon S3) objects encrypted with SSE-KMS, or secure
// string parameters stored in Amazon Web Services Systems Manager Parameter Store.
KmsKeyArn *string
// The Key Management Service key identifier (key ID, key alias, or key ARN)
// provided when the resource was created or updated.
KmsKeyIdentifier *string
// The percentage of targets for which the deployment is available.
PercentageComplete *float32
// The time the deployment started.
StartedAt *time.Time
// The state of the deployment.
State types.DeploymentState
// A user-defined label for an AppConfig hosted configuration version.
VersionLabel *string
// Metadata pertaining to the operation's result.
ResultMetadata middleware.Metadata
noSmithyDocumentSerde
}
func (c *Client) addOperationStartDeploymentMiddlewares(stack *middleware.Stack, options Options) (err error) {
if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil {
return err
}
err = stack.Serialize.Add(&awsRestjson1_serializeOpStartDeployment{}, middleware.After)
if err != nil {
return err
}
err = stack.Deserialize.Add(&awsRestjson1_deserializeOpStartDeployment{}, middleware.After)
if err != nil {
return err
}
if err := addProtocolFinalizerMiddlewares(stack, options, "StartDeployment"); 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 = addClientRequestID(stack); err != nil {
return err
}
if err = addComputeContentLength(stack); err != nil {
return err
}
if err = addResolveEndpointMiddleware(stack, options); err != nil {
return err
}
if err = addComputePayloadSHA256(stack); err != nil {
return err
}
if err = addRetry(stack, options); err != nil {
return err
}
if err = addRawResponseToMetadata(stack); err != nil {
return err
}
if err = 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 = addOpStartDeploymentValidationMiddleware(stack); err != nil {
return err
}
if err = stack.Initialize.Add(newServiceMetadataMiddleware_opStartDeployment(options.Region), middleware.Before); err != nil {
return err
}
if err = 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_opStartDeployment(region string) *awsmiddleware.RegisterServiceMetadata {
return &awsmiddleware.RegisterServiceMetadata{
Region: region,
ServiceID: ServiceID,
OperationName: "StartDeployment",
}
}