software.amazon.awssdk.services.applicationautoscaling.model.DeregisterScalableTargetRequest Maven / Gradle / Ivy
Show all versions of applicationautoscaling Show documentation
/*
* 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.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.utils.ToString;
import software.amazon.awssdk.utils.builder.CopyableBuilder;
import software.amazon.awssdk.utils.builder.ToCopyableBuilder;
/**
*/
@Generated("software.amazon.awssdk:codegen")
public final class DeregisterScalableTargetRequest extends ApplicationAutoScalingRequest implements
ToCopyableBuilder {
private static final SdkField SERVICE_NAMESPACE_FIELD = SdkField. builder(MarshallingType.STRING)
.memberName("ServiceNamespace").getter(getter(DeregisterScalableTargetRequest::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(DeregisterScalableTargetRequest::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(DeregisterScalableTargetRequest::scalableDimensionAsString))
.setter(setter(Builder::scalableDimension))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("ScalableDimension").build()).build();
private static final List> SDK_FIELDS = Collections.unmodifiableList(Arrays.asList(SERVICE_NAMESPACE_FIELD,
RESOURCE_ID_FIELD, SCALABLE_DIMENSION_FIELD));
private final String serviceNamespace;
private final String resourceId;
private final String scalableDimension;
private DeregisterScalableTargetRequest(BuilderImpl builder) {
super(builder);
this.serviceNamespace = builder.serviceNamespace;
this.resourceId = builder.resourceId;
this.scalableDimension = builder.scalableDimension;
}
/**
*
* 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 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 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;
}
@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());
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 DeregisterScalableTargetRequest)) {
return false;
}
DeregisterScalableTargetRequest other = (DeregisterScalableTargetRequest) obj;
return Objects.equals(serviceNamespaceAsString(), other.serviceNamespaceAsString())
&& Objects.equals(resourceId(), other.resourceId())
&& Objects.equals(scalableDimensionAsString(), other.scalableDimensionAsString());
}
/**
* 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("DeregisterScalableTargetRequest").add("ServiceNamespace", serviceNamespaceAsString())
.add("ResourceId", resourceId()).add("ScalableDimension", scalableDimensionAsString()).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()));
default:
return Optional.empty();
}
}
@Override
public final List> sdkFields() {
return SDK_FIELDS;
}
private static Function