/* * Copyright 2018-2023 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 com.amazonaws.services.autoscalingplans.model; import java.io.Serializable; import javax.annotation.Generated; import com.amazonaws.protocol.StructuredPojo; import com.amazonaws.protocol.ProtocolMarshaller; /** *
* Represents a scalable resource. *
* * @see AWS API Documentation */ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class ScalingPlanResource implements Serializable, Cloneable, StructuredPojo { /** ** The name of the scaling plan. *
*/ private String scalingPlanName; /** ** The version number of the scaling plan. *
*/ private Long scalingPlanVersion; /** ** The namespace of the AWS service. *
*/ private String serviceNamespace; /** ** The ID of the resource. This string consists of the resource type and unique identifier. *
*
* Auto Scaling group - The resource type is autoScalingGroup
and the unique identifier is the name of
* the Auto Scaling group. Example: autoScalingGroup/my-asg
.
*
* ECS service - The resource type is service
and the unique identifier is the cluster name and service
* name. Example: service/default/sample-webapp
.
*
* Spot Fleet request - The resource type is spot-fleet-request
and the unique identifier is the Spot
* Fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE
.
*
* DynamoDB table - The resource type is table
and the unique identifier is the resource ID. Example:
* table/my-table
.
*
* DynamoDB global secondary index - The resource type is index
and the unique identifier is the
* resource ID. Example: table/my-table/index/my-table-index
.
*
* Aurora DB cluster - The resource type is cluster
and the unique identifier is the cluster name.
* Example: cluster:my-db-cluster
.
*
* The scalable dimension for the resource. *
*
* autoscaling:autoScalingGroup:DesiredCapacity
- The desired capacity of an Auto Scaling group.
*
* ecs:service:DesiredCount
- The desired task count of an ECS service.
*
* ec2:spot-fleet-request:TargetCapacity
- The target capacity of a Spot Fleet request.
*
* 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.
*
* The scaling policies. *
*/ private java.util.List* The scaling status of the resource. *
*
* Active
- The scaling configuration is active.
*
* Inactive
- The scaling configuration is not active because the scaling plan is being created or the
* scaling configuration could not be applied. Check the status message for more information.
*
* PartiallyActive
- The scaling configuration is partially active because the scaling plan is being
* created or deleted or the scaling configuration could not be fully applied. Check the status message for more
* information.
*
* A simple message about the current scaling status of the resource. *
*/ private String scalingStatusMessage; /** ** The name of the scaling plan. *
* * @param scalingPlanName * The name of the scaling plan. */ public void setScalingPlanName(String scalingPlanName) { this.scalingPlanName = scalingPlanName; } /** ** The name of the scaling plan. *
* * @return The name of the scaling plan. */ public String getScalingPlanName() { return this.scalingPlanName; } /** ** The name of the scaling plan. *
* * @param scalingPlanName * The name of the scaling plan. * @return Returns a reference to this object so that method calls can be chained together. */ public ScalingPlanResource withScalingPlanName(String scalingPlanName) { setScalingPlanName(scalingPlanName); return this; } /** ** The version number of the scaling plan. *
* * @param scalingPlanVersion * The version number of the scaling plan. */ public void setScalingPlanVersion(Long scalingPlanVersion) { this.scalingPlanVersion = scalingPlanVersion; } /** ** The version number of the scaling plan. *
* * @return The version number of the scaling plan. */ public Long getScalingPlanVersion() { return this.scalingPlanVersion; } /** ** The version number of the scaling plan. *
* * @param scalingPlanVersion * The version number of the scaling plan. * @return Returns a reference to this object so that method calls can be chained together. */ public ScalingPlanResource withScalingPlanVersion(Long scalingPlanVersion) { setScalingPlanVersion(scalingPlanVersion); return this; } /** ** The namespace of the AWS service. *
* * @param serviceNamespace * The namespace of the AWS service. * @see ServiceNamespace */ public void setServiceNamespace(String serviceNamespace) { this.serviceNamespace = serviceNamespace; } /** ** The namespace of the AWS service. *
* * @return The namespace of the AWS service. * @see ServiceNamespace */ public String getServiceNamespace() { return this.serviceNamespace; } /** ** The namespace of the AWS service. *
* * @param serviceNamespace * The namespace of the AWS service. * @return Returns a reference to this object so that method calls can be chained together. * @see ServiceNamespace */ public ScalingPlanResource withServiceNamespace(String serviceNamespace) { setServiceNamespace(serviceNamespace); return this; } /** ** The namespace of the AWS service. *
* * @param serviceNamespace * The namespace of the AWS service. * @return Returns a reference to this object so that method calls can be chained together. * @see ServiceNamespace */ public ScalingPlanResource withServiceNamespace(ServiceNamespace serviceNamespace) { this.serviceNamespace = serviceNamespace.toString(); return this; } /** ** The ID of the resource. This string consists of the resource type and unique identifier. *
*
* Auto Scaling group - The resource type is autoScalingGroup
and the unique identifier is the name of
* the Auto Scaling group. Example: autoScalingGroup/my-asg
.
*
* ECS service - The resource type is service
and the unique identifier is the cluster name and service
* name. Example: service/default/sample-webapp
.
*
* Spot Fleet request - The resource type is spot-fleet-request
and the unique identifier is the Spot
* Fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE
.
*
* DynamoDB table - The resource type is table
and the unique identifier is the resource ID. Example:
* table/my-table
.
*
* DynamoDB global secondary index - The resource type is index
and the unique identifier is the
* resource ID. Example: table/my-table/index/my-table-index
.
*
* Aurora DB cluster - The resource type is cluster
and the unique identifier is the cluster name.
* Example: cluster:my-db-cluster
.
*
* Auto Scaling group - The resource type is autoScalingGroup
and the unique identifier is the
* name of the Auto Scaling group. Example: autoScalingGroup/my-asg
.
*
* ECS service - The resource type is service
and the unique identifier is the cluster name and
* service name. Example: service/default/sample-webapp
.
*
* Spot Fleet request - The resource type is spot-fleet-request
and the unique identifier is the
* Spot Fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE
.
*
* DynamoDB table - The resource type is table
and the unique identifier is the resource ID.
* Example: table/my-table
.
*
* DynamoDB global secondary index - The resource type is index
and the unique identifier is the
* resource ID. Example: table/my-table/index/my-table-index
.
*
* Aurora DB cluster - The resource type is cluster
and the unique identifier is the cluster
* name. Example: cluster:my-db-cluster
.
*
* The ID of the resource. This string consists of the resource type and unique identifier. *
*
* Auto Scaling group - The resource type is autoScalingGroup
and the unique identifier is the name of
* the Auto Scaling group. Example: autoScalingGroup/my-asg
.
*
* ECS service - The resource type is service
and the unique identifier is the cluster name and service
* name. Example: service/default/sample-webapp
.
*
* Spot Fleet request - The resource type is spot-fleet-request
and the unique identifier is the Spot
* Fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE
.
*
* DynamoDB table - The resource type is table
and the unique identifier is the resource ID. Example:
* table/my-table
.
*
* DynamoDB global secondary index - The resource type is index
and the unique identifier is the
* resource ID. Example: table/my-table/index/my-table-index
.
*
* Aurora DB cluster - The resource type is cluster
and the unique identifier is the cluster name.
* Example: cluster:my-db-cluster
.
*
* Auto Scaling group - The resource type is autoScalingGroup
and the unique identifier is the
* name of the Auto Scaling group. Example: autoScalingGroup/my-asg
.
*
* ECS service - The resource type is service
and the unique identifier is the cluster name and
* service name. Example: service/default/sample-webapp
.
*
* Spot Fleet request - The resource type is spot-fleet-request
and the unique identifier is
* the Spot Fleet request ID. Example:
* spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE
.
*
* DynamoDB table - The resource type is table
and the unique identifier is the resource ID.
* Example: table/my-table
.
*
* DynamoDB global secondary index - The resource type is index
and the unique identifier is
* the resource ID. Example: table/my-table/index/my-table-index
.
*
* Aurora DB cluster - The resource type is cluster
and the unique identifier is the cluster
* name. Example: cluster:my-db-cluster
.
*
* The ID of the resource. This string consists of the resource type and unique identifier. *
*
* Auto Scaling group - The resource type is autoScalingGroup
and the unique identifier is the name of
* the Auto Scaling group. Example: autoScalingGroup/my-asg
.
*
* ECS service - The resource type is service
and the unique identifier is the cluster name and service
* name. Example: service/default/sample-webapp
.
*
* Spot Fleet request - The resource type is spot-fleet-request
and the unique identifier is the Spot
* Fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE
.
*
* DynamoDB table - The resource type is table
and the unique identifier is the resource ID. Example:
* table/my-table
.
*
* DynamoDB global secondary index - The resource type is index
and the unique identifier is the
* resource ID. Example: table/my-table/index/my-table-index
.
*
* Aurora DB cluster - The resource type is cluster
and the unique identifier is the cluster name.
* Example: cluster:my-db-cluster
.
*
* Auto Scaling group - The resource type is autoScalingGroup
and the unique identifier is the
* name of the Auto Scaling group. Example: autoScalingGroup/my-asg
.
*
* ECS service - The resource type is service
and the unique identifier is the cluster name and
* service name. Example: service/default/sample-webapp
.
*
* Spot Fleet request - The resource type is spot-fleet-request
and the unique identifier is the
* Spot Fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE
.
*
* DynamoDB table - The resource type is table
and the unique identifier is the resource ID.
* Example: table/my-table
.
*
* DynamoDB global secondary index - The resource type is index
and the unique identifier is the
* resource ID. Example: table/my-table/index/my-table-index
.
*
* Aurora DB cluster - The resource type is cluster
and the unique identifier is the cluster
* name. Example: cluster:my-db-cluster
.
*
* The scalable dimension for the resource. *
*
* autoscaling:autoScalingGroup:DesiredCapacity
- The desired capacity of an Auto Scaling group.
*
* ecs:service:DesiredCount
- The desired task count of an ECS service.
*
* ec2:spot-fleet-request:TargetCapacity
- The target capacity of a Spot Fleet request.
*
* 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.
*
* autoscaling:autoScalingGroup:DesiredCapacity
- The desired capacity of an Auto Scaling group.
*
* ecs:service:DesiredCount
- The desired task count of an ECS service.
*
* ec2:spot-fleet-request:TargetCapacity
- The target capacity of a Spot Fleet request.
*
* 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.
*
* The scalable dimension for the resource. *
*
* autoscaling:autoScalingGroup:DesiredCapacity
- The desired capacity of an Auto Scaling group.
*
* ecs:service:DesiredCount
- The desired task count of an ECS service.
*
* ec2:spot-fleet-request:TargetCapacity
- The target capacity of a Spot Fleet request.
*
* 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.
*
* autoscaling:autoScalingGroup:DesiredCapacity
- The desired capacity of an Auto Scaling
* group.
*
* ecs:service:DesiredCount
- The desired task count of an ECS service.
*
* ec2:spot-fleet-request:TargetCapacity
- The target capacity of a Spot Fleet request.
*
* 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.
*
* The scalable dimension for the resource. *
*
* autoscaling:autoScalingGroup:DesiredCapacity
- The desired capacity of an Auto Scaling group.
*
* ecs:service:DesiredCount
- The desired task count of an ECS service.
*
* ec2:spot-fleet-request:TargetCapacity
- The target capacity of a Spot Fleet request.
*
* 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.
*
* autoscaling:autoScalingGroup:DesiredCapacity
- The desired capacity of an Auto Scaling group.
*
* ecs:service:DesiredCount
- The desired task count of an ECS service.
*
* ec2:spot-fleet-request:TargetCapacity
- The target capacity of a Spot Fleet request.
*
* 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.
*
* The scalable dimension for the resource. *
*
* autoscaling:autoScalingGroup:DesiredCapacity
- The desired capacity of an Auto Scaling group.
*
* ecs:service:DesiredCount
- The desired task count of an ECS service.
*
* ec2:spot-fleet-request:TargetCapacity
- The target capacity of a Spot Fleet request.
*
* 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.
*
* autoscaling:autoScalingGroup:DesiredCapacity
- The desired capacity of an Auto Scaling group.
*
* ecs:service:DesiredCount
- The desired task count of an ECS service.
*
* ec2:spot-fleet-request:TargetCapacity
- The target capacity of a Spot Fleet request.
*
* 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.
*
* The scaling policies. *
* * @return The scaling policies. */ public java.util.List* The scaling policies. *
* * @param scalingPolicies * The scaling policies. */ public void setScalingPolicies(java.util.Collection* The scaling policies. *
** NOTE: This method appends the values to the existing list (if any). Use * {@link #setScalingPolicies(java.util.Collection)} or {@link #withScalingPolicies(java.util.Collection)} if you * want to override the existing values. *
* * @param scalingPolicies * The scaling policies. * @return Returns a reference to this object so that method calls can be chained together. */ public ScalingPlanResource withScalingPolicies(ScalingPolicy... scalingPolicies) { if (this.scalingPolicies == null) { setScalingPolicies(new java.util.ArrayList* The scaling policies. *
* * @param scalingPolicies * The scaling policies. * @return Returns a reference to this object so that method calls can be chained together. */ public ScalingPlanResource withScalingPolicies(java.util.Collection* The scaling status of the resource. *
*
* Active
- The scaling configuration is active.
*
* Inactive
- The scaling configuration is not active because the scaling plan is being created or the
* scaling configuration could not be applied. Check the status message for more information.
*
* PartiallyActive
- The scaling configuration is partially active because the scaling plan is being
* created or deleted or the scaling configuration could not be fully applied. Check the status message for more
* information.
*
* Active
- The scaling configuration is active.
*
* Inactive
- The scaling configuration is not active because the scaling plan is being created
* or the scaling configuration could not be applied. Check the status message for more information.
*
* PartiallyActive
- The scaling configuration is partially active because the scaling plan is
* being created or deleted or the scaling configuration could not be fully applied. Check the status message
* for more information.
*
* The scaling status of the resource. *
*
* Active
- The scaling configuration is active.
*
* Inactive
- The scaling configuration is not active because the scaling plan is being created or the
* scaling configuration could not be applied. Check the status message for more information.
*
* PartiallyActive
- The scaling configuration is partially active because the scaling plan is being
* created or deleted or the scaling configuration could not be fully applied. Check the status message for more
* information.
*
* Active
- The scaling configuration is active.
*
* Inactive
- The scaling configuration is not active because the scaling plan is being created
* or the scaling configuration could not be applied. Check the status message for more information.
*
* PartiallyActive
- The scaling configuration is partially active because the scaling plan is
* being created or deleted or the scaling configuration could not be fully applied. Check the status
* message for more information.
*
* The scaling status of the resource. *
*
* Active
- The scaling configuration is active.
*
* Inactive
- The scaling configuration is not active because the scaling plan is being created or the
* scaling configuration could not be applied. Check the status message for more information.
*
* PartiallyActive
- The scaling configuration is partially active because the scaling plan is being
* created or deleted or the scaling configuration could not be fully applied. Check the status message for more
* information.
*
* Active
- The scaling configuration is active.
*
* Inactive
- The scaling configuration is not active because the scaling plan is being created
* or the scaling configuration could not be applied. Check the status message for more information.
*
* PartiallyActive
- The scaling configuration is partially active because the scaling plan is
* being created or deleted or the scaling configuration could not be fully applied. Check the status message
* for more information.
*
* The scaling status of the resource. *
*
* Active
- The scaling configuration is active.
*
* Inactive
- The scaling configuration is not active because the scaling plan is being created or the
* scaling configuration could not be applied. Check the status message for more information.
*
* PartiallyActive
- The scaling configuration is partially active because the scaling plan is being
* created or deleted or the scaling configuration could not be fully applied. Check the status message for more
* information.
*
* Active
- The scaling configuration is active.
*
* Inactive
- The scaling configuration is not active because the scaling plan is being created
* or the scaling configuration could not be applied. Check the status message for more information.
*
* PartiallyActive
- The scaling configuration is partially active because the scaling plan is
* being created or deleted or the scaling configuration could not be fully applied. Check the status message
* for more information.
*
* A simple message about the current scaling status of the resource. *
* * @param scalingStatusMessage * A simple message about the current scaling status of the resource. */ public void setScalingStatusMessage(String scalingStatusMessage) { this.scalingStatusMessage = scalingStatusMessage; } /** ** A simple message about the current scaling status of the resource. *
* * @return A simple message about the current scaling status of the resource. */ public String getScalingStatusMessage() { return this.scalingStatusMessage; } /** ** A simple message about the current scaling status of the resource. *
* * @param scalingStatusMessage * A simple message about the current scaling status of the resource. * @return Returns a reference to this object so that method calls can be chained together. */ public ScalingPlanResource withScalingStatusMessage(String scalingStatusMessage) { setScalingStatusMessage(scalingStatusMessage); return this; } /** * 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. * * @return A string representation of this object. * * @see java.lang.Object#toString() */ @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("{"); if (getScalingPlanName() != null) sb.append("ScalingPlanName: ").append(getScalingPlanName()).append(","); if (getScalingPlanVersion() != null) sb.append("ScalingPlanVersion: ").append(getScalingPlanVersion()).append(","); if (getServiceNamespace() != null) sb.append("ServiceNamespace: ").append(getServiceNamespace()).append(","); if (getResourceId() != null) sb.append("ResourceId: ").append(getResourceId()).append(","); if (getScalableDimension() != null) sb.append("ScalableDimension: ").append(getScalableDimension()).append(","); if (getScalingPolicies() != null) sb.append("ScalingPolicies: ").append(getScalingPolicies()).append(","); if (getScalingStatusCode() != null) sb.append("ScalingStatusCode: ").append(getScalingStatusCode()).append(","); if (getScalingStatusMessage() != null) sb.append("ScalingStatusMessage: ").append(getScalingStatusMessage()); sb.append("}"); return sb.toString(); } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof ScalingPlanResource == false) return false; ScalingPlanResource other = (ScalingPlanResource) obj; if (other.getScalingPlanName() == null ^ this.getScalingPlanName() == null) return false; if (other.getScalingPlanName() != null && other.getScalingPlanName().equals(this.getScalingPlanName()) == false) return false; if (other.getScalingPlanVersion() == null ^ this.getScalingPlanVersion() == null) return false; if (other.getScalingPlanVersion() != null && other.getScalingPlanVersion().equals(this.getScalingPlanVersion()) == false) return false; if (other.getServiceNamespace() == null ^ this.getServiceNamespace() == null) return false; if (other.getServiceNamespace() != null && other.getServiceNamespace().equals(this.getServiceNamespace()) == false) return false; if (other.getResourceId() == null ^ this.getResourceId() == null) return false; if (other.getResourceId() != null && other.getResourceId().equals(this.getResourceId()) == false) return false; if (other.getScalableDimension() == null ^ this.getScalableDimension() == null) return false; if (other.getScalableDimension() != null && other.getScalableDimension().equals(this.getScalableDimension()) == false) return false; if (other.getScalingPolicies() == null ^ this.getScalingPolicies() == null) return false; if (other.getScalingPolicies() != null && other.getScalingPolicies().equals(this.getScalingPolicies()) == false) return false; if (other.getScalingStatusCode() == null ^ this.getScalingStatusCode() == null) return false; if (other.getScalingStatusCode() != null && other.getScalingStatusCode().equals(this.getScalingStatusCode()) == false) return false; if (other.getScalingStatusMessage() == null ^ this.getScalingStatusMessage() == null) return false; if (other.getScalingStatusMessage() != null && other.getScalingStatusMessage().equals(this.getScalingStatusMessage()) == false) return false; return true; } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getScalingPlanName() == null) ? 0 : getScalingPlanName().hashCode()); hashCode = prime * hashCode + ((getScalingPlanVersion() == null) ? 0 : getScalingPlanVersion().hashCode()); hashCode = prime * hashCode + ((getServiceNamespace() == null) ? 0 : getServiceNamespace().hashCode()); hashCode = prime * hashCode + ((getResourceId() == null) ? 0 : getResourceId().hashCode()); hashCode = prime * hashCode + ((getScalableDimension() == null) ? 0 : getScalableDimension().hashCode()); hashCode = prime * hashCode + ((getScalingPolicies() == null) ? 0 : getScalingPolicies().hashCode()); hashCode = prime * hashCode + ((getScalingStatusCode() == null) ? 0 : getScalingStatusCode().hashCode()); hashCode = prime * hashCode + ((getScalingStatusMessage() == null) ? 0 : getScalingStatusMessage().hashCode()); return hashCode; } @Override public ScalingPlanResource clone() { try { return (ScalingPlanResource) super.clone(); } catch (CloneNotSupportedException e) { throw new IllegalStateException("Got a CloneNotSupportedException from Object.clone() " + "even though we're Cloneable!", e); } } @com.amazonaws.annotation.SdkInternalApi @Override public void marshall(ProtocolMarshaller protocolMarshaller) { com.amazonaws.services.autoscalingplans.model.transform.ScalingPlanResourceMarshaller.getInstance().marshall(this, protocolMarshaller); } }