class Aws::ApplicationAutoScaling::Types::PutScheduledActionRequest

@note When making an API call, you may pass PutScheduledActionRequest

data as a hash:

    {
      service_namespace: "ecs", # required, accepts ecs, elasticmapreduce, ec2, appstream, dynamodb, rds, sagemaker, custom-resource, comprehend, lambda, cassandra, kafka, elasticache
      schedule: "ResourceIdMaxLen1600",
      timezone: "ResourceIdMaxLen1600",
      scheduled_action_name: "ScheduledActionName", # required
      resource_id: "ResourceIdMaxLen1600", # required
      scalable_dimension: "ecs:service:DesiredCount", # required, accepts ecs:service:DesiredCount, ec2:spot-fleet-request:TargetCapacity, elasticmapreduce:instancegroup:InstanceCount, appstream:fleet:DesiredCapacity, dynamodb:table:ReadCapacityUnits, dynamodb:table:WriteCapacityUnits, dynamodb:index:ReadCapacityUnits, dynamodb:index:WriteCapacityUnits, rds:cluster:ReadReplicaCount, sagemaker:variant:DesiredInstanceCount, custom-resource:ResourceType:Property, comprehend:document-classifier-endpoint:DesiredInferenceUnits, comprehend:entity-recognizer-endpoint:DesiredInferenceUnits, lambda:function:ProvisionedConcurrency, cassandra:table:ReadCapacityUnits, cassandra:table:WriteCapacityUnits, kafka:broker-storage:VolumeSize, elasticache:replication-group:NodeGroups, elasticache:replication-group:Replicas
      start_time: Time.now,
      end_time: Time.now,
      scalable_target_action: {
        min_capacity: 1,
        max_capacity: 1,
      },
    }

@!attribute [rw] service_namespace

The namespace of the Amazon Web Services service that provides the
resource. For a resource provided by your own application or
service, use `custom-resource` instead.
@return [String]

@!attribute [rw] schedule

The schedule for this action. The following formats are supported:

* At expressions - "`at(yyyy-mm-ddThh:mm:ss)`"

* Rate expressions - "`rate(value unit)`"

* Cron expressions - "`cron(fields)`"

At expressions are useful for one-time schedules. Cron expressions
are useful for scheduled actions that run periodically at a
specified date and time, and rate expressions are useful for
scheduled actions that run at a regular interval.

At and cron expressions use Universal Coordinated Time (UTC) by
default.

The cron format consists of six fields separated by white spaces:
\[Minutes\] \[Hours\] \[Day\_of\_Month\] \[Month\] \[Day\_of\_Week\]
\[Year\].

For rate expressions, *value* is a positive integer and *unit* is
`minute` \| `minutes` \| `hour` \| `hours` \| `day` \| `days`.

For more information and examples, see [Example scheduled actions
for Application Auto Scaling][1] in the *Application Auto Scaling
User Guide*.

[1]: https://docs.aws.amazon.com/autoscaling/application/userguide/examples-scheduled-actions.html
@return [String]

@!attribute [rw] timezone

Specifies the time zone used when setting a scheduled action by
using an at or cron expression. If a time zone is not provided, UTC
is used by default.

Valid values are the canonical names of the IANA time zones
supported by Joda-Time (such as `Etc/GMT+9` or `Pacific/Tahiti`).
For more information, see
[https://www.joda.org/joda-time/timezones.html][1].

[1]: https://www.joda.org/joda-time/timezones.html
@return [String]

@!attribute [rw] scheduled_action_name

The name of the scheduled action. This name must be unique among all
other scheduled actions on the specified scalable target.
@return [String]

@!attribute [rw] resource_id

The identifier of the resource associated with the scheduled action.
This string consists of the resource type and unique identifier.

* ECS service - The resource type is `service` and the unique
  identifier is the cluster name and service name. Example:
  `service/default/sample-webapp`.

* Spot Fleet request - The resource type is `spot-fleet-request` and
  the unique identifier is the Spot Fleet request ID. Example:
  `spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE`.

* EMR cluster - The resource type is `instancegroup` and the unique
  identifier is the cluster ID and instance group ID. Example:
  `instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0`.

* AppStream 2.0 fleet - The resource type is `fleet` and the unique
  identifier is the fleet name. Example: `fleet/sample-fleet`.

* DynamoDB table - The resource type is `table` and the unique
  identifier is the table name. Example: `table/my-table`.

* DynamoDB global secondary index - The resource type is `index` and
  the unique identifier is the index name. Example:
  `table/my-table/index/my-table-index`.

* Aurora DB cluster - The resource type is `cluster` and the unique
  identifier is the cluster name. Example: `cluster:my-db-cluster`.

* Amazon SageMaker endpoint variant - The resource type is `variant`
  and the unique identifier is the resource ID. Example:
  `endpoint/my-end-point/variant/KMeansClustering`.

* Custom resources are not supported with a resource type. This
  parameter must specify the `OutputValue` from the CloudFormation
  template stack used to access the resources. The unique identifier
  is defined by the service provider. More information is available
  in our [GitHub repository][1].

* Amazon Comprehend document classification endpoint - The resource
  type and unique identifier are specified using the endpoint ARN.
  Example:
  `arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE`.

* Amazon Comprehend entity recognizer endpoint - The resource type
  and unique identifier are specified using the endpoint ARN.
  Example:
  `arn:aws:comprehend:us-west-2:123456789012:entity-recognizer-endpoint/EXAMPLE`.

* Lambda provisioned concurrency - The resource type is `function`
  and the unique identifier is the function name with a function
  version or alias name suffix that is not `$LATEST`. Example:
  `function:my-function:prod` or `function:my-function:1`.

* Amazon Keyspaces table - The resource type is `table` and the
  unique identifier is the table name. Example:
  `keyspace/mykeyspace/table/mytable`.

* Amazon MSK cluster - The resource type and unique identifier are
  specified using the cluster ARN. Example:
  `arn:aws:kafka:us-east-1:123456789012:cluster/demo-cluster-1/6357e0b2-0e6a-4b86-a0b4-70df934c2e31-5`.

* Amazon ElastiCache replication group - The resource type is
  `replication-group` and the unique identifier is the replication
  group name. Example: `replication-group/mycluster`.

[1]: https://github.com/aws/aws-auto-scaling-custom-resource
@return [String]

@!attribute [rw] scalable_dimension

The scalable dimension. This string consists of the service
namespace, resource type, and scaling property.

* `ecs:service:DesiredCount` - The desired task count of an ECS
  service.

* `elasticmapreduce:instancegroup:InstanceCount` - The instance
  count of an EMR Instance Group.

* `ec2:spot-fleet-request:TargetCapacity` - The target capacity of a
  Spot Fleet request.

* `appstream:fleet:DesiredCapacity` - The desired capacity of an
  AppStream 2.0 fleet.

* `dynamodb:table:ReadCapacityUnits` - The provisioned read capacity
  for a DynamoDB table.

* `dynamodb:table:WriteCapacityUnits` - The provisioned write
  capacity for a DynamoDB table.

* `dynamodb:index:ReadCapacityUnits` - The provisioned read capacity
  for a DynamoDB global secondary index.

* `dynamodb:index:WriteCapacityUnits` - The provisioned write
  capacity for a DynamoDB global secondary index.

* `rds:cluster:ReadReplicaCount` - The count of Aurora Replicas in
  an Aurora DB cluster. Available for Aurora MySQL-compatible
  edition and Aurora PostgreSQL-compatible edition.

* `sagemaker:variant:DesiredInstanceCount` - The number of EC2
  instances for an Amazon SageMaker model endpoint variant.

* `custom-resource:ResourceType:Property` - The scalable dimension
  for a custom resource provided by your own application or service.

* `comprehend:document-classifier-endpoint:DesiredInferenceUnits` -
  The number of inference units for an Amazon Comprehend document
  classification endpoint.

* `comprehend:entity-recognizer-endpoint:DesiredInferenceUnits` -
  The number of inference units for an Amazon Comprehend entity
  recognizer endpoint.

* `lambda:function:ProvisionedConcurrency` - The provisioned
  concurrency for a Lambda function.

* `cassandra:table:ReadCapacityUnits` - The provisioned read
  capacity for an Amazon Keyspaces table.

* `cassandra:table:WriteCapacityUnits` - The provisioned write
  capacity for an Amazon Keyspaces table.

* `kafka:broker-storage:VolumeSize` - The provisioned volume size
  (in GiB) for brokers in an Amazon MSK cluster.

* `elasticache:replication-group:NodeGroups` - The number of node
  groups for an Amazon ElastiCache replication group.

* `elasticache:replication-group:Replicas` - The number of replicas
  per node group for an Amazon ElastiCache replication group.
@return [String]

@!attribute [rw] start_time

The date and time for this scheduled action to start, in UTC.
@return [Time]

@!attribute [rw] end_time

The date and time for the recurring schedule to end, in UTC.
@return [Time]

@!attribute [rw] scalable_target_action

The new minimum and maximum capacity. You can set both values or
just one. At the scheduled time, if the current capacity is below
the minimum capacity, Application Auto Scaling scales out to the
minimum capacity. If the current capacity is above the maximum
capacity, Application Auto Scaling scales in to the maximum
capacity.
@return [Types::ScalableTargetAction]

@see docs.aws.amazon.com/goto/WebAPI/application-autoscaling-2016-02-06/PutScheduledActionRequest AWS API Documentation

Constants

SENSITIVE