Files
Marc Carré 652cc90f98 Update weaveworks/common to latest version
```
$ gvt delete github.com/weaveworks/common
$ gvt fetch --revision 4d96fd8dcf2c7b417912c6219b310112cb4a4626 github.com/weaveworks/common
2018/07/23 15:31:11 Fetching: github.com/weaveworks/common
2018/07/23 15:31:14 · Skipping (existing): github.com/golang/protobuf/ptypes/any
2018/07/23 15:31:14 · Fetching recursive dependency: github.com/pkg/errors
2018/07/23 15:31:16 · Skipping (existing): github.com/aws/aws-sdk-go/aws
2018/07/23 15:31:16 · Fetching recursive dependency: github.com/sirupsen/logrus
2018/07/23 15:31:18 ·· Skipping (existing): golang.org/x/sys/unix
2018/07/23 15:31:18 ·· Skipping (existing): golang.org/x/crypto/ssh/terminal
2018/07/23 15:31:18 · Skipping (existing): google.golang.org/grpc/status
2018/07/23 15:31:18 · Skipping (existing): github.com/gorilla/mux
2018/07/23 15:31:18 · Fetching recursive dependency: github.com/opentracing-contrib/go-stdlib/nethttp
2018/07/23 15:31:20 ·· Skipping (existing): github.com/opentracing/opentracing-go/ext
2018/07/23 15:31:20 ·· Skipping (existing): github.com/opentracing/opentracing-go/log
2018/07/23 15:31:20 ·· Skipping (existing): github.com/opentracing/opentracing-go
2018/07/23 15:31:20 · Skipping (existing): github.com/prometheus/client_golang/prometheus
2018/07/23 15:31:20 · Skipping (existing): google.golang.org/grpc
2018/07/23 15:31:20 · Skipping (existing): github.com/pmezard/go-difflib/difflib
2018/07/23 15:31:20 · Fetching recursive dependency: github.com/go-kit/kit/log
2018/07/23 15:31:23 ·· Fetching recursive dependency: github.com/go-logfmt/logfmt
2018/07/23 15:31:25 ··· Fetching recursive dependency: github.com/kr/logfmt
2018/07/23 15:31:27 ·· Fetching recursive dependency: github.com/go-stack/stack
2018/07/23 15:31:29 · Fetching recursive dependency: google.golang.org/genproto/googleapis/rpc/status
2018/07/23 15:31:37 ·· Skipping (existing): github.com/golang/protobuf/proto
2018/07/23 15:31:37 ·· Skipping (existing): github.com/golang/protobuf/ptypes/any
2018/07/23 15:31:37 · Skipping (existing): github.com/opentracing/opentracing-go/log
2018/07/23 15:31:37 · Fetching recursive dependency: github.com/sercand/kuberesolver
2018/07/23 15:31:39 ·· Skipping (existing): google.golang.org/grpc/grpclog
2018/07/23 15:31:39 ·· Skipping (existing): google.golang.org/grpc/resolver
2018/07/23 15:31:39 ·· Skipping (existing): golang.org/x/net/context
2018/07/23 15:31:39 · Skipping (existing): google.golang.org/grpc/metadata
2018/07/23 15:31:39 · Skipping (existing): github.com/opentracing/opentracing-go/ext
2018/07/23 15:31:39 · Skipping (existing): github.com/armon/go-socks5
2018/07/23 15:31:39 · Skipping (existing): github.com/opentracing/opentracing-go
2018/07/23 15:31:39 · Skipping (existing): github.com/davecgh/go-spew/spew
2018/07/23 15:31:39 · Skipping (existing): github.com/golang/protobuf/ptypes
2018/07/23 15:31:39 · Skipping (existing): github.com/golang/protobuf/proto
2018/07/23 15:31:39 · Fetching recursive dependency: github.com/grpc-ecosystem/grpc-opentracing/go/otgrpc
2018/07/23 15:31:41 ·· Skipping (existing): github.com/opentracing/opentracing-go/log
2018/07/23 15:31:41 ·· Skipping (existing): golang.org/x/net/context
2018/07/23 15:31:41 ·· Skipping (existing): google.golang.org/grpc/codes
2018/07/23 15:31:41 ·· Skipping (existing): github.com/golang/protobuf/proto
2018/07/23 15:31:41 ·· Skipping (existing): github.com/opentracing/opentracing-go
2018/07/23 15:31:41 ·· Skipping (existing): github.com/opentracing/opentracing-go/ext
2018/07/23 15:31:41 ·· Skipping (existing): google.golang.org/grpc
2018/07/23 15:31:41 ·· Skipping (existing): google.golang.org/grpc/metadata
2018/07/23 15:31:41 ·· Skipping (existing): google.golang.org/grpc/status
2018/07/23 15:31:41 · Fetching recursive dependency: github.com/uber/jaeger-client-go/config
2018/07/23 15:31:44 ·· Fetching recursive dependency: github.com/uber/jaeger-client-go/internal/throttler/remote
2018/07/23 15:31:44 ··· Fetching recursive dependency: github.com/uber/jaeger-client-go/utils
2018/07/23 15:31:44 ···· Fetching recursive dependency: github.com/uber/jaeger-client-go/thrift
2018/07/23 15:31:44 ···· Fetching recursive dependency: github.com/uber/jaeger-client-go/thrift-gen/agent
2018/07/23 15:31:44 ····· Fetching recursive dependency: github.com/uber/jaeger-client-go/thrift-gen/jaeger
2018/07/23 15:31:44 ····· Fetching recursive dependency: github.com/uber/jaeger-client-go/thrift-gen/zipkincore
2018/07/23 15:31:44 ··· Fetching recursive dependency: github.com/uber/jaeger-client-go
2018/07/23 15:31:44 ···· Fetching recursive dependency: github.com/crossdock/crossdock-go
2018/07/23 15:31:46 ····· Skipping (existing): github.com/davecgh/go-spew/spew
2018/07/23 15:31:46 ····· Skipping (existing): golang.org/x/net/context/ctxhttp
2018/07/23 15:31:46 ····· Skipping (existing): golang.org/x/net/context
2018/07/23 15:31:46 ····· Skipping (existing): github.com/pmezard/go-difflib/difflib
2018/07/23 15:31:46 ···· Skipping (existing): github.com/opentracing/opentracing-go/log
2018/07/23 15:31:46 ···· Fetching recursive dependency: go.uber.org/zap/zapcore
2018/07/23 15:31:49 ····· Fetching recursive dependency: go.uber.org/atomic
2018/07/23 15:31:51 ····· Fetching recursive dependency: go.uber.org/zap/internal/bufferpool
2018/07/23 15:31:51 ······ Fetching recursive dependency: go.uber.org/zap/buffer
2018/07/23 15:31:51 ····· Fetching recursive dependency: go.uber.org/multierr
2018/07/23 15:31:54 ····· Fetching recursive dependency: go.uber.org/zap/internal/exit
2018/07/23 15:31:54 ····· Fetching recursive dependency: go.uber.org/zap/internal/color
2018/07/23 15:31:54 ···· Fetching recursive dependency: go.uber.org/zap
2018/07/23 15:31:54 ···· Skipping (existing): github.com/opentracing/opentracing-go
2018/07/23 15:31:54 ···· Skipping (existing): github.com/opentracing/opentracing-go/ext
2018/07/23 15:31:54 ···· Fetching recursive dependency: github.com/uber/jaeger-lib/metrics
2018/07/23 15:31:56 ····· Fetching recursive dependency: github.com/uber-go/tally
2018/07/23 15:31:58 ······ Fetching recursive dependency: github.com/m3db/prometheus_client_golang/prometheus/promhttp
2018/07/23 15:32:00 ······· Skipping (existing): github.com/prometheus/client_golang/prometheus
2018/07/23 15:32:00 ······· Skipping (existing): github.com/prometheus/common/expfmt
2018/07/23 15:32:00 ······· Skipping (existing): github.com/prometheus/client_model/go
2018/07/23 15:32:00 ······ Fetching recursive dependency: gopkg.in/validator.v2
2018/07/23 15:32:06 ······ Fetching recursive dependency: github.com/cactus/go-statsd-client/statsd
2018/07/23 15:32:08 ······ Skipping (existing): gopkg.in/yaml.v2
2018/07/23 15:32:08 ······ Fetching recursive dependency: github.com/m3db/prometheus_client_golang/prometheus
2018/07/23 15:32:08 ······· Skipping (existing): github.com/prometheus/procfs
2018/07/23 15:32:08 ······· Skipping (existing): github.com/prometheus/client_model/go
2018/07/23 15:32:08 ······· Skipping (existing): github.com/prometheus/common/expfmt
2018/07/23 15:32:08 ······· Skipping (existing): golang.org/x/net/context
2018/07/23 15:32:08 ······· Skipping (existing): github.com/beorn7/perks/quantile
2018/07/23 15:32:08 ······· Skipping (existing): github.com/golang/protobuf/proto
2018/07/23 15:32:08 ······· Skipping (existing): github.com/prometheus/common/model
2018/07/23 15:32:08 ······· Skipping (existing): github.com/prometheus/client_golang/prometheus
2018/07/23 15:32:08 ······ Fetching recursive dependency: github.com/apache/thrift/lib/go/thrift
2018/07/23 15:32:13 ····· Skipping (existing): github.com/stretchr/testify/assert
2018/07/23 15:32:13 ····· Fetching recursive dependency: github.com/go-kit/kit/metrics/influx
2018/07/23 15:32:13 ······ Fetching recursive dependency: github.com/influxdata/influxdb/client/v2
2018/07/23 15:32:17 ······· Fetching recursive dependency: github.com/influxdata/influxdb/models
2018/07/23 15:32:17 ········ Fetching recursive dependency: github.com/influxdata/influxdb/pkg/escape
2018/07/23 15:32:17 ······ Fetching recursive dependency: github.com/go-kit/kit/metrics
2018/07/23 15:32:17 ······· Fetching recursive dependency: github.com/performancecopilot/speed
2018/07/23 15:32:19 ······· Fetching recursive dependency: github.com/aws/aws-sdk-go-v2/aws
2018/07/23 15:32:28 ········ Fetching recursive dependency: github.com/aws/aws-sdk-go-v2/internal/sdk
2018/07/23 15:32:28 ········ Skipping (existing): github.com/go-ini/ini
2018/07/23 15:32:28 ········ Fetching recursive dependency: github.com/aws/aws-sdk-go-v2/service/sts
2018/07/23 15:32:28 ········· Fetching recursive dependency: github.com/aws/aws-sdk-go-v2/private/protocol/query
2018/07/23 15:32:28 ·········· Fetching recursive dependency: github.com/aws/aws-sdk-go-v2/private/protocol
2018/07/23 15:32:28 ········· Fetching recursive dependency: github.com/aws/aws-sdk-go-v2/internal/awsutil
2018/07/23 15:32:28 ·········· Skipping (existing): github.com/jmespath/go-jmespath
2018/07/23 15:32:28 ······· Fetching recursive dependency: github.com/aws/aws-sdk-go-v2/service/cloudwatch
2018/07/23 15:32:29 ······· Skipping (existing): github.com/aws/aws-sdk-go/aws
2018/07/23 15:32:29 ······· Skipping (existing): github.com/prometheus/client_golang/prometheus
2018/07/23 15:32:29 ······· Skipping (existing): github.com/aws/aws-sdk-go/service/cloudwatch
2018/07/23 15:32:29 ······· Skipping (existing): github.com/aws/aws-sdk-go/service/cloudwatch/cloudwatchiface
2018/07/23 15:32:29 ······· Fetching recursive dependency: golang.org/x/sync/errgroup
2018/07/23 15:32:31 ········ Skipping (existing): golang.org/x/net/context
2018/07/23 15:32:31 ······· Fetching recursive dependency: github.com/go-kit/kit/util/conn
2018/07/23 15:32:31 ······· Fetching recursive dependency: github.com/VividCortex/gohistogram
2018/07/23 15:32:33 ····· Skipping (existing): github.com/prometheus/client_golang/prometheus
2018/07/23 15:32:33 ····· Fetching recursive dependency: github.com/codahale/hdrhistogram
2018/07/23 15:32:35 ·· Skipping (existing): github.com/opentracing/opentracing-go
2018/07/23 15:32:35 · Fetching recursive dependency: github.com/mwitkow/go-grpc-middleware
2018/07/23 15:32:37 ·· Fetching recursive dependency: github.com/grpc-ecosystem/go-grpc-middleware/logging
2018/07/23 15:32:39 ··· Fetching recursive dependency: github.com/grpc-ecosystem/go-grpc-middleware
2018/07/23 15:32:39 ···· Fetching recursive dependency: github.com/golang/protobuf/jsonpb
2018/07/23 15:32:42 ····· Skipping (existing): github.com/golang/protobuf/ptypes/timestamp
2018/07/23 15:32:42 ····· Skipping (existing): github.com/golang/protobuf/proto
2018/07/23 15:32:42 ····· Skipping (existing): github.com/golang/protobuf/ptypes/duration
2018/07/23 15:32:42 ····· Skipping (existing): github.com/golang/protobuf/ptypes/any
2018/07/23 15:32:42 ····· Skipping (existing): github.com/golang/protobuf/ptypes/struct
2018/07/23 15:32:42 ····· Skipping (existing): github.com/golang/protobuf/ptypes/wrappers
2018/07/23 15:32:42 ···· Skipping (existing): google.golang.org/grpc/metadata
2018/07/23 15:32:42 ···· Fetching recursive dependency: github.com/stretchr/testify/suite
2018/07/23 15:32:45 ····· Skipping (existing): github.com/stretchr/testify/assert
2018/07/23 15:32:45 ····· Fetching recursive dependency: github.com/stretchr/testify/require
2018/07/23 15:32:45 ······ Skipping (existing): github.com/stretchr/testify/assert
2018/07/23 15:32:45 ···· Skipping (existing): google.golang.org/grpc/peer
2018/07/23 15:32:45 ···· Skipping (existing): golang.org/x/net/context
2018/07/23 15:32:45 ···· Skipping (existing): golang.org/x/net/trace
2018/07/23 15:32:45 ···· Fetching recursive dependency: github.com/gogo/protobuf/gogoproto
2018/07/23 15:32:48 ····· Fetching recursive dependency: github.com/gogo/protobuf/protoc-gen-gogo/descriptor
2018/07/23 15:32:48 ······ Skipping (existing): github.com/gogo/protobuf/proto
2018/07/23 15:32:48 ····· Skipping (existing): github.com/gogo/protobuf/proto
2018/07/23 15:32:48 ···· Skipping (existing): google.golang.org/grpc/credentials
2018/07/23 15:32:48 ···· Skipping (existing): google.golang.org/grpc
2018/07/23 15:32:48 ···· Skipping (existing): github.com/opentracing/opentracing-go
2018/07/23 15:32:48 ···· Skipping (existing): google.golang.org/grpc/codes
2018/07/23 15:32:48 ···· Skipping (existing): github.com/golang/protobuf/proto
2018/07/23 15:32:48 ···· Skipping (existing): google.golang.org/grpc/grpclog
2018/07/23 15:32:48 ···· Skipping (existing): github.com/opentracing/opentracing-go/ext
2018/07/23 15:32:48 ···· Skipping (existing): github.com/opentracing/opentracing-go/log
2018/07/23 15:32:48 ··· Skipping (existing): golang.org/x/net/context
2018/07/23 15:32:48 ··· Skipping (existing): google.golang.org/grpc
2018/07/23 15:32:48 ··· Skipping (existing): google.golang.org/grpc/grpclog
2018/07/23 15:32:48 ··· Skipping (existing): google.golang.org/grpc/codes
2018/07/23 15:32:48 ··· Skipping (existing): github.com/golang/protobuf/proto
2018/07/23 15:32:48 ·· Skipping (existing): github.com/opentracing/opentracing-go
2018/07/23 15:32:48 ·· Skipping (existing): google.golang.org/grpc
2018/07/23 15:32:48 ·· Skipping (existing): golang.org/x/net/context
2018/07/23 15:32:48 ·· Skipping (existing): google.golang.org/grpc/codes
2018/07/23 15:32:48 ·· Skipping (existing): google.golang.org/grpc/grpclog
2018/07/23 15:32:48 ·· Skipping (existing): github.com/opentracing/opentracing-go/log
2018/07/23 15:32:48 ·· Skipping (existing): google.golang.org/grpc/metadata
2018/07/23 15:32:48 ·· Skipping (existing): google.golang.org/grpc/peer
2018/07/23 15:32:48 ·· Skipping (existing): google.golang.org/grpc/credentials
2018/07/23 15:32:48 ·· Skipping (existing): github.com/golang/protobuf/proto
2018/07/23 15:32:48 ·· Skipping (existing): golang.org/x/net/trace
2018/07/23 15:32:48 ·· Skipping (existing): github.com/opentracing/opentracing-go/ext
2018/07/23 15:32:48 · Fetching recursive dependency: github.com/weaveworks/promrus
2018/07/23 15:32:53 ·· Skipping (existing): gopkg.in/yaml.v2
2018/07/23 15:32:53 ·· Skipping (existing): golang.org/x/net/context/ctxhttp
2018/07/23 15:32:53 ·· Fetching recursive dependency: github.com/stretchr/objx
2018/07/23 15:32:55 ·· Fetching recursive dependency: gopkg.in/alecthomas/kingpin.v2
2018/07/23 15:32:58 ··· Fetching recursive dependency: github.com/alecthomas/units
2018/07/23 15:33:00 ··· Fetching recursive dependency: github.com/alecthomas/template
2018/07/23 15:33:02 ·· Fetching recursive dependency: github.com/julienschmidt/httprouter
2018/07/23 15:33:05 ·· Skipping (existing): golang.org/x/net/context
2018/07/23 15:33:05 · Skipping (existing): github.com/aws/aws-sdk-go/aws/credentials
2018/07/23 15:33:05 · Skipping (existing): github.com/golang/protobuf/ptypes/empty
2018/07/23 15:33:05 · Skipping (existing): golang.org/x/net/context
2018/07/23 15:33:05 · Skipping (existing): golang.org/x/tools/cover
2018/07/23 15:33:05 · Skipping (existing): github.com/mgutz/ansi
```
2018-07-23 20:10:13 +02:00

3518 lines
114 KiB
Go

// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
package cloudwatch
import (
"fmt"
"time"
"github.com/aws/aws-sdk-go-v2/aws"
"github.com/aws/aws-sdk-go-v2/internal/awsutil"
"github.com/aws/aws-sdk-go-v2/private/protocol"
"github.com/aws/aws-sdk-go-v2/private/protocol/query"
)
const opDeleteAlarms = "DeleteAlarms"
// DeleteAlarmsRequest is a API request type for the DeleteAlarms API operation.
type DeleteAlarmsRequest struct {
*aws.Request
Input *DeleteAlarmsInput
Copy func(*DeleteAlarmsInput) DeleteAlarmsRequest
}
// Send marshals and sends the DeleteAlarms API request.
func (r DeleteAlarmsRequest) Send() (*DeleteAlarmsOutput, error) {
err := r.Request.Send()
if err != nil {
return nil, err
}
return r.Request.Data.(*DeleteAlarmsOutput), nil
}
// DeleteAlarmsRequest returns a request value for making API operation for
// Amazon CloudWatch.
//
// Deletes the specified alarms. In the event of an error, no alarms are deleted.
//
// // Example sending a request using the DeleteAlarmsRequest method.
// req := client.DeleteAlarmsRequest(params)
// resp, err := req.Send()
// if err == nil {
// fmt.Println(resp)
// }
//
// Please also see https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/DeleteAlarms
func (c *CloudWatch) DeleteAlarmsRequest(input *DeleteAlarmsInput) DeleteAlarmsRequest {
op := &aws.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)
output.responseMetadata = aws.Response{Request: req}
return DeleteAlarmsRequest{Request: req, Input: input, Copy: c.DeleteAlarmsRequest}
}
const opDeleteDashboards = "DeleteDashboards"
// DeleteDashboardsRequest is a API request type for the DeleteDashboards API operation.
type DeleteDashboardsRequest struct {
*aws.Request
Input *DeleteDashboardsInput
Copy func(*DeleteDashboardsInput) DeleteDashboardsRequest
}
// Send marshals and sends the DeleteDashboards API request.
func (r DeleteDashboardsRequest) Send() (*DeleteDashboardsOutput, error) {
err := r.Request.Send()
if err != nil {
return nil, err
}
return r.Request.Data.(*DeleteDashboardsOutput), nil
}
// DeleteDashboardsRequest returns a request value for making API operation for
// Amazon CloudWatch.
//
// Deletes all dashboards that you specify. You may specify up to 100 dashboards
// to delete. If there is an error during this call, no dashboards are deleted.
//
// // Example sending a request using the DeleteDashboardsRequest method.
// req := client.DeleteDashboardsRequest(params)
// resp, err := req.Send()
// if err == nil {
// fmt.Println(resp)
// }
//
// Please also see https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/DeleteDashboards
func (c *CloudWatch) DeleteDashboardsRequest(input *DeleteDashboardsInput) DeleteDashboardsRequest {
op := &aws.Operation{
Name: opDeleteDashboards,
HTTPMethod: "POST",
HTTPPath: "/",
}
if input == nil {
input = &DeleteDashboardsInput{}
}
output := &DeleteDashboardsOutput{}
req := c.newRequest(op, input, output)
output.responseMetadata = aws.Response{Request: req}
return DeleteDashboardsRequest{Request: req, Input: input, Copy: c.DeleteDashboardsRequest}
}
const opDescribeAlarmHistory = "DescribeAlarmHistory"
// DescribeAlarmHistoryRequest is a API request type for the DescribeAlarmHistory API operation.
type DescribeAlarmHistoryRequest struct {
*aws.Request
Input *DescribeAlarmHistoryInput
Copy func(*DescribeAlarmHistoryInput) DescribeAlarmHistoryRequest
}
// Send marshals and sends the DescribeAlarmHistory API request.
func (r DescribeAlarmHistoryRequest) Send() (*DescribeAlarmHistoryOutput, error) {
err := r.Request.Send()
if err != nil {
return nil, err
}
return r.Request.Data.(*DescribeAlarmHistoryOutput), nil
}
// DescribeAlarmHistoryRequest returns a request value for making 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.
//
// CloudWatch retains the history of an alarm even if you delete the alarm.
//
// // Example sending a request using the DescribeAlarmHistoryRequest method.
// req := client.DescribeAlarmHistoryRequest(params)
// resp, err := req.Send()
// if err == nil {
// fmt.Println(resp)
// }
//
// Please also see https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/DescribeAlarmHistory
func (c *CloudWatch) DescribeAlarmHistoryRequest(input *DescribeAlarmHistoryInput) DescribeAlarmHistoryRequest {
op := &aws.Operation{
Name: opDescribeAlarmHistory,
HTTPMethod: "POST",
HTTPPath: "/",
Paginator: &aws.Paginator{
InputTokens: []string{"NextToken"},
OutputTokens: []string{"NextToken"},
LimitToken: "MaxRecords",
TruncationToken: "",
},
}
if input == nil {
input = &DescribeAlarmHistoryInput{}
}
output := &DescribeAlarmHistoryOutput{}
req := c.newRequest(op, input, output)
output.responseMetadata = aws.Response{Request: req}
return DescribeAlarmHistoryRequest{Request: req, Input: input, Copy: c.DescribeAlarmHistoryRequest}
}
// Paginate pages iterates over the pages of a DescribeAlarmHistoryRequest operation,
// calling the Next method for each page. Using the paginators Next
// method will depict whether or not there are more pages.
//
// Note: This operation can generate multiple requests to a service.
//
// // Example iterating over at most 3 pages of a DescribeAlarmHistory operation.
// req := client.DescribeAlarmHistoryRequest(input)
// p := req.Paginate()
// for p.Next() {
// page := p.CurrentPage()
// }
//
// if err := p.Err(); err != nil {
// return err
// }
//
func (p *DescribeAlarmHistoryRequest) Paginate(opts ...aws.Option) DescribeAlarmHistoryPager {
return DescribeAlarmHistoryPager{
Pager: aws.Pager{
NewRequest: func() (*aws.Request, error) {
var inCpy *DescribeAlarmHistoryInput
if p.Input != nil {
tmp := *p.Input
inCpy = &tmp
}
req := p.Copy(inCpy)
req.ApplyOptions(opts...)
return req.Request, nil
},
},
}
}
// DescribeAlarmHistoryPager is used to paginate the request. This can be done by
// calling Next and CurrentPage.
type DescribeAlarmHistoryPager struct {
aws.Pager
}
func (p *DescribeAlarmHistoryPager) CurrentPage() *DescribeAlarmHistoryOutput {
return p.Pager.CurrentPage().(*DescribeAlarmHistoryOutput)
}
const opDescribeAlarms = "DescribeAlarms"
// DescribeAlarmsRequest is a API request type for the DescribeAlarms API operation.
type DescribeAlarmsRequest struct {
*aws.Request
Input *DescribeAlarmsInput
Copy func(*DescribeAlarmsInput) DescribeAlarmsRequest
}
// Send marshals and sends the DescribeAlarms API request.
func (r DescribeAlarmsRequest) Send() (*DescribeAlarmsOutput, error) {
err := r.Request.Send()
if err != nil {
return nil, err
}
return r.Request.Data.(*DescribeAlarmsOutput), nil
}
// DescribeAlarmsRequest returns a request value for making 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.
//
// // Example sending a request using the DescribeAlarmsRequest method.
// req := client.DescribeAlarmsRequest(params)
// resp, err := req.Send()
// if err == nil {
// fmt.Println(resp)
// }
//
// Please also see https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/DescribeAlarms
func (c *CloudWatch) DescribeAlarmsRequest(input *DescribeAlarmsInput) DescribeAlarmsRequest {
op := &aws.Operation{
Name: opDescribeAlarms,
HTTPMethod: "POST",
HTTPPath: "/",
Paginator: &aws.Paginator{
InputTokens: []string{"NextToken"},
OutputTokens: []string{"NextToken"},
LimitToken: "MaxRecords",
TruncationToken: "",
},
}
if input == nil {
input = &DescribeAlarmsInput{}
}
output := &DescribeAlarmsOutput{}
req := c.newRequest(op, input, output)
output.responseMetadata = aws.Response{Request: req}
return DescribeAlarmsRequest{Request: req, Input: input, Copy: c.DescribeAlarmsRequest}
}
// Paginate pages iterates over the pages of a DescribeAlarmsRequest operation,
// calling the Next method for each page. Using the paginators Next
// method will depict whether or not there are more pages.
//
// Note: This operation can generate multiple requests to a service.
//
// // Example iterating over at most 3 pages of a DescribeAlarms operation.
// req := client.DescribeAlarmsRequest(input)
// p := req.Paginate()
// for p.Next() {
// page := p.CurrentPage()
// }
//
// if err := p.Err(); err != nil {
// return err
// }
//
func (p *DescribeAlarmsRequest) Paginate(opts ...aws.Option) DescribeAlarmsPager {
return DescribeAlarmsPager{
Pager: aws.Pager{
NewRequest: func() (*aws.Request, error) {
var inCpy *DescribeAlarmsInput
if p.Input != nil {
tmp := *p.Input
inCpy = &tmp
}
req := p.Copy(inCpy)
req.ApplyOptions(opts...)
return req.Request, nil
},
},
}
}
// DescribeAlarmsPager is used to paginate the request. This can be done by
// calling Next and CurrentPage.
type DescribeAlarmsPager struct {
aws.Pager
}
func (p *DescribeAlarmsPager) CurrentPage() *DescribeAlarmsOutput {
return p.Pager.CurrentPage().(*DescribeAlarmsOutput)
}
const opDescribeAlarmsForMetric = "DescribeAlarmsForMetric"
// DescribeAlarmsForMetricRequest is a API request type for the DescribeAlarmsForMetric API operation.
type DescribeAlarmsForMetricRequest struct {
*aws.Request
Input *DescribeAlarmsForMetricInput
Copy func(*DescribeAlarmsForMetricInput) DescribeAlarmsForMetricRequest
}
// Send marshals and sends the DescribeAlarmsForMetric API request.
func (r DescribeAlarmsForMetricRequest) Send() (*DescribeAlarmsForMetricOutput, error) {
err := r.Request.Send()
if err != nil {
return nil, err
}
return r.Request.Data.(*DescribeAlarmsForMetricOutput), nil
}
// DescribeAlarmsForMetricRequest returns a request value for making API operation for
// Amazon CloudWatch.
//
// Retrieves the alarms for the specified metric. To filter the results, specify
// a statistic, period, or unit.
//
// // Example sending a request using the DescribeAlarmsForMetricRequest method.
// req := client.DescribeAlarmsForMetricRequest(params)
// resp, err := req.Send()
// if err == nil {
// fmt.Println(resp)
// }
//
// Please also see https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/DescribeAlarmsForMetric
func (c *CloudWatch) DescribeAlarmsForMetricRequest(input *DescribeAlarmsForMetricInput) DescribeAlarmsForMetricRequest {
op := &aws.Operation{
Name: opDescribeAlarmsForMetric,
HTTPMethod: "POST",
HTTPPath: "/",
}
if input == nil {
input = &DescribeAlarmsForMetricInput{}
}
output := &DescribeAlarmsForMetricOutput{}
req := c.newRequest(op, input, output)
output.responseMetadata = aws.Response{Request: req}
return DescribeAlarmsForMetricRequest{Request: req, Input: input, Copy: c.DescribeAlarmsForMetricRequest}
}
const opDisableAlarmActions = "DisableAlarmActions"
// DisableAlarmActionsRequest is a API request type for the DisableAlarmActions API operation.
type DisableAlarmActionsRequest struct {
*aws.Request
Input *DisableAlarmActionsInput
Copy func(*DisableAlarmActionsInput) DisableAlarmActionsRequest
}
// Send marshals and sends the DisableAlarmActions API request.
func (r DisableAlarmActionsRequest) Send() (*DisableAlarmActionsOutput, error) {
err := r.Request.Send()
if err != nil {
return nil, err
}
return r.Request.Data.(*DisableAlarmActionsOutput), nil
}
// DisableAlarmActionsRequest returns a request value for making 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.
//
// // Example sending a request using the DisableAlarmActionsRequest method.
// req := client.DisableAlarmActionsRequest(params)
// resp, err := req.Send()
// if err == nil {
// fmt.Println(resp)
// }
//
// Please also see https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/DisableAlarmActions
func (c *CloudWatch) DisableAlarmActionsRequest(input *DisableAlarmActionsInput) DisableAlarmActionsRequest {
op := &aws.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)
output.responseMetadata = aws.Response{Request: req}
return DisableAlarmActionsRequest{Request: req, Input: input, Copy: c.DisableAlarmActionsRequest}
}
const opEnableAlarmActions = "EnableAlarmActions"
// EnableAlarmActionsRequest is a API request type for the EnableAlarmActions API operation.
type EnableAlarmActionsRequest struct {
*aws.Request
Input *EnableAlarmActionsInput
Copy func(*EnableAlarmActionsInput) EnableAlarmActionsRequest
}
// Send marshals and sends the EnableAlarmActions API request.
func (r EnableAlarmActionsRequest) Send() (*EnableAlarmActionsOutput, error) {
err := r.Request.Send()
if err != nil {
return nil, err
}
return r.Request.Data.(*EnableAlarmActionsOutput), nil
}
// EnableAlarmActionsRequest returns a request value for making API operation for
// Amazon CloudWatch.
//
// Enables the actions for the specified alarms.
//
// // Example sending a request using the EnableAlarmActionsRequest method.
// req := client.EnableAlarmActionsRequest(params)
// resp, err := req.Send()
// if err == nil {
// fmt.Println(resp)
// }
//
// Please also see https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/EnableAlarmActions
func (c *CloudWatch) EnableAlarmActionsRequest(input *EnableAlarmActionsInput) EnableAlarmActionsRequest {
op := &aws.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)
output.responseMetadata = aws.Response{Request: req}
return EnableAlarmActionsRequest{Request: req, Input: input, Copy: c.EnableAlarmActionsRequest}
}
const opGetDashboard = "GetDashboard"
// GetDashboardRequest is a API request type for the GetDashboard API operation.
type GetDashboardRequest struct {
*aws.Request
Input *GetDashboardInput
Copy func(*GetDashboardInput) GetDashboardRequest
}
// Send marshals and sends the GetDashboard API request.
func (r GetDashboardRequest) Send() (*GetDashboardOutput, error) {
err := r.Request.Send()
if err != nil {
return nil, err
}
return r.Request.Data.(*GetDashboardOutput), nil
}
// GetDashboardRequest returns a request value for making API operation for
// Amazon CloudWatch.
//
// Displays the details of the dashboard that you specify.
//
// To copy an existing dashboard, use GetDashboard, and then use the data returned
// within DashboardBody as the template for the new dashboard when you call
// PutDashboard to create the copy.
//
// // Example sending a request using the GetDashboardRequest method.
// req := client.GetDashboardRequest(params)
// resp, err := req.Send()
// if err == nil {
// fmt.Println(resp)
// }
//
// Please also see https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/GetDashboard
func (c *CloudWatch) GetDashboardRequest(input *GetDashboardInput) GetDashboardRequest {
op := &aws.Operation{
Name: opGetDashboard,
HTTPMethod: "POST",
HTTPPath: "/",
}
if input == nil {
input = &GetDashboardInput{}
}
output := &GetDashboardOutput{}
req := c.newRequest(op, input, output)
output.responseMetadata = aws.Response{Request: req}
return GetDashboardRequest{Request: req, Input: input, Copy: c.GetDashboardRequest}
}
const opGetMetricData = "GetMetricData"
// GetMetricDataRequest is a API request type for the GetMetricData API operation.
type GetMetricDataRequest struct {
*aws.Request
Input *GetMetricDataInput
Copy func(*GetMetricDataInput) GetMetricDataRequest
}
// Send marshals and sends the GetMetricData API request.
func (r GetMetricDataRequest) Send() (*GetMetricDataOutput, error) {
err := r.Request.Send()
if err != nil {
return nil, err
}
return r.Request.Data.(*GetMetricDataOutput), nil
}
// GetMetricDataRequest returns a request value for making API operation for
// Amazon CloudWatch.
//
// You can use the GetMetricData API to retrieve as many as 100 different metrics
// in a single request, with a total of as many as 100,800 datapoints. You can
// also optionally perform math expressions on the values of the returned statistics,
// to create new time series that represent new insights into your data. For
// example, using Lambda metrics, you could divide the Errors metric by the
// Invocations metric to get an error rate time series. For more information
// about metric math expressions, see Metric Math Syntax and Functions (http://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/using-metric-math.html#metric-math-syntax)
// in the Amazon CloudWatch User Guide.
//
// Calls to the GetMetricData API have a different pricing structure than calls
// to GetMetricStatistics. For more information about pricing, see Amazon CloudWatch
// Pricing (https://aws.amazon.com/cloudwatch/pricing/).
//
// // Example sending a request using the GetMetricDataRequest method.
// req := client.GetMetricDataRequest(params)
// resp, err := req.Send()
// if err == nil {
// fmt.Println(resp)
// }
//
// Please also see https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/GetMetricData
func (c *CloudWatch) GetMetricDataRequest(input *GetMetricDataInput) GetMetricDataRequest {
op := &aws.Operation{
Name: opGetMetricData,
HTTPMethod: "POST",
HTTPPath: "/",
}
if input == nil {
input = &GetMetricDataInput{}
}
output := &GetMetricDataOutput{}
req := c.newRequest(op, input, output)
output.responseMetadata = aws.Response{Request: req}
return GetMetricDataRequest{Request: req, Input: input, Copy: c.GetMetricDataRequest}
}
const opGetMetricStatistics = "GetMetricStatistics"
// GetMetricStatisticsRequest is a API request type for the GetMetricStatistics API operation.
type GetMetricStatisticsRequest struct {
*aws.Request
Input *GetMetricStatisticsInput
Copy func(*GetMetricStatisticsInput) GetMetricStatisticsRequest
}
// Send marshals and sends the GetMetricStatistics API request.
func (r GetMetricStatisticsRequest) Send() (*GetMetricStatisticsOutput, error) {
err := r.Request.Send()
if err != nil {
return nil, err
}
return r.Request.Data.(*GetMetricStatisticsOutput), nil
}
// GetMetricStatisticsRequest returns a request value for making API operation for
// Amazon CloudWatch.
//
// Gets statistics for the specified metric.
//
// The maximum number of data points returned from a single call is 1,440. If
// you request more than 1,440 data points, 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. Data points are not returned in chronological order.
//
// 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,
// 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.
//
// CloudWatch needs raw data points to calculate percentile statistics. If you
// publish data using a statistic set instead, you can only retrieve percentile
// statistics for this data if one of the following conditions is true:
//
// * The SampleCount value of the statistic set is 1.
//
// * The Min and the Max values of the statistic set are equal.
//
// Amazon CloudWatch retains metric data as follows:
//
// * Data points with a period of less than 60 seconds are available for
// 3 hours. These data points are high-resolution metrics and are available
// only for custom metrics that have been defined with a StorageResolution
// of 1.
//
// * 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).
//
// Data points that are initially published with a shorter period are aggregated
// together for long-term storage. For example, if you collect data using a
// period of 1 minute, the data remains available for 15 days with 1-minute
// resolution. After 15 days, this data is still available, but is aggregated
// and retrievable only with a resolution of 5 minutes. After 63 days, the data
// is further aggregated and is available with a resolution of 1 hour.
//
// CloudWatch started retaining 5-minute and 1-hour metric data as of July 9,
// 2016.
//
// For information about 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.
//
// // Example sending a request using the GetMetricStatisticsRequest method.
// req := client.GetMetricStatisticsRequest(params)
// resp, err := req.Send()
// if err == nil {
// fmt.Println(resp)
// }
//
// Please also see https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/GetMetricStatistics
func (c *CloudWatch) GetMetricStatisticsRequest(input *GetMetricStatisticsInput) GetMetricStatisticsRequest {
op := &aws.Operation{
Name: opGetMetricStatistics,
HTTPMethod: "POST",
HTTPPath: "/",
}
if input == nil {
input = &GetMetricStatisticsInput{}
}
output := &GetMetricStatisticsOutput{}
req := c.newRequest(op, input, output)
output.responseMetadata = aws.Response{Request: req}
return GetMetricStatisticsRequest{Request: req, Input: input, Copy: c.GetMetricStatisticsRequest}
}
const opListDashboards = "ListDashboards"
// ListDashboardsRequest is a API request type for the ListDashboards API operation.
type ListDashboardsRequest struct {
*aws.Request
Input *ListDashboardsInput
Copy func(*ListDashboardsInput) ListDashboardsRequest
}
// Send marshals and sends the ListDashboards API request.
func (r ListDashboardsRequest) Send() (*ListDashboardsOutput, error) {
err := r.Request.Send()
if err != nil {
return nil, err
}
return r.Request.Data.(*ListDashboardsOutput), nil
}
// ListDashboardsRequest returns a request value for making API operation for
// Amazon CloudWatch.
//
// Returns a list of the dashboards for your account. If you include DashboardNamePrefix,
// only those dashboards with names starting with the prefix are listed. Otherwise,
// all dashboards in your account are listed.
//
// // Example sending a request using the ListDashboardsRequest method.
// req := client.ListDashboardsRequest(params)
// resp, err := req.Send()
// if err == nil {
// fmt.Println(resp)
// }
//
// Please also see https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/ListDashboards
func (c *CloudWatch) ListDashboardsRequest(input *ListDashboardsInput) ListDashboardsRequest {
op := &aws.Operation{
Name: opListDashboards,
HTTPMethod: "POST",
HTTPPath: "/",
}
if input == nil {
input = &ListDashboardsInput{}
}
output := &ListDashboardsOutput{}
req := c.newRequest(op, input, output)
output.responseMetadata = aws.Response{Request: req}
return ListDashboardsRequest{Request: req, Input: input, Copy: c.ListDashboardsRequest}
}
const opListMetrics = "ListMetrics"
// ListMetricsRequest is a API request type for the ListMetrics API operation.
type ListMetricsRequest struct {
*aws.Request
Input *ListMetricsInput
Copy func(*ListMetricsInput) ListMetricsRequest
}
// Send marshals and sends the ListMetrics API request.
func (r ListMetricsRequest) Send() (*ListMetricsOutput, error) {
err := r.Request.Send()
if err != nil {
return nil, err
}
return r.Request.Data.(*ListMetricsOutput), nil
}
// ListMetricsRequest returns a request value for making 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.
//
// // Example sending a request using the ListMetricsRequest method.
// req := client.ListMetricsRequest(params)
// resp, err := req.Send()
// if err == nil {
// fmt.Println(resp)
// }
//
// Please also see https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/ListMetrics
func (c *CloudWatch) ListMetricsRequest(input *ListMetricsInput) ListMetricsRequest {
op := &aws.Operation{
Name: opListMetrics,
HTTPMethod: "POST",
HTTPPath: "/",
Paginator: &aws.Paginator{
InputTokens: []string{"NextToken"},
OutputTokens: []string{"NextToken"},
LimitToken: "",
TruncationToken: "",
},
}
if input == nil {
input = &ListMetricsInput{}
}
output := &ListMetricsOutput{}
req := c.newRequest(op, input, output)
output.responseMetadata = aws.Response{Request: req}
return ListMetricsRequest{Request: req, Input: input, Copy: c.ListMetricsRequest}
}
// Paginate pages iterates over the pages of a ListMetricsRequest operation,
// calling the Next method for each page. Using the paginators Next
// method will depict whether or not there are more pages.
//
// Note: This operation can generate multiple requests to a service.
//
// // Example iterating over at most 3 pages of a ListMetrics operation.
// req := client.ListMetricsRequest(input)
// p := req.Paginate()
// for p.Next() {
// page := p.CurrentPage()
// }
//
// if err := p.Err(); err != nil {
// return err
// }
//
func (p *ListMetricsRequest) Paginate(opts ...aws.Option) ListMetricsPager {
return ListMetricsPager{
Pager: aws.Pager{
NewRequest: func() (*aws.Request, error) {
var inCpy *ListMetricsInput
if p.Input != nil {
tmp := *p.Input
inCpy = &tmp
}
req := p.Copy(inCpy)
req.ApplyOptions(opts...)
return req.Request, nil
},
},
}
}
// ListMetricsPager is used to paginate the request. This can be done by
// calling Next and CurrentPage.
type ListMetricsPager struct {
aws.Pager
}
func (p *ListMetricsPager) CurrentPage() *ListMetricsOutput {
return p.Pager.CurrentPage().(*ListMetricsOutput)
}
const opPutDashboard = "PutDashboard"
// PutDashboardRequest is a API request type for the PutDashboard API operation.
type PutDashboardRequest struct {
*aws.Request
Input *PutDashboardInput
Copy func(*PutDashboardInput) PutDashboardRequest
}
// Send marshals and sends the PutDashboard API request.
func (r PutDashboardRequest) Send() (*PutDashboardOutput, error) {
err := r.Request.Send()
if err != nil {
return nil, err
}
return r.Request.Data.(*PutDashboardOutput), nil
}
// PutDashboardRequest returns a request value for making API operation for
// Amazon CloudWatch.
//
// Creates a dashboard if it does not already exist, or updates an existing
// dashboard. If you update a dashboard, the entire contents are replaced with
// what you specify here.
//
// You can have up to 500 dashboards per account. All dashboards in your account
// are global, not region-specific.
//
// A simple way to create a dashboard using PutDashboard is to copy an existing
// dashboard. To copy an existing dashboard using the console, you can load
// the dashboard and then use the View/edit source command in the Actions menu
// to display the JSON block for that dashboard. Another way to copy a dashboard
// is to use GetDashboard, and then use the data returned within DashboardBody
// as the template for the new dashboard when you call PutDashboard.
//
// When you create a dashboard with PutDashboard, a good practice is to add
// a text widget at the top of the dashboard with a message that the dashboard
// was created by script and should not be changed in the console. This message
// could also point console users to the location of the DashboardBody script
// or the CloudFormation template used to create the dashboard.
//
// // Example sending a request using the PutDashboardRequest method.
// req := client.PutDashboardRequest(params)
// resp, err := req.Send()
// if err == nil {
// fmt.Println(resp)
// }
//
// Please also see https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/PutDashboard
func (c *CloudWatch) PutDashboardRequest(input *PutDashboardInput) PutDashboardRequest {
op := &aws.Operation{
Name: opPutDashboard,
HTTPMethod: "POST",
HTTPPath: "/",
}
if input == nil {
input = &PutDashboardInput{}
}
output := &PutDashboardOutput{}
req := c.newRequest(op, input, output)
output.responseMetadata = aws.Response{Request: req}
return PutDashboardRequest{Request: req, Input: input, Copy: c.PutDashboardRequest}
}
const opPutMetricAlarm = "PutMetricAlarm"
// PutMetricAlarmRequest is a API request type for the PutMetricAlarm API operation.
type PutMetricAlarmRequest struct {
*aws.Request
Input *PutMetricAlarmInput
Copy func(*PutMetricAlarmInput) PutMetricAlarmRequest
}
// Send marshals and sends the PutMetricAlarm API request.
func (r PutMetricAlarmRequest) Send() (*PutMetricAlarmOutput, error) {
err := r.Request.Send()
if err != nil {
return nil, err
}
return r.Request.Data.(*PutMetricAlarmOutput), nil
}
// PutMetricAlarmRequest returns a request value for making 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 IAM user, you must have Amazon EC2 permissions for some operations:
//
// * iam:CreateServiceLinkedRole for all alarms with EC2 actions
//
// * 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 are
// not performed. However, if you are later granted the required permissions,
// the alarm actions that you created earlier are performed.
//
// If you are using an IAM role (for example, an 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 AWS STS, you
// cannot stop or terminate an EC2 instance using alarm actions.
//
// You must create at least one stop, terminate, or reboot alarm using either
// the Amazon EC2 or CloudWatch consoles 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 API.
//
// // Example sending a request using the PutMetricAlarmRequest method.
// req := client.PutMetricAlarmRequest(params)
// resp, err := req.Send()
// if err == nil {
// fmt.Println(resp)
// }
//
// Please also see https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/PutMetricAlarm
func (c *CloudWatch) PutMetricAlarmRequest(input *PutMetricAlarmInput) PutMetricAlarmRequest {
op := &aws.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)
output.responseMetadata = aws.Response{Request: req}
return PutMetricAlarmRequest{Request: req, Input: input, Copy: c.PutMetricAlarmRequest}
}
const opPutMetricData = "PutMetricData"
// PutMetricDataRequest is a API request type for the PutMetricData API operation.
type PutMetricDataRequest struct {
*aws.Request
Input *PutMetricDataInput
Copy func(*PutMetricDataInput) PutMetricDataRequest
}
// Send marshals and sends the PutMetricData API request.
func (r PutMetricDataRequest) Send() (*PutMetricDataOutput, error) {
err := r.Request.Send()
if err != nil {
return nil, err
}
return r.Request.Data.(*PutMetricDataOutput), nil
}
// PutMetricDataRequest returns a request value for making API operation for
// Amazon CloudWatch.
//
// Publishes metric data points to Amazon CloudWatch. CloudWatch associates
// the data points with the specified metric. If the specified metric does not
// exist, CloudWatch creates the metric. When 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 40 KB in size for HTTP POST requests.
//
// Although the Value parameter accepts numbers of type Double, 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.
//
// You can use up to 10 dimensions per metric to further clarify what data the
// metric collects. For more information about specifying dimensions, see Publishing
// Metrics (http://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/publishingMetrics.html)
// in the Amazon CloudWatch User Guide.
//
// 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.
//
// CloudWatch needs raw data points to calculate percentile statistics. If you
// publish data using a statistic set instead, you can only retrieve percentile
// statistics for this data if one of the following conditions is true:
//
// * The SampleCount value of the statistic set is 1
//
// * The Min and the Max values of the statistic set are equal
//
// // Example sending a request using the PutMetricDataRequest method.
// req := client.PutMetricDataRequest(params)
// resp, err := req.Send()
// if err == nil {
// fmt.Println(resp)
// }
//
// Please also see https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/PutMetricData
func (c *CloudWatch) PutMetricDataRequest(input *PutMetricDataInput) PutMetricDataRequest {
op := &aws.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)
output.responseMetadata = aws.Response{Request: req}
return PutMetricDataRequest{Request: req, Input: input, Copy: c.PutMetricDataRequest}
}
const opSetAlarmState = "SetAlarmState"
// SetAlarmStateRequest is a API request type for the SetAlarmState API operation.
type SetAlarmStateRequest struct {
*aws.Request
Input *SetAlarmStateInput
Copy func(*SetAlarmStateInput) SetAlarmStateRequest
}
// Send marshals and sends the SetAlarmState API request.
func (r SetAlarmStateRequest) Send() (*SetAlarmStateOutput, error) {
err := r.Request.Send()
if err != nil {
return nil, err
}
return r.Request.Data.(*SetAlarmStateOutput), nil
}
// SetAlarmStateRequest returns a request value for making 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 SNS message. The alarm returns to its actual state (often
// within seconds). Because the alarm state change happens quickly, it is typically
// only visible in the alarm's History tab in the Amazon CloudWatch console
// or through DescribeAlarmHistory.
//
// // Example sending a request using the SetAlarmStateRequest method.
// req := client.SetAlarmStateRequest(params)
// resp, err := req.Send()
// if err == nil {
// fmt.Println(resp)
// }
//
// Please also see https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/SetAlarmState
func (c *CloudWatch) SetAlarmStateRequest(input *SetAlarmStateInput) SetAlarmStateRequest {
op := &aws.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)
output.responseMetadata = aws.Response{Request: req}
return SetAlarmStateRequest{Request: req, Input: input, Copy: c.SetAlarmStateRequest}
}
// 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 HistoryItemType `type:"string" enum:"true"`
// 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()
}
// Represents a specific dashboard.
// Please also see https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/DashboardEntry
type DashboardEntry struct {
_ struct{} `type:"structure"`
// The Amazon Resource Name (ARN) of the dashboard.
DashboardArn *string `type:"string"`
// The name of the dashboard.
DashboardName *string `type:"string"`
// The time stamp of when the dashboard was last modified, either by an API
// call or through the console. This number is expressed as the number of milliseconds
// since Jan 1, 1970 00:00:00 UTC.
LastModified *time.Time `type:"timestamp" timestampFormat:"iso8601"`
// The size of the dashboard, in bytes.
Size *int64 `type:"long"`
}
// String returns the string representation
func (s DashboardEntry) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s DashboardEntry) GoString() string {
return s.String()
}
// An error or warning for the operation.
// Please also see https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/DashboardValidationMessage
type DashboardValidationMessage struct {
_ struct{} `type:"structure"`
// The data path related to the message.
DataPath *string `type:"string"`
// A message describing the error or warning.
Message *string `type:"string"`
}
// String returns the string representation
func (s DashboardValidationMessage) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s DashboardValidationMessage) GoString() string {
return s.String()
}
// Encapsulates the statistical data that 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 StandardUnit `type:"string" enum:"true"`
}
// 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()
}
// 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 := aws.ErrInvalidParams{Context: "DeleteAlarmsInput"}
if s.AlarmNames == nil {
invalidParams.Add(aws.NewErrParamRequired("AlarmNames"))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// Please also see https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/DeleteAlarmsOutput
type DeleteAlarmsOutput struct {
_ struct{} `type:"structure"`
responseMetadata aws.Response
}
// 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()
}
// SDKResponseMetdata return sthe response metadata for the API.
func (s DeleteAlarmsOutput) SDKResponseMetadata() aws.Response {
return s.responseMetadata
}
// Please also see https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/DeleteDashboardsInput
type DeleteDashboardsInput struct {
_ struct{} `type:"structure"`
// The dashboards to be deleted. This parameter is required.
//
// DashboardNames is a required field
DashboardNames []string `type:"list" required:"true"`
}
// String returns the string representation
func (s DeleteDashboardsInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s DeleteDashboardsInput) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *DeleteDashboardsInput) Validate() error {
invalidParams := aws.ErrInvalidParams{Context: "DeleteDashboardsInput"}
if s.DashboardNames == nil {
invalidParams.Add(aws.NewErrParamRequired("DashboardNames"))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// Please also see https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/DeleteDashboardsOutput
type DeleteDashboardsOutput struct {
_ struct{} `type:"structure"`
responseMetadata aws.Response
}
// String returns the string representation
func (s DeleteDashboardsOutput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s DeleteDashboardsOutput) GoString() string {
return s.String()
}
// SDKResponseMetdata return sthe response metadata for the API.
func (s DeleteDashboardsOutput) SDKResponseMetadata() aws.Response {
return s.responseMetadata
}
// 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 HistoryItemType `type:"string" enum:"true"`
// 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 := aws.ErrInvalidParams{Context: "DescribeAlarmHistoryInput"}
if s.AlarmName != nil && len(*s.AlarmName) < 1 {
invalidParams.Add(aws.NewErrParamMinLen("AlarmName", 1))
}
if s.MaxRecords != nil && *s.MaxRecords < 1 {
invalidParams.Add(aws.NewErrParamMinValue("MaxRecords", 1))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// Please also see https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/DescribeAlarmHistoryOutput
type DescribeAlarmHistoryOutput struct {
_ struct{} `type:"structure"`
responseMetadata aws.Response
// 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()
}
// SDKResponseMetdata return sthe response metadata for the API.
func (s DescribeAlarmHistoryOutput) SDKResponseMetadata() aws.Response {
return s.responseMetadata
}
// 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:"1" type:"integer"`
// The statistic for the metric, other than percentiles. For percentile statistics,
// use ExtendedStatistics.
Statistic Statistic `type:"string" enum:"true"`
// The unit for the metric.
Unit StandardUnit `type:"string" enum:"true"`
}
// 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 := aws.ErrInvalidParams{Context: "DescribeAlarmsForMetricInput"}
if s.MetricName == nil {
invalidParams.Add(aws.NewErrParamRequired("MetricName"))
}
if s.MetricName != nil && len(*s.MetricName) < 1 {
invalidParams.Add(aws.NewErrParamMinLen("MetricName", 1))
}
if s.Namespace == nil {
invalidParams.Add(aws.NewErrParamRequired("Namespace"))
}
if s.Namespace != nil && len(*s.Namespace) < 1 {
invalidParams.Add(aws.NewErrParamMinLen("Namespace", 1))
}
if s.Period != nil && *s.Period < 1 {
invalidParams.Add(aws.NewErrParamMinValue("Period", 1))
}
if s.Dimensions != nil {
for i, v := range s.Dimensions {
if err := v.Validate(); err != nil {
invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Dimensions", i), err.(aws.ErrInvalidParams))
}
}
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// Please also see https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/DescribeAlarmsForMetricOutput
type DescribeAlarmsForMetricOutput struct {
_ struct{} `type:"structure"`
responseMetadata aws.Response
// 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()
}
// SDKResponseMetdata return sthe response metadata for the API.
func (s DescribeAlarmsForMetricOutput) SDKResponseMetadata() aws.Response {
return s.responseMetadata
}
// 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. If this parameter is specified, you cannot specify
// AlarmNames.
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 StateValue `type:"string" enum:"true"`
}
// 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 := aws.ErrInvalidParams{Context: "DescribeAlarmsInput"}
if s.ActionPrefix != nil && len(*s.ActionPrefix) < 1 {
invalidParams.Add(aws.NewErrParamMinLen("ActionPrefix", 1))
}
if s.AlarmNamePrefix != nil && len(*s.AlarmNamePrefix) < 1 {
invalidParams.Add(aws.NewErrParamMinLen("AlarmNamePrefix", 1))
}
if s.MaxRecords != nil && *s.MaxRecords < 1 {
invalidParams.Add(aws.NewErrParamMinValue("MaxRecords", 1))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// Please also see https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/DescribeAlarmsOutput
type DescribeAlarmsOutput struct {
_ struct{} `type:"structure"`
responseMetadata aws.Response
// 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()
}
// SDKResponseMetdata return sthe response metadata for the API.
func (s DescribeAlarmsOutput) SDKResponseMetadata() aws.Response {
return s.responseMetadata
}
// 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 := aws.ErrInvalidParams{Context: "Dimension"}
if s.Name == nil {
invalidParams.Add(aws.NewErrParamRequired("Name"))
}
if s.Name != nil && len(*s.Name) < 1 {
invalidParams.Add(aws.NewErrParamMinLen("Name", 1))
}
if s.Value == nil {
invalidParams.Add(aws.NewErrParamRequired("Value"))
}
if s.Value != nil && len(*s.Value) < 1 {
invalidParams.Add(aws.NewErrParamMinLen("Value", 1))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// 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 := aws.ErrInvalidParams{Context: "DimensionFilter"}
if s.Name == nil {
invalidParams.Add(aws.NewErrParamRequired("Name"))
}
if s.Name != nil && len(*s.Name) < 1 {
invalidParams.Add(aws.NewErrParamMinLen("Name", 1))
}
if s.Value != nil && len(*s.Value) < 1 {
invalidParams.Add(aws.NewErrParamMinLen("Value", 1))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// 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 := aws.ErrInvalidParams{Context: "DisableAlarmActionsInput"}
if s.AlarmNames == nil {
invalidParams.Add(aws.NewErrParamRequired("AlarmNames"))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// Please also see https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/DisableAlarmActionsOutput
type DisableAlarmActionsOutput struct {
_ struct{} `type:"structure"`
responseMetadata aws.Response
}
// 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()
}
// SDKResponseMetdata return sthe response metadata for the API.
func (s DisableAlarmActionsOutput) SDKResponseMetadata() aws.Response {
return s.responseMetadata
}
// 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 := aws.ErrInvalidParams{Context: "EnableAlarmActionsInput"}
if s.AlarmNames == nil {
invalidParams.Add(aws.NewErrParamRequired("AlarmNames"))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// Please also see https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/EnableAlarmActionsOutput
type EnableAlarmActionsOutput struct {
_ struct{} `type:"structure"`
responseMetadata aws.Response
}
// 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()
}
// SDKResponseMetdata return sthe response metadata for the API.
func (s EnableAlarmActionsOutput) SDKResponseMetadata() aws.Response {
return s.responseMetadata
}
// Please also see https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/GetDashboardInput
type GetDashboardInput struct {
_ struct{} `type:"structure"`
// The name of the dashboard to be described.
//
// DashboardName is a required field
DashboardName *string `type:"string" required:"true"`
}
// String returns the string representation
func (s GetDashboardInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s GetDashboardInput) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *GetDashboardInput) Validate() error {
invalidParams := aws.ErrInvalidParams{Context: "GetDashboardInput"}
if s.DashboardName == nil {
invalidParams.Add(aws.NewErrParamRequired("DashboardName"))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// Please also see https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/GetDashboardOutput
type GetDashboardOutput struct {
_ struct{} `type:"structure"`
responseMetadata aws.Response
// The Amazon Resource Name (ARN) of the dashboard.
DashboardArn *string `type:"string"`
// The detailed information about the dashboard, including what widgets are
// included and their location on the dashboard. For more information about
// the DashboardBody syntax, see CloudWatch-Dashboard-Body-Structure.
DashboardBody *string `type:"string"`
// The name of the dashboard.
DashboardName *string `type:"string"`
}
// String returns the string representation
func (s GetDashboardOutput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s GetDashboardOutput) GoString() string {
return s.String()
}
// SDKResponseMetdata return sthe response metadata for the API.
func (s GetDashboardOutput) SDKResponseMetadata() aws.Response {
return s.responseMetadata
}
// Please also see https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/GetMetricDataInput
type GetMetricDataInput struct {
_ struct{} `type:"structure"`
// The time stamp indicating the latest data to be returned.
//
// EndTime is a required field
EndTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
// The maximum number of data points the request should return before paginating.
// If you omit this, the default of 100,800 is used.
MaxDatapoints *int64 `type:"integer"`
// The metric queries to be returned. A single GetMetricData call can include
// as many as 100 MetricDataQuery structures. Each of these structures can specify
// either a metric to retrieve, or a math expression to perform on retrieved
// data.
//
// MetricDataQueries is a required field
MetricDataQueries []MetricDataQuery `type:"list" required:"true"`
// Include this value, if it was returned by the previous call, to get the next
// set of data points.
NextToken *string `type:"string"`
// The order in which data points should be returned. TimestampDescending returns
// the newest data first and paginates when the MaxDatapoints limit is reached.
// TimestampAscending returns the oldest data first and paginates when the MaxDatapoints
// limit is reached.
ScanBy ScanBy `type:"string" enum:"true"`
// The time stamp indicating the earliest data to be returned.
//
// StartTime is a required field
StartTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
}
// String returns the string representation
func (s GetMetricDataInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s GetMetricDataInput) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *GetMetricDataInput) Validate() error {
invalidParams := aws.ErrInvalidParams{Context: "GetMetricDataInput"}
if s.EndTime == nil {
invalidParams.Add(aws.NewErrParamRequired("EndTime"))
}
if s.MetricDataQueries == nil {
invalidParams.Add(aws.NewErrParamRequired("MetricDataQueries"))
}
if s.StartTime == nil {
invalidParams.Add(aws.NewErrParamRequired("StartTime"))
}
if s.MetricDataQueries != nil {
for i, v := range s.MetricDataQueries {
if err := v.Validate(); err != nil {
invalidParams.AddNested(fmt.Sprintf("%s[%v]", "MetricDataQueries", i), err.(aws.ErrInvalidParams))
}
}
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// Please also see https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/GetMetricDataOutput
type GetMetricDataOutput struct {
_ struct{} `type:"structure"`
responseMetadata aws.Response
// The metrics that are returned, including the metric name, namespace, and
// dimensions.
MetricDataResults []MetricDataResult `type:"list"`
// A token that marks the next batch of returned results.
NextToken *string `type:"string"`
}
// String returns the string representation
func (s GetMetricDataOutput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s GetMetricDataOutput) GoString() string {
return s.String()
}
// SDKResponseMetdata return sthe response metadata for the API.
func (s GetMetricDataOutput) SDKResponseMetadata() aws.Response {
return s.responseMetadata
}
// Please also see https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/GetMetricStatisticsInput
type GetMetricStatisticsInput struct {
_ struct{} `type:"structure"`
// The dimensions. If the metric contains multiple dimensions, you must include
// a value for each dimension. CloudWatch treats each unique combination of
// dimensions as a separate metric. If a specific combination of dimensions
// was not published, you can't retrieve statistics for it. 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. For more information about specifying
// dimensions, see Publishing Metrics (http://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/publishingMetrics.html)
// 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 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. When calling
// GetMetricStatistics, you must specify either Statistics or ExtendedStatistics,
// but not both.
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. For metrics with
// regular resolution, a period can be as short as one minute (60 seconds) and
// must be a multiple of 60. For high-resolution metrics that are collected
// at intervals of less than one minute, the period can be 1, 5, 10, 30, 60,
// or any multiple of 60. High-resolution metrics are those metrics stored by
// a PutMetricData call that includes a StorageResolution of 1 second.
//
// If the StartTime parameter specifies a time stamp that is greater than 3
// hours ago, you must specify the period as follows or no data points in that
// time range is returned:
//
// * Start time between 3 hours and 15 days ago - Use a multiple of 60 seconds
// (1 minute).
//
// * Start time between 15 and 63 days ago - Use a multiple of 300 seconds
// (5 minutes).
//
// * Start time greater than 63 days ago - Use a multiple of 3600 seconds
// (1 hour).
//
// Period is a required field
Period *int64 `min:"1" type:"integer" required:"true"`
// The time stamp that determines the first data point to return. 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.
//
// If you set Period to 5, 10, or 30, the start time of your request is rounded
// down to the nearest time that corresponds to even 5-, 10-, or 30-second divisions
// of a minute. For example, if you make a query at (HH:mm:ss) 01:05:23 for
// the previous 10-second period, the start time of your request is rounded
// down and you receive data from 01:05:10 to 01:05:20. If you make a query
// at 15:07:17 for the previous 5 minutes of data, using a period of 5 seconds,
// you receive data timestamped between 15:02:15 and 15:07:15.
//
// StartTime is a required field
StartTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
// The metric statistics, other than percentile. For percentile statistics,
// use ExtendedStatistics. When calling GetMetricStatistics, you must specify
// either Statistics or ExtendedStatistics, but not both.
Statistics []Statistic `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 you specify only
// a unit that the metric does not report, the results of the call are null.
Unit StandardUnit `type:"string" enum:"true"`
}
// 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 := aws.ErrInvalidParams{Context: "GetMetricStatisticsInput"}
if s.EndTime == nil {
invalidParams.Add(aws.NewErrParamRequired("EndTime"))
}
if s.ExtendedStatistics != nil && len(s.ExtendedStatistics) < 1 {
invalidParams.Add(aws.NewErrParamMinLen("ExtendedStatistics", 1))
}
if s.MetricName == nil {
invalidParams.Add(aws.NewErrParamRequired("MetricName"))
}
if s.MetricName != nil && len(*s.MetricName) < 1 {
invalidParams.Add(aws.NewErrParamMinLen("MetricName", 1))
}
if s.Namespace == nil {
invalidParams.Add(aws.NewErrParamRequired("Namespace"))
}
if s.Namespace != nil && len(*s.Namespace) < 1 {
invalidParams.Add(aws.NewErrParamMinLen("Namespace", 1))
}
if s.Period == nil {
invalidParams.Add(aws.NewErrParamRequired("Period"))
}
if s.Period != nil && *s.Period < 1 {
invalidParams.Add(aws.NewErrParamMinValue("Period", 1))
}
if s.StartTime == nil {
invalidParams.Add(aws.NewErrParamRequired("StartTime"))
}
if s.Statistics != nil && len(s.Statistics) < 1 {
invalidParams.Add(aws.NewErrParamMinLen("Statistics", 1))
}
if s.Dimensions != nil {
for i, v := range s.Dimensions {
if err := v.Validate(); err != nil {
invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Dimensions", i), err.(aws.ErrInvalidParams))
}
}
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// Please also see https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/GetMetricStatisticsOutput
type GetMetricStatisticsOutput struct {
_ struct{} `type:"structure"`
responseMetadata aws.Response
// 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()
}
// SDKResponseMetdata return sthe response metadata for the API.
func (s GetMetricStatisticsOutput) SDKResponseMetadata() aws.Response {
return s.responseMetadata
}
// Please also see https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/ListDashboardsInput
type ListDashboardsInput struct {
_ struct{} `type:"structure"`
// If you specify this parameter, only the dashboards with names starting with
// the specified string are listed. The maximum length is 255, and valid characters
// are A-Z, a-z, 0-9, ".", "-", and "_".
DashboardNamePrefix *string `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 ListDashboardsInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s ListDashboardsInput) GoString() string {
return s.String()
}
// Please also see https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/ListDashboardsOutput
type ListDashboardsOutput struct {
_ struct{} `type:"structure"`
responseMetadata aws.Response
// The list of matching dashboards.
DashboardEntries []DashboardEntry `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 ListDashboardsOutput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s ListDashboardsOutput) GoString() string {
return s.String()
}
// SDKResponseMetdata return sthe response metadata for the API.
func (s ListDashboardsOutput) SDKResponseMetadata() aws.Response {
return s.responseMetadata
}
// 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 := aws.ErrInvalidParams{Context: "ListMetricsInput"}
if s.MetricName != nil && len(*s.MetricName) < 1 {
invalidParams.Add(aws.NewErrParamMinLen("MetricName", 1))
}
if s.Namespace != nil && len(*s.Namespace) < 1 {
invalidParams.Add(aws.NewErrParamMinLen("Namespace", 1))
}
if s.Dimensions != nil {
for i, v := range s.Dimensions {
if err := v.Validate(); err != nil {
invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Dimensions", i), err.(aws.ErrInvalidParams))
}
}
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// Please also see https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/ListMetricsOutput
type ListMetricsOutput struct {
_ struct{} `type:"structure"`
responseMetadata aws.Response
// 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()
}
// SDKResponseMetdata return sthe response metadata for the API.
func (s ListMetricsOutput) SDKResponseMetadata() aws.Response {
return s.responseMetadata
}
// A message returned by the GetMetricDataAPI, including a code and a description.
// Please also see https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/MessageData
type MessageData struct {
_ struct{} `type:"structure"`
// The error code or status code associated with the message.
Code *string `type:"string"`
// The message text.
Value *string `type:"string"`
}
// String returns the string representation
func (s MessageData) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s MessageData) GoString() string {
return s.String()
}
// 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()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *Metric) Validate() error {
invalidParams := aws.ErrInvalidParams{Context: "Metric"}
if s.MetricName != nil && len(*s.MetricName) < 1 {
invalidParams.Add(aws.NewErrParamMinLen("MetricName", 1))
}
if s.Namespace != nil && len(*s.Namespace) < 1 {
invalidParams.Add(aws.NewErrParamMinLen("Namespace", 1))
}
if s.Dimensions != nil {
for i, v := range s.Dimensions {
if err := v.Validate(); err != nil {
invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Dimensions", i), err.(aws.ErrInvalidParams))
}
}
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// 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 ComparisonOperator `type:"string" enum:"true"`
// The number of datapoints that must be breaching to trigger the alarm.
DatapointsToAlarm *int64 `min:"1" type:"integer"`
// The dimensions for the metric associated with the alarm.
Dimensions []Dimension `type:"list"`
// Used only for alarms based on percentiles. If ignore, the alarm state does
// not change during periods with too few data points to be statistically significant.
// If evaluate or this parameter is not used, the alarm is always evaluated
// and possibly changes state no matter how many data points are available.
EvaluateLowSampleCountPercentile *string `min:"1" type:"string"`
// 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:"1" 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 StateValue `type:"string" enum:"true"`
// The statistic for the metric associated with the alarm, other than percentile.
// For percentile statistics, use ExtendedStatistic.
Statistic Statistic `type:"string" enum:"true"`
// The value to compare with the specified statistic.
Threshold *float64 `type:"double"`
// Sets how this alarm is to handle missing data points. If this parameter is
// omitted, the default behavior of missing is used.
TreatMissingData *string `min:"1" type:"string"`
// The unit of the metric associated with the alarm.
Unit StandardUnit `type:"string" enum:"true"`
}
// 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()
}
// This structure indicates the metric data to return, and whether this call
// is just retrieving a batch set of data for one metric, or is performing a
// math expression on metric data. A single GetMetricData call can include up
// to 100 MetricDataQuery structures.
// Please also see https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/MetricDataQuery
type MetricDataQuery struct {
_ struct{} `type:"structure"`
// The math expression to be performed on the returned data, if this structure
// is performing a math expression. For more information about metric math expressions,
// see Metric Math Syntax and Functions (http://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/using-metric-math.html#metric-math-syntax)
// in the Amazon CloudWatch User Guide.
//
// Within one MetricDataQuery structure, you must specify either Expression
// or MetricStat but not both.
Expression *string `min:"1" type:"string"`
// A short name used to tie this structure to the results in the response. This
// name must be unique within a single call to GetMetricData. If you are performing
// math expressions on this set of data, this name represents that data and
// can serve as a variable in the mathematical expression. The valid characters
// are letters, numbers, and underscore. The first character must be a lowercase
// letter.
//
// Id is a required field
Id *string `min:"1" type:"string" required:"true"`
// A human-readable label for this metric or expression. This is especially
// useful if this is an expression, so that you know what the value represents.
// If the metric or expression is shown in a CloudWatch dashboard widget, the
// label is shown. If Label is omitted, CloudWatch generates a default.
Label *string `type:"string"`
// The metric to be returned, along with statistics, period, and units. Use
// this parameter only if this structure is performing a data retrieval and
// not performing a math expression on the returned data.
//
// Within one MetricDataQuery structure, you must specify either Expression
// or MetricStat but not both.
MetricStat *MetricStat `type:"structure"`
// Indicates whether to return the time stamps and raw data values of this metric.
// If you are performing this call just to do math expressions and do not also
// need the raw data returned, you can specify False. If you omit this, the
// default of True is used.
ReturnData *bool `type:"boolean"`
}
// String returns the string representation
func (s MetricDataQuery) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s MetricDataQuery) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *MetricDataQuery) Validate() error {
invalidParams := aws.ErrInvalidParams{Context: "MetricDataQuery"}
if s.Expression != nil && len(*s.Expression) < 1 {
invalidParams.Add(aws.NewErrParamMinLen("Expression", 1))
}
if s.Id == nil {
invalidParams.Add(aws.NewErrParamRequired("Id"))
}
if s.Id != nil && len(*s.Id) < 1 {
invalidParams.Add(aws.NewErrParamMinLen("Id", 1))
}
if s.MetricStat != nil {
if err := s.MetricStat.Validate(); err != nil {
invalidParams.AddNested("MetricStat", err.(aws.ErrInvalidParams))
}
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// A GetMetricData call returns an array of MetricDataResult structures. Each
// of these structures includes the data points for that metric, along with
// the time stamps of those data points and other identifying information.
// Please also see https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/MetricDataResult
type MetricDataResult struct {
_ struct{} `type:"structure"`
// The short name you specified to represent this metric.
Id *string `min:"1" type:"string"`
// The human-readable label associated with the data.
Label *string `type:"string"`
// A list of messages with additional information about the data returned.
Messages []MessageData `type:"list"`
// The status of the returned data. Complete indicates that all data points
// in the requested time range were returned. PartialData means that an incomplete
// set of data points were returned. You can use the NextToken value that was
// returned and repeat your request to get more data points. NextToken is not
// returned if you are performing a math expression. InternalError indicates
// that an error occurred. Retry your request using NextToken, if present.
StatusCode StatusCode `type:"string" enum:"true"`
// The time stamps for the data points, formatted in Unix timestamp format.
// The number of time stamps always matches the number of values and the value
// for Timestamps[x] is Values[x].
Timestamps []time.Time `type:"list"`
// The data points for the metric corresponding to Timestamps. The number of
// values always matches the number of time stamps and the time stamp for Values[x]
// is Timestamps[x].
Values []float64 `type:"list"`
}
// String returns the string representation
func (s MetricDataResult) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s MetricDataResult) GoString() string {
return s.String()
}
// 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"`
// Valid values are 1 and 60. Setting this to 1 specifies this metric as a high-resolution
// metric, so that CloudWatch stores the metric with sub-minute resolution down
// to one second. Setting this to 60 specifies this metric as a regular-resolution
// metric, which CloudWatch stores at 1-minute resolution. Currently, high resolution
// is available only for custom metrics. For more information about high-resolution
// metrics, see High-Resolution Metrics (http://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/publishingMetrics.html#high-resolution-metrics)
// in the Amazon CloudWatch User Guide.
//
// This field is optional, if you do not specify it the default of 60 is used.
StorageResolution *int64 `min:"1" type:"integer"`
// 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 StandardUnit `type:"string" enum:"true"`
// The value for the metric.
//
// Although the parameter accepts numbers of type Double, CloudWatch rejects
// values that are either too small or too large. Values must be in the range
// of 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 := aws.ErrInvalidParams{Context: "MetricDatum"}
if s.MetricName == nil {
invalidParams.Add(aws.NewErrParamRequired("MetricName"))
}
if s.MetricName != nil && len(*s.MetricName) < 1 {
invalidParams.Add(aws.NewErrParamMinLen("MetricName", 1))
}
if s.StorageResolution != nil && *s.StorageResolution < 1 {
invalidParams.Add(aws.NewErrParamMinValue("StorageResolution", 1))
}
if s.Dimensions != nil {
for i, v := range s.Dimensions {
if err := v.Validate(); err != nil {
invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Dimensions", i), err.(aws.ErrInvalidParams))
}
}
}
if s.StatisticValues != nil {
if err := s.StatisticValues.Validate(); err != nil {
invalidParams.AddNested("StatisticValues", err.(aws.ErrInvalidParams))
}
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// This structure defines the metric to be returned, along with the statistics,
// period, and units.
// Please also see https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/MetricStat
type MetricStat struct {
_ struct{} `type:"structure"`
// The metric to return, including the metric name, namespace, and dimensions.
//
// Metric is a required field
Metric *Metric `type:"structure" required:"true"`
// The period to use when retrieving the metric.
//
// Period is a required field
Period *int64 `min:"1" type:"integer" required:"true"`
// The statistic to return. It can include any CloudWatch statistic or extended
// statistic.
//
// Stat is a required field
Stat *string `type:"string" required:"true"`
// The unit to use for the returned data points.
Unit StandardUnit `type:"string" enum:"true"`
}
// String returns the string representation
func (s MetricStat) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s MetricStat) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *MetricStat) Validate() error {
invalidParams := aws.ErrInvalidParams{Context: "MetricStat"}
if s.Metric == nil {
invalidParams.Add(aws.NewErrParamRequired("Metric"))
}
if s.Period == nil {
invalidParams.Add(aws.NewErrParamRequired("Period"))
}
if s.Period != nil && *s.Period < 1 {
invalidParams.Add(aws.NewErrParamMinValue("Period", 1))
}
if s.Stat == nil {
invalidParams.Add(aws.NewErrParamRequired("Stat"))
}
if s.Metric != nil {
if err := s.Metric.Validate(); err != nil {
invalidParams.AddNested("Metric", err.(aws.ErrInvalidParams))
}
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// Please also see https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/PutDashboardInput
type PutDashboardInput struct {
_ struct{} `type:"structure"`
// The detailed information about the dashboard in JSON format, including the
// widgets to include and their location on the dashboard. This parameter is
// required.
//
// For more information about the syntax, see CloudWatch-Dashboard-Body-Structure.
//
// DashboardBody is a required field
DashboardBody *string `type:"string" required:"true"`
// The name of the dashboard. If a dashboard with this name already exists,
// this call modifies that dashboard, replacing its current contents. Otherwise,
// a new dashboard is created. The maximum length is 255, and valid characters
// are A-Z, a-z, 0-9, "-", and "_". This parameter is required.
//
// DashboardName is a required field
DashboardName *string `type:"string" required:"true"`
}
// String returns the string representation
func (s PutDashboardInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s PutDashboardInput) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *PutDashboardInput) Validate() error {
invalidParams := aws.ErrInvalidParams{Context: "PutDashboardInput"}
if s.DashboardBody == nil {
invalidParams.Add(aws.NewErrParamRequired("DashboardBody"))
}
if s.DashboardName == nil {
invalidParams.Add(aws.NewErrParamRequired("DashboardName"))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// Please also see https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/PutDashboardOutput
type PutDashboardOutput struct {
_ struct{} `type:"structure"`
responseMetadata aws.Response
// If the input for PutDashboard was correct and the dashboard was successfully
// created or modified, this result is empty.
//
// If this result includes only warning messages, then the input was valid enough
// for the dashboard to be created or modified, but some elements of the dashboard
// may not render.
//
// If this result includes error messages, the input was not valid and the operation
// failed.
DashboardValidationMessages []DashboardValidationMessage `type:"list"`
}
// String returns the string representation
func (s PutDashboardOutput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s PutDashboardOutput) GoString() string {
return s.String()
}
// SDKResponseMetdata return sthe response metadata for the API.
func (s PutDashboardOutput) SDKResponseMetadata() aws.Response {
return s.responseMetadata
}
// 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 | arn:aws:sns:region:account-id:sns-topic-name
// | arn:aws:autoscaling:region:account-id:scalingPolicy:policy-id autoScalingGroupName/group-friendly-name:policyName/policy-friendly-name
//
// Valid Values (for use with IAM roles): arn:aws:swf:region:{account-id}:action/actions/AWS_EC2.InstanceId.Stop/1.0
// | arn:aws:swf:region:{account-id}:action/actions/AWS_EC2.InstanceId.Terminate/1.0
// | arn:aws:swf:region:{account-id}: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 ComparisonOperator `type:"string" required:"true" enum:"true"`
// The number of datapoints that must be breaching to trigger the alarm. This
// is used only if you are setting an "M out of N" alarm. In that case, this
// value is the M. For more information, see Evaluating an Alarm (http://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html#alarm-evaluation)
// in the Amazon CloudWatch User Guide.
DatapointsToAlarm *int64 `min:"1" type:"integer"`
// The dimensions for the metric associated with the alarm.
Dimensions []Dimension `type:"list"`
// Used only for alarms based on percentiles. If you specify ignore, the alarm
// state does not change during periods with too few data points to be statistically
// significant. If you specify evaluate or omit this parameter, the alarm is
// always evaluated and possibly changes state no matter how many data points
// are available. For more information, see Percentile-Based CloudWatch Alarms
// and Low Data Samples (http://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html#percentiles-with-low-samples).
//
// Valid Values: evaluate | ignore
EvaluateLowSampleCountPercentile *string `min:"1" type:"string"`
// The number of periods over which data is compared to the specified threshold.
// If you are setting an alarm which requires that a number of consecutive data
// points be breaching to trigger the alarm, this value specifies that number.
// If you are setting an "M out of N" alarm, this value is the N.
//
// An alarm's total current evaluation period can be no longer than one day,
// so this number multiplied by Period cannot be more than 86,400 seconds.
//
// 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. When you call PutMetricAlarm, you must specify
// either Statistic or ExtendedStatistic, but not both.
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 | arn:aws:sns:region:account-id:sns-topic-name
// | arn:aws:autoscaling:region:account-id:scalingPolicy:policy-id autoScalingGroupName/group-friendly-name:policyName/policy-friendly-name
//
// Valid Values (for use with IAM roles): arn:aws:swf:region:{account-id}:action/actions/AWS_EC2.InstanceId.Stop/1.0
// | arn:aws:swf:region:{account-id}:action/actions/AWS_EC2.InstanceId.Terminate/1.0
// | arn:aws:swf:region:{account-id}: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 | arn:aws:sns:region:account-id:sns-topic-name
// | arn:aws:autoscaling:region:account-id:scalingPolicy:policy-id autoScalingGroupName/group-friendly-name:policyName/policy-friendly-name
//
// Valid Values (for use with IAM roles): arn:aws:swf:region:{account-id}:action/actions/AWS_EC2.InstanceId.Stop/1.0
// | arn:aws:swf:region:{account-id}:action/actions/AWS_EC2.InstanceId.Terminate/1.0
// | arn:aws:swf:region:{account-id}:action/actions/AWS_EC2.InstanceId.Reboot/1.0
OKActions []string `type:"list"`
// The period, in seconds, over which the specified statistic is applied. Valid
// values are 10, 30, and any multiple of 60.
//
// Be sure to specify 10 or 30 only for metrics that are stored by a PutMetricData
// call with a StorageResolution of 1. If you specify a period of 10 or 30 for
// a metric that does not have sub-minute resolution, the alarm still attempts
// to gather data at the period rate that you specify. In this case, it does
// not receive data for the attempts that do not correspond to a one-minute
// data resolution, and the alarm may often lapse into INSUFFICENT_DATA status.
// Specifying 10 or 30 also sets this alarm as a high-resolution alarm, which
// has a higher charge than other alarms. For more information about pricing,
// see Amazon CloudWatch Pricing (https://aws.amazon.com/cloudwatch/pricing/).
//
// An alarm's total current evaluation period can be no longer than one day,
// so Period multiplied by EvaluationPeriods cannot be more than 86,400 seconds.
//
// Period is a required field
Period *int64 `min:"1" type:"integer" required:"true"`
// The statistic for the metric associated with the alarm, other than percentile.
// For percentile statistics, use ExtendedStatistic. When you call PutMetricAlarm,
// you must specify either Statistic or ExtendedStatistic, but not both.
Statistic Statistic `type:"string" enum:"true"`
// The value against which the specified statistic is compared.
//
// Threshold is a required field
Threshold *float64 `type:"double" required:"true"`
// Sets how this alarm is to handle missing data points. If TreatMissingData
// is omitted, the default behavior of missing is used. For more information,
// see Configuring How CloudWatch Alarms Treats Missing Data (http://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html#alarms-and-missing-data).
//
// Valid Values: breaching | notBreaching | ignore | missing
TreatMissingData *string `min:"1" type:"string"`
// 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 CloudWatch alarm can get stuck in the INSUFFICIENT DATA state.
Unit StandardUnit `type:"string" enum:"true"`
}
// 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 := aws.ErrInvalidParams{Context: "PutMetricAlarmInput"}
if s.AlarmName == nil {
invalidParams.Add(aws.NewErrParamRequired("AlarmName"))
}
if s.AlarmName != nil && len(*s.AlarmName) < 1 {
invalidParams.Add(aws.NewErrParamMinLen("AlarmName", 1))
}
if len(s.ComparisonOperator) == 0 {
invalidParams.Add(aws.NewErrParamRequired("ComparisonOperator"))
}
if s.DatapointsToAlarm != nil && *s.DatapointsToAlarm < 1 {
invalidParams.Add(aws.NewErrParamMinValue("DatapointsToAlarm", 1))
}
if s.EvaluateLowSampleCountPercentile != nil && len(*s.EvaluateLowSampleCountPercentile) < 1 {
invalidParams.Add(aws.NewErrParamMinLen("EvaluateLowSampleCountPercentile", 1))
}
if s.EvaluationPeriods == nil {
invalidParams.Add(aws.NewErrParamRequired("EvaluationPeriods"))
}
if s.EvaluationPeriods != nil && *s.EvaluationPeriods < 1 {
invalidParams.Add(aws.NewErrParamMinValue("EvaluationPeriods", 1))
}
if s.MetricName == nil {
invalidParams.Add(aws.NewErrParamRequired("MetricName"))
}
if s.MetricName != nil && len(*s.MetricName) < 1 {
invalidParams.Add(aws.NewErrParamMinLen("MetricName", 1))
}
if s.Namespace == nil {
invalidParams.Add(aws.NewErrParamRequired("Namespace"))
}
if s.Namespace != nil && len(*s.Namespace) < 1 {
invalidParams.Add(aws.NewErrParamMinLen("Namespace", 1))
}
if s.Period == nil {
invalidParams.Add(aws.NewErrParamRequired("Period"))
}
if s.Period != nil && *s.Period < 1 {
invalidParams.Add(aws.NewErrParamMinValue("Period", 1))
}
if s.Threshold == nil {
invalidParams.Add(aws.NewErrParamRequired("Threshold"))
}
if s.TreatMissingData != nil && len(*s.TreatMissingData) < 1 {
invalidParams.Add(aws.NewErrParamMinLen("TreatMissingData", 1))
}
if s.Dimensions != nil {
for i, v := range s.Dimensions {
if err := v.Validate(); err != nil {
invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Dimensions", i), err.(aws.ErrInvalidParams))
}
}
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// Please also see https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/PutMetricAlarmOutput
type PutMetricAlarmOutput struct {
_ struct{} `type:"structure"`
responseMetadata aws.Response
}
// 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()
}
// SDKResponseMetdata return sthe response metadata for the API.
func (s PutMetricAlarmOutput) SDKResponseMetadata() aws.Response {
return s.responseMetadata
}
// 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 := aws.ErrInvalidParams{Context: "PutMetricDataInput"}
if s.MetricData == nil {
invalidParams.Add(aws.NewErrParamRequired("MetricData"))
}
if s.Namespace == nil {
invalidParams.Add(aws.NewErrParamRequired("Namespace"))
}
if s.Namespace != nil && len(*s.Namespace) < 1 {
invalidParams.Add(aws.NewErrParamMinLen("Namespace", 1))
}
if s.MetricData != nil {
for i, v := range s.MetricData {
if err := v.Validate(); err != nil {
invalidParams.AddNested(fmt.Sprintf("%s[%v]", "MetricData", i), err.(aws.ErrInvalidParams))
}
}
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// Please also see https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/PutMetricDataOutput
type PutMetricDataOutput struct {
_ struct{} `type:"structure"`
responseMetadata aws.Response
}
// 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()
}
// SDKResponseMetdata return sthe response metadata for the API.
func (s PutMetricDataOutput) SDKResponseMetadata() aws.Response {
return s.responseMetadata
}
// 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 StateValue `type:"string" required:"true" enum:"true"`
}
// 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 := aws.ErrInvalidParams{Context: "SetAlarmStateInput"}
if s.AlarmName == nil {
invalidParams.Add(aws.NewErrParamRequired("AlarmName"))
}
if s.AlarmName != nil && len(*s.AlarmName) < 1 {
invalidParams.Add(aws.NewErrParamMinLen("AlarmName", 1))
}
if s.StateReason == nil {
invalidParams.Add(aws.NewErrParamRequired("StateReason"))
}
if len(s.StateValue) == 0 {
invalidParams.Add(aws.NewErrParamRequired("StateValue"))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// Please also see https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/SetAlarmStateOutput
type SetAlarmStateOutput struct {
_ struct{} `type:"structure"`
responseMetadata aws.Response
}
// 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()
}
// SDKResponseMetdata return sthe response metadata for the API.
func (s SetAlarmStateOutput) SDKResponseMetadata() aws.Response {
return s.responseMetadata
}
// 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 := aws.ErrInvalidParams{Context: "StatisticSet"}
if s.Maximum == nil {
invalidParams.Add(aws.NewErrParamRequired("Maximum"))
}
if s.Minimum == nil {
invalidParams.Add(aws.NewErrParamRequired("Minimum"))
}
if s.SampleCount == nil {
invalidParams.Add(aws.NewErrParamRequired("SampleCount"))
}
if s.Sum == nil {
invalidParams.Add(aws.NewErrParamRequired("Sum"))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
type ComparisonOperator string
// Enum values for ComparisonOperator
const (
ComparisonOperatorGreaterThanOrEqualToThreshold ComparisonOperator = "GreaterThanOrEqualToThreshold"
ComparisonOperatorGreaterThanThreshold ComparisonOperator = "GreaterThanThreshold"
ComparisonOperatorLessThanThreshold ComparisonOperator = "LessThanThreshold"
ComparisonOperatorLessThanOrEqualToThreshold ComparisonOperator = "LessThanOrEqualToThreshold"
)
func (enum ComparisonOperator) MarshalValue() (string, error) {
return string(enum), nil
}
func (enum ComparisonOperator) MarshalValueBuf(b []byte) ([]byte, error) {
b = b[0:0]
return append(b, enum...), nil
}
type HistoryItemType string
// Enum values for HistoryItemType
const (
HistoryItemTypeConfigurationUpdate HistoryItemType = "ConfigurationUpdate"
HistoryItemTypeStateUpdate HistoryItemType = "StateUpdate"
HistoryItemTypeAction HistoryItemType = "Action"
)
func (enum HistoryItemType) MarshalValue() (string, error) {
return string(enum), nil
}
func (enum HistoryItemType) MarshalValueBuf(b []byte) ([]byte, error) {
b = b[0:0]
return append(b, enum...), nil
}
type ScanBy string
// Enum values for ScanBy
const (
ScanByTimestampDescending ScanBy = "TimestampDescending"
ScanByTimestampAscending ScanBy = "TimestampAscending"
)
func (enum ScanBy) MarshalValue() (string, error) {
return string(enum), nil
}
func (enum ScanBy) MarshalValueBuf(b []byte) ([]byte, error) {
b = b[0:0]
return append(b, enum...), nil
}
type StandardUnit string
// Enum values for StandardUnit
const (
StandardUnitSeconds StandardUnit = "Seconds"
StandardUnitMicroseconds StandardUnit = "Microseconds"
StandardUnitMilliseconds StandardUnit = "Milliseconds"
StandardUnitBytes StandardUnit = "Bytes"
StandardUnitKilobytes StandardUnit = "Kilobytes"
StandardUnitMegabytes StandardUnit = "Megabytes"
StandardUnitGigabytes StandardUnit = "Gigabytes"
StandardUnitTerabytes StandardUnit = "Terabytes"
StandardUnitBits StandardUnit = "Bits"
StandardUnitKilobits StandardUnit = "Kilobits"
StandardUnitMegabits StandardUnit = "Megabits"
StandardUnitGigabits StandardUnit = "Gigabits"
StandardUnitTerabits StandardUnit = "Terabits"
StandardUnitPercent StandardUnit = "Percent"
StandardUnitCount StandardUnit = "Count"
StandardUnitBytesSecond StandardUnit = "Bytes/Second"
StandardUnitKilobytesSecond StandardUnit = "Kilobytes/Second"
StandardUnitMegabytesSecond StandardUnit = "Megabytes/Second"
StandardUnitGigabytesSecond StandardUnit = "Gigabytes/Second"
StandardUnitTerabytesSecond StandardUnit = "Terabytes/Second"
StandardUnitBitsSecond StandardUnit = "Bits/Second"
StandardUnitKilobitsSecond StandardUnit = "Kilobits/Second"
StandardUnitMegabitsSecond StandardUnit = "Megabits/Second"
StandardUnitGigabitsSecond StandardUnit = "Gigabits/Second"
StandardUnitTerabitsSecond StandardUnit = "Terabits/Second"
StandardUnitCountSecond StandardUnit = "Count/Second"
StandardUnitNone StandardUnit = "None"
)
func (enum StandardUnit) MarshalValue() (string, error) {
return string(enum), nil
}
func (enum StandardUnit) MarshalValueBuf(b []byte) ([]byte, error) {
b = b[0:0]
return append(b, enum...), nil
}
type StateValue string
// Enum values for StateValue
const (
StateValueOk StateValue = "OK"
StateValueAlarm StateValue = "ALARM"
StateValueInsufficientData StateValue = "INSUFFICIENT_DATA"
)
func (enum StateValue) MarshalValue() (string, error) {
return string(enum), nil
}
func (enum StateValue) MarshalValueBuf(b []byte) ([]byte, error) {
b = b[0:0]
return append(b, enum...), nil
}
type Statistic string
// Enum values for Statistic
const (
StatisticSampleCount Statistic = "SampleCount"
StatisticAverage Statistic = "Average"
StatisticSum Statistic = "Sum"
StatisticMinimum Statistic = "Minimum"
StatisticMaximum Statistic = "Maximum"
)
func (enum Statistic) MarshalValue() (string, error) {
return string(enum), nil
}
func (enum Statistic) MarshalValueBuf(b []byte) ([]byte, error) {
b = b[0:0]
return append(b, enum...), nil
}
type StatusCode string
// Enum values for StatusCode
const (
StatusCodeComplete StatusCode = "Complete"
StatusCodeInternalError StatusCode = "InternalError"
StatusCodePartialData StatusCode = "PartialData"
)
func (enum StatusCode) MarshalValue() (string, error) {
return string(enum), nil
}
func (enum StatusCode) MarshalValueBuf(b []byte) ([]byte, error) {
b = b[0:0]
return append(b, enum...), nil
}