/* * 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; /** *
* Creates a fleet metric. *
** Requires permission to access the CreateFleetMetric action. *
*/ public class CreateFleetMetricRequest extends AmazonWebServiceRequest implements Serializable { /** ** The name of the fleet metric to create. *
*
* 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 fleet metric description. *
*
* Constraints:
* Length: - 1024
* Pattern: [\p{Graph}\x20]*
*/
private String description;
/**
*
* The query version. *
*/ 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. Default to null. *
*
* 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;
/**
*
* Metadata, which can be used to manage the fleet metric. *
*/ private java.util.List* The name of the fleet metric to create. *
*
* Constraints:
* Length: 1 - 128
* Pattern: [a-zA-Z0-9_\-\.]+
*
* @return
* The name of the fleet metric to create. *
*/ public String getMetricName() { return metricName; } /** ** The name of the fleet metric to create. *
*
* Constraints:
* Length: 1 - 128
* Pattern: [a-zA-Z0-9_\-\.]+
*
* @param metricName
* The name of the fleet metric to create. *
*/ public void setMetricName(String metricName) { this.metricName = metricName; } /** ** The name of the fleet metric to create. *
** 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 create. *
* @return A reference to this updated object so that method calls can be * chained together. */ public CreateFleetMetricRequest 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 CreateFleetMetricRequest 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 CreateFleetMetricRequest 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 CreateFleetMetricRequest 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 CreateFleetMetricRequest withAggregationField(String aggregationField) { this.aggregationField = aggregationField; return this; } /** ** The fleet metric description. *
*
* Constraints:
* Length: - 1024
* Pattern: [\p{Graph}\x20]*
*
* @return
* The fleet metric description. *
*/ public String getDescription() { return description; } /** ** The fleet metric description. *
*
* Constraints:
* Length: - 1024
* Pattern: [\p{Graph}\x20]*
*
* @param description
* The fleet metric description. *
*/ public void setDescription(String description) { this.description = description; } /** ** The fleet metric description. *
** Returns a reference to this object so that method calls can be chained * together. *
* Constraints:
* Length: - 1024
* Pattern: [\p{Graph}\x20]*
*
* @param description
* The fleet metric description. *
* @return A reference to this updated object so that method calls can be * chained together. */ public CreateFleetMetricRequest withDescription(String description) { this.description = description; return this; } /** ** The query version. *
* * @return* The query version. *
*/ public String getQueryVersion() { return queryVersion; } /** ** The query version. *
* * @param queryVersion* The query version. *
*/ public void setQueryVersion(String queryVersion) { this.queryVersion = queryVersion; } /** ** The query version. *
** Returns a reference to this object so that method calls can be chained * together. * * @param queryVersion
* The query version. *
* @return A reference to this updated object so that method calls can be * chained together. */ public CreateFleetMetricRequest 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 CreateFleetMetricRequest 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. Default to null. *
*
* 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. Default to null. *
* @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. Default to null. *
*
* 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. Default to null. *
* @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. Default to null. *
** 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. Default to null. *
* @return A reference to this updated object so that method calls can be * chained together. * @see FleetMetricUnit */ public CreateFleetMetricRequest 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. Default to null. *
*
* 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. Default to null. *
* @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. Default to null. *
** 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. Default to null. *
* @return A reference to this updated object so that method calls can be * chained together. * @see FleetMetricUnit */ public CreateFleetMetricRequest withUnit(FleetMetricUnit unit) { this.unit = unit.toString(); return this; } /** ** Metadata, which can be used to manage the fleet metric. *
* * @return* Metadata, which can be used to manage the fleet metric. *
*/ public java.util.List* Metadata, which can be used to manage the fleet metric. *
* * @param tags* Metadata, which can be used to manage the fleet metric. *
*/ public void setTags(java.util.Collection* Metadata, which can be used to manage the fleet metric. *
** Returns a reference to this object so that method calls can be chained * together. * * @param tags
* Metadata, which can be used to manage the fleet metric. *
* @return A reference to this updated object so that method calls can be * chained together. */ public CreateFleetMetricRequest withTags(Tag... tags) { if (getTags() == null) { this.tags = new java.util.ArrayList* Metadata, which can be used to manage the fleet metric. *
** Returns a reference to this object so that method calls can be chained * together. * * @param tags
* Metadata, which can be used to manage the fleet metric. *
* @return A reference to this updated object so that method calls can be * chained together. */ public CreateFleetMetricRequest withTags(java.util.Collection