AWS SDK Version 3 for .NET
API Reference

AWS services or capabilities described in AWS Documentation may vary by region/location. Click Getting Started with Amazon AWS to see specific differences applicable to the China (Beijing) Region.

Container for the parameters to the RegisterScalableTarget operation. Registers or updates a scalable target. A scalable target is a resource that Application Auto Scaling can scale out or scale in. After you have registered a scalable target, you can use this operation to update the minimum and maximum values for your scalable dimension.

After you register a scalable target, you can create and apply scaling policies using PutScalingPolicy. You can view the scaling policies for a service namespace using DescribeScalableTargets. If you are no longer using a scalable target, you can deregister it using DeregisterScalableTarget.

Inheritance Hierarchy

System.Object
  Amazon.Runtime.AmazonWebServiceRequest
    Amazon.ApplicationAutoScaling.AmazonApplicationAutoScalingRequest
      Amazon.ApplicationAutoScaling.Model.RegisterScalableTargetRequest

Namespace: Amazon.ApplicationAutoScaling.Model
Assembly: AWSSDK.ApplicationAutoScaling.dll
Version: 3.x.y.z

Syntax

C#
public class RegisterScalableTargetRequest : AmazonApplicationAutoScalingRequest
         IAmazonWebServiceRequest

The RegisterScalableTargetRequest type exposes the following members

Constructors

Properties

NameTypeDescription
Public Property MaxCapacity System.Int32

Gets and sets the property MaxCapacity.

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

Public Property MinCapacity System.Int32

Gets and sets the property MinCapacity.

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

Public Property ResourceId System.String

Gets and sets the property ResourceId.

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.

Public Property RoleARN System.String

Gets and sets the property RoleARN.

The ARN of an IAM role that allows Application Auto Scaling to modify the scalable target on your behalf. This parameter is required when you register a scalable target and optional when you update one.

Public Property ScalableDimension Amazon.ApplicationAutoScaling.ScalableDimension

Gets and sets the property ScalableDimension.

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.

Public Property ServiceNamespace Amazon.ApplicationAutoScaling.ServiceNamespace

Gets and sets the property ServiceNamespace.

The namespace of the AWS service. For more information, see AWS Service Namespaces in the Amazon Web Services General Reference.

Examples

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.

To register an ECS service as a scalable target


var response = client.RegisterScalableTarget(new RegisterScalableTargetRequest 
{
    MaxCapacity = 10,
    MinCapacity = 1,
    ResourceId = "service/default/web-app",
    RoleARN = "arn:aws:iam::012345678910:role/ApplicationAutoscalingECSRole",
    ScalableDimension = "ecs:service:DesiredCount",
    ServiceNamespace = "ecs"
});


            

This example registers a scalable target from an Amazon EC2 Spot fleet with a minimum target capacity of 1 and a maximum of 10.

To register an EC2 Spot fleet as a scalable target


var response = client.RegisterScalableTarget(new RegisterScalableTargetRequest 
{
    MaxCapacity = 10,
    MinCapacity = 1,
    ResourceId = "spot-fleet-request/sfr-45e69d8a-be48-4539-bbf3-3464e99c50c3",
    RoleARN = "arn:aws:iam::012345678910:role/ApplicationAutoscalingSpotRole",
    ScalableDimension = "ec2:spot-fleet-request:TargetCapacity",
    ServiceNamespace = "ec2"
});


            

Version Information

.NET Standard:
Supported in: 1.3

.NET Framework:
Supported in: 4.5, 4.0, 3.5

Portable Class Library:
Supported in: Windows Store Apps
Supported in: Windows Phone 8.1
Supported in: Xamarin Android
Supported in: Xamarin iOS (Unified)
Supported in: Xamarin.Forms