com.pulumi.aws.appautoscaling.outputs.PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecification Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of aws Show documentation
Show all versions of aws Show documentation
A Pulumi package for creating and managing Amazon Web Services (AWS) cloud resources.
// *** WARNING: this file was generated by pulumi-java-gen. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
package com.pulumi.aws.appautoscaling.outputs;
import com.pulumi.aws.appautoscaling.outputs.PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationDimension;
import com.pulumi.aws.appautoscaling.outputs.PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetric;
import com.pulumi.core.annotations.CustomType;
import java.lang.String;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;
@CustomType
public final class PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecification {
/**
* @return Dimensions of the metric.
*
*/
private @Nullable List dimensions;
/**
* @return Name of the metric.
*
*/
private @Nullable String metricName;
/**
* @return Metrics to include, as a metric data query.
*
*/
private @Nullable List metrics;
/**
* @return Namespace of the metric.
*
*/
private @Nullable String namespace;
/**
* @return Statistic of the metric. Valid values: `Average`, `Minimum`, `Maximum`, `SampleCount`, and `Sum`.
*
*/
private @Nullable String statistic;
/**
* @return Unit of the metrics to return.
*
*/
private @Nullable String unit;
private PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecification() {}
/**
* @return Dimensions of the metric.
*
*/
public List dimensions() {
return this.dimensions == null ? List.of() : this.dimensions;
}
/**
* @return Name of the metric.
*
*/
public Optional metricName() {
return Optional.ofNullable(this.metricName);
}
/**
* @return Metrics to include, as a metric data query.
*
*/
public List metrics() {
return this.metrics == null ? List.of() : this.metrics;
}
/**
* @return Namespace of the metric.
*
*/
public Optional namespace() {
return Optional.ofNullable(this.namespace);
}
/**
* @return Statistic of the metric. Valid values: `Average`, `Minimum`, `Maximum`, `SampleCount`, and `Sum`.
*
*/
public Optional statistic() {
return Optional.ofNullable(this.statistic);
}
/**
* @return Unit of the metrics to return.
*
*/
public Optional unit() {
return Optional.ofNullable(this.unit);
}
public static Builder builder() {
return new Builder();
}
public static Builder builder(PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecification defaults) {
return new Builder(defaults);
}
@CustomType.Builder
public static final class Builder {
private @Nullable List dimensions;
private @Nullable String metricName;
private @Nullable List metrics;
private @Nullable String namespace;
private @Nullable String statistic;
private @Nullable String unit;
public Builder() {}
public Builder(PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecification defaults) {
Objects.requireNonNull(defaults);
this.dimensions = defaults.dimensions;
this.metricName = defaults.metricName;
this.metrics = defaults.metrics;
this.namespace = defaults.namespace;
this.statistic = defaults.statistic;
this.unit = defaults.unit;
}
@CustomType.Setter
public Builder dimensions(@Nullable List dimensions) {
this.dimensions = dimensions;
return this;
}
public Builder dimensions(PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationDimension... dimensions) {
return dimensions(List.of(dimensions));
}
@CustomType.Setter
public Builder metricName(@Nullable String metricName) {
this.metricName = metricName;
return this;
}
@CustomType.Setter
public Builder metrics(@Nullable List metrics) {
this.metrics = metrics;
return this;
}
public Builder metrics(PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetric... metrics) {
return metrics(List.of(metrics));
}
@CustomType.Setter
public Builder namespace(@Nullable String namespace) {
this.namespace = namespace;
return this;
}
@CustomType.Setter
public Builder statistic(@Nullable String statistic) {
this.statistic = statistic;
return this;
}
@CustomType.Setter
public Builder unit(@Nullable String unit) {
this.unit = unit;
return this;
}
public PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecification build() {
final var _resultValue = new PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecification();
_resultValue.dimensions = dimensions;
_resultValue.metricName = metricName;
_resultValue.metrics = metrics;
_resultValue.namespace = namespace;
_resultValue.statistic = statistic;
_resultValue.unit = unit;
return _resultValue;
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy