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

com.amazonaws.services.autoscaling.model.EnableMetricsCollectionRequest Maven / Gradle / Ivy

Go to download

The Amazon Web Services SDK for Java provides Java APIs for building software on AWS' cost-effective, scalable, and reliable infrastructure products. The AWS Java SDK allows developers to code against APIs for all of Amazon's infrastructure web services (Amazon S3, Amazon EC2, Amazon SQS, Amazon Relational Database Service, Amazon AutoScaling, etc).

The newest version!
/*
 * Copyright 2010-2014 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.autoscaling.model;

import java.io.Serializable;

import com.amazonaws.AmazonWebServiceRequest;

/**
 * Container for the parameters to the {@link com.amazonaws.services.autoscaling.AmazonAutoScaling#enableMetricsCollection(EnableMetricsCollectionRequest) EnableMetricsCollection operation}.
 * 

* Enables monitoring of group metrics for the Auto Scaling group * specified in AutoScalingGroupName . * You can specify the list of enabled metrics with the * Metrics parameter. *

*

* Auto Scaling metrics collection can be turned on only if the * InstanceMonitoring flag, in the Auto Scaling group's * launch configuration, is set to True . * *

* * @see com.amazonaws.services.autoscaling.AmazonAutoScaling#enableMetricsCollection(EnableMetricsCollectionRequest) */ public class EnableMetricsCollectionRequest extends AmazonWebServiceRequest implements Serializable { /** * The name or ARN of the Auto Scaling group. *

* Constraints:
* Length: 1 - 1600
* Pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*
*/ private String autoScalingGroupName; /** * The list of metrics to collect. If no metrics are specified, all * metrics are enabled. The following metrics are supported:

    *
  • GroupMinSize

  • GroupMaxSize

  • *
  • GroupDesiredCapacity

  • GroupInServiceInstances

  • *
  • GroupPendingInstances

  • *
  • GroupTerminatingInstances

  • GroupTotalInstances

  • *
*/ private com.amazonaws.internal.ListWithAutoConstructFlag metrics; /** * The granularity to associate with the metrics to collect. Currently, * the only legal granularity is "1Minute". *

* Constraints:
* Length: 1 - 255
* Pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*
*/ private String granularity; /** * The name or ARN of the Auto Scaling group. *

* Constraints:
* Length: 1 - 1600
* Pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*
* * @return The name or ARN of the Auto Scaling group. */ public String getAutoScalingGroupName() { return autoScalingGroupName; } /** * The name or ARN of the Auto Scaling group. *

* Constraints:
* Length: 1 - 1600
* Pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*
* * @param autoScalingGroupName The name or ARN of the Auto Scaling group. */ public void setAutoScalingGroupName(String autoScalingGroupName) { this.autoScalingGroupName = autoScalingGroupName; } /** * The name or ARN of the Auto Scaling group. *

* Returns a reference to this object so that method calls can be chained together. *

* Constraints:
* Length: 1 - 1600
* Pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*
* * @param autoScalingGroupName The name or ARN of the Auto Scaling group. * * @return A reference to this updated object so that method calls can be chained * together. */ public EnableMetricsCollectionRequest withAutoScalingGroupName(String autoScalingGroupName) { this.autoScalingGroupName = autoScalingGroupName; return this; } /** * The list of metrics to collect. If no metrics are specified, all * metrics are enabled. The following metrics are supported:

    *
  • GroupMinSize

  • GroupMaxSize

  • *
  • GroupDesiredCapacity

  • GroupInServiceInstances

  • *
  • GroupPendingInstances

  • *
  • GroupTerminatingInstances

  • GroupTotalInstances

  • *
* * @return The list of metrics to collect. If no metrics are specified, all * metrics are enabled. The following metrics are supported:
    *
  • GroupMinSize

  • GroupMaxSize

  • *
  • GroupDesiredCapacity

  • GroupInServiceInstances

  • *
  • GroupPendingInstances

  • *
  • GroupTerminatingInstances

  • GroupTotalInstances

  • *
*/ public java.util.List getMetrics() { if (metrics == null) { metrics = new com.amazonaws.internal.ListWithAutoConstructFlag(); metrics.setAutoConstruct(true); } return metrics; } /** * The list of metrics to collect. If no metrics are specified, all * metrics are enabled. The following metrics are supported:
    *
  • GroupMinSize

  • GroupMaxSize

  • *
  • GroupDesiredCapacity

  • GroupInServiceInstances

  • *
  • GroupPendingInstances

  • *
  • GroupTerminatingInstances

  • GroupTotalInstances

  • *
* * @param metrics The list of metrics to collect. If no metrics are specified, all * metrics are enabled. The following metrics are supported:
    *
  • GroupMinSize

  • GroupMaxSize

  • *
  • GroupDesiredCapacity

  • GroupInServiceInstances

  • *
  • GroupPendingInstances

  • *
  • GroupTerminatingInstances

  • GroupTotalInstances

  • *
*/ public void setMetrics(java.util.Collection metrics) { if (metrics == null) { this.metrics = null; return; } com.amazonaws.internal.ListWithAutoConstructFlag metricsCopy = new com.amazonaws.internal.ListWithAutoConstructFlag(metrics.size()); metricsCopy.addAll(metrics); this.metrics = metricsCopy; } /** * The list of metrics to collect. If no metrics are specified, all * metrics are enabled. The following metrics are supported:
    *
  • GroupMinSize

  • GroupMaxSize

  • *
  • GroupDesiredCapacity

  • GroupInServiceInstances

  • *
  • GroupPendingInstances

  • *
  • GroupTerminatingInstances

  • GroupTotalInstances

  • *
*

* Returns a reference to this object so that method calls can be chained together. * * @param metrics The list of metrics to collect. If no metrics are specified, all * metrics are enabled. The following metrics are supported:

    *
  • GroupMinSize

  • GroupMaxSize

  • *
  • GroupDesiredCapacity

  • GroupInServiceInstances

  • *
  • GroupPendingInstances

  • *
  • GroupTerminatingInstances

  • GroupTotalInstances

  • *
* * @return A reference to this updated object so that method calls can be chained * together. */ public EnableMetricsCollectionRequest withMetrics(String... metrics) { if (getMetrics() == null) setMetrics(new java.util.ArrayList(metrics.length)); for (String value : metrics) { getMetrics().add(value); } return this; } /** * The list of metrics to collect. If no metrics are specified, all * metrics are enabled. The following metrics are supported:
    *
  • GroupMinSize

  • GroupMaxSize

  • *
  • GroupDesiredCapacity

  • GroupInServiceInstances

  • *
  • GroupPendingInstances

  • *
  • GroupTerminatingInstances

  • GroupTotalInstances

  • *
*

* Returns a reference to this object so that method calls can be chained together. * * @param metrics The list of metrics to collect. If no metrics are specified, all * metrics are enabled. The following metrics are supported:

    *
  • GroupMinSize

  • GroupMaxSize

  • *
  • GroupDesiredCapacity

  • GroupInServiceInstances

  • *
  • GroupPendingInstances

  • *
  • GroupTerminatingInstances

  • GroupTotalInstances

  • *
* * @return A reference to this updated object so that method calls can be chained * together. */ public EnableMetricsCollectionRequest withMetrics(java.util.Collection metrics) { if (metrics == null) { this.metrics = null; } else { com.amazonaws.internal.ListWithAutoConstructFlag metricsCopy = new com.amazonaws.internal.ListWithAutoConstructFlag(metrics.size()); metricsCopy.addAll(metrics); this.metrics = metricsCopy; } return this; } /** * The granularity to associate with the metrics to collect. Currently, * the only legal granularity is "1Minute". *

* Constraints:
* Length: 1 - 255
* Pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*
* * @return The granularity to associate with the metrics to collect. Currently, * the only legal granularity is "1Minute". */ public String getGranularity() { return granularity; } /** * The granularity to associate with the metrics to collect. Currently, * the only legal granularity is "1Minute". *

* Constraints:
* Length: 1 - 255
* Pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*
* * @param granularity The granularity to associate with the metrics to collect. Currently, * the only legal granularity is "1Minute". */ public void setGranularity(String granularity) { this.granularity = granularity; } /** * The granularity to associate with the metrics to collect. Currently, * the only legal granularity is "1Minute". *

* Returns a reference to this object so that method calls can be chained together. *

* Constraints:
* Length: 1 - 255
* Pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*
* * @param granularity The granularity to associate with the metrics to collect. Currently, * the only legal granularity is "1Minute". * * @return A reference to this updated object so that method calls can be chained * together. */ public EnableMetricsCollectionRequest withGranularity(String granularity) { this.granularity = granularity; 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 (getAutoScalingGroupName() != null) sb.append("AutoScalingGroupName: " + getAutoScalingGroupName() + ","); if (getMetrics() != null) sb.append("Metrics: " + getMetrics() + ","); if (getGranularity() != null) sb.append("Granularity: " + getGranularity() ); sb.append("}"); return sb.toString(); } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getAutoScalingGroupName() == null) ? 0 : getAutoScalingGroupName().hashCode()); hashCode = prime * hashCode + ((getMetrics() == null) ? 0 : getMetrics().hashCode()); hashCode = prime * hashCode + ((getGranularity() == null) ? 0 : getGranularity().hashCode()); return hashCode; } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof EnableMetricsCollectionRequest == false) return false; EnableMetricsCollectionRequest other = (EnableMetricsCollectionRequest)obj; if (other.getAutoScalingGroupName() == null ^ this.getAutoScalingGroupName() == null) return false; if (other.getAutoScalingGroupName() != null && other.getAutoScalingGroupName().equals(this.getAutoScalingGroupName()) == false) return false; if (other.getMetrics() == null ^ this.getMetrics() == null) return false; if (other.getMetrics() != null && other.getMetrics().equals(this.getMetrics()) == false) return false; if (other.getGranularity() == null ^ this.getGranularity() == null) return false; if (other.getGranularity() != null && other.getGranularity().equals(this.getGranularity()) == false) return false; return true; } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy