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

1452 lines
48 KiB
Go

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