# frozen_string_literal: true
# WARNING ABOUT GENERATED CODE
#
# This file is generated. See the contributing guide for more information:
# https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
#
# WARNING ABOUT GENERATED CODE
module Aws::Scheduler
module Types
# 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.
#
# @!attribute [rw] assign_public_ip
# 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`.
# @return [String]
#
# @!attribute [rw] security_groups
# 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.
# @return [Array<String>]
#
# @!attribute [rw] subnets
# Specifies the subnets associated with the task. These subnets must
# all be in the same VPC. You can specify as many as 16 subnets.
# @return [Array<String>]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/scheduler-2021-06-30/AwsVpcConfiguration AWS API Documentation
#
class AwsVpcConfiguration < Struct.new(
:assign_public_ip,
:security_groups,
:subnets)
SENSITIVE = []
include Aws::Structure
end
# The details of a capacity provider strategy.
#
# @!attribute [rw] base
# 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.
# @return [Integer]
#
# @!attribute [rw] capacity_provider
# The short name of the capacity provider.
# @return [String]
#
# @!attribute [rw] weight
# 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.
# @return [Integer]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/scheduler-2021-06-30/CapacityProviderStrategyItem AWS API Documentation
#
class CapacityProviderStrategyItem < Struct.new(
:base,
:capacity_provider,
:weight)
SENSITIVE = []
include Aws::Structure
end
# Updating or deleting the resource can cause an inconsistent state.
#
# @!attribute [rw] message
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/scheduler-2021-06-30/ConflictException AWS API Documentation
#
class ConflictException < Struct.new(
:message)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] client_token
# Unique, case-sensitive identifier you provide to ensure the
# idempotency of the request. If you do not specify a client token,
# EventBridge Scheduler uses a randomly generated token for the
# request to ensure idempotency.
#
# **A suitable default value is auto-generated.** You should normally
# not need to pass this option.
# @return [String]
#
# @!attribute [rw] name
# The name of the schedule group that you are creating.
# @return [String]
#
# @!attribute [rw] tags
# The list of tags to associate with the schedule group.
# @return [Array<Types::Tag>]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/scheduler-2021-06-30/CreateScheduleGroupInput AWS API Documentation
#
class CreateScheduleGroupInput < Struct.new(
:client_token,
:name,
:tags)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] schedule_group_arn
# The Amazon Resource Name (ARN) of the schedule group.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/scheduler-2021-06-30/CreateScheduleGroupOutput AWS API Documentation
#
class CreateScheduleGroupOutput < Struct.new(
:schedule_group_arn)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] action_after_completion
# Specifies the action that EventBridge Scheduler applies to the
# schedule after the schedule completes invoking the target.
# @return [String]
#
# @!attribute [rw] client_token
# Unique, case-sensitive identifier you provide to ensure the
# idempotency of the request. If you do not specify a client token,
# EventBridge Scheduler uses a randomly generated token for the
# request to ensure idempotency.
#
# **A suitable default value is auto-generated.** You should normally
# not need to pass this option.
# @return [String]
#
# @!attribute [rw] description
# The description you specify for the schedule.
# @return [String]
#
# @!attribute [rw] end_date
# The date, in UTC, before which the schedule can invoke its target.
# Depending on the schedule's recurrence expression, invocations
# might stop on, or before, the `EndDate` you specify. EventBridge
# Scheduler ignores `EndDate` for one-time schedules.
# @return [Time]
#
# @!attribute [rw] flexible_time_window
# Allows you to configure a time window during which EventBridge
# Scheduler invokes the schedule.
# @return [Types::FlexibleTimeWindow]
#
# @!attribute [rw] group_name
# The name of the schedule group to associate with this schedule. If
# you omit this, the default schedule group is used.
# @return [String]
#
# @!attribute [rw] kms_key_arn
# The Amazon Resource Name (ARN) for the customer managed KMS key that
# EventBridge Scheduler will use to encrypt and decrypt your data.
# @return [String]
#
# @!attribute [rw] name
# The name of the schedule that you are creating.
# @return [String]
#
# @!attribute [rw] schedule_expression
# The expression that defines when the schedule runs. The following
# formats are supported.
#
# * `at` expression - `at(yyyy-mm-ddThh:mm:ss)`
#
# * `rate` expression - `rate(value unit)`
#
# * `cron` expression - `cron(fields)`
#
# You can use `at` expressions to create one-time schedules that
# invoke a target once, at the time and in the time zone, that you
# specify. You can use `rate` and `cron` expressions to create
# recurring schedules. Rate-based schedules are useful when you want
# to invoke a target at regular intervals, such as every 15 minutes or
# every five days. Cron-based schedules are useful when you want to
# invoke a target periodically at a specific time, such as at 8:00 am
# (UTC+0) every 1st day of the month.
#
# A `cron` expression consists of six fields separated by white
# spaces: `(minutes hours day_of_month month day_of_week year)`.
#
# A `rate` expression consists of a *value* as a positive integer, and
# a *unit* with the following options: `minute` \| `minutes` \| `hour`
# \| `hours` \| `day` \| `days`
#
# For more information and examples, see [Schedule types on
# EventBridge Scheduler][1] in the *EventBridge Scheduler User Guide*.
#
#
#
# [1]: https://docs.aws.amazon.com/scheduler/latest/UserGuide/schedule-types.html
# @return [String]
#
# @!attribute [rw] schedule_expression_timezone
# The timezone in which the scheduling expression is evaluated.
# @return [String]
#
# @!attribute [rw] start_date
# The date, in UTC, after which the schedule can begin invoking its
# target. Depending on the schedule's recurrence expression,
# invocations might occur on, or after, the `StartDate` you specify.
# EventBridge Scheduler ignores `StartDate` for one-time schedules.
# @return [Time]
#
# @!attribute [rw] state
# Specifies whether the schedule is enabled or disabled.
# @return [String]
#
# @!attribute [rw] target
# The schedule's target.
# @return [Types::Target]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/scheduler-2021-06-30/CreateScheduleInput AWS API Documentation
#
class CreateScheduleInput < Struct.new(
:action_after_completion,
:client_token,
:description,
:end_date,
:flexible_time_window,
:group_name,
:kms_key_arn,
:name,
:schedule_expression,
:schedule_expression_timezone,
:start_date,
:state,
:target)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] schedule_arn
# The Amazon Resource Name (ARN) of the schedule.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/scheduler-2021-06-30/CreateScheduleOutput AWS API Documentation
#
class CreateScheduleOutput < Struct.new(
:schedule_arn)
SENSITIVE = []
include Aws::Structure
end
# 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.
#
# @!attribute [rw] arn
# The Amazon Resource Name (ARN) of the SQS queue specified as the
# destination for the dead-letter queue.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/scheduler-2021-06-30/DeadLetterConfig AWS API Documentation
#
class DeadLetterConfig < Struct.new(
:arn)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] client_token
# Unique, case-sensitive identifier you provide to ensure the
# idempotency of the request. If you do not specify a client token,
# EventBridge Scheduler uses a randomly generated token for the
# request to ensure idempotency.
#
# **A suitable default value is auto-generated.** You should normally
# not need to pass this option.
# @return [String]
#
# @!attribute [rw] name
# The name of the schedule group to delete.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/scheduler-2021-06-30/DeleteScheduleGroupInput AWS API Documentation
#
class DeleteScheduleGroupInput < Struct.new(
:client_token,
:name)
SENSITIVE = []
include Aws::Structure
end
# @see http://docs.aws.amazon.com/goto/WebAPI/scheduler-2021-06-30/DeleteScheduleGroupOutput AWS API Documentation
#
class DeleteScheduleGroupOutput < Aws::EmptyStructure; end
# @!attribute [rw] client_token
# Unique, case-sensitive identifier you provide to ensure the
# idempotency of the request. If you do not specify a client token,
# EventBridge Scheduler uses a randomly generated token for the
# request to ensure idempotency.
#
# **A suitable default value is auto-generated.** You should normally
# not need to pass this option.
# @return [String]
#
# @!attribute [rw] group_name
# The name of the schedule group associated with this schedule. If you
# omit this, the default schedule group is used.
# @return [String]
#
# @!attribute [rw] name
# The name of the schedule to delete.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/scheduler-2021-06-30/DeleteScheduleInput AWS API Documentation
#
class DeleteScheduleInput < Struct.new(
:client_token,
:group_name,
:name)
SENSITIVE = []
include Aws::Structure
end
# @see http://docs.aws.amazon.com/goto/WebAPI/scheduler-2021-06-30/DeleteScheduleOutput AWS API Documentation
#
class DeleteScheduleOutput < Aws::EmptyStructure; end
# The templated target type for the Amazon ECS [ `RunTask` ][1] API
# operation.
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_RunTask.html
#
# @!attribute [rw] capacity_provider_strategy
# The capacity provider strategy to use for the task.
# @return [Array<Types::CapacityProviderStrategyItem>]
#
# @!attribute [rw] enable_ecs_managed_tags
# Specifies whether to enable Amazon ECS managed tags for the task.
# For more information, see [Tagging Your Amazon ECS Resources][1] in
# the *Amazon ECS Developer Guide*.
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-using-tags.html
# @return [Boolean]
#
# @!attribute [rw] enable_execute_command
# 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.
# @return [Boolean]
#
# @!attribute [rw] group
# Specifies an ECS task group for the task. The maximum length is 255
# characters.
# @return [String]
#
# @!attribute [rw] launch_type
# 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][1]
# in the *Amazon ECS Developer Guide*.
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/AWS_Fargate.html
# @return [String]
#
# @!attribute [rw] network_configuration
# This structure specifies the network configuration for an ECS task.
# @return [Types::NetworkConfiguration]
#
# @!attribute [rw] placement_constraints
# 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).
# @return [Array<Types::PlacementConstraint>]
#
# @!attribute [rw] placement_strategy
# The task placement strategy for a task or service.
# @return [Array<Types::PlacementStrategy>]
#
# @!attribute [rw] platform_version
# Specifies the platform version for the task. Specify only the
# numeric portion of the platform version, such as `1.1.0`.
# @return [String]
#
# @!attribute [rw] propagate_tags
# 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` ][1] API action.
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_TagResource.html
# @return [String]
#
# @!attribute [rw] reference_id
# The reference ID to use for the task.
# @return [String]
#
# @!attribute [rw] tags
# 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` ][1]
# in the *Amazon ECS API Reference*.
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_RunTask.html
# @return [Array<Hash<String,String>>]
#
# @!attribute [rw] task_count
# The number of tasks to create based on `TaskDefinition`. The default
# is `1`.
# @return [Integer]
#
# @!attribute [rw] task_definition_arn
# The Amazon Resource Name (ARN) of the task definition to use if the
# event target is an Amazon ECS task.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/scheduler-2021-06-30/EcsParameters AWS API Documentation
#
class EcsParameters < Struct.new(
:capacity_provider_strategy,
:enable_ecs_managed_tags,
:enable_execute_command,
:group,
:launch_type,
:network_configuration,
:placement_constraints,
:placement_strategy,
:platform_version,
:propagate_tags,
:reference_id,
:tags,
:task_count,
:task_definition_arn)
SENSITIVE = []
include Aws::Structure
end
# The templated target type for the EventBridge [ `PutEvents` ][1] API
# operation.
#
#
#
# [1]: https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_PutEvents.html
#
# @!attribute [rw] detail_type
# A free-form string, with a maximum of 128 characters, used to decide
# what fields to expect in the event detail.
# @return [String]
#
# @!attribute [rw] source
# The source of the event.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/scheduler-2021-06-30/EventBridgeParameters AWS API Documentation
#
class EventBridgeParameters < Struct.new(
:detail_type,
:source)
SENSITIVE = []
include Aws::Structure
end
# Allows you to configure a time window during which EventBridge
# Scheduler invokes the schedule.
#
# @!attribute [rw] maximum_window_in_minutes
# The maximum time window during which a schedule can be invoked.
# @return [Integer]
#
# @!attribute [rw] mode
# Determines whether the schedule is invoked within a flexible time
# window.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/scheduler-2021-06-30/FlexibleTimeWindow AWS API Documentation
#
class FlexibleTimeWindow < Struct.new(
:maximum_window_in_minutes,
:mode)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] name
# The name of the schedule group to retrieve.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/scheduler-2021-06-30/GetScheduleGroupInput AWS API Documentation
#
class GetScheduleGroupInput < Struct.new(
:name)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] arn
# The Amazon Resource Name (ARN) of the schedule group.
# @return [String]
#
# @!attribute [rw] creation_date
# The time at which the schedule group was created.
# @return [Time]
#
# @!attribute [rw] last_modification_date
# The time at which the schedule group was last modified.
# @return [Time]
#
# @!attribute [rw] name
# The name of the schedule group.
# @return [String]
#
# @!attribute [rw] state
# Specifies the state of the schedule group.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/scheduler-2021-06-30/GetScheduleGroupOutput AWS API Documentation
#
class GetScheduleGroupOutput < Struct.new(
:arn,
:creation_date,
:last_modification_date,
:name,
:state)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] group_name
# The name of the schedule group associated with this schedule. If you
# omit this, EventBridge Scheduler assumes that the schedule is
# associated with the default group.
# @return [String]
#
# @!attribute [rw] name
# The name of the schedule to retrieve.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/scheduler-2021-06-30/GetScheduleInput AWS API Documentation
#
class GetScheduleInput < Struct.new(
:group_name,
:name)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] action_after_completion
# Indicates the action that EventBridge Scheduler applies to the
# schedule after the schedule completes invoking the target.
# @return [String]
#
# @!attribute [rw] arn
# The Amazon Resource Name (ARN) of the schedule.
# @return [String]
#
# @!attribute [rw] creation_date
# The time at which the schedule was created.
# @return [Time]
#
# @!attribute [rw] description
# The description of the schedule.
# @return [String]
#
# @!attribute [rw] end_date
# The date, in UTC, before which the schedule can invoke its target.
# Depending on the schedule's recurrence expression, invocations
# might stop on, or before, the `EndDate` you specify. EventBridge
# Scheduler ignores `EndDate` for one-time schedules.
# @return [Time]
#
# @!attribute [rw] flexible_time_window
# Allows you to configure a time window during which EventBridge
# Scheduler invokes the schedule.
# @return [Types::FlexibleTimeWindow]
#
# @!attribute [rw] group_name
# The name of the schedule group associated with this schedule.
# @return [String]
#
# @!attribute [rw] kms_key_arn
# The ARN for a customer managed KMS Key that is be used to encrypt
# and decrypt your data.
# @return [String]
#
# @!attribute [rw] last_modification_date
# The time at which the schedule was last modified.
# @return [Time]
#
# @!attribute [rw] name
# The name of the schedule.
# @return [String]
#
# @!attribute [rw] schedule_expression
# The expression that defines when the schedule runs. The following
# formats are supported.
#
# * `at` expression - `at(yyyy-mm-ddThh:mm:ss)`
#
# * `rate` expression - `rate(value unit)`
#
# * `cron` expression - `cron(fields)`
#
# You can use `at` expressions to create one-time schedules that
# invoke a target once, at the time and in the time zone, that you
# specify. You can use `rate` and `cron` expressions to create
# recurring schedules. Rate-based schedules are useful when you want
# to invoke a target at regular intervals, such as every 15 minutes or
# every five days. Cron-based schedules are useful when you want to
# invoke a target periodically at a specific time, such as at 8:00 am
# (UTC+0) every 1st day of the month.
#
# A `cron` expression consists of six fields separated by white
# spaces: `(minutes hours day_of_month month day_of_week year)`.
#
# A `rate` expression consists of a *value* as a positive integer, and
# a *unit* with the following options: `minute` \| `minutes` \| `hour`
# \| `hours` \| `day` \| `days`
#
# For more information and examples, see [Schedule types on
# EventBridge Scheduler][1] in the *EventBridge Scheduler User Guide*.
#
#
#
# [1]: https://docs.aws.amazon.com/scheduler/latest/UserGuide/schedule-types.html
# @return [String]
#
# @!attribute [rw] schedule_expression_timezone
# The timezone in which the scheduling expression is evaluated.
# @return [String]
#
# @!attribute [rw] start_date
# The date, in UTC, after which the schedule can begin invoking its
# target. Depending on the schedule's recurrence expression,
# invocations might occur on, or after, the `StartDate` you specify.
# EventBridge Scheduler ignores `StartDate` for one-time schedules.
# @return [Time]
#
# @!attribute [rw] state
# Specifies whether the schedule is enabled or disabled.
# @return [String]
#
# @!attribute [rw] target
# The schedule target.
# @return [Types::Target]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/scheduler-2021-06-30/GetScheduleOutput AWS API Documentation
#
class GetScheduleOutput < Struct.new(
:action_after_completion,
:arn,
:creation_date,
:description,
:end_date,
:flexible_time_window,
:group_name,
:kms_key_arn,
:last_modification_date,
:name,
:schedule_expression,
:schedule_expression_timezone,
:start_date,
:state,
:target)
SENSITIVE = []
include Aws::Structure
end
# Unexpected error encountered while processing the request.
#
# @!attribute [rw] message
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/scheduler-2021-06-30/InternalServerException AWS API Documentation
#
class InternalServerException < Struct.new(
:message)
SENSITIVE = []
include Aws::Structure
end
# The templated target type for the Amazon Kinesis [ `PutRecord`
# ](kinesis/latest/APIReference/API_PutRecord.html) API operation.
#
# @!attribute [rw] partition_key
# Specifies the shard to which EventBridge Scheduler sends the event.
# For more information, see [Amazon Kinesis Data Streams terminology
# and concepts][1] in the *Amazon Kinesis Streams Developer Guide*.
#
#
#
# [1]: https://docs.aws.amazon.com/streams/latest/dev/key-concepts.html
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/scheduler-2021-06-30/KinesisParameters AWS API Documentation
#
class KinesisParameters < Struct.new(
:partition_key)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] max_results
# If specified, limits the number of results returned by this
# operation. The operation also returns a `NextToken` which you can
# use in a subsequent operation to retrieve the next set of results.
# @return [Integer]
#
# @!attribute [rw] name_prefix
# The name prefix that you can use to return a filtered list of your
# schedule groups.
# @return [String]
#
# @!attribute [rw] next_token
# The token returned by a previous call to retrieve the next set of
# results.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/scheduler-2021-06-30/ListScheduleGroupsInput AWS API Documentation
#
class ListScheduleGroupsInput < Struct.new(
:max_results,
:name_prefix,
:next_token)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] next_token
# Indicates whether there are additional results to retrieve. If the
# value is null, there are no more results.
# @return [String]
#
# @!attribute [rw] schedule_groups
# The schedule groups that match the specified criteria.
# @return [Array<Types::ScheduleGroupSummary>]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/scheduler-2021-06-30/ListScheduleGroupsOutput AWS API Documentation
#
class ListScheduleGroupsOutput < Struct.new(
:next_token,
:schedule_groups)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] group_name
# If specified, only lists the schedules whose associated schedule
# group matches the given filter.
# @return [String]
#
# @!attribute [rw] max_results
# If specified, limits the number of results returned by this
# operation. The operation also returns a `NextToken` which you can
# use in a subsequent operation to retrieve the next set of results.
# @return [Integer]
#
# @!attribute [rw] name_prefix
# Schedule name prefix to return the filtered list of resources.
# @return [String]
#
# @!attribute [rw] next_token
# The token returned by a previous call to retrieve the next set of
# results.
# @return [String]
#
# @!attribute [rw] state
# If specified, only lists the schedules whose current state matches
# the given filter.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/scheduler-2021-06-30/ListSchedulesInput AWS API Documentation
#
class ListSchedulesInput < Struct.new(
:group_name,
:max_results,
:name_prefix,
:next_token,
:state)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] next_token
# Indicates whether there are additional results to retrieve. If the
# value is null, there are no more results.
# @return [String]
#
# @!attribute [rw] schedules
# The schedules that match the specified criteria.
# @return [Array<Types::ScheduleSummary>]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/scheduler-2021-06-30/ListSchedulesOutput AWS API Documentation
#
class ListSchedulesOutput < Struct.new(
:next_token,
:schedules)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] resource_arn
# The ARN of the EventBridge Scheduler resource for which you want to
# view tags.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/scheduler-2021-06-30/ListTagsForResourceInput AWS API Documentation
#
class ListTagsForResourceInput < Struct.new(
:resource_arn)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] tags
# The list of tags associated with the specified resource.
# @return [Array<Types::Tag>]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/scheduler-2021-06-30/ListTagsForResourceOutput AWS API Documentation
#
class ListTagsForResourceOutput < Struct.new(
:tags)
SENSITIVE = []
include Aws::Structure
end
# Specifies the network configuration for an ECS task.
#
# @!attribute [rw] awsvpc_configuration
# 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.
# @return [Types::AwsVpcConfiguration]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/scheduler-2021-06-30/NetworkConfiguration AWS API Documentation
#
class NetworkConfiguration < Struct.new(
:awsvpc_configuration)
SENSITIVE = []
include Aws::Structure
end
# An object representing a constraint on task placement.
#
# @!attribute [rw] expression
# 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][1] in the *Amazon ECS Developer Guide*.
#
#
#
# [1]: https://docs.aws.amazon.com/latest/developerguide/cluster-query-language.html
# @return [String]
#
# @!attribute [rw] type
# 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.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/scheduler-2021-06-30/PlacementConstraint AWS API Documentation
#
class PlacementConstraint < Struct.new(
:expression,
:type)
SENSITIVE = []
include Aws::Structure
end
# The task placement strategy for a task or service.
#
# @!attribute [rw] field
# 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.
# @return [String]
#
# @!attribute [rw] type
# 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).
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/scheduler-2021-06-30/PlacementStrategy AWS API Documentation
#
class PlacementStrategy < Struct.new(
:field,
:type)
SENSITIVE = []
include Aws::Structure
end
# The request references a resource which does not exist.
#
# @!attribute [rw] message
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/scheduler-2021-06-30/ResourceNotFoundException AWS API Documentation
#
class ResourceNotFoundException < Struct.new(
:message)
SENSITIVE = []
include Aws::Structure
end
# 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.
#
# @!attribute [rw] maximum_event_age_in_seconds
# The maximum amount of time, in seconds, to continue to make retry
# attempts.
# @return [Integer]
#
# @!attribute [rw] maximum_retry_attempts
# 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.
# @return [Integer]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/scheduler-2021-06-30/RetryPolicy AWS API Documentation
#
class RetryPolicy < Struct.new(
:maximum_event_age_in_seconds,
:maximum_retry_attempts)
SENSITIVE = []
include Aws::Structure
end
# The name and value pair of a parameter to use to start execution of a
# SageMaker Model Building Pipeline.
#
# @!attribute [rw] name
# Name of parameter to start execution of a SageMaker Model Building
# Pipeline.
# @return [String]
#
# @!attribute [rw] value
# Value of parameter to start execution of a SageMaker Model Building
# Pipeline.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/scheduler-2021-06-30/SageMakerPipelineParameter AWS API Documentation
#
class SageMakerPipelineParameter < Struct.new(
:name,
:value)
SENSITIVE = []
include Aws::Structure
end
# The templated target type for the Amazon SageMaker [
# `StartPipelineExecution` ][1] API operation.
#
#
#
# [1]: https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_StartPipelineExecution.html
#
# @!attribute [rw] pipeline_parameter_list
# List of parameter names and values to use when executing the
# SageMaker Model Building Pipeline.
# @return [Array<Types::SageMakerPipelineParameter>]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/scheduler-2021-06-30/SageMakerPipelineParameters AWS API Documentation
#
class SageMakerPipelineParameters < Struct.new(
:pipeline_parameter_list)
SENSITIVE = []
include Aws::Structure
end
# The details of a schedule group.
#
# @!attribute [rw] arn
# The Amazon Resource Name (ARN) of the schedule group.
# @return [String]
#
# @!attribute [rw] creation_date
# The time at which the schedule group was created.
# @return [Time]
#
# @!attribute [rw] last_modification_date
# The time at which the schedule group was last modified.
# @return [Time]
#
# @!attribute [rw] name
# The name of the schedule group.
# @return [String]
#
# @!attribute [rw] state
# Specifies the state of the schedule group.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/scheduler-2021-06-30/ScheduleGroupSummary AWS API Documentation
#
class ScheduleGroupSummary < Struct.new(
:arn,
:creation_date,
:last_modification_date,
:name,
:state)
SENSITIVE = []
include Aws::Structure
end
# The details of a schedule.
#
# @!attribute [rw] arn
# The Amazon Resource Name (ARN) of the schedule.
# @return [String]
#
# @!attribute [rw] creation_date
# The time at which the schedule was created.
# @return [Time]
#
# @!attribute [rw] group_name
# The name of the schedule group associated with this schedule.
# @return [String]
#
# @!attribute [rw] last_modification_date
# The time at which the schedule was last modified.
# @return [Time]
#
# @!attribute [rw] name
# The name of the schedule.
# @return [String]
#
# @!attribute [rw] state
# Specifies whether the schedule is enabled or disabled.
# @return [String]
#
# @!attribute [rw] target
# The schedule's target details.
# @return [Types::TargetSummary]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/scheduler-2021-06-30/ScheduleSummary AWS API Documentation
#
class ScheduleSummary < Struct.new(
:arn,
:creation_date,
:group_name,
:last_modification_date,
:name,
:state,
:target)
SENSITIVE = []
include Aws::Structure
end
# The request exceeds a service quota.
#
# @!attribute [rw] message
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/scheduler-2021-06-30/ServiceQuotaExceededException AWS API Documentation
#
class ServiceQuotaExceededException < Struct.new(
:message)
SENSITIVE = []
include Aws::Structure
end
# The templated target type for the Amazon SQS [ `SendMessage` ][1] 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][2] in
# the *Amazon SQS Developer Guide*.
#
#
#
# [1]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_SendMessage.html
# [2]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/using-messagededuplicationid-property.html
#
# @!attribute [rw] message_group_id
# The FIFO message group ID to use as the target.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/scheduler-2021-06-30/SqsParameters AWS API Documentation
#
class SqsParameters < Struct.new(
:message_group_id)
SENSITIVE = []
include Aws::Structure
end
# Tag to associate with a schedule group.
#
# @!attribute [rw] key
# The key for the tag.
# @return [String]
#
# @!attribute [rw] value
# The value for the tag.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/scheduler-2021-06-30/Tag AWS API Documentation
#
class Tag < Struct.new(
:key,
:value)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] resource_arn
# The Amazon Resource Name (ARN) of the schedule group that you are
# adding tags to.
# @return [String]
#
# @!attribute [rw] tags
# The list of tags to associate with the schedule group.
# @return [Array<Types::Tag>]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/scheduler-2021-06-30/TagResourceInput AWS API Documentation
#
class TagResourceInput < Struct.new(
:resource_arn,
:tags)
SENSITIVE = []
include Aws::Structure
end
# @see http://docs.aws.amazon.com/goto/WebAPI/scheduler-2021-06-30/TagResourceOutput AWS API Documentation
#
class TagResourceOutput < Aws::EmptyStructure; end
# 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.
#
# @!attribute [rw] arn
# The Amazon Resource Name (ARN) of the target.
# @return [String]
#
# @!attribute [rw] dead_letter_config
# 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.
# @return [Types::DeadLetterConfig]
#
# @!attribute [rw] ecs_parameters
# The templated target type for the Amazon ECS [ `RunTask` ][1] API
# operation.
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_RunTask.html
# @return [Types::EcsParameters]
#
# @!attribute [rw] event_bridge_parameters
# The templated target type for the EventBridge [ `PutEvents` ][1] API
# operation.
#
#
#
# [1]: https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_PutEvents.html
# @return [Types::EventBridgeParameters]
#
# @!attribute [rw] input
# 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.
# @return [String]
#
# @!attribute [rw] kinesis_parameters
# The templated target type for the Amazon Kinesis [ `PutRecord`
# ](kinesis/latest/APIReference/API_PutRecord.html) API operation.
# @return [Types::KinesisParameters]
#
# @!attribute [rw] retry_policy
# 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.
# @return [Types::RetryPolicy]
#
# @!attribute [rw] role_arn
# The Amazon Resource Name (ARN) of the IAM role that EventBridge
# Scheduler will use for this target when the schedule is invoked.
# @return [String]
#
# @!attribute [rw] sage_maker_pipeline_parameters
# The templated target type for the Amazon SageMaker [
# `StartPipelineExecution` ][1] API operation.
#
#
#
# [1]: https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_StartPipelineExecution.html
# @return [Types::SageMakerPipelineParameters]
#
# @!attribute [rw] sqs_parameters
# The templated target type for the Amazon SQS [ `SendMessage` ][1]
# 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][2] in the *Amazon SQS Developer Guide*.
#
#
#
# [1]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_SendMessage.html
# [2]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/using-messagededuplicationid-property.html
# @return [Types::SqsParameters]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/scheduler-2021-06-30/Target AWS API Documentation
#
class Target < Struct.new(
:arn,
:dead_letter_config,
:ecs_parameters,
:event_bridge_parameters,
:input,
:kinesis_parameters,
:retry_policy,
:role_arn,
:sage_maker_pipeline_parameters,
:sqs_parameters)
SENSITIVE = []
include Aws::Structure
end
# The details of a target.
#
# @!attribute [rw] arn
# The Amazon Resource Name (ARN) of the target.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/scheduler-2021-06-30/TargetSummary AWS API Documentation
#
class TargetSummary < Struct.new(
:arn)
SENSITIVE = []
include Aws::Structure
end
# The request was denied due to request throttling.
#
# @!attribute [rw] message
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/scheduler-2021-06-30/ThrottlingException AWS API Documentation
#
class ThrottlingException < Struct.new(
:message)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] resource_arn
# The Amazon Resource Name (ARN) of the schedule group from which you
# are removing tags.
# @return [String]
#
# @!attribute [rw] tag_keys
# The list of tag keys to remove from the resource.
# @return [Array<String>]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/scheduler-2021-06-30/UntagResourceInput AWS API Documentation
#
class UntagResourceInput < Struct.new(
:resource_arn,
:tag_keys)
SENSITIVE = []
include Aws::Structure
end
# @see http://docs.aws.amazon.com/goto/WebAPI/scheduler-2021-06-30/UntagResourceOutput AWS API Documentation
#
class UntagResourceOutput < Aws::EmptyStructure; end
# @!attribute [rw] action_after_completion
# Specifies the action that EventBridge Scheduler applies to the
# schedule after the schedule completes invoking the target.
# @return [String]
#
# @!attribute [rw] client_token
# Unique, case-sensitive identifier you provide to ensure the
# idempotency of the request. If you do not specify a client token,
# EventBridge Scheduler uses a randomly generated token for the
# request to ensure idempotency.
#
# **A suitable default value is auto-generated.** You should normally
# not need to pass this option.
# @return [String]
#
# @!attribute [rw] description
# The description you specify for the schedule.
# @return [String]
#
# @!attribute [rw] end_date
# The date, in UTC, before which the schedule can invoke its target.
# Depending on the schedule's recurrence expression, invocations
# might stop on, or before, the `EndDate` you specify. EventBridge
# Scheduler ignores `EndDate` for one-time schedules.
# @return [Time]
#
# @!attribute [rw] flexible_time_window
# Allows you to configure a time window during which EventBridge
# Scheduler invokes the schedule.
# @return [Types::FlexibleTimeWindow]
#
# @!attribute [rw] group_name
# The name of the schedule group with which the schedule is
# associated. You must provide this value in order for EventBridge
# Scheduler to find the schedule you want to update. If you omit this
# value, EventBridge Scheduler assumes the group is associated to the
# default group.
# @return [String]
#
# @!attribute [rw] kms_key_arn
# The ARN for the customer managed KMS key that that you want
# EventBridge Scheduler to use to encrypt and decrypt your data.
# @return [String]
#
# @!attribute [rw] name
# The name of the schedule that you are updating.
# @return [String]
#
# @!attribute [rw] schedule_expression
# The expression that defines when the schedule runs. The following
# formats are supported.
#
# * `at` expression - `at(yyyy-mm-ddThh:mm:ss)`
#
# * `rate` expression - `rate(value unit)`
#
# * `cron` expression - `cron(fields)`
#
# You can use `at` expressions to create one-time schedules that
# invoke a target once, at the time and in the time zone, that you
# specify. You can use `rate` and `cron` expressions to create
# recurring schedules. Rate-based schedules are useful when you want
# to invoke a target at regular intervals, such as every 15 minutes or
# every five days. Cron-based schedules are useful when you want to
# invoke a target periodically at a specific time, such as at 8:00 am
# (UTC+0) every 1st day of the month.
#
# A `cron` expression consists of six fields separated by white
# spaces: `(minutes hours day_of_month month day_of_week year)`.
#
# A `rate` expression consists of a *value* as a positive integer, and
# a *unit* with the following options: `minute` \| `minutes` \| `hour`
# \| `hours` \| `day` \| `days`
#
# For more information and examples, see [Schedule types on
# EventBridge Scheduler][1] in the *EventBridge Scheduler User Guide*.
#
#
#
# [1]: https://docs.aws.amazon.com/scheduler/latest/UserGuide/schedule-types.html
# @return [String]
#
# @!attribute [rw] schedule_expression_timezone
# The timezone in which the scheduling expression is evaluated.
# @return [String]
#
# @!attribute [rw] start_date
# The date, in UTC, after which the schedule can begin invoking its
# target. Depending on the schedule's recurrence expression,
# invocations might occur on, or after, the `StartDate` you specify.
# EventBridge Scheduler ignores `StartDate` for one-time schedules.
# @return [Time]
#
# @!attribute [rw] state
# Specifies whether the schedule is enabled or disabled.
# @return [String]
#
# @!attribute [rw] target
# The schedule target. You can use this operation to change the target
# that your schedule invokes.
# @return [Types::Target]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/scheduler-2021-06-30/UpdateScheduleInput AWS API Documentation
#
class UpdateScheduleInput < Struct.new(
:action_after_completion,
:client_token,
:description,
:end_date,
:flexible_time_window,
:group_name,
:kms_key_arn,
:name,
:schedule_expression,
:schedule_expression_timezone,
:start_date,
:state,
:target)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] schedule_arn
# The Amazon Resource Name (ARN) of the schedule that you updated.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/scheduler-2021-06-30/UpdateScheduleOutput AWS API Documentation
#
class UpdateScheduleOutput < Struct.new(
:schedule_arn)
SENSITIVE = []
include Aws::Structure
end
# The input fails to satisfy the constraints specified by an AWS
# service.
#
# @!attribute [rw] message
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/scheduler-2021-06-30/ValidationException AWS API Documentation
#
class ValidationException < Struct.new(
:message)
SENSITIVE = []
include Aws::Structure
end
end
end