aws-sdk-scheduler 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,1959 @@
1
+ # frozen_string_literal: true
2
+
3
+ # WARNING ABOUT GENERATED CODE
4
+ #
5
+ # This file is generated. See the contributing guide for more information:
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
+ #
8
+ # WARNING ABOUT GENERATED CODE
9
+
10
+ module Aws::Scheduler
11
+ module Types
12
+
13
+ # This structure specifies the VPC subnets and security groups for the
14
+ # task, and whether a public IP address is to be used. This structure is
15
+ # relevant only for ECS tasks that use the awsvpc network mode.
16
+ #
17
+ # @note When making an API call, you may pass AwsVpcConfiguration
18
+ # data as a hash:
19
+ #
20
+ # {
21
+ # assign_public_ip: "ENABLED", # accepts ENABLED, DISABLED
22
+ # security_groups: ["SecurityGroup"],
23
+ # subnets: ["Subnet"], # required
24
+ # }
25
+ #
26
+ # @!attribute [rw] assign_public_ip
27
+ # Specifies whether the task's elastic network interface receives a
28
+ # public IP address. You can specify `ENABLED` only when `LaunchType`
29
+ # in `EcsParameters` is set to `FARGATE`.
30
+ # @return [String]
31
+ #
32
+ # @!attribute [rw] security_groups
33
+ # Specifies the security groups associated with the task. These
34
+ # security groups must all be in the same VPC. You can specify as many
35
+ # as five security groups. If you do not specify a security group, the
36
+ # default security group for the VPC is used.
37
+ # @return [Array<String>]
38
+ #
39
+ # @!attribute [rw] subnets
40
+ # Specifies the subnets associated with the task. These subnets must
41
+ # all be in the same VPC. You can specify as many as 16 subnets.
42
+ # @return [Array<String>]
43
+ #
44
+ # @see http://docs.aws.amazon.com/goto/WebAPI/scheduler-2021-06-30/AwsVpcConfiguration AWS API Documentation
45
+ #
46
+ class AwsVpcConfiguration < Struct.new(
47
+ :assign_public_ip,
48
+ :security_groups,
49
+ :subnets)
50
+ SENSITIVE = []
51
+ include Aws::Structure
52
+ end
53
+
54
+ # The details of a capacity provider strategy.
55
+ #
56
+ # @note When making an API call, you may pass CapacityProviderStrategyItem
57
+ # data as a hash:
58
+ #
59
+ # {
60
+ # base: 1,
61
+ # capacity_provider: "CapacityProvider", # required
62
+ # weight: 1,
63
+ # }
64
+ #
65
+ # @!attribute [rw] base
66
+ # The base value designates how many tasks, at a minimum, to run on
67
+ # the specified capacity provider. Only one capacity provider in a
68
+ # capacity provider strategy can have a base defined. If no value is
69
+ # specified, the default value of `0` is used.
70
+ # @return [Integer]
71
+ #
72
+ # @!attribute [rw] capacity_provider
73
+ # The short name of the capacity provider.
74
+ # @return [String]
75
+ #
76
+ # @!attribute [rw] weight
77
+ # The weight value designates the relative percentage of the total
78
+ # number of tasks launched that should use the specified capacity
79
+ # provider. The weight value is taken into consideration after the
80
+ # base value, if defined, is satisfied.
81
+ # @return [Integer]
82
+ #
83
+ # @see http://docs.aws.amazon.com/goto/WebAPI/scheduler-2021-06-30/CapacityProviderStrategyItem AWS API Documentation
84
+ #
85
+ class CapacityProviderStrategyItem < Struct.new(
86
+ :base,
87
+ :capacity_provider,
88
+ :weight)
89
+ SENSITIVE = []
90
+ include Aws::Structure
91
+ end
92
+
93
+ # Updating or deleting the resource can cause an inconsistent state.
94
+ #
95
+ # @!attribute [rw] message
96
+ # @return [String]
97
+ #
98
+ # @see http://docs.aws.amazon.com/goto/WebAPI/scheduler-2021-06-30/ConflictException AWS API Documentation
99
+ #
100
+ class ConflictException < Struct.new(
101
+ :message)
102
+ SENSITIVE = []
103
+ include Aws::Structure
104
+ end
105
+
106
+ # @note When making an API call, you may pass CreateScheduleGroupInput
107
+ # data as a hash:
108
+ #
109
+ # {
110
+ # client_token: "ClientToken",
111
+ # name: "ScheduleGroupName", # required
112
+ # tags: [
113
+ # {
114
+ # key: "TagKey", # required
115
+ # value: "TagValue", # required
116
+ # },
117
+ # ],
118
+ # }
119
+ #
120
+ # @!attribute [rw] client_token
121
+ # Unique, case-sensitive identifier you provide to ensure the
122
+ # idempotency of the request. If you do not specify a client token,
123
+ # EventBridge Scheduler uses a randomly generated token for the
124
+ # request to ensure idempotency.
125
+ #
126
+ # **A suitable default value is auto-generated.** You should normally
127
+ # not need to pass this option.
128
+ # @return [String]
129
+ #
130
+ # @!attribute [rw] name
131
+ # The name of the schedule group that you are creating.
132
+ # @return [String]
133
+ #
134
+ # @!attribute [rw] tags
135
+ # The list of tags to associate with the schedule group.
136
+ # @return [Array<Types::Tag>]
137
+ #
138
+ # @see http://docs.aws.amazon.com/goto/WebAPI/scheduler-2021-06-30/CreateScheduleGroupInput AWS API Documentation
139
+ #
140
+ class CreateScheduleGroupInput < Struct.new(
141
+ :client_token,
142
+ :name,
143
+ :tags)
144
+ SENSITIVE = []
145
+ include Aws::Structure
146
+ end
147
+
148
+ # @!attribute [rw] schedule_group_arn
149
+ # The Amazon Resource Name (ARN) of the schedule group.
150
+ # @return [String]
151
+ #
152
+ # @see http://docs.aws.amazon.com/goto/WebAPI/scheduler-2021-06-30/CreateScheduleGroupOutput AWS API Documentation
153
+ #
154
+ class CreateScheduleGroupOutput < Struct.new(
155
+ :schedule_group_arn)
156
+ SENSITIVE = []
157
+ include Aws::Structure
158
+ end
159
+
160
+ # @note When making an API call, you may pass CreateScheduleInput
161
+ # data as a hash:
162
+ #
163
+ # {
164
+ # client_token: "ClientToken",
165
+ # description: "Description",
166
+ # end_date: Time.now,
167
+ # flexible_time_window: { # required
168
+ # maximum_window_in_minutes: 1,
169
+ # mode: "OFF", # required, accepts OFF, FLEXIBLE
170
+ # },
171
+ # group_name: "ScheduleGroupName",
172
+ # kms_key_arn: "KmsKeyArn",
173
+ # name: "Name", # required
174
+ # schedule_expression: "ScheduleExpression", # required
175
+ # schedule_expression_timezone: "ScheduleExpressionTimezone",
176
+ # start_date: Time.now,
177
+ # state: "ENABLED", # accepts ENABLED, DISABLED
178
+ # target: { # required
179
+ # arn: "TargetArn", # required
180
+ # dead_letter_config: {
181
+ # arn: "DeadLetterConfigArnString",
182
+ # },
183
+ # ecs_parameters: {
184
+ # capacity_provider_strategy: [
185
+ # {
186
+ # base: 1,
187
+ # capacity_provider: "CapacityProvider", # required
188
+ # weight: 1,
189
+ # },
190
+ # ],
191
+ # enable_ecs_managed_tags: false,
192
+ # enable_execute_command: false,
193
+ # group: "Group",
194
+ # launch_type: "EC2", # accepts EC2, FARGATE, EXTERNAL
195
+ # network_configuration: {
196
+ # awsvpc_configuration: {
197
+ # assign_public_ip: "ENABLED", # accepts ENABLED, DISABLED
198
+ # security_groups: ["SecurityGroup"],
199
+ # subnets: ["Subnet"], # required
200
+ # },
201
+ # },
202
+ # placement_constraints: [
203
+ # {
204
+ # expression: "PlacementConstraintExpression",
205
+ # type: "distinctInstance", # accepts distinctInstance, memberOf
206
+ # },
207
+ # ],
208
+ # placement_strategy: [
209
+ # {
210
+ # field: "PlacementStrategyField",
211
+ # type: "random", # accepts random, spread, binpack
212
+ # },
213
+ # ],
214
+ # platform_version: "PlatformVersion",
215
+ # propagate_tags: "TASK_DEFINITION", # accepts TASK_DEFINITION
216
+ # reference_id: "ReferenceId",
217
+ # tags: [
218
+ # {
219
+ # "TagKey" => "TagValue",
220
+ # },
221
+ # ],
222
+ # task_count: 1,
223
+ # task_definition_arn: "TaskDefinitionArn", # required
224
+ # },
225
+ # event_bridge_parameters: {
226
+ # detail_type: "DetailType", # required
227
+ # source: "Source", # required
228
+ # },
229
+ # input: "TargetInput",
230
+ # kinesis_parameters: {
231
+ # partition_key: "TargetPartitionKey", # required
232
+ # },
233
+ # retry_policy: {
234
+ # maximum_event_age_in_seconds: 1,
235
+ # maximum_retry_attempts: 1,
236
+ # },
237
+ # role_arn: "RoleArn", # required
238
+ # sage_maker_pipeline_parameters: {
239
+ # pipeline_parameter_list: [
240
+ # {
241
+ # name: "SageMakerPipelineParameterName", # required
242
+ # value: "SageMakerPipelineParameterValue", # required
243
+ # },
244
+ # ],
245
+ # },
246
+ # sqs_parameters: {
247
+ # message_group_id: "MessageGroupId",
248
+ # },
249
+ # },
250
+ # }
251
+ #
252
+ # @!attribute [rw] client_token
253
+ # Unique, case-sensitive identifier you provide to ensure the
254
+ # idempotency of the request. If you do not specify a client token,
255
+ # EventBridge Scheduler uses a randomly generated token for the
256
+ # request to ensure idempotency.
257
+ #
258
+ # **A suitable default value is auto-generated.** You should normally
259
+ # not need to pass this option.
260
+ # @return [String]
261
+ #
262
+ # @!attribute [rw] description
263
+ # The description you specify for the schedule.
264
+ # @return [String]
265
+ #
266
+ # @!attribute [rw] end_date
267
+ # The date, in UTC, before which the schedule can invoke its target.
268
+ # Depending on the schedule's recurrence expression, invocations
269
+ # might stop on, or before, the `EndDate` you specify. EventBridge
270
+ # Scheduler ignores `EndDate` for one-time schedules.
271
+ # @return [Time]
272
+ #
273
+ # @!attribute [rw] flexible_time_window
274
+ # Allows you to configure a time window during which EventBridge
275
+ # Scheduler invokes the schedule.
276
+ # @return [Types::FlexibleTimeWindow]
277
+ #
278
+ # @!attribute [rw] group_name
279
+ # The name of the schedule group to associate with this schedule. If
280
+ # you omit this, the default schedule group is used.
281
+ # @return [String]
282
+ #
283
+ # @!attribute [rw] kms_key_arn
284
+ # The Amazon Resource Name (ARN) for the customer managed KMS key that
285
+ # EventBridge Scheduler will use to encrypt and decrypt your data.
286
+ # @return [String]
287
+ #
288
+ # @!attribute [rw] name
289
+ # The name of the schedule that you are creating.
290
+ # @return [String]
291
+ #
292
+ # @!attribute [rw] schedule_expression
293
+ # The expression that defines when the schedule runs. The following
294
+ # formats are supported.
295
+ #
296
+ # * `at` expression - `at(yyyy-mm-ddThh:mm:ss)`
297
+ #
298
+ # * `rate` expression - `rate(unit value)`
299
+ #
300
+ # * `cron` expression - `cron(fields)`
301
+ #
302
+ # You can use `at` expressions to create one-time schedules that
303
+ # invoke a target once, at the time and in the time zone, that you
304
+ # specify. You can use `rate` and `cron` expressions to create
305
+ # recurring schedules. Rate-based schedules are useful when you want
306
+ # to invoke a target at regular intervals, such as every 15 minutes or
307
+ # every five days. Cron-based schedules are useful when you want to
308
+ # invoke a target periodically at a specific time, such as at 8:00 am
309
+ # (UTC+0) every 1st day of the month.
310
+ #
311
+ # A `cron` expression consists of six fields separated by white
312
+ # spaces: `(minutes hours day_of_month month day_of_week year)`.
313
+ #
314
+ # A `rate` expression consists of a *value* as a positive integer, and
315
+ # a *unit* with the following options: `minute` \| `minutes` \| `hour`
316
+ # \| `hours` \| `day` \| `days`
317
+ #
318
+ # For more information and examples, see [Schedule types on
319
+ # EventBridge Scheduler][1] in the *EventBridge Scheduler User Guide*.
320
+ #
321
+ #
322
+ #
323
+ # [1]: https://docs.aws.amazon.com/scheduler/latest/UserGuide/schedule-types.html
324
+ # @return [String]
325
+ #
326
+ # @!attribute [rw] schedule_expression_timezone
327
+ # The timezone in which the scheduling expression is evaluated.
328
+ # @return [String]
329
+ #
330
+ # @!attribute [rw] start_date
331
+ # The date, in UTC, after which the schedule can begin invoking its
332
+ # target. Depending on the schedule's recurrence expression,
333
+ # invocations might occur on, or after, the `StartDate` you specify.
334
+ # EventBridge Scheduler ignores `StartDate` for one-time schedules.
335
+ # @return [Time]
336
+ #
337
+ # @!attribute [rw] state
338
+ # Specifies whether the schedule is enabled or disabled.
339
+ # @return [String]
340
+ #
341
+ # @!attribute [rw] target
342
+ # The schedule's target.
343
+ # @return [Types::Target]
344
+ #
345
+ # @see http://docs.aws.amazon.com/goto/WebAPI/scheduler-2021-06-30/CreateScheduleInput AWS API Documentation
346
+ #
347
+ class CreateScheduleInput < Struct.new(
348
+ :client_token,
349
+ :description,
350
+ :end_date,
351
+ :flexible_time_window,
352
+ :group_name,
353
+ :kms_key_arn,
354
+ :name,
355
+ :schedule_expression,
356
+ :schedule_expression_timezone,
357
+ :start_date,
358
+ :state,
359
+ :target)
360
+ SENSITIVE = []
361
+ include Aws::Structure
362
+ end
363
+
364
+ # @!attribute [rw] schedule_arn
365
+ # The Amazon Resource Name (ARN) of the schedule.
366
+ # @return [String]
367
+ #
368
+ # @see http://docs.aws.amazon.com/goto/WebAPI/scheduler-2021-06-30/CreateScheduleOutput AWS API Documentation
369
+ #
370
+ class CreateScheduleOutput < Struct.new(
371
+ :schedule_arn)
372
+ SENSITIVE = []
373
+ include Aws::Structure
374
+ end
375
+
376
+ # An object that contains information about an Amazon SQS queue that
377
+ # EventBridge Scheduler uses as a dead-letter queue for your schedule.
378
+ # If specified, EventBridge Scheduler delivers failed events that could
379
+ # not be successfully delivered to a target to the queue.
380
+ #
381
+ # @note When making an API call, you may pass DeadLetterConfig
382
+ # data as a hash:
383
+ #
384
+ # {
385
+ # arn: "DeadLetterConfigArnString",
386
+ # }
387
+ #
388
+ # @!attribute [rw] arn
389
+ # The Amazon Resource Name (ARN) of the SQS queue specified as the
390
+ # destination for the dead-letter queue.
391
+ # @return [String]
392
+ #
393
+ # @see http://docs.aws.amazon.com/goto/WebAPI/scheduler-2021-06-30/DeadLetterConfig AWS API Documentation
394
+ #
395
+ class DeadLetterConfig < Struct.new(
396
+ :arn)
397
+ SENSITIVE = []
398
+ include Aws::Structure
399
+ end
400
+
401
+ # @note When making an API call, you may pass DeleteScheduleGroupInput
402
+ # data as a hash:
403
+ #
404
+ # {
405
+ # client_token: "ClientToken",
406
+ # name: "ScheduleGroupName", # required
407
+ # }
408
+ #
409
+ # @!attribute [rw] client_token
410
+ # Unique, case-sensitive identifier you provide to ensure the
411
+ # idempotency of the request. If you do not specify a client token,
412
+ # EventBridge Scheduler uses a randomly generated token for the
413
+ # request to ensure idempotency.
414
+ #
415
+ # **A suitable default value is auto-generated.** You should normally
416
+ # not need to pass this option.
417
+ # @return [String]
418
+ #
419
+ # @!attribute [rw] name
420
+ # The name of the schedule group to delete.
421
+ # @return [String]
422
+ #
423
+ # @see http://docs.aws.amazon.com/goto/WebAPI/scheduler-2021-06-30/DeleteScheduleGroupInput AWS API Documentation
424
+ #
425
+ class DeleteScheduleGroupInput < Struct.new(
426
+ :client_token,
427
+ :name)
428
+ SENSITIVE = []
429
+ include Aws::Structure
430
+ end
431
+
432
+ # @see http://docs.aws.amazon.com/goto/WebAPI/scheduler-2021-06-30/DeleteScheduleGroupOutput AWS API Documentation
433
+ #
434
+ class DeleteScheduleGroupOutput < Aws::EmptyStructure; end
435
+
436
+ # @note When making an API call, you may pass DeleteScheduleInput
437
+ # data as a hash:
438
+ #
439
+ # {
440
+ # client_token: "ClientToken",
441
+ # group_name: "ScheduleGroupName",
442
+ # name: "Name", # required
443
+ # }
444
+ #
445
+ # @!attribute [rw] client_token
446
+ # Unique, case-sensitive identifier you provide to ensure the
447
+ # idempotency of the request. If you do not specify a client token,
448
+ # EventBridge Scheduler uses a randomly generated token for the
449
+ # request to ensure idempotency.
450
+ #
451
+ # **A suitable default value is auto-generated.** You should normally
452
+ # not need to pass this option.
453
+ # @return [String]
454
+ #
455
+ # @!attribute [rw] group_name
456
+ # The name of the schedule group associated with this schedule. If you
457
+ # omit this, the default schedule group is used.
458
+ # @return [String]
459
+ #
460
+ # @!attribute [rw] name
461
+ # The name of the schedule to delete.
462
+ # @return [String]
463
+ #
464
+ # @see http://docs.aws.amazon.com/goto/WebAPI/scheduler-2021-06-30/DeleteScheduleInput AWS API Documentation
465
+ #
466
+ class DeleteScheduleInput < Struct.new(
467
+ :client_token,
468
+ :group_name,
469
+ :name)
470
+ SENSITIVE = []
471
+ include Aws::Structure
472
+ end
473
+
474
+ # @see http://docs.aws.amazon.com/goto/WebAPI/scheduler-2021-06-30/DeleteScheduleOutput AWS API Documentation
475
+ #
476
+ class DeleteScheduleOutput < Aws::EmptyStructure; end
477
+
478
+ # The templated target type for the Amazon ECS [ `RunTask` ][1] API
479
+ # operation.
480
+ #
481
+ #
482
+ #
483
+ # [1]: https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_RunTask.html
484
+ #
485
+ # @note When making an API call, you may pass EcsParameters
486
+ # data as a hash:
487
+ #
488
+ # {
489
+ # capacity_provider_strategy: [
490
+ # {
491
+ # base: 1,
492
+ # capacity_provider: "CapacityProvider", # required
493
+ # weight: 1,
494
+ # },
495
+ # ],
496
+ # enable_ecs_managed_tags: false,
497
+ # enable_execute_command: false,
498
+ # group: "Group",
499
+ # launch_type: "EC2", # accepts EC2, FARGATE, EXTERNAL
500
+ # network_configuration: {
501
+ # awsvpc_configuration: {
502
+ # assign_public_ip: "ENABLED", # accepts ENABLED, DISABLED
503
+ # security_groups: ["SecurityGroup"],
504
+ # subnets: ["Subnet"], # required
505
+ # },
506
+ # },
507
+ # placement_constraints: [
508
+ # {
509
+ # expression: "PlacementConstraintExpression",
510
+ # type: "distinctInstance", # accepts distinctInstance, memberOf
511
+ # },
512
+ # ],
513
+ # placement_strategy: [
514
+ # {
515
+ # field: "PlacementStrategyField",
516
+ # type: "random", # accepts random, spread, binpack
517
+ # },
518
+ # ],
519
+ # platform_version: "PlatformVersion",
520
+ # propagate_tags: "TASK_DEFINITION", # accepts TASK_DEFINITION
521
+ # reference_id: "ReferenceId",
522
+ # tags: [
523
+ # {
524
+ # "TagKey" => "TagValue",
525
+ # },
526
+ # ],
527
+ # task_count: 1,
528
+ # task_definition_arn: "TaskDefinitionArn", # required
529
+ # }
530
+ #
531
+ # @!attribute [rw] capacity_provider_strategy
532
+ # The capacity provider strategy to use for the task.
533
+ # @return [Array<Types::CapacityProviderStrategyItem>]
534
+ #
535
+ # @!attribute [rw] enable_ecs_managed_tags
536
+ # Specifies whether to enable Amazon ECS managed tags for the task.
537
+ # For more information, see [Tagging Your Amazon ECS Resources][1] in
538
+ # the *Amazon ECS Developer Guide*.
539
+ #
540
+ #
541
+ #
542
+ # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-using-tags.html
543
+ # @return [Boolean]
544
+ #
545
+ # @!attribute [rw] enable_execute_command
546
+ # Whether or not to enable the execute command functionality for the
547
+ # containers in this task. If true, this enables execute command
548
+ # functionality on all containers in the task.
549
+ # @return [Boolean]
550
+ #
551
+ # @!attribute [rw] group
552
+ # Specifies an ECS task group for the task. The maximum length is 255
553
+ # characters.
554
+ # @return [String]
555
+ #
556
+ # @!attribute [rw] launch_type
557
+ # Specifies the launch type on which your task is running. The launch
558
+ # type that you specify here must match one of the launch type
559
+ # (compatibilities) of the target task. The `FARGATE` value is
560
+ # supported only in the Regions where Fargate with Amazon ECS is
561
+ # supported. For more information, see [AWS Fargate on Amazon ECS][1]
562
+ # in the *Amazon ECS Developer Guide*.
563
+ #
564
+ #
565
+ #
566
+ # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/AWS_Fargate.html
567
+ # @return [String]
568
+ #
569
+ # @!attribute [rw] network_configuration
570
+ # This structure specifies the network configuration for an ECS task.
571
+ # @return [Types::NetworkConfiguration]
572
+ #
573
+ # @!attribute [rw] placement_constraints
574
+ # An array of placement constraint objects to use for the task. You
575
+ # can specify up to 10 constraints per task (including constraints in
576
+ # the task definition and those specified at runtime).
577
+ # @return [Array<Types::PlacementConstraint>]
578
+ #
579
+ # @!attribute [rw] placement_strategy
580
+ # The task placement strategy for a task or service.
581
+ # @return [Array<Types::PlacementStrategy>]
582
+ #
583
+ # @!attribute [rw] platform_version
584
+ # Specifies the platform version for the task. Specify only the
585
+ # numeric portion of the platform version, such as `1.1.0`.
586
+ # @return [String]
587
+ #
588
+ # @!attribute [rw] propagate_tags
589
+ # Specifies whether to propagate the tags from the task definition to
590
+ # the task. If no value is specified, the tags are not propagated.
591
+ # Tags can only be propagated to the task during task creation. To add
592
+ # tags to a task after task creation, use Amazon ECS's [
593
+ # `TagResource` ][1] API action.
594
+ #
595
+ #
596
+ #
597
+ # [1]: https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_TagResource.html
598
+ # @return [String]
599
+ #
600
+ # @!attribute [rw] reference_id
601
+ # The reference ID to use for the task.
602
+ # @return [String]
603
+ #
604
+ # @!attribute [rw] tags
605
+ # The metadata that you apply to the task to help you categorize and
606
+ # organize them. Each tag consists of a key and an optional value,
607
+ # both of which you define. For more information, see [ `RunTask` ][1]
608
+ # in the *Amazon ECS API Reference*.
609
+ #
610
+ #
611
+ #
612
+ # [1]: https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_RunTask.html
613
+ # @return [Array<Hash<String,String>>]
614
+ #
615
+ # @!attribute [rw] task_count
616
+ # The number of tasks to create based on `TaskDefinition`. The default
617
+ # is `1`.
618
+ # @return [Integer]
619
+ #
620
+ # @!attribute [rw] task_definition_arn
621
+ # The Amazon Resource Name (ARN) of the task definition to use if the
622
+ # event target is an Amazon ECS task.
623
+ # @return [String]
624
+ #
625
+ # @see http://docs.aws.amazon.com/goto/WebAPI/scheduler-2021-06-30/EcsParameters AWS API Documentation
626
+ #
627
+ class EcsParameters < Struct.new(
628
+ :capacity_provider_strategy,
629
+ :enable_ecs_managed_tags,
630
+ :enable_execute_command,
631
+ :group,
632
+ :launch_type,
633
+ :network_configuration,
634
+ :placement_constraints,
635
+ :placement_strategy,
636
+ :platform_version,
637
+ :propagate_tags,
638
+ :reference_id,
639
+ :tags,
640
+ :task_count,
641
+ :task_definition_arn)
642
+ SENSITIVE = []
643
+ include Aws::Structure
644
+ end
645
+
646
+ # The templated target type for the EventBridge [ `PutEvents` ][1] API
647
+ # operation.
648
+ #
649
+ #
650
+ #
651
+ # [1]: https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_PutEvents.html
652
+ #
653
+ # @note When making an API call, you may pass EventBridgeParameters
654
+ # data as a hash:
655
+ #
656
+ # {
657
+ # detail_type: "DetailType", # required
658
+ # source: "Source", # required
659
+ # }
660
+ #
661
+ # @!attribute [rw] detail_type
662
+ # A free-form string, with a maximum of 128 characters, used to decide
663
+ # what fields to expect in the event detail.
664
+ # @return [String]
665
+ #
666
+ # @!attribute [rw] source
667
+ # The source of the event.
668
+ # @return [String]
669
+ #
670
+ # @see http://docs.aws.amazon.com/goto/WebAPI/scheduler-2021-06-30/EventBridgeParameters AWS API Documentation
671
+ #
672
+ class EventBridgeParameters < Struct.new(
673
+ :detail_type,
674
+ :source)
675
+ SENSITIVE = []
676
+ include Aws::Structure
677
+ end
678
+
679
+ # Allows you to configure a time window during which EventBridge
680
+ # Scheduler invokes the schedule.
681
+ #
682
+ # @note When making an API call, you may pass FlexibleTimeWindow
683
+ # data as a hash:
684
+ #
685
+ # {
686
+ # maximum_window_in_minutes: 1,
687
+ # mode: "OFF", # required, accepts OFF, FLEXIBLE
688
+ # }
689
+ #
690
+ # @!attribute [rw] maximum_window_in_minutes
691
+ # The maximum time window during which a schedule can be invoked.
692
+ # @return [Integer]
693
+ #
694
+ # @!attribute [rw] mode
695
+ # Determines whether the schedule is invoked within a flexible time
696
+ # window.
697
+ # @return [String]
698
+ #
699
+ # @see http://docs.aws.amazon.com/goto/WebAPI/scheduler-2021-06-30/FlexibleTimeWindow AWS API Documentation
700
+ #
701
+ class FlexibleTimeWindow < Struct.new(
702
+ :maximum_window_in_minutes,
703
+ :mode)
704
+ SENSITIVE = []
705
+ include Aws::Structure
706
+ end
707
+
708
+ # @note When making an API call, you may pass GetScheduleGroupInput
709
+ # data as a hash:
710
+ #
711
+ # {
712
+ # name: "ScheduleGroupName", # required
713
+ # }
714
+ #
715
+ # @!attribute [rw] name
716
+ # The name of the schedule group to retrieve.
717
+ # @return [String]
718
+ #
719
+ # @see http://docs.aws.amazon.com/goto/WebAPI/scheduler-2021-06-30/GetScheduleGroupInput AWS API Documentation
720
+ #
721
+ class GetScheduleGroupInput < Struct.new(
722
+ :name)
723
+ SENSITIVE = []
724
+ include Aws::Structure
725
+ end
726
+
727
+ # @!attribute [rw] arn
728
+ # The Amazon Resource Name (ARN) of the schedule group.
729
+ # @return [String]
730
+ #
731
+ # @!attribute [rw] creation_date
732
+ # The time at which the schedule group was created.
733
+ # @return [Time]
734
+ #
735
+ # @!attribute [rw] last_modification_date
736
+ # The time at which the schedule group was last modified.
737
+ # @return [Time]
738
+ #
739
+ # @!attribute [rw] name
740
+ # The name of the schedule group.
741
+ # @return [String]
742
+ #
743
+ # @!attribute [rw] state
744
+ # Specifies the state of the schedule group.
745
+ # @return [String]
746
+ #
747
+ # @see http://docs.aws.amazon.com/goto/WebAPI/scheduler-2021-06-30/GetScheduleGroupOutput AWS API Documentation
748
+ #
749
+ class GetScheduleGroupOutput < Struct.new(
750
+ :arn,
751
+ :creation_date,
752
+ :last_modification_date,
753
+ :name,
754
+ :state)
755
+ SENSITIVE = []
756
+ include Aws::Structure
757
+ end
758
+
759
+ # @note When making an API call, you may pass GetScheduleInput
760
+ # data as a hash:
761
+ #
762
+ # {
763
+ # group_name: "ScheduleGroupName",
764
+ # name: "Name", # required
765
+ # }
766
+ #
767
+ # @!attribute [rw] group_name
768
+ # The name of the schedule group associated with this schedule. If you
769
+ # omit this, EventBridge Scheduler assumes that the schedule is
770
+ # associated with the default group.
771
+ # @return [String]
772
+ #
773
+ # @!attribute [rw] name
774
+ # The name of the schedule to retrieve.
775
+ # @return [String]
776
+ #
777
+ # @see http://docs.aws.amazon.com/goto/WebAPI/scheduler-2021-06-30/GetScheduleInput AWS API Documentation
778
+ #
779
+ class GetScheduleInput < Struct.new(
780
+ :group_name,
781
+ :name)
782
+ SENSITIVE = []
783
+ include Aws::Structure
784
+ end
785
+
786
+ # @!attribute [rw] arn
787
+ # The Amazon Resource Name (ARN) of the schedule.
788
+ # @return [String]
789
+ #
790
+ # @!attribute [rw] creation_date
791
+ # The time at which the schedule was created.
792
+ # @return [Time]
793
+ #
794
+ # @!attribute [rw] description
795
+ # The description of the schedule.
796
+ # @return [String]
797
+ #
798
+ # @!attribute [rw] end_date
799
+ # The date, in UTC, before which the schedule can invoke its target.
800
+ # Depending on the schedule's recurrence expression, invocations
801
+ # might stop on, or before, the `EndDate` you specify. EventBridge
802
+ # Scheduler ignores `EndDate` for one-time schedules.
803
+ # @return [Time]
804
+ #
805
+ # @!attribute [rw] flexible_time_window
806
+ # Allows you to configure a time window during which EventBridge
807
+ # Scheduler invokes the schedule.
808
+ # @return [Types::FlexibleTimeWindow]
809
+ #
810
+ # @!attribute [rw] group_name
811
+ # The name of the schedule group associated with this schedule.
812
+ # @return [String]
813
+ #
814
+ # @!attribute [rw] kms_key_arn
815
+ # The ARN for a customer managed KMS Key that is be used to encrypt
816
+ # and decrypt your data.
817
+ # @return [String]
818
+ #
819
+ # @!attribute [rw] last_modification_date
820
+ # The time at which the schedule was last modified.
821
+ # @return [Time]
822
+ #
823
+ # @!attribute [rw] name
824
+ # The name of the schedule.
825
+ # @return [String]
826
+ #
827
+ # @!attribute [rw] schedule_expression
828
+ # The expression that defines when the schedule runs. The following
829
+ # formats are supported.
830
+ #
831
+ # * `at` expression - `at(yyyy-mm-ddThh:mm:ss)`
832
+ #
833
+ # * `rate` expression - `rate(unit value)`
834
+ #
835
+ # * `cron` expression - `cron(fields)`
836
+ #
837
+ # You can use `at` expressions to create one-time schedules that
838
+ # invoke a target once, at the time and in the time zone, that you
839
+ # specify. You can use `rate` and `cron` expressions to create
840
+ # recurring schedules. Rate-based schedules are useful when you want
841
+ # to invoke a target at regular intervals, such as every 15 minutes or
842
+ # every five days. Cron-based schedules are useful when you want to
843
+ # invoke a target periodically at a specific time, such as at 8:00 am
844
+ # (UTC+0) every 1st day of the month.
845
+ #
846
+ # A `cron` expression consists of six fields separated by white
847
+ # spaces: `(minutes hours day_of_month month day_of_week year)`.
848
+ #
849
+ # A `rate` expression consists of a *value* as a positive integer, and
850
+ # a *unit* with the following options: `minute` \| `minutes` \| `hour`
851
+ # \| `hours` \| `day` \| `days`
852
+ #
853
+ # For more information and examples, see [Schedule types on
854
+ # EventBridge Scheduler][1] in the *EventBridge Scheduler User Guide*.
855
+ #
856
+ #
857
+ #
858
+ # [1]: https://docs.aws.amazon.com/scheduler/latest/UserGuide/schedule-types.html
859
+ # @return [String]
860
+ #
861
+ # @!attribute [rw] schedule_expression_timezone
862
+ # The timezone in which the scheduling expression is evaluated.
863
+ # @return [String]
864
+ #
865
+ # @!attribute [rw] start_date
866
+ # The date, in UTC, after which the schedule can begin invoking its
867
+ # target. Depending on the schedule's recurrence expression,
868
+ # invocations might occur on, or after, the `StartDate` you specify.
869
+ # EventBridge Scheduler ignores `StartDate` for one-time schedules.
870
+ # @return [Time]
871
+ #
872
+ # @!attribute [rw] state
873
+ # Specifies whether the schedule is enabled or disabled.
874
+ # @return [String]
875
+ #
876
+ # @!attribute [rw] target
877
+ # The schedule target.
878
+ # @return [Types::Target]
879
+ #
880
+ # @see http://docs.aws.amazon.com/goto/WebAPI/scheduler-2021-06-30/GetScheduleOutput AWS API Documentation
881
+ #
882
+ class GetScheduleOutput < Struct.new(
883
+ :arn,
884
+ :creation_date,
885
+ :description,
886
+ :end_date,
887
+ :flexible_time_window,
888
+ :group_name,
889
+ :kms_key_arn,
890
+ :last_modification_date,
891
+ :name,
892
+ :schedule_expression,
893
+ :schedule_expression_timezone,
894
+ :start_date,
895
+ :state,
896
+ :target)
897
+ SENSITIVE = []
898
+ include Aws::Structure
899
+ end
900
+
901
+ # Unexpected error encountered while processing the request.
902
+ #
903
+ # @!attribute [rw] message
904
+ # @return [String]
905
+ #
906
+ # @see http://docs.aws.amazon.com/goto/WebAPI/scheduler-2021-06-30/InternalServerException AWS API Documentation
907
+ #
908
+ class InternalServerException < Struct.new(
909
+ :message)
910
+ SENSITIVE = []
911
+ include Aws::Structure
912
+ end
913
+
914
+ # The templated target type for the Amazon Kinesis [ `PutRecord`
915
+ # ](kinesis/latest/APIReference/API_PutRecord.html) API operation.
916
+ #
917
+ # @note When making an API call, you may pass KinesisParameters
918
+ # data as a hash:
919
+ #
920
+ # {
921
+ # partition_key: "TargetPartitionKey", # required
922
+ # }
923
+ #
924
+ # @!attribute [rw] partition_key
925
+ # Specifies the shard to which EventBridge Scheduler sends the event.
926
+ # For more information, see [Amazon Kinesis Data Streams terminology
927
+ # and concepts][1] in the *Amazon Kinesis Streams Developer Guide*.
928
+ #
929
+ #
930
+ #
931
+ # [1]: https://docs.aws.amazon.com/streams/latest/dev/key-concepts.html
932
+ # @return [String]
933
+ #
934
+ # @see http://docs.aws.amazon.com/goto/WebAPI/scheduler-2021-06-30/KinesisParameters AWS API Documentation
935
+ #
936
+ class KinesisParameters < Struct.new(
937
+ :partition_key)
938
+ SENSITIVE = []
939
+ include Aws::Structure
940
+ end
941
+
942
+ # @note When making an API call, you may pass ListScheduleGroupsInput
943
+ # data as a hash:
944
+ #
945
+ # {
946
+ # max_results: 1,
947
+ # name_prefix: "ScheduleGroupNamePrefix",
948
+ # next_token: "NextToken",
949
+ # }
950
+ #
951
+ # @!attribute [rw] max_results
952
+ # If specified, limits the number of results returned by this
953
+ # operation. The operation also returns a `NextToken` which you can
954
+ # use in a subsequent operation to retrieve the next set of results.
955
+ # @return [Integer]
956
+ #
957
+ # @!attribute [rw] name_prefix
958
+ # The name prefix that you can use to return a filtered list of your
959
+ # schedule groups.
960
+ # @return [String]
961
+ #
962
+ # @!attribute [rw] next_token
963
+ # The token returned by a previous call to retrieve the next set of
964
+ # results.
965
+ # @return [String]
966
+ #
967
+ # @see http://docs.aws.amazon.com/goto/WebAPI/scheduler-2021-06-30/ListScheduleGroupsInput AWS API Documentation
968
+ #
969
+ class ListScheduleGroupsInput < Struct.new(
970
+ :max_results,
971
+ :name_prefix,
972
+ :next_token)
973
+ SENSITIVE = []
974
+ include Aws::Structure
975
+ end
976
+
977
+ # @!attribute [rw] next_token
978
+ # Indicates whether there are additional results to retrieve. If the
979
+ # value is null, there are no more results.
980
+ # @return [String]
981
+ #
982
+ # @!attribute [rw] schedule_groups
983
+ # The schedule groups that match the specified criteria.
984
+ # @return [Array<Types::ScheduleGroupSummary>]
985
+ #
986
+ # @see http://docs.aws.amazon.com/goto/WebAPI/scheduler-2021-06-30/ListScheduleGroupsOutput AWS API Documentation
987
+ #
988
+ class ListScheduleGroupsOutput < Struct.new(
989
+ :next_token,
990
+ :schedule_groups)
991
+ SENSITIVE = []
992
+ include Aws::Structure
993
+ end
994
+
995
+ # @note When making an API call, you may pass ListSchedulesInput
996
+ # data as a hash:
997
+ #
998
+ # {
999
+ # group_name: "ScheduleGroupName",
1000
+ # max_results: 1,
1001
+ # name_prefix: "NamePrefix",
1002
+ # next_token: "NextToken",
1003
+ # state: "ENABLED", # accepts ENABLED, DISABLED
1004
+ # }
1005
+ #
1006
+ # @!attribute [rw] group_name
1007
+ # If specified, only lists the schedules whose associated schedule
1008
+ # group matches the given filter.
1009
+ # @return [String]
1010
+ #
1011
+ # @!attribute [rw] max_results
1012
+ # If specified, limits the number of results returned by this
1013
+ # operation. The operation also returns a `NextToken` which you can
1014
+ # use in a subsequent operation to retrieve the next set of results.
1015
+ # @return [Integer]
1016
+ #
1017
+ # @!attribute [rw] name_prefix
1018
+ # Schedule name prefix to return the filtered list of resources.
1019
+ # @return [String]
1020
+ #
1021
+ # @!attribute [rw] next_token
1022
+ # The token returned by a previous call to retrieve the next set of
1023
+ # results.
1024
+ # @return [String]
1025
+ #
1026
+ # @!attribute [rw] state
1027
+ # If specified, only lists the schedules whose current state matches
1028
+ # the given filter.
1029
+ # @return [String]
1030
+ #
1031
+ # @see http://docs.aws.amazon.com/goto/WebAPI/scheduler-2021-06-30/ListSchedulesInput AWS API Documentation
1032
+ #
1033
+ class ListSchedulesInput < Struct.new(
1034
+ :group_name,
1035
+ :max_results,
1036
+ :name_prefix,
1037
+ :next_token,
1038
+ :state)
1039
+ SENSITIVE = []
1040
+ include Aws::Structure
1041
+ end
1042
+
1043
+ # @!attribute [rw] next_token
1044
+ # Indicates whether there are additional results to retrieve. If the
1045
+ # value is null, there are no more results.
1046
+ # @return [String]
1047
+ #
1048
+ # @!attribute [rw] schedules
1049
+ # The schedules that match the specified criteria.
1050
+ # @return [Array<Types::ScheduleSummary>]
1051
+ #
1052
+ # @see http://docs.aws.amazon.com/goto/WebAPI/scheduler-2021-06-30/ListSchedulesOutput AWS API Documentation
1053
+ #
1054
+ class ListSchedulesOutput < Struct.new(
1055
+ :next_token,
1056
+ :schedules)
1057
+ SENSITIVE = []
1058
+ include Aws::Structure
1059
+ end
1060
+
1061
+ # @note When making an API call, you may pass ListTagsForResourceInput
1062
+ # data as a hash:
1063
+ #
1064
+ # {
1065
+ # resource_arn: "TagResourceArn", # required
1066
+ # }
1067
+ #
1068
+ # @!attribute [rw] resource_arn
1069
+ # The ARN of the EventBridge Scheduler resource for which you want to
1070
+ # view tags.
1071
+ # @return [String]
1072
+ #
1073
+ # @see http://docs.aws.amazon.com/goto/WebAPI/scheduler-2021-06-30/ListTagsForResourceInput AWS API Documentation
1074
+ #
1075
+ class ListTagsForResourceInput < Struct.new(
1076
+ :resource_arn)
1077
+ SENSITIVE = []
1078
+ include Aws::Structure
1079
+ end
1080
+
1081
+ # @!attribute [rw] tags
1082
+ # The list of tags associated with the specified resource.
1083
+ # @return [Array<Types::Tag>]
1084
+ #
1085
+ # @see http://docs.aws.amazon.com/goto/WebAPI/scheduler-2021-06-30/ListTagsForResourceOutput AWS API Documentation
1086
+ #
1087
+ class ListTagsForResourceOutput < Struct.new(
1088
+ :tags)
1089
+ SENSITIVE = []
1090
+ include Aws::Structure
1091
+ end
1092
+
1093
+ # Specifies the network configuration for an ECS task.
1094
+ #
1095
+ # @note When making an API call, you may pass NetworkConfiguration
1096
+ # data as a hash:
1097
+ #
1098
+ # {
1099
+ # awsvpc_configuration: {
1100
+ # assign_public_ip: "ENABLED", # accepts ENABLED, DISABLED
1101
+ # security_groups: ["SecurityGroup"],
1102
+ # subnets: ["Subnet"], # required
1103
+ # },
1104
+ # }
1105
+ #
1106
+ # @!attribute [rw] awsvpc_configuration
1107
+ # Specifies the Amazon VPC subnets and security groups for the task,
1108
+ # and whether a public IP address is to be used. This structure is
1109
+ # relevant only for ECS tasks that use the awsvpc network mode.
1110
+ # @return [Types::AwsVpcConfiguration]
1111
+ #
1112
+ # @see http://docs.aws.amazon.com/goto/WebAPI/scheduler-2021-06-30/NetworkConfiguration AWS API Documentation
1113
+ #
1114
+ class NetworkConfiguration < Struct.new(
1115
+ :awsvpc_configuration)
1116
+ SENSITIVE = []
1117
+ include Aws::Structure
1118
+ end
1119
+
1120
+ # An object representing a constraint on task placement.
1121
+ #
1122
+ # @note When making an API call, you may pass PlacementConstraint
1123
+ # data as a hash:
1124
+ #
1125
+ # {
1126
+ # expression: "PlacementConstraintExpression",
1127
+ # type: "distinctInstance", # accepts distinctInstance, memberOf
1128
+ # }
1129
+ #
1130
+ # @!attribute [rw] expression
1131
+ # A cluster query language expression to apply to the constraint. You
1132
+ # cannot specify an expression if the constraint type is
1133
+ # `distinctInstance`. For more information, see [Cluster query
1134
+ # language][1] in the *Amazon ECS Developer Guide*.
1135
+ #
1136
+ #
1137
+ #
1138
+ # [1]: https://docs.aws.amazon.com/latest/developerguide/cluster-query-language.html
1139
+ # @return [String]
1140
+ #
1141
+ # @!attribute [rw] type
1142
+ # The type of constraint. Use `distinctInstance` to ensure that each
1143
+ # task in a particular group is running on a different container
1144
+ # instance. Use `memberOf` to restrict the selection to a group of
1145
+ # valid candidates.
1146
+ # @return [String]
1147
+ #
1148
+ # @see http://docs.aws.amazon.com/goto/WebAPI/scheduler-2021-06-30/PlacementConstraint AWS API Documentation
1149
+ #
1150
+ class PlacementConstraint < Struct.new(
1151
+ :expression,
1152
+ :type)
1153
+ SENSITIVE = []
1154
+ include Aws::Structure
1155
+ end
1156
+
1157
+ # The task placement strategy for a task or service.
1158
+ #
1159
+ # @note When making an API call, you may pass PlacementStrategy
1160
+ # data as a hash:
1161
+ #
1162
+ # {
1163
+ # field: "PlacementStrategyField",
1164
+ # type: "random", # accepts random, spread, binpack
1165
+ # }
1166
+ #
1167
+ # @!attribute [rw] field
1168
+ # The field to apply the placement strategy against. For the spread
1169
+ # placement strategy, valid values are `instanceId` (or `instanceId`,
1170
+ # which has the same effect), or any platform or custom attribute that
1171
+ # is applied to a container instance, such as
1172
+ # `attribute:ecs.availability-zone`. For the binpack placement
1173
+ # strategy, valid values are `cpu` and `memory`. For the random
1174
+ # placement strategy, this field is not used.
1175
+ # @return [String]
1176
+ #
1177
+ # @!attribute [rw] type
1178
+ # The type of placement strategy. The random placement strategy
1179
+ # randomly places tasks on available candidates. The spread placement
1180
+ # strategy spreads placement across available candidates evenly based
1181
+ # on the field parameter. The binpack strategy places tasks on
1182
+ # available candidates that have the least available amount of the
1183
+ # resource that is specified with the field parameter. For example, if
1184
+ # you binpack on memory, a task is placed on the instance with the
1185
+ # least amount of remaining memory (but still enough to run the task).
1186
+ # @return [String]
1187
+ #
1188
+ # @see http://docs.aws.amazon.com/goto/WebAPI/scheduler-2021-06-30/PlacementStrategy AWS API Documentation
1189
+ #
1190
+ class PlacementStrategy < Struct.new(
1191
+ :field,
1192
+ :type)
1193
+ SENSITIVE = []
1194
+ include Aws::Structure
1195
+ end
1196
+
1197
+ # The request references a resource which does not exist.
1198
+ #
1199
+ # @!attribute [rw] message
1200
+ # @return [String]
1201
+ #
1202
+ # @see http://docs.aws.amazon.com/goto/WebAPI/scheduler-2021-06-30/ResourceNotFoundException AWS API Documentation
1203
+ #
1204
+ class ResourceNotFoundException < Struct.new(
1205
+ :message)
1206
+ SENSITIVE = []
1207
+ include Aws::Structure
1208
+ end
1209
+
1210
+ # A `RetryPolicy` object that includes information about the retry
1211
+ # policy settings, including the maximum age of an event, and the
1212
+ # maximum number of times EventBridge Scheduler will try to deliver the
1213
+ # event to a target.
1214
+ #
1215
+ # @note When making an API call, you may pass RetryPolicy
1216
+ # data as a hash:
1217
+ #
1218
+ # {
1219
+ # maximum_event_age_in_seconds: 1,
1220
+ # maximum_retry_attempts: 1,
1221
+ # }
1222
+ #
1223
+ # @!attribute [rw] maximum_event_age_in_seconds
1224
+ # The maximum amount of time, in seconds, to continue to make retry
1225
+ # attempts.
1226
+ # @return [Integer]
1227
+ #
1228
+ # @!attribute [rw] maximum_retry_attempts
1229
+ # The maximum number of retry attempts to make before the request
1230
+ # fails. Retry attempts with exponential backoff continue until either
1231
+ # the maximum number of attempts is made or until the duration of the
1232
+ # `MaximumEventAgeInSeconds` is reached.
1233
+ # @return [Integer]
1234
+ #
1235
+ # @see http://docs.aws.amazon.com/goto/WebAPI/scheduler-2021-06-30/RetryPolicy AWS API Documentation
1236
+ #
1237
+ class RetryPolicy < Struct.new(
1238
+ :maximum_event_age_in_seconds,
1239
+ :maximum_retry_attempts)
1240
+ SENSITIVE = []
1241
+ include Aws::Structure
1242
+ end
1243
+
1244
+ # The name and value pair of a parameter to use to start execution of a
1245
+ # SageMaker Model Building Pipeline.
1246
+ #
1247
+ # @note When making an API call, you may pass SageMakerPipelineParameter
1248
+ # data as a hash:
1249
+ #
1250
+ # {
1251
+ # name: "SageMakerPipelineParameterName", # required
1252
+ # value: "SageMakerPipelineParameterValue", # required
1253
+ # }
1254
+ #
1255
+ # @!attribute [rw] name
1256
+ # Name of parameter to start execution of a SageMaker Model Building
1257
+ # Pipeline.
1258
+ # @return [String]
1259
+ #
1260
+ # @!attribute [rw] value
1261
+ # Value of parameter to start execution of a SageMaker Model Building
1262
+ # Pipeline.
1263
+ # @return [String]
1264
+ #
1265
+ # @see http://docs.aws.amazon.com/goto/WebAPI/scheduler-2021-06-30/SageMakerPipelineParameter AWS API Documentation
1266
+ #
1267
+ class SageMakerPipelineParameter < Struct.new(
1268
+ :name,
1269
+ :value)
1270
+ SENSITIVE = []
1271
+ include Aws::Structure
1272
+ end
1273
+
1274
+ # The templated target type for the Amazon SageMaker [
1275
+ # `StartPipelineExecution` ][1] API operation.
1276
+ #
1277
+ #
1278
+ #
1279
+ # [1]: https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_StartPipelineExecution.html
1280
+ #
1281
+ # @note When making an API call, you may pass SageMakerPipelineParameters
1282
+ # data as a hash:
1283
+ #
1284
+ # {
1285
+ # pipeline_parameter_list: [
1286
+ # {
1287
+ # name: "SageMakerPipelineParameterName", # required
1288
+ # value: "SageMakerPipelineParameterValue", # required
1289
+ # },
1290
+ # ],
1291
+ # }
1292
+ #
1293
+ # @!attribute [rw] pipeline_parameter_list
1294
+ # List of parameter names and values to use when executing the
1295
+ # SageMaker Model Building Pipeline.
1296
+ # @return [Array<Types::SageMakerPipelineParameter>]
1297
+ #
1298
+ # @see http://docs.aws.amazon.com/goto/WebAPI/scheduler-2021-06-30/SageMakerPipelineParameters AWS API Documentation
1299
+ #
1300
+ class SageMakerPipelineParameters < Struct.new(
1301
+ :pipeline_parameter_list)
1302
+ SENSITIVE = []
1303
+ include Aws::Structure
1304
+ end
1305
+
1306
+ # The details of a schedule group.
1307
+ #
1308
+ # @!attribute [rw] arn
1309
+ # The Amazon Resource Name (ARN) of the schedule group.
1310
+ # @return [String]
1311
+ #
1312
+ # @!attribute [rw] creation_date
1313
+ # The time at which the schedule group was created.
1314
+ # @return [Time]
1315
+ #
1316
+ # @!attribute [rw] last_modification_date
1317
+ # The time at which the schedule group was last modified.
1318
+ # @return [Time]
1319
+ #
1320
+ # @!attribute [rw] name
1321
+ # The name of the schedule group.
1322
+ # @return [String]
1323
+ #
1324
+ # @!attribute [rw] state
1325
+ # Specifies the state of the schedule group.
1326
+ # @return [String]
1327
+ #
1328
+ # @see http://docs.aws.amazon.com/goto/WebAPI/scheduler-2021-06-30/ScheduleGroupSummary AWS API Documentation
1329
+ #
1330
+ class ScheduleGroupSummary < Struct.new(
1331
+ :arn,
1332
+ :creation_date,
1333
+ :last_modification_date,
1334
+ :name,
1335
+ :state)
1336
+ SENSITIVE = []
1337
+ include Aws::Structure
1338
+ end
1339
+
1340
+ # The details of a schedule.
1341
+ #
1342
+ # @!attribute [rw] arn
1343
+ # The Amazon Resource Name (ARN) of the schedule.
1344
+ # @return [String]
1345
+ #
1346
+ # @!attribute [rw] creation_date
1347
+ # The time at which the schedule was created.
1348
+ # @return [Time]
1349
+ #
1350
+ # @!attribute [rw] group_name
1351
+ # The name of the schedule group associated with this schedule.
1352
+ # @return [String]
1353
+ #
1354
+ # @!attribute [rw] last_modification_date
1355
+ # The time at which the schedule was last modified.
1356
+ # @return [Time]
1357
+ #
1358
+ # @!attribute [rw] name
1359
+ # The name of the schedule.
1360
+ # @return [String]
1361
+ #
1362
+ # @!attribute [rw] state
1363
+ # Specifies whether the schedule is enabled or disabled.
1364
+ # @return [String]
1365
+ #
1366
+ # @!attribute [rw] target
1367
+ # The schedule's target details.
1368
+ # @return [Types::TargetSummary]
1369
+ #
1370
+ # @see http://docs.aws.amazon.com/goto/WebAPI/scheduler-2021-06-30/ScheduleSummary AWS API Documentation
1371
+ #
1372
+ class ScheduleSummary < Struct.new(
1373
+ :arn,
1374
+ :creation_date,
1375
+ :group_name,
1376
+ :last_modification_date,
1377
+ :name,
1378
+ :state,
1379
+ :target)
1380
+ SENSITIVE = []
1381
+ include Aws::Structure
1382
+ end
1383
+
1384
+ # The request exceeds a service quota.
1385
+ #
1386
+ # @!attribute [rw] message
1387
+ # @return [String]
1388
+ #
1389
+ # @see http://docs.aws.amazon.com/goto/WebAPI/scheduler-2021-06-30/ServiceQuotaExceededException AWS API Documentation
1390
+ #
1391
+ class ServiceQuotaExceededException < Struct.new(
1392
+ :message)
1393
+ SENSITIVE = []
1394
+ include Aws::Structure
1395
+ end
1396
+
1397
+ # The templated target type for the Amazon SQS [ `SendMessage` ][1] API
1398
+ # operation. Contains the message group ID to use when the target is a
1399
+ # FIFO queue. If you specify an Amazon SQS FIFO queue as a target, the
1400
+ # queue must have content-based deduplication enabled. For more
1401
+ # information, see [Using the Amazon SQS message deduplication ID][2] in
1402
+ # the *Amazon SQS Developer Guide*.
1403
+ #
1404
+ #
1405
+ #
1406
+ # [1]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_SendMessage.html
1407
+ # [2]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/using-messagededuplicationid-property.html
1408
+ #
1409
+ # @note When making an API call, you may pass SqsParameters
1410
+ # data as a hash:
1411
+ #
1412
+ # {
1413
+ # message_group_id: "MessageGroupId",
1414
+ # }
1415
+ #
1416
+ # @!attribute [rw] message_group_id
1417
+ # The FIFO message group ID to use as the target.
1418
+ # @return [String]
1419
+ #
1420
+ # @see http://docs.aws.amazon.com/goto/WebAPI/scheduler-2021-06-30/SqsParameters AWS API Documentation
1421
+ #
1422
+ class SqsParameters < Struct.new(
1423
+ :message_group_id)
1424
+ SENSITIVE = []
1425
+ include Aws::Structure
1426
+ end
1427
+
1428
+ # Tag to associate with a schedule group.
1429
+ #
1430
+ # @note When making an API call, you may pass Tag
1431
+ # data as a hash:
1432
+ #
1433
+ # {
1434
+ # key: "TagKey", # required
1435
+ # value: "TagValue", # required
1436
+ # }
1437
+ #
1438
+ # @!attribute [rw] key
1439
+ # The key for the tag.
1440
+ # @return [String]
1441
+ #
1442
+ # @!attribute [rw] value
1443
+ # The value for the tag.
1444
+ # @return [String]
1445
+ #
1446
+ # @see http://docs.aws.amazon.com/goto/WebAPI/scheduler-2021-06-30/Tag AWS API Documentation
1447
+ #
1448
+ class Tag < Struct.new(
1449
+ :key,
1450
+ :value)
1451
+ SENSITIVE = []
1452
+ include Aws::Structure
1453
+ end
1454
+
1455
+ # @note When making an API call, you may pass TagResourceInput
1456
+ # data as a hash:
1457
+ #
1458
+ # {
1459
+ # resource_arn: "TagResourceArn", # required
1460
+ # tags: [ # required
1461
+ # {
1462
+ # key: "TagKey", # required
1463
+ # value: "TagValue", # required
1464
+ # },
1465
+ # ],
1466
+ # }
1467
+ #
1468
+ # @!attribute [rw] resource_arn
1469
+ # The Amazon Resource Name (ARN) of the schedule group that you are
1470
+ # adding tags to.
1471
+ # @return [String]
1472
+ #
1473
+ # @!attribute [rw] tags
1474
+ # The list of tags to associate with the schedule group.
1475
+ # @return [Array<Types::Tag>]
1476
+ #
1477
+ # @see http://docs.aws.amazon.com/goto/WebAPI/scheduler-2021-06-30/TagResourceInput AWS API Documentation
1478
+ #
1479
+ class TagResourceInput < Struct.new(
1480
+ :resource_arn,
1481
+ :tags)
1482
+ SENSITIVE = []
1483
+ include Aws::Structure
1484
+ end
1485
+
1486
+ # @see http://docs.aws.amazon.com/goto/WebAPI/scheduler-2021-06-30/TagResourceOutput AWS API Documentation
1487
+ #
1488
+ class TagResourceOutput < Aws::EmptyStructure; end
1489
+
1490
+ # The schedule's target. EventBridge Scheduler supports templated
1491
+ # target that invoke common API operations, as well as universal targets
1492
+ # that you can customize to invoke over 6,000 API operations across more
1493
+ # than 270 services. You can only specify one templated or universal
1494
+ # target for a schedule.
1495
+ #
1496
+ # @note When making an API call, you may pass Target
1497
+ # data as a hash:
1498
+ #
1499
+ # {
1500
+ # arn: "TargetArn", # required
1501
+ # dead_letter_config: {
1502
+ # arn: "DeadLetterConfigArnString",
1503
+ # },
1504
+ # ecs_parameters: {
1505
+ # capacity_provider_strategy: [
1506
+ # {
1507
+ # base: 1,
1508
+ # capacity_provider: "CapacityProvider", # required
1509
+ # weight: 1,
1510
+ # },
1511
+ # ],
1512
+ # enable_ecs_managed_tags: false,
1513
+ # enable_execute_command: false,
1514
+ # group: "Group",
1515
+ # launch_type: "EC2", # accepts EC2, FARGATE, EXTERNAL
1516
+ # network_configuration: {
1517
+ # awsvpc_configuration: {
1518
+ # assign_public_ip: "ENABLED", # accepts ENABLED, DISABLED
1519
+ # security_groups: ["SecurityGroup"],
1520
+ # subnets: ["Subnet"], # required
1521
+ # },
1522
+ # },
1523
+ # placement_constraints: [
1524
+ # {
1525
+ # expression: "PlacementConstraintExpression",
1526
+ # type: "distinctInstance", # accepts distinctInstance, memberOf
1527
+ # },
1528
+ # ],
1529
+ # placement_strategy: [
1530
+ # {
1531
+ # field: "PlacementStrategyField",
1532
+ # type: "random", # accepts random, spread, binpack
1533
+ # },
1534
+ # ],
1535
+ # platform_version: "PlatformVersion",
1536
+ # propagate_tags: "TASK_DEFINITION", # accepts TASK_DEFINITION
1537
+ # reference_id: "ReferenceId",
1538
+ # tags: [
1539
+ # {
1540
+ # "TagKey" => "TagValue",
1541
+ # },
1542
+ # ],
1543
+ # task_count: 1,
1544
+ # task_definition_arn: "TaskDefinitionArn", # required
1545
+ # },
1546
+ # event_bridge_parameters: {
1547
+ # detail_type: "DetailType", # required
1548
+ # source: "Source", # required
1549
+ # },
1550
+ # input: "TargetInput",
1551
+ # kinesis_parameters: {
1552
+ # partition_key: "TargetPartitionKey", # required
1553
+ # },
1554
+ # retry_policy: {
1555
+ # maximum_event_age_in_seconds: 1,
1556
+ # maximum_retry_attempts: 1,
1557
+ # },
1558
+ # role_arn: "RoleArn", # required
1559
+ # sage_maker_pipeline_parameters: {
1560
+ # pipeline_parameter_list: [
1561
+ # {
1562
+ # name: "SageMakerPipelineParameterName", # required
1563
+ # value: "SageMakerPipelineParameterValue", # required
1564
+ # },
1565
+ # ],
1566
+ # },
1567
+ # sqs_parameters: {
1568
+ # message_group_id: "MessageGroupId",
1569
+ # },
1570
+ # }
1571
+ #
1572
+ # @!attribute [rw] arn
1573
+ # The Amazon Resource Name (ARN) of the target.
1574
+ # @return [String]
1575
+ #
1576
+ # @!attribute [rw] dead_letter_config
1577
+ # An object that contains information about an Amazon SQS queue that
1578
+ # EventBridge Scheduler uses as a dead-letter queue for your schedule.
1579
+ # If specified, EventBridge Scheduler delivers failed events that
1580
+ # could not be successfully delivered to a target to the queue.
1581
+ # @return [Types::DeadLetterConfig]
1582
+ #
1583
+ # @!attribute [rw] ecs_parameters
1584
+ # The templated target type for the Amazon ECS [ `RunTask` ][1] API
1585
+ # operation.
1586
+ #
1587
+ #
1588
+ #
1589
+ # [1]: https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_RunTask.html
1590
+ # @return [Types::EcsParameters]
1591
+ #
1592
+ # @!attribute [rw] event_bridge_parameters
1593
+ # The templated target type for the EventBridge [ `PutEvents` ][1] API
1594
+ # operation.
1595
+ #
1596
+ #
1597
+ #
1598
+ # [1]: https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_PutEvents.html
1599
+ # @return [Types::EventBridgeParameters]
1600
+ #
1601
+ # @!attribute [rw] input
1602
+ # The text, or well-formed JSON, passed to the target. If you are
1603
+ # configuring a templated Lambda, AWS Step Functions, or Amazon
1604
+ # EventBridge target, the input must be a well-formed JSON. For all
1605
+ # other target types, a JSON is not required. If you do not specify
1606
+ # anything for this field, EventBridge Scheduler delivers a default
1607
+ # notification to the target.
1608
+ # @return [String]
1609
+ #
1610
+ # @!attribute [rw] kinesis_parameters
1611
+ # The templated target type for the Amazon Kinesis [ `PutRecord`
1612
+ # ](kinesis/latest/APIReference/API_PutRecord.html) API operation.
1613
+ # @return [Types::KinesisParameters]
1614
+ #
1615
+ # @!attribute [rw] retry_policy
1616
+ # A `RetryPolicy` object that includes information about the retry
1617
+ # policy settings, including the maximum age of an event, and the
1618
+ # maximum number of times EventBridge Scheduler will try to deliver
1619
+ # the event to a target.
1620
+ # @return [Types::RetryPolicy]
1621
+ #
1622
+ # @!attribute [rw] role_arn
1623
+ # The Amazon Resource Name (ARN) of the IAM role that EventBridge
1624
+ # Scheduler will use for this target when the schedule is invoked.
1625
+ # @return [String]
1626
+ #
1627
+ # @!attribute [rw] sage_maker_pipeline_parameters
1628
+ # The templated target type for the Amazon SageMaker [
1629
+ # `StartPipelineExecution` ][1] API operation.
1630
+ #
1631
+ #
1632
+ #
1633
+ # [1]: https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_StartPipelineExecution.html
1634
+ # @return [Types::SageMakerPipelineParameters]
1635
+ #
1636
+ # @!attribute [rw] sqs_parameters
1637
+ # The templated target type for the Amazon SQS [ `SendMessage` ][1]
1638
+ # API operation. Contains the message group ID to use when the target
1639
+ # is a FIFO queue. If you specify an Amazon SQS FIFO queue as a
1640
+ # target, the queue must have content-based deduplication enabled. For
1641
+ # more information, see [Using the Amazon SQS message deduplication
1642
+ # ID][2] in the *Amazon SQS Developer Guide*.
1643
+ #
1644
+ #
1645
+ #
1646
+ # [1]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_SendMessage.html
1647
+ # [2]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/using-messagededuplicationid-property.html
1648
+ # @return [Types::SqsParameters]
1649
+ #
1650
+ # @see http://docs.aws.amazon.com/goto/WebAPI/scheduler-2021-06-30/Target AWS API Documentation
1651
+ #
1652
+ class Target < Struct.new(
1653
+ :arn,
1654
+ :dead_letter_config,
1655
+ :ecs_parameters,
1656
+ :event_bridge_parameters,
1657
+ :input,
1658
+ :kinesis_parameters,
1659
+ :retry_policy,
1660
+ :role_arn,
1661
+ :sage_maker_pipeline_parameters,
1662
+ :sqs_parameters)
1663
+ SENSITIVE = []
1664
+ include Aws::Structure
1665
+ end
1666
+
1667
+ # The details of a target.
1668
+ #
1669
+ # @!attribute [rw] arn
1670
+ # The Amazon Resource Name (ARN) of the target.
1671
+ # @return [String]
1672
+ #
1673
+ # @see http://docs.aws.amazon.com/goto/WebAPI/scheduler-2021-06-30/TargetSummary AWS API Documentation
1674
+ #
1675
+ class TargetSummary < Struct.new(
1676
+ :arn)
1677
+ SENSITIVE = []
1678
+ include Aws::Structure
1679
+ end
1680
+
1681
+ # The request was denied due to request throttling.
1682
+ #
1683
+ # @!attribute [rw] message
1684
+ # @return [String]
1685
+ #
1686
+ # @see http://docs.aws.amazon.com/goto/WebAPI/scheduler-2021-06-30/ThrottlingException AWS API Documentation
1687
+ #
1688
+ class ThrottlingException < Struct.new(
1689
+ :message)
1690
+ SENSITIVE = []
1691
+ include Aws::Structure
1692
+ end
1693
+
1694
+ # @note When making an API call, you may pass UntagResourceInput
1695
+ # data as a hash:
1696
+ #
1697
+ # {
1698
+ # resource_arn: "TagResourceArn", # required
1699
+ # tag_keys: ["TagKey"], # required
1700
+ # }
1701
+ #
1702
+ # @!attribute [rw] resource_arn
1703
+ # The Amazon Resource Name (ARN) of the schedule group from which you
1704
+ # are removing tags.
1705
+ # @return [String]
1706
+ #
1707
+ # @!attribute [rw] tag_keys
1708
+ # The list of tag keys to remove from the resource.
1709
+ # @return [Array<String>]
1710
+ #
1711
+ # @see http://docs.aws.amazon.com/goto/WebAPI/scheduler-2021-06-30/UntagResourceInput AWS API Documentation
1712
+ #
1713
+ class UntagResourceInput < Struct.new(
1714
+ :resource_arn,
1715
+ :tag_keys)
1716
+ SENSITIVE = []
1717
+ include Aws::Structure
1718
+ end
1719
+
1720
+ # @see http://docs.aws.amazon.com/goto/WebAPI/scheduler-2021-06-30/UntagResourceOutput AWS API Documentation
1721
+ #
1722
+ class UntagResourceOutput < Aws::EmptyStructure; end
1723
+
1724
+ # @note When making an API call, you may pass UpdateScheduleInput
1725
+ # data as a hash:
1726
+ #
1727
+ # {
1728
+ # client_token: "ClientToken",
1729
+ # description: "Description",
1730
+ # end_date: Time.now,
1731
+ # flexible_time_window: { # required
1732
+ # maximum_window_in_minutes: 1,
1733
+ # mode: "OFF", # required, accepts OFF, FLEXIBLE
1734
+ # },
1735
+ # group_name: "ScheduleGroupName",
1736
+ # kms_key_arn: "KmsKeyArn",
1737
+ # name: "Name", # required
1738
+ # schedule_expression: "ScheduleExpression", # required
1739
+ # schedule_expression_timezone: "ScheduleExpressionTimezone",
1740
+ # start_date: Time.now,
1741
+ # state: "ENABLED", # accepts ENABLED, DISABLED
1742
+ # target: { # required
1743
+ # arn: "TargetArn", # required
1744
+ # dead_letter_config: {
1745
+ # arn: "DeadLetterConfigArnString",
1746
+ # },
1747
+ # ecs_parameters: {
1748
+ # capacity_provider_strategy: [
1749
+ # {
1750
+ # base: 1,
1751
+ # capacity_provider: "CapacityProvider", # required
1752
+ # weight: 1,
1753
+ # },
1754
+ # ],
1755
+ # enable_ecs_managed_tags: false,
1756
+ # enable_execute_command: false,
1757
+ # group: "Group",
1758
+ # launch_type: "EC2", # accepts EC2, FARGATE, EXTERNAL
1759
+ # network_configuration: {
1760
+ # awsvpc_configuration: {
1761
+ # assign_public_ip: "ENABLED", # accepts ENABLED, DISABLED
1762
+ # security_groups: ["SecurityGroup"],
1763
+ # subnets: ["Subnet"], # required
1764
+ # },
1765
+ # },
1766
+ # placement_constraints: [
1767
+ # {
1768
+ # expression: "PlacementConstraintExpression",
1769
+ # type: "distinctInstance", # accepts distinctInstance, memberOf
1770
+ # },
1771
+ # ],
1772
+ # placement_strategy: [
1773
+ # {
1774
+ # field: "PlacementStrategyField",
1775
+ # type: "random", # accepts random, spread, binpack
1776
+ # },
1777
+ # ],
1778
+ # platform_version: "PlatformVersion",
1779
+ # propagate_tags: "TASK_DEFINITION", # accepts TASK_DEFINITION
1780
+ # reference_id: "ReferenceId",
1781
+ # tags: [
1782
+ # {
1783
+ # "TagKey" => "TagValue",
1784
+ # },
1785
+ # ],
1786
+ # task_count: 1,
1787
+ # task_definition_arn: "TaskDefinitionArn", # required
1788
+ # },
1789
+ # event_bridge_parameters: {
1790
+ # detail_type: "DetailType", # required
1791
+ # source: "Source", # required
1792
+ # },
1793
+ # input: "TargetInput",
1794
+ # kinesis_parameters: {
1795
+ # partition_key: "TargetPartitionKey", # required
1796
+ # },
1797
+ # retry_policy: {
1798
+ # maximum_event_age_in_seconds: 1,
1799
+ # maximum_retry_attempts: 1,
1800
+ # },
1801
+ # role_arn: "RoleArn", # required
1802
+ # sage_maker_pipeline_parameters: {
1803
+ # pipeline_parameter_list: [
1804
+ # {
1805
+ # name: "SageMakerPipelineParameterName", # required
1806
+ # value: "SageMakerPipelineParameterValue", # required
1807
+ # },
1808
+ # ],
1809
+ # },
1810
+ # sqs_parameters: {
1811
+ # message_group_id: "MessageGroupId",
1812
+ # },
1813
+ # },
1814
+ # }
1815
+ #
1816
+ # @!attribute [rw] client_token
1817
+ # Unique, case-sensitive identifier you provide to ensure the
1818
+ # idempotency of the request. If you do not specify a client token,
1819
+ # EventBridge Scheduler uses a randomly generated token for the
1820
+ # request to ensure idempotency.
1821
+ #
1822
+ # **A suitable default value is auto-generated.** You should normally
1823
+ # not need to pass this option.
1824
+ # @return [String]
1825
+ #
1826
+ # @!attribute [rw] description
1827
+ # The description you specify for the schedule.
1828
+ # @return [String]
1829
+ #
1830
+ # @!attribute [rw] end_date
1831
+ # The date, in UTC, before which the schedule can invoke its target.
1832
+ # Depending on the schedule's recurrence expression, invocations
1833
+ # might stop on, or before, the `EndDate` you specify. EventBridge
1834
+ # Scheduler ignores `EndDate` for one-time schedules.
1835
+ # @return [Time]
1836
+ #
1837
+ # @!attribute [rw] flexible_time_window
1838
+ # Allows you to configure a time window during which EventBridge
1839
+ # Scheduler invokes the schedule.
1840
+ # @return [Types::FlexibleTimeWindow]
1841
+ #
1842
+ # @!attribute [rw] group_name
1843
+ # The name of the schedule group with which the schedule is
1844
+ # associated. You must provide this value in order for EventBridge
1845
+ # Scheduler to find the schedule you want to update. If you omit this
1846
+ # value, EventBridge Scheduler assumes the group is associated to the
1847
+ # default group.
1848
+ # @return [String]
1849
+ #
1850
+ # @!attribute [rw] kms_key_arn
1851
+ # The ARN for the customer managed KMS key that that you want
1852
+ # EventBridge Scheduler to use to encrypt and decrypt your data.
1853
+ # @return [String]
1854
+ #
1855
+ # @!attribute [rw] name
1856
+ # The name of the schedule that you are updating.
1857
+ # @return [String]
1858
+ #
1859
+ # @!attribute [rw] schedule_expression
1860
+ # The expression that defines when the schedule runs. The following
1861
+ # formats are supported.
1862
+ #
1863
+ # * `at` expression - `at(yyyy-mm-ddThh:mm:ss)`
1864
+ #
1865
+ # * `rate` expression - `rate(unit value)`
1866
+ #
1867
+ # * `cron` expression - `cron(fields)`
1868
+ #
1869
+ # You can use `at` expressions to create one-time schedules that
1870
+ # invoke a target once, at the time and in the time zone, that you
1871
+ # specify. You can use `rate` and `cron` expressions to create
1872
+ # recurring schedules. Rate-based schedules are useful when you want
1873
+ # to invoke a target at regular intervals, such as every 15 minutes or
1874
+ # every five days. Cron-based schedules are useful when you want to
1875
+ # invoke a target periodically at a specific time, such as at 8:00 am
1876
+ # (UTC+0) every 1st day of the month.
1877
+ #
1878
+ # A `cron` expression consists of six fields separated by white
1879
+ # spaces: `(minutes hours day_of_month month day_of_week year)`.
1880
+ #
1881
+ # A `rate` expression consists of a *value* as a positive integer, and
1882
+ # a *unit* with the following options: `minute` \| `minutes` \| `hour`
1883
+ # \| `hours` \| `day` \| `days`
1884
+ #
1885
+ # For more information and examples, see [Schedule types on
1886
+ # EventBridge Scheduler][1] in the *EventBridge Scheduler User Guide*.
1887
+ #
1888
+ #
1889
+ #
1890
+ # [1]: https://docs.aws.amazon.com/scheduler/latest/UserGuide/schedule-types.html
1891
+ # @return [String]
1892
+ #
1893
+ # @!attribute [rw] schedule_expression_timezone
1894
+ # The timezone in which the scheduling expression is evaluated.
1895
+ # @return [String]
1896
+ #
1897
+ # @!attribute [rw] start_date
1898
+ # The date, in UTC, after which the schedule can begin invoking its
1899
+ # target. Depending on the schedule's recurrence expression,
1900
+ # invocations might occur on, or after, the `StartDate` you specify.
1901
+ # EventBridge Scheduler ignores `StartDate` for one-time schedules.
1902
+ # @return [Time]
1903
+ #
1904
+ # @!attribute [rw] state
1905
+ # Specifies whether the schedule is enabled or disabled.
1906
+ # @return [String]
1907
+ #
1908
+ # @!attribute [rw] target
1909
+ # The schedule target. You can use this operation to change the target
1910
+ # that your schedule invokes.
1911
+ # @return [Types::Target]
1912
+ #
1913
+ # @see http://docs.aws.amazon.com/goto/WebAPI/scheduler-2021-06-30/UpdateScheduleInput AWS API Documentation
1914
+ #
1915
+ class UpdateScheduleInput < Struct.new(
1916
+ :client_token,
1917
+ :description,
1918
+ :end_date,
1919
+ :flexible_time_window,
1920
+ :group_name,
1921
+ :kms_key_arn,
1922
+ :name,
1923
+ :schedule_expression,
1924
+ :schedule_expression_timezone,
1925
+ :start_date,
1926
+ :state,
1927
+ :target)
1928
+ SENSITIVE = []
1929
+ include Aws::Structure
1930
+ end
1931
+
1932
+ # @!attribute [rw] schedule_arn
1933
+ # The Amazon Resource Name (ARN) of the schedule that you updated.
1934
+ # @return [String]
1935
+ #
1936
+ # @see http://docs.aws.amazon.com/goto/WebAPI/scheduler-2021-06-30/UpdateScheduleOutput AWS API Documentation
1937
+ #
1938
+ class UpdateScheduleOutput < Struct.new(
1939
+ :schedule_arn)
1940
+ SENSITIVE = []
1941
+ include Aws::Structure
1942
+ end
1943
+
1944
+ # The input fails to satisfy the constraints specified by an AWS
1945
+ # service.
1946
+ #
1947
+ # @!attribute [rw] message
1948
+ # @return [String]
1949
+ #
1950
+ # @see http://docs.aws.amazon.com/goto/WebAPI/scheduler-2021-06-30/ValidationException AWS API Documentation
1951
+ #
1952
+ class ValidationException < Struct.new(
1953
+ :message)
1954
+ SENSITIVE = []
1955
+ include Aws::Structure
1956
+ end
1957
+
1958
+ end
1959
+ end