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 (433 lines) | stat: -rw-r--r-- 15,725 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
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
// Code generated by smithy-go-codegen DO NOT EDIT.

package types

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

// This structure specifies the VPC subnets and security groups for the task, and
// whether a public IP address is to be used. This structure is relevant only for
// ECS tasks that use the awsvpc network mode.
type AwsVpcConfiguration struct {

	// Specifies the subnets associated with the task. These subnets must all be in
	// the same VPC. You can specify as many as 16 subnets.
	//
	// This member is required.
	Subnets []string

	// Specifies whether the task's elastic network interface receives a public IP
	// address. You can specify ENABLED only when LaunchType in EcsParameters is set
	// to FARGATE .
	AssignPublicIp AssignPublicIp

	// Specifies the security groups associated with the task. These security groups
	// must all be in the same VPC. You can specify as many as five security groups. If
	// you do not specify a security group, the default security group for the VPC is
	// used.
	SecurityGroups []string

	noSmithyDocumentSerde
}

// The details of a capacity provider strategy.
type CapacityProviderStrategyItem struct {

	// The short name of the capacity provider.
	//
	// This member is required.
	CapacityProvider *string

	// The base value designates how many tasks, at a minimum, to run on the specified
	// capacity provider. Only one capacity provider in a capacity provider strategy
	// can have a base defined. If no value is specified, the default value of 0 is
	// used.
	Base int32

	// The weight value designates the relative percentage of the total number of
	// tasks launched that should use the specified capacity provider. The weight value
	// is taken into consideration after the base value, if defined, is satisfied.
	Weight int32

	noSmithyDocumentSerde
}

// An object that contains information about an Amazon SQS queue that EventBridge
// Scheduler uses as a dead-letter queue for your schedule. If specified,
// EventBridge Scheduler delivers failed events that could not be successfully
// delivered to a target to the queue.
type DeadLetterConfig struct {

	// The Amazon Resource Name (ARN) of the SQS queue specified as the destination
	// for the dead-letter queue.
	Arn *string

	noSmithyDocumentSerde
}

// The templated target type for the Amazon ECS RunTask (https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_RunTask.html)
// API operation.
type EcsParameters struct {

	// The Amazon Resource Name (ARN) of the task definition to use if the event
	// target is an Amazon ECS task.
	//
	// This member is required.
	TaskDefinitionArn *string

	// The capacity provider strategy to use for the task.
	CapacityProviderStrategy []CapacityProviderStrategyItem

	// Specifies whether to enable Amazon ECS managed tags for the task. For more
	// information, see Tagging Your Amazon ECS Resources (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-using-tags.html)
	// in the Amazon ECS Developer Guide.
	EnableECSManagedTags *bool

	// Whether or not to enable the execute command functionality for the containers
	// in this task. If true, this enables execute command functionality on all
	// containers in the task.
	EnableExecuteCommand *bool

	// Specifies an ECS task group for the task. The maximum length is 255 characters.
	Group *string

	// Specifies the launch type on which your task is running. The launch type that
	// you specify here must match one of the launch type (compatibilities) of the
	// target task. The FARGATE value is supported only in the Regions where Fargate
	// with Amazon ECS is supported. For more information, see AWS Fargate on Amazon
	// ECS (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/AWS_Fargate.html)
	// in the Amazon ECS Developer Guide.
	LaunchType LaunchType

	// This structure specifies the network configuration for an ECS task.
	NetworkConfiguration *NetworkConfiguration

	// An array of placement constraint objects to use for the task. You can specify
	// up to 10 constraints per task (including constraints in the task definition and
	// those specified at runtime).
	PlacementConstraints []PlacementConstraint

	// The task placement strategy for a task or service.
	PlacementStrategy []PlacementStrategy

	// Specifies the platform version for the task. Specify only the numeric portion
	// of the platform version, such as 1.1.0 .
	PlatformVersion *string

	// Specifies whether to propagate the tags from the task definition to the task.
	// If no value is specified, the tags are not propagated. Tags can only be
	// propagated to the task during task creation. To add tags to a task after task
	// creation, use Amazon ECS's TagResource (https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_TagResource.html)
	// API action.
	PropagateTags PropagateTags

	// The reference ID to use for the task.
	ReferenceId *string

	// The metadata that you apply to the task to help you categorize and organize
	// them. Each tag consists of a key and an optional value, both of which you
	// define. For more information, see RunTask (https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_RunTask.html)
	// in the Amazon ECS API Reference.
	Tags []map[string]string

	// The number of tasks to create based on TaskDefinition . The default is 1 .
	TaskCount *int32

	noSmithyDocumentSerde
}

// The templated target type for the EventBridge PutEvents (https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_PutEvents.html)
// API operation.
type EventBridgeParameters struct {

	// A free-form string, with a maximum of 128 characters, used to decide what
	// fields to expect in the event detail.
	//
	// This member is required.
	DetailType *string

	// The source of the event.
	//
	// This member is required.
	Source *string

	noSmithyDocumentSerde
}

// Allows you to configure a time window during which EventBridge Scheduler
// invokes the schedule.
type FlexibleTimeWindow struct {

	// Determines whether the schedule is invoked within a flexible time window.
	//
	// This member is required.
	Mode FlexibleTimeWindowMode

	// The maximum time window during which a schedule can be invoked.
	MaximumWindowInMinutes *int32

	noSmithyDocumentSerde
}

// The templated target type for the Amazon Kinesis PutRecord API operation.
type KinesisParameters struct {

	// Specifies the shard to which EventBridge Scheduler sends the event. For more
	// information, see Amazon Kinesis Data Streams terminology and concepts (https://docs.aws.amazon.com/streams/latest/dev/key-concepts.html)
	// in the Amazon Kinesis Streams Developer Guide.
	//
	// This member is required.
	PartitionKey *string

	noSmithyDocumentSerde
}

// Specifies the network configuration for an ECS task.
type NetworkConfiguration struct {

	// Specifies the Amazon VPC subnets and security groups for the task, and whether
	// a public IP address is to be used. This structure is relevant only for ECS tasks
	// that use the awsvpc network mode.
	AwsvpcConfiguration *AwsVpcConfiguration

	noSmithyDocumentSerde
}

// An object representing a constraint on task placement.
type PlacementConstraint struct {

	// A cluster query language expression to apply to the constraint. You cannot
	// specify an expression if the constraint type is distinctInstance . For more
	// information, see Cluster query language (https://docs.aws.amazon.com/latest/developerguide/cluster-query-language.html)
	// in the Amazon ECS Developer Guide.
	Expression *string

	// The type of constraint. Use distinctInstance to ensure that each task in a
	// particular group is running on a different container instance. Use memberOf to
	// restrict the selection to a group of valid candidates.
	Type PlacementConstraintType

	noSmithyDocumentSerde
}

// The task placement strategy for a task or service.
type PlacementStrategy struct {

	// The field to apply the placement strategy against. For the spread placement
	// strategy, valid values are instanceId (or instanceId , which has the same
	// effect), or any platform or custom attribute that is applied to a container
	// instance, such as attribute:ecs.availability-zone . For the binpack placement
	// strategy, valid values are cpu and memory . For the random placement strategy,
	// this field is not used.
	Field *string

	// The type of placement strategy. The random placement strategy randomly places
	// tasks on available candidates. The spread placement strategy spreads placement
	// across available candidates evenly based on the field parameter. The binpack
	// strategy places tasks on available candidates that have the least available
	// amount of the resource that is specified with the field parameter. For example,
	// if you binpack on memory, a task is placed on the instance with the least amount
	// of remaining memory (but still enough to run the task).
	Type PlacementStrategyType

	noSmithyDocumentSerde
}

// A RetryPolicy object that includes information about the retry policy settings,
// including the maximum age of an event, and the maximum number of times
// EventBridge Scheduler will try to deliver the event to a target.
type RetryPolicy struct {

	// The maximum amount of time, in seconds, to continue to make retry attempts.
	MaximumEventAgeInSeconds *int32

	// The maximum number of retry attempts to make before the request fails. Retry
	// attempts with exponential backoff continue until either the maximum number of
	// attempts is made or until the duration of the MaximumEventAgeInSeconds is
	// reached.
	MaximumRetryAttempts *int32

	noSmithyDocumentSerde
}

// The name and value pair of a parameter to use to start execution of a SageMaker
// Model Building Pipeline.
type SageMakerPipelineParameter struct {

	// Name of parameter to start execution of a SageMaker Model Building Pipeline.
	//
	// This member is required.
	Name *string

	// Value of parameter to start execution of a SageMaker Model Building Pipeline.
	//
	// This member is required.
	Value *string

	noSmithyDocumentSerde
}

// The templated target type for the Amazon SageMaker StartPipelineExecution (https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_StartPipelineExecution.html)
// API operation.
type SageMakerPipelineParameters struct {

	// List of parameter names and values to use when executing the SageMaker Model
	// Building Pipeline.
	PipelineParameterList []SageMakerPipelineParameter

	noSmithyDocumentSerde
}

// The details of a schedule group.
type ScheduleGroupSummary struct {

	// The Amazon Resource Name (ARN) of the schedule group.
	Arn *string

	// The time at which the schedule group was created.
	CreationDate *time.Time

	// The time at which the schedule group was last modified.
	LastModificationDate *time.Time

	// The name of the schedule group.
	Name *string

	// Specifies the state of the schedule group.
	State ScheduleGroupState

	noSmithyDocumentSerde
}

// The details of a schedule.
type ScheduleSummary struct {

	// The Amazon Resource Name (ARN) of the schedule.
	Arn *string

	// The time at which the schedule was created.
	CreationDate *time.Time

	// The name of the schedule group associated with this schedule.
	GroupName *string

	// The time at which the schedule was last modified.
	LastModificationDate *time.Time

	// The name of the schedule.
	Name *string

	// Specifies whether the schedule is enabled or disabled.
	State ScheduleState

	// The schedule's target details.
	Target *TargetSummary

	noSmithyDocumentSerde
}

// The templated target type for the Amazon SQS SendMessage (https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_SendMessage.html)
// API operation. Contains the message group ID to use when the target is a FIFO
// queue. If you specify an Amazon SQS FIFO queue as a target, the queue must have
// content-based deduplication enabled. For more information, see Using the Amazon
// SQS message deduplication ID (https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/using-messagededuplicationid-property.html)
// in the Amazon SQS Developer Guide.
type SqsParameters struct {

	// The FIFO message group ID to use as the target.
	MessageGroupId *string

	noSmithyDocumentSerde
}

// Tag to associate with a schedule group.
type Tag struct {

	// The key for the tag.
	//
	// This member is required.
	Key *string

	// The value for the tag.
	//
	// This member is required.
	Value *string

	noSmithyDocumentSerde
}

// The schedule's target. EventBridge Scheduler supports templated target that
// invoke common API operations, as well as universal targets that you can
// customize to invoke over 6,000 API operations across more than 270 services. You
// can only specify one templated or universal target for a schedule.
type Target struct {

	// The Amazon Resource Name (ARN) of the target.
	//
	// This member is required.
	Arn *string

	// The Amazon Resource Name (ARN) of the IAM role that EventBridge Scheduler will
	// use for this target when the schedule is invoked.
	//
	// This member is required.
	RoleArn *string

	// An object that contains information about an Amazon SQS queue that EventBridge
	// Scheduler uses as a dead-letter queue for your schedule. If specified,
	// EventBridge Scheduler delivers failed events that could not be successfully
	// delivered to a target to the queue.
	DeadLetterConfig *DeadLetterConfig

	// The templated target type for the Amazon ECS RunTask (https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_RunTask.html)
	// API operation.
	EcsParameters *EcsParameters

	// The templated target type for the EventBridge PutEvents (https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_PutEvents.html)
	// API operation.
	EventBridgeParameters *EventBridgeParameters

	// The text, or well-formed JSON, passed to the target. If you are configuring a
	// templated Lambda, AWS Step Functions, or Amazon EventBridge target, the input
	// must be a well-formed JSON. For all other target types, a JSON is not required.
	// If you do not specify anything for this field, EventBridge Scheduler delivers a
	// default notification to the target.
	Input *string

	// The templated target type for the Amazon Kinesis PutRecord API operation.
	KinesisParameters *KinesisParameters

	// A RetryPolicy object that includes information about the retry policy settings,
	// including the maximum age of an event, and the maximum number of times
	// EventBridge Scheduler will try to deliver the event to a target.
	RetryPolicy *RetryPolicy

	// The templated target type for the Amazon SageMaker StartPipelineExecution (https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_StartPipelineExecution.html)
	// API operation.
	SageMakerPipelineParameters *SageMakerPipelineParameters

	// The templated target type for the Amazon SQS SendMessage (https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_SendMessage.html)
	// API operation. Contains the message group ID to use when the target is a FIFO
	// queue. If you specify an Amazon SQS FIFO queue as a target, the queue must have
	// content-based deduplication enabled. For more information, see Using the Amazon
	// SQS message deduplication ID (https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/using-messagededuplicationid-property.html)
	// in the Amazon SQS Developer Guide.
	SqsParameters *SqsParameters

	noSmithyDocumentSerde
}

// The details of a target.
type TargetSummary struct {

	// The Amazon Resource Name (ARN) of the target.
	//
	// This member is required.
	Arn *string

	noSmithyDocumentSerde
}

type noSmithyDocumentSerde = smithydocument.NoSerde