File: types.go

package info (click to toggle)
golang-github-aws-aws-sdk-go-v2 1.24.1-2~bpo12%2B1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm-backports
  • size: 554,032 kB
  • sloc: java: 15,941; makefile: 419; sh: 175
file content (365 lines) | stat: -rw-r--r-- 17,051 bytes parent folder | download
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
// Code generated by smithy-go-codegen DO NOT EDIT.

package types

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

// A complex structure that lists an autoshift that is currently active for a
// managed resource and information about the autoshift. For more information, see
// How zonal autoshift and practice runs work (https://docs.aws.amazon.com/r53recovery/latest/dg/arc-zonal-autoshift.how-it-works.html)
// in the Amazon Route 53 Application Recovery Controller Developer Guide.
type AutoshiftInResource struct {

	// The appliedStatus field specifies which application traffic shift is in effect
	// for a resource when there is more than one traffic shift active. There can be
	// more than one application traffic shift in progress at the same time - that is,
	// practice run zonal shifts, customer-started zonal shifts, or an autoshift. The
	// appliedStatus field for an autoshift for a resource can have one of two values:
	// APPLIED or NOT_APPLIED . The zonal shift or autoshift that is currently in
	// effect for the resource has an applied status set to APPLIED . The overall
	// principle for precedence is that zonal shifts that you start as a customer take
	// precedence autoshifts, which take precedence over practice runs. That is,
	// customer-started zonal shifts > autoshifts > practice run zonal shifts. For more
	// information, see How zonal autoshift and practice runs work (https://docs.aws.amazon.com/r53recovery/latest/dg/arc-zonal-autoshift.how-it-works.html)
	// in the Amazon Route 53 Application Recovery Controller Developer Guide.
	//
	// This member is required.
	AppliedStatus AutoshiftAppliedStatus

	// The Availability Zone that traffic is shifted away from for a resource, when
	// Amazon Web Services starts an autoshift. Until the autoshift ends, traffic for
	// the resource is instead directed to other Availability Zones in the Amazon Web
	// Services Region. An autoshift can end for a resource, for example, when Amazon
	// Web Services ends the autoshift for the Availability Zone or when you disable
	// zonal autoshift for the resource.
	//
	// This member is required.
	AwayFrom *string

	// The time (UTC) when the autoshift started.
	//
	// This member is required.
	StartTime *time.Time

	noSmithyDocumentSerde
}

// Information about an autoshift. Amazon Web Services starts an autoshift to
// temporarily move traffic for a resource away from an Availability Zone in an
// Amazon Web Services Region when Amazon Web Services determines that there's an
// issue in the Availability Zone that could potentially affect customers. You can
// configure zonal autoshift in Route 53 ARC for managed resources in your Amazon
// Web Services account in a Region. Supported Amazon Web Services resources are
// automatically registered with Route 53 ARC. Autoshifts are temporary. When the
// Availability Zone recovers, Amazon Web Services ends the autoshift, and traffic
// for the resource is no longer directed to the other Availability Zones in the
// Region. You can stop an autoshift for a resource by disabling zonal autoshift.
type AutoshiftSummary struct {

	// The Availability Zone that traffic is shifted away from for a resource when
	// Amazon Web Services starts an autoshift. Until the autoshift ends, traffic for
	// the resource is instead directed to other Availability Zones in the Amazon Web
	// Services Region. An autoshift can end for a resource, for example, when Amazon
	// Web Services ends the autoshift for the Availability Zone or when you disable
	// zonal autoshift for the resource.
	//
	// This member is required.
	AwayFrom *string

	// The time (in UTC) when the autoshift ended.
	//
	// This member is required.
	EndTime *time.Time

	// The time (in UTC) when the autoshift started.
	//
	// This member is required.
	StartTime *time.Time

	// The status for an autoshift.
	//
	// This member is required.
	Status AutoshiftExecutionStatus

	noSmithyDocumentSerde
}

// A control condition is an alarm that you specify for a practice run. When you
// configure practice runs with zonal autoshift for a resource, you specify Amazon
// CloudWatch alarms, which you create in CloudWatch to use with the practice run.
// The alarms that you specify are an outcome alarm, to monitor application health
// during practice runs and, optionally, a blocking alarm, to block practice runs
// from starting. Control condition alarms do not apply for autoshifts. For more
// information, see Considerations when you configure zonal autoshift (https://docs.aws.amazon.com/r53recovery/latest/dg/arc-zonal-autoshift.considerations.html)
// in the Amazon Route 53 Application Recovery Controller Developer Guide.
type ControlCondition struct {

	// The Amazon Resource Name (ARN) for the Amazon CloudWatch alarm that you specify
	// as a control condition for a practice run.
	//
	// This member is required.
	AlarmIdentifier *string

	// The type of alarm specified for a practice run. The only valid value is
	// CLOUDWATCH .
	//
	// This member is required.
	Type ControlConditionType

	noSmithyDocumentSerde
}

// A complex structure for a managed resource in an Amazon Web Services account
// with information about zonal shifts and autoshifts. A managed resource is a load
// balancer that has been registered with Route 53 ARC by Elastic Load Balancing.
// You can start a zonal shift in Route 53 ARC for a managed resource to
// temporarily move traffic for the resource away from an Availability Zone in an
// Amazon Web Services Region. You can also configure zonal autoshift for a managed
// resource. At this time, managed resources are Network Load Balancers and
// Application Load Balancers with cross-zone load balancing turned off.
type ManagedResourceSummary struct {

	// The Availability Zones that a resource is deployed in.
	//
	// This member is required.
	AvailabilityZones []string

	// A collection of key-value pairs that indicate whether resources are active in
	// Availability Zones or not. The key name is the Availability Zone where the
	// resource is deployed. The value is 1 or 0.
	AppliedWeights map[string]float32

	// The Amazon Resource Name (ARN) for the managed resource.
	Arn *string

	// An array of the autoshifts that have been completed for a resource.
	Autoshifts []AutoshiftInResource

	// The name of the managed resource.
	Name *string

	// This status tracks whether a practice run configuration exists for a resource.
	// When you configure a practice run for a resource so that a practice run
	// configuration exists, Route 53 ARC sets this value to ENABLED . If a you have
	// not configured a practice run for the resource, or delete a practice run
	// configuration, Route 53 ARC sets the value to DISABLED . Route 53 ARC updates
	// this status; you can't set a practice run status to ENABLED or DISABLED .
	PracticeRunStatus ZonalAutoshiftStatus

	// The status of autoshift for a resource. When you configure zonal autoshift for
	// a resource, you can set the value of the status to ENABLED or DISABLED .
	ZonalAutoshiftStatus ZonalAutoshiftStatus

	// An array of the zonal shifts for a resource.
	ZonalShifts []ZonalShiftInResource

	noSmithyDocumentSerde
}

// A practice run configuration for a resource includes the Amazon CloudWatch
// alarms that you've specified for a practice run, as well as any blocked dates or
// blocked windows for the practice run. You can update or delete a practice run
// configuration. Before you delete a practice run configuration, you must disable
// zonal autoshift for the resource. A practice run configuration is required when
// zonal autoshift is enabled.
type PracticeRunConfiguration struct {

	// The outcome alarm for practice runs is an alarm that you specify that ends a
	// practice run when the alarm is in an ALARM state.
	//
	// This member is required.
	OutcomeAlarms []ControlCondition

	// An array of one or more dates that you can specify when Amazon Web Services
	// does not start practice runs for a resource. Specify blocked dates, in UTC, in
	// the format YYYY-MM-DD , separated by spaces.
	BlockedDates []string

	// An array of one or more windows of days and times that you can block Route 53
	// ARC from starting practice runs for a resource. Specify the blocked windows in
	// UTC, using the format DAY:HH:MM-DAY:HH:MM , separated by spaces. For example,
	// MON:18:30-MON:19:30 TUE:18:30-TUE:19:30 .
	BlockedWindows []string

	// The blocking alarm for practice runs is an optional alarm that you can specify
	// that blocks practice runs when the alarm is in an ALARM state.
	BlockingAlarms []ControlCondition

	noSmithyDocumentSerde
}

// A complex structure that lists the zonal shifts for a managed resource and
// their statuses for the resource.
type ZonalShiftInResource struct {

	// The appliedStatus field specifies which application traffic shift is in effect
	// for a resource when there is more than one traffic shift active. There can be
	// more than one application traffic shift in progress at the same time - that is,
	// practice run zonal shifts, customer-started zonal shifts, or an autoshift. The
	// appliedStatus field for an autoshift for a resource can have one of two values:
	// APPLIED or NOT_APPLIED . The zonal shift or autoshift that is currently in
	// effect for the resource has an applied status set to APPLIED . The overall
	// principle for precedence is that zonal shifts that you start as a customer take
	// precedence autoshifts, which take precedence over practice runs. That is,
	// customer-started zonal shifts > autoshifts > practice run zonal shifts. For more
	// information, see How zonal autoshift and practice runs work (https://docs.aws.amazon.com/r53recovery/latest/dg/arc-zonal-autoshift.how-it-works.html)
	// in the Amazon Route 53 Application Recovery Controller Developer Guide.
	//
	// This member is required.
	AppliedStatus AppliedStatus

	// The Availability Zone that traffic is moved away from for a resource when you
	// start a zonal shift. Until the zonal shift expires or you cancel it, traffic for
	// the resource is instead moved to other Availability Zones in the Amazon Web
	// Services Region.
	//
	// This member is required.
	AwayFrom *string

	// A comment that you enter about the zonal shift. Only the latest comment is
	// retained; no comment history is maintained. That is, a new comment overwrites
	// any existing comment string.
	//
	// This member is required.
	Comment *string

	// The expiry time (expiration time) for a customer-started zonal shift. A zonal
	// shift is temporary and must be set to expire when you start the zonal shift. You
	// can initially set a zonal shift to expire in a maximum of three days (72 hours).
	// However, you can update a zonal shift to set a new expiration at any time. When
	// you start a zonal shift, you specify how long you want it to be active, which
	// Route 53 ARC converts to an expiry time (expiration time). You can cancel a
	// zonal shift when you're ready to restore traffic to the Availability Zone, or
	// just wait for it to expire. Or you can update the zonal shift to specify another
	// length of time to expire in.
	//
	// This member is required.
	ExpiryTime *time.Time

	// The identifier for the resource to include in a zonal shift. The identifier is
	// the Amazon Resource Name (ARN) for the resource. At this time, you can only
	// start a zonal shift for Network Load Balancers and Application Load Balancers
	// with cross-zone load balancing turned off.
	//
	// This member is required.
	ResourceIdentifier *string

	// The time (UTC) when the zonal shift starts.
	//
	// This member is required.
	StartTime *time.Time

	// The identifier of a zonal shift.
	//
	// This member is required.
	ZonalShiftId *string

	// The outcome, or end state, returned for a practice run. The following values
	// can be returned:
	//   - PENDING: Outcome value when a practice run is in progress.
	//   - SUCCEEDED: Outcome value when the outcome alarm specified for the practice
	//   run configuration does not go into an ALARM state during the practice run, and
	//   the practice run was not interrupted before it completed the expected 30 minute
	//   zonal shift.
	//   - INTERRUPTED: Outcome value when the practice run was stopped before the
	//   expected 30 minute zonal shift duration, or there was another problem with the
	//   practice run that created an inconclusive outcome.
	//   - FAILED: Outcome value when the outcome alarm specified for the practice run
	//   configuration goes into an ALARM state during the practice run, and the
	//   practice run was not interrupted before it completed.
	// For more information about practice run outcomes, see  Considerations when you
	// configure zonal autoshift (https://docs.aws.amazon.com/r53recovery/latest/dg/arc-zonal-autoshift.configure.html)
	// in the Amazon Route 53 Application Recovery Controller Developer Guide.
	PracticeRunOutcome PracticeRunOutcome

	noSmithyDocumentSerde
}

// Lists information about zonal shifts in Amazon Route 53 Application Recovery
// Controller, including zonal shifts that you start yourself and zonal shifts that
// Route 53 ARC starts on your behalf for practice runs with zonal autoshift. Zonal
// shifts are temporary, including customer-started zonal shifts and the zonal
// autoshift practice run zonal shifts that Route 53 ARC starts weekly, on your
// behalf. A zonal shift that a customer starts can be active for up to three days
// (72 hours). A practice run zonal shift has a 30 minute duration.
type ZonalShiftSummary struct {

	// The Availability Zone that traffic is moved away from for a resource when you
	// start a zonal shift. Until the zonal shift expires or you cancel it, traffic for
	// the resource is instead moved to other Availability Zones in the Amazon Web
	// Services Region.
	//
	// This member is required.
	AwayFrom *string

	// A comment that you enter about the zonal shift. Only the latest comment is
	// retained; no comment history is maintained. That is, a new comment overwrites
	// any existing comment string.
	//
	// This member is required.
	Comment *string

	// The expiry time (expiration time) for a customer-started zonal shift. A zonal
	// shift is temporary and must be set to expire when you start the zonal shift. You
	// can initially set a zonal shift to expire in a maximum of three days (72 hours).
	// However, you can update a zonal shift to set a new expiration at any time. When
	// you start a zonal shift, you specify how long you want it to be active, which
	// Route 53 ARC converts to an expiry time (expiration time). You can cancel a
	// zonal shift when you're ready to restore traffic to the Availability Zone, or
	// just wait for it to expire. Or you can update the zonal shift to specify another
	// length of time to expire in.
	//
	// This member is required.
	ExpiryTime *time.Time

	// The identifier for the resource to include in a zonal shift. The identifier is
	// the Amazon Resource Name (ARN) for the resource. At this time, you can only
	// start a zonal shift for Network Load Balancers and Application Load Balancers
	// with cross-zone load balancing turned off.
	//
	// This member is required.
	ResourceIdentifier *string

	// The time (UTC) when the zonal shift starts.
	//
	// This member is required.
	StartTime *time.Time

	// A status for a zonal shift. The Status for a zonal shift can have one of the
	// following values:
	//   - ACTIVE: The zonal shift has been started and active.
	//   - EXPIRED: The zonal shift has expired (the expiry time was exceeded).
	//   - CANCELED: The zonal shift was canceled.
	//
	// This member is required.
	Status ZonalShiftStatus

	// The identifier of a zonal shift.
	//
	// This member is required.
	ZonalShiftId *string

	// The outcome, or end state, of a practice run. The following values can be
	// returned:
	//   - PENDING: Outcome value when the practice run is in progress.
	//   - SUCCEEDED: Outcome value when the outcome alarm specified for the practice
	//   run configuration does not go into an ALARM state during the practice run, and
	//   the practice run was not interrupted before it completed.
	//   - INTERRUPTED: Outcome value when the practice run did not run for the
	//   expected 30 minutes or there was another problem with the practice run that
	//   created an inconclusive outcome.
	//   - FAILED: Outcome value when the outcome alarm specified for the practice run
	//   configuration goes into an ALARM state during the practice run, and the
	//   practice run was not interrupted before it completed.
	// For more information about practice run outcomes, see  Considerations when you
	// configure zonal autoshift (https://docs.aws.amazon.com/r53recovery/latest/dg/arc-zonal-autoshift.configure.html)
	// in the Amazon Route 53 Application Recovery Controller Developer Guide.
	PracticeRunOutcome PracticeRunOutcome

	noSmithyDocumentSerde
}

type noSmithyDocumentSerde = smithydocument.NoSerde