The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Paws::ApplicationAutoScaling::RegisterScalableTarget - Arguments for method RegisterScalableTarget on Paws::ApplicationAutoScaling

DESCRIPTION

This class represents the parameters used for calling the method RegisterScalableTarget on the Application Auto Scaling service. Use the attributes of this class as arguments to method RegisterScalableTarget.

You shouldn't make instances of this class. Each attribute should be used as a named argument in the call to RegisterScalableTarget.

SYNOPSIS

    my $autoscaling = Paws->service('ApplicationAutoScaling');
    # To register an ECS service as a scalable target
    # This example registers a scalable target from an Amazon ECS service called
    # web-app that is running on the default cluster, with a minimum desired
    # count of 1 task and a maximum desired count of 10 tasks.
    my $RegisterScalableTargetResponse = $autoscaling->RegisterScalableTarget(
      {
        'ServiceNamespace' => 'ecs',
        'RoleARN' =>
          'arn:aws:iam::012345678910:role/ApplicationAutoscalingECSRole',
        'MaxCapacity'       => 10,
        'MinCapacity'       => 1,
        'ResourceId'        => 'service/default/web-app',
        'ScalableDimension' => 'ecs:service:DesiredCount'
      }
    );

   # To register an EC2 Spot fleet as a scalable target
   # This example registers a scalable target from an Amazon EC2 Spot fleet with
   # a minimum target capacity of 1 and a maximum of 10.
    my $RegisterScalableTargetResponse = $autoscaling->RegisterScalableTarget(
      {
        'ServiceNamespace' => 'ec2',
        'RoleARN' =>
          'arn:aws:iam::012345678910:role/ApplicationAutoscalingSpotRole',
        'MinCapacity'       => 1,
        'MaxCapacity'       => 10,
        'ScalableDimension' => 'ec2:spot-fleet-request:TargetCapacity',
        'ResourceId' =>
          'spot-fleet-request/sfr-45e69d8a-be48-4539-bbf3-3464e99c50c3'
      }
    );

Values for attributes that are native types (Int, String, Float, etc) can passed as-is (scalar values). Values for complex Types (objects) can be passed as a HashRef. The keys and values of the hashref will be used to instance the underlying object. For the AWS API documentation, see https://docs.aws.amazon.com/goto/WebAPI/autoscaling/RegisterScalableTarget

ATTRIBUTES

MaxCapacity => Int

The maximum value to scale to in response to a scale out event. This parameter is required if you are registering a scalable target.

MinCapacity => Int

The minimum value to scale to in response to a scale in event. This parameter is required if you are registering a scalable target.

REQUIRED ResourceId => Str

The identifier of the resource associated with the scalable target. 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 resource ID. Example: table/my-table.

  • DynamoDB global secondary index - The resource type is index and the unique identifier is the resource ID. 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 variants - The resource type is variant and the unique identifier is the resource ID. Example: endpoint/my-end-point/variant/KMeansClustering.

RoleARN => Str

Application Auto Scaling creates a service-linked role that grants it permissions to modify the scalable target on your behalf. For more information, see Service-Linked Roles for Application Auto Scaling (http://docs.aws.amazon.com/ApplicationAutoScaling/latest/APIReference/application-autoscaling-service-linked-roles.html).

For resources that are not supported using a service-linked role, this parameter is required and must specify the ARN of an IAM role that allows Application Auto Scaling to modify the scalable target on your behalf.

REQUIRED ScalableDimension => Str

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

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

  • ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot fleet request.

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

  • 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.

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

Valid values are: "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"

REQUIRED ServiceNamespace => Str

The namespace of the AWS service. For more information, see AWS Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#genref-aws-service-namespaces) in the Amazon Web Services General Reference.

Valid values are: "ecs", "elasticmapreduce", "ec2", "appstream", "dynamodb", "rds", "sagemaker"

SEE ALSO

This class forms part of Paws, documenting arguments for method RegisterScalableTarget in Paws::ApplicationAutoScaling

BUGS and CONTRIBUTIONS

The source code is located here: https://github.com/pplu/aws-sdk-perl

Please report bugs to: https://github.com/pplu/aws-sdk-perl/issues