File: types.go

package info (click to toggle)
golang-github-aws-aws-sdk-go-v2 1.30.3-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 662,428 kB
  • sloc: java: 16,875; makefile: 432; sh: 175
file content (464 lines) | stat: -rw-r--r-- 12,920 bytes parent folder | download | duplicates (3)
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
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
// Code generated by smithy-go-codegen DO NOT EDIT.

package types

import (
	smithydocument "github.com/aws/smithy-go/document"
	"time"
)

// An action defines the tasks that the extension performs during the AppConfig
// workflow. Each action includes an action point such as
// ON_CREATE_HOSTED_CONFIGURATION , PRE_DEPLOYMENT , or ON_DEPLOYMENT . Each action
// also includes a name, a URI to an Lambda function, and an Amazon Resource Name
// (ARN) for an Identity and Access Management assume role. You specify the name,
// URI, and ARN for each action point defined in the extension. You can specify the
// following actions for an extension:
//
//   - PRE_CREATE_HOSTED_CONFIGURATION_VERSION
//
//   - PRE_START_DEPLOYMENT
//
//   - ON_DEPLOYMENT_START
//
//   - ON_DEPLOYMENT_STEP
//
//   - ON_DEPLOYMENT_BAKING
//
//   - ON_DEPLOYMENT_COMPLETE
//
//   - ON_DEPLOYMENT_ROLLED_BACK
type Action struct {

	// Information about the action.
	Description *string

	// The action name.
	Name *string

	// An Amazon Resource Name (ARN) for an Identity and Access Management assume role.
	RoleArn *string

	// The extension URI associated to the action point in the extension definition.
	// The URI can be an Amazon Resource Name (ARN) for one of the following: an Lambda
	// function, an Amazon Simple Queue Service queue, an Amazon Simple Notification
	// Service topic, or the Amazon EventBridge default event bus.
	Uri *string

	noSmithyDocumentSerde
}

// An extension that was invoked as part of a deployment event.
type ActionInvocation struct {

	// The name of the action.
	ActionName *string

	// The error code when an extension invocation fails.
	ErrorCode *string

	// The error message when an extension invocation fails.
	ErrorMessage *string

	// The name, the ID, or the Amazon Resource Name (ARN) of the extension.
	ExtensionIdentifier *string

	// A system-generated ID for this invocation.
	InvocationId *string

	// An Amazon Resource Name (ARN) for an Identity and Access Management assume role.
	RoleArn *string

	// The extension URI associated to the action point in the extension definition.
	// The URI can be an Amazon Resource Name (ARN) for one of the following: an Lambda
	// function, an Amazon Simple Queue Service queue, an Amazon Simple Notification
	// Service topic, or the Amazon EventBridge default event bus.
	Uri *string

	noSmithyDocumentSerde
}

type Application struct {

	// The description of the application.
	Description *string

	// The application ID.
	Id *string

	// The application name.
	Name *string

	noSmithyDocumentSerde
}

// An extension that was invoked during a deployment.
type AppliedExtension struct {

	// The system-generated ID for the association.
	ExtensionAssociationId *string

	// The system-generated ID of the extension.
	ExtensionId *string

	// One or more parameters for the actions called by the extension.
	Parameters map[string]string

	// The extension version number.
	VersionNumber int32

	noSmithyDocumentSerde
}

// Detailed information about the input that failed to satisfy the constraints
// specified by a call.
//
// The following types satisfy this interface:
//
//	BadRequestDetailsMemberInvalidConfiguration
type BadRequestDetails interface {
	isBadRequestDetails()
}

// Detailed information about the bad request exception error when creating a
// hosted configuration version.
type BadRequestDetailsMemberInvalidConfiguration struct {
	Value []InvalidConfigurationDetail

	noSmithyDocumentSerde
}

func (*BadRequestDetailsMemberInvalidConfiguration) isBadRequestDetails() {}

// A summary of a configuration profile.
type ConfigurationProfileSummary struct {

	// The application ID.
	ApplicationId *string

	// The ID of the configuration profile.
	Id *string

	// The URI location of the configuration.
	LocationUri *string

	// The name of the configuration profile.
	Name *string

	// The type of configurations contained in the profile. AppConfig supports feature
	// flags and freeform configurations. We recommend you create feature flag
	// configurations to enable or disable new features and freeform configurations to
	// distribute configurations to an application. When calling this API, enter one of
	// the following values for Type :
	//
	//     AWS.AppConfig.FeatureFlags
	//
	//     AWS.Freeform
	Type *string

	// The types of validators in the configuration profile.
	ValidatorTypes []ValidatorType

	noSmithyDocumentSerde
}

// An object that describes a deployment event.
type DeploymentEvent struct {

	// The list of extensions that were invoked as part of the deployment.
	ActionInvocations []ActionInvocation

	// A description of the deployment event. Descriptions include, but are not
	// limited to, the following:
	//
	//   - The Amazon Web Services account or the Amazon CloudWatch alarm ARN that
	//   initiated a rollback.
	//
	//   - The percentage of hosts that received the deployment.
	//
	//   - A recommendation to attempt a new deployment (in the case of an internal
	//   error).
	Description *string

	// The type of deployment event. Deployment event types include the start, stop,
	// or completion of a deployment; a percentage update; the start or stop of a bake
	// period; and the start or completion of a rollback.
	EventType DeploymentEventType

	// The date and time the event occurred.
	OccurredAt *time.Time

	// The entity that triggered the deployment event. Events can be triggered by a
	// user, AppConfig, an Amazon CloudWatch alarm, or an internal error.
	TriggeredBy TriggeredBy

	noSmithyDocumentSerde
}

type DeploymentStrategy struct {

	// Total amount of time the deployment lasted.
	DeploymentDurationInMinutes int32

	// The description of the deployment strategy.
	Description *string

	// 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 that received a deployed configuration during each
	// interval.
	GrowthFactor *float32

	// The algorithm used to define how percentage grew over time.
	GrowthType GrowthType

	// The deployment strategy ID.
	Id *string

	// The name of the deployment strategy.
	Name *string

	// Save the deployment strategy to a Systems Manager (SSM) document.
	ReplicateTo ReplicateTo

	noSmithyDocumentSerde
}

// Information about the deployment.
type DeploymentSummary struct {

	// Time the deployment completed.
	CompletedAt *time.Time

	// The name of the configuration.
	ConfigurationName *string

	// The version of the configuration.
	ConfigurationVersion *string

	// Total amount of time the deployment lasted.
	DeploymentDurationInMinutes int32

	// The sequence number of the deployment.
	DeploymentNumber int32

	// The amount of time that AppConfig monitors 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 grows over time.
	GrowthType GrowthType

	// The percentage of targets for which the deployment is available.
	PercentageComplete *float32

	// Time the deployment started.
	StartedAt *time.Time

	// The state of the deployment.
	State DeploymentState

	// A user-defined label for an AppConfig hosted configuration version.
	VersionLabel *string

	noSmithyDocumentSerde
}

type Environment struct {

	// The application ID.
	ApplicationId *string

	// The description of the environment.
	Description *string

	// The environment ID.
	Id *string

	// Amazon CloudWatch alarms monitored during the deployment.
	Monitors []Monitor

	// The name of the environment.
	Name *string

	// The state of the environment. An environment can be in one of the following
	// states: READY_FOR_DEPLOYMENT , DEPLOYING , ROLLING_BACK , or ROLLED_BACK
	State EnvironmentState

	noSmithyDocumentSerde
}

// Information about an association between an extension and an AppConfig resource
// such as an application, environment, or configuration profile. Call
// GetExtensionAssociation to get more information about an association.
type ExtensionAssociationSummary struct {

	// The system-generated Amazon Resource Name (ARN) for the extension.
	ExtensionArn *string

	// The extension association ID. This ID is used to call other ExtensionAssociation
	// API actions such as GetExtensionAssociation or DeleteExtensionAssociation .
	Id *string

	// The ARNs of applications, configuration profiles, or environments defined in
	// the association.
	ResourceArn *string

	noSmithyDocumentSerde
}

// Information about an extension. Call GetExtension to get more information about
// an extension.
type ExtensionSummary struct {

	// The system-generated Amazon Resource Name (ARN) for the extension.
	Arn *string

	// Information about the extension.
	Description *string

	// The system-generated ID of the extension.
	Id *string

	// The extension name.
	Name *string

	// The extension version number.
	VersionNumber int32

	noSmithyDocumentSerde
}

// Information about the configuration.
type HostedConfigurationVersionSummary struct {

	// The application ID.
	ApplicationId *string

	// The configuration profile ID.
	ConfigurationProfileId *string

	// A standard MIME type describing the format of the configuration content. For
	// more information, see [Content-Type].
	//
	// [Content-Type]: https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.17
	ContentType *string

	// A description of the configuration.
	Description *string

	// The Amazon Resource Name of the Key Management Service key that was used to
	// encrypt this specific version of the configuration data in the AppConfig hosted
	// configuration store.
	KmsKeyArn *string

	// A user-defined label for an AppConfig hosted configuration version.
	VersionLabel *string

	// The configuration version.
	VersionNumber int32

	noSmithyDocumentSerde
}

// Detailed information about the bad request exception error when creating a
// hosted configuration version.
type InvalidConfigurationDetail struct {

	// The invalid or out-of-range validation constraint in your JSON schema that
	// failed validation.
	Constraint *string

	// Location of the validation constraint in the configuration JSON schema that
	// failed validation.
	Location *string

	// The reason for an invalid configuration error.
	Reason *string

	// The type of error for an invalid configuration.
	Type *string

	// Details about an error with Lambda when a synchronous extension experiences an
	// error during an invocation.
	Value *string

	noSmithyDocumentSerde
}

// Amazon CloudWatch alarms to monitor during the deployment process.
type Monitor struct {

	// Amazon Resource Name (ARN) of the Amazon CloudWatch alarm.
	//
	// This member is required.
	AlarmArn *string

	// ARN of an Identity and Access Management (IAM) role for AppConfig to monitor
	// AlarmArn .
	AlarmRoleArn *string

	noSmithyDocumentSerde
}

// A value such as an Amazon Resource Name (ARN) or an Amazon Simple Notification
// Service topic entered in an extension when invoked. Parameter values are
// specified in an extension association. For more information about extensions,
// see [Extending workflows]in the AppConfig User Guide.
//
// [Extending workflows]: https://docs.aws.amazon.com/appconfig/latest/userguide/working-with-appconfig-extensions.html
type Parameter struct {

	// Information about the parameter.
	Description *string

	// Indicates whether this parameter's value can be supplied at the extension's
	// action point instead of during extension association. Dynamic parameters can't
	// be marked Required .
	Dynamic bool

	// A parameter value must be specified in the extension association.
	Required bool

	noSmithyDocumentSerde
}

// A validator provides a syntactic or semantic check to ensure the configuration
// that you want to deploy functions as intended. To validate your application
// configuration data, you provide a schema or an Amazon Web Services Lambda
// function that runs against the configuration. The configuration deployment or
// update can only proceed when the configuration data is valid.
type Validator struct {

	// Either the JSON Schema content or the Amazon Resource Name (ARN) of an Lambda
	// function.
	//
	// This member is required.
	Content *string

	// AppConfig supports validators of type JSON_SCHEMA and LAMBDA
	//
	// This member is required.
	Type ValidatorType

	noSmithyDocumentSerde
}

type noSmithyDocumentSerde = smithydocument.NoSerde

// UnknownUnionMember is returned when a union member is returned over the wire,
// but has an unknown tag.
type UnknownUnionMember struct {
	Tag   string
	Value []byte

	noSmithyDocumentSerde
}

func (*UnknownUnionMember) isBadRequestDetails() {}