Class AnomalyMonitor

java.lang.Object
software.amazon.awssdk.services.costexplorer.model.AnomalyMonitor
All Implemented Interfaces:
Serializable, SdkPojo, ToCopyableBuilder<AnomalyMonitor.Builder,AnomalyMonitor>

@Generated("software.amazon.awssdk:codegen") public final class AnomalyMonitor extends Object implements SdkPojo, Serializable, ToCopyableBuilder<AnomalyMonitor.Builder,AnomalyMonitor>

This object continuously inspects your account's cost data for anomalies. It's based on MonitorType and MonitorSpecification. The content consists of detailed metadata and the current status of the monitor object.

See Also:
  • Method Details

    • monitorArn

      public final String monitorArn()

      The Amazon Resource Name (ARN) value.

      Returns:
      The Amazon Resource Name (ARN) value.
    • monitorName

      public final String monitorName()

      The name of the monitor.

      Returns:
      The name of the monitor.
    • creationDate

      public final String creationDate()

      The date when the monitor was created.

      Returns:
      The date when the monitor was created.
    • lastUpdatedDate

      public final String lastUpdatedDate()

      The date when the monitor was last updated.

      Returns:
      The date when the monitor was last updated.
    • lastEvaluatedDate

      public final String lastEvaluatedDate()

      The date when the monitor last evaluated for anomalies.

      Returns:
      The date when the monitor last evaluated for anomalies.
    • monitorType

      public final MonitorType monitorType()

      The type of the monitor.

      Set this to DIMENSIONAL for an Amazon Web Services managed monitor. Amazon Web Services managed monitors automatically track up to the top 5,000 values by cost within a dimension of your choosing. Each dimension value is evaluated independently. If you start incurring cost in a new value of your chosen dimension, it will automatically be analyzed by an Amazon Web Services managed monitor.

      Set this to CUSTOM for a customer managed monitor. Customer managed monitors let you select specific dimension values that get monitored in aggregate.

      For more information about monitor types, see Monitor types in the Billing and Cost Management User Guide.

      If the service returns an enum value that is not available in the current SDK version, monitorType will return MonitorType.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from monitorTypeAsString().

      Returns:
      The type of the monitor.

      Set this to DIMENSIONAL for an Amazon Web Services managed monitor. Amazon Web Services managed monitors automatically track up to the top 5,000 values by cost within a dimension of your choosing. Each dimension value is evaluated independently. If you start incurring cost in a new value of your chosen dimension, it will automatically be analyzed by an Amazon Web Services managed monitor.

      Set this to CUSTOM for a customer managed monitor. Customer managed monitors let you select specific dimension values that get monitored in aggregate.

      For more information about monitor types, see Monitor types in the Billing and Cost Management User Guide.

      See Also:
    • monitorTypeAsString

      public final String monitorTypeAsString()

      The type of the monitor.

      Set this to DIMENSIONAL for an Amazon Web Services managed monitor. Amazon Web Services managed monitors automatically track up to the top 5,000 values by cost within a dimension of your choosing. Each dimension value is evaluated independently. If you start incurring cost in a new value of your chosen dimension, it will automatically be analyzed by an Amazon Web Services managed monitor.

      Set this to CUSTOM for a customer managed monitor. Customer managed monitors let you select specific dimension values that get monitored in aggregate.

      For more information about monitor types, see Monitor types in the Billing and Cost Management User Guide.

      If the service returns an enum value that is not available in the current SDK version, monitorType will return MonitorType.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from monitorTypeAsString().

      Returns:
      The type of the monitor.

      Set this to DIMENSIONAL for an Amazon Web Services managed monitor. Amazon Web Services managed monitors automatically track up to the top 5,000 values by cost within a dimension of your choosing. Each dimension value is evaluated independently. If you start incurring cost in a new value of your chosen dimension, it will automatically be analyzed by an Amazon Web Services managed monitor.

      Set this to CUSTOM for a customer managed monitor. Customer managed monitors let you select specific dimension values that get monitored in aggregate.

      For more information about monitor types, see Monitor types in the Billing and Cost Management User Guide.

      See Also:
    • monitorDimension

      public final MonitorDimension monitorDimension()

      For customer managed monitors, do not specify this field.

      For Amazon Web Services managed monitors, this field controls which cost dimension is automatically analyzed by the monitor. For TAG and COST_CATEGORY dimensions, you must also specify MonitorSpecification to configure the specific tag or cost category key to analyze.

      If the service returns an enum value that is not available in the current SDK version, monitorDimension will return MonitorDimension.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from monitorDimensionAsString().

      Returns:
      For customer managed monitors, do not specify this field.

      For Amazon Web Services managed monitors, this field controls which cost dimension is automatically analyzed by the monitor. For TAG and COST_CATEGORY dimensions, you must also specify MonitorSpecification to configure the specific tag or cost category key to analyze.

      See Also:
    • monitorDimensionAsString

      public final String monitorDimensionAsString()

      For customer managed monitors, do not specify this field.

      For Amazon Web Services managed monitors, this field controls which cost dimension is automatically analyzed by the monitor. For TAG and COST_CATEGORY dimensions, you must also specify MonitorSpecification to configure the specific tag or cost category key to analyze.

      If the service returns an enum value that is not available in the current SDK version, monitorDimension will return MonitorDimension.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from monitorDimensionAsString().

      Returns:
      For customer managed monitors, do not specify this field.

      For Amazon Web Services managed monitors, this field controls which cost dimension is automatically analyzed by the monitor. For TAG and COST_CATEGORY dimensions, you must also specify MonitorSpecification to configure the specific tag or cost category key to analyze.

      See Also:
    • monitorSpecification

      public final Expression monitorSpecification()

      An Expression object used to control what costs the monitor analyzes for anomalies.

      For Amazon Web Services managed monitors:

      • If MonitorDimension is SERVICE or LINKED_ACCOUNT, do not specify this field

      • If MonitorDimension is TAG, set this field to { "Tags": { "Key": "your tag key" } }

      • If MonitorDimension is COST_CATEGORY, set this field to { "CostCategories": { "Key": "your cost category key" } }

      For customer managed monitors:

      • To track linked accounts, set this field to { "Dimensions": { "Key": "LINKED_ACCOUNT", "Values": [ "your list of up to 10 account IDs" ] } }

      • To track cost allocation tags, set this field to { "Tags": { "Key": "your tag key", "Values": [ "your list of up to 10 tag values" ] } }

      • To track cost categories, set this field to { "CostCategories": { "Key": "your cost category key", "Values": [ "your cost category value" ] } }

      Returns:
      An Expression object used to control what costs the monitor analyzes for anomalies.

      For Amazon Web Services managed monitors:

      • If MonitorDimension is SERVICE or LINKED_ACCOUNT, do not specify this field

      • If MonitorDimension is TAG, set this field to { "Tags": { "Key": "your tag key" } }

      • If MonitorDimension is COST_CATEGORY, set this field to { "CostCategories": { "Key": "your cost category key" } }

      For customer managed monitors:

      • To track linked accounts, set this field to { "Dimensions": { "Key": "LINKED_ACCOUNT", "Values": [ "your list of up to 10 account IDs" ] } }

      • To track cost allocation tags, set this field to { "Tags": { "Key": "your tag key", "Values": [ "your list of up to 10 tag values" ] } }

      • To track cost categories, set this field to { "CostCategories": { "Key": "your cost category key", "Values": [ "your cost category value" ] } }

    • dimensionalValueCount

      public final Integer dimensionalValueCount()

      The value for evaluated dimensions.

      Returns:
      The value for evaluated dimensions.
    • toBuilder

      public AnomalyMonitor.Builder toBuilder()
      Description copied from interface: ToCopyableBuilder
      Take this object and create a builder that contains all of the current property values of this object.
      Specified by:
      toBuilder in interface ToCopyableBuilder<AnomalyMonitor.Builder,AnomalyMonitor>
      Returns:
      a builder for type T
    • builder

      public static AnomalyMonitor.Builder builder()
    • serializableBuilderClass

      public static Class<? extends AnomalyMonitor.Builder> serializableBuilderClass()
    • hashCode

      public final int hashCode()
      Overrides:
      hashCode in class Object
    • equals

      public final boolean equals(Object obj)
      Overrides:
      equals in class Object
    • equalsBySdkFields

      public final boolean equalsBySdkFields(Object obj)
      Description copied from interface: SdkPojo
      Indicates whether some other object is "equal to" this one by SDK fields. An SDK field is a modeled, non-inherited field in an SdkPojo class, and is generated based on a service model.

      If an SdkPojo class does not have any inherited fields, equalsBySdkFields and equals are essentially the same.

      Specified by:
      equalsBySdkFields in interface SdkPojo
      Parameters:
      obj - the object to be compared with
      Returns:
      true if the other object equals to this object by sdk fields, false otherwise.
    • toString

      public final String toString()
      Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be redacted from this string using a placeholder value.
      Overrides:
      toString in class Object
    • getValueForField

      public final <T> Optional<T> getValueForField(String fieldName, Class<T> clazz)
    • sdkFields

      public final List<SdkField<?>> sdkFields()
      Specified by:
      sdkFields in interface SdkPojo
      Returns:
      List of SdkField in this POJO. May be empty list but should never be null.
    • sdkFieldNameToField

      public final Map<String,SdkField<?>> sdkFieldNameToField()
      Specified by:
      sdkFieldNameToField in interface SdkPojo
      Returns:
      The mapping between the field name and its corresponding field.