// Code generated by smithy-go-codegen DO NOT EDIT. package types import ( smithydocument "github.com/aws/smithy-go/document" "time" ) // Represents the history of a specific alarm. type AlarmHistoryItem struct { // The descriptive name for the alarm. AlarmName *string // The type of alarm, either metric alarm or composite alarm. AlarmType AlarmType // Data about the alarm, in JSON format. HistoryData *string // The type of alarm history item. HistoryItemType HistoryItemType // A summary of the alarm history, in text format. HistorySummary *string // The time stamp for the alarm history item. Timestamp *time.Time noSmithyDocumentSerde } // An anomaly detection model associated with a particular CloudWatch metric, // statistic, or metric math expression. You can use the model to display a band of // expected, normal values when the metric is graphed. type AnomalyDetector struct { // The configuration specifies details about how the anomaly detection model is to // be trained, including time ranges to exclude from use for training the model, // and the time zone to use for the metric. Configuration *AnomalyDetectorConfiguration // The metric dimensions associated with the anomaly detection model. // // Deprecated: Use SingleMetricAnomalyDetector.Dimensions property. Dimensions []Dimension // The CloudWatch metric math expression for this anomaly detector. MetricMathAnomalyDetector *MetricMathAnomalyDetector // The name of the metric associated with the anomaly detection model. // // Deprecated: Use SingleMetricAnomalyDetector.MetricName property. MetricName *string // The namespace of the metric associated with the anomaly detection model. // // Deprecated: Use SingleMetricAnomalyDetector.Namespace property. Namespace *string // The CloudWatch metric and statistic for this anomaly detector. SingleMetricAnomalyDetector *SingleMetricAnomalyDetector // The statistic associated with the anomaly detection model. // // Deprecated: Use SingleMetricAnomalyDetector.Stat property. Stat *string // The current status of the anomaly detector's training. The possible values are // TRAINED | PENDING_TRAINING | TRAINED_INSUFFICIENT_DATA StateValue AnomalyDetectorStateValue noSmithyDocumentSerde } // The configuration specifies details about how the anomaly detection model is to // be trained, including time ranges to exclude from use for training the model and // the time zone to use for the metric. type AnomalyDetectorConfiguration struct { // An array of time ranges to exclude from use when the anomaly detection model is // trained. Use this to make sure that events that could cause unusual values for // the metric, such as deployments, aren't used when CloudWatch creates the model. ExcludedTimeRanges []Range // The time zone to use for the metric. This is useful to enable the model to // automatically account for daylight savings time changes if the metric is // sensitive to such time changes. To specify a time zone, use the name of the time // zone as specified in the standard tz database. For more information, see tz // database (https://en.wikipedia.org/wiki/Tz_database) . MetricTimezone *string noSmithyDocumentSerde } // The details about a composite alarm. type CompositeAlarm struct { // Indicates whether actions should be executed during any changes to the alarm // state. ActionsEnabled *bool // When the value is ALARM , it means that the actions are suppressed because the // suppressor alarm is in ALARM When the value is WaitPeriod , it means that the // actions are suppressed because the composite alarm is waiting for the suppressor // alarm to go into into the ALARM state. The maximum waiting time is as specified // in ActionsSuppressorWaitPeriod . After this time, the composite alarm performs // its actions. When the value is ExtensionPeriod , it means that the actions are // suppressed because the composite alarm is waiting after the suppressor alarm // went out of the ALARM state. The maximum waiting time is as specified in // ActionsSuppressorExtensionPeriod . After this time, the composite alarm performs // its actions. ActionsSuppressedBy ActionsSuppressedBy // Captures the reason for action suppression. ActionsSuppressedReason *string // Actions will be suppressed if the suppressor alarm is in the ALARM state. // ActionsSuppressor can be an AlarmName or an Amazon Resource Name (ARN) from an // existing alarm. ActionsSuppressor *string // The maximum time in seconds that the composite alarm waits after suppressor // alarm goes out of the ALARM state. After this time, the composite alarm // performs its actions. ExtensionPeriod is required only when ActionsSuppressor // is specified. ActionsSuppressorExtensionPeriod *int32 // The maximum time in seconds that the composite alarm waits for the suppressor // alarm to go into the ALARM state. After this time, the composite alarm performs // its actions. WaitPeriod is required only when ActionsSuppressor is specified. ActionsSuppressorWaitPeriod *int32 // The actions to execute when this alarm transitions to the ALARM state from any // other state. Each action is specified as an Amazon Resource Name (ARN). AlarmActions []string // The Amazon Resource Name (ARN) of the alarm. AlarmArn *string // The time stamp of the last update to the alarm configuration. AlarmConfigurationUpdatedTimestamp *time.Time // The description of the alarm. AlarmDescription *string // The name of the alarm. AlarmName *string // The rule that this alarm uses to evaluate its alarm state. AlarmRule *string // The actions to execute when this alarm transitions to the INSUFFICIENT_DATA // state from any other state. Each action is specified as an Amazon Resource Name // (ARN). InsufficientDataActions []string // The actions to execute when this alarm transitions to the OK state from any // other state. Each action is specified as an Amazon Resource Name (ARN). OKActions []string // An explanation for the alarm state, in text format. StateReason *string // An explanation for the alarm state, in JSON format. StateReasonData *string // The timestamp of the last change to the alarm's StateValue . StateTransitionedTimestamp *time.Time // Tracks the timestamp of any state update, even if StateValue doesn't change. StateUpdatedTimestamp *time.Time // The state value for the alarm. StateValue StateValue noSmithyDocumentSerde } // Represents a specific dashboard. type DashboardEntry struct { // The Amazon Resource Name (ARN) of the dashboard. DashboardArn *string // The name of the dashboard. DashboardName *string // The time stamp of when the dashboard was last modified, either by an API call // or through the console. This number is expressed as the number of milliseconds // since Jan 1, 1970 00:00:00 UTC. LastModified *time.Time // The size of the dashboard, in bytes. Size int64 noSmithyDocumentSerde } // An error or warning for the operation. type DashboardValidationMessage struct { // The data path related to the message. DataPath *string // A message describing the error or warning. Message *string noSmithyDocumentSerde } // Encapsulates the statistical data that CloudWatch computes from metric data. type Datapoint struct { // The average of the metric values that correspond to the data point. Average *float64 // The percentile statistic for the data point. ExtendedStatistics map[string]float64 // The maximum metric value for the data point. Maximum *float64 // The minimum metric value for the data point. Minimum *float64 // The number of metric values that contributed to the aggregate value of this // data point. SampleCount *float64 // The sum of the metric values for the data point. Sum *float64 // The time stamp used for the data point. Timestamp *time.Time // The standard unit for the data point. Unit StandardUnit noSmithyDocumentSerde } // A dimension is a name/value pair that is part of the identity of a metric. // Because dimensions are part of the unique identifier for a metric, whenever you // add a unique name/value pair to one of your metrics, you are creating a new // variation of that metric. For example, many Amazon EC2 metrics publish // InstanceId as a dimension name, and the actual instance ID as the value for that // dimension. You can assign up to 30 dimensions to a metric. type Dimension struct { // The name of the dimension. Dimension names must contain only ASCII characters, // must include at least one non-whitespace character, and cannot start with a // colon ( : ). ASCII control characters are not supported as part of dimension // names. // // This member is required. Name *string // The value of the dimension. Dimension values must contain only ASCII characters // and must include at least one non-whitespace character. ASCII control characters // are not supported as part of dimension values. // // This member is required. Value *string noSmithyDocumentSerde } // Represents filters for a dimension. type DimensionFilter struct { // The dimension name to be matched. // // This member is required. Name *string // The value of the dimension to be matched. Value *string noSmithyDocumentSerde } // This structure contains the definition for a Contributor Insights rule. For // more information about this rule, see Using Constributor Insights to analyze // high-cardinality data (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/ContributorInsights.html) // in the Amazon CloudWatch User Guide. type InsightRule struct { // The definition of the rule, as a JSON object. The definition contains the // keywords used to define contributors, the value to aggregate on if this rule // returns a sum instead of a count, and the filters. For details on the valid // syntax, see Contributor Insights Rule Syntax (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/ContributorInsights-RuleSyntax.html) // . // // This member is required. Definition *string // The name of the rule. // // This member is required. Name *string // For rules that you create, this is always {"Name": "CloudWatchLogRule", // "Version": 1} . For managed rules, this is {"Name": "ServiceLogRule", // "Version": 1} // // This member is required. Schema *string // Indicates whether the rule is enabled or disabled. // // This member is required. State *string // An optional built-in rule that Amazon Web Services manages. ManagedRule bool noSmithyDocumentSerde } // One of the unique contributors found by a Contributor Insights rule. If the // rule contains multiple keys, then a unique contributor is a unique combination // of values from all the keys in the rule. If the rule contains a single key, then // each unique contributor is each unique value for this key. For more information, // see GetInsightRuleReport (https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_GetInsightRuleReport.html) // . type InsightRuleContributor struct { // An approximation of the aggregate value that comes from this contributor. // // This member is required. ApproximateAggregateValue *float64 // An array of the data points where this contributor is present. Only the data // points when this contributor appeared are included in the array. // // This member is required. Datapoints []InsightRuleContributorDatapoint // One of the log entry field keywords that is used to define contributors for // this rule. // // This member is required. Keys []string noSmithyDocumentSerde } // One data point related to one contributor. For more information, see // GetInsightRuleReport (https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_GetInsightRuleReport.html) // and InsightRuleContributor (https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_InsightRuleContributor.html) // . type InsightRuleContributorDatapoint struct { // The approximate value that this contributor added during this timestamp. // // This member is required. ApproximateValue *float64 // The timestamp of the data point. // // This member is required. Timestamp *time.Time noSmithyDocumentSerde } // One data point from the metric time series returned in a Contributor Insights // rule report. For more information, see GetInsightRuleReport (https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_GetInsightRuleReport.html) // . type InsightRuleMetricDatapoint struct { // The timestamp of the data point. // // This member is required. Timestamp *time.Time // The average value from all contributors during the time period represented by // that data point. This statistic is returned only if you included it in the // Metrics array in your request. Average *float64 // The maximum value provided by one contributor during this timestamp. Each // timestamp is evaluated separately, so the identity of the max contributor could // be different for each timestamp. This statistic is returned only if you included // it in the Metrics array in your request. MaxContributorValue *float64 // The maximum value from a single occurence from a single contributor during the // time period represented by that data point. This statistic is returned only if // you included it in the Metrics array in your request. Maximum *float64 // The minimum value from a single contributor during the time period represented // by that data point. This statistic is returned only if you included it in the // Metrics array in your request. Minimum *float64 // The number of occurrences that matched the rule during this data point. This // statistic is returned only if you included it in the Metrics array in your // request. SampleCount *float64 // The sum of the values from all contributors during the time period represented // by that data point. This statistic is returned only if you included it in the // Metrics array in your request. Sum *float64 // The number of unique contributors who published data during this timestamp. // This statistic is returned only if you included it in the Metrics array in your // request. UniqueContributors *float64 noSmithyDocumentSerde } // This structure includes the Timezone parameter, which you can use to specify // your time zone so that the labels that are associated with returned metrics // display the correct time for your time zone. The Timezone value affects a label // only if you have a time-based dynamic expression in the label. For more // information about dynamic expressions in labels, see Using Dynamic Labels (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/graph-dynamic-labels.html) // . type LabelOptions struct { // The time zone to use for metric data return in this operation. The format is + // or - followed by four digits. The first two digits indicate the number of hours // ahead or behind of UTC, and the final two digits are the number of minutes. For // example, +0130 indicates a time zone that is 1 hour and 30 minutes ahead of UTC. // The default is +0000. Timezone *string noSmithyDocumentSerde } // Contains the information that's required to enable a managed Contributor // Insights rule for an Amazon Web Services resource. type ManagedRule struct { // The ARN of an Amazon Web Services resource that has managed Contributor // Insights rules. // // This member is required. ResourceARN *string // The template name for the managed Contributor Insights rule, as returned by // ListManagedInsightRules . // // This member is required. TemplateName *string // A list of key-value pairs that you can associate with a managed Contributor // Insights rule. You can associate as many as 50 tags with a rule. Tags can help // you organize and categorize your resources. You also can use them to scope user // permissions by granting a user permission to access or change only the resources // that have certain tag values. To associate tags with a rule, you must have the // cloudwatch:TagResource permission in addition to the cloudwatch:PutInsightRule // permission. If you are using this operation to update an existing Contributor // Insights rule, any tags that you specify in this parameter are ignored. To // change the tags of an existing rule, use TagResource . Tags []Tag noSmithyDocumentSerde } // Contains information about managed Contributor Insights rules, as returned by // ListManagedInsightRules . type ManagedRuleDescription struct { // If a managed rule is enabled, this is the ARN for the related Amazon Web // Services resource. ResourceARN *string // Describes the state of a managed rule. If present, it contains information // about the Contributor Insights rule that contains information about the related // Amazon Web Services resource. RuleState *ManagedRuleState // The template name for the managed rule. Used to enable managed rules using // PutManagedInsightRules . TemplateName *string noSmithyDocumentSerde } // The status of a managed Contributor Insights rule. type ManagedRuleState struct { // The name of the Contributor Insights rule that contains data for the specified // Amazon Web Services resource. // // This member is required. RuleName *string // Indicates whether the rule is enabled or disabled. // // This member is required. State *string noSmithyDocumentSerde } // A message returned by the GetMetricData API, including a code and a description. // If a cross-Region GetMetricData operation fails with a code of Forbidden and a // value of Authentication too complex to retrieve cross region data , you can // correct the problem by running the GetMetricData operation in the same Region // where the metric data is. type MessageData struct { // The error code or status code associated with the message. Code *string // The message text. Value *string noSmithyDocumentSerde } // Represents a specific metric. type Metric struct { // The dimensions for the metric. Dimensions []Dimension // The name of the metric. This is a required field. MetricName *string // The namespace of the metric. Namespace *string noSmithyDocumentSerde } // The details about a metric alarm. type MetricAlarm struct { // Indicates whether actions should be executed during any changes to the alarm // state. ActionsEnabled *bool // The actions to execute when this alarm transitions to the ALARM state from any // other state. Each action is specified as an Amazon Resource Name (ARN). AlarmActions []string // The Amazon Resource Name (ARN) of the alarm. AlarmArn *string // The time stamp of the last update to the alarm configuration. AlarmConfigurationUpdatedTimestamp *time.Time // The description of the alarm. AlarmDescription *string // The name of the alarm. AlarmName *string // The arithmetic operation to use when comparing the specified statistic and // threshold. The specified statistic value is used as the first operand. ComparisonOperator ComparisonOperator // The number of data points that must be breaching to trigger the alarm. DatapointsToAlarm *int32 // The dimensions for the metric associated with the alarm. Dimensions []Dimension // Used only for alarms based on percentiles. If ignore , the alarm state does not // change during periods with too few data points to be statistically significant. // If evaluate or this parameter is not used, the alarm is always evaluated and // possibly changes state no matter how many data points are available. EvaluateLowSampleCountPercentile *string // The number of periods over which data is compared to the specified threshold. EvaluationPeriods *int32 // If the value of this field is PARTIAL_DATA , the alarm is being evaluated based // on only partial data. This happens if the query used for the alarm returns more // than 10,000 metrics. For more information, see Create alarms on Metrics // Insights queries (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Create_Metrics_Insights_Alarm.html) // . EvaluationState EvaluationState // The percentile statistic for the metric associated with the alarm. Specify a // value between p0.0 and p100. ExtendedStatistic *string // The actions to execute when this alarm transitions to the INSUFFICIENT_DATA // state from any other state. Each action is specified as an Amazon Resource Name // (ARN). InsufficientDataActions []string // The name of the metric associated with the alarm, if this is an alarm based on // a single metric. MetricName *string // An array of MetricDataQuery structures, used in an alarm based on a metric math // expression. Each structure either retrieves a metric or performs a math // expression. One item in the Metrics array is the math expression that the alarm // watches. This expression by designated by having ReturnData set to true. Metrics []MetricDataQuery // The namespace of the metric associated with the alarm. Namespace *string // The actions to execute when this alarm transitions to the OK state from any // other state. Each action is specified as an Amazon Resource Name (ARN). OKActions []string // The period, in seconds, over which the statistic is applied. Period *int32 // An explanation for the alarm state, in text format. StateReason *string // An explanation for the alarm state, in JSON format. StateReasonData *string // The date and time that the alarm's StateValue most recently changed. StateTransitionedTimestamp *time.Time // The time stamp of the last update to the value of either the StateValue or // EvaluationState parameters. StateUpdatedTimestamp *time.Time // The state value for the alarm. StateValue StateValue // The statistic for the metric associated with the alarm, other than percentile. // For percentile statistics, use ExtendedStatistic . Statistic Statistic // The value to compare with the specified statistic. Threshold *float64 // In an alarm based on an anomaly detection model, this is the ID of the // ANOMALY_DETECTION_BAND function used as the threshold for the alarm. ThresholdMetricId *string // Sets how this alarm is to handle missing data points. The valid values are // breaching , notBreaching , ignore , and missing . For more information, see // Configuring how CloudWatch alarms treat missing data (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html#alarms-and-missing-data) // . If this parameter is omitted, the default behavior of missing is used. TreatMissingData *string // The unit of the metric associated with the alarm. Unit StandardUnit noSmithyDocumentSerde } // This structure is used in both GetMetricData and PutMetricAlarm . The supported // use of this structure is different for those two operations. When used in // GetMetricData , it indicates the metric data to return, and whether this call is // just retrieving a batch set of data for one metric, or is performing a Metrics // Insights query or a math expression. A single GetMetricData call can include up // to 500 MetricDataQuery structures. When used in PutMetricAlarm , it enables you // to create an alarm based on a metric math expression. Each MetricDataQuery in // the array specifies either a metric to retrieve, or a math expression to be // performed on retrieved metrics. A single PutMetricAlarm call can include up to // 20 MetricDataQuery structures in the array. The 20 structures can include as // many as 10 structures that contain a MetricStat parameter to retrieve a metric, // and as many as 10 structures that contain the Expression parameter to perform a // math expression. Of those Expression structures, one must have true as the // value for ReturnData . The result of this expression is the value the alarm // watches. Any expression used in a PutMetricAlarm operation must return a single // time series. For more information, see Metric Math Syntax and Functions (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/using-metric-math.html#metric-math-syntax) // in the Amazon CloudWatch User Guide. Some of the parameters of this structure // also have different uses whether you are using this structure in a GetMetricData // operation or a PutMetricAlarm operation. These differences are explained in the // following parameter list. type MetricDataQuery struct { // A short name used to tie this object to the results in the response. This name // must be unique within a single call to GetMetricData . If you are performing // math expressions on this set of data, this name represents that data and can // serve as a variable in the mathematical expression. The valid characters are // letters, numbers, and underscore. The first character must be a lowercase // letter. // // This member is required. Id *string // The ID of the account where the metrics are located. If you are performing a // GetMetricData operation in a monitoring account, use this to specify which // account to retrieve this metric from. If you are performing a PutMetricAlarm // operation, use this to specify which account contains the metric that the alarm // is watching. AccountId *string // This field can contain either a Metrics Insights query, or a metric math // expression to be performed on the returned data. For more information about // Metrics Insights queries, see Metrics Insights query components and syntax (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch-metrics-insights-querylanguage) // in the Amazon CloudWatch User Guide. A math expression can use the Id of the // other metrics or queries to refer to those metrics, and can also use the Id of // other expressions to use the result of those expressions. For more information // about metric math expressions, see Metric Math Syntax and Functions (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/using-metric-math.html#metric-math-syntax) // in the Amazon CloudWatch User Guide. Within each MetricDataQuery object, you // must specify either Expression or MetricStat but not both. Expression *string // A human-readable label for this metric or expression. This is especially useful // if this is an expression, so that you know what the value represents. If the // metric or expression is shown in a CloudWatch dashboard widget, the label is // shown. If Label is omitted, CloudWatch generates a default. You can put dynamic // expressions into a label, so that it is more descriptive. For more information, // see Using Dynamic Labels (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/graph-dynamic-labels.html) // . Label *string // The metric to be returned, along with statistics, period, and units. Use this // parameter only if this object is retrieving a metric and not performing a math // expression on returned data. Within one MetricDataQuery object, you must specify // either Expression or MetricStat but not both. MetricStat *MetricStat // The granularity, in seconds, of the returned data points. For metrics with // regular resolution, a period can be as short as one minute (60 seconds) and must // be a multiple of 60. For high-resolution metrics that are collected at intervals // of less than one minute, the period can be 1, 5, 10, 30, 60, or any multiple of // 60. High-resolution metrics are those metrics stored by a PutMetricData // operation that includes a StorageResolution of 1 second . Period *int32 // When used in GetMetricData , this option indicates whether to return the // timestamps and raw data values of this metric. If you are performing this call // just to do math expressions and do not also need the raw data returned, you can // specify false . If you omit this, the default of true is used. When used in // PutMetricAlarm , specify true for the one expression result to use as the // alarm. For all other metrics and expressions in the same PutMetricAlarm // operation, specify ReturnData as False. ReturnData *bool noSmithyDocumentSerde } // A GetMetricData call returns an array of MetricDataResult structures. Each of // these structures includes the data points for that metric, along with the // timestamps of those data points and other identifying information. type MetricDataResult struct { // The short name you specified to represent this metric. Id *string // The human-readable label associated with the data. Label *string // A list of messages with additional information about the data returned. Messages []MessageData // The status of the returned data. Complete indicates that all data points in the // requested time range were returned. PartialData means that an incomplete set of // data points were returned. You can use the NextToken value that was returned // and repeat your request to get more data points. NextToken is not returned if // you are performing a math expression. InternalError indicates that an error // occurred. Retry your request using NextToken , if present. StatusCode StatusCode // The timestamps for the data points, formatted in Unix timestamp format. The // number of timestamps always matches the number of values and the value for // Timestamps[x] is Values[x]. Timestamps []time.Time // The data points for the metric corresponding to Timestamps . The number of // values always matches the number of timestamps and the timestamp for Values[x] // is Timestamps[x]. Values []float64 noSmithyDocumentSerde } // Encapsulates the information sent to either create a metric or add new values // to be aggregated into an existing metric. type MetricDatum struct { // The name of the metric. // // This member is required. MetricName *string // Array of numbers that is used along with the Values array. Each number in the // Count array is the number of times the corresponding value in the Values array // occurred during the period. If you omit the Counts array, the default of 1 is // used as the value for each count. If you include a Counts array, it must // include the same amount of values as the Values array. Counts []float64 // The dimensions associated with the metric. Dimensions []Dimension // The statistical values for the metric. StatisticValues *StatisticSet // Valid values are 1 and 60. Setting this to 1 specifies this metric as a // high-resolution metric, so that CloudWatch stores the metric with sub-minute // resolution down to one second. Setting this to 60 specifies this metric as a // regular-resolution metric, which CloudWatch stores at 1-minute resolution. // Currently, high resolution is available only for custom metrics. For more // information about high-resolution metrics, see High-Resolution Metrics (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/publishingMetrics.html#high-resolution-metrics) // in the Amazon CloudWatch User Guide. This field is optional, if you do not // specify it the default of 60 is used. StorageResolution *int32 // The time the metric data was received, expressed as the number of milliseconds // since Jan 1, 1970 00:00:00 UTC. Timestamp *time.Time // When you are using a Put operation, this defines what unit you want to use when // storing the metric. In a Get operation, this displays the unit that is used for // the metric. Unit StandardUnit // The value for the metric. Although the parameter accepts numbers of type // Double, CloudWatch rejects values that are either too small or too large. Values // must be in the range of -2^360 to 2^360. In addition, special values (for // example, NaN, +Infinity, -Infinity) are not supported. Value *float64 // Array of numbers representing the values for the metric during the period. Each // unique value is listed just once in this array, and the corresponding number in // the Counts array specifies the number of times that value occurred during the // period. You can include up to 150 unique values in each PutMetricData action // that specifies a Values array. Although the Values array accepts numbers of // type Double , CloudWatch rejects values that are either too small or too large. // Values must be in the range of -2^360 to 2^360. In addition, special values (for // example, NaN, +Infinity, -Infinity) are not supported. Values []float64 noSmithyDocumentSerde } // Indicates the CloudWatch math expression that provides the time series the // anomaly detector uses as input. The designated math expression must return a // single time series. type MetricMathAnomalyDetector struct { // An array of metric data query structures that enables you to create an anomaly // detector based on the result of a metric math expression. Each item in // MetricDataQueries gets a metric or performs a math expression. One item in // MetricDataQueries is the expression that provides the time series that the // anomaly detector uses as input. Designate the expression by setting ReturnData // to true for this object in the array. For all other expressions and metrics, // set ReturnData to false . The designated expression must return a single time // series. MetricDataQueries []MetricDataQuery noSmithyDocumentSerde } // This structure defines the metric to be returned, along with the statistics, // period, and units. type MetricStat struct { // The metric to return, including the metric name, namespace, and dimensions. // // This member is required. Metric *Metric // The granularity, in seconds, of the returned data points. For metrics with // regular resolution, a period can be as short as one minute (60 seconds) and must // be a multiple of 60. For high-resolution metrics that are collected at intervals // of less than one minute, the period can be 1, 5, 10, 30, 60, or any multiple of // 60. High-resolution metrics are those metrics stored by a PutMetricData call // that includes a StorageResolution of 1 second. If the StartTime parameter // specifies a time stamp that is greater than 3 hours ago, you must specify the // period as follows or no data points in that time range is returned: // - Start time between 3 hours and 15 days ago - Use a multiple of 60 seconds // (1 minute). // - Start time between 15 and 63 days ago - Use a multiple of 300 seconds (5 // minutes). // - Start time greater than 63 days ago - Use a multiple of 3600 seconds (1 // hour). // // This member is required. Period *int32 // The statistic to return. It can include any CloudWatch statistic or extended // statistic. // // This member is required. Stat *string // When you are using a Put operation, this defines what unit you want to use when // storing the metric. In a Get operation, if you omit Unit then all data that was // collected with any unit is returned, along with the corresponding units that // were specified when the data was reported to CloudWatch. If you specify a unit, // the operation returns only data that was collected with that unit specified. If // you specify a unit that does not match the data collected, the results of the // operation are null. CloudWatch does not perform unit conversions. Unit StandardUnit noSmithyDocumentSerde } // This structure contains the configuration information about one metric stream. type MetricStreamEntry struct { // The ARN of the metric stream. Arn *string // The date that the metric stream was originally created. CreationDate *time.Time // The ARN of the Kinesis Firehose devlivery stream that is used for this metric // stream. FirehoseArn *string // The date that the configuration of this metric stream was most recently updated. LastUpdateDate *time.Time // The name of the metric stream. Name *string // The output format of this metric stream. Valid values are json and // opentelemetry0.7 . OutputFormat MetricStreamOutputFormat // The current state of this stream. Valid values are running and stopped . State *string noSmithyDocumentSerde } // This structure contains a metric namespace and optionally, a list of metric // names, to either include in a metric stream or exclude from a metric stream. A // metric stream's filters can include up to 1000 total names. This limit applies // to the sum of namespace names and metric names in the filters. For example, this // could include 10 metric namespace filters with 99 metrics each, or 20 namespace // filters with 49 metrics specified in each filter. type MetricStreamFilter struct { // The names of the metrics to either include or exclude from the metric stream. // If you omit this parameter, all metrics in the namespace are included or // excluded, depending on whether this filter is specified as an exclude filter or // an include filter. Each metric name can contain only ASCII printable characters // (ASCII range 32 through 126). Each metric name must contain at least one // non-whitespace character. MetricNames []string // The name of the metric namespace for this filter. The namespace can contain // only ASCII printable characters (ASCII range 32 through 126). It must contain at // least one non-whitespace character. Namespace *string noSmithyDocumentSerde } // By default, a metric stream always sends the MAX , MIN , SUM , and SAMPLECOUNT // statistics for each metric that is streamed. This structure contains information // for one metric that includes additional statistics in the stream. For more // information about statistics, see CloudWatch, listed in CloudWatch statistics // definitions (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Statistics-definitions.html.html) // . type MetricStreamStatisticsConfiguration struct { // The list of additional statistics that are to be streamed for the metrics // listed in the IncludeMetrics array in this structure. This list can include as // many as 20 statistics. If the OutputFormat for the stream is opentelemetry0.7 , // the only valid values are p?? percentile statistics such as p90 , p99 and so // on. If the OutputFormat for the stream is json , the valid values include the // abbreviations for all of the statistics listed in CloudWatch statistics // definitions (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Statistics-definitions.html.html) // . For example, this includes tm98, wm90 , PR(:300) , and so on. // // This member is required. AdditionalStatistics []string // An array of metric name and namespace pairs that stream the additional // statistics listed in the value of the AdditionalStatistics parameter. There can // be as many as 100 pairs in the array. All metrics that match the combination of // metric name and namespace will be streamed with the additional statistics, no // matter their dimensions. // // This member is required. IncludeMetrics []MetricStreamStatisticsMetric noSmithyDocumentSerde } // This object contains the information for one metric that is to be streamed with // additional statistics. type MetricStreamStatisticsMetric struct { // The name of the metric. // // This member is required. MetricName *string // The namespace of the metric. // // This member is required. Namespace *string noSmithyDocumentSerde } // This array is empty if the API operation was successful for all the rules // specified in the request. If the operation could not process one of the rules, // the following data is returned for each of those rules. type PartialFailure struct { // The type of error. ExceptionType *string // The code of the error. FailureCode *string // A description of the error. FailureDescription *string // The specified rule that could not be deleted. FailureResource *string noSmithyDocumentSerde } // Specifies one range of days or times to exclude from use for training an // anomaly detection model. type Range struct { // The end time of the range to exclude. The format is yyyy-MM-dd'T'HH:mm:ss . For // example, 2019-07-01T23:59:59 . // // This member is required. EndTime *time.Time // The start time of the range to exclude. The format is yyyy-MM-dd'T'HH:mm:ss . // For example, 2019-07-01T23:59:59 . // // This member is required. StartTime *time.Time noSmithyDocumentSerde } // Designates the CloudWatch metric and statistic that provides the time series // the anomaly detector uses as input. type SingleMetricAnomalyDetector struct { // The metric dimensions to create the anomaly detection model for. Dimensions []Dimension // The name of the metric to create the anomaly detection model for. MetricName *string // The namespace of the metric to create the anomaly detection model for. Namespace *string // The statistic to use for the metric and anomaly detection model. Stat *string noSmithyDocumentSerde } // Represents a set of statistics that describes a specific metric. type StatisticSet struct { // The maximum value of the sample set. // // This member is required. Maximum *float64 // The minimum value of the sample set. // // This member is required. Minimum *float64 // The number of samples used for the statistic set. // // This member is required. SampleCount *float64 // The sum of values for the sample set. // // This member is required. Sum *float64 noSmithyDocumentSerde } // A key-value pair associated with a CloudWatch resource. type Tag struct { // A string that you can use to assign a value. The combination of tag keys and // values can help you organize and categorize your resources. // // This member is required. Key *string // The value for the specified tag key. // // This member is required. Value *string noSmithyDocumentSerde } type noSmithyDocumentSerde = smithydocument.NoSerde