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

com.amazonaws.services.applicationautoscaling.model.PutScalingPolicyRequest 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: 1.11.8
Show newest version
/*
 * Copyright 2010-2016 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.applicationautoscaling.model;

import java.io.Serializable;
import com.amazonaws.AmazonWebServiceRequest;

/**
 * 
 */
public class PutScalingPolicyRequest extends AmazonWebServiceRequest implements
        Serializable, Cloneable {

    /**
     * 

* The name of the scaling policy. *

*/ private String policyName; /** *

* The AWS service namespace of the scalable target that this scaling policy * applies to. For more information, see AWS Service Namespaces in the Amazon Web Services General Reference. *

*/ private String serviceNamespace; /** *

* The unique resource identifier string for the scalable target that this * scaling policy applies to. For Amazon ECS services, this value is the * resource type, followed by the cluster name and service name, such as * service/default/sample-webapp. *

*/ private String resourceId; /** *

* The scalable dimension of the scalable target that this scaling policy * applies to. The scalable dimension contains the service namespace, * resource type, and scaling property, such as * ecs:service:DesiredCount for the desired task count of an * Amazon ECS service. *

*/ private String scalableDimension; /** *

* The policy type. This parameter is required if you are creating a new * policy. *

*/ private String policyType; /** *

* The configuration for the step scaling policy. This parameter is required * if you are creating a new policy. For more information, see * StepScalingPolicyConfiguration and StepAdjustment. *

*/ private StepScalingPolicyConfiguration stepScalingPolicyConfiguration; /** *

* The name of the scaling policy. *

* * @param policyName * The name of the scaling policy. */ public void setPolicyName(String policyName) { this.policyName = policyName; } /** *

* The name of the scaling policy. *

* * @return The name of the scaling policy. */ public String getPolicyName() { return this.policyName; } /** *

* The name of the scaling policy. *

* * @param policyName * The name of the scaling policy. * @return Returns a reference to this object so that method calls can be * chained together. */ public PutScalingPolicyRequest withPolicyName(String policyName) { setPolicyName(policyName); return this; } /** *

* The AWS service namespace of the scalable target that this scaling policy * applies to. For more information, see AWS Service Namespaces in the Amazon Web Services General Reference. *

* * @param serviceNamespace * The AWS service namespace of the scalable target that this scaling * policy applies to. For more information, see AWS Service Namespaces in the Amazon Web Services General * Reference. * @see ServiceNamespace */ public void setServiceNamespace(String serviceNamespace) { this.serviceNamespace = serviceNamespace; } /** *

* The AWS service namespace of the scalable target that this scaling policy * applies to. For more information, see AWS Service Namespaces in the Amazon Web Services General Reference. *

* * @return The AWS service namespace of the scalable target that this * scaling policy applies to. For more information, see AWS Service Namespaces in the Amazon Web Services General * Reference. * @see ServiceNamespace */ public String getServiceNamespace() { return this.serviceNamespace; } /** *

* The AWS service namespace of the scalable target that this scaling policy * applies to. For more information, see AWS Service Namespaces in the Amazon Web Services General Reference. *

* * @param serviceNamespace * The AWS service namespace of the scalable target that this scaling * policy applies to. For more information, see AWS Service Namespaces in the Amazon Web Services General * Reference. * @return Returns a reference to this object so that method calls can be * chained together. * @see ServiceNamespace */ public PutScalingPolicyRequest withServiceNamespace(String serviceNamespace) { setServiceNamespace(serviceNamespace); return this; } /** *

* The AWS service namespace of the scalable target that this scaling policy * applies to. For more information, see AWS Service Namespaces in the Amazon Web Services General Reference. *

* * @param serviceNamespace * The AWS service namespace of the scalable target that this scaling * policy applies to. For more information, see AWS Service Namespaces in the Amazon Web Services General * Reference. * @see ServiceNamespace */ public void setServiceNamespace(ServiceNamespace serviceNamespace) { this.serviceNamespace = serviceNamespace.toString(); } /** *

* The AWS service namespace of the scalable target that this scaling policy * applies to. For more information, see AWS Service Namespaces in the Amazon Web Services General Reference. *

* * @param serviceNamespace * The AWS service namespace of the scalable target that this scaling * policy applies to. For more information, see AWS Service Namespaces in the Amazon Web Services General * Reference. * @return Returns a reference to this object so that method calls can be * chained together. * @see ServiceNamespace */ public PutScalingPolicyRequest withServiceNamespace( ServiceNamespace serviceNamespace) { setServiceNamespace(serviceNamespace); return this; } /** *

* The unique resource identifier string for the scalable target that this * scaling policy applies to. For Amazon ECS services, this value is the * resource type, followed by the cluster name and service name, such as * service/default/sample-webapp. *

* * @param resourceId * The unique resource identifier string for the scalable target that * this scaling policy applies to. For Amazon ECS services, this * value is the resource type, followed by the cluster name and * service name, such as service/default/sample-webapp. */ public void setResourceId(String resourceId) { this.resourceId = resourceId; } /** *

* The unique resource identifier string for the scalable target that this * scaling policy applies to. For Amazon ECS services, this value is the * resource type, followed by the cluster name and service name, such as * service/default/sample-webapp. *

* * @return The unique resource identifier string for the scalable target * that this scaling policy applies to. For Amazon ECS services, * this value is the resource type, followed by the cluster name and * service name, such as service/default/sample-webapp. */ public String getResourceId() { return this.resourceId; } /** *

* The unique resource identifier string for the scalable target that this * scaling policy applies to. For Amazon ECS services, this value is the * resource type, followed by the cluster name and service name, such as * service/default/sample-webapp. *

* * @param resourceId * The unique resource identifier string for the scalable target that * this scaling policy applies to. For Amazon ECS services, this * value is the resource type, followed by the cluster name and * service name, such as service/default/sample-webapp. * @return Returns a reference to this object so that method calls can be * chained together. */ public PutScalingPolicyRequest withResourceId(String resourceId) { setResourceId(resourceId); return this; } /** *

* The scalable dimension of the scalable target that this scaling policy * applies to. The scalable dimension contains the service namespace, * resource type, and scaling property, such as * ecs:service:DesiredCount for the desired task count of an * Amazon ECS service. *

* * @param scalableDimension * The scalable dimension of the scalable target that this scaling * policy applies to. The scalable dimension contains the service * namespace, resource type, and scaling property, such as * ecs:service:DesiredCount for the desired task count * of an Amazon ECS service. * @see ScalableDimension */ public void setScalableDimension(String scalableDimension) { this.scalableDimension = scalableDimension; } /** *

* The scalable dimension of the scalable target that this scaling policy * applies to. The scalable dimension contains the service namespace, * resource type, and scaling property, such as * ecs:service:DesiredCount for the desired task count of an * Amazon ECS service. *

* * @return The scalable dimension of the scalable target that this scaling * policy applies to. The scalable dimension contains the service * namespace, resource type, and scaling property, such as * ecs:service:DesiredCount for the desired task count * of an Amazon ECS service. * @see ScalableDimension */ public String getScalableDimension() { return this.scalableDimension; } /** *

* The scalable dimension of the scalable target that this scaling policy * applies to. The scalable dimension contains the service namespace, * resource type, and scaling property, such as * ecs:service:DesiredCount for the desired task count of an * Amazon ECS service. *

* * @param scalableDimension * The scalable dimension of the scalable target that this scaling * policy applies to. The scalable dimension contains the service * namespace, resource type, and scaling property, such as * ecs:service:DesiredCount for the desired task count * of an Amazon ECS service. * @return Returns a reference to this object so that method calls can be * chained together. * @see ScalableDimension */ public PutScalingPolicyRequest withScalableDimension( String scalableDimension) { setScalableDimension(scalableDimension); return this; } /** *

* The scalable dimension of the scalable target that this scaling policy * applies to. The scalable dimension contains the service namespace, * resource type, and scaling property, such as * ecs:service:DesiredCount for the desired task count of an * Amazon ECS service. *

* * @param scalableDimension * The scalable dimension of the scalable target that this scaling * policy applies to. The scalable dimension contains the service * namespace, resource type, and scaling property, such as * ecs:service:DesiredCount for the desired task count * of an Amazon ECS service. * @see ScalableDimension */ public void setScalableDimension(ScalableDimension scalableDimension) { this.scalableDimension = scalableDimension.toString(); } /** *

* The scalable dimension of the scalable target that this scaling policy * applies to. The scalable dimension contains the service namespace, * resource type, and scaling property, such as * ecs:service:DesiredCount for the desired task count of an * Amazon ECS service. *

* * @param scalableDimension * The scalable dimension of the scalable target that this scaling * policy applies to. The scalable dimension contains the service * namespace, resource type, and scaling property, such as * ecs:service:DesiredCount for the desired task count * of an Amazon ECS service. * @return Returns a reference to this object so that method calls can be * chained together. * @see ScalableDimension */ public PutScalingPolicyRequest withScalableDimension( ScalableDimension scalableDimension) { setScalableDimension(scalableDimension); return this; } /** *

* The policy type. This parameter is required if you are creating a new * policy. *

* * @param policyType * The policy type. This parameter is required if you are creating a * new policy. * @see PolicyType */ public void setPolicyType(String policyType) { this.policyType = policyType; } /** *

* The policy type. This parameter is required if you are creating a new * policy. *

* * @return The policy type. This parameter is required if you are creating a * new policy. * @see PolicyType */ public String getPolicyType() { return this.policyType; } /** *

* The policy type. This parameter is required if you are creating a new * policy. *

* * @param policyType * The policy type. This parameter is required if you are creating a * new policy. * @return Returns a reference to this object so that method calls can be * chained together. * @see PolicyType */ public PutScalingPolicyRequest withPolicyType(String policyType) { setPolicyType(policyType); return this; } /** *

* The policy type. This parameter is required if you are creating a new * policy. *

* * @param policyType * The policy type. This parameter is required if you are creating a * new policy. * @see PolicyType */ public void setPolicyType(PolicyType policyType) { this.policyType = policyType.toString(); } /** *

* The policy type. This parameter is required if you are creating a new * policy. *

* * @param policyType * The policy type. This parameter is required if you are creating a * new policy. * @return Returns a reference to this object so that method calls can be * chained together. * @see PolicyType */ public PutScalingPolicyRequest withPolicyType(PolicyType policyType) { setPolicyType(policyType); return this; } /** *

* The configuration for the step scaling policy. This parameter is required * if you are creating a new policy. For more information, see * StepScalingPolicyConfiguration and StepAdjustment. *

* * @param stepScalingPolicyConfiguration * The configuration for the step scaling policy. This parameter is * required if you are creating a new policy. For more information, * see StepScalingPolicyConfiguration and * StepAdjustment. */ public void setStepScalingPolicyConfiguration( StepScalingPolicyConfiguration stepScalingPolicyConfiguration) { this.stepScalingPolicyConfiguration = stepScalingPolicyConfiguration; } /** *

* The configuration for the step scaling policy. This parameter is required * if you are creating a new policy. For more information, see * StepScalingPolicyConfiguration and StepAdjustment. *

* * @return The configuration for the step scaling policy. This parameter is * required if you are creating a new policy. For more information, * see StepScalingPolicyConfiguration and * StepAdjustment. */ public StepScalingPolicyConfiguration getStepScalingPolicyConfiguration() { return this.stepScalingPolicyConfiguration; } /** *

* The configuration for the step scaling policy. This parameter is required * if you are creating a new policy. For more information, see * StepScalingPolicyConfiguration and StepAdjustment. *

* * @param stepScalingPolicyConfiguration * The configuration for the step scaling policy. This parameter is * required if you are creating a new policy. For more information, * see StepScalingPolicyConfiguration and * StepAdjustment. * @return Returns a reference to this object so that method calls can be * chained together. */ public PutScalingPolicyRequest withStepScalingPolicyConfiguration( StepScalingPolicyConfiguration stepScalingPolicyConfiguration) { setStepScalingPolicyConfiguration(stepScalingPolicyConfiguration); return this; } /** * Returns a string representation of this object; useful for testing and * debugging. * * @return A string representation of this object. * * @see java.lang.Object#toString() */ @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("{"); if (getPolicyName() != null) sb.append("PolicyName: " + getPolicyName() + ","); if (getServiceNamespace() != null) sb.append("ServiceNamespace: " + getServiceNamespace() + ","); if (getResourceId() != null) sb.append("ResourceId: " + getResourceId() + ","); if (getScalableDimension() != null) sb.append("ScalableDimension: " + getScalableDimension() + ","); if (getPolicyType() != null) sb.append("PolicyType: " + getPolicyType() + ","); if (getStepScalingPolicyConfiguration() != null) sb.append("StepScalingPolicyConfiguration: " + getStepScalingPolicyConfiguration()); sb.append("}"); return sb.toString(); } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof PutScalingPolicyRequest == false) return false; PutScalingPolicyRequest other = (PutScalingPolicyRequest) obj; if (other.getPolicyName() == null ^ this.getPolicyName() == null) return false; if (other.getPolicyName() != null && other.getPolicyName().equals(this.getPolicyName()) == 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.getPolicyType() == null ^ this.getPolicyType() == null) return false; if (other.getPolicyType() != null && other.getPolicyType().equals(this.getPolicyType()) == false) return false; if (other.getStepScalingPolicyConfiguration() == null ^ this.getStepScalingPolicyConfiguration() == null) return false; if (other.getStepScalingPolicyConfiguration() != null && other.getStepScalingPolicyConfiguration().equals( this.getStepScalingPolicyConfiguration()) == false) return false; return true; } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getPolicyName() == null) ? 0 : getPolicyName().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 + ((getPolicyType() == null) ? 0 : getPolicyType().hashCode()); hashCode = prime * hashCode + ((getStepScalingPolicyConfiguration() == null) ? 0 : getStepScalingPolicyConfiguration().hashCode()); return hashCode; } @Override public PutScalingPolicyRequest clone() { return (PutScalingPolicyRequest) super.clone(); } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy