// 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 }