All Downloads are FREE. Search and download functionalities are using the official Maven repository.

software.amazon.awssdk.services.applicationautoscaling.model.RegisterScalableTargetRequest Maven / Gradle / Ivy

Go to download

The AWS Java SDK for AWS Application Auto Scaling module holds the client classes that are used for communicating with AWS Application Auto Scaling service.

There is a newer version: 2.28.6
Show newest version
/*
 * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
 * 
 * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with
 * the License. A copy of the License is located at
 * 
 * http://aws.amazon.com/apache2.0
 * 
 * or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
 * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions
 * and limitations under the License.
 */

package software.amazon.awssdk.services.applicationautoscaling.model;

import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import java.util.function.BiConsumer;
import java.util.function.Consumer;
import java.util.function.Function;
import software.amazon.awssdk.annotations.Generated;
import software.amazon.awssdk.awscore.AwsRequestOverrideConfiguration;
import software.amazon.awssdk.core.SdkField;
import software.amazon.awssdk.core.SdkPojo;
import software.amazon.awssdk.core.protocol.MarshallLocation;
import software.amazon.awssdk.core.protocol.MarshallingType;
import software.amazon.awssdk.core.traits.LocationTrait;
import software.amazon.awssdk.core.traits.MapTrait;
import software.amazon.awssdk.core.util.DefaultSdkAutoConstructMap;
import software.amazon.awssdk.core.util.SdkAutoConstructMap;
import software.amazon.awssdk.utils.ToString;
import software.amazon.awssdk.utils.builder.CopyableBuilder;
import software.amazon.awssdk.utils.builder.ToCopyableBuilder;

/**
 */
@Generated("software.amazon.awssdk:codegen")
public final class RegisterScalableTargetRequest extends ApplicationAutoScalingRequest implements
        ToCopyableBuilder {
    private static final SdkField SERVICE_NAMESPACE_FIELD = SdkField. builder(MarshallingType.STRING)
            .memberName("ServiceNamespace").getter(getter(RegisterScalableTargetRequest::serviceNamespaceAsString))
            .setter(setter(Builder::serviceNamespace))
            .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("ServiceNamespace").build()).build();

    private static final SdkField RESOURCE_ID_FIELD = SdkField. builder(MarshallingType.STRING)
            .memberName("ResourceId").getter(getter(RegisterScalableTargetRequest::resourceId))
            .setter(setter(Builder::resourceId))
            .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("ResourceId").build()).build();

    private static final SdkField SCALABLE_DIMENSION_FIELD = SdkField. builder(MarshallingType.STRING)
            .memberName("ScalableDimension").getter(getter(RegisterScalableTargetRequest::scalableDimensionAsString))
            .setter(setter(Builder::scalableDimension))
            .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("ScalableDimension").build()).build();

    private static final SdkField MIN_CAPACITY_FIELD = SdkField. builder(MarshallingType.INTEGER)
            .memberName("MinCapacity").getter(getter(RegisterScalableTargetRequest::minCapacity))
            .setter(setter(Builder::minCapacity))
            .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("MinCapacity").build()).build();

    private static final SdkField MAX_CAPACITY_FIELD = SdkField. builder(MarshallingType.INTEGER)
            .memberName("MaxCapacity").getter(getter(RegisterScalableTargetRequest::maxCapacity))
            .setter(setter(Builder::maxCapacity))
            .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("MaxCapacity").build()).build();

    private static final SdkField ROLE_ARN_FIELD = SdkField. builder(MarshallingType.STRING)
            .memberName("RoleARN").getter(getter(RegisterScalableTargetRequest::roleARN)).setter(setter(Builder::roleARN))
            .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("RoleARN").build()).build();

    private static final SdkField SUSPENDED_STATE_FIELD = SdkField
            . builder(MarshallingType.SDK_POJO).memberName("SuspendedState")
            .getter(getter(RegisterScalableTargetRequest::suspendedState)).setter(setter(Builder::suspendedState))
            .constructor(SuspendedState::builder)
            .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("SuspendedState").build()).build();

    private static final SdkField> TAGS_FIELD = SdkField
            .> builder(MarshallingType.MAP)
            .memberName("Tags")
            .getter(getter(RegisterScalableTargetRequest::tags))
            .setter(setter(Builder::tags))
            .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("Tags").build(),
                    MapTrait.builder()
                            .keyLocationName("key")
                            .valueLocationName("value")
                            .valueFieldInfo(
                                    SdkField. builder(MarshallingType.STRING)
                                            .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD)
                                                    .locationName("value").build()).build()).build()).build();

    private static final List> SDK_FIELDS = Collections.unmodifiableList(Arrays.asList(SERVICE_NAMESPACE_FIELD,
            RESOURCE_ID_FIELD, SCALABLE_DIMENSION_FIELD, MIN_CAPACITY_FIELD, MAX_CAPACITY_FIELD, ROLE_ARN_FIELD,
            SUSPENDED_STATE_FIELD, TAGS_FIELD));

    private final String serviceNamespace;

    private final String resourceId;

    private final String scalableDimension;

    private final Integer minCapacity;

    private final Integer maxCapacity;

    private final String roleARN;

    private final SuspendedState suspendedState;

    private final Map tags;

    private RegisterScalableTargetRequest(BuilderImpl builder) {
        super(builder);
        this.serviceNamespace = builder.serviceNamespace;
        this.resourceId = builder.resourceId;
        this.scalableDimension = builder.scalableDimension;
        this.minCapacity = builder.minCapacity;
        this.maxCapacity = builder.maxCapacity;
        this.roleARN = builder.roleARN;
        this.suspendedState = builder.suspendedState;
        this.tags = builder.tags;
    }

    /**
     * 

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

*

* If the service returns an enum value that is not available in the current SDK version, {@link #serviceNamespace} * will return {@link ServiceNamespace#UNKNOWN_TO_SDK_VERSION}. The raw value returned by the service is available * from {@link #serviceNamespaceAsString}. *

* * @return 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. * @see ServiceNamespace */ public final ServiceNamespace serviceNamespace() { return ServiceNamespace.fromValue(serviceNamespace); } /** *

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

*

* If the service returns an enum value that is not available in the current SDK version, {@link #serviceNamespace} * will return {@link ServiceNamespace#UNKNOWN_TO_SDK_VERSION}. The raw value returned by the service is available * from {@link #serviceNamespaceAsString}. *

* * @return 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. * @see ServiceNamespace */ public final String serviceNamespaceAsString() { return serviceNamespace; } /** *

* The identifier of the resource that is 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 - 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. *

    *
  • *
  • *

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

    *
  • *
  • *

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

    *
  • *
  • *

    * Neptune cluster - The resource type is cluster and the unique identifier is the cluster name. * Example: cluster:mycluster. *

    *
  • *
  • *

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

    *
  • *
  • *

    * SageMaker inference component - The resource type is inference-component and the unique identifier * is the resource ID. Example: inference-component/my-inference-component. *

    *
  • *
* * @return The identifier of the resource that is 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 - 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. *

    *
  • *
  • *

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

    *
  • *
  • *

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

    *
  • *
  • *

    * Neptune cluster - The resource type is cluster and the unique identifier is the cluster * name. Example: cluster:mycluster. *

    *
  • *
  • *

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

    *
  • *
  • *

    * SageMaker inference component - The resource type is inference-component and the unique * identifier is the resource ID. Example: inference-component/my-inference-component. *

    *
  • */ public final String resourceId() { return resourceId; } /** *

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

      *
    • *
    • *

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

      *
    • *
    • *

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

      *
    • *
    • *

      * 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 a 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. *

      *
    • *
    • *

      * neptune:cluster:ReadReplicaCount - The count of read replicas in an Amazon Neptune DB cluster. *

      *
    • *
    • *

      * sagemaker:variant:DesiredProvisionedConcurrency - The provisioned concurrency for a SageMaker * Serverless endpoint. *

      *
    • *
    • *

      * sagemaker:inference-component:DesiredCopyCount - The number of copies across an endpoint for a * SageMaker inference component. *

      *
    • *
    *

    * If the service returns an enum value that is not available in the current SDK version, {@link #scalableDimension} * will return {@link ScalableDimension#UNKNOWN_TO_SDK_VERSION}. The raw value returned by the service is available * from {@link #scalableDimensionAsString}. *

    * * @return 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. *

      *
    • *
    • *

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

      *
    • *
    • *

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

      *
    • *
    • *

      * 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 a 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. *

      *
    • *
    • *

      * neptune:cluster:ReadReplicaCount - The count of read replicas in an Amazon Neptune DB * cluster. *

      *
    • *
    • *

      * sagemaker:variant:DesiredProvisionedConcurrency - The provisioned concurrency for a * SageMaker Serverless endpoint. *

      *
    • *
    • *

      * sagemaker:inference-component:DesiredCopyCount - The number of copies across an endpoint for * a SageMaker inference component. *

      *
    • * @see ScalableDimension */ public final ScalableDimension scalableDimension() { return ScalableDimension.fromValue(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. *

        *
      • *
      • *

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

        *
      • *
      • *

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

        *
      • *
      • *

        * 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 a 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. *

        *
      • *
      • *

        * neptune:cluster:ReadReplicaCount - The count of read replicas in an Amazon Neptune DB cluster. *

        *
      • *
      • *

        * sagemaker:variant:DesiredProvisionedConcurrency - The provisioned concurrency for a SageMaker * Serverless endpoint. *

        *
      • *
      • *

        * sagemaker:inference-component:DesiredCopyCount - The number of copies across an endpoint for a * SageMaker inference component. *

        *
      • *
      *

      * If the service returns an enum value that is not available in the current SDK version, {@link #scalableDimension} * will return {@link ScalableDimension#UNKNOWN_TO_SDK_VERSION}. The raw value returned by the service is available * from {@link #scalableDimensionAsString}. *

      * * @return 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. *

        *
      • *
      • *

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

        *
      • *
      • *

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

        *
      • *
      • *

        * 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 a 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. *

        *
      • *
      • *

        * neptune:cluster:ReadReplicaCount - The count of read replicas in an Amazon Neptune DB * cluster. *

        *
      • *
      • *

        * sagemaker:variant:DesiredProvisionedConcurrency - The provisioned concurrency for a * SageMaker Serverless endpoint. *

        *
      • *
      • *

        * sagemaker:inference-component:DesiredCopyCount - The number of copies across an endpoint for * a SageMaker inference component. *

        *
      • * @see ScalableDimension */ public final String scalableDimensionAsString() { return scalableDimension; } /** *

        * The minimum value that you plan to scale in to. When a scaling policy is in effect, Application Auto Scaling can * scale in (contract) as needed to the minimum capacity limit in response to changing demand. This property is * required when registering a new scalable target. *

        *

        * For the following resources, the minimum value allowed is 0. *

        *
          *
        • *

          * AppStream 2.0 fleets *

          *
        • *
        • *

          * Aurora DB clusters *

          *
        • *
        • *

          * ECS services *

          *
        • *
        • *

          * EMR clusters *

          *
        • *
        • *

          * Lambda provisioned concurrency *

          *
        • *
        • *

          * SageMaker endpoint variants *

          *
        • *
        • *

          * SageMaker Serverless endpoint provisioned concurrency *

          *
        • *
        • *

          * Spot Fleets *

          *
        • *
        • *

          * custom resources *

          *
        • *
        *

        * It's strongly recommended that you specify a value greater than 0. A value greater than 0 means that data points * are continuously reported to CloudWatch that scaling policies can use to scale on a metric like average CPU * utilization. *

        *

        * For all other resources, the minimum allowed value depends on the type of resource that you are using. If you * provide a value that is lower than what a resource can accept, an error occurs. In which case, the error message * will provide the minimum value that the resource can accept. *

        * * @return The minimum value that you plan to scale in to. When a scaling policy is in effect, Application Auto * Scaling can scale in (contract) as needed to the minimum capacity limit in response to changing demand. * This property is required when registering a new scalable target.

        *

        * For the following resources, the minimum value allowed is 0. *

        *
          *
        • *

          * AppStream 2.0 fleets *

          *
        • *
        • *

          * Aurora DB clusters *

          *
        • *
        • *

          * ECS services *

          *
        • *
        • *

          * EMR clusters *

          *
        • *
        • *

          * Lambda provisioned concurrency *

          *
        • *
        • *

          * SageMaker endpoint variants *

          *
        • *
        • *

          * SageMaker Serverless endpoint provisioned concurrency *

          *
        • *
        • *

          * Spot Fleets *

          *
        • *
        • *

          * custom resources *

          *
        • *
        *

        * It's strongly recommended that you specify a value greater than 0. A value greater than 0 means that data * points are continuously reported to CloudWatch that scaling policies can use to scale on a metric like * average CPU utilization. *

        *

        * For all other resources, the minimum allowed value depends on the type of resource that you are using. If * you provide a value that is lower than what a resource can accept, an error occurs. In which case, the * error message will provide the minimum value that the resource can accept. */ public final Integer minCapacity() { return minCapacity; } /** *

        * The maximum value that you plan to scale out to. When a scaling policy is in effect, Application Auto Scaling can * scale out (expand) as needed to the maximum capacity limit in response to changing demand. This property is * required when registering a new scalable target. *

        *

        * Although you can specify a large maximum capacity, note that service quotas might impose lower limits. Each * service has its own default quotas for the maximum capacity of the resource. If you want to specify a higher * limit, you can request an increase. For more information, consult the documentation for that service. For * information about the default quotas for each service, see Service endpoints and * quotas in the Amazon Web Services General Reference. *

        * * @return The maximum value that you plan to scale out to. When a scaling policy is in effect, Application Auto * Scaling can scale out (expand) as needed to the maximum capacity limit in response to changing demand. * This property is required when registering a new scalable target.

        *

        * Although you can specify a large maximum capacity, note that service quotas might impose lower limits. * Each service has its own default quotas for the maximum capacity of the resource. If you want to specify * a higher limit, you can request an increase. For more information, consult the documentation for that * service. For information about the default quotas for each service, see Service endpoints and * quotas in the Amazon Web Services General Reference. */ public final Integer maxCapacity() { return maxCapacity; } /** *

        * This parameter is required for services that do not support service-linked roles (such as Amazon EMR), and it * must specify the ARN of an IAM role that allows Application Auto Scaling to modify the scalable target on your * behalf. *

        *

        * If the service supports service-linked roles, Application Auto Scaling uses a service-linked role, which it * creates if it does not yet exist. For more information, see Application Auto Scaling IAM roles. *

        * * @return This parameter is required for services that do not support service-linked roles (such as Amazon EMR), * and it must specify the ARN of an IAM role that allows Application Auto Scaling to modify the scalable * target on your behalf.

        *

        * If the service supports service-linked roles, Application Auto Scaling uses a service-linked role, which * it creates if it does not yet exist. For more information, see Application Auto Scaling IAM roles. */ public final String roleARN() { return roleARN; } /** *

        * An embedded object that contains attributes and attribute values that are used to suspend and resume automatic * scaling. Setting the value of an attribute to true suspends the specified scaling activities. * Setting it to false (default) resumes the specified scaling activities. *

        *

        * Suspension Outcomes *

        *
          *
        • *

          * For DynamicScalingInSuspended, while a suspension is in effect, all scale-in activities that are * triggered by a scaling policy are suspended. *

          *
        • *
        • *

          * For DynamicScalingOutSuspended, while a suspension is in effect, all scale-out activities that are * triggered by a scaling policy are suspended. *

          *
        • *
        • *

          * For ScheduledScalingSuspended, while a suspension is in effect, all scaling activities that involve * scheduled actions are suspended. *

          *
        • *
        *

        * For more information, see Suspending and resuming scaling in the Application Auto Scaling User Guide. *

        * * @return An embedded object that contains attributes and attribute values that are used to suspend and resume * automatic scaling. Setting the value of an attribute to true suspends the specified scaling * activities. Setting it to false (default) resumes the specified scaling activities.

        *

        * Suspension Outcomes *

        *
          *
        • *

          * For DynamicScalingInSuspended, while a suspension is in effect, all scale-in activities that * are triggered by a scaling policy are suspended. *

          *
        • *
        • *

          * For DynamicScalingOutSuspended, while a suspension is in effect, all scale-out activities * that are triggered by a scaling policy are suspended. *

          *
        • *
        • *

          * For ScheduledScalingSuspended, while a suspension is in effect, all scaling activities that * involve scheduled actions are suspended. *

          *
        • *
        *

        * For more information, see Suspending and resuming scaling in the Application Auto Scaling User Guide. */ public final SuspendedState suspendedState() { return suspendedState; } /** * For responses, this returns true if the service returned a value for the Tags property. This DOES NOT check that * the value is non-empty (for which, you should check the {@code isEmpty()} method on the property). This is useful * because the SDK will never return a null collection or map, but you may need to differentiate between the service * returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true * if a value for the property was specified in the request builder, and false if a value was not specified. */ public final boolean hasTags() { return tags != null && !(tags instanceof SdkAutoConstructMap); } /** *

        * Assigns one or more tags to the scalable target. Use this parameter to tag the scalable target when it is * created. To tag an existing scalable target, use the TagResource operation. *

        *

        * Each tag consists of a tag key and a tag value. Both the tag key and the tag value are required. You cannot have * more than one tag on a scalable target with the same tag key. *

        *

        * Use tags to control access to a scalable target. For more information, see Tagging * support for Application Auto Scaling in the Application Auto Scaling User Guide. *

        *

        * Attempts to modify the collection returned by this method will result in an UnsupportedOperationException. *

        *

        * This method will never return null. If you would like to know whether the service returned this field (so that * you can differentiate between null and empty), you can use the {@link #hasTags} method. *

        * * @return Assigns one or more tags to the scalable target. Use this parameter to tag the scalable target when it is * created. To tag an existing scalable target, use the TagResource operation.

        *

        * Each tag consists of a tag key and a tag value. Both the tag key and the tag value are required. You * cannot have more than one tag on a scalable target with the same tag key. *

        *

        * Use tags to control access to a scalable target. For more information, see Tagging support for Application Auto Scaling in the Application Auto Scaling User Guide. */ public final Map tags() { return tags; } @Override public Builder toBuilder() { return new BuilderImpl(this); } public static Builder builder() { return new BuilderImpl(); } public static Class serializableBuilderClass() { return BuilderImpl.class; } @Override public final int hashCode() { int hashCode = 1; hashCode = 31 * hashCode + super.hashCode(); hashCode = 31 * hashCode + Objects.hashCode(serviceNamespaceAsString()); hashCode = 31 * hashCode + Objects.hashCode(resourceId()); hashCode = 31 * hashCode + Objects.hashCode(scalableDimensionAsString()); hashCode = 31 * hashCode + Objects.hashCode(minCapacity()); hashCode = 31 * hashCode + Objects.hashCode(maxCapacity()); hashCode = 31 * hashCode + Objects.hashCode(roleARN()); hashCode = 31 * hashCode + Objects.hashCode(suspendedState()); hashCode = 31 * hashCode + Objects.hashCode(hasTags() ? tags() : null); return hashCode; } @Override public final boolean equals(Object obj) { return super.equals(obj) && equalsBySdkFields(obj); } @Override public final boolean equalsBySdkFields(Object obj) { if (this == obj) { return true; } if (obj == null) { return false; } if (!(obj instanceof RegisterScalableTargetRequest)) { return false; } RegisterScalableTargetRequest other = (RegisterScalableTargetRequest) obj; return Objects.equals(serviceNamespaceAsString(), other.serviceNamespaceAsString()) && Objects.equals(resourceId(), other.resourceId()) && Objects.equals(scalableDimensionAsString(), other.scalableDimensionAsString()) && Objects.equals(minCapacity(), other.minCapacity()) && Objects.equals(maxCapacity(), other.maxCapacity()) && Objects.equals(roleARN(), other.roleARN()) && Objects.equals(suspendedState(), other.suspendedState()) && hasTags() == other.hasTags() && Objects.equals(tags(), other.tags()); } /** * Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be * redacted from this string using a placeholder value. */ @Override public final String toString() { return ToString.builder("RegisterScalableTargetRequest").add("ServiceNamespace", serviceNamespaceAsString()) .add("ResourceId", resourceId()).add("ScalableDimension", scalableDimensionAsString()) .add("MinCapacity", minCapacity()).add("MaxCapacity", maxCapacity()).add("RoleARN", roleARN()) .add("SuspendedState", suspendedState()).add("Tags", hasTags() ? tags() : null).build(); } public final Optional getValueForField(String fieldName, Class clazz) { switch (fieldName) { case "ServiceNamespace": return Optional.ofNullable(clazz.cast(serviceNamespaceAsString())); case "ResourceId": return Optional.ofNullable(clazz.cast(resourceId())); case "ScalableDimension": return Optional.ofNullable(clazz.cast(scalableDimensionAsString())); case "MinCapacity": return Optional.ofNullable(clazz.cast(minCapacity())); case "MaxCapacity": return Optional.ofNullable(clazz.cast(maxCapacity())); case "RoleARN": return Optional.ofNullable(clazz.cast(roleARN())); case "SuspendedState": return Optional.ofNullable(clazz.cast(suspendedState())); case "Tags": return Optional.ofNullable(clazz.cast(tags())); default: return Optional.empty(); } } @Override public final List> sdkFields() { return SDK_FIELDS; } private static Function getter(Function g) { return obj -> g.apply((RegisterScalableTargetRequest) obj); } private static BiConsumer setter(BiConsumer s) { return (obj, val) -> s.accept((Builder) obj, val); } public interface Builder extends ApplicationAutoScalingRequest.Builder, SdkPojo, CopyableBuilder { /** *

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

        * * @param serviceNamespace * 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. * @see ServiceNamespace * @return Returns a reference to this object so that method calls can be chained together. * @see ServiceNamespace */ Builder serviceNamespace(String serviceNamespace); /** *

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

        * * @param serviceNamespace * 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. * @see ServiceNamespace * @return Returns a reference to this object so that method calls can be chained together. * @see ServiceNamespace */ Builder serviceNamespace(ServiceNamespace serviceNamespace); /** *

        * The identifier of the resource that is 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 - 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. *

          *
        • *
        • *

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

          *
        • *
        • *

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

          *
        • *
        • *

          * Neptune cluster - The resource type is cluster and the unique identifier is the cluster name. * Example: cluster:mycluster. *

          *
        • *
        • *

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

          *
        • *
        • *

          * SageMaker inference component - The resource type is inference-component and the unique * identifier is the resource ID. Example: inference-component/my-inference-component. *

          *
        • *
        * * @param resourceId * The identifier of the resource that is 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 - 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. *

          *
        • *
        • *

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

          *
        • *
        • *

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

          *
        • *
        • *

          * Neptune cluster - The resource type is cluster and the unique identifier is the cluster * name. Example: cluster:mycluster. *

          *
        • *
        • *

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

          *
        • *
        • *

          * SageMaker inference component - The resource type is inference-component and the unique * identifier is the resource ID. Example: inference-component/my-inference-component. *

          *
        • * @return Returns a reference to this object so that method calls can be chained together. */ Builder resourceId(String resourceId); /** *

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

            *
          • *
          • *

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

            *
          • *
          • *

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

            *
          • *
          • *

            * 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 a 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. *

            *
          • *
          • *

            * neptune:cluster:ReadReplicaCount - The count of read replicas in an Amazon Neptune DB cluster. *

            *
          • *
          • *

            * sagemaker:variant:DesiredProvisionedConcurrency - The provisioned concurrency for a SageMaker * Serverless endpoint. *

            *
          • *
          • *

            * sagemaker:inference-component:DesiredCopyCount - The number of copies across an endpoint for a * SageMaker inference component. *

            *
          • *
          * * @param 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. *

            *
          • *
          • *

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

            *
          • *
          • *

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

            *
          • *
          • *

            * 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 a 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. *

            *
          • *
          • *

            * neptune:cluster:ReadReplicaCount - The count of read replicas in an Amazon Neptune DB * cluster. *

            *
          • *
          • *

            * sagemaker:variant:DesiredProvisionedConcurrency - The provisioned concurrency for a * SageMaker Serverless endpoint. *

            *
          • *
          • *

            * sagemaker:inference-component:DesiredCopyCount - The number of copies across an endpoint * for a SageMaker inference component. *

            *
          • * @see ScalableDimension * @return Returns a reference to this object so that method calls can be chained together. * @see ScalableDimension */ Builder scalableDimension(String 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. *

              *
            • *
            • *

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

              *
            • *
            • *

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

              *
            • *
            • *

              * 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 a 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. *

              *
            • *
            • *

              * neptune:cluster:ReadReplicaCount - The count of read replicas in an Amazon Neptune DB cluster. *

              *
            • *
            • *

              * sagemaker:variant:DesiredProvisionedConcurrency - The provisioned concurrency for a SageMaker * Serverless endpoint. *

              *
            • *
            • *

              * sagemaker:inference-component:DesiredCopyCount - The number of copies across an endpoint for a * SageMaker inference component. *

              *
            • *
            * * @param 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. *

              *
            • *
            • *

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

              *
            • *
            • *

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

              *
            • *
            • *

              * 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 a 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. *

              *
            • *
            • *

              * neptune:cluster:ReadReplicaCount - The count of read replicas in an Amazon Neptune DB * cluster. *

              *
            • *
            • *

              * sagemaker:variant:DesiredProvisionedConcurrency - The provisioned concurrency for a * SageMaker Serverless endpoint. *

              *
            • *
            • *

              * sagemaker:inference-component:DesiredCopyCount - The number of copies across an endpoint * for a SageMaker inference component. *

              *
            • * @see ScalableDimension * @return Returns a reference to this object so that method calls can be chained together. * @see ScalableDimension */ Builder scalableDimension(ScalableDimension scalableDimension); /** *

              * The minimum value that you plan to scale in to. When a scaling policy is in effect, Application Auto Scaling * can scale in (contract) as needed to the minimum capacity limit in response to changing demand. This property * is required when registering a new scalable target. *

              *

              * For the following resources, the minimum value allowed is 0. *

              *
                *
              • *

                * AppStream 2.0 fleets *

                *
              • *
              • *

                * Aurora DB clusters *

                *
              • *
              • *

                * ECS services *

                *
              • *
              • *

                * EMR clusters *

                *
              • *
              • *

                * Lambda provisioned concurrency *

                *
              • *
              • *

                * SageMaker endpoint variants *

                *
              • *
              • *

                * SageMaker Serverless endpoint provisioned concurrency *

                *
              • *
              • *

                * Spot Fleets *

                *
              • *
              • *

                * custom resources *

                *
              • *
              *

              * It's strongly recommended that you specify a value greater than 0. A value greater than 0 means that data * points are continuously reported to CloudWatch that scaling policies can use to scale on a metric like * average CPU utilization. *

              *

              * For all other resources, the minimum allowed value depends on the type of resource that you are using. If you * provide a value that is lower than what a resource can accept, an error occurs. In which case, the error * message will provide the minimum value that the resource can accept. *

              * * @param minCapacity * The minimum value that you plan to scale in to. When a scaling policy is in effect, Application Auto * Scaling can scale in (contract) as needed to the minimum capacity limit in response to changing * demand. This property is required when registering a new scalable target.

              *

              * For the following resources, the minimum value allowed is 0. *

              *
                *
              • *

                * AppStream 2.0 fleets *

                *
              • *
              • *

                * Aurora DB clusters *

                *
              • *
              • *

                * ECS services *

                *
              • *
              • *

                * EMR clusters *

                *
              • *
              • *

                * Lambda provisioned concurrency *

                *
              • *
              • *

                * SageMaker endpoint variants *

                *
              • *
              • *

                * SageMaker Serverless endpoint provisioned concurrency *

                *
              • *
              • *

                * Spot Fleets *

                *
              • *
              • *

                * custom resources *

                *
              • *
              *

              * It's strongly recommended that you specify a value greater than 0. A value greater than 0 means that * data points are continuously reported to CloudWatch that scaling policies can use to scale on a metric * like average CPU utilization. *

              *

              * For all other resources, the minimum allowed value depends on the type of resource that you are using. * If you provide a value that is lower than what a resource can accept, an error occurs. In which case, * the error message will provide the minimum value that the resource can accept. * @return Returns a reference to this object so that method calls can be chained together. */ Builder minCapacity(Integer minCapacity); /** *

              * The maximum value that you plan to scale out to. When a scaling policy is in effect, Application Auto Scaling * can scale out (expand) as needed to the maximum capacity limit in response to changing demand. This property * is required when registering a new scalable target. *

              *

              * Although you can specify a large maximum capacity, note that service quotas might impose lower limits. Each * service has its own default quotas for the maximum capacity of the resource. If you want to specify a higher * limit, you can request an increase. For more information, consult the documentation for that service. For * information about the default quotas for each service, see Service endpoints and * quotas in the Amazon Web Services General Reference. *

              * * @param maxCapacity * The maximum value that you plan to scale out to. When a scaling policy is in effect, Application Auto * Scaling can scale out (expand) as needed to the maximum capacity limit in response to changing demand. * This property is required when registering a new scalable target.

              *

              * Although you can specify a large maximum capacity, note that service quotas might impose lower limits. * Each service has its own default quotas for the maximum capacity of the resource. If you want to * specify a higher limit, you can request an increase. For more information, consult the documentation * for that service. For information about the default quotas for each service, see Service endpoints * and quotas in the Amazon Web Services General Reference. * @return Returns a reference to this object so that method calls can be chained together. */ Builder maxCapacity(Integer maxCapacity); /** *

              * This parameter is required for services that do not support service-linked roles (such as Amazon EMR), and it * must specify the ARN of an IAM role that allows Application Auto Scaling to modify the scalable target on * your behalf. *

              *

              * If the service supports service-linked roles, Application Auto Scaling uses a service-linked role, which it * creates if it does not yet exist. For more information, see Application Auto Scaling IAM roles. *

              * * @param roleARN * This parameter is required for services that do not support service-linked roles (such as Amazon EMR), * and it must specify the ARN of an IAM role that allows Application Auto Scaling to modify the scalable * target on your behalf.

              *

              * If the service supports service-linked roles, Application Auto Scaling uses a service-linked role, * which it creates if it does not yet exist. For more information, see Application Auto Scaling IAM roles. * @return Returns a reference to this object so that method calls can be chained together. */ Builder roleARN(String roleARN); /** *

              * An embedded object that contains attributes and attribute values that are used to suspend and resume * automatic scaling. Setting the value of an attribute to true suspends the specified scaling * activities. Setting it to false (default) resumes the specified scaling activities. *

              *

              * Suspension Outcomes *

              *
                *
              • *

                * For DynamicScalingInSuspended, while a suspension is in effect, all scale-in activities that are * triggered by a scaling policy are suspended. *

                *
              • *
              • *

                * For DynamicScalingOutSuspended, while a suspension is in effect, all scale-out activities that * are triggered by a scaling policy are suspended. *

                *
              • *
              • *

                * For ScheduledScalingSuspended, while a suspension is in effect, all scaling activities that * involve scheduled actions are suspended. *

                *
              • *
              *

              * For more information, see Suspending and resuming scaling in the Application Auto Scaling User Guide. *

              * * @param suspendedState * An embedded object that contains attributes and attribute values that are used to suspend and resume * automatic scaling. Setting the value of an attribute to true suspends the specified * scaling activities. Setting it to false (default) resumes the specified scaling * activities.

              *

              * Suspension Outcomes *

              *
                *
              • *

                * For DynamicScalingInSuspended, while a suspension is in effect, all scale-in activities * that are triggered by a scaling policy are suspended. *

                *
              • *
              • *

                * For DynamicScalingOutSuspended, while a suspension is in effect, all scale-out activities * that are triggered by a scaling policy are suspended. *

                *
              • *
              • *

                * For ScheduledScalingSuspended, while a suspension is in effect, all scaling activities * that involve scheduled actions are suspended. *

                *
              • *
              *

              * For more information, see Suspending and resuming scaling in the Application Auto Scaling User Guide. * @return Returns a reference to this object so that method calls can be chained together. */ Builder suspendedState(SuspendedState suspendedState); /** *

              * An embedded object that contains attributes and attribute values that are used to suspend and resume * automatic scaling. Setting the value of an attribute to true suspends the specified scaling * activities. Setting it to false (default) resumes the specified scaling activities. *

              *

              * Suspension Outcomes *

              *
                *
              • *

                * For DynamicScalingInSuspended, while a suspension is in effect, all scale-in activities that are * triggered by a scaling policy are suspended. *

                *
              • *
              • *

                * For DynamicScalingOutSuspended, while a suspension is in effect, all scale-out activities that * are triggered by a scaling policy are suspended. *

                *
              • *
              • *

                * For ScheduledScalingSuspended, while a suspension is in effect, all scaling activities that * involve scheduled actions are suspended. *

                *
              • *
              *

              * For more information, see Suspending and resuming scaling in the Application Auto Scaling User Guide. *

              * This is a convenience method that creates an instance of the {@link SuspendedState.Builder} avoiding the need * to create one manually via {@link SuspendedState#builder()}. * *

              * When the {@link Consumer} completes, {@link SuspendedState.Builder#build()} is called immediately and its * result is passed to {@link #suspendedState(SuspendedState)}. * * @param suspendedState * a consumer that will call methods on {@link SuspendedState.Builder} * @return Returns a reference to this object so that method calls can be chained together. * @see #suspendedState(SuspendedState) */ default Builder suspendedState(Consumer suspendedState) { return suspendedState(SuspendedState.builder().applyMutation(suspendedState).build()); } /** *

              * Assigns one or more tags to the scalable target. Use this parameter to tag the scalable target when it is * created. To tag an existing scalable target, use the TagResource operation. *

              *

              * Each tag consists of a tag key and a tag value. Both the tag key and the tag value are required. You cannot * have more than one tag on a scalable target with the same tag key. *

              *

              * Use tags to control access to a scalable target. For more information, see Tagging * support for Application Auto Scaling in the Application Auto Scaling User Guide. *

              * * @param tags * Assigns one or more tags to the scalable target. Use this parameter to tag the scalable target when it * is created. To tag an existing scalable target, use the TagResource operation.

              *

              * Each tag consists of a tag key and a tag value. Both the tag key and the tag value are required. You * cannot have more than one tag on a scalable target with the same tag key. *

              *

              * Use tags to control access to a scalable target. For more information, see Tagging support for Application Auto Scaling in the Application Auto Scaling User Guide. * @return Returns a reference to this object so that method calls can be chained together. */ Builder tags(Map tags); @Override Builder overrideConfiguration(AwsRequestOverrideConfiguration overrideConfiguration); @Override Builder overrideConfiguration(Consumer builderConsumer); } static final class BuilderImpl extends ApplicationAutoScalingRequest.BuilderImpl implements Builder { private String serviceNamespace; private String resourceId; private String scalableDimension; private Integer minCapacity; private Integer maxCapacity; private String roleARN; private SuspendedState suspendedState; private Map tags = DefaultSdkAutoConstructMap.getInstance(); private BuilderImpl() { } private BuilderImpl(RegisterScalableTargetRequest model) { super(model); serviceNamespace(model.serviceNamespace); resourceId(model.resourceId); scalableDimension(model.scalableDimension); minCapacity(model.minCapacity); maxCapacity(model.maxCapacity); roleARN(model.roleARN); suspendedState(model.suspendedState); tags(model.tags); } public final String getServiceNamespace() { return serviceNamespace; } public final void setServiceNamespace(String serviceNamespace) { this.serviceNamespace = serviceNamespace; } @Override public final Builder serviceNamespace(String serviceNamespace) { this.serviceNamespace = serviceNamespace; return this; } @Override public final Builder serviceNamespace(ServiceNamespace serviceNamespace) { this.serviceNamespace(serviceNamespace == null ? null : serviceNamespace.toString()); return this; } public final String getResourceId() { return resourceId; } public final void setResourceId(String resourceId) { this.resourceId = resourceId; } @Override public final Builder resourceId(String resourceId) { this.resourceId = resourceId; return this; } public final String getScalableDimension() { return scalableDimension; } public final void setScalableDimension(String scalableDimension) { this.scalableDimension = scalableDimension; } @Override public final Builder scalableDimension(String scalableDimension) { this.scalableDimension = scalableDimension; return this; } @Override public final Builder scalableDimension(ScalableDimension scalableDimension) { this.scalableDimension(scalableDimension == null ? null : scalableDimension.toString()); return this; } public final Integer getMinCapacity() { return minCapacity; } public final void setMinCapacity(Integer minCapacity) { this.minCapacity = minCapacity; } @Override public final Builder minCapacity(Integer minCapacity) { this.minCapacity = minCapacity; return this; } public final Integer getMaxCapacity() { return maxCapacity; } public final void setMaxCapacity(Integer maxCapacity) { this.maxCapacity = maxCapacity; } @Override public final Builder maxCapacity(Integer maxCapacity) { this.maxCapacity = maxCapacity; return this; } public final String getRoleARN() { return roleARN; } public final void setRoleARN(String roleARN) { this.roleARN = roleARN; } @Override public final Builder roleARN(String roleARN) { this.roleARN = roleARN; return this; } public final SuspendedState.Builder getSuspendedState() { return suspendedState != null ? suspendedState.toBuilder() : null; } public final void setSuspendedState(SuspendedState.BuilderImpl suspendedState) { this.suspendedState = suspendedState != null ? suspendedState.build() : null; } @Override public final Builder suspendedState(SuspendedState suspendedState) { this.suspendedState = suspendedState; return this; } public final Map getTags() { if (tags instanceof SdkAutoConstructMap) { return null; } return tags; } public final void setTags(Map tags) { this.tags = TagMapCopier.copy(tags); } @Override public final Builder tags(Map tags) { this.tags = TagMapCopier.copy(tags); return this; } @Override public Builder overrideConfiguration(AwsRequestOverrideConfiguration overrideConfiguration) { super.overrideConfiguration(overrideConfiguration); return this; } @Override public Builder overrideConfiguration(Consumer builderConsumer) { super.overrideConfiguration(builderConsumer); return this; } @Override public RegisterScalableTargetRequest build() { return new RegisterScalableTargetRequest(this); } @Override public List> sdkFields() { return SDK_FIELDS; } } }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy