// THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. // Package cloudwatch provides a client for Amazon CloudWatch. package cloudwatch import ( "time" "github.com/aws/aws-sdk-go/aws/awsutil" "github.com/aws/aws-sdk-go/aws/request" "github.com/aws/aws-sdk-go/private/protocol" "github.com/aws/aws-sdk-go/private/protocol/query" ) const opDeleteAlarms = "DeleteAlarms" // DeleteAlarmsRequest generates a request for the DeleteAlarms operation. func (c *CloudWatch) DeleteAlarmsRequest(input *DeleteAlarmsInput) (req *request.Request, output *DeleteAlarmsOutput) { op := &request.Operation{ Name: opDeleteAlarms, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { input = &DeleteAlarmsInput{} } req = c.newRequest(op, input, output) req.Handlers.Unmarshal.Remove(query.UnmarshalHandler) req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) output = &DeleteAlarmsOutput{} req.Data = output return } // Deletes all specified alarms. In the event of an error, no alarms are deleted. func (c *CloudWatch) DeleteAlarms(input *DeleteAlarmsInput) (*DeleteAlarmsOutput, error) { req, out := c.DeleteAlarmsRequest(input) err := req.Send() return out, err } const opDescribeAlarmHistory = "DescribeAlarmHistory" // DescribeAlarmHistoryRequest generates a request for the DescribeAlarmHistory operation. func (c *CloudWatch) DescribeAlarmHistoryRequest(input *DescribeAlarmHistoryInput) (req *request.Request, output *DescribeAlarmHistoryOutput) { op := &request.Operation{ Name: opDescribeAlarmHistory, HTTPMethod: "POST", HTTPPath: "/", Paginator: &request.Paginator{ InputTokens: []string{"NextToken"}, OutputTokens: []string{"NextToken"}, LimitToken: "MaxRecords", TruncationToken: "", }, } if input == nil { input = &DescribeAlarmHistoryInput{} } req = c.newRequest(op, input, output) output = &DescribeAlarmHistoryOutput{} req.Data = output return } // Retrieves history for the specified alarm. Filter alarms by date range or // item type. If an alarm name is not specified, Amazon CloudWatch returns histories // for all of the owner's alarms. func (c *CloudWatch) DescribeAlarmHistory(input *DescribeAlarmHistoryInput) (*DescribeAlarmHistoryOutput, error) { req, out := c.DescribeAlarmHistoryRequest(input) err := req.Send() return out, err } func (c *CloudWatch) DescribeAlarmHistoryPages(input *DescribeAlarmHistoryInput, fn func(p *DescribeAlarmHistoryOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.DescribeAlarmHistoryRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) return page.EachPage(func(p interface{}, lastPage bool) bool { return fn(p.(*DescribeAlarmHistoryOutput), lastPage) }) } const opDescribeAlarms = "DescribeAlarms" // DescribeAlarmsRequest generates a request for the DescribeAlarms operation. func (c *CloudWatch) DescribeAlarmsRequest(input *DescribeAlarmsInput) (req *request.Request, output *DescribeAlarmsOutput) { op := &request.Operation{ Name: opDescribeAlarms, HTTPMethod: "POST", HTTPPath: "/", Paginator: &request.Paginator{ InputTokens: []string{"NextToken"}, OutputTokens: []string{"NextToken"}, LimitToken: "MaxRecords", TruncationToken: "", }, } if input == nil { input = &DescribeAlarmsInput{} } req = c.newRequest(op, input, output) output = &DescribeAlarmsOutput{} req.Data = output return } // Retrieves alarms with the specified names. If no name is specified, all alarms // for the user are returned. Alarms can be retrieved by using only a prefix // for the alarm name, the alarm state, or a prefix for any action. func (c *CloudWatch) DescribeAlarms(input *DescribeAlarmsInput) (*DescribeAlarmsOutput, error) { req, out := c.DescribeAlarmsRequest(input) err := req.Send() return out, err } func (c *CloudWatch) DescribeAlarmsPages(input *DescribeAlarmsInput, fn func(p *DescribeAlarmsOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.DescribeAlarmsRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) return page.EachPage(func(p interface{}, lastPage bool) bool { return fn(p.(*DescribeAlarmsOutput), lastPage) }) } const opDescribeAlarmsForMetric = "DescribeAlarmsForMetric" // DescribeAlarmsForMetricRequest generates a request for the DescribeAlarmsForMetric operation. func (c *CloudWatch) DescribeAlarmsForMetricRequest(input *DescribeAlarmsForMetricInput) (req *request.Request, output *DescribeAlarmsForMetricOutput) { op := &request.Operation{ Name: opDescribeAlarmsForMetric, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { input = &DescribeAlarmsForMetricInput{} } req = c.newRequest(op, input, output) output = &DescribeAlarmsForMetricOutput{} req.Data = output return } // Retrieves all alarms for a single metric. Specify a statistic, period, or // unit to filter the set of alarms further. func (c *CloudWatch) DescribeAlarmsForMetric(input *DescribeAlarmsForMetricInput) (*DescribeAlarmsForMetricOutput, error) { req, out := c.DescribeAlarmsForMetricRequest(input) err := req.Send() return out, err } const opDisableAlarmActions = "DisableAlarmActions" // DisableAlarmActionsRequest generates a request for the DisableAlarmActions operation. func (c *CloudWatch) DisableAlarmActionsRequest(input *DisableAlarmActionsInput) (req *request.Request, output *DisableAlarmActionsOutput) { op := &request.Operation{ Name: opDisableAlarmActions, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { input = &DisableAlarmActionsInput{} } req = c.newRequest(op, input, output) req.Handlers.Unmarshal.Remove(query.UnmarshalHandler) req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) output = &DisableAlarmActionsOutput{} req.Data = output return } // Disables actions for the specified alarms. When an alarm's actions are disabled // the alarm's state may change, but none of the alarm's actions will execute. func (c *CloudWatch) DisableAlarmActions(input *DisableAlarmActionsInput) (*DisableAlarmActionsOutput, error) { req, out := c.DisableAlarmActionsRequest(input) err := req.Send() return out, err } const opEnableAlarmActions = "EnableAlarmActions" // EnableAlarmActionsRequest generates a request for the EnableAlarmActions operation. func (c *CloudWatch) EnableAlarmActionsRequest(input *EnableAlarmActionsInput) (req *request.Request, output *EnableAlarmActionsOutput) { op := &request.Operation{ Name: opEnableAlarmActions, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { input = &EnableAlarmActionsInput{} } req = c.newRequest(op, input, output) req.Handlers.Unmarshal.Remove(query.UnmarshalHandler) req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) output = &EnableAlarmActionsOutput{} req.Data = output return } // Enables actions for the specified alarms. func (c *CloudWatch) EnableAlarmActions(input *EnableAlarmActionsInput) (*EnableAlarmActionsOutput, error) { req, out := c.EnableAlarmActionsRequest(input) err := req.Send() return out, err } const opGetMetricStatistics = "GetMetricStatistics" // GetMetricStatisticsRequest generates a request for the GetMetricStatistics operation. func (c *CloudWatch) GetMetricStatisticsRequest(input *GetMetricStatisticsInput) (req *request.Request, output *GetMetricStatisticsOutput) { op := &request.Operation{ Name: opGetMetricStatistics, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { input = &GetMetricStatisticsInput{} } req = c.newRequest(op, input, output) output = &GetMetricStatisticsOutput{} req.Data = output return } // Gets statistics for the specified metric. // // The maximum number of data points returned from a single GetMetricStatistics // request is 1,440, wereas the maximum number of data points that can be queried // is 50,850. If you make a request that generates more than 1,440 data points, // Amazon CloudWatch returns an error. In such a case, you can alter the request // by narrowing the specified time range or increasing the specified period. // Alternatively, you can make multiple requests across adjacent time ranges. // // Amazon CloudWatch aggregates data points based on the length of the period // that you specify. For example, if you request statistics with a one-minute // granularity, Amazon CloudWatch aggregates data points with time stamps that // fall within the same one-minute period. In such a case, the data points queried // can greatly outnumber the data points returned. // // The following examples show various statistics allowed by the data point // query maximum of 50,850 when you call GetMetricStatistics on Amazon EC2 instances // with detailed (one-minute) monitoring enabled: // // Statistics for up to 400 instances for a span of one hour Statistics for // up to 35 instances over a span of 24 hours Statistics for up to 2 instances // over a span of 2 weeks For information about the namespace, metric names, // and dimensions that other Amazon Web Services products use to send metrics // to Cloudwatch, go to Amazon CloudWatch Metrics, Namespaces, and Dimensions // Reference (http://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/CW_Support_For_AWS.html) // in the Amazon CloudWatch Developer Guide. func (c *CloudWatch) GetMetricStatistics(input *GetMetricStatisticsInput) (*GetMetricStatisticsOutput, error) { req, out := c.GetMetricStatisticsRequest(input) err := req.Send() return out, err } const opListMetrics = "ListMetrics" // ListMetricsRequest generates a request for the ListMetrics operation. func (c *CloudWatch) ListMetricsRequest(input *ListMetricsInput) (req *request.Request, output *ListMetricsOutput) { op := &request.Operation{ Name: opListMetrics, HTTPMethod: "POST", HTTPPath: "/", Paginator: &request.Paginator{ InputTokens: []string{"NextToken"}, OutputTokens: []string{"NextToken"}, LimitToken: "", TruncationToken: "", }, } if input == nil { input = &ListMetricsInput{} } req = c.newRequest(op, input, output) output = &ListMetricsOutput{} req.Data = output return } // Returns a list of valid metrics stored for the AWS account owner. Returned // metrics can be used with GetMetricStatistics to obtain statistical data for // a given metric. func (c *CloudWatch) ListMetrics(input *ListMetricsInput) (*ListMetricsOutput, error) { req, out := c.ListMetricsRequest(input) err := req.Send() return out, err } func (c *CloudWatch) ListMetricsPages(input *ListMetricsInput, fn func(p *ListMetricsOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.ListMetricsRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) return page.EachPage(func(p interface{}, lastPage bool) bool { return fn(p.(*ListMetricsOutput), lastPage) }) } const opPutMetricAlarm = "PutMetricAlarm" // PutMetricAlarmRequest generates a request for the PutMetricAlarm operation. func (c *CloudWatch) PutMetricAlarmRequest(input *PutMetricAlarmInput) (req *request.Request, output *PutMetricAlarmOutput) { op := &request.Operation{ Name: opPutMetricAlarm, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { input = &PutMetricAlarmInput{} } req = c.newRequest(op, input, output) req.Handlers.Unmarshal.Remove(query.UnmarshalHandler) req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) output = &PutMetricAlarmOutput{} req.Data = output return } // Creates or updates an alarm and associates it with the specified Amazon CloudWatch // metric. Optionally, this operation can associate one or more Amazon Simple // Notification Service resources with the alarm. // // When this operation creates an alarm, the alarm state is immediately set // to INSUFFICIENT_DATA. The alarm is evaluated and its StateValue is set appropriately. // Any actions associated with the StateValue is then executed. func (c *CloudWatch) PutMetricAlarm(input *PutMetricAlarmInput) (*PutMetricAlarmOutput, error) { req, out := c.PutMetricAlarmRequest(input) err := req.Send() return out, err } const opPutMetricData = "PutMetricData" // PutMetricDataRequest generates a request for the PutMetricData operation. func (c *CloudWatch) PutMetricDataRequest(input *PutMetricDataInput) (req *request.Request, output *PutMetricDataOutput) { op := &request.Operation{ Name: opPutMetricData, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { input = &PutMetricDataInput{} } req = c.newRequest(op, input, output) req.Handlers.Unmarshal.Remove(query.UnmarshalHandler) req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) output = &PutMetricDataOutput{} req.Data = output return } // Publishes metric data points to Amazon CloudWatch. Amazon Cloudwatch associates // the data points with the specified metric. If the specified metric does not // exist, Amazon CloudWatch creates the metric. It can take up to fifteen minutes // for a new metric to appear in calls to the ListMetrics action. // // The size of a PutMetricData request is limited to 8 KB for HTTP GET requests // and 40 KB for HTTP POST requests. // // Although the Value parameter accepts numbers of type Double, Amazon CloudWatch // truncates values with very large exponents. Values with base-10 exponents // greater than 126 (1 x 10^126) are truncated. Likewise, values with base-10 // exponents less than -130 (1 x 10^-130) are also truncated. Data that is // timestamped 24 hours or more in the past may take in excess of 48 hours to // become available from submission time using GetMetricStatistics. func (c *CloudWatch) PutMetricData(input *PutMetricDataInput) (*PutMetricDataOutput, error) { req, out := c.PutMetricDataRequest(input) err := req.Send() return out, err } const opSetAlarmState = "SetAlarmState" // SetAlarmStateRequest generates a request for the SetAlarmState operation. func (c *CloudWatch) SetAlarmStateRequest(input *SetAlarmStateInput) (req *request.Request, output *SetAlarmStateOutput) { op := &request.Operation{ Name: opSetAlarmState, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { input = &SetAlarmStateInput{} } req = c.newRequest(op, input, output) req.Handlers.Unmarshal.Remove(query.UnmarshalHandler) req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) output = &SetAlarmStateOutput{} req.Data = output return } // Temporarily sets the state of an alarm. When the updated StateValue differs // from the previous value, the action configured for the appropriate state // is invoked. This is not a permanent change. The next periodic alarm check // (in about a minute) will set the alarm to its actual state. func (c *CloudWatch) SetAlarmState(input *SetAlarmStateInput) (*SetAlarmStateOutput, error) { req, out := c.SetAlarmStateRequest(input) err := req.Send() return out, err } // The AlarmHistoryItem data type contains descriptive information about the // history of a specific alarm. If you call DescribeAlarmHistory, Amazon CloudWatch // returns this data type as part of the DescribeAlarmHistoryResult data type. type AlarmHistoryItem struct { _ struct{} `type:"structure"` // The descriptive name for the alarm. AlarmName *string `min:"1" type:"string"` // Machine-readable data about the alarm in JSON format. HistoryData *string `min:"1" type:"string"` // The type of alarm history item. HistoryItemType *string `type:"string" enum:"HistoryItemType"` // A human-readable summary of the alarm history. HistorySummary *string `min:"1" type:"string"` // The time stamp for the alarm history item. Amazon CloudWatch uses Coordinated // Universal Time (UTC) when returning time stamps, which do not accommodate // seasonal adjustments such as daylight savings time. For more information, // see Time stamps (http://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/cloudwatch_concepts.html#about_timestamp) // in the Amazon CloudWatch Developer Guide. Timestamp *time.Time `type:"timestamp" timestampFormat:"iso8601"` } // String returns the string representation func (s AlarmHistoryItem) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s AlarmHistoryItem) GoString() string { return s.String() } // The Datapoint data type encapsulates the statistical data that Amazon CloudWatch // computes from metric data. type Datapoint struct { _ struct{} `type:"structure"` // The average of metric values that correspond to the datapoint. Average *float64 `type:"double"` // The maximum of the metric value used for the datapoint. Maximum *float64 `type:"double"` // The minimum metric value used for the datapoint. Minimum *float64 `type:"double"` // The number of metric values that contributed to the aggregate value of this // datapoint. SampleCount *float64 `type:"double"` // The sum of metric values used for the datapoint. Sum *float64 `type:"double"` // The time stamp used for the datapoint. Amazon CloudWatch uses Coordinated // Universal Time (UTC) when returning time stamps, which do not accommodate // seasonal adjustments such as daylight savings time. For more information, // see Time stamps (http://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/cloudwatch_concepts.html#about_timestamp) // in the Amazon CloudWatch Developer Guide. Timestamp *time.Time `type:"timestamp" timestampFormat:"iso8601"` // The standard unit used for the datapoint. Unit *string `type:"string" enum:"StandardUnit"` } // String returns the string representation func (s Datapoint) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s Datapoint) GoString() string { return s.String() } type DeleteAlarmsInput struct { _ struct{} `type:"structure"` // A list of alarms to be deleted. AlarmNames []*string `type:"list" required:"true"` } // String returns the string representation func (s DeleteAlarmsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s DeleteAlarmsInput) GoString() string { return s.String() } type DeleteAlarmsOutput struct { _ struct{} `type:"structure"` } // String returns the string representation func (s DeleteAlarmsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s DeleteAlarmsOutput) GoString() string { return s.String() } type DescribeAlarmHistoryInput struct { _ struct{} `type:"structure"` // The name of the alarm. AlarmName *string `min:"1" type:"string"` // The ending date to retrieve alarm history. EndDate *time.Time `type:"timestamp" timestampFormat:"iso8601"` // The type of alarm histories to retrieve. HistoryItemType *string `type:"string" enum:"HistoryItemType"` // The maximum number of alarm history records to retrieve. MaxRecords *int64 `min:"1" type:"integer"` // The token returned by a previous call to indicate that there is more data // available. NextToken *string `type:"string"` // The starting date to retrieve alarm history. StartDate *time.Time `type:"timestamp" timestampFormat:"iso8601"` } // String returns the string representation func (s DescribeAlarmHistoryInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s DescribeAlarmHistoryInput) GoString() string { return s.String() } // The output for the DescribeAlarmHistory action. type DescribeAlarmHistoryOutput struct { _ struct{} `type:"structure"` // A list of alarm histories in JSON format. AlarmHistoryItems []*AlarmHistoryItem `type:"list"` // A string that marks the start of the next batch of returned results. NextToken *string `type:"string"` } // String returns the string representation func (s DescribeAlarmHistoryOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s DescribeAlarmHistoryOutput) GoString() string { return s.String() } type DescribeAlarmsForMetricInput struct { _ struct{} `type:"structure"` // The list of dimensions associated with the metric. Dimensions []*Dimension `type:"list"` // The name of the metric. MetricName *string `min:"1" type:"string" required:"true"` // The namespace of the metric. Namespace *string `min:"1" type:"string" required:"true"` // The period in seconds over which the statistic is applied. Period *int64 `min:"60" type:"integer"` // The statistic for the metric. Statistic *string `type:"string" enum:"Statistic"` // The unit for the metric. Unit *string `type:"string" enum:"StandardUnit"` } // String returns the string representation func (s DescribeAlarmsForMetricInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s DescribeAlarmsForMetricInput) GoString() string { return s.String() } // The output for the DescribeAlarmsForMetric action. type DescribeAlarmsForMetricOutput struct { _ struct{} `type:"structure"` // A list of information for each alarm with the specified metric. MetricAlarms []*MetricAlarm `type:"list"` } // String returns the string representation func (s DescribeAlarmsForMetricOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s DescribeAlarmsForMetricOutput) GoString() string { return s.String() } type DescribeAlarmsInput struct { _ struct{} `type:"structure"` // The action name prefix. ActionPrefix *string `min:"1" type:"string"` // The alarm name prefix. AlarmNames cannot be specified if this parameter is // specified. AlarmNamePrefix *string `min:"1" type:"string"` // A list of alarm names to retrieve information for. AlarmNames []*string `type:"list"` // The maximum number of alarm descriptions to retrieve. MaxRecords *int64 `min:"1" type:"integer"` // The token returned by a previous call to indicate that there is more data // available. NextToken *string `type:"string"` // The state value to be used in matching alarms. StateValue *string `type:"string" enum:"StateValue"` } // String returns the string representation func (s DescribeAlarmsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s DescribeAlarmsInput) GoString() string { return s.String() } // The output for the DescribeAlarms action. type DescribeAlarmsOutput struct { _ struct{} `type:"structure"` // A list of information for the specified alarms. MetricAlarms []*MetricAlarm `type:"list"` // A string that marks the start of the next batch of returned results. NextToken *string `type:"string"` } // String returns the string representation func (s DescribeAlarmsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s DescribeAlarmsOutput) GoString() string { return s.String() } // The Dimension data type further expands on the identity of a metric using // a Name, Value pair. // // For examples that use one or more dimensions, see PutMetricData. type Dimension struct { _ struct{} `type:"structure"` // The name of the dimension. Name *string `min:"1" type:"string" required:"true"` // The value representing the dimension measurement Value *string `min:"1" type:"string" required:"true"` } // String returns the string representation func (s Dimension) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s Dimension) GoString() string { return s.String() } // The DimensionFilter data type is used to filter ListMetrics results. type DimensionFilter struct { _ struct{} `type:"structure"` // The dimension name to be matched. Name *string `min:"1" type:"string" required:"true"` // The value of the dimension to be matched. Value *string `min:"1" type:"string"` } // String returns the string representation func (s DimensionFilter) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s DimensionFilter) GoString() string { return s.String() } type DisableAlarmActionsInput struct { _ struct{} `type:"structure"` // The names of the alarms to disable actions for. AlarmNames []*string `type:"list" required:"true"` } // String returns the string representation func (s DisableAlarmActionsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s DisableAlarmActionsInput) GoString() string { return s.String() } type DisableAlarmActionsOutput struct { _ struct{} `type:"structure"` } // String returns the string representation func (s DisableAlarmActionsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s DisableAlarmActionsOutput) GoString() string { return s.String() } type EnableAlarmActionsInput struct { _ struct{} `type:"structure"` // The names of the alarms to enable actions for. AlarmNames []*string `type:"list" required:"true"` } // String returns the string representation func (s EnableAlarmActionsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s EnableAlarmActionsInput) GoString() string { return s.String() } type EnableAlarmActionsOutput struct { _ struct{} `type:"structure"` } // String returns the string representation func (s EnableAlarmActionsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s EnableAlarmActionsOutput) GoString() string { return s.String() } type GetMetricStatisticsInput struct { _ struct{} `type:"structure"` // A list of dimensions describing qualities of the metric. Dimensions []*Dimension `type:"list"` // The time stamp to use for determining the last datapoint to return. The value // specified is exclusive; results will include datapoints up to the time stamp // specified. EndTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"` // The name of the metric, with or without spaces. MetricName *string `min:"1" type:"string" required:"true"` // The namespace of the metric, with or without spaces. Namespace *string `min:"1" type:"string" required:"true"` // The granularity, in seconds, of the returned datapoints. Period must be at // least 60 seconds and must be a multiple of 60. The default value is 60. Period *int64 `min:"60" type:"integer" required:"true"` // The time stamp to use for determining the first datapoint to return. The // value specified is inclusive; results include datapoints with the time stamp // specified. StartTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"` // The metric statistics to return. For information about specific statistics // returned by GetMetricStatistics, go to Statistics (http://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/index.html?CHAP_TerminologyandKeyConcepts.html#Statistic) // in the Amazon CloudWatch Developer Guide. // // Valid Values: Average | Sum | SampleCount | Maximum | Minimum Statistics []*string `min:"1" type:"list" required:"true"` // The unit for the metric. Unit *string `type:"string" enum:"StandardUnit"` } // String returns the string representation func (s GetMetricStatisticsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s GetMetricStatisticsInput) GoString() string { return s.String() } // The output for the GetMetricStatistics action. type GetMetricStatisticsOutput struct { _ struct{} `type:"structure"` // The datapoints for the specified metric. Datapoints []*Datapoint `type:"list"` // A label describing the specified metric. Label *string `type:"string"` } // String returns the string representation func (s GetMetricStatisticsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s GetMetricStatisticsOutput) GoString() string { return s.String() } type ListMetricsInput struct { _ struct{} `type:"structure"` // A list of dimensions to filter against. Dimensions []*DimensionFilter `type:"list"` // The name of the metric to filter against. MetricName *string `min:"1" type:"string"` // The namespace to filter against. Namespace *string `min:"1" type:"string"` // The token returned by a previous call to indicate that there is more data // available. NextToken *string `type:"string"` } // String returns the string representation func (s ListMetricsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s ListMetricsInput) GoString() string { return s.String() } // The output for the ListMetrics action. type ListMetricsOutput struct { _ struct{} `type:"structure"` // A list of metrics used to generate statistics for an AWS account. Metrics []*Metric `type:"list"` // A string that marks the start of the next batch of returned results. NextToken *string `type:"string"` } // String returns the string representation func (s ListMetricsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s ListMetricsOutput) GoString() string { return s.String() } // The Metric data type contains information about a specific metric. If you // call ListMetrics, Amazon CloudWatch returns information contained by this // data type. // // The example in the Examples section publishes two metrics named buffers // and latency. Both metrics are in the examples namespace. Both metrics have // two dimensions, InstanceID and InstanceType. type Metric struct { _ struct{} `type:"structure"` // A list of dimensions associated with the metric. Dimensions []*Dimension `type:"list"` // The name of the metric. MetricName *string `min:"1" type:"string"` // The namespace of the metric. Namespace *string `min:"1" type:"string"` } // String returns the string representation func (s Metric) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s Metric) GoString() string { return s.String() } // The MetricAlarm data type represents an alarm. You can use PutMetricAlarm // to create or update an alarm. type MetricAlarm struct { _ struct{} `type:"structure"` // Indicates whether actions should be executed during any changes to the alarm's // state. ActionsEnabled *bool `type:"boolean"` // The list of actions to execute when this alarm transitions into an ALARM // state from any other state. Each action is specified as an Amazon Resource // Number (ARN). Currently the only actions supported are publishing to an Amazon // SNS topic and triggering an Auto Scaling policy. AlarmActions []*string `type:"list"` // The Amazon Resource Name (ARN) of the alarm. AlarmArn *string `min:"1" type:"string"` // The time stamp of the last update to the alarm configuration. Amazon CloudWatch // uses Coordinated Universal Time (UTC) when returning time stamps, which do // not accommodate seasonal adjustments such as daylight savings time. For more // information, see Time stamps (http://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/cloudwatch_concepts.html#about_timestamp) // in the Amazon CloudWatch Developer Guide. AlarmConfigurationUpdatedTimestamp *time.Time `type:"timestamp" timestampFormat:"iso8601"` // The description for the alarm. AlarmDescription *string `type:"string"` // The name of the alarm. AlarmName *string `min:"1" type:"string"` // The arithmetic operation to use when comparing the specified Statistic and // Threshold. The specified Statistic value is used as the first operand. ComparisonOperator *string `type:"string" enum:"ComparisonOperator"` // The list of dimensions associated with the alarm's associated metric. Dimensions []*Dimension `type:"list"` // The number of periods over which data is compared to the specified threshold. EvaluationPeriods *int64 `min:"1" type:"integer"` // The list of actions to execute when this alarm transitions into an INSUFFICIENT_DATA // state from any other state. Each action is specified as an Amazon Resource // Number (ARN). Currently the only actions supported are publishing to an Amazon // SNS topic or triggering an Auto Scaling policy. // // The current WSDL lists this attribute as UnknownActions. InsufficientDataActions []*string `type:"list"` // The name of the alarm's metric. MetricName *string `min:"1" type:"string"` // The namespace of alarm's associated metric. Namespace *string `min:"1" type:"string"` // The list of actions to execute when this alarm transitions into an OK state // from any other state. Each action is specified as an Amazon Resource Number // (ARN). Currently the only actions supported are publishing to an Amazon SNS // topic and triggering an Auto Scaling policy. OKActions []*string `type:"list"` // The period in seconds over which the statistic is applied. Period *int64 `min:"60" type:"integer"` // A human-readable explanation for the alarm's state. StateReason *string `type:"string"` // An explanation for the alarm's state in machine-readable JSON format StateReasonData *string `type:"string"` // The time stamp of the last update to the alarm's state. Amazon CloudWatch // uses Coordinated Universal Time (UTC) when returning time stamps, which do // not accommodate seasonal adjustments such as daylight savings time. For more // information, see Time stamps (http://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/cloudwatch_concepts.html#about_timestamp) // in the Amazon CloudWatch Developer Guide. StateUpdatedTimestamp *time.Time `type:"timestamp" timestampFormat:"iso8601"` // The state value for the alarm. StateValue *string `type:"string" enum:"StateValue"` // The statistic to apply to the alarm's associated metric. Statistic *string `type:"string" enum:"Statistic"` // The value against which the specified statistic is compared. Threshold *float64 `type:"double"` // The unit of the alarm's associated metric. Unit *string `type:"string" enum:"StandardUnit"` } // String returns the string representation func (s MetricAlarm) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s MetricAlarm) GoString() string { return s.String() } // The MetricDatum data type encapsulates the information sent with PutMetricData // to either create a new metric or add new values to be aggregated into an // existing metric. type MetricDatum struct { _ struct{} `type:"structure"` // A list of dimensions associated with the metric. Note, when using the Dimensions // value in a query, you need to append .member.N to it (e.g., Dimensions.member.N). Dimensions []*Dimension `type:"list"` // The name of the metric. MetricName *string `min:"1" type:"string" required:"true"` // A set of statistical values describing the metric. StatisticValues *StatisticSet `type:"structure"` // The time stamp used for the metric. If not specified, the default value is // set to the time the metric data was received. Amazon CloudWatch uses Coordinated // Universal Time (UTC) when returning time stamps, which do not accommodate // seasonal adjustments such as daylight savings time. For more information, // see Time stamps (http://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/cloudwatch_concepts.html#about_timestamp) // in the Amazon CloudWatch Developer Guide. Timestamp *time.Time `type:"timestamp" timestampFormat:"iso8601"` // The unit of the metric. Unit *string `type:"string" enum:"StandardUnit"` // The value for the metric. // // Although the Value parameter accepts numbers of type Double, Amazon CloudWatch // truncates values with very large exponents. Values with base-10 exponents // greater than 126 (1 x 10^126) are truncated. Likewise, values with base-10 // exponents less than -130 (1 x 10^-130) are also truncated. Value *float64 `type:"double"` } // String returns the string representation func (s MetricDatum) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s MetricDatum) GoString() string { return s.String() } type PutMetricAlarmInput struct { _ struct{} `type:"structure"` // Indicates whether or not actions should be executed during any changes to // the alarm's state. ActionsEnabled *bool `type:"boolean"` // The list of actions to execute when this alarm transitions into an ALARM // state from any other state. Each action is specified as an Amazon Resource // Number (ARN). Currently the only action supported is publishing to an Amazon // SNS topic or an Amazon Auto Scaling policy. AlarmActions []*string `type:"list"` // The description for the alarm. AlarmDescription *string `type:"string"` // The descriptive name for the alarm. This name must be unique within the user's // AWS account AlarmName *string `min:"1" type:"string" required:"true"` // The arithmetic operation to use when comparing the specified Statistic and // Threshold. The specified Statistic value is used as the first operand. ComparisonOperator *string `type:"string" required:"true" enum:"ComparisonOperator"` // The dimensions for the alarm's associated metric. Dimensions []*Dimension `type:"list"` // The number of periods over which data is compared to the specified threshold. EvaluationPeriods *int64 `min:"1" type:"integer" required:"true"` // The list of actions to execute when this alarm transitions into an INSUFFICIENT_DATA // state from any other state. Each action is specified as an Amazon Resource // Number (ARN). Currently the only action supported is publishing to an Amazon // SNS topic or an Amazon Auto Scaling policy. InsufficientDataActions []*string `type:"list"` // The name for the alarm's associated metric. MetricName *string `min:"1" type:"string" required:"true"` // The namespace for the alarm's associated metric. Namespace *string `min:"1" type:"string" required:"true"` // The list of actions to execute when this alarm transitions into an OK state // from any other state. Each action is specified as an Amazon Resource Number // (ARN). Currently the only action supported is publishing to an Amazon SNS // topic or an Amazon Auto Scaling policy. OKActions []*string `type:"list"` // The period in seconds over which the specified statistic is applied. Period *int64 `min:"60" type:"integer" required:"true"` // The statistic to apply to the alarm's associated metric. Statistic *string `type:"string" required:"true" enum:"Statistic"` // The value against which the specified statistic is compared. Threshold *float64 `type:"double" required:"true"` // The unit for the alarm's associated metric. Unit *string `type:"string" enum:"StandardUnit"` } // String returns the string representation func (s PutMetricAlarmInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s PutMetricAlarmInput) GoString() string { return s.String() } type PutMetricAlarmOutput struct { _ struct{} `type:"structure"` } // String returns the string representation func (s PutMetricAlarmOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s PutMetricAlarmOutput) GoString() string { return s.String() } type PutMetricDataInput struct { _ struct{} `type:"structure"` // A list of data describing the metric. MetricData []*MetricDatum `type:"list" required:"true"` // The namespace for the metric data. Namespace *string `min:"1" type:"string" required:"true"` } // String returns the string representation func (s PutMetricDataInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s PutMetricDataInput) GoString() string { return s.String() } type PutMetricDataOutput struct { _ struct{} `type:"structure"` } // String returns the string representation func (s PutMetricDataOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s PutMetricDataOutput) GoString() string { return s.String() } type SetAlarmStateInput struct { _ struct{} `type:"structure"` // The descriptive name for the alarm. This name must be unique within the user's // AWS account. The maximum length is 255 characters. AlarmName *string `min:"1" type:"string" required:"true"` // The reason that this alarm is set to this specific state (in human-readable // text format) StateReason *string `type:"string" required:"true"` // The reason that this alarm is set to this specific state (in machine-readable // JSON format) StateReasonData *string `type:"string"` // The value of the state. StateValue *string `type:"string" required:"true" enum:"StateValue"` } // String returns the string representation func (s SetAlarmStateInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s SetAlarmStateInput) GoString() string { return s.String() } type SetAlarmStateOutput struct { _ struct{} `type:"structure"` } // String returns the string representation func (s SetAlarmStateOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s SetAlarmStateOutput) GoString() string { return s.String() } // The StatisticSet data type describes the StatisticValues component of MetricDatum, // and represents a set of statistics that describes a specific metric. type StatisticSet struct { _ struct{} `type:"structure"` // The maximum value of the sample set. Maximum *float64 `type:"double" required:"true"` // The minimum value of the sample set. Minimum *float64 `type:"double" required:"true"` // The number of samples used for the statistic set. SampleCount *float64 `type:"double" required:"true"` // The sum of values for the sample set. Sum *float64 `type:"double" required:"true"` } // String returns the string representation func (s StatisticSet) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s StatisticSet) GoString() string { return s.String() } const ( // @enum ComparisonOperator ComparisonOperatorGreaterThanOrEqualToThreshold = "GreaterThanOrEqualToThreshold" // @enum ComparisonOperator ComparisonOperatorGreaterThanThreshold = "GreaterThanThreshold" // @enum ComparisonOperator ComparisonOperatorLessThanThreshold = "LessThanThreshold" // @enum ComparisonOperator ComparisonOperatorLessThanOrEqualToThreshold = "LessThanOrEqualToThreshold" ) const ( // @enum HistoryItemType HistoryItemTypeConfigurationUpdate = "ConfigurationUpdate" // @enum HistoryItemType HistoryItemTypeStateUpdate = "StateUpdate" // @enum HistoryItemType HistoryItemTypeAction = "Action" ) const ( // @enum StandardUnit StandardUnitSeconds = "Seconds" // @enum StandardUnit StandardUnitMicroseconds = "Microseconds" // @enum StandardUnit StandardUnitMilliseconds = "Milliseconds" // @enum StandardUnit StandardUnitBytes = "Bytes" // @enum StandardUnit StandardUnitKilobytes = "Kilobytes" // @enum StandardUnit StandardUnitMegabytes = "Megabytes" // @enum StandardUnit StandardUnitGigabytes = "Gigabytes" // @enum StandardUnit StandardUnitTerabytes = "Terabytes" // @enum StandardUnit StandardUnitBits = "Bits" // @enum StandardUnit StandardUnitKilobits = "Kilobits" // @enum StandardUnit StandardUnitMegabits = "Megabits" // @enum StandardUnit StandardUnitGigabits = "Gigabits" // @enum StandardUnit StandardUnitTerabits = "Terabits" // @enum StandardUnit StandardUnitPercent = "Percent" // @enum StandardUnit StandardUnitCount = "Count" // @enum StandardUnit StandardUnitBytesSecond = "Bytes/Second" // @enum StandardUnit StandardUnitKilobytesSecond = "Kilobytes/Second" // @enum StandardUnit StandardUnitMegabytesSecond = "Megabytes/Second" // @enum StandardUnit StandardUnitGigabytesSecond = "Gigabytes/Second" // @enum StandardUnit StandardUnitTerabytesSecond = "Terabytes/Second" // @enum StandardUnit StandardUnitBitsSecond = "Bits/Second" // @enum StandardUnit StandardUnitKilobitsSecond = "Kilobits/Second" // @enum StandardUnit StandardUnitMegabitsSecond = "Megabits/Second" // @enum StandardUnit StandardUnitGigabitsSecond = "Gigabits/Second" // @enum StandardUnit StandardUnitTerabitsSecond = "Terabits/Second" // @enum StandardUnit StandardUnitCountSecond = "Count/Second" // @enum StandardUnit StandardUnitNone = "None" ) const ( // @enum StateValue StateValueOk = "OK" // @enum StateValue StateValueAlarm = "ALARM" // @enum StateValue StateValueInsufficientData = "INSUFFICIENT_DATA" ) const ( // @enum Statistic StatisticSampleCount = "SampleCount" // @enum Statistic StatisticAverage = "Average" // @enum Statistic StatisticSum = "Sum" // @enum Statistic StatisticMinimum = "Minimum" // @enum Statistic StatisticMaximum = "Maximum" )