/* * Copyright 2010-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.iot.model; import java.io.Serializable; import com.amazonaws.AmazonWebServiceRequest; /** *
* Updates the data for a fleet metric. *
** Requires permission to access the UpdateFleetMetric action. *
*/ public class UpdateFleetMetricRequest extends AmazonWebServiceRequest implements Serializable { /** ** The name of the fleet metric to update. *
*
* Constraints:
* Length: 1 - 128
* Pattern: [a-zA-Z0-9_\-\.]+
*/
private String metricName;
/**
*
* The search query string. *
*
* Constraints:
* Length: 1 -
*/
private String queryString;
/**
*
* The type of the aggregation query. *
*/ private AggregationType aggregationType; /** ** The time in seconds between fleet metric emissions. Range [60(1 min), * 86400(1 day)] and must be multiple of 60. *
*
* Constraints:
* Range: 60 - 86400
*/
private Integer period;
/**
*
* The field to aggregate. *
*
* Constraints:
* Length: 1 -
*/
private String aggregationField;
/**
*
* The description of the fleet metric. *
*
* Constraints:
* Length: - 1024
* Pattern: [\p{Graph}\x20]*
*/
private String description;
/**
*
* The version of the query. *
*/ private String queryVersion; /** ** The name of the index to search. *
*
* Constraints:
* Length: 1 - 128
* Pattern: [a-zA-Z0-9:_-]+
*/
private String indexName;
/**
*
* Used to support unit transformation such as milliseconds to seconds. The * unit must be supported by CW metric. *
*
* Constraints:
* Allowed Values: Seconds, Microseconds, Milliseconds, Bytes,
* Kilobytes, Megabytes, Gigabytes, Terabytes, Bits, Kilobits, Megabits,
* Gigabits, Terabits, Percent, Count, Bytes/Second, Kilobytes/Second,
* Megabytes/Second, Gigabytes/Second, Terabytes/Second, Bits/Second,
* Kilobits/Second, Megabits/Second, Gigabits/Second, Terabits/Second,
* Count/Second, None
*/
private String unit;
/**
*
* The expected version of the fleet metric record in the registry. *
*/ private Long expectedVersion; /** ** The name of the fleet metric to update. *
*
* Constraints:
* Length: 1 - 128
* Pattern: [a-zA-Z0-9_\-\.]+
*
* @return
* The name of the fleet metric to update. *
*/ public String getMetricName() { return metricName; } /** ** The name of the fleet metric to update. *
*
* Constraints:
* Length: 1 - 128
* Pattern: [a-zA-Z0-9_\-\.]+
*
* @param metricName
* The name of the fleet metric to update. *
*/ public void setMetricName(String metricName) { this.metricName = metricName; } /** ** The name of the fleet metric to update. *
** Returns a reference to this object so that method calls can be chained * together. *
* Constraints:
* Length: 1 - 128
* Pattern: [a-zA-Z0-9_\-\.]+
*
* @param metricName
* The name of the fleet metric to update. *
* @return A reference to this updated object so that method calls can be * chained together. */ public UpdateFleetMetricRequest withMetricName(String metricName) { this.metricName = metricName; return this; } /** ** The search query string. *
*
* Constraints:
* Length: 1 -
*
* @return
* The search query string. *
*/ public String getQueryString() { return queryString; } /** ** The search query string. *
*
* Constraints:
* Length: 1 -
*
* @param queryString
* The search query string. *
*/ public void setQueryString(String queryString) { this.queryString = queryString; } /** ** The search query string. *
** Returns a reference to this object so that method calls can be chained * together. *
* Constraints:
* Length: 1 -
*
* @param queryString
* The search query string. *
* @return A reference to this updated object so that method calls can be * chained together. */ public UpdateFleetMetricRequest withQueryString(String queryString) { this.queryString = queryString; return this; } /** ** The type of the aggregation query. *
* * @return* The type of the aggregation query. *
*/ public AggregationType getAggregationType() { return aggregationType; } /** ** The type of the aggregation query. *
* * @param aggregationType* The type of the aggregation query. *
*/ public void setAggregationType(AggregationType aggregationType) { this.aggregationType = aggregationType; } /** ** The type of the aggregation query. *
** Returns a reference to this object so that method calls can be chained * together. * * @param aggregationType
* The type of the aggregation query. *
* @return A reference to this updated object so that method calls can be * chained together. */ public UpdateFleetMetricRequest withAggregationType(AggregationType aggregationType) { this.aggregationType = aggregationType; return this; } /** ** The time in seconds between fleet metric emissions. Range [60(1 min), * 86400(1 day)] and must be multiple of 60. *
*
* Constraints:
* Range: 60 - 86400
*
* @return
* The time in seconds between fleet metric emissions. Range [60(1 * min), 86400(1 day)] and must be multiple of 60. *
*/ public Integer getPeriod() { return period; } /** ** The time in seconds between fleet metric emissions. Range [60(1 min), * 86400(1 day)] and must be multiple of 60. *
*
* Constraints:
* Range: 60 - 86400
*
* @param period
* The time in seconds between fleet metric emissions. Range * [60(1 min), 86400(1 day)] and must be multiple of 60. *
*/ public void setPeriod(Integer period) { this.period = period; } /** ** The time in seconds between fleet metric emissions. Range [60(1 min), * 86400(1 day)] and must be multiple of 60. *
** Returns a reference to this object so that method calls can be chained * together. *
* Constraints:
* Range: 60 - 86400
*
* @param period
* The time in seconds between fleet metric emissions. Range * [60(1 min), 86400(1 day)] and must be multiple of 60. *
* @return A reference to this updated object so that method calls can be * chained together. */ public UpdateFleetMetricRequest withPeriod(Integer period) { this.period = period; return this; } /** ** The field to aggregate. *
*
* Constraints:
* Length: 1 -
*
* @return
* The field to aggregate. *
*/ public String getAggregationField() { return aggregationField; } /** ** The field to aggregate. *
*
* Constraints:
* Length: 1 -
*
* @param aggregationField
* The field to aggregate. *
*/ public void setAggregationField(String aggregationField) { this.aggregationField = aggregationField; } /** ** The field to aggregate. *
** Returns a reference to this object so that method calls can be chained * together. *
* Constraints:
* Length: 1 -
*
* @param aggregationField
* The field to aggregate. *
* @return A reference to this updated object so that method calls can be * chained together. */ public UpdateFleetMetricRequest withAggregationField(String aggregationField) { this.aggregationField = aggregationField; return this; } /** ** The description of the fleet metric. *
*
* Constraints:
* Length: - 1024
* Pattern: [\p{Graph}\x20]*
*
* @return
* The description of the fleet metric. *
*/ public String getDescription() { return description; } /** ** The description of the fleet metric. *
*
* Constraints:
* Length: - 1024
* Pattern: [\p{Graph}\x20]*
*
* @param description
* The description of the fleet metric. *
*/ public void setDescription(String description) { this.description = description; } /** ** The description of the fleet metric. *
** Returns a reference to this object so that method calls can be chained * together. *
* Constraints:
* Length: - 1024
* Pattern: [\p{Graph}\x20]*
*
* @param description
* The description of the fleet metric. *
* @return A reference to this updated object so that method calls can be * chained together. */ public UpdateFleetMetricRequest withDescription(String description) { this.description = description; return this; } /** ** The version of the query. *
* * @return* The version of the query. *
*/ public String getQueryVersion() { return queryVersion; } /** ** The version of the query. *
* * @param queryVersion* The version of the query. *
*/ public void setQueryVersion(String queryVersion) { this.queryVersion = queryVersion; } /** ** The version of the query. *
** Returns a reference to this object so that method calls can be chained * together. * * @param queryVersion
* The version of the query. *
* @return A reference to this updated object so that method calls can be * chained together. */ public UpdateFleetMetricRequest withQueryVersion(String queryVersion) { this.queryVersion = queryVersion; return this; } /** ** The name of the index to search. *
*
* Constraints:
* Length: 1 - 128
* Pattern: [a-zA-Z0-9:_-]+
*
* @return
* The name of the index to search. *
*/ public String getIndexName() { return indexName; } /** ** The name of the index to search. *
*
* Constraints:
* Length: 1 - 128
* Pattern: [a-zA-Z0-9:_-]+
*
* @param indexName
* The name of the index to search. *
*/ public void setIndexName(String indexName) { this.indexName = indexName; } /** ** The name of the index to search. *
** Returns a reference to this object so that method calls can be chained * together. *
* Constraints:
* Length: 1 - 128
* Pattern: [a-zA-Z0-9:_-]+
*
* @param indexName
* The name of the index to search. *
* @return A reference to this updated object so that method calls can be * chained together. */ public UpdateFleetMetricRequest withIndexName(String indexName) { this.indexName = indexName; return this; } /** ** Used to support unit transformation such as milliseconds to seconds. The * unit must be supported by CW metric. *
*
* Constraints:
* Allowed Values: Seconds, Microseconds, Milliseconds, Bytes,
* Kilobytes, Megabytes, Gigabytes, Terabytes, Bits, Kilobits, Megabits,
* Gigabits, Terabits, Percent, Count, Bytes/Second, Kilobytes/Second,
* Megabytes/Second, Gigabytes/Second, Terabytes/Second, Bits/Second,
* Kilobits/Second, Megabits/Second, Gigabits/Second, Terabits/Second,
* Count/Second, None
*
* @return
* Used to support unit transformation such as milliseconds to * seconds. The unit must be supported by CW metric. *
* @see FleetMetricUnit */ public String getUnit() { return unit; } /** ** Used to support unit transformation such as milliseconds to seconds. The * unit must be supported by CW metric. *
*
* Constraints:
* Allowed Values: Seconds, Microseconds, Milliseconds, Bytes,
* Kilobytes, Megabytes, Gigabytes, Terabytes, Bits, Kilobits, Megabits,
* Gigabits, Terabits, Percent, Count, Bytes/Second, Kilobytes/Second,
* Megabytes/Second, Gigabytes/Second, Terabytes/Second, Bits/Second,
* Kilobits/Second, Megabits/Second, Gigabits/Second, Terabits/Second,
* Count/Second, None
*
* @param unit
* Used to support unit transformation such as milliseconds to * seconds. The unit must be supported by CW metric. *
* @see FleetMetricUnit */ public void setUnit(String unit) { this.unit = unit; } /** ** Used to support unit transformation such as milliseconds to seconds. The * unit must be supported by CW metric. *
** Returns a reference to this object so that method calls can be chained * together. *
* Constraints:
* Allowed Values: Seconds, Microseconds, Milliseconds, Bytes,
* Kilobytes, Megabytes, Gigabytes, Terabytes, Bits, Kilobits, Megabits,
* Gigabits, Terabits, Percent, Count, Bytes/Second, Kilobytes/Second,
* Megabytes/Second, Gigabytes/Second, Terabytes/Second, Bits/Second,
* Kilobits/Second, Megabits/Second, Gigabits/Second, Terabits/Second,
* Count/Second, None
*
* @param unit
* Used to support unit transformation such as milliseconds to * seconds. The unit must be supported by CW metric. *
* @return A reference to this updated object so that method calls can be * chained together. * @see FleetMetricUnit */ public UpdateFleetMetricRequest withUnit(String unit) { this.unit = unit; return this; } /** ** Used to support unit transformation such as milliseconds to seconds. The * unit must be supported by CW metric. *
*
* Constraints:
* Allowed Values: Seconds, Microseconds, Milliseconds, Bytes,
* Kilobytes, Megabytes, Gigabytes, Terabytes, Bits, Kilobits, Megabits,
* Gigabits, Terabits, Percent, Count, Bytes/Second, Kilobytes/Second,
* Megabytes/Second, Gigabytes/Second, Terabytes/Second, Bits/Second,
* Kilobits/Second, Megabits/Second, Gigabits/Second, Terabits/Second,
* Count/Second, None
*
* @param unit
* Used to support unit transformation such as milliseconds to * seconds. The unit must be supported by CW metric. *
* @see FleetMetricUnit */ public void setUnit(FleetMetricUnit unit) { this.unit = unit.toString(); } /** ** Used to support unit transformation such as milliseconds to seconds. The * unit must be supported by CW metric. *
** Returns a reference to this object so that method calls can be chained * together. *
* Constraints:
* Allowed Values: Seconds, Microseconds, Milliseconds, Bytes,
* Kilobytes, Megabytes, Gigabytes, Terabytes, Bits, Kilobits, Megabits,
* Gigabits, Terabits, Percent, Count, Bytes/Second, Kilobytes/Second,
* Megabytes/Second, Gigabytes/Second, Terabytes/Second, Bits/Second,
* Kilobits/Second, Megabits/Second, Gigabits/Second, Terabits/Second,
* Count/Second, None
*
* @param unit
* Used to support unit transformation such as milliseconds to * seconds. The unit must be supported by CW metric. *
* @return A reference to this updated object so that method calls can be * chained together. * @see FleetMetricUnit */ public UpdateFleetMetricRequest withUnit(FleetMetricUnit unit) { this.unit = unit.toString(); return this; } /** ** The expected version of the fleet metric record in the registry. *
* * @return* The expected version of the fleet metric record in the registry. *
*/ public Long getExpectedVersion() { return expectedVersion; } /** ** The expected version of the fleet metric record in the registry. *
* * @param expectedVersion* The expected version of the fleet metric record in the * registry. *
*/ public void setExpectedVersion(Long expectedVersion) { this.expectedVersion = expectedVersion; } /** ** The expected version of the fleet metric record in the registry. *
** Returns a reference to this object so that method calls can be chained * together. * * @param expectedVersion
* The expected version of the fleet metric record in the * registry. *
* @return A reference to this updated object so that method calls can be * chained together. */ public UpdateFleetMetricRequest withExpectedVersion(Long expectedVersion) { this.expectedVersion = expectedVersion; 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 (getMetricName() != null) sb.append("metricName: " + getMetricName() + ","); if (getQueryString() != null) sb.append("queryString: " + getQueryString() + ","); if (getAggregationType() != null) sb.append("aggregationType: " + getAggregationType() + ","); if (getPeriod() != null) sb.append("period: " + getPeriod() + ","); if (getAggregationField() != null) sb.append("aggregationField: " + getAggregationField() + ","); if (getDescription() != null) sb.append("description: " + getDescription() + ","); if (getQueryVersion() != null) sb.append("queryVersion: " + getQueryVersion() + ","); if (getIndexName() != null) sb.append("indexName: " + getIndexName() + ","); if (getUnit() != null) sb.append("unit: " + getUnit() + ","); if (getExpectedVersion() != null) sb.append("expectedVersion: " + getExpectedVersion()); sb.append("}"); return sb.toString(); } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getMetricName() == null) ? 0 : getMetricName().hashCode()); hashCode = prime * hashCode + ((getQueryString() == null) ? 0 : getQueryString().hashCode()); hashCode = prime * hashCode + ((getAggregationType() == null) ? 0 : getAggregationType().hashCode()); hashCode = prime * hashCode + ((getPeriod() == null) ? 0 : getPeriod().hashCode()); hashCode = prime * hashCode + ((getAggregationField() == null) ? 0 : getAggregationField().hashCode()); hashCode = prime * hashCode + ((getDescription() == null) ? 0 : getDescription().hashCode()); hashCode = prime * hashCode + ((getQueryVersion() == null) ? 0 : getQueryVersion().hashCode()); hashCode = prime * hashCode + ((getIndexName() == null) ? 0 : getIndexName().hashCode()); hashCode = prime * hashCode + ((getUnit() == null) ? 0 : getUnit().hashCode()); hashCode = prime * hashCode + ((getExpectedVersion() == null) ? 0 : getExpectedVersion().hashCode()); return hashCode; } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof UpdateFleetMetricRequest == false) return false; UpdateFleetMetricRequest other = (UpdateFleetMetricRequest) obj; if (other.getMetricName() == null ^ this.getMetricName() == null) return false; if (other.getMetricName() != null && other.getMetricName().equals(this.getMetricName()) == false) return false; if (other.getQueryString() == null ^ this.getQueryString() == null) return false; if (other.getQueryString() != null && other.getQueryString().equals(this.getQueryString()) == false) return false; if (other.getAggregationType() == null ^ this.getAggregationType() == null) return false; if (other.getAggregationType() != null && other.getAggregationType().equals(this.getAggregationType()) == false) return false; if (other.getPeriod() == null ^ this.getPeriod() == null) return false; if (other.getPeriod() != null && other.getPeriod().equals(this.getPeriod()) == false) return false; if (other.getAggregationField() == null ^ this.getAggregationField() == null) return false; if (other.getAggregationField() != null && other.getAggregationField().equals(this.getAggregationField()) == false) return false; if (other.getDescription() == null ^ this.getDescription() == null) return false; if (other.getDescription() != null && other.getDescription().equals(this.getDescription()) == false) return false; if (other.getQueryVersion() == null ^ this.getQueryVersion() == null) return false; if (other.getQueryVersion() != null && other.getQueryVersion().equals(this.getQueryVersion()) == false) return false; if (other.getIndexName() == null ^ this.getIndexName() == null) return false; if (other.getIndexName() != null && other.getIndexName().equals(this.getIndexName()) == false) return false; if (other.getUnit() == null ^ this.getUnit() == null) return false; if (other.getUnit() != null && other.getUnit().equals(this.getUnit()) == false) return false; if (other.getExpectedVersion() == null ^ this.getExpectedVersion() == null) return false; if (other.getExpectedVersion() != null && other.getExpectedVersion().equals(this.getExpectedVersion()) == false) return false; return true; } }