terraform/vendor/github.com/aws/aws-sdk-go/service/cloudwatch/api.go

3166 lines
102 KiB
Go

// THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT.
// Package cloudwatch provides a client for Amazon CloudWatch.
package cloudwatch
import (
"fmt"
"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 "aws/request.Request" representing the
// client's request for the DeleteAlarms operation. The "output" return
// value can be used to capture response data after the request's "Send" method
// is called.
//
// See DeleteAlarms for usage and error information.
//
// Creating a request object using this method should be used when you want to inject
// custom logic into the request's lifecycle using a custom handler, or if you want to
// access properties on the request object before or after sending the request. If
// you just want the service response, call the DeleteAlarms method directly
// instead.
//
// Note: You must call the "Send" method on the returned request object in order
// to execute the request.
//
// // Example sending a request using the DeleteAlarmsRequest method.
// req, resp := client.DeleteAlarmsRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
// Please also see https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/DeleteAlarms
func (c *CloudWatch) DeleteAlarmsRequest(input *DeleteAlarmsInput) (req *request.Request, output *DeleteAlarmsOutput) {
op := &request.Operation{
Name: opDeleteAlarms,
HTTPMethod: "POST",
HTTPPath: "/",
}
if input == nil {
input = &DeleteAlarmsInput{}
}
output = &DeleteAlarmsOutput{}
req = c.newRequest(op, input, output)
req.Handlers.Unmarshal.Remove(query.UnmarshalHandler)
req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
return
}
// DeleteAlarms API operation for Amazon CloudWatch.
//
// Deletes the specified alarms. In the event of an error, no alarms are deleted.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for Amazon CloudWatch's
// API operation DeleteAlarms for usage and error information.
//
// Returned Error Codes:
// * ErrCodeResourceNotFound "ResourceNotFound"
// The named resource does not exist.
//
// Please also see https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/DeleteAlarms
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 "aws/request.Request" representing the
// client's request for the DescribeAlarmHistory operation. The "output" return
// value can be used to capture response data after the request's "Send" method
// is called.
//
// See DescribeAlarmHistory for usage and error information.
//
// Creating a request object using this method should be used when you want to inject
// custom logic into the request's lifecycle using a custom handler, or if you want to
// access properties on the request object before or after sending the request. If
// you just want the service response, call the DescribeAlarmHistory method directly
// instead.
//
// Note: You must call the "Send" method on the returned request object in order
// to execute the request.
//
// // Example sending a request using the DescribeAlarmHistoryRequest method.
// req, resp := client.DescribeAlarmHistoryRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
// Please also see https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/DescribeAlarmHistory
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{}
}
output = &DescribeAlarmHistoryOutput{}
req = c.newRequest(op, input, output)
return
}
// DescribeAlarmHistory API operation for Amazon CloudWatch.
//
// Retrieves the history for the specified alarm. You can filter the results
// by date range or item type. If an alarm name is not specified, the histories
// for all alarms are returned.
//
// Note that Amazon CloudWatch retains the history of an alarm even if you delete
// the alarm.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for Amazon CloudWatch's
// API operation DescribeAlarmHistory for usage and error information.
//
// Returned Error Codes:
// * ErrCodeInvalidNextToken "InvalidNextToken"
// The next token specified is invalid.
//
// Please also see https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/DescribeAlarmHistory
func (c *CloudWatch) DescribeAlarmHistory(input *DescribeAlarmHistoryInput) (*DescribeAlarmHistoryOutput, error) {
req, out := c.DescribeAlarmHistoryRequest(input)
err := req.Send()
return out, err
}
// DescribeAlarmHistoryPages iterates over the pages of a DescribeAlarmHistory operation,
// calling the "fn" function with the response data for each page. To stop
// iterating, return false from the fn function.
//
// See DescribeAlarmHistory method for more information on how to use this operation.
//
// Note: This operation can generate multiple requests to a service.
//
// // Example iterating over at most 3 pages of a DescribeAlarmHistory operation.
// pageNum := 0
// err := client.DescribeAlarmHistoryPages(params,
// func(page *DescribeAlarmHistoryOutput, lastPage bool) bool {
// pageNum++
// fmt.Println(page)
// return pageNum <= 3
// })
//
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 "aws/request.Request" representing the
// client's request for the DescribeAlarms operation. The "output" return
// value can be used to capture response data after the request's "Send" method
// is called.
//
// See DescribeAlarms for usage and error information.
//
// Creating a request object using this method should be used when you want to inject
// custom logic into the request's lifecycle using a custom handler, or if you want to
// access properties on the request object before or after sending the request. If
// you just want the service response, call the DescribeAlarms method directly
// instead.
//
// Note: You must call the "Send" method on the returned request object in order
// to execute the request.
//
// // Example sending a request using the DescribeAlarmsRequest method.
// req, resp := client.DescribeAlarmsRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
// Please also see https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/DescribeAlarms
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{}
}
output = &DescribeAlarmsOutput{}
req = c.newRequest(op, input, output)
return
}
// DescribeAlarms API operation for Amazon CloudWatch.
//
// Retrieves the specified alarms. If no alarms are specified, all alarms are
// returned. Alarms can be retrieved by using only a prefix for the alarm name,
// the alarm state, or a prefix for any action.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for Amazon CloudWatch's
// API operation DescribeAlarms for usage and error information.
//
// Returned Error Codes:
// * ErrCodeInvalidNextToken "InvalidNextToken"
// The next token specified is invalid.
//
// Please also see https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/DescribeAlarms
func (c *CloudWatch) DescribeAlarms(input *DescribeAlarmsInput) (*DescribeAlarmsOutput, error) {
req, out := c.DescribeAlarmsRequest(input)
err := req.Send()
return out, err
}
// DescribeAlarmsPages iterates over the pages of a DescribeAlarms operation,
// calling the "fn" function with the response data for each page. To stop
// iterating, return false from the fn function.
//
// See DescribeAlarms method for more information on how to use this operation.
//
// Note: This operation can generate multiple requests to a service.
//
// // Example iterating over at most 3 pages of a DescribeAlarms operation.
// pageNum := 0
// err := client.DescribeAlarmsPages(params,
// func(page *DescribeAlarmsOutput, lastPage bool) bool {
// pageNum++
// fmt.Println(page)
// return pageNum <= 3
// })
//
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 "aws/request.Request" representing the
// client's request for the DescribeAlarmsForMetric operation. The "output" return
// value can be used to capture response data after the request's "Send" method
// is called.
//
// See DescribeAlarmsForMetric for usage and error information.
//
// Creating a request object using this method should be used when you want to inject
// custom logic into the request's lifecycle using a custom handler, or if you want to
// access properties on the request object before or after sending the request. If
// you just want the service response, call the DescribeAlarmsForMetric method directly
// instead.
//
// Note: You must call the "Send" method on the returned request object in order
// to execute the request.
//
// // Example sending a request using the DescribeAlarmsForMetricRequest method.
// req, resp := client.DescribeAlarmsForMetricRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
// Please also see https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/DescribeAlarmsForMetric
func (c *CloudWatch) DescribeAlarmsForMetricRequest(input *DescribeAlarmsForMetricInput) (req *request.Request, output *DescribeAlarmsForMetricOutput) {
op := &request.Operation{
Name: opDescribeAlarmsForMetric,
HTTPMethod: "POST",
HTTPPath: "/",
}
if input == nil {
input = &DescribeAlarmsForMetricInput{}
}
output = &DescribeAlarmsForMetricOutput{}
req = c.newRequest(op, input, output)
return
}
// DescribeAlarmsForMetric API operation for Amazon CloudWatch.
//
// Retrieves the alarms for the specified metric. Specify a statistic, period,
// or unit to filter the results.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for Amazon CloudWatch's
// API operation DescribeAlarmsForMetric for usage and error information.
// Please also see https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/DescribeAlarmsForMetric
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 "aws/request.Request" representing the
// client's request for the DisableAlarmActions operation. The "output" return
// value can be used to capture response data after the request's "Send" method
// is called.
//
// See DisableAlarmActions for usage and error information.
//
// Creating a request object using this method should be used when you want to inject
// custom logic into the request's lifecycle using a custom handler, or if you want to
// access properties on the request object before or after sending the request. If
// you just want the service response, call the DisableAlarmActions method directly
// instead.
//
// Note: You must call the "Send" method on the returned request object in order
// to execute the request.
//
// // Example sending a request using the DisableAlarmActionsRequest method.
// req, resp := client.DisableAlarmActionsRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
// Please also see https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/DisableAlarmActions
func (c *CloudWatch) DisableAlarmActionsRequest(input *DisableAlarmActionsInput) (req *request.Request, output *DisableAlarmActionsOutput) {
op := &request.Operation{
Name: opDisableAlarmActions,
HTTPMethod: "POST",
HTTPPath: "/",
}
if input == nil {
input = &DisableAlarmActionsInput{}
}
output = &DisableAlarmActionsOutput{}
req = c.newRequest(op, input, output)
req.Handlers.Unmarshal.Remove(query.UnmarshalHandler)
req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
return
}
// DisableAlarmActions API operation for Amazon CloudWatch.
//
// Disables the actions for the specified alarms. When an alarm's actions are
// disabled, the alarm actions do not execute when the alarm state changes.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for Amazon CloudWatch's
// API operation DisableAlarmActions for usage and error information.
// Please also see https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/DisableAlarmActions
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 "aws/request.Request" representing the
// client's request for the EnableAlarmActions operation. The "output" return
// value can be used to capture response data after the request's "Send" method
// is called.
//
// See EnableAlarmActions for usage and error information.
//
// Creating a request object using this method should be used when you want to inject
// custom logic into the request's lifecycle using a custom handler, or if you want to
// access properties on the request object before or after sending the request. If
// you just want the service response, call the EnableAlarmActions method directly
// instead.
//
// Note: You must call the "Send" method on the returned request object in order
// to execute the request.
//
// // Example sending a request using the EnableAlarmActionsRequest method.
// req, resp := client.EnableAlarmActionsRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
// Please also see https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/EnableAlarmActions
func (c *CloudWatch) EnableAlarmActionsRequest(input *EnableAlarmActionsInput) (req *request.Request, output *EnableAlarmActionsOutput) {
op := &request.Operation{
Name: opEnableAlarmActions,
HTTPMethod: "POST",
HTTPPath: "/",
}
if input == nil {
input = &EnableAlarmActionsInput{}
}
output = &EnableAlarmActionsOutput{}
req = c.newRequest(op, input, output)
req.Handlers.Unmarshal.Remove(query.UnmarshalHandler)
req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
return
}
// EnableAlarmActions API operation for Amazon CloudWatch.
//
// Enables the actions for the specified alarms.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for Amazon CloudWatch's
// API operation EnableAlarmActions for usage and error information.
// Please also see https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/EnableAlarmActions
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 "aws/request.Request" representing the
// client's request for the GetMetricStatistics operation. The "output" return
// value can be used to capture response data after the request's "Send" method
// is called.
//
// See GetMetricStatistics for usage and error information.
//
// Creating a request object using this method should be used when you want to inject
// custom logic into the request's lifecycle using a custom handler, or if you want to
// access properties on the request object before or after sending the request. If
// you just want the service response, call the GetMetricStatistics method directly
// instead.
//
// Note: You must call the "Send" method on the returned request object in order
// to execute the request.
//
// // Example sending a request using the GetMetricStatisticsRequest method.
// req, resp := client.GetMetricStatisticsRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
// Please also see https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/GetMetricStatistics
func (c *CloudWatch) GetMetricStatisticsRequest(input *GetMetricStatisticsInput) (req *request.Request, output *GetMetricStatisticsOutput) {
op := &request.Operation{
Name: opGetMetricStatistics,
HTTPMethod: "POST",
HTTPPath: "/",
}
if input == nil {
input = &GetMetricStatisticsInput{}
}
output = &GetMetricStatisticsOutput{}
req = c.newRequest(op, input, output)
return
}
// GetMetricStatistics API operation for Amazon CloudWatch.
//
// Gets statistics for the specified metric.
//
// Amazon CloudWatch retains metric data as follows:
//
// * Data points with a period of 60 seconds (1 minute) are available for
// 15 days
//
// * Data points with a period of 300 seconds (5 minute) are available for
// 63 days
//
// * Data points with a period of 3600 seconds (1 hour) are available for
// 455 days (15 months)
//
// Note that CloudWatch started retaining 5-minute and 1-hour metric data as
// of 9 July 2016.
//
// The maximum number of data points returned from a single call is 1,440. If
// you request more than 1,440 data points, Amazon CloudWatch returns an error.
// To reduce the number of data points, you can narrow the specified time range
// and make multiple requests across adjacent time ranges, or you can increase
// the specified period. A period can be as short as one minute (60 seconds).
// Note that data points are not returned in chronological order.
//
// Amazon CloudWatch aggregates data points based on the length of the period
// that you specify. For example, if you request statistics with a one-hour
// period, Amazon CloudWatch aggregates all data points with time stamps that
// fall within each one-hour period. Therefore, the number of values aggregated
// by CloudWatch is larger than the number of data points returned.
//
// For a list of metrics and dimensions supported by AWS services, see the Amazon
// CloudWatch Metrics and Dimensions Reference (http://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CW_Support_For_AWS.html)
// in the Amazon CloudWatch User Guide.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for Amazon CloudWatch's
// API operation GetMetricStatistics for usage and error information.
//
// Returned Error Codes:
// * ErrCodeInvalidParameterValueException "InvalidParameterValue"
// The value of an input parameter is bad or out-of-range.
//
// * ErrCodeMissingRequiredParameterException "MissingParameter"
// An input parameter that is required is missing.
//
// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination"
// Parameters that cannot be used together were used together.
//
// * ErrCodeInternalServiceFault "InternalServiceError"
// Request processing has failed due to some unknown error, exception, or failure.
//
// Please also see https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/GetMetricStatistics
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 "aws/request.Request" representing the
// client's request for the ListMetrics operation. The "output" return
// value can be used to capture response data after the request's "Send" method
// is called.
//
// See ListMetrics for usage and error information.
//
// Creating a request object using this method should be used when you want to inject
// custom logic into the request's lifecycle using a custom handler, or if you want to
// access properties on the request object before or after sending the request. If
// you just want the service response, call the ListMetrics method directly
// instead.
//
// Note: You must call the "Send" method on the returned request object in order
// to execute the request.
//
// // Example sending a request using the ListMetricsRequest method.
// req, resp := client.ListMetricsRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
// Please also see https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/ListMetrics
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{}
}
output = &ListMetricsOutput{}
req = c.newRequest(op, input, output)
return
}
// ListMetrics API operation for Amazon CloudWatch.
//
// List the specified metrics. You can use the returned metrics with GetMetricStatistics
// to obtain statistical data.
//
// Up to 500 results are returned for any one call. To retrieve additional results,
// use the returned token with subsequent calls.
//
// After you create a metric, allow up to fifteen minutes before the metric
// appears. Statistics about the metric, however, are available sooner using
// GetMetricStatistics.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for Amazon CloudWatch's
// API operation ListMetrics for usage and error information.
//
// Returned Error Codes:
// * ErrCodeInternalServiceFault "InternalServiceError"
// Request processing has failed due to some unknown error, exception, or failure.
//
// * ErrCodeInvalidParameterValueException "InvalidParameterValue"
// The value of an input parameter is bad or out-of-range.
//
// Please also see https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/ListMetrics
func (c *CloudWatch) ListMetrics(input *ListMetricsInput) (*ListMetricsOutput, error) {
req, out := c.ListMetricsRequest(input)
err := req.Send()
return out, err
}
// ListMetricsPages iterates over the pages of a ListMetrics operation,
// calling the "fn" function with the response data for each page. To stop
// iterating, return false from the fn function.
//
// See ListMetrics method for more information on how to use this operation.
//
// Note: This operation can generate multiple requests to a service.
//
// // Example iterating over at most 3 pages of a ListMetrics operation.
// pageNum := 0
// err := client.ListMetricsPages(params,
// func(page *ListMetricsOutput, lastPage bool) bool {
// pageNum++
// fmt.Println(page)
// return pageNum <= 3
// })
//
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 "aws/request.Request" representing the
// client's request for the PutMetricAlarm operation. The "output" return
// value can be used to capture response data after the request's "Send" method
// is called.
//
// See PutMetricAlarm for usage and error information.
//
// Creating a request object using this method should be used when you want to inject
// custom logic into the request's lifecycle using a custom handler, or if you want to
// access properties on the request object before or after sending the request. If
// you just want the service response, call the PutMetricAlarm method directly
// instead.
//
// Note: You must call the "Send" method on the returned request object in order
// to execute the request.
//
// // Example sending a request using the PutMetricAlarmRequest method.
// req, resp := client.PutMetricAlarmRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
// Please also see https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/PutMetricAlarm
func (c *CloudWatch) PutMetricAlarmRequest(input *PutMetricAlarmInput) (req *request.Request, output *PutMetricAlarmOutput) {
op := &request.Operation{
Name: opPutMetricAlarm,
HTTPMethod: "POST",
HTTPPath: "/",
}
if input == nil {
input = &PutMetricAlarmInput{}
}
output = &PutMetricAlarmOutput{}
req = c.newRequest(op, input, output)
req.Handlers.Unmarshal.Remove(query.UnmarshalHandler)
req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
return
}
// PutMetricAlarm API operation for Amazon CloudWatch.
//
// Creates or updates an alarm and associates it with the specified metric.
// Optionally, this operation can associate one or more Amazon SNS 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 state is set appropriately.
// Any actions associated with the state are then executed.
//
// When you update an existing alarm, its state is left unchanged, but the update
// completely overwrites the previous configuration of the alarm.
//
// If you are an AWS Identity and Access Management (IAM) user, you must have
// Amazon EC2 permissions for some operations:
//
// * ec2:DescribeInstanceStatus and ec2:DescribeInstances for all alarms
// on EC2 instance status metrics
//
// * ec2:StopInstances for alarms with stop actions
//
// * ec2:TerminateInstances for alarms with terminate actions
//
// * ec2:DescribeInstanceRecoveryAttribute and ec2:RecoverInstances for alarms
// with recover actions
//
// If you have read/write permissions for Amazon CloudWatch but not for Amazon
// EC2, you can still create an alarm, but the stop or terminate actions won't
// be performed. However, if you are later granted the required permissions,
// the alarm actions that you created earlier will be performed.
//
// If you are using an IAM role (for example, an Amazon EC2 instance profile),
// you cannot stop or terminate the instance using alarm actions. However, you
// can still see the alarm state and perform any other actions such as Amazon
// SNS notifications or Auto Scaling policies.
//
// If you are using temporary security credentials granted using the AWS Security
// Token Service (AWS STS), you cannot stop or terminate an Amazon EC2 instance
// using alarm actions.
//
// Note that you must create at least one stop, terminate, or reboot alarm using
// the Amazon EC2 or CloudWatch console to create the EC2ActionsAccess IAM role.
// After this IAM role is created, you can create stop, terminate, or reboot
// alarms using a command-line interface or an API.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for Amazon CloudWatch's
// API operation PutMetricAlarm for usage and error information.
//
// Returned Error Codes:
// * ErrCodeLimitExceededFault "LimitExceeded"
// The quota for alarms for this customer has already been reached.
//
// Please also see https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/PutMetricAlarm
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 "aws/request.Request" representing the
// client's request for the PutMetricData operation. The "output" return
// value can be used to capture response data after the request's "Send" method
// is called.
//
// See PutMetricData for usage and error information.
//
// Creating a request object using this method should be used when you want to inject
// custom logic into the request's lifecycle using a custom handler, or if you want to
// access properties on the request object before or after sending the request. If
// you just want the service response, call the PutMetricData method directly
// instead.
//
// Note: You must call the "Send" method on the returned request object in order
// to execute the request.
//
// // Example sending a request using the PutMetricDataRequest method.
// req, resp := client.PutMetricDataRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
// Please also see https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/PutMetricData
func (c *CloudWatch) PutMetricDataRequest(input *PutMetricDataInput) (req *request.Request, output *PutMetricDataOutput) {
op := &request.Operation{
Name: opPutMetricData,
HTTPMethod: "POST",
HTTPPath: "/",
}
if input == nil {
input = &PutMetricDataInput{}
}
output = &PutMetricDataOutput{}
req = c.newRequest(op, input, output)
req.Handlers.Unmarshal.Remove(query.UnmarshalHandler)
req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
return
}
// PutMetricData API operation for Amazon CloudWatch.
//
// 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. When Amazon CloudWatch creates
// a metric, it can take up to fifteen minutes for the metric to appear in calls
// to ListMetrics.
//
// Each PutMetricData request is limited to 8 KB in size for HTTP GET requests
// and is limited to 40 KB in size for HTTP POST requests.
//
// Although the Value parameter accepts numbers of type Double, Amazon CloudWatch
// rejects values that are either too small or too large. Values must be in
// the range of 8.515920e-109 to 1.174271e+108 (Base 10) or 2e-360 to 2e360
// (Base 2). In addition, special values (e.g., NaN, +Infinity, -Infinity) are
// not supported.
//
// Data points with time stamps from 24 hours ago or longer can take at least
// 48 hours to become available for GetMetricStatistics from the time they are
// submitted.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for Amazon CloudWatch's
// API operation PutMetricData for usage and error information.
//
// Returned Error Codes:
// * ErrCodeInvalidParameterValueException "InvalidParameterValue"
// The value of an input parameter is bad or out-of-range.
//
// * ErrCodeMissingRequiredParameterException "MissingParameter"
// An input parameter that is required is missing.
//
// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination"
// Parameters that cannot be used together were used together.
//
// * ErrCodeInternalServiceFault "InternalServiceError"
// Request processing has failed due to some unknown error, exception, or failure.
//
// Please also see https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/PutMetricData
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 "aws/request.Request" representing the
// client's request for the SetAlarmState operation. The "output" return
// value can be used to capture response data after the request's "Send" method
// is called.
//
// See SetAlarmState for usage and error information.
//
// Creating a request object using this method should be used when you want to inject
// custom logic into the request's lifecycle using a custom handler, or if you want to
// access properties on the request object before or after sending the request. If
// you just want the service response, call the SetAlarmState method directly
// instead.
//
// Note: You must call the "Send" method on the returned request object in order
// to execute the request.
//
// // Example sending a request using the SetAlarmStateRequest method.
// req, resp := client.SetAlarmStateRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
// Please also see https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/SetAlarmState
func (c *CloudWatch) SetAlarmStateRequest(input *SetAlarmStateInput) (req *request.Request, output *SetAlarmStateOutput) {
op := &request.Operation{
Name: opSetAlarmState,
HTTPMethod: "POST",
HTTPPath: "/",
}
if input == nil {
input = &SetAlarmStateInput{}
}
output = &SetAlarmStateOutput{}
req = c.newRequest(op, input, output)
req.Handlers.Unmarshal.Remove(query.UnmarshalHandler)
req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
return
}
// SetAlarmState API operation for Amazon CloudWatch.
//
// Temporarily sets the state of an alarm for testing purposes. When the updated
// state differs from the previous value, the action configured for the appropriate
// state is invoked. For example, if your alarm is configured to send an Amazon
// SNS message when an alarm is triggered, temporarily changing the alarm state
// to ALARM sends an Amazon SNS message. The alarm returns to its actual state
// (often within seconds). Because the alarm state change happens very quickly,
// it is typically only visible in the alarm's History tab in the Amazon CloudWatch
// console or through DescribeAlarmHistory.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for Amazon CloudWatch's
// API operation SetAlarmState for usage and error information.
//
// Returned Error Codes:
// * ErrCodeResourceNotFound "ResourceNotFound"
// The named resource does not exist.
//
// * ErrCodeInvalidFormatFault "InvalidFormat"
// Data was not syntactically valid JSON.
//
// Please also see https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/SetAlarmState
func (c *CloudWatch) SetAlarmState(input *SetAlarmStateInput) (*SetAlarmStateOutput, error) {
req, out := c.SetAlarmStateRequest(input)
err := req.Send()
return out, err
}
// Represents the history of a specific alarm.
// Please also see https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/AlarmHistoryItem
type AlarmHistoryItem struct {
_ struct{} `type:"structure"`
// The descriptive name for the alarm.
AlarmName *string `min:"1" type:"string"`
// 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 summary of the alarm history, in text format.
HistorySummary *string `min:"1" type:"string"`
// The time stamp for the alarm history item.
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()
}
// SetAlarmName sets the AlarmName field's value.
func (s *AlarmHistoryItem) SetAlarmName(v string) *AlarmHistoryItem {
s.AlarmName = &v
return s
}
// SetHistoryData sets the HistoryData field's value.
func (s *AlarmHistoryItem) SetHistoryData(v string) *AlarmHistoryItem {
s.HistoryData = &v
return s
}
// SetHistoryItemType sets the HistoryItemType field's value.
func (s *AlarmHistoryItem) SetHistoryItemType(v string) *AlarmHistoryItem {
s.HistoryItemType = &v
return s
}
// SetHistorySummary sets the HistorySummary field's value.
func (s *AlarmHistoryItem) SetHistorySummary(v string) *AlarmHistoryItem {
s.HistorySummary = &v
return s
}
// SetTimestamp sets the Timestamp field's value.
func (s *AlarmHistoryItem) SetTimestamp(v time.Time) *AlarmHistoryItem {
s.Timestamp = &v
return s
}
// Encapsulates the statistical data that Amazon CloudWatch computes from metric
// data.
// Please also see https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/Datapoint
type Datapoint struct {
_ struct{} `type:"structure"`
// The average of the metric values that correspond to the data point.
Average *float64 `type:"double"`
// The percentile statistic for the data point.
ExtendedStatistics map[string]*float64 `type:"map"`
// The maximum metric value for the data point.
Maximum *float64 `type:"double"`
// The minimum metric value for the data point.
Minimum *float64 `type:"double"`
// The number of metric values that contributed to the aggregate value of this
// data point.
SampleCount *float64 `type:"double"`
// The sum of the metric values for the data point.
Sum *float64 `type:"double"`
// The time stamp used for the data point.
Timestamp *time.Time `type:"timestamp" timestampFormat:"iso8601"`
// The standard unit for the data point.
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()
}
// SetAverage sets the Average field's value.
func (s *Datapoint) SetAverage(v float64) *Datapoint {
s.Average = &v
return s
}
// SetExtendedStatistics sets the ExtendedStatistics field's value.
func (s *Datapoint) SetExtendedStatistics(v map[string]*float64) *Datapoint {
s.ExtendedStatistics = v
return s
}
// SetMaximum sets the Maximum field's value.
func (s *Datapoint) SetMaximum(v float64) *Datapoint {
s.Maximum = &v
return s
}
// SetMinimum sets the Minimum field's value.
func (s *Datapoint) SetMinimum(v float64) *Datapoint {
s.Minimum = &v
return s
}
// SetSampleCount sets the SampleCount field's value.
func (s *Datapoint) SetSampleCount(v float64) *Datapoint {
s.SampleCount = &v
return s
}
// SetSum sets the Sum field's value.
func (s *Datapoint) SetSum(v float64) *Datapoint {
s.Sum = &v
return s
}
// SetTimestamp sets the Timestamp field's value.
func (s *Datapoint) SetTimestamp(v time.Time) *Datapoint {
s.Timestamp = &v
return s
}
// SetUnit sets the Unit field's value.
func (s *Datapoint) SetUnit(v string) *Datapoint {
s.Unit = &v
return s
}
// Please also see https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/DeleteAlarmsInput
type DeleteAlarmsInput struct {
_ struct{} `type:"structure"`
// The alarms to be deleted.
//
// AlarmNames is a required field
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()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *DeleteAlarmsInput) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "DeleteAlarmsInput"}
if s.AlarmNames == nil {
invalidParams.Add(request.NewErrParamRequired("AlarmNames"))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetAlarmNames sets the AlarmNames field's value.
func (s *DeleteAlarmsInput) SetAlarmNames(v []*string) *DeleteAlarmsInput {
s.AlarmNames = v
return s
}
// Please also see https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/DeleteAlarmsOutput
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()
}
// Please also see https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/DescribeAlarmHistoryInput
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()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *DescribeAlarmHistoryInput) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "DescribeAlarmHistoryInput"}
if s.AlarmName != nil && len(*s.AlarmName) < 1 {
invalidParams.Add(request.NewErrParamMinLen("AlarmName", 1))
}
if s.MaxRecords != nil && *s.MaxRecords < 1 {
invalidParams.Add(request.NewErrParamMinValue("MaxRecords", 1))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetAlarmName sets the AlarmName field's value.
func (s *DescribeAlarmHistoryInput) SetAlarmName(v string) *DescribeAlarmHistoryInput {
s.AlarmName = &v
return s
}
// SetEndDate sets the EndDate field's value.
func (s *DescribeAlarmHistoryInput) SetEndDate(v time.Time) *DescribeAlarmHistoryInput {
s.EndDate = &v
return s
}
// SetHistoryItemType sets the HistoryItemType field's value.
func (s *DescribeAlarmHistoryInput) SetHistoryItemType(v string) *DescribeAlarmHistoryInput {
s.HistoryItemType = &v
return s
}
// SetMaxRecords sets the MaxRecords field's value.
func (s *DescribeAlarmHistoryInput) SetMaxRecords(v int64) *DescribeAlarmHistoryInput {
s.MaxRecords = &v
return s
}
// SetNextToken sets the NextToken field's value.
func (s *DescribeAlarmHistoryInput) SetNextToken(v string) *DescribeAlarmHistoryInput {
s.NextToken = &v
return s
}
// SetStartDate sets the StartDate field's value.
func (s *DescribeAlarmHistoryInput) SetStartDate(v time.Time) *DescribeAlarmHistoryInput {
s.StartDate = &v
return s
}
// Please also see https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/DescribeAlarmHistoryOutput
type DescribeAlarmHistoryOutput struct {
_ struct{} `type:"structure"`
// The alarm histories, in JSON format.
AlarmHistoryItems []*AlarmHistoryItem `type:"list"`
// The token 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()
}
// SetAlarmHistoryItems sets the AlarmHistoryItems field's value.
func (s *DescribeAlarmHistoryOutput) SetAlarmHistoryItems(v []*AlarmHistoryItem) *DescribeAlarmHistoryOutput {
s.AlarmHistoryItems = v
return s
}
// SetNextToken sets the NextToken field's value.
func (s *DescribeAlarmHistoryOutput) SetNextToken(v string) *DescribeAlarmHistoryOutput {
s.NextToken = &v
return s
}
// Please also see https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/DescribeAlarmsForMetricInput
type DescribeAlarmsForMetricInput struct {
_ struct{} `type:"structure"`
// The dimensions associated with the metric. If the metric has any associated
// dimensions, you must specify them in order for the call to succeed.
Dimensions []*Dimension `type:"list"`
// The percentile statistic for the metric. Specify a value between p0.0 and
// p100.
ExtendedStatistic *string `type:"string"`
// The name of the metric.
//
// MetricName is a required field
MetricName *string `min:"1" type:"string" required:"true"`
// The namespace of the metric.
//
// Namespace is a required field
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, other than percentiles. For percentile statistics,
// use ExtendedStatistics.
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()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *DescribeAlarmsForMetricInput) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "DescribeAlarmsForMetricInput"}
if s.MetricName == nil {
invalidParams.Add(request.NewErrParamRequired("MetricName"))
}
if s.MetricName != nil && len(*s.MetricName) < 1 {
invalidParams.Add(request.NewErrParamMinLen("MetricName", 1))
}
if s.Namespace == nil {
invalidParams.Add(request.NewErrParamRequired("Namespace"))
}
if s.Namespace != nil && len(*s.Namespace) < 1 {
invalidParams.Add(request.NewErrParamMinLen("Namespace", 1))
}
if s.Period != nil && *s.Period < 60 {
invalidParams.Add(request.NewErrParamMinValue("Period", 60))
}
if s.Dimensions != nil {
for i, v := range s.Dimensions {
if v == nil {
continue
}
if err := v.Validate(); err != nil {
invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Dimensions", i), err.(request.ErrInvalidParams))
}
}
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetDimensions sets the Dimensions field's value.
func (s *DescribeAlarmsForMetricInput) SetDimensions(v []*Dimension) *DescribeAlarmsForMetricInput {
s.Dimensions = v
return s
}
// SetExtendedStatistic sets the ExtendedStatistic field's value.
func (s *DescribeAlarmsForMetricInput) SetExtendedStatistic(v string) *DescribeAlarmsForMetricInput {
s.ExtendedStatistic = &v
return s
}
// SetMetricName sets the MetricName field's value.
func (s *DescribeAlarmsForMetricInput) SetMetricName(v string) *DescribeAlarmsForMetricInput {
s.MetricName = &v
return s
}
// SetNamespace sets the Namespace field's value.
func (s *DescribeAlarmsForMetricInput) SetNamespace(v string) *DescribeAlarmsForMetricInput {
s.Namespace = &v
return s
}
// SetPeriod sets the Period field's value.
func (s *DescribeAlarmsForMetricInput) SetPeriod(v int64) *DescribeAlarmsForMetricInput {
s.Period = &v
return s
}
// SetStatistic sets the Statistic field's value.
func (s *DescribeAlarmsForMetricInput) SetStatistic(v string) *DescribeAlarmsForMetricInput {
s.Statistic = &v
return s
}
// SetUnit sets the Unit field's value.
func (s *DescribeAlarmsForMetricInput) SetUnit(v string) *DescribeAlarmsForMetricInput {
s.Unit = &v
return s
}
// Please also see https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/DescribeAlarmsForMetricOutput
type DescribeAlarmsForMetricOutput struct {
_ struct{} `type:"structure"`
// The 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()
}
// SetMetricAlarms sets the MetricAlarms field's value.
func (s *DescribeAlarmsForMetricOutput) SetMetricAlarms(v []*MetricAlarm) *DescribeAlarmsForMetricOutput {
s.MetricAlarms = v
return s
}
// Please also see https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/DescribeAlarmsInput
type DescribeAlarmsInput struct {
_ struct{} `type:"structure"`
// The action name prefix.
ActionPrefix *string `min:"1" type:"string"`
// The alarm name prefix. You cannot specify AlarmNames if this parameter is
// specified.
AlarmNamePrefix *string `min:"1" type:"string"`
// The names of the alarms.
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()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *DescribeAlarmsInput) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "DescribeAlarmsInput"}
if s.ActionPrefix != nil && len(*s.ActionPrefix) < 1 {
invalidParams.Add(request.NewErrParamMinLen("ActionPrefix", 1))
}
if s.AlarmNamePrefix != nil && len(*s.AlarmNamePrefix) < 1 {
invalidParams.Add(request.NewErrParamMinLen("AlarmNamePrefix", 1))
}
if s.MaxRecords != nil && *s.MaxRecords < 1 {
invalidParams.Add(request.NewErrParamMinValue("MaxRecords", 1))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetActionPrefix sets the ActionPrefix field's value.
func (s *DescribeAlarmsInput) SetActionPrefix(v string) *DescribeAlarmsInput {
s.ActionPrefix = &v
return s
}
// SetAlarmNamePrefix sets the AlarmNamePrefix field's value.
func (s *DescribeAlarmsInput) SetAlarmNamePrefix(v string) *DescribeAlarmsInput {
s.AlarmNamePrefix = &v
return s
}
// SetAlarmNames sets the AlarmNames field's value.
func (s *DescribeAlarmsInput) SetAlarmNames(v []*string) *DescribeAlarmsInput {
s.AlarmNames = v
return s
}
// SetMaxRecords sets the MaxRecords field's value.
func (s *DescribeAlarmsInput) SetMaxRecords(v int64) *DescribeAlarmsInput {
s.MaxRecords = &v
return s
}
// SetNextToken sets the NextToken field's value.
func (s *DescribeAlarmsInput) SetNextToken(v string) *DescribeAlarmsInput {
s.NextToken = &v
return s
}
// SetStateValue sets the StateValue field's value.
func (s *DescribeAlarmsInput) SetStateValue(v string) *DescribeAlarmsInput {
s.StateValue = &v
return s
}
// Please also see https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/DescribeAlarmsOutput
type DescribeAlarmsOutput struct {
_ struct{} `type:"structure"`
// The information for the specified alarms.
MetricAlarms []*MetricAlarm `type:"list"`
// The token 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()
}
// SetMetricAlarms sets the MetricAlarms field's value.
func (s *DescribeAlarmsOutput) SetMetricAlarms(v []*MetricAlarm) *DescribeAlarmsOutput {
s.MetricAlarms = v
return s
}
// SetNextToken sets the NextToken field's value.
func (s *DescribeAlarmsOutput) SetNextToken(v string) *DescribeAlarmsOutput {
s.NextToken = &v
return s
}
// Expands the identity of a metric.
// Please also see https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/Dimension
type Dimension struct {
_ struct{} `type:"structure"`
// The name of the dimension.
//
// Name is a required field
Name *string `min:"1" type:"string" required:"true"`
// The value representing the dimension measurement.
//
// Value is a required field
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()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *Dimension) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "Dimension"}
if s.Name == nil {
invalidParams.Add(request.NewErrParamRequired("Name"))
}
if s.Name != nil && len(*s.Name) < 1 {
invalidParams.Add(request.NewErrParamMinLen("Name", 1))
}
if s.Value == nil {
invalidParams.Add(request.NewErrParamRequired("Value"))
}
if s.Value != nil && len(*s.Value) < 1 {
invalidParams.Add(request.NewErrParamMinLen("Value", 1))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetName sets the Name field's value.
func (s *Dimension) SetName(v string) *Dimension {
s.Name = &v
return s
}
// SetValue sets the Value field's value.
func (s *Dimension) SetValue(v string) *Dimension {
s.Value = &v
return s
}
// Represents filters for a dimension.
// Please also see https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/DimensionFilter
type DimensionFilter struct {
_ struct{} `type:"structure"`
// The dimension name to be matched.
//
// Name is a required field
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()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *DimensionFilter) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "DimensionFilter"}
if s.Name == nil {
invalidParams.Add(request.NewErrParamRequired("Name"))
}
if s.Name != nil && len(*s.Name) < 1 {
invalidParams.Add(request.NewErrParamMinLen("Name", 1))
}
if s.Value != nil && len(*s.Value) < 1 {
invalidParams.Add(request.NewErrParamMinLen("Value", 1))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetName sets the Name field's value.
func (s *DimensionFilter) SetName(v string) *DimensionFilter {
s.Name = &v
return s
}
// SetValue sets the Value field's value.
func (s *DimensionFilter) SetValue(v string) *DimensionFilter {
s.Value = &v
return s
}
// Please also see https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/DisableAlarmActionsInput
type DisableAlarmActionsInput struct {
_ struct{} `type:"structure"`
// The names of the alarms.
//
// AlarmNames is a required field
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()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *DisableAlarmActionsInput) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "DisableAlarmActionsInput"}
if s.AlarmNames == nil {
invalidParams.Add(request.NewErrParamRequired("AlarmNames"))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetAlarmNames sets the AlarmNames field's value.
func (s *DisableAlarmActionsInput) SetAlarmNames(v []*string) *DisableAlarmActionsInput {
s.AlarmNames = v
return s
}
// Please also see https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/DisableAlarmActionsOutput
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()
}
// Please also see https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/EnableAlarmActionsInput
type EnableAlarmActionsInput struct {
_ struct{} `type:"structure"`
// The names of the alarms.
//
// AlarmNames is a required field
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()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *EnableAlarmActionsInput) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "EnableAlarmActionsInput"}
if s.AlarmNames == nil {
invalidParams.Add(request.NewErrParamRequired("AlarmNames"))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetAlarmNames sets the AlarmNames field's value.
func (s *EnableAlarmActionsInput) SetAlarmNames(v []*string) *EnableAlarmActionsInput {
s.AlarmNames = v
return s
}
// Please also see https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/EnableAlarmActionsOutput
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()
}
// Please also see https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/GetMetricStatisticsInput
type GetMetricStatisticsInput struct {
_ struct{} `type:"structure"`
// The dimensions. CloudWatch treats each unique combination of dimensions as
// a separate metric. You can't retrieve statistics using combinations of dimensions
// that were not specially published. You must specify the same dimensions that
// were used when the metrics were created. For an example, see Dimension Combinations
// (http://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_concepts.html#dimension-combinations)
// in the Amazon CloudWatch User Guide.
Dimensions []*Dimension `type:"list"`
// The time stamp that determines the last data point to return.
//
// The value specified is exclusive; results will include data points up to
// the specified time stamp. The time stamp must be in ISO 8601 UTC format (for
// example, 2016-10-10T23:00:00Z).
//
// EndTime is a required field
EndTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
// The percentile statistics. Specify values between p0.0 and p100.
ExtendedStatistics []*string `min:"1" type:"list"`
// The name of the metric, with or without spaces.
//
// MetricName is a required field
MetricName *string `min:"1" type:"string" required:"true"`
// The namespace of the metric, with or without spaces.
//
// Namespace is a required field
Namespace *string `min:"1" type:"string" required:"true"`
// The granularity, in seconds, of the returned data points. A period can be
// as short as one minute (60 seconds) and must be a multiple of 60. The default
// value is 60.
//
// If the StartTime parameter specifies a time stamp that is greater than 15
// days ago, you must specify the period as follows or no data points in that
// time range is returned:
//
// * 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).
//
// Period is a required field
Period *int64 `min:"60" type:"integer" required:"true"`
// The time stamp that determines the first data point to return. Note that
// start times are evaluated relative to the time that CloudWatch receives the
// request.
//
// The value specified is inclusive; results include data points with the specified
// time stamp. The time stamp must be in ISO 8601 UTC format (for example, 2016-10-03T23:00:00Z).
//
// CloudWatch rounds the specified time stamp as follows:
//
// * Start time less than 15 days ago - Round down to the nearest whole minute.
// For example, 12:32:34 is rounded down to 12:32:00.
//
// * Start time between 15 and 63 days ago - Round down to the nearest 5-minute
// clock interval. For example, 12:32:34 is rounded down to 12:30:00.
//
// * Start time greater than 63 days ago - Round down to the nearest 1-hour
// clock interval. For example, 12:32:34 is rounded down to 12:00:00.
//
// StartTime is a required field
StartTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
// The metric statistics, other than percentile. For percentile statistics,
// use ExtendedStatistic.
Statistics []*string `min:"1" type:"list"`
// The unit for a given metric. Metrics may be reported in multiple units. Not
// supplying a unit results in all units being returned. If the metric only
// ever reports one unit, specifying a unit has no effect.
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()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *GetMetricStatisticsInput) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "GetMetricStatisticsInput"}
if s.EndTime == nil {
invalidParams.Add(request.NewErrParamRequired("EndTime"))
}
if s.ExtendedStatistics != nil && len(s.ExtendedStatistics) < 1 {
invalidParams.Add(request.NewErrParamMinLen("ExtendedStatistics", 1))
}
if s.MetricName == nil {
invalidParams.Add(request.NewErrParamRequired("MetricName"))
}
if s.MetricName != nil && len(*s.MetricName) < 1 {
invalidParams.Add(request.NewErrParamMinLen("MetricName", 1))
}
if s.Namespace == nil {
invalidParams.Add(request.NewErrParamRequired("Namespace"))
}
if s.Namespace != nil && len(*s.Namespace) < 1 {
invalidParams.Add(request.NewErrParamMinLen("Namespace", 1))
}
if s.Period == nil {
invalidParams.Add(request.NewErrParamRequired("Period"))
}
if s.Period != nil && *s.Period < 60 {
invalidParams.Add(request.NewErrParamMinValue("Period", 60))
}
if s.StartTime == nil {
invalidParams.Add(request.NewErrParamRequired("StartTime"))
}
if s.Statistics != nil && len(s.Statistics) < 1 {
invalidParams.Add(request.NewErrParamMinLen("Statistics", 1))
}
if s.Dimensions != nil {
for i, v := range s.Dimensions {
if v == nil {
continue
}
if err := v.Validate(); err != nil {
invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Dimensions", i), err.(request.ErrInvalidParams))
}
}
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetDimensions sets the Dimensions field's value.
func (s *GetMetricStatisticsInput) SetDimensions(v []*Dimension) *GetMetricStatisticsInput {
s.Dimensions = v
return s
}
// SetEndTime sets the EndTime field's value.
func (s *GetMetricStatisticsInput) SetEndTime(v time.Time) *GetMetricStatisticsInput {
s.EndTime = &v
return s
}
// SetExtendedStatistics sets the ExtendedStatistics field's value.
func (s *GetMetricStatisticsInput) SetExtendedStatistics(v []*string) *GetMetricStatisticsInput {
s.ExtendedStatistics = v
return s
}
// SetMetricName sets the MetricName field's value.
func (s *GetMetricStatisticsInput) SetMetricName(v string) *GetMetricStatisticsInput {
s.MetricName = &v
return s
}
// SetNamespace sets the Namespace field's value.
func (s *GetMetricStatisticsInput) SetNamespace(v string) *GetMetricStatisticsInput {
s.Namespace = &v
return s
}
// SetPeriod sets the Period field's value.
func (s *GetMetricStatisticsInput) SetPeriod(v int64) *GetMetricStatisticsInput {
s.Period = &v
return s
}
// SetStartTime sets the StartTime field's value.
func (s *GetMetricStatisticsInput) SetStartTime(v time.Time) *GetMetricStatisticsInput {
s.StartTime = &v
return s
}
// SetStatistics sets the Statistics field's value.
func (s *GetMetricStatisticsInput) SetStatistics(v []*string) *GetMetricStatisticsInput {
s.Statistics = v
return s
}
// SetUnit sets the Unit field's value.
func (s *GetMetricStatisticsInput) SetUnit(v string) *GetMetricStatisticsInput {
s.Unit = &v
return s
}
// Please also see https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/GetMetricStatisticsOutput
type GetMetricStatisticsOutput struct {
_ struct{} `type:"structure"`
// The data points for the specified metric.
Datapoints []*Datapoint `type:"list"`
// A label for 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()
}
// SetDatapoints sets the Datapoints field's value.
func (s *GetMetricStatisticsOutput) SetDatapoints(v []*Datapoint) *GetMetricStatisticsOutput {
s.Datapoints = v
return s
}
// SetLabel sets the Label field's value.
func (s *GetMetricStatisticsOutput) SetLabel(v string) *GetMetricStatisticsOutput {
s.Label = &v
return s
}
// Please also see https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/ListMetricsInput
type ListMetricsInput struct {
_ struct{} `type:"structure"`
// The 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()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *ListMetricsInput) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "ListMetricsInput"}
if s.MetricName != nil && len(*s.MetricName) < 1 {
invalidParams.Add(request.NewErrParamMinLen("MetricName", 1))
}
if s.Namespace != nil && len(*s.Namespace) < 1 {
invalidParams.Add(request.NewErrParamMinLen("Namespace", 1))
}
if s.Dimensions != nil {
for i, v := range s.Dimensions {
if v == nil {
continue
}
if err := v.Validate(); err != nil {
invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Dimensions", i), err.(request.ErrInvalidParams))
}
}
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetDimensions sets the Dimensions field's value.
func (s *ListMetricsInput) SetDimensions(v []*DimensionFilter) *ListMetricsInput {
s.Dimensions = v
return s
}
// SetMetricName sets the MetricName field's value.
func (s *ListMetricsInput) SetMetricName(v string) *ListMetricsInput {
s.MetricName = &v
return s
}
// SetNamespace sets the Namespace field's value.
func (s *ListMetricsInput) SetNamespace(v string) *ListMetricsInput {
s.Namespace = &v
return s
}
// SetNextToken sets the NextToken field's value.
func (s *ListMetricsInput) SetNextToken(v string) *ListMetricsInput {
s.NextToken = &v
return s
}
// Please also see https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/ListMetricsOutput
type ListMetricsOutput struct {
_ struct{} `type:"structure"`
// The metrics.
Metrics []*Metric `type:"list"`
// The token 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()
}
// SetMetrics sets the Metrics field's value.
func (s *ListMetricsOutput) SetMetrics(v []*Metric) *ListMetricsOutput {
s.Metrics = v
return s
}
// SetNextToken sets the NextToken field's value.
func (s *ListMetricsOutput) SetNextToken(v string) *ListMetricsOutput {
s.NextToken = &v
return s
}
// Represents a specific metric.
// Please also see https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/Metric
type Metric struct {
_ struct{} `type:"structure"`
// The dimensions for 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()
}
// SetDimensions sets the Dimensions field's value.
func (s *Metric) SetDimensions(v []*Dimension) *Metric {
s.Dimensions = v
return s
}
// SetMetricName sets the MetricName field's value.
func (s *Metric) SetMetricName(v string) *Metric {
s.MetricName = &v
return s
}
// SetNamespace sets the Namespace field's value.
func (s *Metric) SetNamespace(v string) *Metric {
s.Namespace = &v
return s
}
// Represents an alarm.
// Please also see https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/MetricAlarm
type MetricAlarm struct {
_ struct{} `type:"structure"`
// Indicates whether actions should be executed during any changes to the alarm
// state.
ActionsEnabled *bool `type:"boolean"`
// 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 `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.
AlarmConfigurationUpdatedTimestamp *time.Time `type:"timestamp" timestampFormat:"iso8601"`
// The description of 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 dimensions for the metric associated with the alarm.
Dimensions []*Dimension `type:"list"`
// The number of periods over which data is compared to the specified threshold.
EvaluationPeriods *int64 `min:"1" type:"integer"`
// The percentile statistic for the metric associated with the alarm. Specify
// a value between p0.0 and p100.
ExtendedStatistic *string `type:"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 `type:"list"`
// The name of the metric associated with the alarm.
MetricName *string `min:"1" type:"string"`
// The namespace of the metric associated with the alarm.
Namespace *string `min:"1" type:"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 `type:"list"`
// The period, in seconds, over which the statistic is applied.
Period *int64 `min:"60" type:"integer"`
// An explanation for the alarm state, in text format.
StateReason *string `type:"string"`
// An explanation for the alarm state, in JSON format.
StateReasonData *string `type:"string"`
// The time stamp of the last update to the alarm state.
StateUpdatedTimestamp *time.Time `type:"timestamp" timestampFormat:"iso8601"`
// The state value for the alarm.
StateValue *string `type:"string" enum:"StateValue"`
// The statistic for the metric associated with the alarm, other than percentile.
// For percentile statistics, use ExtendedStatistic.
Statistic *string `type:"string" enum:"Statistic"`
// The value to compare with the specified statistic.
Threshold *float64 `type:"double"`
// The unit of the metric associated with the alarm.
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()
}
// SetActionsEnabled sets the ActionsEnabled field's value.
func (s *MetricAlarm) SetActionsEnabled(v bool) *MetricAlarm {
s.ActionsEnabled = &v
return s
}
// SetAlarmActions sets the AlarmActions field's value.
func (s *MetricAlarm) SetAlarmActions(v []*string) *MetricAlarm {
s.AlarmActions = v
return s
}
// SetAlarmArn sets the AlarmArn field's value.
func (s *MetricAlarm) SetAlarmArn(v string) *MetricAlarm {
s.AlarmArn = &v
return s
}
// SetAlarmConfigurationUpdatedTimestamp sets the AlarmConfigurationUpdatedTimestamp field's value.
func (s *MetricAlarm) SetAlarmConfigurationUpdatedTimestamp(v time.Time) *MetricAlarm {
s.AlarmConfigurationUpdatedTimestamp = &v
return s
}
// SetAlarmDescription sets the AlarmDescription field's value.
func (s *MetricAlarm) SetAlarmDescription(v string) *MetricAlarm {
s.AlarmDescription = &v
return s
}
// SetAlarmName sets the AlarmName field's value.
func (s *MetricAlarm) SetAlarmName(v string) *MetricAlarm {
s.AlarmName = &v
return s
}
// SetComparisonOperator sets the ComparisonOperator field's value.
func (s *MetricAlarm) SetComparisonOperator(v string) *MetricAlarm {
s.ComparisonOperator = &v
return s
}
// SetDimensions sets the Dimensions field's value.
func (s *MetricAlarm) SetDimensions(v []*Dimension) *MetricAlarm {
s.Dimensions = v
return s
}
// SetEvaluationPeriods sets the EvaluationPeriods field's value.
func (s *MetricAlarm) SetEvaluationPeriods(v int64) *MetricAlarm {
s.EvaluationPeriods = &v
return s
}
// SetExtendedStatistic sets the ExtendedStatistic field's value.
func (s *MetricAlarm) SetExtendedStatistic(v string) *MetricAlarm {
s.ExtendedStatistic = &v
return s
}
// SetInsufficientDataActions sets the InsufficientDataActions field's value.
func (s *MetricAlarm) SetInsufficientDataActions(v []*string) *MetricAlarm {
s.InsufficientDataActions = v
return s
}
// SetMetricName sets the MetricName field's value.
func (s *MetricAlarm) SetMetricName(v string) *MetricAlarm {
s.MetricName = &v
return s
}
// SetNamespace sets the Namespace field's value.
func (s *MetricAlarm) SetNamespace(v string) *MetricAlarm {
s.Namespace = &v
return s
}
// SetOKActions sets the OKActions field's value.
func (s *MetricAlarm) SetOKActions(v []*string) *MetricAlarm {
s.OKActions = v
return s
}
// SetPeriod sets the Period field's value.
func (s *MetricAlarm) SetPeriod(v int64) *MetricAlarm {
s.Period = &v
return s
}
// SetStateReason sets the StateReason field's value.
func (s *MetricAlarm) SetStateReason(v string) *MetricAlarm {
s.StateReason = &v
return s
}
// SetStateReasonData sets the StateReasonData field's value.
func (s *MetricAlarm) SetStateReasonData(v string) *MetricAlarm {
s.StateReasonData = &v
return s
}
// SetStateUpdatedTimestamp sets the StateUpdatedTimestamp field's value.
func (s *MetricAlarm) SetStateUpdatedTimestamp(v time.Time) *MetricAlarm {
s.StateUpdatedTimestamp = &v
return s
}
// SetStateValue sets the StateValue field's value.
func (s *MetricAlarm) SetStateValue(v string) *MetricAlarm {
s.StateValue = &v
return s
}
// SetStatistic sets the Statistic field's value.
func (s *MetricAlarm) SetStatistic(v string) *MetricAlarm {
s.Statistic = &v
return s
}
// SetThreshold sets the Threshold field's value.
func (s *MetricAlarm) SetThreshold(v float64) *MetricAlarm {
s.Threshold = &v
return s
}
// SetUnit sets the Unit field's value.
func (s *MetricAlarm) SetUnit(v string) *MetricAlarm {
s.Unit = &v
return s
}
// Encapsulates the information sent to either create a metric or add new values
// to be aggregated into an existing metric.
// Please also see https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/MetricDatum
type MetricDatum struct {
_ struct{} `type:"structure"`
// The dimensions associated with the metric.
Dimensions []*Dimension `type:"list"`
// The name of the metric.
//
// MetricName is a required field
MetricName *string `min:"1" type:"string" required:"true"`
// The statistical values for the metric.
StatisticValues *StatisticSet `type:"structure"`
// The time the metric data was received, expressed as the number of milliseconds
// since Jan 1, 1970 00:00:00 UTC.
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 parameter accepts numbers of type Double, Amazon CloudWatch
// rejects values that are either too small or too large. Values must be in
// the range of 8.515920e-109 to 1.174271e+108 (Base 10) or 2e-360 to 2e360
// (Base 2). In addition, special values (for example, NaN, +Infinity, -Infinity)
// are not supported.
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()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *MetricDatum) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "MetricDatum"}
if s.MetricName == nil {
invalidParams.Add(request.NewErrParamRequired("MetricName"))
}
if s.MetricName != nil && len(*s.MetricName) < 1 {
invalidParams.Add(request.NewErrParamMinLen("MetricName", 1))
}
if s.Dimensions != nil {
for i, v := range s.Dimensions {
if v == nil {
continue
}
if err := v.Validate(); err != nil {
invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Dimensions", i), err.(request.ErrInvalidParams))
}
}
}
if s.StatisticValues != nil {
if err := s.StatisticValues.Validate(); err != nil {
invalidParams.AddNested("StatisticValues", err.(request.ErrInvalidParams))
}
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetDimensions sets the Dimensions field's value.
func (s *MetricDatum) SetDimensions(v []*Dimension) *MetricDatum {
s.Dimensions = v
return s
}
// SetMetricName sets the MetricName field's value.
func (s *MetricDatum) SetMetricName(v string) *MetricDatum {
s.MetricName = &v
return s
}
// SetStatisticValues sets the StatisticValues field's value.
func (s *MetricDatum) SetStatisticValues(v *StatisticSet) *MetricDatum {
s.StatisticValues = v
return s
}
// SetTimestamp sets the Timestamp field's value.
func (s *MetricDatum) SetTimestamp(v time.Time) *MetricDatum {
s.Timestamp = &v
return s
}
// SetUnit sets the Unit field's value.
func (s *MetricDatum) SetUnit(v string) *MetricDatum {
s.Unit = &v
return s
}
// SetValue sets the Value field's value.
func (s *MetricDatum) SetValue(v float64) *MetricDatum {
s.Value = &v
return s
}
// Please also see https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/PutMetricAlarmInput
type PutMetricAlarmInput struct {
_ struct{} `type:"structure"`
// Indicates whether actions should be executed during any changes to the alarm
// state.
ActionsEnabled *bool `type:"boolean"`
// 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).
//
// Valid Values: arn:aws:automate:region:ec2:stop | arn:aws:automate:region:ec2:terminate
// | arn:aws:automate:region:ec2:recover
//
// Valid Values (for use with IAM roles): arn:aws:swf:us-east-1:{customer-account}:action/actions/AWS_EC2.InstanceId.Stop/1.0
// | arn:aws:swf:us-east-1:{customer-account}:action/actions/AWS_EC2.InstanceId.Terminate/1.0
// | arn:aws:swf:us-east-1:{customer-account}:action/actions/AWS_EC2.InstanceId.Reboot/1.0
AlarmActions []*string `type:"list"`
// The description for the alarm.
AlarmDescription *string `type:"string"`
// The name for the alarm. This name must be unique within the AWS account.
//
// AlarmName is a required field
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 is a required field
ComparisonOperator *string `type:"string" required:"true" enum:"ComparisonOperator"`
// The dimensions for the metric associated with the alarm.
Dimensions []*Dimension `type:"list"`
// The number of periods over which data is compared to the specified threshold.
//
// EvaluationPeriods is a required field
EvaluationPeriods *int64 `min:"1" type:"integer" required:"true"`
// The percentile statistic for the metric associated with the alarm. Specify
// a value between p0.0 and p100.
ExtendedStatistic *string `type:"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).
//
// Valid Values: arn:aws:automate:region:ec2:stop | arn:aws:automate:region:ec2:terminate
// | arn:aws:automate:region:ec2:recover
//
// Valid Values (for use with IAM roles): arn:aws:swf:us-east-1:{customer-account}:action/actions/AWS_EC2.InstanceId.Stop/1.0
// | arn:aws:swf:us-east-1:{customer-account}:action/actions/AWS_EC2.InstanceId.Terminate/1.0
// | arn:aws:swf:us-east-1:{customer-account}:action/actions/AWS_EC2.InstanceId.Reboot/1.0
InsufficientDataActions []*string `type:"list"`
// The name for the metric associated with the alarm.
//
// MetricName is a required field
MetricName *string `min:"1" type:"string" required:"true"`
// The namespace for the metric associated with the alarm.
//
// Namespace is a required field
Namespace *string `min:"1" type:"string" required:"true"`
// The actions to execute when this alarm transitions to an OK state from any
// other state. Each action is specified as an Amazon Resource Name (ARN).
//
// Valid Values: arn:aws:automate:region:ec2:stop | arn:aws:automate:region:ec2:terminate
// | arn:aws:automate:region:ec2:recover
//
// Valid Values (for use with IAM roles): arn:aws:swf:us-east-1:{customer-account}:action/actions/AWS_EC2.InstanceId.Stop/1.0
// | arn:aws:swf:us-east-1:{customer-account}:action/actions/AWS_EC2.InstanceId.Terminate/1.0
// | arn:aws:swf:us-east-1:{customer-account}:action/actions/AWS_EC2.InstanceId.Reboot/1.0
OKActions []*string `type:"list"`
// The period, in seconds, over which the specified statistic is applied.
//
// Period is a required field
Period *int64 `min:"60" type:"integer" required:"true"`
// The statistic for the metric associated with the alarm, other than percentile.
// For percentile statistics, use ExtendedStatistic.
Statistic *string `type:"string" enum:"Statistic"`
// The value against which the specified statistic is compared.
//
// Threshold is a required field
Threshold *float64 `type:"double" required:"true"`
// The unit of measure for the statistic. For example, the units for the Amazon
// EC2 NetworkIn metric are Bytes because NetworkIn tracks the number of bytes
// that an instance receives on all network interfaces. You can also specify
// a unit when you create a custom metric. Units help provide conceptual meaning
// to your data. Metric data points that specify a unit of measure, such as
// Percent, are aggregated separately.
//
// If you specify a unit, you must use a unit that is appropriate for the metric.
// Otherwise, the Amazon CloudWatch alarm can get stuck in the INSUFFICIENT
// DATA state.
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()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *PutMetricAlarmInput) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "PutMetricAlarmInput"}
if s.AlarmName == nil {
invalidParams.Add(request.NewErrParamRequired("AlarmName"))
}
if s.AlarmName != nil && len(*s.AlarmName) < 1 {
invalidParams.Add(request.NewErrParamMinLen("AlarmName", 1))
}
if s.ComparisonOperator == nil {
invalidParams.Add(request.NewErrParamRequired("ComparisonOperator"))
}
if s.EvaluationPeriods == nil {
invalidParams.Add(request.NewErrParamRequired("EvaluationPeriods"))
}
if s.EvaluationPeriods != nil && *s.EvaluationPeriods < 1 {
invalidParams.Add(request.NewErrParamMinValue("EvaluationPeriods", 1))
}
if s.MetricName == nil {
invalidParams.Add(request.NewErrParamRequired("MetricName"))
}
if s.MetricName != nil && len(*s.MetricName) < 1 {
invalidParams.Add(request.NewErrParamMinLen("MetricName", 1))
}
if s.Namespace == nil {
invalidParams.Add(request.NewErrParamRequired("Namespace"))
}
if s.Namespace != nil && len(*s.Namespace) < 1 {
invalidParams.Add(request.NewErrParamMinLen("Namespace", 1))
}
if s.Period == nil {
invalidParams.Add(request.NewErrParamRequired("Period"))
}
if s.Period != nil && *s.Period < 60 {
invalidParams.Add(request.NewErrParamMinValue("Period", 60))
}
if s.Threshold == nil {
invalidParams.Add(request.NewErrParamRequired("Threshold"))
}
if s.Dimensions != nil {
for i, v := range s.Dimensions {
if v == nil {
continue
}
if err := v.Validate(); err != nil {
invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Dimensions", i), err.(request.ErrInvalidParams))
}
}
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetActionsEnabled sets the ActionsEnabled field's value.
func (s *PutMetricAlarmInput) SetActionsEnabled(v bool) *PutMetricAlarmInput {
s.ActionsEnabled = &v
return s
}
// SetAlarmActions sets the AlarmActions field's value.
func (s *PutMetricAlarmInput) SetAlarmActions(v []*string) *PutMetricAlarmInput {
s.AlarmActions = v
return s
}
// SetAlarmDescription sets the AlarmDescription field's value.
func (s *PutMetricAlarmInput) SetAlarmDescription(v string) *PutMetricAlarmInput {
s.AlarmDescription = &v
return s
}
// SetAlarmName sets the AlarmName field's value.
func (s *PutMetricAlarmInput) SetAlarmName(v string) *PutMetricAlarmInput {
s.AlarmName = &v
return s
}
// SetComparisonOperator sets the ComparisonOperator field's value.
func (s *PutMetricAlarmInput) SetComparisonOperator(v string) *PutMetricAlarmInput {
s.ComparisonOperator = &v
return s
}
// SetDimensions sets the Dimensions field's value.
func (s *PutMetricAlarmInput) SetDimensions(v []*Dimension) *PutMetricAlarmInput {
s.Dimensions = v
return s
}
// SetEvaluationPeriods sets the EvaluationPeriods field's value.
func (s *PutMetricAlarmInput) SetEvaluationPeriods(v int64) *PutMetricAlarmInput {
s.EvaluationPeriods = &v
return s
}
// SetExtendedStatistic sets the ExtendedStatistic field's value.
func (s *PutMetricAlarmInput) SetExtendedStatistic(v string) *PutMetricAlarmInput {
s.ExtendedStatistic = &v
return s
}
// SetInsufficientDataActions sets the InsufficientDataActions field's value.
func (s *PutMetricAlarmInput) SetInsufficientDataActions(v []*string) *PutMetricAlarmInput {
s.InsufficientDataActions = v
return s
}
// SetMetricName sets the MetricName field's value.
func (s *PutMetricAlarmInput) SetMetricName(v string) *PutMetricAlarmInput {
s.MetricName = &v
return s
}
// SetNamespace sets the Namespace field's value.
func (s *PutMetricAlarmInput) SetNamespace(v string) *PutMetricAlarmInput {
s.Namespace = &v
return s
}
// SetOKActions sets the OKActions field's value.
func (s *PutMetricAlarmInput) SetOKActions(v []*string) *PutMetricAlarmInput {
s.OKActions = v
return s
}
// SetPeriod sets the Period field's value.
func (s *PutMetricAlarmInput) SetPeriod(v int64) *PutMetricAlarmInput {
s.Period = &v
return s
}
// SetStatistic sets the Statistic field's value.
func (s *PutMetricAlarmInput) SetStatistic(v string) *PutMetricAlarmInput {
s.Statistic = &v
return s
}
// SetThreshold sets the Threshold field's value.
func (s *PutMetricAlarmInput) SetThreshold(v float64) *PutMetricAlarmInput {
s.Threshold = &v
return s
}
// SetUnit sets the Unit field's value.
func (s *PutMetricAlarmInput) SetUnit(v string) *PutMetricAlarmInput {
s.Unit = &v
return s
}
// Please also see https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/PutMetricAlarmOutput
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()
}
// Please also see https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/PutMetricDataInput
type PutMetricDataInput struct {
_ struct{} `type:"structure"`
// The data for the metric.
//
// MetricData is a required field
MetricData []*MetricDatum `type:"list" required:"true"`
// The namespace for the metric data.
//
// You cannot specify a namespace that begins with "AWS/". Namespaces that begin
// with "AWS/" are reserved for use by Amazon Web Services products.
//
// Namespace is a required field
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()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *PutMetricDataInput) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "PutMetricDataInput"}
if s.MetricData == nil {
invalidParams.Add(request.NewErrParamRequired("MetricData"))
}
if s.Namespace == nil {
invalidParams.Add(request.NewErrParamRequired("Namespace"))
}
if s.Namespace != nil && len(*s.Namespace) < 1 {
invalidParams.Add(request.NewErrParamMinLen("Namespace", 1))
}
if s.MetricData != nil {
for i, v := range s.MetricData {
if v == nil {
continue
}
if err := v.Validate(); err != nil {
invalidParams.AddNested(fmt.Sprintf("%s[%v]", "MetricData", i), err.(request.ErrInvalidParams))
}
}
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetMetricData sets the MetricData field's value.
func (s *PutMetricDataInput) SetMetricData(v []*MetricDatum) *PutMetricDataInput {
s.MetricData = v
return s
}
// SetNamespace sets the Namespace field's value.
func (s *PutMetricDataInput) SetNamespace(v string) *PutMetricDataInput {
s.Namespace = &v
return s
}
// Please also see https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/PutMetricDataOutput
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()
}
// Please also see https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/SetAlarmStateInput
type SetAlarmStateInput struct {
_ struct{} `type:"structure"`
// The name for the alarm. This name must be unique within the AWS account.
// The maximum length is 255 characters.
//
// AlarmName is a required field
AlarmName *string `min:"1" type:"string" required:"true"`
// The reason that this alarm is set to this specific state, in text format.
//
// StateReason is a required field
StateReason *string `type:"string" required:"true"`
// The reason that this alarm is set to this specific state, in JSON format.
StateReasonData *string `type:"string"`
// The value of the state.
//
// StateValue is a required field
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()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *SetAlarmStateInput) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "SetAlarmStateInput"}
if s.AlarmName == nil {
invalidParams.Add(request.NewErrParamRequired("AlarmName"))
}
if s.AlarmName != nil && len(*s.AlarmName) < 1 {
invalidParams.Add(request.NewErrParamMinLen("AlarmName", 1))
}
if s.StateReason == nil {
invalidParams.Add(request.NewErrParamRequired("StateReason"))
}
if s.StateValue == nil {
invalidParams.Add(request.NewErrParamRequired("StateValue"))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetAlarmName sets the AlarmName field's value.
func (s *SetAlarmStateInput) SetAlarmName(v string) *SetAlarmStateInput {
s.AlarmName = &v
return s
}
// SetStateReason sets the StateReason field's value.
func (s *SetAlarmStateInput) SetStateReason(v string) *SetAlarmStateInput {
s.StateReason = &v
return s
}
// SetStateReasonData sets the StateReasonData field's value.
func (s *SetAlarmStateInput) SetStateReasonData(v string) *SetAlarmStateInput {
s.StateReasonData = &v
return s
}
// SetStateValue sets the StateValue field's value.
func (s *SetAlarmStateInput) SetStateValue(v string) *SetAlarmStateInput {
s.StateValue = &v
return s
}
// Please also see https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/SetAlarmStateOutput
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()
}
// Represents a set of statistics that describes a specific metric.
// Please also see https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/StatisticSet
type StatisticSet struct {
_ struct{} `type:"structure"`
// The maximum value of the sample set.
//
// Maximum is a required field
Maximum *float64 `type:"double" required:"true"`
// The minimum value of the sample set.
//
// Minimum is a required field
Minimum *float64 `type:"double" required:"true"`
// The number of samples used for the statistic set.
//
// SampleCount is a required field
SampleCount *float64 `type:"double" required:"true"`
// The sum of values for the sample set.
//
// Sum is a required field
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()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *StatisticSet) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "StatisticSet"}
if s.Maximum == nil {
invalidParams.Add(request.NewErrParamRequired("Maximum"))
}
if s.Minimum == nil {
invalidParams.Add(request.NewErrParamRequired("Minimum"))
}
if s.SampleCount == nil {
invalidParams.Add(request.NewErrParamRequired("SampleCount"))
}
if s.Sum == nil {
invalidParams.Add(request.NewErrParamRequired("Sum"))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetMaximum sets the Maximum field's value.
func (s *StatisticSet) SetMaximum(v float64) *StatisticSet {
s.Maximum = &v
return s
}
// SetMinimum sets the Minimum field's value.
func (s *StatisticSet) SetMinimum(v float64) *StatisticSet {
s.Minimum = &v
return s
}
// SetSampleCount sets the SampleCount field's value.
func (s *StatisticSet) SetSampleCount(v float64) *StatisticSet {
s.SampleCount = &v
return s
}
// SetSum sets the Sum field's value.
func (s *StatisticSet) SetSum(v float64) *StatisticSet {
s.Sum = &v
return s
}
const (
// ComparisonOperatorGreaterThanOrEqualToThreshold is a ComparisonOperator enum value
ComparisonOperatorGreaterThanOrEqualToThreshold = "GreaterThanOrEqualToThreshold"
// ComparisonOperatorGreaterThanThreshold is a ComparisonOperator enum value
ComparisonOperatorGreaterThanThreshold = "GreaterThanThreshold"
// ComparisonOperatorLessThanThreshold is a ComparisonOperator enum value
ComparisonOperatorLessThanThreshold = "LessThanThreshold"
// ComparisonOperatorLessThanOrEqualToThreshold is a ComparisonOperator enum value
ComparisonOperatorLessThanOrEqualToThreshold = "LessThanOrEqualToThreshold"
)
const (
// HistoryItemTypeConfigurationUpdate is a HistoryItemType enum value
HistoryItemTypeConfigurationUpdate = "ConfigurationUpdate"
// HistoryItemTypeStateUpdate is a HistoryItemType enum value
HistoryItemTypeStateUpdate = "StateUpdate"
// HistoryItemTypeAction is a HistoryItemType enum value
HistoryItemTypeAction = "Action"
)
const (
// StandardUnitSeconds is a StandardUnit enum value
StandardUnitSeconds = "Seconds"
// StandardUnitMicroseconds is a StandardUnit enum value
StandardUnitMicroseconds = "Microseconds"
// StandardUnitMilliseconds is a StandardUnit enum value
StandardUnitMilliseconds = "Milliseconds"
// StandardUnitBytes is a StandardUnit enum value
StandardUnitBytes = "Bytes"
// StandardUnitKilobytes is a StandardUnit enum value
StandardUnitKilobytes = "Kilobytes"
// StandardUnitMegabytes is a StandardUnit enum value
StandardUnitMegabytes = "Megabytes"
// StandardUnitGigabytes is a StandardUnit enum value
StandardUnitGigabytes = "Gigabytes"
// StandardUnitTerabytes is a StandardUnit enum value
StandardUnitTerabytes = "Terabytes"
// StandardUnitBits is a StandardUnit enum value
StandardUnitBits = "Bits"
// StandardUnitKilobits is a StandardUnit enum value
StandardUnitKilobits = "Kilobits"
// StandardUnitMegabits is a StandardUnit enum value
StandardUnitMegabits = "Megabits"
// StandardUnitGigabits is a StandardUnit enum value
StandardUnitGigabits = "Gigabits"
// StandardUnitTerabits is a StandardUnit enum value
StandardUnitTerabits = "Terabits"
// StandardUnitPercent is a StandardUnit enum value
StandardUnitPercent = "Percent"
// StandardUnitCount is a StandardUnit enum value
StandardUnitCount = "Count"
// StandardUnitBytesSecond is a StandardUnit enum value
StandardUnitBytesSecond = "Bytes/Second"
// StandardUnitKilobytesSecond is a StandardUnit enum value
StandardUnitKilobytesSecond = "Kilobytes/Second"
// StandardUnitMegabytesSecond is a StandardUnit enum value
StandardUnitMegabytesSecond = "Megabytes/Second"
// StandardUnitGigabytesSecond is a StandardUnit enum value
StandardUnitGigabytesSecond = "Gigabytes/Second"
// StandardUnitTerabytesSecond is a StandardUnit enum value
StandardUnitTerabytesSecond = "Terabytes/Second"
// StandardUnitBitsSecond is a StandardUnit enum value
StandardUnitBitsSecond = "Bits/Second"
// StandardUnitKilobitsSecond is a StandardUnit enum value
StandardUnitKilobitsSecond = "Kilobits/Second"
// StandardUnitMegabitsSecond is a StandardUnit enum value
StandardUnitMegabitsSecond = "Megabits/Second"
// StandardUnitGigabitsSecond is a StandardUnit enum value
StandardUnitGigabitsSecond = "Gigabits/Second"
// StandardUnitTerabitsSecond is a StandardUnit enum value
StandardUnitTerabitsSecond = "Terabits/Second"
// StandardUnitCountSecond is a StandardUnit enum value
StandardUnitCountSecond = "Count/Second"
// StandardUnitNone is a StandardUnit enum value
StandardUnitNone = "None"
)
const (
// StateValueOk is a StateValue enum value
StateValueOk = "OK"
// StateValueAlarm is a StateValue enum value
StateValueAlarm = "ALARM"
// StateValueInsufficientData is a StateValue enum value
StateValueInsufficientData = "INSUFFICIENT_DATA"
)
const (
// StatisticSampleCount is a Statistic enum value
StatisticSampleCount = "SampleCount"
// StatisticAverage is a Statistic enum value
StatisticAverage = "Average"
// StatisticSum is a Statistic enum value
StatisticSum = "Sum"
// StatisticMinimum is a Statistic enum value
StatisticMinimum = "Minimum"
// StatisticMaximum is a Statistic enum value
StatisticMaximum = "Maximum"
)