1// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. 2 3package cloudwatch 4 5import ( 6 "fmt" 7 "time" 8 9 "github.com/aws/aws-sdk-go/aws" 10 "github.com/aws/aws-sdk-go/aws/awsutil" 11 "github.com/aws/aws-sdk-go/aws/request" 12 "github.com/aws/aws-sdk-go/private/protocol" 13 "github.com/aws/aws-sdk-go/private/protocol/query" 14) 15 16const opDeleteAlarms = "DeleteAlarms" 17 18// DeleteAlarmsRequest generates a "aws/request.Request" representing the 19// client's request for the DeleteAlarms operation. The "output" return 20// value will be populated with the request's response once the request completes 21// successfully. 22// 23// Use "Send" method on the returned Request to send the API call to the service. 24// the "output" return value is not valid until after Send returns without error. 25// 26// See DeleteAlarms for more information on using the DeleteAlarms 27// API call, and error handling. 28// 29// This method is useful when you want to inject custom logic or configuration 30// into the SDK's request lifecycle. Such as custom headers, or retry logic. 31// 32// 33// // Example sending a request using the DeleteAlarmsRequest method. 34// req, resp := client.DeleteAlarmsRequest(params) 35// 36// err := req.Send() 37// if err == nil { // resp is now filled 38// fmt.Println(resp) 39// } 40// 41// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/DeleteAlarms 42func (c *CloudWatch) DeleteAlarmsRequest(input *DeleteAlarmsInput) (req *request.Request, output *DeleteAlarmsOutput) { 43 op := &request.Operation{ 44 Name: opDeleteAlarms, 45 HTTPMethod: "POST", 46 HTTPPath: "/", 47 } 48 49 if input == nil { 50 input = &DeleteAlarmsInput{} 51 } 52 53 output = &DeleteAlarmsOutput{} 54 req = c.newRequest(op, input, output) 55 req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 56 return 57} 58 59// DeleteAlarms API operation for Amazon CloudWatch. 60// 61// Deletes the specified alarms. You can delete up to 100 alarms in one operation. 62// However, this total can include no more than one composite alarm. For example, 63// you could delete 99 metric alarms and one composite alarms with one operation, 64// but you can't delete two composite alarms with one operation. 65// 66// In the event of an error, no alarms are deleted. 67// 68// It is possible to create a loop or cycle of composite alarms, where composite 69// alarm A depends on composite alarm B, and composite alarm B also depends 70// on composite alarm A. In this scenario, you can't delete any composite alarm 71// that is part of the cycle because there is always still a composite alarm 72// that depends on that alarm that you want to delete. 73// 74// To get out of such a situation, you must break the cycle by changing the 75// rule of one of the composite alarms in the cycle to remove a dependency that 76// creates the cycle. The simplest change to make to break a cycle is to change 77// the AlarmRule of one of the alarms to False. 78// 79// Additionally, the evaluation of composite alarms stops if CloudWatch detects 80// a cycle in the evaluation path. 81// 82// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 83// with awserr.Error's Code and Message methods to get detailed information about 84// the error. 85// 86// See the AWS API reference guide for Amazon CloudWatch's 87// API operation DeleteAlarms for usage and error information. 88// 89// Returned Error Codes: 90// * ErrCodeResourceNotFound "ResourceNotFound" 91// The named resource does not exist. 92// 93// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/DeleteAlarms 94func (c *CloudWatch) DeleteAlarms(input *DeleteAlarmsInput) (*DeleteAlarmsOutput, error) { 95 req, out := c.DeleteAlarmsRequest(input) 96 return out, req.Send() 97} 98 99// DeleteAlarmsWithContext is the same as DeleteAlarms with the addition of 100// the ability to pass a context and additional request options. 101// 102// See DeleteAlarms for details on how to use this API operation. 103// 104// The context must be non-nil and will be used for request cancellation. If 105// the context is nil a panic will occur. In the future the SDK may create 106// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 107// for more information on using Contexts. 108func (c *CloudWatch) DeleteAlarmsWithContext(ctx aws.Context, input *DeleteAlarmsInput, opts ...request.Option) (*DeleteAlarmsOutput, error) { 109 req, out := c.DeleteAlarmsRequest(input) 110 req.SetContext(ctx) 111 req.ApplyOptions(opts...) 112 return out, req.Send() 113} 114 115const opDeleteAnomalyDetector = "DeleteAnomalyDetector" 116 117// DeleteAnomalyDetectorRequest generates a "aws/request.Request" representing the 118// client's request for the DeleteAnomalyDetector operation. The "output" return 119// value will be populated with the request's response once the request completes 120// successfully. 121// 122// Use "Send" method on the returned Request to send the API call to the service. 123// the "output" return value is not valid until after Send returns without error. 124// 125// See DeleteAnomalyDetector for more information on using the DeleteAnomalyDetector 126// API call, and error handling. 127// 128// This method is useful when you want to inject custom logic or configuration 129// into the SDK's request lifecycle. Such as custom headers, or retry logic. 130// 131// 132// // Example sending a request using the DeleteAnomalyDetectorRequest method. 133// req, resp := client.DeleteAnomalyDetectorRequest(params) 134// 135// err := req.Send() 136// if err == nil { // resp is now filled 137// fmt.Println(resp) 138// } 139// 140// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/DeleteAnomalyDetector 141func (c *CloudWatch) DeleteAnomalyDetectorRequest(input *DeleteAnomalyDetectorInput) (req *request.Request, output *DeleteAnomalyDetectorOutput) { 142 op := &request.Operation{ 143 Name: opDeleteAnomalyDetector, 144 HTTPMethod: "POST", 145 HTTPPath: "/", 146 } 147 148 if input == nil { 149 input = &DeleteAnomalyDetectorInput{} 150 } 151 152 output = &DeleteAnomalyDetectorOutput{} 153 req = c.newRequest(op, input, output) 154 req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 155 return 156} 157 158// DeleteAnomalyDetector API operation for Amazon CloudWatch. 159// 160// Deletes the specified anomaly detection model from your account. 161// 162// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 163// with awserr.Error's Code and Message methods to get detailed information about 164// the error. 165// 166// See the AWS API reference guide for Amazon CloudWatch's 167// API operation DeleteAnomalyDetector for usage and error information. 168// 169// Returned Error Codes: 170// * ErrCodeResourceNotFoundException "ResourceNotFoundException" 171// The named resource does not exist. 172// 173// * ErrCodeInternalServiceFault "InternalServiceError" 174// Request processing has failed due to some unknown error, exception, or failure. 175// 176// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 177// The value of an input parameter is bad or out-of-range. 178// 179// * ErrCodeMissingRequiredParameterException "MissingParameter" 180// An input parameter that is required is missing. 181// 182// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/DeleteAnomalyDetector 183func (c *CloudWatch) DeleteAnomalyDetector(input *DeleteAnomalyDetectorInput) (*DeleteAnomalyDetectorOutput, error) { 184 req, out := c.DeleteAnomalyDetectorRequest(input) 185 return out, req.Send() 186} 187 188// DeleteAnomalyDetectorWithContext is the same as DeleteAnomalyDetector with the addition of 189// the ability to pass a context and additional request options. 190// 191// See DeleteAnomalyDetector for details on how to use this API operation. 192// 193// The context must be non-nil and will be used for request cancellation. If 194// the context is nil a panic will occur. In the future the SDK may create 195// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 196// for more information on using Contexts. 197func (c *CloudWatch) DeleteAnomalyDetectorWithContext(ctx aws.Context, input *DeleteAnomalyDetectorInput, opts ...request.Option) (*DeleteAnomalyDetectorOutput, error) { 198 req, out := c.DeleteAnomalyDetectorRequest(input) 199 req.SetContext(ctx) 200 req.ApplyOptions(opts...) 201 return out, req.Send() 202} 203 204const opDeleteDashboards = "DeleteDashboards" 205 206// DeleteDashboardsRequest generates a "aws/request.Request" representing the 207// client's request for the DeleteDashboards operation. The "output" return 208// value will be populated with the request's response once the request completes 209// successfully. 210// 211// Use "Send" method on the returned Request to send the API call to the service. 212// the "output" return value is not valid until after Send returns without error. 213// 214// See DeleteDashboards for more information on using the DeleteDashboards 215// API call, and error handling. 216// 217// This method is useful when you want to inject custom logic or configuration 218// into the SDK's request lifecycle. Such as custom headers, or retry logic. 219// 220// 221// // Example sending a request using the DeleteDashboardsRequest method. 222// req, resp := client.DeleteDashboardsRequest(params) 223// 224// err := req.Send() 225// if err == nil { // resp is now filled 226// fmt.Println(resp) 227// } 228// 229// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/DeleteDashboards 230func (c *CloudWatch) DeleteDashboardsRequest(input *DeleteDashboardsInput) (req *request.Request, output *DeleteDashboardsOutput) { 231 op := &request.Operation{ 232 Name: opDeleteDashboards, 233 HTTPMethod: "POST", 234 HTTPPath: "/", 235 } 236 237 if input == nil { 238 input = &DeleteDashboardsInput{} 239 } 240 241 output = &DeleteDashboardsOutput{} 242 req = c.newRequest(op, input, output) 243 req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 244 return 245} 246 247// DeleteDashboards API operation for Amazon CloudWatch. 248// 249// Deletes all dashboards that you specify. You can specify up to 100 dashboards 250// to delete. If there is an error during this call, no dashboards are deleted. 251// 252// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 253// with awserr.Error's Code and Message methods to get detailed information about 254// the error. 255// 256// See the AWS API reference guide for Amazon CloudWatch's 257// API operation DeleteDashboards for usage and error information. 258// 259// Returned Error Codes: 260// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 261// The value of an input parameter is bad or out-of-range. 262// 263// * ErrCodeDashboardNotFoundError "ResourceNotFound" 264// The specified dashboard does not exist. 265// 266// * ErrCodeInternalServiceFault "InternalServiceError" 267// Request processing has failed due to some unknown error, exception, or failure. 268// 269// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/DeleteDashboards 270func (c *CloudWatch) DeleteDashboards(input *DeleteDashboardsInput) (*DeleteDashboardsOutput, error) { 271 req, out := c.DeleteDashboardsRequest(input) 272 return out, req.Send() 273} 274 275// DeleteDashboardsWithContext is the same as DeleteDashboards with the addition of 276// the ability to pass a context and additional request options. 277// 278// See DeleteDashboards for details on how to use this API operation. 279// 280// The context must be non-nil and will be used for request cancellation. If 281// the context is nil a panic will occur. In the future the SDK may create 282// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 283// for more information on using Contexts. 284func (c *CloudWatch) DeleteDashboardsWithContext(ctx aws.Context, input *DeleteDashboardsInput, opts ...request.Option) (*DeleteDashboardsOutput, error) { 285 req, out := c.DeleteDashboardsRequest(input) 286 req.SetContext(ctx) 287 req.ApplyOptions(opts...) 288 return out, req.Send() 289} 290 291const opDeleteInsightRules = "DeleteInsightRules" 292 293// DeleteInsightRulesRequest generates a "aws/request.Request" representing the 294// client's request for the DeleteInsightRules operation. The "output" return 295// value will be populated with the request's response once the request completes 296// successfully. 297// 298// Use "Send" method on the returned Request to send the API call to the service. 299// the "output" return value is not valid until after Send returns without error. 300// 301// See DeleteInsightRules for more information on using the DeleteInsightRules 302// API call, and error handling. 303// 304// This method is useful when you want to inject custom logic or configuration 305// into the SDK's request lifecycle. Such as custom headers, or retry logic. 306// 307// 308// // Example sending a request using the DeleteInsightRulesRequest method. 309// req, resp := client.DeleteInsightRulesRequest(params) 310// 311// err := req.Send() 312// if err == nil { // resp is now filled 313// fmt.Println(resp) 314// } 315// 316// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/DeleteInsightRules 317func (c *CloudWatch) DeleteInsightRulesRequest(input *DeleteInsightRulesInput) (req *request.Request, output *DeleteInsightRulesOutput) { 318 op := &request.Operation{ 319 Name: opDeleteInsightRules, 320 HTTPMethod: "POST", 321 HTTPPath: "/", 322 } 323 324 if input == nil { 325 input = &DeleteInsightRulesInput{} 326 } 327 328 output = &DeleteInsightRulesOutput{} 329 req = c.newRequest(op, input, output) 330 return 331} 332 333// DeleteInsightRules API operation for Amazon CloudWatch. 334// 335// Permanently deletes the specified Contributor Insights rules. 336// 337// If you create a rule, delete it, and then re-create it with the same name, 338// historical data from the first time the rule was created might not be available. 339// 340// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 341// with awserr.Error's Code and Message methods to get detailed information about 342// the error. 343// 344// See the AWS API reference guide for Amazon CloudWatch's 345// API operation DeleteInsightRules for usage and error information. 346// 347// Returned Error Codes: 348// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 349// The value of an input parameter is bad or out-of-range. 350// 351// * ErrCodeMissingRequiredParameterException "MissingParameter" 352// An input parameter that is required is missing. 353// 354// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/DeleteInsightRules 355func (c *CloudWatch) DeleteInsightRules(input *DeleteInsightRulesInput) (*DeleteInsightRulesOutput, error) { 356 req, out := c.DeleteInsightRulesRequest(input) 357 return out, req.Send() 358} 359 360// DeleteInsightRulesWithContext is the same as DeleteInsightRules with the addition of 361// the ability to pass a context and additional request options. 362// 363// See DeleteInsightRules for details on how to use this API operation. 364// 365// The context must be non-nil and will be used for request cancellation. If 366// the context is nil a panic will occur. In the future the SDK may create 367// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 368// for more information on using Contexts. 369func (c *CloudWatch) DeleteInsightRulesWithContext(ctx aws.Context, input *DeleteInsightRulesInput, opts ...request.Option) (*DeleteInsightRulesOutput, error) { 370 req, out := c.DeleteInsightRulesRequest(input) 371 req.SetContext(ctx) 372 req.ApplyOptions(opts...) 373 return out, req.Send() 374} 375 376const opDeleteMetricStream = "DeleteMetricStream" 377 378// DeleteMetricStreamRequest generates a "aws/request.Request" representing the 379// client's request for the DeleteMetricStream operation. The "output" return 380// value will be populated with the request's response once the request completes 381// successfully. 382// 383// Use "Send" method on the returned Request to send the API call to the service. 384// the "output" return value is not valid until after Send returns without error. 385// 386// See DeleteMetricStream for more information on using the DeleteMetricStream 387// API call, and error handling. 388// 389// This method is useful when you want to inject custom logic or configuration 390// into the SDK's request lifecycle. Such as custom headers, or retry logic. 391// 392// 393// // Example sending a request using the DeleteMetricStreamRequest method. 394// req, resp := client.DeleteMetricStreamRequest(params) 395// 396// err := req.Send() 397// if err == nil { // resp is now filled 398// fmt.Println(resp) 399// } 400// 401// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/DeleteMetricStream 402func (c *CloudWatch) DeleteMetricStreamRequest(input *DeleteMetricStreamInput) (req *request.Request, output *DeleteMetricStreamOutput) { 403 op := &request.Operation{ 404 Name: opDeleteMetricStream, 405 HTTPMethod: "POST", 406 HTTPPath: "/", 407 } 408 409 if input == nil { 410 input = &DeleteMetricStreamInput{} 411 } 412 413 output = &DeleteMetricStreamOutput{} 414 req = c.newRequest(op, input, output) 415 req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 416 return 417} 418 419// DeleteMetricStream API operation for Amazon CloudWatch. 420// 421// Permanently deletes the metric stream that you specify. 422// 423// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 424// with awserr.Error's Code and Message methods to get detailed information about 425// the error. 426// 427// See the AWS API reference guide for Amazon CloudWatch's 428// API operation DeleteMetricStream for usage and error information. 429// 430// Returned Error Codes: 431// * ErrCodeInternalServiceFault "InternalServiceError" 432// Request processing has failed due to some unknown error, exception, or failure. 433// 434// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 435// The value of an input parameter is bad or out-of-range. 436// 437// * ErrCodeMissingRequiredParameterException "MissingParameter" 438// An input parameter that is required is missing. 439// 440// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/DeleteMetricStream 441func (c *CloudWatch) DeleteMetricStream(input *DeleteMetricStreamInput) (*DeleteMetricStreamOutput, error) { 442 req, out := c.DeleteMetricStreamRequest(input) 443 return out, req.Send() 444} 445 446// DeleteMetricStreamWithContext is the same as DeleteMetricStream with the addition of 447// the ability to pass a context and additional request options. 448// 449// See DeleteMetricStream for details on how to use this API operation. 450// 451// The context must be non-nil and will be used for request cancellation. If 452// the context is nil a panic will occur. In the future the SDK may create 453// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 454// for more information on using Contexts. 455func (c *CloudWatch) DeleteMetricStreamWithContext(ctx aws.Context, input *DeleteMetricStreamInput, opts ...request.Option) (*DeleteMetricStreamOutput, error) { 456 req, out := c.DeleteMetricStreamRequest(input) 457 req.SetContext(ctx) 458 req.ApplyOptions(opts...) 459 return out, req.Send() 460} 461 462const opDescribeAlarmHistory = "DescribeAlarmHistory" 463 464// DescribeAlarmHistoryRequest generates a "aws/request.Request" representing the 465// client's request for the DescribeAlarmHistory operation. The "output" return 466// value will be populated with the request's response once the request completes 467// successfully. 468// 469// Use "Send" method on the returned Request to send the API call to the service. 470// the "output" return value is not valid until after Send returns without error. 471// 472// See DescribeAlarmHistory for more information on using the DescribeAlarmHistory 473// API call, and error handling. 474// 475// This method is useful when you want to inject custom logic or configuration 476// into the SDK's request lifecycle. Such as custom headers, or retry logic. 477// 478// 479// // Example sending a request using the DescribeAlarmHistoryRequest method. 480// req, resp := client.DescribeAlarmHistoryRequest(params) 481// 482// err := req.Send() 483// if err == nil { // resp is now filled 484// fmt.Println(resp) 485// } 486// 487// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/DescribeAlarmHistory 488func (c *CloudWatch) DescribeAlarmHistoryRequest(input *DescribeAlarmHistoryInput) (req *request.Request, output *DescribeAlarmHistoryOutput) { 489 op := &request.Operation{ 490 Name: opDescribeAlarmHistory, 491 HTTPMethod: "POST", 492 HTTPPath: "/", 493 Paginator: &request.Paginator{ 494 InputTokens: []string{"NextToken"}, 495 OutputTokens: []string{"NextToken"}, 496 LimitToken: "MaxRecords", 497 TruncationToken: "", 498 }, 499 } 500 501 if input == nil { 502 input = &DescribeAlarmHistoryInput{} 503 } 504 505 output = &DescribeAlarmHistoryOutput{} 506 req = c.newRequest(op, input, output) 507 return 508} 509 510// DescribeAlarmHistory API operation for Amazon CloudWatch. 511// 512// Retrieves the history for the specified alarm. You can filter the results 513// by date range or item type. If an alarm name is not specified, the histories 514// for either all metric alarms or all composite alarms are returned. 515// 516// CloudWatch retains the history of an alarm even if you delete the alarm. 517// 518// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 519// with awserr.Error's Code and Message methods to get detailed information about 520// the error. 521// 522// See the AWS API reference guide for Amazon CloudWatch's 523// API operation DescribeAlarmHistory for usage and error information. 524// 525// Returned Error Codes: 526// * ErrCodeInvalidNextToken "InvalidNextToken" 527// The next token specified is invalid. 528// 529// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/DescribeAlarmHistory 530func (c *CloudWatch) DescribeAlarmHistory(input *DescribeAlarmHistoryInput) (*DescribeAlarmHistoryOutput, error) { 531 req, out := c.DescribeAlarmHistoryRequest(input) 532 return out, req.Send() 533} 534 535// DescribeAlarmHistoryWithContext is the same as DescribeAlarmHistory with the addition of 536// the ability to pass a context and additional request options. 537// 538// See DescribeAlarmHistory for details on how to use this API operation. 539// 540// The context must be non-nil and will be used for request cancellation. If 541// the context is nil a panic will occur. In the future the SDK may create 542// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 543// for more information on using Contexts. 544func (c *CloudWatch) DescribeAlarmHistoryWithContext(ctx aws.Context, input *DescribeAlarmHistoryInput, opts ...request.Option) (*DescribeAlarmHistoryOutput, error) { 545 req, out := c.DescribeAlarmHistoryRequest(input) 546 req.SetContext(ctx) 547 req.ApplyOptions(opts...) 548 return out, req.Send() 549} 550 551// DescribeAlarmHistoryPages iterates over the pages of a DescribeAlarmHistory operation, 552// calling the "fn" function with the response data for each page. To stop 553// iterating, return false from the fn function. 554// 555// See DescribeAlarmHistory method for more information on how to use this operation. 556// 557// Note: This operation can generate multiple requests to a service. 558// 559// // Example iterating over at most 3 pages of a DescribeAlarmHistory operation. 560// pageNum := 0 561// err := client.DescribeAlarmHistoryPages(params, 562// func(page *cloudwatch.DescribeAlarmHistoryOutput, lastPage bool) bool { 563// pageNum++ 564// fmt.Println(page) 565// return pageNum <= 3 566// }) 567// 568func (c *CloudWatch) DescribeAlarmHistoryPages(input *DescribeAlarmHistoryInput, fn func(*DescribeAlarmHistoryOutput, bool) bool) error { 569 return c.DescribeAlarmHistoryPagesWithContext(aws.BackgroundContext(), input, fn) 570} 571 572// DescribeAlarmHistoryPagesWithContext same as DescribeAlarmHistoryPages except 573// it takes a Context and allows setting request options on the pages. 574// 575// The context must be non-nil and will be used for request cancellation. If 576// the context is nil a panic will occur. In the future the SDK may create 577// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 578// for more information on using Contexts. 579func (c *CloudWatch) DescribeAlarmHistoryPagesWithContext(ctx aws.Context, input *DescribeAlarmHistoryInput, fn func(*DescribeAlarmHistoryOutput, bool) bool, opts ...request.Option) error { 580 p := request.Pagination{ 581 NewRequest: func() (*request.Request, error) { 582 var inCpy *DescribeAlarmHistoryInput 583 if input != nil { 584 tmp := *input 585 inCpy = &tmp 586 } 587 req, _ := c.DescribeAlarmHistoryRequest(inCpy) 588 req.SetContext(ctx) 589 req.ApplyOptions(opts...) 590 return req, nil 591 }, 592 } 593 594 for p.Next() { 595 if !fn(p.Page().(*DescribeAlarmHistoryOutput), !p.HasNextPage()) { 596 break 597 } 598 } 599 600 return p.Err() 601} 602 603const opDescribeAlarms = "DescribeAlarms" 604 605// DescribeAlarmsRequest generates a "aws/request.Request" representing the 606// client's request for the DescribeAlarms operation. The "output" return 607// value will be populated with the request's response once the request completes 608// successfully. 609// 610// Use "Send" method on the returned Request to send the API call to the service. 611// the "output" return value is not valid until after Send returns without error. 612// 613// See DescribeAlarms for more information on using the DescribeAlarms 614// API call, and error handling. 615// 616// This method is useful when you want to inject custom logic or configuration 617// into the SDK's request lifecycle. Such as custom headers, or retry logic. 618// 619// 620// // Example sending a request using the DescribeAlarmsRequest method. 621// req, resp := client.DescribeAlarmsRequest(params) 622// 623// err := req.Send() 624// if err == nil { // resp is now filled 625// fmt.Println(resp) 626// } 627// 628// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/DescribeAlarms 629func (c *CloudWatch) DescribeAlarmsRequest(input *DescribeAlarmsInput) (req *request.Request, output *DescribeAlarmsOutput) { 630 op := &request.Operation{ 631 Name: opDescribeAlarms, 632 HTTPMethod: "POST", 633 HTTPPath: "/", 634 Paginator: &request.Paginator{ 635 InputTokens: []string{"NextToken"}, 636 OutputTokens: []string{"NextToken"}, 637 LimitToken: "MaxRecords", 638 TruncationToken: "", 639 }, 640 } 641 642 if input == nil { 643 input = &DescribeAlarmsInput{} 644 } 645 646 output = &DescribeAlarmsOutput{} 647 req = c.newRequest(op, input, output) 648 return 649} 650 651// DescribeAlarms API operation for Amazon CloudWatch. 652// 653// Retrieves the specified alarms. You can filter the results by specifying 654// a prefix for the alarm name, the alarm state, or a prefix for any action. 655// 656// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 657// with awserr.Error's Code and Message methods to get detailed information about 658// the error. 659// 660// See the AWS API reference guide for Amazon CloudWatch's 661// API operation DescribeAlarms for usage and error information. 662// 663// Returned Error Codes: 664// * ErrCodeInvalidNextToken "InvalidNextToken" 665// The next token specified is invalid. 666// 667// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/DescribeAlarms 668func (c *CloudWatch) DescribeAlarms(input *DescribeAlarmsInput) (*DescribeAlarmsOutput, error) { 669 req, out := c.DescribeAlarmsRequest(input) 670 return out, req.Send() 671} 672 673// DescribeAlarmsWithContext is the same as DescribeAlarms with the addition of 674// the ability to pass a context and additional request options. 675// 676// See DescribeAlarms for details on how to use this API operation. 677// 678// The context must be non-nil and will be used for request cancellation. If 679// the context is nil a panic will occur. In the future the SDK may create 680// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 681// for more information on using Contexts. 682func (c *CloudWatch) DescribeAlarmsWithContext(ctx aws.Context, input *DescribeAlarmsInput, opts ...request.Option) (*DescribeAlarmsOutput, error) { 683 req, out := c.DescribeAlarmsRequest(input) 684 req.SetContext(ctx) 685 req.ApplyOptions(opts...) 686 return out, req.Send() 687} 688 689// DescribeAlarmsPages iterates over the pages of a DescribeAlarms operation, 690// calling the "fn" function with the response data for each page. To stop 691// iterating, return false from the fn function. 692// 693// See DescribeAlarms method for more information on how to use this operation. 694// 695// Note: This operation can generate multiple requests to a service. 696// 697// // Example iterating over at most 3 pages of a DescribeAlarms operation. 698// pageNum := 0 699// err := client.DescribeAlarmsPages(params, 700// func(page *cloudwatch.DescribeAlarmsOutput, lastPage bool) bool { 701// pageNum++ 702// fmt.Println(page) 703// return pageNum <= 3 704// }) 705// 706func (c *CloudWatch) DescribeAlarmsPages(input *DescribeAlarmsInput, fn func(*DescribeAlarmsOutput, bool) bool) error { 707 return c.DescribeAlarmsPagesWithContext(aws.BackgroundContext(), input, fn) 708} 709 710// DescribeAlarmsPagesWithContext same as DescribeAlarmsPages except 711// it takes a Context and allows setting request options on the pages. 712// 713// The context must be non-nil and will be used for request cancellation. If 714// the context is nil a panic will occur. In the future the SDK may create 715// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 716// for more information on using Contexts. 717func (c *CloudWatch) DescribeAlarmsPagesWithContext(ctx aws.Context, input *DescribeAlarmsInput, fn func(*DescribeAlarmsOutput, bool) bool, opts ...request.Option) error { 718 p := request.Pagination{ 719 NewRequest: func() (*request.Request, error) { 720 var inCpy *DescribeAlarmsInput 721 if input != nil { 722 tmp := *input 723 inCpy = &tmp 724 } 725 req, _ := c.DescribeAlarmsRequest(inCpy) 726 req.SetContext(ctx) 727 req.ApplyOptions(opts...) 728 return req, nil 729 }, 730 } 731 732 for p.Next() { 733 if !fn(p.Page().(*DescribeAlarmsOutput), !p.HasNextPage()) { 734 break 735 } 736 } 737 738 return p.Err() 739} 740 741const opDescribeAlarmsForMetric = "DescribeAlarmsForMetric" 742 743// DescribeAlarmsForMetricRequest generates a "aws/request.Request" representing the 744// client's request for the DescribeAlarmsForMetric operation. The "output" return 745// value will be populated with the request's response once the request completes 746// successfully. 747// 748// Use "Send" method on the returned Request to send the API call to the service. 749// the "output" return value is not valid until after Send returns without error. 750// 751// See DescribeAlarmsForMetric for more information on using the DescribeAlarmsForMetric 752// API call, and error handling. 753// 754// This method is useful when you want to inject custom logic or configuration 755// into the SDK's request lifecycle. Such as custom headers, or retry logic. 756// 757// 758// // Example sending a request using the DescribeAlarmsForMetricRequest method. 759// req, resp := client.DescribeAlarmsForMetricRequest(params) 760// 761// err := req.Send() 762// if err == nil { // resp is now filled 763// fmt.Println(resp) 764// } 765// 766// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/DescribeAlarmsForMetric 767func (c *CloudWatch) DescribeAlarmsForMetricRequest(input *DescribeAlarmsForMetricInput) (req *request.Request, output *DescribeAlarmsForMetricOutput) { 768 op := &request.Operation{ 769 Name: opDescribeAlarmsForMetric, 770 HTTPMethod: "POST", 771 HTTPPath: "/", 772 } 773 774 if input == nil { 775 input = &DescribeAlarmsForMetricInput{} 776 } 777 778 output = &DescribeAlarmsForMetricOutput{} 779 req = c.newRequest(op, input, output) 780 return 781} 782 783// DescribeAlarmsForMetric API operation for Amazon CloudWatch. 784// 785// Retrieves the alarms for the specified metric. To filter the results, specify 786// a statistic, period, or unit. 787// 788// This operation retrieves only standard alarms that are based on the specified 789// metric. It does not return alarms based on math expressions that use the 790// specified metric, or composite alarms that use the specified metric. 791// 792// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 793// with awserr.Error's Code and Message methods to get detailed information about 794// the error. 795// 796// See the AWS API reference guide for Amazon CloudWatch's 797// API operation DescribeAlarmsForMetric for usage and error information. 798// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/DescribeAlarmsForMetric 799func (c *CloudWatch) DescribeAlarmsForMetric(input *DescribeAlarmsForMetricInput) (*DescribeAlarmsForMetricOutput, error) { 800 req, out := c.DescribeAlarmsForMetricRequest(input) 801 return out, req.Send() 802} 803 804// DescribeAlarmsForMetricWithContext is the same as DescribeAlarmsForMetric with the addition of 805// the ability to pass a context and additional request options. 806// 807// See DescribeAlarmsForMetric for details on how to use this API operation. 808// 809// The context must be non-nil and will be used for request cancellation. If 810// the context is nil a panic will occur. In the future the SDK may create 811// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 812// for more information on using Contexts. 813func (c *CloudWatch) DescribeAlarmsForMetricWithContext(ctx aws.Context, input *DescribeAlarmsForMetricInput, opts ...request.Option) (*DescribeAlarmsForMetricOutput, error) { 814 req, out := c.DescribeAlarmsForMetricRequest(input) 815 req.SetContext(ctx) 816 req.ApplyOptions(opts...) 817 return out, req.Send() 818} 819 820const opDescribeAnomalyDetectors = "DescribeAnomalyDetectors" 821 822// DescribeAnomalyDetectorsRequest generates a "aws/request.Request" representing the 823// client's request for the DescribeAnomalyDetectors operation. The "output" return 824// value will be populated with the request's response once the request completes 825// successfully. 826// 827// Use "Send" method on the returned Request to send the API call to the service. 828// the "output" return value is not valid until after Send returns without error. 829// 830// See DescribeAnomalyDetectors for more information on using the DescribeAnomalyDetectors 831// API call, and error handling. 832// 833// This method is useful when you want to inject custom logic or configuration 834// into the SDK's request lifecycle. Such as custom headers, or retry logic. 835// 836// 837// // Example sending a request using the DescribeAnomalyDetectorsRequest method. 838// req, resp := client.DescribeAnomalyDetectorsRequest(params) 839// 840// err := req.Send() 841// if err == nil { // resp is now filled 842// fmt.Println(resp) 843// } 844// 845// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/DescribeAnomalyDetectors 846func (c *CloudWatch) DescribeAnomalyDetectorsRequest(input *DescribeAnomalyDetectorsInput) (req *request.Request, output *DescribeAnomalyDetectorsOutput) { 847 op := &request.Operation{ 848 Name: opDescribeAnomalyDetectors, 849 HTTPMethod: "POST", 850 HTTPPath: "/", 851 } 852 853 if input == nil { 854 input = &DescribeAnomalyDetectorsInput{} 855 } 856 857 output = &DescribeAnomalyDetectorsOutput{} 858 req = c.newRequest(op, input, output) 859 return 860} 861 862// DescribeAnomalyDetectors API operation for Amazon CloudWatch. 863// 864// Lists the anomaly detection models that you have created in your account. 865// You can list all models in your account or filter the results to only the 866// models that are related to a certain namespace, metric name, or metric dimension. 867// 868// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 869// with awserr.Error's Code and Message methods to get detailed information about 870// the error. 871// 872// See the AWS API reference guide for Amazon CloudWatch's 873// API operation DescribeAnomalyDetectors for usage and error information. 874// 875// Returned Error Codes: 876// * ErrCodeInvalidNextToken "InvalidNextToken" 877// The next token specified is invalid. 878// 879// * ErrCodeInternalServiceFault "InternalServiceError" 880// Request processing has failed due to some unknown error, exception, or failure. 881// 882// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 883// The value of an input parameter is bad or out-of-range. 884// 885// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/DescribeAnomalyDetectors 886func (c *CloudWatch) DescribeAnomalyDetectors(input *DescribeAnomalyDetectorsInput) (*DescribeAnomalyDetectorsOutput, error) { 887 req, out := c.DescribeAnomalyDetectorsRequest(input) 888 return out, req.Send() 889} 890 891// DescribeAnomalyDetectorsWithContext is the same as DescribeAnomalyDetectors with the addition of 892// the ability to pass a context and additional request options. 893// 894// See DescribeAnomalyDetectors for details on how to use this API operation. 895// 896// The context must be non-nil and will be used for request cancellation. If 897// the context is nil a panic will occur. In the future the SDK may create 898// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 899// for more information on using Contexts. 900func (c *CloudWatch) DescribeAnomalyDetectorsWithContext(ctx aws.Context, input *DescribeAnomalyDetectorsInput, opts ...request.Option) (*DescribeAnomalyDetectorsOutput, error) { 901 req, out := c.DescribeAnomalyDetectorsRequest(input) 902 req.SetContext(ctx) 903 req.ApplyOptions(opts...) 904 return out, req.Send() 905} 906 907const opDescribeInsightRules = "DescribeInsightRules" 908 909// DescribeInsightRulesRequest generates a "aws/request.Request" representing the 910// client's request for the DescribeInsightRules operation. The "output" return 911// value will be populated with the request's response once the request completes 912// successfully. 913// 914// Use "Send" method on the returned Request to send the API call to the service. 915// the "output" return value is not valid until after Send returns without error. 916// 917// See DescribeInsightRules for more information on using the DescribeInsightRules 918// API call, and error handling. 919// 920// This method is useful when you want to inject custom logic or configuration 921// into the SDK's request lifecycle. Such as custom headers, or retry logic. 922// 923// 924// // Example sending a request using the DescribeInsightRulesRequest method. 925// req, resp := client.DescribeInsightRulesRequest(params) 926// 927// err := req.Send() 928// if err == nil { // resp is now filled 929// fmt.Println(resp) 930// } 931// 932// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/DescribeInsightRules 933func (c *CloudWatch) DescribeInsightRulesRequest(input *DescribeInsightRulesInput) (req *request.Request, output *DescribeInsightRulesOutput) { 934 op := &request.Operation{ 935 Name: opDescribeInsightRules, 936 HTTPMethod: "POST", 937 HTTPPath: "/", 938 Paginator: &request.Paginator{ 939 InputTokens: []string{"NextToken"}, 940 OutputTokens: []string{"NextToken"}, 941 LimitToken: "MaxResults", 942 TruncationToken: "", 943 }, 944 } 945 946 if input == nil { 947 input = &DescribeInsightRulesInput{} 948 } 949 950 output = &DescribeInsightRulesOutput{} 951 req = c.newRequest(op, input, output) 952 return 953} 954 955// DescribeInsightRules API operation for Amazon CloudWatch. 956// 957// Returns a list of all the Contributor Insights rules in your account. 958// 959// For more information about Contributor Insights, see Using Contributor Insights 960// to Analyze High-Cardinality Data (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/ContributorInsights.html). 961// 962// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 963// with awserr.Error's Code and Message methods to get detailed information about 964// the error. 965// 966// See the AWS API reference guide for Amazon CloudWatch's 967// API operation DescribeInsightRules for usage and error information. 968// 969// Returned Error Codes: 970// * ErrCodeInvalidNextToken "InvalidNextToken" 971// The next token specified is invalid. 972// 973// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/DescribeInsightRules 974func (c *CloudWatch) DescribeInsightRules(input *DescribeInsightRulesInput) (*DescribeInsightRulesOutput, error) { 975 req, out := c.DescribeInsightRulesRequest(input) 976 return out, req.Send() 977} 978 979// DescribeInsightRulesWithContext is the same as DescribeInsightRules with the addition of 980// the ability to pass a context and additional request options. 981// 982// See DescribeInsightRules for details on how to use this API operation. 983// 984// The context must be non-nil and will be used for request cancellation. If 985// the context is nil a panic will occur. In the future the SDK may create 986// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 987// for more information on using Contexts. 988func (c *CloudWatch) DescribeInsightRulesWithContext(ctx aws.Context, input *DescribeInsightRulesInput, opts ...request.Option) (*DescribeInsightRulesOutput, error) { 989 req, out := c.DescribeInsightRulesRequest(input) 990 req.SetContext(ctx) 991 req.ApplyOptions(opts...) 992 return out, req.Send() 993} 994 995// DescribeInsightRulesPages iterates over the pages of a DescribeInsightRules operation, 996// calling the "fn" function with the response data for each page. To stop 997// iterating, return false from the fn function. 998// 999// See DescribeInsightRules method for more information on how to use this operation. 1000// 1001// Note: This operation can generate multiple requests to a service. 1002// 1003// // Example iterating over at most 3 pages of a DescribeInsightRules operation. 1004// pageNum := 0 1005// err := client.DescribeInsightRulesPages(params, 1006// func(page *cloudwatch.DescribeInsightRulesOutput, lastPage bool) bool { 1007// pageNum++ 1008// fmt.Println(page) 1009// return pageNum <= 3 1010// }) 1011// 1012func (c *CloudWatch) DescribeInsightRulesPages(input *DescribeInsightRulesInput, fn func(*DescribeInsightRulesOutput, bool) bool) error { 1013 return c.DescribeInsightRulesPagesWithContext(aws.BackgroundContext(), input, fn) 1014} 1015 1016// DescribeInsightRulesPagesWithContext same as DescribeInsightRulesPages except 1017// it takes a Context and allows setting request options on the pages. 1018// 1019// The context must be non-nil and will be used for request cancellation. If 1020// the context is nil a panic will occur. In the future the SDK may create 1021// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1022// for more information on using Contexts. 1023func (c *CloudWatch) DescribeInsightRulesPagesWithContext(ctx aws.Context, input *DescribeInsightRulesInput, fn func(*DescribeInsightRulesOutput, bool) bool, opts ...request.Option) error { 1024 p := request.Pagination{ 1025 NewRequest: func() (*request.Request, error) { 1026 var inCpy *DescribeInsightRulesInput 1027 if input != nil { 1028 tmp := *input 1029 inCpy = &tmp 1030 } 1031 req, _ := c.DescribeInsightRulesRequest(inCpy) 1032 req.SetContext(ctx) 1033 req.ApplyOptions(opts...) 1034 return req, nil 1035 }, 1036 } 1037 1038 for p.Next() { 1039 if !fn(p.Page().(*DescribeInsightRulesOutput), !p.HasNextPage()) { 1040 break 1041 } 1042 } 1043 1044 return p.Err() 1045} 1046 1047const opDisableAlarmActions = "DisableAlarmActions" 1048 1049// DisableAlarmActionsRequest generates a "aws/request.Request" representing the 1050// client's request for the DisableAlarmActions operation. The "output" return 1051// value will be populated with the request's response once the request completes 1052// successfully. 1053// 1054// Use "Send" method on the returned Request to send the API call to the service. 1055// the "output" return value is not valid until after Send returns without error. 1056// 1057// See DisableAlarmActions for more information on using the DisableAlarmActions 1058// API call, and error handling. 1059// 1060// This method is useful when you want to inject custom logic or configuration 1061// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1062// 1063// 1064// // Example sending a request using the DisableAlarmActionsRequest method. 1065// req, resp := client.DisableAlarmActionsRequest(params) 1066// 1067// err := req.Send() 1068// if err == nil { // resp is now filled 1069// fmt.Println(resp) 1070// } 1071// 1072// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/DisableAlarmActions 1073func (c *CloudWatch) DisableAlarmActionsRequest(input *DisableAlarmActionsInput) (req *request.Request, output *DisableAlarmActionsOutput) { 1074 op := &request.Operation{ 1075 Name: opDisableAlarmActions, 1076 HTTPMethod: "POST", 1077 HTTPPath: "/", 1078 } 1079 1080 if input == nil { 1081 input = &DisableAlarmActionsInput{} 1082 } 1083 1084 output = &DisableAlarmActionsOutput{} 1085 req = c.newRequest(op, input, output) 1086 req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 1087 return 1088} 1089 1090// DisableAlarmActions API operation for Amazon CloudWatch. 1091// 1092// Disables the actions for the specified alarms. When an alarm's actions are 1093// disabled, the alarm actions do not execute when the alarm state changes. 1094// 1095// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1096// with awserr.Error's Code and Message methods to get detailed information about 1097// the error. 1098// 1099// See the AWS API reference guide for Amazon CloudWatch's 1100// API operation DisableAlarmActions for usage and error information. 1101// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/DisableAlarmActions 1102func (c *CloudWatch) DisableAlarmActions(input *DisableAlarmActionsInput) (*DisableAlarmActionsOutput, error) { 1103 req, out := c.DisableAlarmActionsRequest(input) 1104 return out, req.Send() 1105} 1106 1107// DisableAlarmActionsWithContext is the same as DisableAlarmActions with the addition of 1108// the ability to pass a context and additional request options. 1109// 1110// See DisableAlarmActions for details on how to use this API operation. 1111// 1112// The context must be non-nil and will be used for request cancellation. If 1113// the context is nil a panic will occur. In the future the SDK may create 1114// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1115// for more information on using Contexts. 1116func (c *CloudWatch) DisableAlarmActionsWithContext(ctx aws.Context, input *DisableAlarmActionsInput, opts ...request.Option) (*DisableAlarmActionsOutput, error) { 1117 req, out := c.DisableAlarmActionsRequest(input) 1118 req.SetContext(ctx) 1119 req.ApplyOptions(opts...) 1120 return out, req.Send() 1121} 1122 1123const opDisableInsightRules = "DisableInsightRules" 1124 1125// DisableInsightRulesRequest generates a "aws/request.Request" representing the 1126// client's request for the DisableInsightRules operation. The "output" return 1127// value will be populated with the request's response once the request completes 1128// successfully. 1129// 1130// Use "Send" method on the returned Request to send the API call to the service. 1131// the "output" return value is not valid until after Send returns without error. 1132// 1133// See DisableInsightRules for more information on using the DisableInsightRules 1134// API call, and error handling. 1135// 1136// This method is useful when you want to inject custom logic or configuration 1137// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1138// 1139// 1140// // Example sending a request using the DisableInsightRulesRequest method. 1141// req, resp := client.DisableInsightRulesRequest(params) 1142// 1143// err := req.Send() 1144// if err == nil { // resp is now filled 1145// fmt.Println(resp) 1146// } 1147// 1148// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/DisableInsightRules 1149func (c *CloudWatch) DisableInsightRulesRequest(input *DisableInsightRulesInput) (req *request.Request, output *DisableInsightRulesOutput) { 1150 op := &request.Operation{ 1151 Name: opDisableInsightRules, 1152 HTTPMethod: "POST", 1153 HTTPPath: "/", 1154 } 1155 1156 if input == nil { 1157 input = &DisableInsightRulesInput{} 1158 } 1159 1160 output = &DisableInsightRulesOutput{} 1161 req = c.newRequest(op, input, output) 1162 return 1163} 1164 1165// DisableInsightRules API operation for Amazon CloudWatch. 1166// 1167// Disables the specified Contributor Insights rules. When rules are disabled, 1168// they do not analyze log groups and do not incur costs. 1169// 1170// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1171// with awserr.Error's Code and Message methods to get detailed information about 1172// the error. 1173// 1174// See the AWS API reference guide for Amazon CloudWatch's 1175// API operation DisableInsightRules for usage and error information. 1176// 1177// Returned Error Codes: 1178// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 1179// The value of an input parameter is bad or out-of-range. 1180// 1181// * ErrCodeMissingRequiredParameterException "MissingParameter" 1182// An input parameter that is required is missing. 1183// 1184// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/DisableInsightRules 1185func (c *CloudWatch) DisableInsightRules(input *DisableInsightRulesInput) (*DisableInsightRulesOutput, error) { 1186 req, out := c.DisableInsightRulesRequest(input) 1187 return out, req.Send() 1188} 1189 1190// DisableInsightRulesWithContext is the same as DisableInsightRules with the addition of 1191// the ability to pass a context and additional request options. 1192// 1193// See DisableInsightRules for details on how to use this API operation. 1194// 1195// The context must be non-nil and will be used for request cancellation. If 1196// the context is nil a panic will occur. In the future the SDK may create 1197// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1198// for more information on using Contexts. 1199func (c *CloudWatch) DisableInsightRulesWithContext(ctx aws.Context, input *DisableInsightRulesInput, opts ...request.Option) (*DisableInsightRulesOutput, error) { 1200 req, out := c.DisableInsightRulesRequest(input) 1201 req.SetContext(ctx) 1202 req.ApplyOptions(opts...) 1203 return out, req.Send() 1204} 1205 1206const opEnableAlarmActions = "EnableAlarmActions" 1207 1208// EnableAlarmActionsRequest generates a "aws/request.Request" representing the 1209// client's request for the EnableAlarmActions operation. The "output" return 1210// value will be populated with the request's response once the request completes 1211// successfully. 1212// 1213// Use "Send" method on the returned Request to send the API call to the service. 1214// the "output" return value is not valid until after Send returns without error. 1215// 1216// See EnableAlarmActions for more information on using the EnableAlarmActions 1217// API call, and error handling. 1218// 1219// This method is useful when you want to inject custom logic or configuration 1220// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1221// 1222// 1223// // Example sending a request using the EnableAlarmActionsRequest method. 1224// req, resp := client.EnableAlarmActionsRequest(params) 1225// 1226// err := req.Send() 1227// if err == nil { // resp is now filled 1228// fmt.Println(resp) 1229// } 1230// 1231// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/EnableAlarmActions 1232func (c *CloudWatch) EnableAlarmActionsRequest(input *EnableAlarmActionsInput) (req *request.Request, output *EnableAlarmActionsOutput) { 1233 op := &request.Operation{ 1234 Name: opEnableAlarmActions, 1235 HTTPMethod: "POST", 1236 HTTPPath: "/", 1237 } 1238 1239 if input == nil { 1240 input = &EnableAlarmActionsInput{} 1241 } 1242 1243 output = &EnableAlarmActionsOutput{} 1244 req = c.newRequest(op, input, output) 1245 req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 1246 return 1247} 1248 1249// EnableAlarmActions API operation for Amazon CloudWatch. 1250// 1251// Enables the actions for the specified alarms. 1252// 1253// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1254// with awserr.Error's Code and Message methods to get detailed information about 1255// the error. 1256// 1257// See the AWS API reference guide for Amazon CloudWatch's 1258// API operation EnableAlarmActions for usage and error information. 1259// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/EnableAlarmActions 1260func (c *CloudWatch) EnableAlarmActions(input *EnableAlarmActionsInput) (*EnableAlarmActionsOutput, error) { 1261 req, out := c.EnableAlarmActionsRequest(input) 1262 return out, req.Send() 1263} 1264 1265// EnableAlarmActionsWithContext is the same as EnableAlarmActions with the addition of 1266// the ability to pass a context and additional request options. 1267// 1268// See EnableAlarmActions for details on how to use this API operation. 1269// 1270// The context must be non-nil and will be used for request cancellation. If 1271// the context is nil a panic will occur. In the future the SDK may create 1272// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1273// for more information on using Contexts. 1274func (c *CloudWatch) EnableAlarmActionsWithContext(ctx aws.Context, input *EnableAlarmActionsInput, opts ...request.Option) (*EnableAlarmActionsOutput, error) { 1275 req, out := c.EnableAlarmActionsRequest(input) 1276 req.SetContext(ctx) 1277 req.ApplyOptions(opts...) 1278 return out, req.Send() 1279} 1280 1281const opEnableInsightRules = "EnableInsightRules" 1282 1283// EnableInsightRulesRequest generates a "aws/request.Request" representing the 1284// client's request for the EnableInsightRules operation. The "output" return 1285// value will be populated with the request's response once the request completes 1286// successfully. 1287// 1288// Use "Send" method on the returned Request to send the API call to the service. 1289// the "output" return value is not valid until after Send returns without error. 1290// 1291// See EnableInsightRules for more information on using the EnableInsightRules 1292// API call, and error handling. 1293// 1294// This method is useful when you want to inject custom logic or configuration 1295// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1296// 1297// 1298// // Example sending a request using the EnableInsightRulesRequest method. 1299// req, resp := client.EnableInsightRulesRequest(params) 1300// 1301// err := req.Send() 1302// if err == nil { // resp is now filled 1303// fmt.Println(resp) 1304// } 1305// 1306// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/EnableInsightRules 1307func (c *CloudWatch) EnableInsightRulesRequest(input *EnableInsightRulesInput) (req *request.Request, output *EnableInsightRulesOutput) { 1308 op := &request.Operation{ 1309 Name: opEnableInsightRules, 1310 HTTPMethod: "POST", 1311 HTTPPath: "/", 1312 } 1313 1314 if input == nil { 1315 input = &EnableInsightRulesInput{} 1316 } 1317 1318 output = &EnableInsightRulesOutput{} 1319 req = c.newRequest(op, input, output) 1320 return 1321} 1322 1323// EnableInsightRules API operation for Amazon CloudWatch. 1324// 1325// Enables the specified Contributor Insights rules. When rules are enabled, 1326// they immediately begin analyzing log data. 1327// 1328// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1329// with awserr.Error's Code and Message methods to get detailed information about 1330// the error. 1331// 1332// See the AWS API reference guide for Amazon CloudWatch's 1333// API operation EnableInsightRules for usage and error information. 1334// 1335// Returned Error Codes: 1336// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 1337// The value of an input parameter is bad or out-of-range. 1338// 1339// * ErrCodeMissingRequiredParameterException "MissingParameter" 1340// An input parameter that is required is missing. 1341// 1342// * ErrCodeLimitExceededException "LimitExceededException" 1343// The operation exceeded one or more limits. 1344// 1345// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/EnableInsightRules 1346func (c *CloudWatch) EnableInsightRules(input *EnableInsightRulesInput) (*EnableInsightRulesOutput, error) { 1347 req, out := c.EnableInsightRulesRequest(input) 1348 return out, req.Send() 1349} 1350 1351// EnableInsightRulesWithContext is the same as EnableInsightRules with the addition of 1352// the ability to pass a context and additional request options. 1353// 1354// See EnableInsightRules for details on how to use this API operation. 1355// 1356// The context must be non-nil and will be used for request cancellation. If 1357// the context is nil a panic will occur. In the future the SDK may create 1358// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1359// for more information on using Contexts. 1360func (c *CloudWatch) EnableInsightRulesWithContext(ctx aws.Context, input *EnableInsightRulesInput, opts ...request.Option) (*EnableInsightRulesOutput, error) { 1361 req, out := c.EnableInsightRulesRequest(input) 1362 req.SetContext(ctx) 1363 req.ApplyOptions(opts...) 1364 return out, req.Send() 1365} 1366 1367const opGetDashboard = "GetDashboard" 1368 1369// GetDashboardRequest generates a "aws/request.Request" representing the 1370// client's request for the GetDashboard operation. The "output" return 1371// value will be populated with the request's response once the request completes 1372// successfully. 1373// 1374// Use "Send" method on the returned Request to send the API call to the service. 1375// the "output" return value is not valid until after Send returns without error. 1376// 1377// See GetDashboard for more information on using the GetDashboard 1378// API call, and error handling. 1379// 1380// This method is useful when you want to inject custom logic or configuration 1381// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1382// 1383// 1384// // Example sending a request using the GetDashboardRequest method. 1385// req, resp := client.GetDashboardRequest(params) 1386// 1387// err := req.Send() 1388// if err == nil { // resp is now filled 1389// fmt.Println(resp) 1390// } 1391// 1392// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/GetDashboard 1393func (c *CloudWatch) GetDashboardRequest(input *GetDashboardInput) (req *request.Request, output *GetDashboardOutput) { 1394 op := &request.Operation{ 1395 Name: opGetDashboard, 1396 HTTPMethod: "POST", 1397 HTTPPath: "/", 1398 } 1399 1400 if input == nil { 1401 input = &GetDashboardInput{} 1402 } 1403 1404 output = &GetDashboardOutput{} 1405 req = c.newRequest(op, input, output) 1406 return 1407} 1408 1409// GetDashboard API operation for Amazon CloudWatch. 1410// 1411// Displays the details of the dashboard that you specify. 1412// 1413// To copy an existing dashboard, use GetDashboard, and then use the data returned 1414// within DashboardBody as the template for the new dashboard when you call 1415// PutDashboard to create the copy. 1416// 1417// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1418// with awserr.Error's Code and Message methods to get detailed information about 1419// the error. 1420// 1421// See the AWS API reference guide for Amazon CloudWatch's 1422// API operation GetDashboard for usage and error information. 1423// 1424// Returned Error Codes: 1425// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 1426// The value of an input parameter is bad or out-of-range. 1427// 1428// * ErrCodeDashboardNotFoundError "ResourceNotFound" 1429// The specified dashboard does not exist. 1430// 1431// * ErrCodeInternalServiceFault "InternalServiceError" 1432// Request processing has failed due to some unknown error, exception, or failure. 1433// 1434// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/GetDashboard 1435func (c *CloudWatch) GetDashboard(input *GetDashboardInput) (*GetDashboardOutput, error) { 1436 req, out := c.GetDashboardRequest(input) 1437 return out, req.Send() 1438} 1439 1440// GetDashboardWithContext is the same as GetDashboard with the addition of 1441// the ability to pass a context and additional request options. 1442// 1443// See GetDashboard for details on how to use this API operation. 1444// 1445// The context must be non-nil and will be used for request cancellation. If 1446// the context is nil a panic will occur. In the future the SDK may create 1447// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1448// for more information on using Contexts. 1449func (c *CloudWatch) GetDashboardWithContext(ctx aws.Context, input *GetDashboardInput, opts ...request.Option) (*GetDashboardOutput, error) { 1450 req, out := c.GetDashboardRequest(input) 1451 req.SetContext(ctx) 1452 req.ApplyOptions(opts...) 1453 return out, req.Send() 1454} 1455 1456const opGetInsightRuleReport = "GetInsightRuleReport" 1457 1458// GetInsightRuleReportRequest generates a "aws/request.Request" representing the 1459// client's request for the GetInsightRuleReport operation. The "output" return 1460// value will be populated with the request's response once the request completes 1461// successfully. 1462// 1463// Use "Send" method on the returned Request to send the API call to the service. 1464// the "output" return value is not valid until after Send returns without error. 1465// 1466// See GetInsightRuleReport for more information on using the GetInsightRuleReport 1467// API call, and error handling. 1468// 1469// This method is useful when you want to inject custom logic or configuration 1470// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1471// 1472// 1473// // Example sending a request using the GetInsightRuleReportRequest method. 1474// req, resp := client.GetInsightRuleReportRequest(params) 1475// 1476// err := req.Send() 1477// if err == nil { // resp is now filled 1478// fmt.Println(resp) 1479// } 1480// 1481// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/GetInsightRuleReport 1482func (c *CloudWatch) GetInsightRuleReportRequest(input *GetInsightRuleReportInput) (req *request.Request, output *GetInsightRuleReportOutput) { 1483 op := &request.Operation{ 1484 Name: opGetInsightRuleReport, 1485 HTTPMethod: "POST", 1486 HTTPPath: "/", 1487 } 1488 1489 if input == nil { 1490 input = &GetInsightRuleReportInput{} 1491 } 1492 1493 output = &GetInsightRuleReportOutput{} 1494 req = c.newRequest(op, input, output) 1495 return 1496} 1497 1498// GetInsightRuleReport API operation for Amazon CloudWatch. 1499// 1500// This operation returns the time series data collected by a Contributor Insights 1501// rule. The data includes the identity and number of contributors to the log 1502// group. 1503// 1504// You can also optionally return one or more statistics about each data point 1505// in the time series. These statistics can include the following: 1506// 1507// * UniqueContributors -- the number of unique contributors for each data 1508// point. 1509// 1510// * MaxContributorValue -- the value of the top contributor for each data 1511// point. The identity of the contributor might change for each data point 1512// in the graph. If this rule aggregates by COUNT, the top contributor for 1513// each data point is the contributor with the most occurrences in that period. 1514// If the rule aggregates by SUM, the top contributor is the contributor 1515// with the highest sum in the log field specified by the rule's Value, during 1516// that period. 1517// 1518// * SampleCount -- the number of data points matched by the rule. 1519// 1520// * Sum -- the sum of the values from all contributors during the time period 1521// represented by that data point. 1522// 1523// * Minimum -- the minimum value from a single observation during the time 1524// period represented by that data point. 1525// 1526// * Maximum -- the maximum value from a single observation during the time 1527// period represented by that data point. 1528// 1529// * Average -- the average value from all contributors during the time period 1530// represented by that data point. 1531// 1532// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1533// with awserr.Error's Code and Message methods to get detailed information about 1534// the error. 1535// 1536// See the AWS API reference guide for Amazon CloudWatch's 1537// API operation GetInsightRuleReport for usage and error information. 1538// 1539// Returned Error Codes: 1540// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 1541// The value of an input parameter is bad or out-of-range. 1542// 1543// * ErrCodeMissingRequiredParameterException "MissingParameter" 1544// An input parameter that is required is missing. 1545// 1546// * ErrCodeResourceNotFoundException "ResourceNotFoundException" 1547// The named resource does not exist. 1548// 1549// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/GetInsightRuleReport 1550func (c *CloudWatch) GetInsightRuleReport(input *GetInsightRuleReportInput) (*GetInsightRuleReportOutput, error) { 1551 req, out := c.GetInsightRuleReportRequest(input) 1552 return out, req.Send() 1553} 1554 1555// GetInsightRuleReportWithContext is the same as GetInsightRuleReport with the addition of 1556// the ability to pass a context and additional request options. 1557// 1558// See GetInsightRuleReport for details on how to use this API operation. 1559// 1560// The context must be non-nil and will be used for request cancellation. If 1561// the context is nil a panic will occur. In the future the SDK may create 1562// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1563// for more information on using Contexts. 1564func (c *CloudWatch) GetInsightRuleReportWithContext(ctx aws.Context, input *GetInsightRuleReportInput, opts ...request.Option) (*GetInsightRuleReportOutput, error) { 1565 req, out := c.GetInsightRuleReportRequest(input) 1566 req.SetContext(ctx) 1567 req.ApplyOptions(opts...) 1568 return out, req.Send() 1569} 1570 1571const opGetMetricData = "GetMetricData" 1572 1573// GetMetricDataRequest generates a "aws/request.Request" representing the 1574// client's request for the GetMetricData operation. The "output" return 1575// value will be populated with the request's response once the request completes 1576// successfully. 1577// 1578// Use "Send" method on the returned Request to send the API call to the service. 1579// the "output" return value is not valid until after Send returns without error. 1580// 1581// See GetMetricData for more information on using the GetMetricData 1582// API call, and error handling. 1583// 1584// This method is useful when you want to inject custom logic or configuration 1585// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1586// 1587// 1588// // Example sending a request using the GetMetricDataRequest method. 1589// req, resp := client.GetMetricDataRequest(params) 1590// 1591// err := req.Send() 1592// if err == nil { // resp is now filled 1593// fmt.Println(resp) 1594// } 1595// 1596// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/GetMetricData 1597func (c *CloudWatch) GetMetricDataRequest(input *GetMetricDataInput) (req *request.Request, output *GetMetricDataOutput) { 1598 op := &request.Operation{ 1599 Name: opGetMetricData, 1600 HTTPMethod: "POST", 1601 HTTPPath: "/", 1602 Paginator: &request.Paginator{ 1603 InputTokens: []string{"NextToken"}, 1604 OutputTokens: []string{"NextToken"}, 1605 LimitToken: "MaxDatapoints", 1606 TruncationToken: "", 1607 }, 1608 } 1609 1610 if input == nil { 1611 input = &GetMetricDataInput{} 1612 } 1613 1614 output = &GetMetricDataOutput{} 1615 req = c.newRequest(op, input, output) 1616 return 1617} 1618 1619// GetMetricData API operation for Amazon CloudWatch. 1620// 1621// You can use the GetMetricData API to retrieve as many as 500 different metrics 1622// in a single request, with a total of as many as 100,800 data points. You 1623// can also optionally perform math expressions on the values of the returned 1624// statistics, to create new time series that represent new insights into your 1625// data. For example, using Lambda metrics, you could divide the Errors metric 1626// by the Invocations metric to get an error rate time series. For more information 1627// about metric math expressions, see Metric Math Syntax and Functions (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/using-metric-math.html#metric-math-syntax) 1628// in the Amazon CloudWatch User Guide. 1629// 1630// Calls to the GetMetricData API have a different pricing structure than calls 1631// to GetMetricStatistics. For more information about pricing, see Amazon CloudWatch 1632// Pricing (https://aws.amazon.com/cloudwatch/pricing/). 1633// 1634// Amazon CloudWatch retains metric data as follows: 1635// 1636// * Data points with a period of less than 60 seconds are available for 1637// 3 hours. These data points are high-resolution metrics and are available 1638// only for custom metrics that have been defined with a StorageResolution 1639// of 1. 1640// 1641// * Data points with a period of 60 seconds (1-minute) are available for 1642// 15 days. 1643// 1644// * Data points with a period of 300 seconds (5-minute) are available for 1645// 63 days. 1646// 1647// * Data points with a period of 3600 seconds (1 hour) are available for 1648// 455 days (15 months). 1649// 1650// Data points that are initially published with a shorter period are aggregated 1651// together for long-term storage. For example, if you collect data using a 1652// period of 1 minute, the data remains available for 15 days with 1-minute 1653// resolution. After 15 days, this data is still available, but is aggregated 1654// and retrievable only with a resolution of 5 minutes. After 63 days, the data 1655// is further aggregated and is available with a resolution of 1 hour. 1656// 1657// If you omit Unit in your request, all data that was collected with any unit 1658// is returned, along with the corresponding units that were specified when 1659// the data was reported to CloudWatch. If you specify a unit, the operation 1660// returns only data that was collected with that unit specified. If you specify 1661// a unit that does not match the data collected, the results of the operation 1662// are null. CloudWatch does not perform unit conversions. 1663// 1664// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1665// with awserr.Error's Code and Message methods to get detailed information about 1666// the error. 1667// 1668// See the AWS API reference guide for Amazon CloudWatch's 1669// API operation GetMetricData for usage and error information. 1670// 1671// Returned Error Codes: 1672// * ErrCodeInvalidNextToken "InvalidNextToken" 1673// The next token specified is invalid. 1674// 1675// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/GetMetricData 1676func (c *CloudWatch) GetMetricData(input *GetMetricDataInput) (*GetMetricDataOutput, error) { 1677 req, out := c.GetMetricDataRequest(input) 1678 return out, req.Send() 1679} 1680 1681// GetMetricDataWithContext is the same as GetMetricData with the addition of 1682// the ability to pass a context and additional request options. 1683// 1684// See GetMetricData for details on how to use this API operation. 1685// 1686// The context must be non-nil and will be used for request cancellation. If 1687// the context is nil a panic will occur. In the future the SDK may create 1688// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1689// for more information on using Contexts. 1690func (c *CloudWatch) GetMetricDataWithContext(ctx aws.Context, input *GetMetricDataInput, opts ...request.Option) (*GetMetricDataOutput, error) { 1691 req, out := c.GetMetricDataRequest(input) 1692 req.SetContext(ctx) 1693 req.ApplyOptions(opts...) 1694 return out, req.Send() 1695} 1696 1697// GetMetricDataPages iterates over the pages of a GetMetricData operation, 1698// calling the "fn" function with the response data for each page. To stop 1699// iterating, return false from the fn function. 1700// 1701// See GetMetricData method for more information on how to use this operation. 1702// 1703// Note: This operation can generate multiple requests to a service. 1704// 1705// // Example iterating over at most 3 pages of a GetMetricData operation. 1706// pageNum := 0 1707// err := client.GetMetricDataPages(params, 1708// func(page *cloudwatch.GetMetricDataOutput, lastPage bool) bool { 1709// pageNum++ 1710// fmt.Println(page) 1711// return pageNum <= 3 1712// }) 1713// 1714func (c *CloudWatch) GetMetricDataPages(input *GetMetricDataInput, fn func(*GetMetricDataOutput, bool) bool) error { 1715 return c.GetMetricDataPagesWithContext(aws.BackgroundContext(), input, fn) 1716} 1717 1718// GetMetricDataPagesWithContext same as GetMetricDataPages except 1719// it takes a Context and allows setting request options on the pages. 1720// 1721// The context must be non-nil and will be used for request cancellation. If 1722// the context is nil a panic will occur. In the future the SDK may create 1723// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1724// for more information on using Contexts. 1725func (c *CloudWatch) GetMetricDataPagesWithContext(ctx aws.Context, input *GetMetricDataInput, fn func(*GetMetricDataOutput, bool) bool, opts ...request.Option) error { 1726 p := request.Pagination{ 1727 NewRequest: func() (*request.Request, error) { 1728 var inCpy *GetMetricDataInput 1729 if input != nil { 1730 tmp := *input 1731 inCpy = &tmp 1732 } 1733 req, _ := c.GetMetricDataRequest(inCpy) 1734 req.SetContext(ctx) 1735 req.ApplyOptions(opts...) 1736 return req, nil 1737 }, 1738 } 1739 1740 for p.Next() { 1741 if !fn(p.Page().(*GetMetricDataOutput), !p.HasNextPage()) { 1742 break 1743 } 1744 } 1745 1746 return p.Err() 1747} 1748 1749const opGetMetricStatistics = "GetMetricStatistics" 1750 1751// GetMetricStatisticsRequest generates a "aws/request.Request" representing the 1752// client's request for the GetMetricStatistics operation. The "output" return 1753// value will be populated with the request's response once the request completes 1754// successfully. 1755// 1756// Use "Send" method on the returned Request to send the API call to the service. 1757// the "output" return value is not valid until after Send returns without error. 1758// 1759// See GetMetricStatistics for more information on using the GetMetricStatistics 1760// API call, and error handling. 1761// 1762// This method is useful when you want to inject custom logic or configuration 1763// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1764// 1765// 1766// // Example sending a request using the GetMetricStatisticsRequest method. 1767// req, resp := client.GetMetricStatisticsRequest(params) 1768// 1769// err := req.Send() 1770// if err == nil { // resp is now filled 1771// fmt.Println(resp) 1772// } 1773// 1774// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/GetMetricStatistics 1775func (c *CloudWatch) GetMetricStatisticsRequest(input *GetMetricStatisticsInput) (req *request.Request, output *GetMetricStatisticsOutput) { 1776 op := &request.Operation{ 1777 Name: opGetMetricStatistics, 1778 HTTPMethod: "POST", 1779 HTTPPath: "/", 1780 } 1781 1782 if input == nil { 1783 input = &GetMetricStatisticsInput{} 1784 } 1785 1786 output = &GetMetricStatisticsOutput{} 1787 req = c.newRequest(op, input, output) 1788 return 1789} 1790 1791// GetMetricStatistics API operation for Amazon CloudWatch. 1792// 1793// Gets statistics for the specified metric. 1794// 1795// The maximum number of data points returned from a single call is 1,440. If 1796// you request more than 1,440 data points, CloudWatch returns an error. To 1797// reduce the number of data points, you can narrow the specified time range 1798// and make multiple requests across adjacent time ranges, or you can increase 1799// the specified period. Data points are not returned in chronological order. 1800// 1801// CloudWatch aggregates data points based on the length of the period that 1802// you specify. For example, if you request statistics with a one-hour period, 1803// CloudWatch aggregates all data points with time stamps that fall within each 1804// one-hour period. Therefore, the number of values aggregated by CloudWatch 1805// is larger than the number of data points returned. 1806// 1807// CloudWatch needs raw data points to calculate percentile statistics. If you 1808// publish data using a statistic set instead, you can only retrieve percentile 1809// statistics for this data if one of the following conditions is true: 1810// 1811// * The SampleCount value of the statistic set is 1. 1812// 1813// * The Min and the Max values of the statistic set are equal. 1814// 1815// Percentile statistics are not available for metrics when any of the metric 1816// values are negative numbers. 1817// 1818// Amazon CloudWatch retains metric data as follows: 1819// 1820// * Data points with a period of less than 60 seconds are available for 1821// 3 hours. These data points are high-resolution metrics and are available 1822// only for custom metrics that have been defined with a StorageResolution 1823// of 1. 1824// 1825// * Data points with a period of 60 seconds (1-minute) are available for 1826// 15 days. 1827// 1828// * Data points with a period of 300 seconds (5-minute) are available for 1829// 63 days. 1830// 1831// * Data points with a period of 3600 seconds (1 hour) are available for 1832// 455 days (15 months). 1833// 1834// Data points that are initially published with a shorter period are aggregated 1835// together for long-term storage. For example, if you collect data using a 1836// period of 1 minute, the data remains available for 15 days with 1-minute 1837// resolution. After 15 days, this data is still available, but is aggregated 1838// and retrievable only with a resolution of 5 minutes. After 63 days, the data 1839// is further aggregated and is available with a resolution of 1 hour. 1840// 1841// CloudWatch started retaining 5-minute and 1-hour metric data as of July 9, 1842// 2016. 1843// 1844// For information about metrics and dimensions supported by Amazon Web Services 1845// services, see the Amazon CloudWatch Metrics and Dimensions Reference (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CW_Support_For_AWS.html) 1846// in the Amazon CloudWatch User Guide. 1847// 1848// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1849// with awserr.Error's Code and Message methods to get detailed information about 1850// the error. 1851// 1852// See the AWS API reference guide for Amazon CloudWatch's 1853// API operation GetMetricStatistics for usage and error information. 1854// 1855// Returned Error Codes: 1856// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 1857// The value of an input parameter is bad or out-of-range. 1858// 1859// * ErrCodeMissingRequiredParameterException "MissingParameter" 1860// An input parameter that is required is missing. 1861// 1862// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 1863// Parameters were used together that cannot be used together. 1864// 1865// * ErrCodeInternalServiceFault "InternalServiceError" 1866// Request processing has failed due to some unknown error, exception, or failure. 1867// 1868// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/GetMetricStatistics 1869func (c *CloudWatch) GetMetricStatistics(input *GetMetricStatisticsInput) (*GetMetricStatisticsOutput, error) { 1870 req, out := c.GetMetricStatisticsRequest(input) 1871 return out, req.Send() 1872} 1873 1874// GetMetricStatisticsWithContext is the same as GetMetricStatistics with the addition of 1875// the ability to pass a context and additional request options. 1876// 1877// See GetMetricStatistics for details on how to use this API operation. 1878// 1879// The context must be non-nil and will be used for request cancellation. If 1880// the context is nil a panic will occur. In the future the SDK may create 1881// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1882// for more information on using Contexts. 1883func (c *CloudWatch) GetMetricStatisticsWithContext(ctx aws.Context, input *GetMetricStatisticsInput, opts ...request.Option) (*GetMetricStatisticsOutput, error) { 1884 req, out := c.GetMetricStatisticsRequest(input) 1885 req.SetContext(ctx) 1886 req.ApplyOptions(opts...) 1887 return out, req.Send() 1888} 1889 1890const opGetMetricStream = "GetMetricStream" 1891 1892// GetMetricStreamRequest generates a "aws/request.Request" representing the 1893// client's request for the GetMetricStream operation. The "output" return 1894// value will be populated with the request's response once the request completes 1895// successfully. 1896// 1897// Use "Send" method on the returned Request to send the API call to the service. 1898// the "output" return value is not valid until after Send returns without error. 1899// 1900// See GetMetricStream for more information on using the GetMetricStream 1901// API call, and error handling. 1902// 1903// This method is useful when you want to inject custom logic or configuration 1904// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1905// 1906// 1907// // Example sending a request using the GetMetricStreamRequest method. 1908// req, resp := client.GetMetricStreamRequest(params) 1909// 1910// err := req.Send() 1911// if err == nil { // resp is now filled 1912// fmt.Println(resp) 1913// } 1914// 1915// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/GetMetricStream 1916func (c *CloudWatch) GetMetricStreamRequest(input *GetMetricStreamInput) (req *request.Request, output *GetMetricStreamOutput) { 1917 op := &request.Operation{ 1918 Name: opGetMetricStream, 1919 HTTPMethod: "POST", 1920 HTTPPath: "/", 1921 } 1922 1923 if input == nil { 1924 input = &GetMetricStreamInput{} 1925 } 1926 1927 output = &GetMetricStreamOutput{} 1928 req = c.newRequest(op, input, output) 1929 return 1930} 1931 1932// GetMetricStream API operation for Amazon CloudWatch. 1933// 1934// Returns information about the metric stream that you specify. 1935// 1936// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1937// with awserr.Error's Code and Message methods to get detailed information about 1938// the error. 1939// 1940// See the AWS API reference guide for Amazon CloudWatch's 1941// API operation GetMetricStream for usage and error information. 1942// 1943// Returned Error Codes: 1944// * ErrCodeResourceNotFoundException "ResourceNotFoundException" 1945// The named resource does not exist. 1946// 1947// * ErrCodeInternalServiceFault "InternalServiceError" 1948// Request processing has failed due to some unknown error, exception, or failure. 1949// 1950// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 1951// The value of an input parameter is bad or out-of-range. 1952// 1953// * ErrCodeMissingRequiredParameterException "MissingParameter" 1954// An input parameter that is required is missing. 1955// 1956// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 1957// Parameters were used together that cannot be used together. 1958// 1959// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/GetMetricStream 1960func (c *CloudWatch) GetMetricStream(input *GetMetricStreamInput) (*GetMetricStreamOutput, error) { 1961 req, out := c.GetMetricStreamRequest(input) 1962 return out, req.Send() 1963} 1964 1965// GetMetricStreamWithContext is the same as GetMetricStream with the addition of 1966// the ability to pass a context and additional request options. 1967// 1968// See GetMetricStream for details on how to use this API operation. 1969// 1970// The context must be non-nil and will be used for request cancellation. If 1971// the context is nil a panic will occur. In the future the SDK may create 1972// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1973// for more information on using Contexts. 1974func (c *CloudWatch) GetMetricStreamWithContext(ctx aws.Context, input *GetMetricStreamInput, opts ...request.Option) (*GetMetricStreamOutput, error) { 1975 req, out := c.GetMetricStreamRequest(input) 1976 req.SetContext(ctx) 1977 req.ApplyOptions(opts...) 1978 return out, req.Send() 1979} 1980 1981const opGetMetricWidgetImage = "GetMetricWidgetImage" 1982 1983// GetMetricWidgetImageRequest generates a "aws/request.Request" representing the 1984// client's request for the GetMetricWidgetImage operation. The "output" return 1985// value will be populated with the request's response once the request completes 1986// successfully. 1987// 1988// Use "Send" method on the returned Request to send the API call to the service. 1989// the "output" return value is not valid until after Send returns without error. 1990// 1991// See GetMetricWidgetImage for more information on using the GetMetricWidgetImage 1992// API call, and error handling. 1993// 1994// This method is useful when you want to inject custom logic or configuration 1995// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1996// 1997// 1998// // Example sending a request using the GetMetricWidgetImageRequest method. 1999// req, resp := client.GetMetricWidgetImageRequest(params) 2000// 2001// err := req.Send() 2002// if err == nil { // resp is now filled 2003// fmt.Println(resp) 2004// } 2005// 2006// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/GetMetricWidgetImage 2007func (c *CloudWatch) GetMetricWidgetImageRequest(input *GetMetricWidgetImageInput) (req *request.Request, output *GetMetricWidgetImageOutput) { 2008 op := &request.Operation{ 2009 Name: opGetMetricWidgetImage, 2010 HTTPMethod: "POST", 2011 HTTPPath: "/", 2012 } 2013 2014 if input == nil { 2015 input = &GetMetricWidgetImageInput{} 2016 } 2017 2018 output = &GetMetricWidgetImageOutput{} 2019 req = c.newRequest(op, input, output) 2020 return 2021} 2022 2023// GetMetricWidgetImage API operation for Amazon CloudWatch. 2024// 2025// You can use the GetMetricWidgetImage API to retrieve a snapshot graph of 2026// one or more Amazon CloudWatch metrics as a bitmap image. You can then embed 2027// this image into your services and products, such as wiki pages, reports, 2028// and documents. You could also retrieve images regularly, such as every minute, 2029// and create your own custom live dashboard. 2030// 2031// The graph you retrieve can include all CloudWatch metric graph features, 2032// including metric math and horizontal and vertical annotations. 2033// 2034// There is a limit of 20 transactions per second for this API. Each GetMetricWidgetImage 2035// action has the following limits: 2036// 2037// * As many as 100 metrics in the graph. 2038// 2039// * Up to 100 KB uncompressed payload. 2040// 2041// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2042// with awserr.Error's Code and Message methods to get detailed information about 2043// the error. 2044// 2045// See the AWS API reference guide for Amazon CloudWatch's 2046// API operation GetMetricWidgetImage for usage and error information. 2047// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/GetMetricWidgetImage 2048func (c *CloudWatch) GetMetricWidgetImage(input *GetMetricWidgetImageInput) (*GetMetricWidgetImageOutput, error) { 2049 req, out := c.GetMetricWidgetImageRequest(input) 2050 return out, req.Send() 2051} 2052 2053// GetMetricWidgetImageWithContext is the same as GetMetricWidgetImage with the addition of 2054// the ability to pass a context and additional request options. 2055// 2056// See GetMetricWidgetImage for details on how to use this API operation. 2057// 2058// The context must be non-nil and will be used for request cancellation. If 2059// the context is nil a panic will occur. In the future the SDK may create 2060// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2061// for more information on using Contexts. 2062func (c *CloudWatch) GetMetricWidgetImageWithContext(ctx aws.Context, input *GetMetricWidgetImageInput, opts ...request.Option) (*GetMetricWidgetImageOutput, error) { 2063 req, out := c.GetMetricWidgetImageRequest(input) 2064 req.SetContext(ctx) 2065 req.ApplyOptions(opts...) 2066 return out, req.Send() 2067} 2068 2069const opListDashboards = "ListDashboards" 2070 2071// ListDashboardsRequest generates a "aws/request.Request" representing the 2072// client's request for the ListDashboards operation. The "output" return 2073// value will be populated with the request's response once the request completes 2074// successfully. 2075// 2076// Use "Send" method on the returned Request to send the API call to the service. 2077// the "output" return value is not valid until after Send returns without error. 2078// 2079// See ListDashboards for more information on using the ListDashboards 2080// API call, and error handling. 2081// 2082// This method is useful when you want to inject custom logic or configuration 2083// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2084// 2085// 2086// // Example sending a request using the ListDashboardsRequest method. 2087// req, resp := client.ListDashboardsRequest(params) 2088// 2089// err := req.Send() 2090// if err == nil { // resp is now filled 2091// fmt.Println(resp) 2092// } 2093// 2094// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/ListDashboards 2095func (c *CloudWatch) ListDashboardsRequest(input *ListDashboardsInput) (req *request.Request, output *ListDashboardsOutput) { 2096 op := &request.Operation{ 2097 Name: opListDashboards, 2098 HTTPMethod: "POST", 2099 HTTPPath: "/", 2100 Paginator: &request.Paginator{ 2101 InputTokens: []string{"NextToken"}, 2102 OutputTokens: []string{"NextToken"}, 2103 LimitToken: "", 2104 TruncationToken: "", 2105 }, 2106 } 2107 2108 if input == nil { 2109 input = &ListDashboardsInput{} 2110 } 2111 2112 output = &ListDashboardsOutput{} 2113 req = c.newRequest(op, input, output) 2114 return 2115} 2116 2117// ListDashboards API operation for Amazon CloudWatch. 2118// 2119// Returns a list of the dashboards for your account. If you include DashboardNamePrefix, 2120// only those dashboards with names starting with the prefix are listed. Otherwise, 2121// all dashboards in your account are listed. 2122// 2123// ListDashboards returns up to 1000 results on one page. If there are more 2124// than 1000 dashboards, you can call ListDashboards again and include the value 2125// you received for NextToken in the first call, to receive the next 1000 results. 2126// 2127// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2128// with awserr.Error's Code and Message methods to get detailed information about 2129// the error. 2130// 2131// See the AWS API reference guide for Amazon CloudWatch's 2132// API operation ListDashboards for usage and error information. 2133// 2134// Returned Error Codes: 2135// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 2136// The value of an input parameter is bad or out-of-range. 2137// 2138// * ErrCodeInternalServiceFault "InternalServiceError" 2139// Request processing has failed due to some unknown error, exception, or failure. 2140// 2141// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/ListDashboards 2142func (c *CloudWatch) ListDashboards(input *ListDashboardsInput) (*ListDashboardsOutput, error) { 2143 req, out := c.ListDashboardsRequest(input) 2144 return out, req.Send() 2145} 2146 2147// ListDashboardsWithContext is the same as ListDashboards with the addition of 2148// the ability to pass a context and additional request options. 2149// 2150// See ListDashboards for details on how to use this API operation. 2151// 2152// The context must be non-nil and will be used for request cancellation. If 2153// the context is nil a panic will occur. In the future the SDK may create 2154// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2155// for more information on using Contexts. 2156func (c *CloudWatch) ListDashboardsWithContext(ctx aws.Context, input *ListDashboardsInput, opts ...request.Option) (*ListDashboardsOutput, error) { 2157 req, out := c.ListDashboardsRequest(input) 2158 req.SetContext(ctx) 2159 req.ApplyOptions(opts...) 2160 return out, req.Send() 2161} 2162 2163// ListDashboardsPages iterates over the pages of a ListDashboards operation, 2164// calling the "fn" function with the response data for each page. To stop 2165// iterating, return false from the fn function. 2166// 2167// See ListDashboards method for more information on how to use this operation. 2168// 2169// Note: This operation can generate multiple requests to a service. 2170// 2171// // Example iterating over at most 3 pages of a ListDashboards operation. 2172// pageNum := 0 2173// err := client.ListDashboardsPages(params, 2174// func(page *cloudwatch.ListDashboardsOutput, lastPage bool) bool { 2175// pageNum++ 2176// fmt.Println(page) 2177// return pageNum <= 3 2178// }) 2179// 2180func (c *CloudWatch) ListDashboardsPages(input *ListDashboardsInput, fn func(*ListDashboardsOutput, bool) bool) error { 2181 return c.ListDashboardsPagesWithContext(aws.BackgroundContext(), input, fn) 2182} 2183 2184// ListDashboardsPagesWithContext same as ListDashboardsPages except 2185// it takes a Context and allows setting request options on the pages. 2186// 2187// The context must be non-nil and will be used for request cancellation. If 2188// the context is nil a panic will occur. In the future the SDK may create 2189// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2190// for more information on using Contexts. 2191func (c *CloudWatch) ListDashboardsPagesWithContext(ctx aws.Context, input *ListDashboardsInput, fn func(*ListDashboardsOutput, bool) bool, opts ...request.Option) error { 2192 p := request.Pagination{ 2193 NewRequest: func() (*request.Request, error) { 2194 var inCpy *ListDashboardsInput 2195 if input != nil { 2196 tmp := *input 2197 inCpy = &tmp 2198 } 2199 req, _ := c.ListDashboardsRequest(inCpy) 2200 req.SetContext(ctx) 2201 req.ApplyOptions(opts...) 2202 return req, nil 2203 }, 2204 } 2205 2206 for p.Next() { 2207 if !fn(p.Page().(*ListDashboardsOutput), !p.HasNextPage()) { 2208 break 2209 } 2210 } 2211 2212 return p.Err() 2213} 2214 2215const opListMetricStreams = "ListMetricStreams" 2216 2217// ListMetricStreamsRequest generates a "aws/request.Request" representing the 2218// client's request for the ListMetricStreams operation. The "output" return 2219// value will be populated with the request's response once the request completes 2220// successfully. 2221// 2222// Use "Send" method on the returned Request to send the API call to the service. 2223// the "output" return value is not valid until after Send returns without error. 2224// 2225// See ListMetricStreams for more information on using the ListMetricStreams 2226// API call, and error handling. 2227// 2228// This method is useful when you want to inject custom logic or configuration 2229// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2230// 2231// 2232// // Example sending a request using the ListMetricStreamsRequest method. 2233// req, resp := client.ListMetricStreamsRequest(params) 2234// 2235// err := req.Send() 2236// if err == nil { // resp is now filled 2237// fmt.Println(resp) 2238// } 2239// 2240// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/ListMetricStreams 2241func (c *CloudWatch) ListMetricStreamsRequest(input *ListMetricStreamsInput) (req *request.Request, output *ListMetricStreamsOutput) { 2242 op := &request.Operation{ 2243 Name: opListMetricStreams, 2244 HTTPMethod: "POST", 2245 HTTPPath: "/", 2246 Paginator: &request.Paginator{ 2247 InputTokens: []string{"NextToken"}, 2248 OutputTokens: []string{"NextToken"}, 2249 LimitToken: "MaxResults", 2250 TruncationToken: "", 2251 }, 2252 } 2253 2254 if input == nil { 2255 input = &ListMetricStreamsInput{} 2256 } 2257 2258 output = &ListMetricStreamsOutput{} 2259 req = c.newRequest(op, input, output) 2260 return 2261} 2262 2263// ListMetricStreams API operation for Amazon CloudWatch. 2264// 2265// Returns a list of metric streams in this account. 2266// 2267// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2268// with awserr.Error's Code and Message methods to get detailed information about 2269// the error. 2270// 2271// See the AWS API reference guide for Amazon CloudWatch's 2272// API operation ListMetricStreams for usage and error information. 2273// 2274// Returned Error Codes: 2275// * ErrCodeInvalidNextToken "InvalidNextToken" 2276// The next token specified is invalid. 2277// 2278// * ErrCodeInternalServiceFault "InternalServiceError" 2279// Request processing has failed due to some unknown error, exception, or failure. 2280// 2281// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 2282// The value of an input parameter is bad or out-of-range. 2283// 2284// * ErrCodeMissingRequiredParameterException "MissingParameter" 2285// An input parameter that is required is missing. 2286// 2287// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/ListMetricStreams 2288func (c *CloudWatch) ListMetricStreams(input *ListMetricStreamsInput) (*ListMetricStreamsOutput, error) { 2289 req, out := c.ListMetricStreamsRequest(input) 2290 return out, req.Send() 2291} 2292 2293// ListMetricStreamsWithContext is the same as ListMetricStreams with the addition of 2294// the ability to pass a context and additional request options. 2295// 2296// See ListMetricStreams for details on how to use this API operation. 2297// 2298// The context must be non-nil and will be used for request cancellation. If 2299// the context is nil a panic will occur. In the future the SDK may create 2300// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2301// for more information on using Contexts. 2302func (c *CloudWatch) ListMetricStreamsWithContext(ctx aws.Context, input *ListMetricStreamsInput, opts ...request.Option) (*ListMetricStreamsOutput, error) { 2303 req, out := c.ListMetricStreamsRequest(input) 2304 req.SetContext(ctx) 2305 req.ApplyOptions(opts...) 2306 return out, req.Send() 2307} 2308 2309// ListMetricStreamsPages iterates over the pages of a ListMetricStreams operation, 2310// calling the "fn" function with the response data for each page. To stop 2311// iterating, return false from the fn function. 2312// 2313// See ListMetricStreams method for more information on how to use this operation. 2314// 2315// Note: This operation can generate multiple requests to a service. 2316// 2317// // Example iterating over at most 3 pages of a ListMetricStreams operation. 2318// pageNum := 0 2319// err := client.ListMetricStreamsPages(params, 2320// func(page *cloudwatch.ListMetricStreamsOutput, lastPage bool) bool { 2321// pageNum++ 2322// fmt.Println(page) 2323// return pageNum <= 3 2324// }) 2325// 2326func (c *CloudWatch) ListMetricStreamsPages(input *ListMetricStreamsInput, fn func(*ListMetricStreamsOutput, bool) bool) error { 2327 return c.ListMetricStreamsPagesWithContext(aws.BackgroundContext(), input, fn) 2328} 2329 2330// ListMetricStreamsPagesWithContext same as ListMetricStreamsPages except 2331// it takes a Context and allows setting request options on the pages. 2332// 2333// The context must be non-nil and will be used for request cancellation. If 2334// the context is nil a panic will occur. In the future the SDK may create 2335// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2336// for more information on using Contexts. 2337func (c *CloudWatch) ListMetricStreamsPagesWithContext(ctx aws.Context, input *ListMetricStreamsInput, fn func(*ListMetricStreamsOutput, bool) bool, opts ...request.Option) error { 2338 p := request.Pagination{ 2339 NewRequest: func() (*request.Request, error) { 2340 var inCpy *ListMetricStreamsInput 2341 if input != nil { 2342 tmp := *input 2343 inCpy = &tmp 2344 } 2345 req, _ := c.ListMetricStreamsRequest(inCpy) 2346 req.SetContext(ctx) 2347 req.ApplyOptions(opts...) 2348 return req, nil 2349 }, 2350 } 2351 2352 for p.Next() { 2353 if !fn(p.Page().(*ListMetricStreamsOutput), !p.HasNextPage()) { 2354 break 2355 } 2356 } 2357 2358 return p.Err() 2359} 2360 2361const opListMetrics = "ListMetrics" 2362 2363// ListMetricsRequest generates a "aws/request.Request" representing the 2364// client's request for the ListMetrics operation. The "output" return 2365// value will be populated with the request's response once the request completes 2366// successfully. 2367// 2368// Use "Send" method on the returned Request to send the API call to the service. 2369// the "output" return value is not valid until after Send returns without error. 2370// 2371// See ListMetrics for more information on using the ListMetrics 2372// API call, and error handling. 2373// 2374// This method is useful when you want to inject custom logic or configuration 2375// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2376// 2377// 2378// // Example sending a request using the ListMetricsRequest method. 2379// req, resp := client.ListMetricsRequest(params) 2380// 2381// err := req.Send() 2382// if err == nil { // resp is now filled 2383// fmt.Println(resp) 2384// } 2385// 2386// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/ListMetrics 2387func (c *CloudWatch) ListMetricsRequest(input *ListMetricsInput) (req *request.Request, output *ListMetricsOutput) { 2388 op := &request.Operation{ 2389 Name: opListMetrics, 2390 HTTPMethod: "POST", 2391 HTTPPath: "/", 2392 Paginator: &request.Paginator{ 2393 InputTokens: []string{"NextToken"}, 2394 OutputTokens: []string{"NextToken"}, 2395 LimitToken: "", 2396 TruncationToken: "", 2397 }, 2398 } 2399 2400 if input == nil { 2401 input = &ListMetricsInput{} 2402 } 2403 2404 output = &ListMetricsOutput{} 2405 req = c.newRequest(op, input, output) 2406 return 2407} 2408 2409// ListMetrics API operation for Amazon CloudWatch. 2410// 2411// List the specified metrics. You can use the returned metrics with GetMetricData 2412// (https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_GetMetricData.html) 2413// or GetMetricStatistics (https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_GetMetricStatistics.html) 2414// to obtain statistical data. 2415// 2416// Up to 500 results are returned for any one call. To retrieve additional results, 2417// use the returned token with subsequent calls. 2418// 2419// After you create a metric, allow up to 15 minutes before the metric appears. 2420// You can see statistics about the metric sooner by using GetMetricData (https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_GetMetricData.html) 2421// or GetMetricStatistics (https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_GetMetricStatistics.html). 2422// 2423// ListMetrics doesn't return information about metrics if those metrics haven't 2424// reported data in the past two weeks. To retrieve those metrics, use GetMetricData 2425// (https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_GetMetricData.html) 2426// or GetMetricStatistics (https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_GetMetricStatistics.html). 2427// 2428// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2429// with awserr.Error's Code and Message methods to get detailed information about 2430// the error. 2431// 2432// See the AWS API reference guide for Amazon CloudWatch's 2433// API operation ListMetrics for usage and error information. 2434// 2435// Returned Error Codes: 2436// * ErrCodeInternalServiceFault "InternalServiceError" 2437// Request processing has failed due to some unknown error, exception, or failure. 2438// 2439// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 2440// The value of an input parameter is bad or out-of-range. 2441// 2442// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/ListMetrics 2443func (c *CloudWatch) ListMetrics(input *ListMetricsInput) (*ListMetricsOutput, error) { 2444 req, out := c.ListMetricsRequest(input) 2445 return out, req.Send() 2446} 2447 2448// ListMetricsWithContext is the same as ListMetrics with the addition of 2449// the ability to pass a context and additional request options. 2450// 2451// See ListMetrics for details on how to use this API operation. 2452// 2453// The context must be non-nil and will be used for request cancellation. If 2454// the context is nil a panic will occur. In the future the SDK may create 2455// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2456// for more information on using Contexts. 2457func (c *CloudWatch) ListMetricsWithContext(ctx aws.Context, input *ListMetricsInput, opts ...request.Option) (*ListMetricsOutput, error) { 2458 req, out := c.ListMetricsRequest(input) 2459 req.SetContext(ctx) 2460 req.ApplyOptions(opts...) 2461 return out, req.Send() 2462} 2463 2464// ListMetricsPages iterates over the pages of a ListMetrics operation, 2465// calling the "fn" function with the response data for each page. To stop 2466// iterating, return false from the fn function. 2467// 2468// See ListMetrics method for more information on how to use this operation. 2469// 2470// Note: This operation can generate multiple requests to a service. 2471// 2472// // Example iterating over at most 3 pages of a ListMetrics operation. 2473// pageNum := 0 2474// err := client.ListMetricsPages(params, 2475// func(page *cloudwatch.ListMetricsOutput, lastPage bool) bool { 2476// pageNum++ 2477// fmt.Println(page) 2478// return pageNum <= 3 2479// }) 2480// 2481func (c *CloudWatch) ListMetricsPages(input *ListMetricsInput, fn func(*ListMetricsOutput, bool) bool) error { 2482 return c.ListMetricsPagesWithContext(aws.BackgroundContext(), input, fn) 2483} 2484 2485// ListMetricsPagesWithContext same as ListMetricsPages except 2486// it takes a Context and allows setting request options on the pages. 2487// 2488// The context must be non-nil and will be used for request cancellation. If 2489// the context is nil a panic will occur. In the future the SDK may create 2490// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2491// for more information on using Contexts. 2492func (c *CloudWatch) ListMetricsPagesWithContext(ctx aws.Context, input *ListMetricsInput, fn func(*ListMetricsOutput, bool) bool, opts ...request.Option) error { 2493 p := request.Pagination{ 2494 NewRequest: func() (*request.Request, error) { 2495 var inCpy *ListMetricsInput 2496 if input != nil { 2497 tmp := *input 2498 inCpy = &tmp 2499 } 2500 req, _ := c.ListMetricsRequest(inCpy) 2501 req.SetContext(ctx) 2502 req.ApplyOptions(opts...) 2503 return req, nil 2504 }, 2505 } 2506 2507 for p.Next() { 2508 if !fn(p.Page().(*ListMetricsOutput), !p.HasNextPage()) { 2509 break 2510 } 2511 } 2512 2513 return p.Err() 2514} 2515 2516const opListTagsForResource = "ListTagsForResource" 2517 2518// ListTagsForResourceRequest generates a "aws/request.Request" representing the 2519// client's request for the ListTagsForResource operation. The "output" return 2520// value will be populated with the request's response once the request completes 2521// successfully. 2522// 2523// Use "Send" method on the returned Request to send the API call to the service. 2524// the "output" return value is not valid until after Send returns without error. 2525// 2526// See ListTagsForResource for more information on using the ListTagsForResource 2527// API call, and error handling. 2528// 2529// This method is useful when you want to inject custom logic or configuration 2530// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2531// 2532// 2533// // Example sending a request using the ListTagsForResourceRequest method. 2534// req, resp := client.ListTagsForResourceRequest(params) 2535// 2536// err := req.Send() 2537// if err == nil { // resp is now filled 2538// fmt.Println(resp) 2539// } 2540// 2541// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/ListTagsForResource 2542func (c *CloudWatch) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) { 2543 op := &request.Operation{ 2544 Name: opListTagsForResource, 2545 HTTPMethod: "POST", 2546 HTTPPath: "/", 2547 } 2548 2549 if input == nil { 2550 input = &ListTagsForResourceInput{} 2551 } 2552 2553 output = &ListTagsForResourceOutput{} 2554 req = c.newRequest(op, input, output) 2555 return 2556} 2557 2558// ListTagsForResource API operation for Amazon CloudWatch. 2559// 2560// Displays the tags associated with a CloudWatch resource. Currently, alarms 2561// and Contributor Insights rules support tagging. 2562// 2563// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2564// with awserr.Error's Code and Message methods to get detailed information about 2565// the error. 2566// 2567// See the AWS API reference guide for Amazon CloudWatch's 2568// API operation ListTagsForResource for usage and error information. 2569// 2570// Returned Error Codes: 2571// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 2572// The value of an input parameter is bad or out-of-range. 2573// 2574// * ErrCodeResourceNotFoundException "ResourceNotFoundException" 2575// The named resource does not exist. 2576// 2577// * ErrCodeInternalServiceFault "InternalServiceError" 2578// Request processing has failed due to some unknown error, exception, or failure. 2579// 2580// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/ListTagsForResource 2581func (c *CloudWatch) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) { 2582 req, out := c.ListTagsForResourceRequest(input) 2583 return out, req.Send() 2584} 2585 2586// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of 2587// the ability to pass a context and additional request options. 2588// 2589// See ListTagsForResource for details on how to use this API operation. 2590// 2591// The context must be non-nil and will be used for request cancellation. If 2592// the context is nil a panic will occur. In the future the SDK may create 2593// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2594// for more information on using Contexts. 2595func (c *CloudWatch) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) { 2596 req, out := c.ListTagsForResourceRequest(input) 2597 req.SetContext(ctx) 2598 req.ApplyOptions(opts...) 2599 return out, req.Send() 2600} 2601 2602const opPutAnomalyDetector = "PutAnomalyDetector" 2603 2604// PutAnomalyDetectorRequest generates a "aws/request.Request" representing the 2605// client's request for the PutAnomalyDetector operation. The "output" return 2606// value will be populated with the request's response once the request completes 2607// successfully. 2608// 2609// Use "Send" method on the returned Request to send the API call to the service. 2610// the "output" return value is not valid until after Send returns without error. 2611// 2612// See PutAnomalyDetector for more information on using the PutAnomalyDetector 2613// API call, and error handling. 2614// 2615// This method is useful when you want to inject custom logic or configuration 2616// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2617// 2618// 2619// // Example sending a request using the PutAnomalyDetectorRequest method. 2620// req, resp := client.PutAnomalyDetectorRequest(params) 2621// 2622// err := req.Send() 2623// if err == nil { // resp is now filled 2624// fmt.Println(resp) 2625// } 2626// 2627// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/PutAnomalyDetector 2628func (c *CloudWatch) PutAnomalyDetectorRequest(input *PutAnomalyDetectorInput) (req *request.Request, output *PutAnomalyDetectorOutput) { 2629 op := &request.Operation{ 2630 Name: opPutAnomalyDetector, 2631 HTTPMethod: "POST", 2632 HTTPPath: "/", 2633 } 2634 2635 if input == nil { 2636 input = &PutAnomalyDetectorInput{} 2637 } 2638 2639 output = &PutAnomalyDetectorOutput{} 2640 req = c.newRequest(op, input, output) 2641 req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 2642 return 2643} 2644 2645// PutAnomalyDetector API operation for Amazon CloudWatch. 2646// 2647// Creates an anomaly detection model for a CloudWatch metric. You can use the 2648// model to display a band of expected normal values when the metric is graphed. 2649// 2650// For more information, see CloudWatch Anomaly Detection (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Anomaly_Detection.html). 2651// 2652// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2653// with awserr.Error's Code and Message methods to get detailed information about 2654// the error. 2655// 2656// See the AWS API reference guide for Amazon CloudWatch's 2657// API operation PutAnomalyDetector for usage and error information. 2658// 2659// Returned Error Codes: 2660// * ErrCodeLimitExceededException "LimitExceededException" 2661// The operation exceeded one or more limits. 2662// 2663// * ErrCodeInternalServiceFault "InternalServiceError" 2664// Request processing has failed due to some unknown error, exception, or failure. 2665// 2666// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 2667// The value of an input parameter is bad or out-of-range. 2668// 2669// * ErrCodeMissingRequiredParameterException "MissingParameter" 2670// An input parameter that is required is missing. 2671// 2672// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/PutAnomalyDetector 2673func (c *CloudWatch) PutAnomalyDetector(input *PutAnomalyDetectorInput) (*PutAnomalyDetectorOutput, error) { 2674 req, out := c.PutAnomalyDetectorRequest(input) 2675 return out, req.Send() 2676} 2677 2678// PutAnomalyDetectorWithContext is the same as PutAnomalyDetector with the addition of 2679// the ability to pass a context and additional request options. 2680// 2681// See PutAnomalyDetector for details on how to use this API operation. 2682// 2683// The context must be non-nil and will be used for request cancellation. If 2684// the context is nil a panic will occur. In the future the SDK may create 2685// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2686// for more information on using Contexts. 2687func (c *CloudWatch) PutAnomalyDetectorWithContext(ctx aws.Context, input *PutAnomalyDetectorInput, opts ...request.Option) (*PutAnomalyDetectorOutput, error) { 2688 req, out := c.PutAnomalyDetectorRequest(input) 2689 req.SetContext(ctx) 2690 req.ApplyOptions(opts...) 2691 return out, req.Send() 2692} 2693 2694const opPutCompositeAlarm = "PutCompositeAlarm" 2695 2696// PutCompositeAlarmRequest generates a "aws/request.Request" representing the 2697// client's request for the PutCompositeAlarm operation. The "output" return 2698// value will be populated with the request's response once the request completes 2699// successfully. 2700// 2701// Use "Send" method on the returned Request to send the API call to the service. 2702// the "output" return value is not valid until after Send returns without error. 2703// 2704// See PutCompositeAlarm for more information on using the PutCompositeAlarm 2705// API call, and error handling. 2706// 2707// This method is useful when you want to inject custom logic or configuration 2708// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2709// 2710// 2711// // Example sending a request using the PutCompositeAlarmRequest method. 2712// req, resp := client.PutCompositeAlarmRequest(params) 2713// 2714// err := req.Send() 2715// if err == nil { // resp is now filled 2716// fmt.Println(resp) 2717// } 2718// 2719// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/PutCompositeAlarm 2720func (c *CloudWatch) PutCompositeAlarmRequest(input *PutCompositeAlarmInput) (req *request.Request, output *PutCompositeAlarmOutput) { 2721 op := &request.Operation{ 2722 Name: opPutCompositeAlarm, 2723 HTTPMethod: "POST", 2724 HTTPPath: "/", 2725 } 2726 2727 if input == nil { 2728 input = &PutCompositeAlarmInput{} 2729 } 2730 2731 output = &PutCompositeAlarmOutput{} 2732 req = c.newRequest(op, input, output) 2733 req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 2734 return 2735} 2736 2737// PutCompositeAlarm API operation for Amazon CloudWatch. 2738// 2739// Creates or updates a composite alarm. When you create a composite alarm, 2740// you specify a rule expression for the alarm that takes into account the alarm 2741// states of other alarms that you have created. The composite alarm goes into 2742// ALARM state only if all conditions of the rule are met. 2743// 2744// The alarms specified in a composite alarm's rule expression can include metric 2745// alarms and other composite alarms. 2746// 2747// Using composite alarms can reduce alarm noise. You can create multiple metric 2748// alarms, and also create a composite alarm and set up alerts only for the 2749// composite alarm. For example, you could create a composite alarm that goes 2750// into ALARM state only when more than one of the underlying metric alarms 2751// are in ALARM state. 2752// 2753// Currently, the only alarm actions that can be taken by composite alarms are 2754// notifying SNS topics. 2755// 2756// It is possible to create a loop or cycle of composite alarms, where composite 2757// alarm A depends on composite alarm B, and composite alarm B also depends 2758// on composite alarm A. In this scenario, you can't delete any composite alarm 2759// that is part of the cycle because there is always still a composite alarm 2760// that depends on that alarm that you want to delete. 2761// 2762// To get out of such a situation, you must break the cycle by changing the 2763// rule of one of the composite alarms in the cycle to remove a dependency that 2764// creates the cycle. The simplest change to make to break a cycle is to change 2765// the AlarmRule of one of the alarms to False. 2766// 2767// Additionally, the evaluation of composite alarms stops if CloudWatch detects 2768// a cycle in the evaluation path. 2769// 2770// When this operation creates an alarm, the alarm state is immediately set 2771// to INSUFFICIENT_DATA. The alarm is then evaluated and its state is set appropriately. 2772// Any actions associated with the new state are then executed. For a composite 2773// alarm, this initial time after creation is the only time that the alarm can 2774// be in INSUFFICIENT_DATA state. 2775// 2776// When you update an existing alarm, its state is left unchanged, but the update 2777// completely overwrites the previous configuration of the alarm. 2778// 2779// If you are an IAM user, you must have iam:CreateServiceLinkedRole to create 2780// a composite alarm that has Systems Manager OpsItem actions. 2781// 2782// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2783// with awserr.Error's Code and Message methods to get detailed information about 2784// the error. 2785// 2786// See the AWS API reference guide for Amazon CloudWatch's 2787// API operation PutCompositeAlarm for usage and error information. 2788// 2789// Returned Error Codes: 2790// * ErrCodeLimitExceededFault "LimitExceeded" 2791// The quota for alarms for this customer has already been reached. 2792// 2793// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/PutCompositeAlarm 2794func (c *CloudWatch) PutCompositeAlarm(input *PutCompositeAlarmInput) (*PutCompositeAlarmOutput, error) { 2795 req, out := c.PutCompositeAlarmRequest(input) 2796 return out, req.Send() 2797} 2798 2799// PutCompositeAlarmWithContext is the same as PutCompositeAlarm with the addition of 2800// the ability to pass a context and additional request options. 2801// 2802// See PutCompositeAlarm for details on how to use this API operation. 2803// 2804// The context must be non-nil and will be used for request cancellation. If 2805// the context is nil a panic will occur. In the future the SDK may create 2806// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2807// for more information on using Contexts. 2808func (c *CloudWatch) PutCompositeAlarmWithContext(ctx aws.Context, input *PutCompositeAlarmInput, opts ...request.Option) (*PutCompositeAlarmOutput, error) { 2809 req, out := c.PutCompositeAlarmRequest(input) 2810 req.SetContext(ctx) 2811 req.ApplyOptions(opts...) 2812 return out, req.Send() 2813} 2814 2815const opPutDashboard = "PutDashboard" 2816 2817// PutDashboardRequest generates a "aws/request.Request" representing the 2818// client's request for the PutDashboard operation. The "output" return 2819// value will be populated with the request's response once the request completes 2820// successfully. 2821// 2822// Use "Send" method on the returned Request to send the API call to the service. 2823// the "output" return value is not valid until after Send returns without error. 2824// 2825// See PutDashboard for more information on using the PutDashboard 2826// API call, and error handling. 2827// 2828// This method is useful when you want to inject custom logic or configuration 2829// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2830// 2831// 2832// // Example sending a request using the PutDashboardRequest method. 2833// req, resp := client.PutDashboardRequest(params) 2834// 2835// err := req.Send() 2836// if err == nil { // resp is now filled 2837// fmt.Println(resp) 2838// } 2839// 2840// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/PutDashboard 2841func (c *CloudWatch) PutDashboardRequest(input *PutDashboardInput) (req *request.Request, output *PutDashboardOutput) { 2842 op := &request.Operation{ 2843 Name: opPutDashboard, 2844 HTTPMethod: "POST", 2845 HTTPPath: "/", 2846 } 2847 2848 if input == nil { 2849 input = &PutDashboardInput{} 2850 } 2851 2852 output = &PutDashboardOutput{} 2853 req = c.newRequest(op, input, output) 2854 return 2855} 2856 2857// PutDashboard API operation for Amazon CloudWatch. 2858// 2859// Creates a dashboard if it does not already exist, or updates an existing 2860// dashboard. If you update a dashboard, the entire contents are replaced with 2861// what you specify here. 2862// 2863// All dashboards in your account are global, not region-specific. 2864// 2865// A simple way to create a dashboard using PutDashboard is to copy an existing 2866// dashboard. To copy an existing dashboard using the console, you can load 2867// the dashboard and then use the View/edit source command in the Actions menu 2868// to display the JSON block for that dashboard. Another way to copy a dashboard 2869// is to use GetDashboard, and then use the data returned within DashboardBody 2870// as the template for the new dashboard when you call PutDashboard. 2871// 2872// When you create a dashboard with PutDashboard, a good practice is to add 2873// a text widget at the top of the dashboard with a message that the dashboard 2874// was created by script and should not be changed in the console. This message 2875// could also point console users to the location of the DashboardBody script 2876// or the CloudFormation template used to create the dashboard. 2877// 2878// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2879// with awserr.Error's Code and Message methods to get detailed information about 2880// the error. 2881// 2882// See the AWS API reference guide for Amazon CloudWatch's 2883// API operation PutDashboard for usage and error information. 2884// 2885// Returned Error Codes: 2886// * ErrCodeDashboardInvalidInputError "InvalidParameterInput" 2887// Some part of the dashboard data is invalid. 2888// 2889// * ErrCodeInternalServiceFault "InternalServiceError" 2890// Request processing has failed due to some unknown error, exception, or failure. 2891// 2892// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/PutDashboard 2893func (c *CloudWatch) PutDashboard(input *PutDashboardInput) (*PutDashboardOutput, error) { 2894 req, out := c.PutDashboardRequest(input) 2895 return out, req.Send() 2896} 2897 2898// PutDashboardWithContext is the same as PutDashboard with the addition of 2899// the ability to pass a context and additional request options. 2900// 2901// See PutDashboard for details on how to use this API operation. 2902// 2903// The context must be non-nil and will be used for request cancellation. If 2904// the context is nil a panic will occur. In the future the SDK may create 2905// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2906// for more information on using Contexts. 2907func (c *CloudWatch) PutDashboardWithContext(ctx aws.Context, input *PutDashboardInput, opts ...request.Option) (*PutDashboardOutput, error) { 2908 req, out := c.PutDashboardRequest(input) 2909 req.SetContext(ctx) 2910 req.ApplyOptions(opts...) 2911 return out, req.Send() 2912} 2913 2914const opPutInsightRule = "PutInsightRule" 2915 2916// PutInsightRuleRequest generates a "aws/request.Request" representing the 2917// client's request for the PutInsightRule operation. The "output" return 2918// value will be populated with the request's response once the request completes 2919// successfully. 2920// 2921// Use "Send" method on the returned Request to send the API call to the service. 2922// the "output" return value is not valid until after Send returns without error. 2923// 2924// See PutInsightRule for more information on using the PutInsightRule 2925// API call, and error handling. 2926// 2927// This method is useful when you want to inject custom logic or configuration 2928// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2929// 2930// 2931// // Example sending a request using the PutInsightRuleRequest method. 2932// req, resp := client.PutInsightRuleRequest(params) 2933// 2934// err := req.Send() 2935// if err == nil { // resp is now filled 2936// fmt.Println(resp) 2937// } 2938// 2939// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/PutInsightRule 2940func (c *CloudWatch) PutInsightRuleRequest(input *PutInsightRuleInput) (req *request.Request, output *PutInsightRuleOutput) { 2941 op := &request.Operation{ 2942 Name: opPutInsightRule, 2943 HTTPMethod: "POST", 2944 HTTPPath: "/", 2945 } 2946 2947 if input == nil { 2948 input = &PutInsightRuleInput{} 2949 } 2950 2951 output = &PutInsightRuleOutput{} 2952 req = c.newRequest(op, input, output) 2953 req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 2954 return 2955} 2956 2957// PutInsightRule API operation for Amazon CloudWatch. 2958// 2959// Creates a Contributor Insights rule. Rules evaluate log events in a CloudWatch 2960// Logs log group, enabling you to find contributor data for the log events 2961// in that log group. For more information, see Using Contributor Insights to 2962// Analyze High-Cardinality Data (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/ContributorInsights.html). 2963// 2964// If you create a rule, delete it, and then re-create it with the same name, 2965// historical data from the first time the rule was created might not be available. 2966// 2967// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2968// with awserr.Error's Code and Message methods to get detailed information about 2969// the error. 2970// 2971// See the AWS API reference guide for Amazon CloudWatch's 2972// API operation PutInsightRule for usage and error information. 2973// 2974// Returned Error Codes: 2975// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 2976// The value of an input parameter is bad or out-of-range. 2977// 2978// * ErrCodeMissingRequiredParameterException "MissingParameter" 2979// An input parameter that is required is missing. 2980// 2981// * ErrCodeLimitExceededException "LimitExceededException" 2982// The operation exceeded one or more limits. 2983// 2984// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/PutInsightRule 2985func (c *CloudWatch) PutInsightRule(input *PutInsightRuleInput) (*PutInsightRuleOutput, error) { 2986 req, out := c.PutInsightRuleRequest(input) 2987 return out, req.Send() 2988} 2989 2990// PutInsightRuleWithContext is the same as PutInsightRule with the addition of 2991// the ability to pass a context and additional request options. 2992// 2993// See PutInsightRule for details on how to use this API operation. 2994// 2995// The context must be non-nil and will be used for request cancellation. If 2996// the context is nil a panic will occur. In the future the SDK may create 2997// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2998// for more information on using Contexts. 2999func (c *CloudWatch) PutInsightRuleWithContext(ctx aws.Context, input *PutInsightRuleInput, opts ...request.Option) (*PutInsightRuleOutput, error) { 3000 req, out := c.PutInsightRuleRequest(input) 3001 req.SetContext(ctx) 3002 req.ApplyOptions(opts...) 3003 return out, req.Send() 3004} 3005 3006const opPutMetricAlarm = "PutMetricAlarm" 3007 3008// PutMetricAlarmRequest generates a "aws/request.Request" representing the 3009// client's request for the PutMetricAlarm operation. The "output" return 3010// value will be populated with the request's response once the request completes 3011// successfully. 3012// 3013// Use "Send" method on the returned Request to send the API call to the service. 3014// the "output" return value is not valid until after Send returns without error. 3015// 3016// See PutMetricAlarm for more information on using the PutMetricAlarm 3017// API call, and error handling. 3018// 3019// This method is useful when you want to inject custom logic or configuration 3020// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3021// 3022// 3023// // Example sending a request using the PutMetricAlarmRequest method. 3024// req, resp := client.PutMetricAlarmRequest(params) 3025// 3026// err := req.Send() 3027// if err == nil { // resp is now filled 3028// fmt.Println(resp) 3029// } 3030// 3031// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/PutMetricAlarm 3032func (c *CloudWatch) PutMetricAlarmRequest(input *PutMetricAlarmInput) (req *request.Request, output *PutMetricAlarmOutput) { 3033 op := &request.Operation{ 3034 Name: opPutMetricAlarm, 3035 HTTPMethod: "POST", 3036 HTTPPath: "/", 3037 } 3038 3039 if input == nil { 3040 input = &PutMetricAlarmInput{} 3041 } 3042 3043 output = &PutMetricAlarmOutput{} 3044 req = c.newRequest(op, input, output) 3045 req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 3046 return 3047} 3048 3049// PutMetricAlarm API operation for Amazon CloudWatch. 3050// 3051// Creates or updates an alarm and associates it with the specified metric, 3052// metric math expression, or anomaly detection model. 3053// 3054// Alarms based on anomaly detection models cannot have Auto Scaling actions. 3055// 3056// When this operation creates an alarm, the alarm state is immediately set 3057// to INSUFFICIENT_DATA. The alarm is then evaluated and its state is set appropriately. 3058// Any actions associated with the new state are then executed. 3059// 3060// When you update an existing alarm, its state is left unchanged, but the update 3061// completely overwrites the previous configuration of the alarm. 3062// 3063// If you are an IAM user, you must have Amazon EC2 permissions for some alarm 3064// operations: 3065// 3066// * The iam:CreateServiceLinkedRole for all alarms with EC2 actions 3067// 3068// * The iam:CreateServiceLinkedRole to create an alarm with Systems Manager 3069// OpsItem actions. 3070// 3071// The first time you create an alarm in the Management Console, the CLI, or 3072// by using the PutMetricAlarm API, CloudWatch creates the necessary service-linked 3073// role for you. The service-linked roles are called AWSServiceRoleForCloudWatchEvents 3074// and AWSServiceRoleForCloudWatchAlarms_ActionSSM. For more information, see 3075// Amazon Web Services service-linked role (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#iam-term-service-linked-role). 3076// 3077// Cross-account alarms 3078// 3079// You can set an alarm on metrics in the current account, or in another account. 3080// To create a cross-account alarm that watches a metric in a different account, 3081// you must have completed the following pre-requisites: 3082// 3083// * The account where the metrics are located (the sharing account) must 3084// already have a sharing role named CloudWatch-CrossAccountSharingRole. 3085// If it does not already have this role, you must create it using the instructions 3086// in Set up a sharing account in Cross-account cross-Region CloudWatch console 3087// (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html#enable-cross-account-cross-Region). 3088// The policy for that role must grant access to the ID of the account where 3089// you are creating the alarm. 3090// 3091// * The account where you are creating the alarm (the monitoring account) 3092// must already have a service-linked role named AWSServiceRoleForCloudWatchCrossAccount 3093// to allow CloudWatch to assume the sharing role in the sharing account. 3094// If it does not, you must create it following the directions in Set up 3095// a monitoring account in Cross-account cross-Region CloudWatch console 3096// (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html#enable-cross-account-cross-Region). 3097// 3098// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3099// with awserr.Error's Code and Message methods to get detailed information about 3100// the error. 3101// 3102// See the AWS API reference guide for Amazon CloudWatch's 3103// API operation PutMetricAlarm for usage and error information. 3104// 3105// Returned Error Codes: 3106// * ErrCodeLimitExceededFault "LimitExceeded" 3107// The quota for alarms for this customer has already been reached. 3108// 3109// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/PutMetricAlarm 3110func (c *CloudWatch) PutMetricAlarm(input *PutMetricAlarmInput) (*PutMetricAlarmOutput, error) { 3111 req, out := c.PutMetricAlarmRequest(input) 3112 return out, req.Send() 3113} 3114 3115// PutMetricAlarmWithContext is the same as PutMetricAlarm with the addition of 3116// the ability to pass a context and additional request options. 3117// 3118// See PutMetricAlarm for details on how to use this API operation. 3119// 3120// The context must be non-nil and will be used for request cancellation. If 3121// the context is nil a panic will occur. In the future the SDK may create 3122// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3123// for more information on using Contexts. 3124func (c *CloudWatch) PutMetricAlarmWithContext(ctx aws.Context, input *PutMetricAlarmInput, opts ...request.Option) (*PutMetricAlarmOutput, error) { 3125 req, out := c.PutMetricAlarmRequest(input) 3126 req.SetContext(ctx) 3127 req.ApplyOptions(opts...) 3128 return out, req.Send() 3129} 3130 3131const opPutMetricData = "PutMetricData" 3132 3133// PutMetricDataRequest generates a "aws/request.Request" representing the 3134// client's request for the PutMetricData operation. The "output" return 3135// value will be populated with the request's response once the request completes 3136// successfully. 3137// 3138// Use "Send" method on the returned Request to send the API call to the service. 3139// the "output" return value is not valid until after Send returns without error. 3140// 3141// See PutMetricData for more information on using the PutMetricData 3142// API call, and error handling. 3143// 3144// This method is useful when you want to inject custom logic or configuration 3145// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3146// 3147// 3148// // Example sending a request using the PutMetricDataRequest method. 3149// req, resp := client.PutMetricDataRequest(params) 3150// 3151// err := req.Send() 3152// if err == nil { // resp is now filled 3153// fmt.Println(resp) 3154// } 3155// 3156// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/PutMetricData 3157func (c *CloudWatch) PutMetricDataRequest(input *PutMetricDataInput) (req *request.Request, output *PutMetricDataOutput) { 3158 op := &request.Operation{ 3159 Name: opPutMetricData, 3160 HTTPMethod: "POST", 3161 HTTPPath: "/", 3162 } 3163 3164 if input == nil { 3165 input = &PutMetricDataInput{} 3166 } 3167 3168 output = &PutMetricDataOutput{} 3169 req = c.newRequest(op, input, output) 3170 req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 3171 return 3172} 3173 3174// PutMetricData API operation for Amazon CloudWatch. 3175// 3176// Publishes metric data points to Amazon CloudWatch. CloudWatch associates 3177// the data points with the specified metric. If the specified metric does not 3178// exist, CloudWatch creates the metric. When CloudWatch creates a metric, it 3179// can take up to fifteen minutes for the metric to appear in calls to ListMetrics 3180// (https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_ListMetrics.html). 3181// 3182// You can publish either individual data points in the Value field, or arrays 3183// of values and the number of times each value occurred during the period by 3184// using the Values and Counts fields in the MetricDatum structure. Using the 3185// Values and Counts method enables you to publish up to 150 values per metric 3186// with one PutMetricData request, and supports retrieving percentile statistics 3187// on this data. 3188// 3189// Each PutMetricData request is limited to 40 KB in size for HTTP POST requests. 3190// You can send a payload compressed by gzip. Each request is also limited to 3191// no more than 20 different metrics. 3192// 3193// Although the Value parameter accepts numbers of type Double, CloudWatch rejects 3194// values that are either too small or too large. Values must be in the range 3195// of -2^360 to 2^360. In addition, special values (for example, NaN, +Infinity, 3196// -Infinity) are not supported. 3197// 3198// You can use up to 10 dimensions per metric to further clarify what data the 3199// metric collects. Each dimension consists of a Name and Value pair. For more 3200// information about specifying dimensions, see Publishing Metrics (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/publishingMetrics.html) 3201// in the Amazon CloudWatch User Guide. 3202// 3203// You specify the time stamp to be associated with each data point. You can 3204// specify time stamps that are as much as two weeks before the current date, 3205// and as much as 2 hours after the current day and time. 3206// 3207// Data points with time stamps from 24 hours ago or longer can take at least 3208// 48 hours to become available for GetMetricData (https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_GetMetricData.html) 3209// or GetMetricStatistics (https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_GetMetricStatistics.html) 3210// from the time they are submitted. Data points with time stamps between 3 3211// and 24 hours ago can take as much as 2 hours to become available for for 3212// GetMetricData (https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_GetMetricData.html) 3213// or GetMetricStatistics (https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_GetMetricStatistics.html). 3214// 3215// CloudWatch needs raw data points to calculate percentile statistics. If you 3216// publish data using a statistic set instead, you can only retrieve percentile 3217// statistics for this data if one of the following conditions is true: 3218// 3219// * The SampleCount value of the statistic set is 1 and Min, Max, and Sum 3220// are all equal. 3221// 3222// * The Min and Max are equal, and Sum is equal to Min multiplied by SampleCount. 3223// 3224// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3225// with awserr.Error's Code and Message methods to get detailed information about 3226// the error. 3227// 3228// See the AWS API reference guide for Amazon CloudWatch's 3229// API operation PutMetricData for usage and error information. 3230// 3231// Returned Error Codes: 3232// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 3233// The value of an input parameter is bad or out-of-range. 3234// 3235// * ErrCodeMissingRequiredParameterException "MissingParameter" 3236// An input parameter that is required is missing. 3237// 3238// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 3239// Parameters were used together that cannot be used together. 3240// 3241// * ErrCodeInternalServiceFault "InternalServiceError" 3242// Request processing has failed due to some unknown error, exception, or failure. 3243// 3244// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/PutMetricData 3245func (c *CloudWatch) PutMetricData(input *PutMetricDataInput) (*PutMetricDataOutput, error) { 3246 req, out := c.PutMetricDataRequest(input) 3247 return out, req.Send() 3248} 3249 3250// PutMetricDataWithContext is the same as PutMetricData with the addition of 3251// the ability to pass a context and additional request options. 3252// 3253// See PutMetricData for details on how to use this API operation. 3254// 3255// The context must be non-nil and will be used for request cancellation. If 3256// the context is nil a panic will occur. In the future the SDK may create 3257// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3258// for more information on using Contexts. 3259func (c *CloudWatch) PutMetricDataWithContext(ctx aws.Context, input *PutMetricDataInput, opts ...request.Option) (*PutMetricDataOutput, error) { 3260 req, out := c.PutMetricDataRequest(input) 3261 req.SetContext(ctx) 3262 req.ApplyOptions(opts...) 3263 return out, req.Send() 3264} 3265 3266const opPutMetricStream = "PutMetricStream" 3267 3268// PutMetricStreamRequest generates a "aws/request.Request" representing the 3269// client's request for the PutMetricStream operation. The "output" return 3270// value will be populated with the request's response once the request completes 3271// successfully. 3272// 3273// Use "Send" method on the returned Request to send the API call to the service. 3274// the "output" return value is not valid until after Send returns without error. 3275// 3276// See PutMetricStream for more information on using the PutMetricStream 3277// API call, and error handling. 3278// 3279// This method is useful when you want to inject custom logic or configuration 3280// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3281// 3282// 3283// // Example sending a request using the PutMetricStreamRequest method. 3284// req, resp := client.PutMetricStreamRequest(params) 3285// 3286// err := req.Send() 3287// if err == nil { // resp is now filled 3288// fmt.Println(resp) 3289// } 3290// 3291// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/PutMetricStream 3292func (c *CloudWatch) PutMetricStreamRequest(input *PutMetricStreamInput) (req *request.Request, output *PutMetricStreamOutput) { 3293 op := &request.Operation{ 3294 Name: opPutMetricStream, 3295 HTTPMethod: "POST", 3296 HTTPPath: "/", 3297 } 3298 3299 if input == nil { 3300 input = &PutMetricStreamInput{} 3301 } 3302 3303 output = &PutMetricStreamOutput{} 3304 req = c.newRequest(op, input, output) 3305 return 3306} 3307 3308// PutMetricStream API operation for Amazon CloudWatch. 3309// 3310// Creates or updates a metric stream. Metric streams can automatically stream 3311// CloudWatch metrics to Amazon Web Services destinations including Amazon S3 3312// and to many third-party solutions. 3313// 3314// For more information, see Using Metric Streams (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Metric-Streams.html). 3315// 3316// To create a metric stream, you must be logged on to an account that has the 3317// iam:PassRole permission and either the CloudWatchFullAccess policy or the 3318// cloudwatch:PutMetricStream permission. 3319// 3320// When you create or update a metric stream, you choose one of the following: 3321// 3322// * Stream metrics from all metric namespaces in the account. 3323// 3324// * Stream metrics from all metric namespaces in the account, except for 3325// the namespaces that you list in ExcludeFilters. 3326// 3327// * Stream metrics from only the metric namespaces that you list in IncludeFilters. 3328// 3329// When you use PutMetricStream to create a new metric stream, the stream is 3330// created in the running state. If you use it to update an existing stream, 3331// the state of the stream is not changed. 3332// 3333// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3334// with awserr.Error's Code and Message methods to get detailed information about 3335// the error. 3336// 3337// See the AWS API reference guide for Amazon CloudWatch's 3338// API operation PutMetricStream for usage and error information. 3339// 3340// Returned Error Codes: 3341// * ErrCodeConcurrentModificationException "ConcurrentModificationException" 3342// More than one process tried to modify a resource at the same time. 3343// 3344// * ErrCodeInternalServiceFault "InternalServiceError" 3345// Request processing has failed due to some unknown error, exception, or failure. 3346// 3347// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 3348// The value of an input parameter is bad or out-of-range. 3349// 3350// * ErrCodeMissingRequiredParameterException "MissingParameter" 3351// An input parameter that is required is missing. 3352// 3353// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 3354// Parameters were used together that cannot be used together. 3355// 3356// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/PutMetricStream 3357func (c *CloudWatch) PutMetricStream(input *PutMetricStreamInput) (*PutMetricStreamOutput, error) { 3358 req, out := c.PutMetricStreamRequest(input) 3359 return out, req.Send() 3360} 3361 3362// PutMetricStreamWithContext is the same as PutMetricStream with the addition of 3363// the ability to pass a context and additional request options. 3364// 3365// See PutMetricStream for details on how to use this API operation. 3366// 3367// The context must be non-nil and will be used for request cancellation. If 3368// the context is nil a panic will occur. In the future the SDK may create 3369// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3370// for more information on using Contexts. 3371func (c *CloudWatch) PutMetricStreamWithContext(ctx aws.Context, input *PutMetricStreamInput, opts ...request.Option) (*PutMetricStreamOutput, error) { 3372 req, out := c.PutMetricStreamRequest(input) 3373 req.SetContext(ctx) 3374 req.ApplyOptions(opts...) 3375 return out, req.Send() 3376} 3377 3378const opSetAlarmState = "SetAlarmState" 3379 3380// SetAlarmStateRequest generates a "aws/request.Request" representing the 3381// client's request for the SetAlarmState operation. The "output" return 3382// value will be populated with the request's response once the request completes 3383// successfully. 3384// 3385// Use "Send" method on the returned Request to send the API call to the service. 3386// the "output" return value is not valid until after Send returns without error. 3387// 3388// See SetAlarmState for more information on using the SetAlarmState 3389// API call, and error handling. 3390// 3391// This method is useful when you want to inject custom logic or configuration 3392// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3393// 3394// 3395// // Example sending a request using the SetAlarmStateRequest method. 3396// req, resp := client.SetAlarmStateRequest(params) 3397// 3398// err := req.Send() 3399// if err == nil { // resp is now filled 3400// fmt.Println(resp) 3401// } 3402// 3403// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/SetAlarmState 3404func (c *CloudWatch) SetAlarmStateRequest(input *SetAlarmStateInput) (req *request.Request, output *SetAlarmStateOutput) { 3405 op := &request.Operation{ 3406 Name: opSetAlarmState, 3407 HTTPMethod: "POST", 3408 HTTPPath: "/", 3409 } 3410 3411 if input == nil { 3412 input = &SetAlarmStateInput{} 3413 } 3414 3415 output = &SetAlarmStateOutput{} 3416 req = c.newRequest(op, input, output) 3417 req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 3418 return 3419} 3420 3421// SetAlarmState API operation for Amazon CloudWatch. 3422// 3423// Temporarily sets the state of an alarm for testing purposes. When the updated 3424// state differs from the previous value, the action configured for the appropriate 3425// state is invoked. For example, if your alarm is configured to send an Amazon 3426// SNS message when an alarm is triggered, temporarily changing the alarm state 3427// to ALARM sends an SNS message. 3428// 3429// Metric alarms returns to their actual state quickly, often within seconds. 3430// Because the metric alarm state change happens quickly, it is typically only 3431// visible in the alarm's History tab in the Amazon CloudWatch console or through 3432// DescribeAlarmHistory (https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_DescribeAlarmHistory.html). 3433// 3434// If you use SetAlarmState on a composite alarm, the composite alarm is not 3435// guaranteed to return to its actual state. It returns to its actual state 3436// only once any of its children alarms change state. It is also reevaluated 3437// if you update its configuration. 3438// 3439// If an alarm triggers EC2 Auto Scaling policies or application Auto Scaling 3440// policies, you must include information in the StateReasonData parameter to 3441// enable the policy to take the correct action. 3442// 3443// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3444// with awserr.Error's Code and Message methods to get detailed information about 3445// the error. 3446// 3447// See the AWS API reference guide for Amazon CloudWatch's 3448// API operation SetAlarmState for usage and error information. 3449// 3450// Returned Error Codes: 3451// * ErrCodeResourceNotFound "ResourceNotFound" 3452// The named resource does not exist. 3453// 3454// * ErrCodeInvalidFormatFault "InvalidFormat" 3455// Data was not syntactically valid JSON. 3456// 3457// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/SetAlarmState 3458func (c *CloudWatch) SetAlarmState(input *SetAlarmStateInput) (*SetAlarmStateOutput, error) { 3459 req, out := c.SetAlarmStateRequest(input) 3460 return out, req.Send() 3461} 3462 3463// SetAlarmStateWithContext is the same as SetAlarmState with the addition of 3464// the ability to pass a context and additional request options. 3465// 3466// See SetAlarmState for details on how to use this API operation. 3467// 3468// The context must be non-nil and will be used for request cancellation. If 3469// the context is nil a panic will occur. In the future the SDK may create 3470// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3471// for more information on using Contexts. 3472func (c *CloudWatch) SetAlarmStateWithContext(ctx aws.Context, input *SetAlarmStateInput, opts ...request.Option) (*SetAlarmStateOutput, error) { 3473 req, out := c.SetAlarmStateRequest(input) 3474 req.SetContext(ctx) 3475 req.ApplyOptions(opts...) 3476 return out, req.Send() 3477} 3478 3479const opStartMetricStreams = "StartMetricStreams" 3480 3481// StartMetricStreamsRequest generates a "aws/request.Request" representing the 3482// client's request for the StartMetricStreams operation. The "output" return 3483// value will be populated with the request's response once the request completes 3484// successfully. 3485// 3486// Use "Send" method on the returned Request to send the API call to the service. 3487// the "output" return value is not valid until after Send returns without error. 3488// 3489// See StartMetricStreams for more information on using the StartMetricStreams 3490// API call, and error handling. 3491// 3492// This method is useful when you want to inject custom logic or configuration 3493// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3494// 3495// 3496// // Example sending a request using the StartMetricStreamsRequest method. 3497// req, resp := client.StartMetricStreamsRequest(params) 3498// 3499// err := req.Send() 3500// if err == nil { // resp is now filled 3501// fmt.Println(resp) 3502// } 3503// 3504// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/StartMetricStreams 3505func (c *CloudWatch) StartMetricStreamsRequest(input *StartMetricStreamsInput) (req *request.Request, output *StartMetricStreamsOutput) { 3506 op := &request.Operation{ 3507 Name: opStartMetricStreams, 3508 HTTPMethod: "POST", 3509 HTTPPath: "/", 3510 } 3511 3512 if input == nil { 3513 input = &StartMetricStreamsInput{} 3514 } 3515 3516 output = &StartMetricStreamsOutput{} 3517 req = c.newRequest(op, input, output) 3518 req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 3519 return 3520} 3521 3522// StartMetricStreams API operation for Amazon CloudWatch. 3523// 3524// Starts the streaming of metrics for one or more of your metric streams. 3525// 3526// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3527// with awserr.Error's Code and Message methods to get detailed information about 3528// the error. 3529// 3530// See the AWS API reference guide for Amazon CloudWatch's 3531// API operation StartMetricStreams for usage and error information. 3532// 3533// Returned Error Codes: 3534// * ErrCodeInternalServiceFault "InternalServiceError" 3535// Request processing has failed due to some unknown error, exception, or failure. 3536// 3537// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 3538// The value of an input parameter is bad or out-of-range. 3539// 3540// * ErrCodeMissingRequiredParameterException "MissingParameter" 3541// An input parameter that is required is missing. 3542// 3543// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/StartMetricStreams 3544func (c *CloudWatch) StartMetricStreams(input *StartMetricStreamsInput) (*StartMetricStreamsOutput, error) { 3545 req, out := c.StartMetricStreamsRequest(input) 3546 return out, req.Send() 3547} 3548 3549// StartMetricStreamsWithContext is the same as StartMetricStreams with the addition of 3550// the ability to pass a context and additional request options. 3551// 3552// See StartMetricStreams for details on how to use this API operation. 3553// 3554// The context must be non-nil and will be used for request cancellation. If 3555// the context is nil a panic will occur. In the future the SDK may create 3556// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3557// for more information on using Contexts. 3558func (c *CloudWatch) StartMetricStreamsWithContext(ctx aws.Context, input *StartMetricStreamsInput, opts ...request.Option) (*StartMetricStreamsOutput, error) { 3559 req, out := c.StartMetricStreamsRequest(input) 3560 req.SetContext(ctx) 3561 req.ApplyOptions(opts...) 3562 return out, req.Send() 3563} 3564 3565const opStopMetricStreams = "StopMetricStreams" 3566 3567// StopMetricStreamsRequest generates a "aws/request.Request" representing the 3568// client's request for the StopMetricStreams operation. The "output" return 3569// value will be populated with the request's response once the request completes 3570// successfully. 3571// 3572// Use "Send" method on the returned Request to send the API call to the service. 3573// the "output" return value is not valid until after Send returns without error. 3574// 3575// See StopMetricStreams for more information on using the StopMetricStreams 3576// API call, and error handling. 3577// 3578// This method is useful when you want to inject custom logic or configuration 3579// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3580// 3581// 3582// // Example sending a request using the StopMetricStreamsRequest method. 3583// req, resp := client.StopMetricStreamsRequest(params) 3584// 3585// err := req.Send() 3586// if err == nil { // resp is now filled 3587// fmt.Println(resp) 3588// } 3589// 3590// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/StopMetricStreams 3591func (c *CloudWatch) StopMetricStreamsRequest(input *StopMetricStreamsInput) (req *request.Request, output *StopMetricStreamsOutput) { 3592 op := &request.Operation{ 3593 Name: opStopMetricStreams, 3594 HTTPMethod: "POST", 3595 HTTPPath: "/", 3596 } 3597 3598 if input == nil { 3599 input = &StopMetricStreamsInput{} 3600 } 3601 3602 output = &StopMetricStreamsOutput{} 3603 req = c.newRequest(op, input, output) 3604 req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 3605 return 3606} 3607 3608// StopMetricStreams API operation for Amazon CloudWatch. 3609// 3610// Stops the streaming of metrics for one or more of your metric streams. 3611// 3612// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3613// with awserr.Error's Code and Message methods to get detailed information about 3614// the error. 3615// 3616// See the AWS API reference guide for Amazon CloudWatch's 3617// API operation StopMetricStreams for usage and error information. 3618// 3619// Returned Error Codes: 3620// * ErrCodeInternalServiceFault "InternalServiceError" 3621// Request processing has failed due to some unknown error, exception, or failure. 3622// 3623// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 3624// The value of an input parameter is bad or out-of-range. 3625// 3626// * ErrCodeMissingRequiredParameterException "MissingParameter" 3627// An input parameter that is required is missing. 3628// 3629// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/StopMetricStreams 3630func (c *CloudWatch) StopMetricStreams(input *StopMetricStreamsInput) (*StopMetricStreamsOutput, error) { 3631 req, out := c.StopMetricStreamsRequest(input) 3632 return out, req.Send() 3633} 3634 3635// StopMetricStreamsWithContext is the same as StopMetricStreams with the addition of 3636// the ability to pass a context and additional request options. 3637// 3638// See StopMetricStreams for details on how to use this API operation. 3639// 3640// The context must be non-nil and will be used for request cancellation. If 3641// the context is nil a panic will occur. In the future the SDK may create 3642// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3643// for more information on using Contexts. 3644func (c *CloudWatch) StopMetricStreamsWithContext(ctx aws.Context, input *StopMetricStreamsInput, opts ...request.Option) (*StopMetricStreamsOutput, error) { 3645 req, out := c.StopMetricStreamsRequest(input) 3646 req.SetContext(ctx) 3647 req.ApplyOptions(opts...) 3648 return out, req.Send() 3649} 3650 3651const opTagResource = "TagResource" 3652 3653// TagResourceRequest generates a "aws/request.Request" representing the 3654// client's request for the TagResource operation. The "output" return 3655// value will be populated with the request's response once the request completes 3656// successfully. 3657// 3658// Use "Send" method on the returned Request to send the API call to the service. 3659// the "output" return value is not valid until after Send returns without error. 3660// 3661// See TagResource for more information on using the TagResource 3662// API call, and error handling. 3663// 3664// This method is useful when you want to inject custom logic or configuration 3665// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3666// 3667// 3668// // Example sending a request using the TagResourceRequest method. 3669// req, resp := client.TagResourceRequest(params) 3670// 3671// err := req.Send() 3672// if err == nil { // resp is now filled 3673// fmt.Println(resp) 3674// } 3675// 3676// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/TagResource 3677func (c *CloudWatch) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) { 3678 op := &request.Operation{ 3679 Name: opTagResource, 3680 HTTPMethod: "POST", 3681 HTTPPath: "/", 3682 } 3683 3684 if input == nil { 3685 input = &TagResourceInput{} 3686 } 3687 3688 output = &TagResourceOutput{} 3689 req = c.newRequest(op, input, output) 3690 req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 3691 return 3692} 3693 3694// TagResource API operation for Amazon CloudWatch. 3695// 3696// Assigns one or more tags (key-value pairs) to the specified CloudWatch resource. 3697// Currently, the only CloudWatch resources that can be tagged are alarms and 3698// Contributor Insights rules. 3699// 3700// Tags can help you organize and categorize your resources. You can also use 3701// them to scope user permissions by granting a user permission to access or 3702// change only resources with certain tag values. 3703// 3704// Tags don't have any semantic meaning to Amazon Web Services and are interpreted 3705// strictly as strings of characters. 3706// 3707// You can use the TagResource action with an alarm that already has tags. If 3708// you specify a new tag key for the alarm, this tag is appended to the list 3709// of tags associated with the alarm. If you specify a tag key that is already 3710// associated with the alarm, the new tag value that you specify replaces the 3711// previous value for that tag. 3712// 3713// You can associate as many as 50 tags with a CloudWatch resource. 3714// 3715// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3716// with awserr.Error's Code and Message methods to get detailed information about 3717// the error. 3718// 3719// See the AWS API reference guide for Amazon CloudWatch's 3720// API operation TagResource for usage and error information. 3721// 3722// Returned Error Codes: 3723// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 3724// The value of an input parameter is bad or out-of-range. 3725// 3726// * ErrCodeResourceNotFoundException "ResourceNotFoundException" 3727// The named resource does not exist. 3728// 3729// * ErrCodeConcurrentModificationException "ConcurrentModificationException" 3730// More than one process tried to modify a resource at the same time. 3731// 3732// * ErrCodeInternalServiceFault "InternalServiceError" 3733// Request processing has failed due to some unknown error, exception, or failure. 3734// 3735// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/TagResource 3736func (c *CloudWatch) TagResource(input *TagResourceInput) (*TagResourceOutput, error) { 3737 req, out := c.TagResourceRequest(input) 3738 return out, req.Send() 3739} 3740 3741// TagResourceWithContext is the same as TagResource with the addition of 3742// the ability to pass a context and additional request options. 3743// 3744// See TagResource for details on how to use this API operation. 3745// 3746// The context must be non-nil and will be used for request cancellation. If 3747// the context is nil a panic will occur. In the future the SDK may create 3748// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3749// for more information on using Contexts. 3750func (c *CloudWatch) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) { 3751 req, out := c.TagResourceRequest(input) 3752 req.SetContext(ctx) 3753 req.ApplyOptions(opts...) 3754 return out, req.Send() 3755} 3756 3757const opUntagResource = "UntagResource" 3758 3759// UntagResourceRequest generates a "aws/request.Request" representing the 3760// client's request for the UntagResource operation. The "output" return 3761// value will be populated with the request's response once the request completes 3762// successfully. 3763// 3764// Use "Send" method on the returned Request to send the API call to the service. 3765// the "output" return value is not valid until after Send returns without error. 3766// 3767// See UntagResource for more information on using the UntagResource 3768// API call, and error handling. 3769// 3770// This method is useful when you want to inject custom logic or configuration 3771// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3772// 3773// 3774// // Example sending a request using the UntagResourceRequest method. 3775// req, resp := client.UntagResourceRequest(params) 3776// 3777// err := req.Send() 3778// if err == nil { // resp is now filled 3779// fmt.Println(resp) 3780// } 3781// 3782// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/UntagResource 3783func (c *CloudWatch) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) { 3784 op := &request.Operation{ 3785 Name: opUntagResource, 3786 HTTPMethod: "POST", 3787 HTTPPath: "/", 3788 } 3789 3790 if input == nil { 3791 input = &UntagResourceInput{} 3792 } 3793 3794 output = &UntagResourceOutput{} 3795 req = c.newRequest(op, input, output) 3796 req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 3797 return 3798} 3799 3800// UntagResource API operation for Amazon CloudWatch. 3801// 3802// Removes one or more tags from the specified resource. 3803// 3804// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3805// with awserr.Error's Code and Message methods to get detailed information about 3806// the error. 3807// 3808// See the AWS API reference guide for Amazon CloudWatch's 3809// API operation UntagResource for usage and error information. 3810// 3811// Returned Error Codes: 3812// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 3813// The value of an input parameter is bad or out-of-range. 3814// 3815// * ErrCodeResourceNotFoundException "ResourceNotFoundException" 3816// The named resource does not exist. 3817// 3818// * ErrCodeConcurrentModificationException "ConcurrentModificationException" 3819// More than one process tried to modify a resource at the same time. 3820// 3821// * ErrCodeInternalServiceFault "InternalServiceError" 3822// Request processing has failed due to some unknown error, exception, or failure. 3823// 3824// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/UntagResource 3825func (c *CloudWatch) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) { 3826 req, out := c.UntagResourceRequest(input) 3827 return out, req.Send() 3828} 3829 3830// UntagResourceWithContext is the same as UntagResource with the addition of 3831// the ability to pass a context and additional request options. 3832// 3833// See UntagResource for details on how to use this API operation. 3834// 3835// The context must be non-nil and will be used for request cancellation. If 3836// the context is nil a panic will occur. In the future the SDK may create 3837// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3838// for more information on using Contexts. 3839func (c *CloudWatch) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) { 3840 req, out := c.UntagResourceRequest(input) 3841 req.SetContext(ctx) 3842 req.ApplyOptions(opts...) 3843 return out, req.Send() 3844} 3845 3846// Represents the history of a specific alarm. 3847type AlarmHistoryItem struct { 3848 _ struct{} `type:"structure"` 3849 3850 // The descriptive name for the alarm. 3851 AlarmName *string `min:"1" type:"string"` 3852 3853 // The type of alarm, either metric alarm or composite alarm. 3854 AlarmType *string `type:"string" enum:"AlarmType"` 3855 3856 // Data about the alarm, in JSON format. 3857 HistoryData *string `min:"1" type:"string"` 3858 3859 // The type of alarm history item. 3860 HistoryItemType *string `type:"string" enum:"HistoryItemType"` 3861 3862 // A summary of the alarm history, in text format. 3863 HistorySummary *string `min:"1" type:"string"` 3864 3865 // The time stamp for the alarm history item. 3866 Timestamp *time.Time `type:"timestamp"` 3867} 3868 3869// String returns the string representation. 3870// 3871// API parameter values that are decorated as "sensitive" in the API will not 3872// be included in the string output. The member name will be present, but the 3873// value will be replaced with "sensitive". 3874func (s AlarmHistoryItem) String() string { 3875 return awsutil.Prettify(s) 3876} 3877 3878// GoString returns the string representation. 3879// 3880// API parameter values that are decorated as "sensitive" in the API will not 3881// be included in the string output. The member name will be present, but the 3882// value will be replaced with "sensitive". 3883func (s AlarmHistoryItem) GoString() string { 3884 return s.String() 3885} 3886 3887// SetAlarmName sets the AlarmName field's value. 3888func (s *AlarmHistoryItem) SetAlarmName(v string) *AlarmHistoryItem { 3889 s.AlarmName = &v 3890 return s 3891} 3892 3893// SetAlarmType sets the AlarmType field's value. 3894func (s *AlarmHistoryItem) SetAlarmType(v string) *AlarmHistoryItem { 3895 s.AlarmType = &v 3896 return s 3897} 3898 3899// SetHistoryData sets the HistoryData field's value. 3900func (s *AlarmHistoryItem) SetHistoryData(v string) *AlarmHistoryItem { 3901 s.HistoryData = &v 3902 return s 3903} 3904 3905// SetHistoryItemType sets the HistoryItemType field's value. 3906func (s *AlarmHistoryItem) SetHistoryItemType(v string) *AlarmHistoryItem { 3907 s.HistoryItemType = &v 3908 return s 3909} 3910 3911// SetHistorySummary sets the HistorySummary field's value. 3912func (s *AlarmHistoryItem) SetHistorySummary(v string) *AlarmHistoryItem { 3913 s.HistorySummary = &v 3914 return s 3915} 3916 3917// SetTimestamp sets the Timestamp field's value. 3918func (s *AlarmHistoryItem) SetTimestamp(v time.Time) *AlarmHistoryItem { 3919 s.Timestamp = &v 3920 return s 3921} 3922 3923// An anomaly detection model associated with a particular CloudWatch metric 3924// and statistic. You can use the model to display a band of expected normal 3925// values when the metric is graphed. 3926type AnomalyDetector struct { 3927 _ struct{} `type:"structure"` 3928 3929 // The configuration specifies details about how the anomaly detection model 3930 // is to be trained, including time ranges to exclude from use for training 3931 // the model, and the time zone to use for the metric. 3932 Configuration *AnomalyDetectorConfiguration `type:"structure"` 3933 3934 // The metric dimensions associated with the anomaly detection model. 3935 Dimensions []*Dimension `type:"list"` 3936 3937 // The name of the metric associated with the anomaly detection model. 3938 MetricName *string `min:"1" type:"string"` 3939 3940 // The namespace of the metric associated with the anomaly detection model. 3941 Namespace *string `min:"1" type:"string"` 3942 3943 // The statistic associated with the anomaly detection model. 3944 Stat *string `type:"string"` 3945 3946 // The current status of the anomaly detector's training. The possible values 3947 // are TRAINED | PENDING_TRAINING | TRAINED_INSUFFICIENT_DATA 3948 StateValue *string `type:"string" enum:"AnomalyDetectorStateValue"` 3949} 3950 3951// String returns the string representation. 3952// 3953// API parameter values that are decorated as "sensitive" in the API will not 3954// be included in the string output. The member name will be present, but the 3955// value will be replaced with "sensitive". 3956func (s AnomalyDetector) String() string { 3957 return awsutil.Prettify(s) 3958} 3959 3960// GoString returns the string representation. 3961// 3962// API parameter values that are decorated as "sensitive" in the API will not 3963// be included in the string output. The member name will be present, but the 3964// value will be replaced with "sensitive". 3965func (s AnomalyDetector) GoString() string { 3966 return s.String() 3967} 3968 3969// SetConfiguration sets the Configuration field's value. 3970func (s *AnomalyDetector) SetConfiguration(v *AnomalyDetectorConfiguration) *AnomalyDetector { 3971 s.Configuration = v 3972 return s 3973} 3974 3975// SetDimensions sets the Dimensions field's value. 3976func (s *AnomalyDetector) SetDimensions(v []*Dimension) *AnomalyDetector { 3977 s.Dimensions = v 3978 return s 3979} 3980 3981// SetMetricName sets the MetricName field's value. 3982func (s *AnomalyDetector) SetMetricName(v string) *AnomalyDetector { 3983 s.MetricName = &v 3984 return s 3985} 3986 3987// SetNamespace sets the Namespace field's value. 3988func (s *AnomalyDetector) SetNamespace(v string) *AnomalyDetector { 3989 s.Namespace = &v 3990 return s 3991} 3992 3993// SetStat sets the Stat field's value. 3994func (s *AnomalyDetector) SetStat(v string) *AnomalyDetector { 3995 s.Stat = &v 3996 return s 3997} 3998 3999// SetStateValue sets the StateValue field's value. 4000func (s *AnomalyDetector) SetStateValue(v string) *AnomalyDetector { 4001 s.StateValue = &v 4002 return s 4003} 4004 4005// The configuration specifies details about how the anomaly detection model 4006// is to be trained, including time ranges to exclude from use for training 4007// the model and the time zone to use for the metric. 4008type AnomalyDetectorConfiguration struct { 4009 _ struct{} `type:"structure"` 4010 4011 // An array of time ranges to exclude from use when the anomaly detection model 4012 // is trained. Use this to make sure that events that could cause unusual values 4013 // for the metric, such as deployments, aren't used when CloudWatch creates 4014 // the model. 4015 ExcludedTimeRanges []*Range `type:"list"` 4016 4017 // The time zone to use for the metric. This is useful to enable the model to 4018 // automatically account for daylight savings time changes if the metric is 4019 // sensitive to such time changes. 4020 // 4021 // To specify a time zone, use the name of the time zone as specified in the 4022 // standard tz database. For more information, see tz database (https://en.wikipedia.org/wiki/Tz_database). 4023 MetricTimezone *string `type:"string"` 4024} 4025 4026// String returns the string representation. 4027// 4028// API parameter values that are decorated as "sensitive" in the API will not 4029// be included in the string output. The member name will be present, but the 4030// value will be replaced with "sensitive". 4031func (s AnomalyDetectorConfiguration) String() string { 4032 return awsutil.Prettify(s) 4033} 4034 4035// GoString returns the string representation. 4036// 4037// API parameter values that are decorated as "sensitive" in the API will not 4038// be included in the string output. The member name will be present, but the 4039// value will be replaced with "sensitive". 4040func (s AnomalyDetectorConfiguration) GoString() string { 4041 return s.String() 4042} 4043 4044// Validate inspects the fields of the type to determine if they are valid. 4045func (s *AnomalyDetectorConfiguration) Validate() error { 4046 invalidParams := request.ErrInvalidParams{Context: "AnomalyDetectorConfiguration"} 4047 if s.ExcludedTimeRanges != nil { 4048 for i, v := range s.ExcludedTimeRanges { 4049 if v == nil { 4050 continue 4051 } 4052 if err := v.Validate(); err != nil { 4053 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ExcludedTimeRanges", i), err.(request.ErrInvalidParams)) 4054 } 4055 } 4056 } 4057 4058 if invalidParams.Len() > 0 { 4059 return invalidParams 4060 } 4061 return nil 4062} 4063 4064// SetExcludedTimeRanges sets the ExcludedTimeRanges field's value. 4065func (s *AnomalyDetectorConfiguration) SetExcludedTimeRanges(v []*Range) *AnomalyDetectorConfiguration { 4066 s.ExcludedTimeRanges = v 4067 return s 4068} 4069 4070// SetMetricTimezone sets the MetricTimezone field's value. 4071func (s *AnomalyDetectorConfiguration) SetMetricTimezone(v string) *AnomalyDetectorConfiguration { 4072 s.MetricTimezone = &v 4073 return s 4074} 4075 4076// The details about a composite alarm. 4077type CompositeAlarm struct { 4078 _ struct{} `type:"structure"` 4079 4080 // Indicates whether actions should be executed during any changes to the alarm 4081 // state. 4082 ActionsEnabled *bool `type:"boolean"` 4083 4084 // The actions to execute when this alarm transitions to the ALARM state from 4085 // any other state. Each action is specified as an Amazon Resource Name (ARN). 4086 AlarmActions []*string `type:"list"` 4087 4088 // The Amazon Resource Name (ARN) of the alarm. 4089 AlarmArn *string `min:"1" type:"string"` 4090 4091 // The time stamp of the last update to the alarm configuration. 4092 AlarmConfigurationUpdatedTimestamp *time.Time `type:"timestamp"` 4093 4094 // The description of the alarm. 4095 AlarmDescription *string `type:"string"` 4096 4097 // The name of the alarm. 4098 AlarmName *string `min:"1" type:"string"` 4099 4100 // The rule that this alarm uses to evaluate its alarm state. 4101 AlarmRule *string `min:"1" type:"string"` 4102 4103 // The actions to execute when this alarm transitions to the INSUFFICIENT_DATA 4104 // state from any other state. Each action is specified as an Amazon Resource 4105 // Name (ARN). 4106 InsufficientDataActions []*string `type:"list"` 4107 4108 // The actions to execute when this alarm transitions to the OK state from any 4109 // other state. Each action is specified as an Amazon Resource Name (ARN). 4110 OKActions []*string `type:"list"` 4111 4112 // An explanation for the alarm state, in text format. 4113 StateReason *string `type:"string"` 4114 4115 // An explanation for the alarm state, in JSON format. 4116 StateReasonData *string `type:"string"` 4117 4118 // The time stamp of the last update to the alarm state. 4119 StateUpdatedTimestamp *time.Time `type:"timestamp"` 4120 4121 // The state value for the alarm. 4122 StateValue *string `type:"string" enum:"StateValue"` 4123} 4124 4125// String returns the string representation. 4126// 4127// API parameter values that are decorated as "sensitive" in the API will not 4128// be included in the string output. The member name will be present, but the 4129// value will be replaced with "sensitive". 4130func (s CompositeAlarm) String() string { 4131 return awsutil.Prettify(s) 4132} 4133 4134// GoString returns the string representation. 4135// 4136// API parameter values that are decorated as "sensitive" in the API will not 4137// be included in the string output. The member name will be present, but the 4138// value will be replaced with "sensitive". 4139func (s CompositeAlarm) GoString() string { 4140 return s.String() 4141} 4142 4143// SetActionsEnabled sets the ActionsEnabled field's value. 4144func (s *CompositeAlarm) SetActionsEnabled(v bool) *CompositeAlarm { 4145 s.ActionsEnabled = &v 4146 return s 4147} 4148 4149// SetAlarmActions sets the AlarmActions field's value. 4150func (s *CompositeAlarm) SetAlarmActions(v []*string) *CompositeAlarm { 4151 s.AlarmActions = v 4152 return s 4153} 4154 4155// SetAlarmArn sets the AlarmArn field's value. 4156func (s *CompositeAlarm) SetAlarmArn(v string) *CompositeAlarm { 4157 s.AlarmArn = &v 4158 return s 4159} 4160 4161// SetAlarmConfigurationUpdatedTimestamp sets the AlarmConfigurationUpdatedTimestamp field's value. 4162func (s *CompositeAlarm) SetAlarmConfigurationUpdatedTimestamp(v time.Time) *CompositeAlarm { 4163 s.AlarmConfigurationUpdatedTimestamp = &v 4164 return s 4165} 4166 4167// SetAlarmDescription sets the AlarmDescription field's value. 4168func (s *CompositeAlarm) SetAlarmDescription(v string) *CompositeAlarm { 4169 s.AlarmDescription = &v 4170 return s 4171} 4172 4173// SetAlarmName sets the AlarmName field's value. 4174func (s *CompositeAlarm) SetAlarmName(v string) *CompositeAlarm { 4175 s.AlarmName = &v 4176 return s 4177} 4178 4179// SetAlarmRule sets the AlarmRule field's value. 4180func (s *CompositeAlarm) SetAlarmRule(v string) *CompositeAlarm { 4181 s.AlarmRule = &v 4182 return s 4183} 4184 4185// SetInsufficientDataActions sets the InsufficientDataActions field's value. 4186func (s *CompositeAlarm) SetInsufficientDataActions(v []*string) *CompositeAlarm { 4187 s.InsufficientDataActions = v 4188 return s 4189} 4190 4191// SetOKActions sets the OKActions field's value. 4192func (s *CompositeAlarm) SetOKActions(v []*string) *CompositeAlarm { 4193 s.OKActions = v 4194 return s 4195} 4196 4197// SetStateReason sets the StateReason field's value. 4198func (s *CompositeAlarm) SetStateReason(v string) *CompositeAlarm { 4199 s.StateReason = &v 4200 return s 4201} 4202 4203// SetStateReasonData sets the StateReasonData field's value. 4204func (s *CompositeAlarm) SetStateReasonData(v string) *CompositeAlarm { 4205 s.StateReasonData = &v 4206 return s 4207} 4208 4209// SetStateUpdatedTimestamp sets the StateUpdatedTimestamp field's value. 4210func (s *CompositeAlarm) SetStateUpdatedTimestamp(v time.Time) *CompositeAlarm { 4211 s.StateUpdatedTimestamp = &v 4212 return s 4213} 4214 4215// SetStateValue sets the StateValue field's value. 4216func (s *CompositeAlarm) SetStateValue(v string) *CompositeAlarm { 4217 s.StateValue = &v 4218 return s 4219} 4220 4221// Represents a specific dashboard. 4222type DashboardEntry struct { 4223 _ struct{} `type:"structure"` 4224 4225 // The Amazon Resource Name (ARN) of the dashboard. 4226 DashboardArn *string `type:"string"` 4227 4228 // The name of the dashboard. 4229 DashboardName *string `type:"string"` 4230 4231 // The time stamp of when the dashboard was last modified, either by an API 4232 // call or through the console. This number is expressed as the number of milliseconds 4233 // since Jan 1, 1970 00:00:00 UTC. 4234 LastModified *time.Time `type:"timestamp"` 4235 4236 // The size of the dashboard, in bytes. 4237 Size *int64 `type:"long"` 4238} 4239 4240// String returns the string representation. 4241// 4242// API parameter values that are decorated as "sensitive" in the API will not 4243// be included in the string output. The member name will be present, but the 4244// value will be replaced with "sensitive". 4245func (s DashboardEntry) String() string { 4246 return awsutil.Prettify(s) 4247} 4248 4249// GoString returns the string representation. 4250// 4251// API parameter values that are decorated as "sensitive" in the API will not 4252// be included in the string output. The member name will be present, but the 4253// value will be replaced with "sensitive". 4254func (s DashboardEntry) GoString() string { 4255 return s.String() 4256} 4257 4258// SetDashboardArn sets the DashboardArn field's value. 4259func (s *DashboardEntry) SetDashboardArn(v string) *DashboardEntry { 4260 s.DashboardArn = &v 4261 return s 4262} 4263 4264// SetDashboardName sets the DashboardName field's value. 4265func (s *DashboardEntry) SetDashboardName(v string) *DashboardEntry { 4266 s.DashboardName = &v 4267 return s 4268} 4269 4270// SetLastModified sets the LastModified field's value. 4271func (s *DashboardEntry) SetLastModified(v time.Time) *DashboardEntry { 4272 s.LastModified = &v 4273 return s 4274} 4275 4276// SetSize sets the Size field's value. 4277func (s *DashboardEntry) SetSize(v int64) *DashboardEntry { 4278 s.Size = &v 4279 return s 4280} 4281 4282// An error or warning for the operation. 4283type DashboardValidationMessage struct { 4284 _ struct{} `type:"structure"` 4285 4286 // The data path related to the message. 4287 DataPath *string `type:"string"` 4288 4289 // A message describing the error or warning. 4290 Message *string `type:"string"` 4291} 4292 4293// String returns the string representation. 4294// 4295// API parameter values that are decorated as "sensitive" in the API will not 4296// be included in the string output. The member name will be present, but the 4297// value will be replaced with "sensitive". 4298func (s DashboardValidationMessage) String() string { 4299 return awsutil.Prettify(s) 4300} 4301 4302// GoString returns the string representation. 4303// 4304// API parameter values that are decorated as "sensitive" in the API will not 4305// be included in the string output. The member name will be present, but the 4306// value will be replaced with "sensitive". 4307func (s DashboardValidationMessage) GoString() string { 4308 return s.String() 4309} 4310 4311// SetDataPath sets the DataPath field's value. 4312func (s *DashboardValidationMessage) SetDataPath(v string) *DashboardValidationMessage { 4313 s.DataPath = &v 4314 return s 4315} 4316 4317// SetMessage sets the Message field's value. 4318func (s *DashboardValidationMessage) SetMessage(v string) *DashboardValidationMessage { 4319 s.Message = &v 4320 return s 4321} 4322 4323// Encapsulates the statistical data that CloudWatch computes from metric data. 4324type Datapoint struct { 4325 _ struct{} `type:"structure"` 4326 4327 // The average of the metric values that correspond to the data point. 4328 Average *float64 `type:"double"` 4329 4330 // The percentile statistic for the data point. 4331 ExtendedStatistics map[string]*float64 `type:"map"` 4332 4333 // The maximum metric value for the data point. 4334 Maximum *float64 `type:"double"` 4335 4336 // The minimum metric value for the data point. 4337 Minimum *float64 `type:"double"` 4338 4339 // The number of metric values that contributed to the aggregate value of this 4340 // data point. 4341 SampleCount *float64 `type:"double"` 4342 4343 // The sum of the metric values for the data point. 4344 Sum *float64 `type:"double"` 4345 4346 // The time stamp used for the data point. 4347 Timestamp *time.Time `type:"timestamp"` 4348 4349 // The standard unit for the data point. 4350 Unit *string `type:"string" enum:"StandardUnit"` 4351} 4352 4353// String returns the string representation. 4354// 4355// API parameter values that are decorated as "sensitive" in the API will not 4356// be included in the string output. The member name will be present, but the 4357// value will be replaced with "sensitive". 4358func (s Datapoint) String() string { 4359 return awsutil.Prettify(s) 4360} 4361 4362// GoString returns the string representation. 4363// 4364// API parameter values that are decorated as "sensitive" in the API will not 4365// be included in the string output. The member name will be present, but the 4366// value will be replaced with "sensitive". 4367func (s Datapoint) GoString() string { 4368 return s.String() 4369} 4370 4371// SetAverage sets the Average field's value. 4372func (s *Datapoint) SetAverage(v float64) *Datapoint { 4373 s.Average = &v 4374 return s 4375} 4376 4377// SetExtendedStatistics sets the ExtendedStatistics field's value. 4378func (s *Datapoint) SetExtendedStatistics(v map[string]*float64) *Datapoint { 4379 s.ExtendedStatistics = v 4380 return s 4381} 4382 4383// SetMaximum sets the Maximum field's value. 4384func (s *Datapoint) SetMaximum(v float64) *Datapoint { 4385 s.Maximum = &v 4386 return s 4387} 4388 4389// SetMinimum sets the Minimum field's value. 4390func (s *Datapoint) SetMinimum(v float64) *Datapoint { 4391 s.Minimum = &v 4392 return s 4393} 4394 4395// SetSampleCount sets the SampleCount field's value. 4396func (s *Datapoint) SetSampleCount(v float64) *Datapoint { 4397 s.SampleCount = &v 4398 return s 4399} 4400 4401// SetSum sets the Sum field's value. 4402func (s *Datapoint) SetSum(v float64) *Datapoint { 4403 s.Sum = &v 4404 return s 4405} 4406 4407// SetTimestamp sets the Timestamp field's value. 4408func (s *Datapoint) SetTimestamp(v time.Time) *Datapoint { 4409 s.Timestamp = &v 4410 return s 4411} 4412 4413// SetUnit sets the Unit field's value. 4414func (s *Datapoint) SetUnit(v string) *Datapoint { 4415 s.Unit = &v 4416 return s 4417} 4418 4419type DeleteAlarmsInput struct { 4420 _ struct{} `type:"structure"` 4421 4422 // The alarms to be deleted. 4423 // 4424 // AlarmNames is a required field 4425 AlarmNames []*string `type:"list" required:"true"` 4426} 4427 4428// String returns the string representation. 4429// 4430// API parameter values that are decorated as "sensitive" in the API will not 4431// be included in the string output. The member name will be present, but the 4432// value will be replaced with "sensitive". 4433func (s DeleteAlarmsInput) String() string { 4434 return awsutil.Prettify(s) 4435} 4436 4437// GoString returns the string representation. 4438// 4439// API parameter values that are decorated as "sensitive" in the API will not 4440// be included in the string output. The member name will be present, but the 4441// value will be replaced with "sensitive". 4442func (s DeleteAlarmsInput) GoString() string { 4443 return s.String() 4444} 4445 4446// Validate inspects the fields of the type to determine if they are valid. 4447func (s *DeleteAlarmsInput) Validate() error { 4448 invalidParams := request.ErrInvalidParams{Context: "DeleteAlarmsInput"} 4449 if s.AlarmNames == nil { 4450 invalidParams.Add(request.NewErrParamRequired("AlarmNames")) 4451 } 4452 4453 if invalidParams.Len() > 0 { 4454 return invalidParams 4455 } 4456 return nil 4457} 4458 4459// SetAlarmNames sets the AlarmNames field's value. 4460func (s *DeleteAlarmsInput) SetAlarmNames(v []*string) *DeleteAlarmsInput { 4461 s.AlarmNames = v 4462 return s 4463} 4464 4465type DeleteAlarmsOutput struct { 4466 _ struct{} `type:"structure"` 4467} 4468 4469// String returns the string representation. 4470// 4471// API parameter values that are decorated as "sensitive" in the API will not 4472// be included in the string output. The member name will be present, but the 4473// value will be replaced with "sensitive". 4474func (s DeleteAlarmsOutput) String() string { 4475 return awsutil.Prettify(s) 4476} 4477 4478// GoString returns the string representation. 4479// 4480// API parameter values that are decorated as "sensitive" in the API will not 4481// be included in the string output. The member name will be present, but the 4482// value will be replaced with "sensitive". 4483func (s DeleteAlarmsOutput) GoString() string { 4484 return s.String() 4485} 4486 4487type DeleteAnomalyDetectorInput struct { 4488 _ struct{} `type:"structure"` 4489 4490 // The metric dimensions associated with the anomaly detection model to delete. 4491 Dimensions []*Dimension `type:"list"` 4492 4493 // The metric name associated with the anomaly detection model to delete. 4494 // 4495 // MetricName is a required field 4496 MetricName *string `min:"1" type:"string" required:"true"` 4497 4498 // The namespace associated with the anomaly detection model to delete. 4499 // 4500 // Namespace is a required field 4501 Namespace *string `min:"1" type:"string" required:"true"` 4502 4503 // The statistic associated with the anomaly detection model to delete. 4504 // 4505 // Stat is a required field 4506 Stat *string `type:"string" required:"true"` 4507} 4508 4509// String returns the string representation. 4510// 4511// API parameter values that are decorated as "sensitive" in the API will not 4512// be included in the string output. The member name will be present, but the 4513// value will be replaced with "sensitive". 4514func (s DeleteAnomalyDetectorInput) String() string { 4515 return awsutil.Prettify(s) 4516} 4517 4518// GoString returns the string representation. 4519// 4520// API parameter values that are decorated as "sensitive" in the API will not 4521// be included in the string output. The member name will be present, but the 4522// value will be replaced with "sensitive". 4523func (s DeleteAnomalyDetectorInput) GoString() string { 4524 return s.String() 4525} 4526 4527// Validate inspects the fields of the type to determine if they are valid. 4528func (s *DeleteAnomalyDetectorInput) Validate() error { 4529 invalidParams := request.ErrInvalidParams{Context: "DeleteAnomalyDetectorInput"} 4530 if s.MetricName == nil { 4531 invalidParams.Add(request.NewErrParamRequired("MetricName")) 4532 } 4533 if s.MetricName != nil && len(*s.MetricName) < 1 { 4534 invalidParams.Add(request.NewErrParamMinLen("MetricName", 1)) 4535 } 4536 if s.Namespace == nil { 4537 invalidParams.Add(request.NewErrParamRequired("Namespace")) 4538 } 4539 if s.Namespace != nil && len(*s.Namespace) < 1 { 4540 invalidParams.Add(request.NewErrParamMinLen("Namespace", 1)) 4541 } 4542 if s.Stat == nil { 4543 invalidParams.Add(request.NewErrParamRequired("Stat")) 4544 } 4545 if s.Dimensions != nil { 4546 for i, v := range s.Dimensions { 4547 if v == nil { 4548 continue 4549 } 4550 if err := v.Validate(); err != nil { 4551 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Dimensions", i), err.(request.ErrInvalidParams)) 4552 } 4553 } 4554 } 4555 4556 if invalidParams.Len() > 0 { 4557 return invalidParams 4558 } 4559 return nil 4560} 4561 4562// SetDimensions sets the Dimensions field's value. 4563func (s *DeleteAnomalyDetectorInput) SetDimensions(v []*Dimension) *DeleteAnomalyDetectorInput { 4564 s.Dimensions = v 4565 return s 4566} 4567 4568// SetMetricName sets the MetricName field's value. 4569func (s *DeleteAnomalyDetectorInput) SetMetricName(v string) *DeleteAnomalyDetectorInput { 4570 s.MetricName = &v 4571 return s 4572} 4573 4574// SetNamespace sets the Namespace field's value. 4575func (s *DeleteAnomalyDetectorInput) SetNamespace(v string) *DeleteAnomalyDetectorInput { 4576 s.Namespace = &v 4577 return s 4578} 4579 4580// SetStat sets the Stat field's value. 4581func (s *DeleteAnomalyDetectorInput) SetStat(v string) *DeleteAnomalyDetectorInput { 4582 s.Stat = &v 4583 return s 4584} 4585 4586type DeleteAnomalyDetectorOutput struct { 4587 _ struct{} `type:"structure"` 4588} 4589 4590// String returns the string representation. 4591// 4592// API parameter values that are decorated as "sensitive" in the API will not 4593// be included in the string output. The member name will be present, but the 4594// value will be replaced with "sensitive". 4595func (s DeleteAnomalyDetectorOutput) String() string { 4596 return awsutil.Prettify(s) 4597} 4598 4599// GoString returns the string representation. 4600// 4601// API parameter values that are decorated as "sensitive" in the API will not 4602// be included in the string output. The member name will be present, but the 4603// value will be replaced with "sensitive". 4604func (s DeleteAnomalyDetectorOutput) GoString() string { 4605 return s.String() 4606} 4607 4608type DeleteDashboardsInput struct { 4609 _ struct{} `type:"structure"` 4610 4611 // The dashboards to be deleted. This parameter is required. 4612 // 4613 // DashboardNames is a required field 4614 DashboardNames []*string `type:"list" required:"true"` 4615} 4616 4617// String returns the string representation. 4618// 4619// API parameter values that are decorated as "sensitive" in the API will not 4620// be included in the string output. The member name will be present, but the 4621// value will be replaced with "sensitive". 4622func (s DeleteDashboardsInput) String() string { 4623 return awsutil.Prettify(s) 4624} 4625 4626// GoString returns the string representation. 4627// 4628// API parameter values that are decorated as "sensitive" in the API will not 4629// be included in the string output. The member name will be present, but the 4630// value will be replaced with "sensitive". 4631func (s DeleteDashboardsInput) GoString() string { 4632 return s.String() 4633} 4634 4635// Validate inspects the fields of the type to determine if they are valid. 4636func (s *DeleteDashboardsInput) Validate() error { 4637 invalidParams := request.ErrInvalidParams{Context: "DeleteDashboardsInput"} 4638 if s.DashboardNames == nil { 4639 invalidParams.Add(request.NewErrParamRequired("DashboardNames")) 4640 } 4641 4642 if invalidParams.Len() > 0 { 4643 return invalidParams 4644 } 4645 return nil 4646} 4647 4648// SetDashboardNames sets the DashboardNames field's value. 4649func (s *DeleteDashboardsInput) SetDashboardNames(v []*string) *DeleteDashboardsInput { 4650 s.DashboardNames = v 4651 return s 4652} 4653 4654type DeleteDashboardsOutput struct { 4655 _ struct{} `type:"structure"` 4656} 4657 4658// String returns the string representation. 4659// 4660// API parameter values that are decorated as "sensitive" in the API will not 4661// be included in the string output. The member name will be present, but the 4662// value will be replaced with "sensitive". 4663func (s DeleteDashboardsOutput) String() string { 4664 return awsutil.Prettify(s) 4665} 4666 4667// GoString returns the string representation. 4668// 4669// API parameter values that are decorated as "sensitive" in the API will not 4670// be included in the string output. The member name will be present, but the 4671// value will be replaced with "sensitive". 4672func (s DeleteDashboardsOutput) GoString() string { 4673 return s.String() 4674} 4675 4676type DeleteInsightRulesInput struct { 4677 _ struct{} `type:"structure"` 4678 4679 // An array of the rule names to delete. If you need to find out the names of 4680 // your rules, use DescribeInsightRules (https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_DescribeInsightRules.html). 4681 // 4682 // RuleNames is a required field 4683 RuleNames []*string `type:"list" required:"true"` 4684} 4685 4686// String returns the string representation. 4687// 4688// API parameter values that are decorated as "sensitive" in the API will not 4689// be included in the string output. The member name will be present, but the 4690// value will be replaced with "sensitive". 4691func (s DeleteInsightRulesInput) String() string { 4692 return awsutil.Prettify(s) 4693} 4694 4695// GoString returns the string representation. 4696// 4697// API parameter values that are decorated as "sensitive" in the API will not 4698// be included in the string output. The member name will be present, but the 4699// value will be replaced with "sensitive". 4700func (s DeleteInsightRulesInput) GoString() string { 4701 return s.String() 4702} 4703 4704// Validate inspects the fields of the type to determine if they are valid. 4705func (s *DeleteInsightRulesInput) Validate() error { 4706 invalidParams := request.ErrInvalidParams{Context: "DeleteInsightRulesInput"} 4707 if s.RuleNames == nil { 4708 invalidParams.Add(request.NewErrParamRequired("RuleNames")) 4709 } 4710 4711 if invalidParams.Len() > 0 { 4712 return invalidParams 4713 } 4714 return nil 4715} 4716 4717// SetRuleNames sets the RuleNames field's value. 4718func (s *DeleteInsightRulesInput) SetRuleNames(v []*string) *DeleteInsightRulesInput { 4719 s.RuleNames = v 4720 return s 4721} 4722 4723type DeleteInsightRulesOutput struct { 4724 _ struct{} `type:"structure"` 4725 4726 // An array listing the rules that could not be deleted. You cannot delete built-in 4727 // rules. 4728 Failures []*PartialFailure `type:"list"` 4729} 4730 4731// String returns the string representation. 4732// 4733// API parameter values that are decorated as "sensitive" in the API will not 4734// be included in the string output. The member name will be present, but the 4735// value will be replaced with "sensitive". 4736func (s DeleteInsightRulesOutput) String() string { 4737 return awsutil.Prettify(s) 4738} 4739 4740// GoString returns the string representation. 4741// 4742// API parameter values that are decorated as "sensitive" in the API will not 4743// be included in the string output. The member name will be present, but the 4744// value will be replaced with "sensitive". 4745func (s DeleteInsightRulesOutput) GoString() string { 4746 return s.String() 4747} 4748 4749// SetFailures sets the Failures field's value. 4750func (s *DeleteInsightRulesOutput) SetFailures(v []*PartialFailure) *DeleteInsightRulesOutput { 4751 s.Failures = v 4752 return s 4753} 4754 4755type DeleteMetricStreamInput struct { 4756 _ struct{} `type:"structure"` 4757 4758 // The name of the metric stream to delete. 4759 // 4760 // Name is a required field 4761 Name *string `min:"1" type:"string" required:"true"` 4762} 4763 4764// String returns the string representation. 4765// 4766// API parameter values that are decorated as "sensitive" in the API will not 4767// be included in the string output. The member name will be present, but the 4768// value will be replaced with "sensitive". 4769func (s DeleteMetricStreamInput) String() string { 4770 return awsutil.Prettify(s) 4771} 4772 4773// GoString returns the string representation. 4774// 4775// API parameter values that are decorated as "sensitive" in the API will not 4776// be included in the string output. The member name will be present, but the 4777// value will be replaced with "sensitive". 4778func (s DeleteMetricStreamInput) GoString() string { 4779 return s.String() 4780} 4781 4782// Validate inspects the fields of the type to determine if they are valid. 4783func (s *DeleteMetricStreamInput) Validate() error { 4784 invalidParams := request.ErrInvalidParams{Context: "DeleteMetricStreamInput"} 4785 if s.Name == nil { 4786 invalidParams.Add(request.NewErrParamRequired("Name")) 4787 } 4788 if s.Name != nil && len(*s.Name) < 1 { 4789 invalidParams.Add(request.NewErrParamMinLen("Name", 1)) 4790 } 4791 4792 if invalidParams.Len() > 0 { 4793 return invalidParams 4794 } 4795 return nil 4796} 4797 4798// SetName sets the Name field's value. 4799func (s *DeleteMetricStreamInput) SetName(v string) *DeleteMetricStreamInput { 4800 s.Name = &v 4801 return s 4802} 4803 4804type DeleteMetricStreamOutput struct { 4805 _ struct{} `type:"structure"` 4806} 4807 4808// String returns the string representation. 4809// 4810// API parameter values that are decorated as "sensitive" in the API will not 4811// be included in the string output. The member name will be present, but the 4812// value will be replaced with "sensitive". 4813func (s DeleteMetricStreamOutput) String() string { 4814 return awsutil.Prettify(s) 4815} 4816 4817// GoString returns the string representation. 4818// 4819// API parameter values that are decorated as "sensitive" in the API will not 4820// be included in the string output. The member name will be present, but the 4821// value will be replaced with "sensitive". 4822func (s DeleteMetricStreamOutput) GoString() string { 4823 return s.String() 4824} 4825 4826type DescribeAlarmHistoryInput struct { 4827 _ struct{} `type:"structure"` 4828 4829 // The name of the alarm. 4830 AlarmName *string `min:"1" type:"string"` 4831 4832 // Use this parameter to specify whether you want the operation to return metric 4833 // alarms or composite alarms. If you omit this parameter, only metric alarms 4834 // are returned. 4835 AlarmTypes []*string `type:"list"` 4836 4837 // The ending date to retrieve alarm history. 4838 EndDate *time.Time `type:"timestamp"` 4839 4840 // The type of alarm histories to retrieve. 4841 HistoryItemType *string `type:"string" enum:"HistoryItemType"` 4842 4843 // The maximum number of alarm history records to retrieve. 4844 MaxRecords *int64 `min:"1" type:"integer"` 4845 4846 // The token returned by a previous call to indicate that there is more data 4847 // available. 4848 NextToken *string `type:"string"` 4849 4850 // Specified whether to return the newest or oldest alarm history first. Specify 4851 // TimestampDescending to have the newest event history returned first, and 4852 // specify TimestampAscending to have the oldest history returned first. 4853 ScanBy *string `type:"string" enum:"ScanBy"` 4854 4855 // The starting date to retrieve alarm history. 4856 StartDate *time.Time `type:"timestamp"` 4857} 4858 4859// String returns the string representation. 4860// 4861// API parameter values that are decorated as "sensitive" in the API will not 4862// be included in the string output. The member name will be present, but the 4863// value will be replaced with "sensitive". 4864func (s DescribeAlarmHistoryInput) String() string { 4865 return awsutil.Prettify(s) 4866} 4867 4868// GoString returns the string representation. 4869// 4870// API parameter values that are decorated as "sensitive" in the API will not 4871// be included in the string output. The member name will be present, but the 4872// value will be replaced with "sensitive". 4873func (s DescribeAlarmHistoryInput) GoString() string { 4874 return s.String() 4875} 4876 4877// Validate inspects the fields of the type to determine if they are valid. 4878func (s *DescribeAlarmHistoryInput) Validate() error { 4879 invalidParams := request.ErrInvalidParams{Context: "DescribeAlarmHistoryInput"} 4880 if s.AlarmName != nil && len(*s.AlarmName) < 1 { 4881 invalidParams.Add(request.NewErrParamMinLen("AlarmName", 1)) 4882 } 4883 if s.MaxRecords != nil && *s.MaxRecords < 1 { 4884 invalidParams.Add(request.NewErrParamMinValue("MaxRecords", 1)) 4885 } 4886 4887 if invalidParams.Len() > 0 { 4888 return invalidParams 4889 } 4890 return nil 4891} 4892 4893// SetAlarmName sets the AlarmName field's value. 4894func (s *DescribeAlarmHistoryInput) SetAlarmName(v string) *DescribeAlarmHistoryInput { 4895 s.AlarmName = &v 4896 return s 4897} 4898 4899// SetAlarmTypes sets the AlarmTypes field's value. 4900func (s *DescribeAlarmHistoryInput) SetAlarmTypes(v []*string) *DescribeAlarmHistoryInput { 4901 s.AlarmTypes = v 4902 return s 4903} 4904 4905// SetEndDate sets the EndDate field's value. 4906func (s *DescribeAlarmHistoryInput) SetEndDate(v time.Time) *DescribeAlarmHistoryInput { 4907 s.EndDate = &v 4908 return s 4909} 4910 4911// SetHistoryItemType sets the HistoryItemType field's value. 4912func (s *DescribeAlarmHistoryInput) SetHistoryItemType(v string) *DescribeAlarmHistoryInput { 4913 s.HistoryItemType = &v 4914 return s 4915} 4916 4917// SetMaxRecords sets the MaxRecords field's value. 4918func (s *DescribeAlarmHistoryInput) SetMaxRecords(v int64) *DescribeAlarmHistoryInput { 4919 s.MaxRecords = &v 4920 return s 4921} 4922 4923// SetNextToken sets the NextToken field's value. 4924func (s *DescribeAlarmHistoryInput) SetNextToken(v string) *DescribeAlarmHistoryInput { 4925 s.NextToken = &v 4926 return s 4927} 4928 4929// SetScanBy sets the ScanBy field's value. 4930func (s *DescribeAlarmHistoryInput) SetScanBy(v string) *DescribeAlarmHistoryInput { 4931 s.ScanBy = &v 4932 return s 4933} 4934 4935// SetStartDate sets the StartDate field's value. 4936func (s *DescribeAlarmHistoryInput) SetStartDate(v time.Time) *DescribeAlarmHistoryInput { 4937 s.StartDate = &v 4938 return s 4939} 4940 4941type DescribeAlarmHistoryOutput struct { 4942 _ struct{} `type:"structure"` 4943 4944 // The alarm histories, in JSON format. 4945 AlarmHistoryItems []*AlarmHistoryItem `type:"list"` 4946 4947 // The token that marks the start of the next batch of returned results. 4948 NextToken *string `type:"string"` 4949} 4950 4951// String returns the string representation. 4952// 4953// API parameter values that are decorated as "sensitive" in the API will not 4954// be included in the string output. The member name will be present, but the 4955// value will be replaced with "sensitive". 4956func (s DescribeAlarmHistoryOutput) String() string { 4957 return awsutil.Prettify(s) 4958} 4959 4960// GoString returns the string representation. 4961// 4962// API parameter values that are decorated as "sensitive" in the API will not 4963// be included in the string output. The member name will be present, but the 4964// value will be replaced with "sensitive". 4965func (s DescribeAlarmHistoryOutput) GoString() string { 4966 return s.String() 4967} 4968 4969// SetAlarmHistoryItems sets the AlarmHistoryItems field's value. 4970func (s *DescribeAlarmHistoryOutput) SetAlarmHistoryItems(v []*AlarmHistoryItem) *DescribeAlarmHistoryOutput { 4971 s.AlarmHistoryItems = v 4972 return s 4973} 4974 4975// SetNextToken sets the NextToken field's value. 4976func (s *DescribeAlarmHistoryOutput) SetNextToken(v string) *DescribeAlarmHistoryOutput { 4977 s.NextToken = &v 4978 return s 4979} 4980 4981type DescribeAlarmsForMetricInput struct { 4982 _ struct{} `type:"structure"` 4983 4984 // The dimensions associated with the metric. If the metric has any associated 4985 // dimensions, you must specify them in order for the call to succeed. 4986 Dimensions []*Dimension `type:"list"` 4987 4988 // The percentile statistic for the metric. Specify a value between p0.0 and 4989 // p100. 4990 ExtendedStatistic *string `type:"string"` 4991 4992 // The name of the metric. 4993 // 4994 // MetricName is a required field 4995 MetricName *string `min:"1" type:"string" required:"true"` 4996 4997 // The namespace of the metric. 4998 // 4999 // Namespace is a required field 5000 Namespace *string `min:"1" type:"string" required:"true"` 5001 5002 // The period, in seconds, over which the statistic is applied. 5003 Period *int64 `min:"1" type:"integer"` 5004 5005 // The statistic for the metric, other than percentiles. For percentile statistics, 5006 // use ExtendedStatistics. 5007 Statistic *string `type:"string" enum:"Statistic"` 5008 5009 // The unit for the metric. 5010 Unit *string `type:"string" enum:"StandardUnit"` 5011} 5012 5013// String returns the string representation. 5014// 5015// API parameter values that are decorated as "sensitive" in the API will not 5016// be included in the string output. The member name will be present, but the 5017// value will be replaced with "sensitive". 5018func (s DescribeAlarmsForMetricInput) String() string { 5019 return awsutil.Prettify(s) 5020} 5021 5022// GoString returns the string representation. 5023// 5024// API parameter values that are decorated as "sensitive" in the API will not 5025// be included in the string output. The member name will be present, but the 5026// value will be replaced with "sensitive". 5027func (s DescribeAlarmsForMetricInput) GoString() string { 5028 return s.String() 5029} 5030 5031// Validate inspects the fields of the type to determine if they are valid. 5032func (s *DescribeAlarmsForMetricInput) Validate() error { 5033 invalidParams := request.ErrInvalidParams{Context: "DescribeAlarmsForMetricInput"} 5034 if s.MetricName == nil { 5035 invalidParams.Add(request.NewErrParamRequired("MetricName")) 5036 } 5037 if s.MetricName != nil && len(*s.MetricName) < 1 { 5038 invalidParams.Add(request.NewErrParamMinLen("MetricName", 1)) 5039 } 5040 if s.Namespace == nil { 5041 invalidParams.Add(request.NewErrParamRequired("Namespace")) 5042 } 5043 if s.Namespace != nil && len(*s.Namespace) < 1 { 5044 invalidParams.Add(request.NewErrParamMinLen("Namespace", 1)) 5045 } 5046 if s.Period != nil && *s.Period < 1 { 5047 invalidParams.Add(request.NewErrParamMinValue("Period", 1)) 5048 } 5049 if s.Dimensions != nil { 5050 for i, v := range s.Dimensions { 5051 if v == nil { 5052 continue 5053 } 5054 if err := v.Validate(); err != nil { 5055 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Dimensions", i), err.(request.ErrInvalidParams)) 5056 } 5057 } 5058 } 5059 5060 if invalidParams.Len() > 0 { 5061 return invalidParams 5062 } 5063 return nil 5064} 5065 5066// SetDimensions sets the Dimensions field's value. 5067func (s *DescribeAlarmsForMetricInput) SetDimensions(v []*Dimension) *DescribeAlarmsForMetricInput { 5068 s.Dimensions = v 5069 return s 5070} 5071 5072// SetExtendedStatistic sets the ExtendedStatistic field's value. 5073func (s *DescribeAlarmsForMetricInput) SetExtendedStatistic(v string) *DescribeAlarmsForMetricInput { 5074 s.ExtendedStatistic = &v 5075 return s 5076} 5077 5078// SetMetricName sets the MetricName field's value. 5079func (s *DescribeAlarmsForMetricInput) SetMetricName(v string) *DescribeAlarmsForMetricInput { 5080 s.MetricName = &v 5081 return s 5082} 5083 5084// SetNamespace sets the Namespace field's value. 5085func (s *DescribeAlarmsForMetricInput) SetNamespace(v string) *DescribeAlarmsForMetricInput { 5086 s.Namespace = &v 5087 return s 5088} 5089 5090// SetPeriod sets the Period field's value. 5091func (s *DescribeAlarmsForMetricInput) SetPeriod(v int64) *DescribeAlarmsForMetricInput { 5092 s.Period = &v 5093 return s 5094} 5095 5096// SetStatistic sets the Statistic field's value. 5097func (s *DescribeAlarmsForMetricInput) SetStatistic(v string) *DescribeAlarmsForMetricInput { 5098 s.Statistic = &v 5099 return s 5100} 5101 5102// SetUnit sets the Unit field's value. 5103func (s *DescribeAlarmsForMetricInput) SetUnit(v string) *DescribeAlarmsForMetricInput { 5104 s.Unit = &v 5105 return s 5106} 5107 5108type DescribeAlarmsForMetricOutput struct { 5109 _ struct{} `type:"structure"` 5110 5111 // The information for each alarm with the specified metric. 5112 MetricAlarms []*MetricAlarm `type:"list"` 5113} 5114 5115// String returns the string representation. 5116// 5117// API parameter values that are decorated as "sensitive" in the API will not 5118// be included in the string output. The member name will be present, but the 5119// value will be replaced with "sensitive". 5120func (s DescribeAlarmsForMetricOutput) String() string { 5121 return awsutil.Prettify(s) 5122} 5123 5124// GoString returns the string representation. 5125// 5126// API parameter values that are decorated as "sensitive" in the API will not 5127// be included in the string output. The member name will be present, but the 5128// value will be replaced with "sensitive". 5129func (s DescribeAlarmsForMetricOutput) GoString() string { 5130 return s.String() 5131} 5132 5133// SetMetricAlarms sets the MetricAlarms field's value. 5134func (s *DescribeAlarmsForMetricOutput) SetMetricAlarms(v []*MetricAlarm) *DescribeAlarmsForMetricOutput { 5135 s.MetricAlarms = v 5136 return s 5137} 5138 5139type DescribeAlarmsInput struct { 5140 _ struct{} `type:"structure"` 5141 5142 // Use this parameter to filter the results of the operation to only those alarms 5143 // that use a certain alarm action. For example, you could specify the ARN of 5144 // an SNS topic to find all alarms that send notifications to that topic. 5145 ActionPrefix *string `min:"1" type:"string"` 5146 5147 // An alarm name prefix. If you specify this parameter, you receive information 5148 // about all alarms that have names that start with this prefix. 5149 // 5150 // If this parameter is specified, you cannot specify AlarmNames. 5151 AlarmNamePrefix *string `min:"1" type:"string"` 5152 5153 // The names of the alarms to retrieve information about. 5154 AlarmNames []*string `type:"list"` 5155 5156 // Use this parameter to specify whether you want the operation to return metric 5157 // alarms or composite alarms. If you omit this parameter, only metric alarms 5158 // are returned. 5159 AlarmTypes []*string `type:"list"` 5160 5161 // If you use this parameter and specify the name of a composite alarm, the 5162 // operation returns information about the "children" alarms of the alarm you 5163 // specify. These are the metric alarms and composite alarms referenced in the 5164 // AlarmRule field of the composite alarm that you specify in ChildrenOfAlarmName. 5165 // Information about the composite alarm that you name in ChildrenOfAlarmName 5166 // is not returned. 5167 // 5168 // If you specify ChildrenOfAlarmName, you cannot specify any other parameters 5169 // in the request except for MaxRecords and NextToken. If you do so, you receive 5170 // a validation error. 5171 // 5172 // Only the Alarm Name, ARN, StateValue (OK/ALARM/INSUFFICIENT_DATA), and StateUpdatedTimestamp 5173 // information are returned by this operation when you use this parameter. To 5174 // get complete information about these alarms, perform another DescribeAlarms 5175 // operation and specify the parent alarm names in the AlarmNames parameter. 5176 ChildrenOfAlarmName *string `min:"1" type:"string"` 5177 5178 // The maximum number of alarm descriptions to retrieve. 5179 MaxRecords *int64 `min:"1" type:"integer"` 5180 5181 // The token returned by a previous call to indicate that there is more data 5182 // available. 5183 NextToken *string `type:"string"` 5184 5185 // If you use this parameter and specify the name of a metric or composite alarm, 5186 // the operation returns information about the "parent" alarms of the alarm 5187 // you specify. These are the composite alarms that have AlarmRule parameters 5188 // that reference the alarm named in ParentsOfAlarmName. Information about the 5189 // alarm that you specify in ParentsOfAlarmName is not returned. 5190 // 5191 // If you specify ParentsOfAlarmName, you cannot specify any other parameters 5192 // in the request except for MaxRecords and NextToken. If you do so, you receive 5193 // a validation error. 5194 // 5195 // Only the Alarm Name and ARN are returned by this operation when you use this 5196 // parameter. To get complete information about these alarms, perform another 5197 // DescribeAlarms operation and specify the parent alarm names in the AlarmNames 5198 // parameter. 5199 ParentsOfAlarmName *string `min:"1" type:"string"` 5200 5201 // Specify this parameter to receive information only about alarms that are 5202 // currently in the state that you specify. 5203 StateValue *string `type:"string" enum:"StateValue"` 5204} 5205 5206// String returns the string representation. 5207// 5208// API parameter values that are decorated as "sensitive" in the API will not 5209// be included in the string output. The member name will be present, but the 5210// value will be replaced with "sensitive". 5211func (s DescribeAlarmsInput) String() string { 5212 return awsutil.Prettify(s) 5213} 5214 5215// GoString returns the string representation. 5216// 5217// API parameter values that are decorated as "sensitive" in the API will not 5218// be included in the string output. The member name will be present, but the 5219// value will be replaced with "sensitive". 5220func (s DescribeAlarmsInput) GoString() string { 5221 return s.String() 5222} 5223 5224// Validate inspects the fields of the type to determine if they are valid. 5225func (s *DescribeAlarmsInput) Validate() error { 5226 invalidParams := request.ErrInvalidParams{Context: "DescribeAlarmsInput"} 5227 if s.ActionPrefix != nil && len(*s.ActionPrefix) < 1 { 5228 invalidParams.Add(request.NewErrParamMinLen("ActionPrefix", 1)) 5229 } 5230 if s.AlarmNamePrefix != nil && len(*s.AlarmNamePrefix) < 1 { 5231 invalidParams.Add(request.NewErrParamMinLen("AlarmNamePrefix", 1)) 5232 } 5233 if s.ChildrenOfAlarmName != nil && len(*s.ChildrenOfAlarmName) < 1 { 5234 invalidParams.Add(request.NewErrParamMinLen("ChildrenOfAlarmName", 1)) 5235 } 5236 if s.MaxRecords != nil && *s.MaxRecords < 1 { 5237 invalidParams.Add(request.NewErrParamMinValue("MaxRecords", 1)) 5238 } 5239 if s.ParentsOfAlarmName != nil && len(*s.ParentsOfAlarmName) < 1 { 5240 invalidParams.Add(request.NewErrParamMinLen("ParentsOfAlarmName", 1)) 5241 } 5242 5243 if invalidParams.Len() > 0 { 5244 return invalidParams 5245 } 5246 return nil 5247} 5248 5249// SetActionPrefix sets the ActionPrefix field's value. 5250func (s *DescribeAlarmsInput) SetActionPrefix(v string) *DescribeAlarmsInput { 5251 s.ActionPrefix = &v 5252 return s 5253} 5254 5255// SetAlarmNamePrefix sets the AlarmNamePrefix field's value. 5256func (s *DescribeAlarmsInput) SetAlarmNamePrefix(v string) *DescribeAlarmsInput { 5257 s.AlarmNamePrefix = &v 5258 return s 5259} 5260 5261// SetAlarmNames sets the AlarmNames field's value. 5262func (s *DescribeAlarmsInput) SetAlarmNames(v []*string) *DescribeAlarmsInput { 5263 s.AlarmNames = v 5264 return s 5265} 5266 5267// SetAlarmTypes sets the AlarmTypes field's value. 5268func (s *DescribeAlarmsInput) SetAlarmTypes(v []*string) *DescribeAlarmsInput { 5269 s.AlarmTypes = v 5270 return s 5271} 5272 5273// SetChildrenOfAlarmName sets the ChildrenOfAlarmName field's value. 5274func (s *DescribeAlarmsInput) SetChildrenOfAlarmName(v string) *DescribeAlarmsInput { 5275 s.ChildrenOfAlarmName = &v 5276 return s 5277} 5278 5279// SetMaxRecords sets the MaxRecords field's value. 5280func (s *DescribeAlarmsInput) SetMaxRecords(v int64) *DescribeAlarmsInput { 5281 s.MaxRecords = &v 5282 return s 5283} 5284 5285// SetNextToken sets the NextToken field's value. 5286func (s *DescribeAlarmsInput) SetNextToken(v string) *DescribeAlarmsInput { 5287 s.NextToken = &v 5288 return s 5289} 5290 5291// SetParentsOfAlarmName sets the ParentsOfAlarmName field's value. 5292func (s *DescribeAlarmsInput) SetParentsOfAlarmName(v string) *DescribeAlarmsInput { 5293 s.ParentsOfAlarmName = &v 5294 return s 5295} 5296 5297// SetStateValue sets the StateValue field's value. 5298func (s *DescribeAlarmsInput) SetStateValue(v string) *DescribeAlarmsInput { 5299 s.StateValue = &v 5300 return s 5301} 5302 5303type DescribeAlarmsOutput struct { 5304 _ struct{} `type:"structure"` 5305 5306 // The information about any composite alarms returned by the operation. 5307 CompositeAlarms []*CompositeAlarm `type:"list"` 5308 5309 // The information about any metric alarms returned by the operation. 5310 MetricAlarms []*MetricAlarm `type:"list"` 5311 5312 // The token that marks the start of the next batch of returned results. 5313 NextToken *string `type:"string"` 5314} 5315 5316// String returns the string representation. 5317// 5318// API parameter values that are decorated as "sensitive" in the API will not 5319// be included in the string output. The member name will be present, but the 5320// value will be replaced with "sensitive". 5321func (s DescribeAlarmsOutput) String() string { 5322 return awsutil.Prettify(s) 5323} 5324 5325// GoString returns the string representation. 5326// 5327// API parameter values that are decorated as "sensitive" in the API will not 5328// be included in the string output. The member name will be present, but the 5329// value will be replaced with "sensitive". 5330func (s DescribeAlarmsOutput) GoString() string { 5331 return s.String() 5332} 5333 5334// SetCompositeAlarms sets the CompositeAlarms field's value. 5335func (s *DescribeAlarmsOutput) SetCompositeAlarms(v []*CompositeAlarm) *DescribeAlarmsOutput { 5336 s.CompositeAlarms = v 5337 return s 5338} 5339 5340// SetMetricAlarms sets the MetricAlarms field's value. 5341func (s *DescribeAlarmsOutput) SetMetricAlarms(v []*MetricAlarm) *DescribeAlarmsOutput { 5342 s.MetricAlarms = v 5343 return s 5344} 5345 5346// SetNextToken sets the NextToken field's value. 5347func (s *DescribeAlarmsOutput) SetNextToken(v string) *DescribeAlarmsOutput { 5348 s.NextToken = &v 5349 return s 5350} 5351 5352type DescribeAnomalyDetectorsInput struct { 5353 _ struct{} `type:"structure"` 5354 5355 // Limits the results to only the anomaly detection models that are associated 5356 // with the specified metric dimensions. If there are multiple metrics that 5357 // have these dimensions and have anomaly detection models associated, they're 5358 // all returned. 5359 Dimensions []*Dimension `type:"list"` 5360 5361 // The maximum number of results to return in one operation. The maximum value 5362 // that you can specify is 100. 5363 // 5364 // To retrieve the remaining results, make another call with the returned NextToken 5365 // value. 5366 MaxResults *int64 `min:"1" type:"integer"` 5367 5368 // Limits the results to only the anomaly detection models that are associated 5369 // with the specified metric name. If there are multiple metrics with this name 5370 // in different namespaces that have anomaly detection models, they're all returned. 5371 MetricName *string `min:"1" type:"string"` 5372 5373 // Limits the results to only the anomaly detection models that are associated 5374 // with the specified namespace. 5375 Namespace *string `min:"1" type:"string"` 5376 5377 // Use the token returned by the previous operation to request the next page 5378 // of results. 5379 NextToken *string `type:"string"` 5380} 5381 5382// String returns the string representation. 5383// 5384// API parameter values that are decorated as "sensitive" in the API will not 5385// be included in the string output. The member name will be present, but the 5386// value will be replaced with "sensitive". 5387func (s DescribeAnomalyDetectorsInput) String() string { 5388 return awsutil.Prettify(s) 5389} 5390 5391// GoString returns the string representation. 5392// 5393// API parameter values that are decorated as "sensitive" in the API will not 5394// be included in the string output. The member name will be present, but the 5395// value will be replaced with "sensitive". 5396func (s DescribeAnomalyDetectorsInput) GoString() string { 5397 return s.String() 5398} 5399 5400// Validate inspects the fields of the type to determine if they are valid. 5401func (s *DescribeAnomalyDetectorsInput) Validate() error { 5402 invalidParams := request.ErrInvalidParams{Context: "DescribeAnomalyDetectorsInput"} 5403 if s.MaxResults != nil && *s.MaxResults < 1 { 5404 invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) 5405 } 5406 if s.MetricName != nil && len(*s.MetricName) < 1 { 5407 invalidParams.Add(request.NewErrParamMinLen("MetricName", 1)) 5408 } 5409 if s.Namespace != nil && len(*s.Namespace) < 1 { 5410 invalidParams.Add(request.NewErrParamMinLen("Namespace", 1)) 5411 } 5412 if s.Dimensions != nil { 5413 for i, v := range s.Dimensions { 5414 if v == nil { 5415 continue 5416 } 5417 if err := v.Validate(); err != nil { 5418 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Dimensions", i), err.(request.ErrInvalidParams)) 5419 } 5420 } 5421 } 5422 5423 if invalidParams.Len() > 0 { 5424 return invalidParams 5425 } 5426 return nil 5427} 5428 5429// SetDimensions sets the Dimensions field's value. 5430func (s *DescribeAnomalyDetectorsInput) SetDimensions(v []*Dimension) *DescribeAnomalyDetectorsInput { 5431 s.Dimensions = v 5432 return s 5433} 5434 5435// SetMaxResults sets the MaxResults field's value. 5436func (s *DescribeAnomalyDetectorsInput) SetMaxResults(v int64) *DescribeAnomalyDetectorsInput { 5437 s.MaxResults = &v 5438 return s 5439} 5440 5441// SetMetricName sets the MetricName field's value. 5442func (s *DescribeAnomalyDetectorsInput) SetMetricName(v string) *DescribeAnomalyDetectorsInput { 5443 s.MetricName = &v 5444 return s 5445} 5446 5447// SetNamespace sets the Namespace field's value. 5448func (s *DescribeAnomalyDetectorsInput) SetNamespace(v string) *DescribeAnomalyDetectorsInput { 5449 s.Namespace = &v 5450 return s 5451} 5452 5453// SetNextToken sets the NextToken field's value. 5454func (s *DescribeAnomalyDetectorsInput) SetNextToken(v string) *DescribeAnomalyDetectorsInput { 5455 s.NextToken = &v 5456 return s 5457} 5458 5459type DescribeAnomalyDetectorsOutput struct { 5460 _ struct{} `type:"structure"` 5461 5462 // The list of anomaly detection models returned by the operation. 5463 AnomalyDetectors []*AnomalyDetector `type:"list"` 5464 5465 // A token that you can use in a subsequent operation to retrieve the next set 5466 // of results. 5467 NextToken *string `type:"string"` 5468} 5469 5470// String returns the string representation. 5471// 5472// API parameter values that are decorated as "sensitive" in the API will not 5473// be included in the string output. The member name will be present, but the 5474// value will be replaced with "sensitive". 5475func (s DescribeAnomalyDetectorsOutput) String() string { 5476 return awsutil.Prettify(s) 5477} 5478 5479// GoString returns the string representation. 5480// 5481// API parameter values that are decorated as "sensitive" in the API will not 5482// be included in the string output. The member name will be present, but the 5483// value will be replaced with "sensitive". 5484func (s DescribeAnomalyDetectorsOutput) GoString() string { 5485 return s.String() 5486} 5487 5488// SetAnomalyDetectors sets the AnomalyDetectors field's value. 5489func (s *DescribeAnomalyDetectorsOutput) SetAnomalyDetectors(v []*AnomalyDetector) *DescribeAnomalyDetectorsOutput { 5490 s.AnomalyDetectors = v 5491 return s 5492} 5493 5494// SetNextToken sets the NextToken field's value. 5495func (s *DescribeAnomalyDetectorsOutput) SetNextToken(v string) *DescribeAnomalyDetectorsOutput { 5496 s.NextToken = &v 5497 return s 5498} 5499 5500type DescribeInsightRulesInput struct { 5501 _ struct{} `type:"structure"` 5502 5503 // The maximum number of results to return in one operation. If you omit this 5504 // parameter, the default of 500 is used. 5505 MaxResults *int64 `min:"1" type:"integer"` 5506 5507 // Include this value, if it was returned by the previous operation, to get 5508 // the next set of rules. 5509 NextToken *string `type:"string"` 5510} 5511 5512// String returns the string representation. 5513// 5514// API parameter values that are decorated as "sensitive" in the API will not 5515// be included in the string output. The member name will be present, but the 5516// value will be replaced with "sensitive". 5517func (s DescribeInsightRulesInput) String() string { 5518 return awsutil.Prettify(s) 5519} 5520 5521// GoString returns the string representation. 5522// 5523// API parameter values that are decorated as "sensitive" in the API will not 5524// be included in the string output. The member name will be present, but the 5525// value will be replaced with "sensitive". 5526func (s DescribeInsightRulesInput) GoString() string { 5527 return s.String() 5528} 5529 5530// Validate inspects the fields of the type to determine if they are valid. 5531func (s *DescribeInsightRulesInput) Validate() error { 5532 invalidParams := request.ErrInvalidParams{Context: "DescribeInsightRulesInput"} 5533 if s.MaxResults != nil && *s.MaxResults < 1 { 5534 invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) 5535 } 5536 5537 if invalidParams.Len() > 0 { 5538 return invalidParams 5539 } 5540 return nil 5541} 5542 5543// SetMaxResults sets the MaxResults field's value. 5544func (s *DescribeInsightRulesInput) SetMaxResults(v int64) *DescribeInsightRulesInput { 5545 s.MaxResults = &v 5546 return s 5547} 5548 5549// SetNextToken sets the NextToken field's value. 5550func (s *DescribeInsightRulesInput) SetNextToken(v string) *DescribeInsightRulesInput { 5551 s.NextToken = &v 5552 return s 5553} 5554 5555type DescribeInsightRulesOutput struct { 5556 _ struct{} `type:"structure"` 5557 5558 // The rules returned by the operation. 5559 InsightRules []*InsightRule `type:"list"` 5560 5561 // If this parameter is present, it is a token that marks the start of the next 5562 // batch of returned results. 5563 NextToken *string `type:"string"` 5564} 5565 5566// String returns the string representation. 5567// 5568// API parameter values that are decorated as "sensitive" in the API will not 5569// be included in the string output. The member name will be present, but the 5570// value will be replaced with "sensitive". 5571func (s DescribeInsightRulesOutput) String() string { 5572 return awsutil.Prettify(s) 5573} 5574 5575// GoString returns the string representation. 5576// 5577// API parameter values that are decorated as "sensitive" in the API will not 5578// be included in the string output. The member name will be present, but the 5579// value will be replaced with "sensitive". 5580func (s DescribeInsightRulesOutput) GoString() string { 5581 return s.String() 5582} 5583 5584// SetInsightRules sets the InsightRules field's value. 5585func (s *DescribeInsightRulesOutput) SetInsightRules(v []*InsightRule) *DescribeInsightRulesOutput { 5586 s.InsightRules = v 5587 return s 5588} 5589 5590// SetNextToken sets the NextToken field's value. 5591func (s *DescribeInsightRulesOutput) SetNextToken(v string) *DescribeInsightRulesOutput { 5592 s.NextToken = &v 5593 return s 5594} 5595 5596// A dimension is a name/value pair that is part of the identity of a metric. 5597// You can assign up to 10 dimensions to a metric. Because dimensions are part 5598// of the unique identifier for a metric, whenever you add a unique name/value 5599// pair to one of your metrics, you are creating a new variation of that metric. 5600type Dimension struct { 5601 _ struct{} `type:"structure"` 5602 5603 // The name of the dimension. Dimension names must contain only ASCII characters 5604 // and must include at least one non-whitespace character. 5605 // 5606 // Name is a required field 5607 Name *string `min:"1" type:"string" required:"true"` 5608 5609 // The value of the dimension. Dimension values must contain only ASCII characters 5610 // and must include at least one non-whitespace character. 5611 // 5612 // Value is a required field 5613 Value *string `min:"1" type:"string" required:"true"` 5614} 5615 5616// String returns the string representation. 5617// 5618// API parameter values that are decorated as "sensitive" in the API will not 5619// be included in the string output. The member name will be present, but the 5620// value will be replaced with "sensitive". 5621func (s Dimension) String() string { 5622 return awsutil.Prettify(s) 5623} 5624 5625// GoString returns the string representation. 5626// 5627// API parameter values that are decorated as "sensitive" in the API will not 5628// be included in the string output. The member name will be present, but the 5629// value will be replaced with "sensitive". 5630func (s Dimension) GoString() string { 5631 return s.String() 5632} 5633 5634// Validate inspects the fields of the type to determine if they are valid. 5635func (s *Dimension) Validate() error { 5636 invalidParams := request.ErrInvalidParams{Context: "Dimension"} 5637 if s.Name == nil { 5638 invalidParams.Add(request.NewErrParamRequired("Name")) 5639 } 5640 if s.Name != nil && len(*s.Name) < 1 { 5641 invalidParams.Add(request.NewErrParamMinLen("Name", 1)) 5642 } 5643 if s.Value == nil { 5644 invalidParams.Add(request.NewErrParamRequired("Value")) 5645 } 5646 if s.Value != nil && len(*s.Value) < 1 { 5647 invalidParams.Add(request.NewErrParamMinLen("Value", 1)) 5648 } 5649 5650 if invalidParams.Len() > 0 { 5651 return invalidParams 5652 } 5653 return nil 5654} 5655 5656// SetName sets the Name field's value. 5657func (s *Dimension) SetName(v string) *Dimension { 5658 s.Name = &v 5659 return s 5660} 5661 5662// SetValue sets the Value field's value. 5663func (s *Dimension) SetValue(v string) *Dimension { 5664 s.Value = &v 5665 return s 5666} 5667 5668// Represents filters for a dimension. 5669type DimensionFilter struct { 5670 _ struct{} `type:"structure"` 5671 5672 // The dimension name to be matched. 5673 // 5674 // Name is a required field 5675 Name *string `min:"1" type:"string" required:"true"` 5676 5677 // The value of the dimension to be matched. 5678 Value *string `min:"1" type:"string"` 5679} 5680 5681// String returns the string representation. 5682// 5683// API parameter values that are decorated as "sensitive" in the API will not 5684// be included in the string output. The member name will be present, but the 5685// value will be replaced with "sensitive". 5686func (s DimensionFilter) String() string { 5687 return awsutil.Prettify(s) 5688} 5689 5690// GoString returns the string representation. 5691// 5692// API parameter values that are decorated as "sensitive" in the API will not 5693// be included in the string output. The member name will be present, but the 5694// value will be replaced with "sensitive". 5695func (s DimensionFilter) GoString() string { 5696 return s.String() 5697} 5698 5699// Validate inspects the fields of the type to determine if they are valid. 5700func (s *DimensionFilter) Validate() error { 5701 invalidParams := request.ErrInvalidParams{Context: "DimensionFilter"} 5702 if s.Name == nil { 5703 invalidParams.Add(request.NewErrParamRequired("Name")) 5704 } 5705 if s.Name != nil && len(*s.Name) < 1 { 5706 invalidParams.Add(request.NewErrParamMinLen("Name", 1)) 5707 } 5708 if s.Value != nil && len(*s.Value) < 1 { 5709 invalidParams.Add(request.NewErrParamMinLen("Value", 1)) 5710 } 5711 5712 if invalidParams.Len() > 0 { 5713 return invalidParams 5714 } 5715 return nil 5716} 5717 5718// SetName sets the Name field's value. 5719func (s *DimensionFilter) SetName(v string) *DimensionFilter { 5720 s.Name = &v 5721 return s 5722} 5723 5724// SetValue sets the Value field's value. 5725func (s *DimensionFilter) SetValue(v string) *DimensionFilter { 5726 s.Value = &v 5727 return s 5728} 5729 5730type DisableAlarmActionsInput struct { 5731 _ struct{} `type:"structure"` 5732 5733 // The names of the alarms. 5734 // 5735 // AlarmNames is a required field 5736 AlarmNames []*string `type:"list" required:"true"` 5737} 5738 5739// String returns the string representation. 5740// 5741// API parameter values that are decorated as "sensitive" in the API will not 5742// be included in the string output. The member name will be present, but the 5743// value will be replaced with "sensitive". 5744func (s DisableAlarmActionsInput) String() string { 5745 return awsutil.Prettify(s) 5746} 5747 5748// GoString returns the string representation. 5749// 5750// API parameter values that are decorated as "sensitive" in the API will not 5751// be included in the string output. The member name will be present, but the 5752// value will be replaced with "sensitive". 5753func (s DisableAlarmActionsInput) GoString() string { 5754 return s.String() 5755} 5756 5757// Validate inspects the fields of the type to determine if they are valid. 5758func (s *DisableAlarmActionsInput) Validate() error { 5759 invalidParams := request.ErrInvalidParams{Context: "DisableAlarmActionsInput"} 5760 if s.AlarmNames == nil { 5761 invalidParams.Add(request.NewErrParamRequired("AlarmNames")) 5762 } 5763 5764 if invalidParams.Len() > 0 { 5765 return invalidParams 5766 } 5767 return nil 5768} 5769 5770// SetAlarmNames sets the AlarmNames field's value. 5771func (s *DisableAlarmActionsInput) SetAlarmNames(v []*string) *DisableAlarmActionsInput { 5772 s.AlarmNames = v 5773 return s 5774} 5775 5776type DisableAlarmActionsOutput struct { 5777 _ struct{} `type:"structure"` 5778} 5779 5780// String returns the string representation. 5781// 5782// API parameter values that are decorated as "sensitive" in the API will not 5783// be included in the string output. The member name will be present, but the 5784// value will be replaced with "sensitive". 5785func (s DisableAlarmActionsOutput) String() string { 5786 return awsutil.Prettify(s) 5787} 5788 5789// GoString returns the string representation. 5790// 5791// API parameter values that are decorated as "sensitive" in the API will not 5792// be included in the string output. The member name will be present, but the 5793// value will be replaced with "sensitive". 5794func (s DisableAlarmActionsOutput) GoString() string { 5795 return s.String() 5796} 5797 5798type DisableInsightRulesInput struct { 5799 _ struct{} `type:"structure"` 5800 5801 // An array of the rule names to disable. If you need to find out the names 5802 // of your rules, use DescribeInsightRules (https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_DescribeInsightRules.html). 5803 // 5804 // RuleNames is a required field 5805 RuleNames []*string `type:"list" required:"true"` 5806} 5807 5808// String returns the string representation. 5809// 5810// API parameter values that are decorated as "sensitive" in the API will not 5811// be included in the string output. The member name will be present, but the 5812// value will be replaced with "sensitive". 5813func (s DisableInsightRulesInput) String() string { 5814 return awsutil.Prettify(s) 5815} 5816 5817// GoString returns the string representation. 5818// 5819// API parameter values that are decorated as "sensitive" in the API will not 5820// be included in the string output. The member name will be present, but the 5821// value will be replaced with "sensitive". 5822func (s DisableInsightRulesInput) GoString() string { 5823 return s.String() 5824} 5825 5826// Validate inspects the fields of the type to determine if they are valid. 5827func (s *DisableInsightRulesInput) Validate() error { 5828 invalidParams := request.ErrInvalidParams{Context: "DisableInsightRulesInput"} 5829 if s.RuleNames == nil { 5830 invalidParams.Add(request.NewErrParamRequired("RuleNames")) 5831 } 5832 5833 if invalidParams.Len() > 0 { 5834 return invalidParams 5835 } 5836 return nil 5837} 5838 5839// SetRuleNames sets the RuleNames field's value. 5840func (s *DisableInsightRulesInput) SetRuleNames(v []*string) *DisableInsightRulesInput { 5841 s.RuleNames = v 5842 return s 5843} 5844 5845type DisableInsightRulesOutput struct { 5846 _ struct{} `type:"structure"` 5847 5848 // An array listing the rules that could not be disabled. You cannot disable 5849 // built-in rules. 5850 Failures []*PartialFailure `type:"list"` 5851} 5852 5853// String returns the string representation. 5854// 5855// API parameter values that are decorated as "sensitive" in the API will not 5856// be included in the string output. The member name will be present, but the 5857// value will be replaced with "sensitive". 5858func (s DisableInsightRulesOutput) String() string { 5859 return awsutil.Prettify(s) 5860} 5861 5862// GoString returns the string representation. 5863// 5864// API parameter values that are decorated as "sensitive" in the API will not 5865// be included in the string output. The member name will be present, but the 5866// value will be replaced with "sensitive". 5867func (s DisableInsightRulesOutput) GoString() string { 5868 return s.String() 5869} 5870 5871// SetFailures sets the Failures field's value. 5872func (s *DisableInsightRulesOutput) SetFailures(v []*PartialFailure) *DisableInsightRulesOutput { 5873 s.Failures = v 5874 return s 5875} 5876 5877type EnableAlarmActionsInput struct { 5878 _ struct{} `type:"structure"` 5879 5880 // The names of the alarms. 5881 // 5882 // AlarmNames is a required field 5883 AlarmNames []*string `type:"list" required:"true"` 5884} 5885 5886// String returns the string representation. 5887// 5888// API parameter values that are decorated as "sensitive" in the API will not 5889// be included in the string output. The member name will be present, but the 5890// value will be replaced with "sensitive". 5891func (s EnableAlarmActionsInput) String() string { 5892 return awsutil.Prettify(s) 5893} 5894 5895// GoString returns the string representation. 5896// 5897// API parameter values that are decorated as "sensitive" in the API will not 5898// be included in the string output. The member name will be present, but the 5899// value will be replaced with "sensitive". 5900func (s EnableAlarmActionsInput) GoString() string { 5901 return s.String() 5902} 5903 5904// Validate inspects the fields of the type to determine if they are valid. 5905func (s *EnableAlarmActionsInput) Validate() error { 5906 invalidParams := request.ErrInvalidParams{Context: "EnableAlarmActionsInput"} 5907 if s.AlarmNames == nil { 5908 invalidParams.Add(request.NewErrParamRequired("AlarmNames")) 5909 } 5910 5911 if invalidParams.Len() > 0 { 5912 return invalidParams 5913 } 5914 return nil 5915} 5916 5917// SetAlarmNames sets the AlarmNames field's value. 5918func (s *EnableAlarmActionsInput) SetAlarmNames(v []*string) *EnableAlarmActionsInput { 5919 s.AlarmNames = v 5920 return s 5921} 5922 5923type EnableAlarmActionsOutput struct { 5924 _ struct{} `type:"structure"` 5925} 5926 5927// String returns the string representation. 5928// 5929// API parameter values that are decorated as "sensitive" in the API will not 5930// be included in the string output. The member name will be present, but the 5931// value will be replaced with "sensitive". 5932func (s EnableAlarmActionsOutput) String() string { 5933 return awsutil.Prettify(s) 5934} 5935 5936// GoString returns the string representation. 5937// 5938// API parameter values that are decorated as "sensitive" in the API will not 5939// be included in the string output. The member name will be present, but the 5940// value will be replaced with "sensitive". 5941func (s EnableAlarmActionsOutput) GoString() string { 5942 return s.String() 5943} 5944 5945type EnableInsightRulesInput struct { 5946 _ struct{} `type:"structure"` 5947 5948 // An array of the rule names to enable. If you need to find out the names of 5949 // your rules, use DescribeInsightRules (https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_DescribeInsightRules.html). 5950 // 5951 // RuleNames is a required field 5952 RuleNames []*string `type:"list" required:"true"` 5953} 5954 5955// String returns the string representation. 5956// 5957// API parameter values that are decorated as "sensitive" in the API will not 5958// be included in the string output. The member name will be present, but the 5959// value will be replaced with "sensitive". 5960func (s EnableInsightRulesInput) String() string { 5961 return awsutil.Prettify(s) 5962} 5963 5964// GoString returns the string representation. 5965// 5966// API parameter values that are decorated as "sensitive" in the API will not 5967// be included in the string output. The member name will be present, but the 5968// value will be replaced with "sensitive". 5969func (s EnableInsightRulesInput) GoString() string { 5970 return s.String() 5971} 5972 5973// Validate inspects the fields of the type to determine if they are valid. 5974func (s *EnableInsightRulesInput) Validate() error { 5975 invalidParams := request.ErrInvalidParams{Context: "EnableInsightRulesInput"} 5976 if s.RuleNames == nil { 5977 invalidParams.Add(request.NewErrParamRequired("RuleNames")) 5978 } 5979 5980 if invalidParams.Len() > 0 { 5981 return invalidParams 5982 } 5983 return nil 5984} 5985 5986// SetRuleNames sets the RuleNames field's value. 5987func (s *EnableInsightRulesInput) SetRuleNames(v []*string) *EnableInsightRulesInput { 5988 s.RuleNames = v 5989 return s 5990} 5991 5992type EnableInsightRulesOutput struct { 5993 _ struct{} `type:"structure"` 5994 5995 // An array listing the rules that could not be enabled. You cannot disable 5996 // or enable built-in rules. 5997 Failures []*PartialFailure `type:"list"` 5998} 5999 6000// String returns the string representation. 6001// 6002// API parameter values that are decorated as "sensitive" in the API will not 6003// be included in the string output. The member name will be present, but the 6004// value will be replaced with "sensitive". 6005func (s EnableInsightRulesOutput) String() string { 6006 return awsutil.Prettify(s) 6007} 6008 6009// GoString returns the string representation. 6010// 6011// API parameter values that are decorated as "sensitive" in the API will not 6012// be included in the string output. The member name will be present, but the 6013// value will be replaced with "sensitive". 6014func (s EnableInsightRulesOutput) GoString() string { 6015 return s.String() 6016} 6017 6018// SetFailures sets the Failures field's value. 6019func (s *EnableInsightRulesOutput) SetFailures(v []*PartialFailure) *EnableInsightRulesOutput { 6020 s.Failures = v 6021 return s 6022} 6023 6024type GetDashboardInput struct { 6025 _ struct{} `type:"structure"` 6026 6027 // The name of the dashboard to be described. 6028 // 6029 // DashboardName is a required field 6030 DashboardName *string `type:"string" required:"true"` 6031} 6032 6033// String returns the string representation. 6034// 6035// API parameter values that are decorated as "sensitive" in the API will not 6036// be included in the string output. The member name will be present, but the 6037// value will be replaced with "sensitive". 6038func (s GetDashboardInput) String() string { 6039 return awsutil.Prettify(s) 6040} 6041 6042// GoString returns the string representation. 6043// 6044// API parameter values that are decorated as "sensitive" in the API will not 6045// be included in the string output. The member name will be present, but the 6046// value will be replaced with "sensitive". 6047func (s GetDashboardInput) GoString() string { 6048 return s.String() 6049} 6050 6051// Validate inspects the fields of the type to determine if they are valid. 6052func (s *GetDashboardInput) Validate() error { 6053 invalidParams := request.ErrInvalidParams{Context: "GetDashboardInput"} 6054 if s.DashboardName == nil { 6055 invalidParams.Add(request.NewErrParamRequired("DashboardName")) 6056 } 6057 6058 if invalidParams.Len() > 0 { 6059 return invalidParams 6060 } 6061 return nil 6062} 6063 6064// SetDashboardName sets the DashboardName field's value. 6065func (s *GetDashboardInput) SetDashboardName(v string) *GetDashboardInput { 6066 s.DashboardName = &v 6067 return s 6068} 6069 6070type GetDashboardOutput struct { 6071 _ struct{} `type:"structure"` 6072 6073 // The Amazon Resource Name (ARN) of the dashboard. 6074 DashboardArn *string `type:"string"` 6075 6076 // The detailed information about the dashboard, including what widgets are 6077 // included and their location on the dashboard. For more information about 6078 // the DashboardBody syntax, see Dashboard Body Structure and Syntax (https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/CloudWatch-Dashboard-Body-Structure.html). 6079 DashboardBody *string `type:"string"` 6080 6081 // The name of the dashboard. 6082 DashboardName *string `type:"string"` 6083} 6084 6085// String returns the string representation. 6086// 6087// API parameter values that are decorated as "sensitive" in the API will not 6088// be included in the string output. The member name will be present, but the 6089// value will be replaced with "sensitive". 6090func (s GetDashboardOutput) String() string { 6091 return awsutil.Prettify(s) 6092} 6093 6094// GoString returns the string representation. 6095// 6096// API parameter values that are decorated as "sensitive" in the API will not 6097// be included in the string output. The member name will be present, but the 6098// value will be replaced with "sensitive". 6099func (s GetDashboardOutput) GoString() string { 6100 return s.String() 6101} 6102 6103// SetDashboardArn sets the DashboardArn field's value. 6104func (s *GetDashboardOutput) SetDashboardArn(v string) *GetDashboardOutput { 6105 s.DashboardArn = &v 6106 return s 6107} 6108 6109// SetDashboardBody sets the DashboardBody field's value. 6110func (s *GetDashboardOutput) SetDashboardBody(v string) *GetDashboardOutput { 6111 s.DashboardBody = &v 6112 return s 6113} 6114 6115// SetDashboardName sets the DashboardName field's value. 6116func (s *GetDashboardOutput) SetDashboardName(v string) *GetDashboardOutput { 6117 s.DashboardName = &v 6118 return s 6119} 6120 6121type GetInsightRuleReportInput struct { 6122 _ struct{} `type:"structure"` 6123 6124 // The end time of the data to use in the report. When used in a raw HTTP Query 6125 // API, it is formatted as yyyy-MM-dd'T'HH:mm:ss. For example, 2019-07-01T23:59:59. 6126 // 6127 // EndTime is a required field 6128 EndTime *time.Time `type:"timestamp" required:"true"` 6129 6130 // The maximum number of contributors to include in the report. The range is 6131 // 1 to 100. If you omit this, the default of 10 is used. 6132 MaxContributorCount *int64 `type:"integer"` 6133 6134 // Specifies which metrics to use for aggregation of contributor values for 6135 // the report. You can specify one or more of the following metrics: 6136 // 6137 // * UniqueContributors -- the number of unique contributors for each data 6138 // point. 6139 // 6140 // * MaxContributorValue -- the value of the top contributor for each data 6141 // point. The identity of the contributor might change for each data point 6142 // in the graph. If this rule aggregates by COUNT, the top contributor for 6143 // each data point is the contributor with the most occurrences in that period. 6144 // If the rule aggregates by SUM, the top contributor is the contributor 6145 // with the highest sum in the log field specified by the rule's Value, during 6146 // that period. 6147 // 6148 // * SampleCount -- the number of data points matched by the rule. 6149 // 6150 // * Sum -- the sum of the values from all contributors during the time period 6151 // represented by that data point. 6152 // 6153 // * Minimum -- the minimum value from a single observation during the time 6154 // period represented by that data point. 6155 // 6156 // * Maximum -- the maximum value from a single observation during the time 6157 // period represented by that data point. 6158 // 6159 // * Average -- the average value from all contributors during the time period 6160 // represented by that data point. 6161 Metrics []*string `type:"list"` 6162 6163 // Determines what statistic to use to rank the contributors. Valid values are 6164 // SUM and MAXIMUM. 6165 OrderBy *string `min:"1" type:"string"` 6166 6167 // The period, in seconds, to use for the statistics in the InsightRuleMetricDatapoint 6168 // results. 6169 // 6170 // Period is a required field 6171 Period *int64 `min:"1" type:"integer" required:"true"` 6172 6173 // The name of the rule that you want to see data from. 6174 // 6175 // RuleName is a required field 6176 RuleName *string `min:"1" type:"string" required:"true"` 6177 6178 // The start time of the data to use in the report. When used in a raw HTTP 6179 // Query API, it is formatted as yyyy-MM-dd'T'HH:mm:ss. For example, 2019-07-01T23:59:59. 6180 // 6181 // StartTime is a required field 6182 StartTime *time.Time `type:"timestamp" required:"true"` 6183} 6184 6185// String returns the string representation. 6186// 6187// API parameter values that are decorated as "sensitive" in the API will not 6188// be included in the string output. The member name will be present, but the 6189// value will be replaced with "sensitive". 6190func (s GetInsightRuleReportInput) String() string { 6191 return awsutil.Prettify(s) 6192} 6193 6194// GoString returns the string representation. 6195// 6196// API parameter values that are decorated as "sensitive" in the API will not 6197// be included in the string output. The member name will be present, but the 6198// value will be replaced with "sensitive". 6199func (s GetInsightRuleReportInput) GoString() string { 6200 return s.String() 6201} 6202 6203// Validate inspects the fields of the type to determine if they are valid. 6204func (s *GetInsightRuleReportInput) Validate() error { 6205 invalidParams := request.ErrInvalidParams{Context: "GetInsightRuleReportInput"} 6206 if s.EndTime == nil { 6207 invalidParams.Add(request.NewErrParamRequired("EndTime")) 6208 } 6209 if s.OrderBy != nil && len(*s.OrderBy) < 1 { 6210 invalidParams.Add(request.NewErrParamMinLen("OrderBy", 1)) 6211 } 6212 if s.Period == nil { 6213 invalidParams.Add(request.NewErrParamRequired("Period")) 6214 } 6215 if s.Period != nil && *s.Period < 1 { 6216 invalidParams.Add(request.NewErrParamMinValue("Period", 1)) 6217 } 6218 if s.RuleName == nil { 6219 invalidParams.Add(request.NewErrParamRequired("RuleName")) 6220 } 6221 if s.RuleName != nil && len(*s.RuleName) < 1 { 6222 invalidParams.Add(request.NewErrParamMinLen("RuleName", 1)) 6223 } 6224 if s.StartTime == nil { 6225 invalidParams.Add(request.NewErrParamRequired("StartTime")) 6226 } 6227 6228 if invalidParams.Len() > 0 { 6229 return invalidParams 6230 } 6231 return nil 6232} 6233 6234// SetEndTime sets the EndTime field's value. 6235func (s *GetInsightRuleReportInput) SetEndTime(v time.Time) *GetInsightRuleReportInput { 6236 s.EndTime = &v 6237 return s 6238} 6239 6240// SetMaxContributorCount sets the MaxContributorCount field's value. 6241func (s *GetInsightRuleReportInput) SetMaxContributorCount(v int64) *GetInsightRuleReportInput { 6242 s.MaxContributorCount = &v 6243 return s 6244} 6245 6246// SetMetrics sets the Metrics field's value. 6247func (s *GetInsightRuleReportInput) SetMetrics(v []*string) *GetInsightRuleReportInput { 6248 s.Metrics = v 6249 return s 6250} 6251 6252// SetOrderBy sets the OrderBy field's value. 6253func (s *GetInsightRuleReportInput) SetOrderBy(v string) *GetInsightRuleReportInput { 6254 s.OrderBy = &v 6255 return s 6256} 6257 6258// SetPeriod sets the Period field's value. 6259func (s *GetInsightRuleReportInput) SetPeriod(v int64) *GetInsightRuleReportInput { 6260 s.Period = &v 6261 return s 6262} 6263 6264// SetRuleName sets the RuleName field's value. 6265func (s *GetInsightRuleReportInput) SetRuleName(v string) *GetInsightRuleReportInput { 6266 s.RuleName = &v 6267 return s 6268} 6269 6270// SetStartTime sets the StartTime field's value. 6271func (s *GetInsightRuleReportInput) SetStartTime(v time.Time) *GetInsightRuleReportInput { 6272 s.StartTime = &v 6273 return s 6274} 6275 6276type GetInsightRuleReportOutput struct { 6277 _ struct{} `type:"structure"` 6278 6279 // The sum of the values from all individual contributors that match the rule. 6280 AggregateValue *float64 `type:"double"` 6281 6282 // Specifies whether this rule aggregates contributor data by COUNT or SUM. 6283 AggregationStatistic *string `type:"string"` 6284 6285 // An approximate count of the unique contributors found by this rule in this 6286 // time period. 6287 ApproximateUniqueCount *int64 `type:"long"` 6288 6289 // An array of the unique contributors found by this rule in this time period. 6290 // If the rule contains multiple keys, each combination of values for the keys 6291 // counts as a unique contributor. 6292 Contributors []*InsightRuleContributor `type:"list"` 6293 6294 // An array of the strings used as the keys for this rule. The keys are the 6295 // dimensions used to classify contributors. If the rule contains more than 6296 // one key, then each unique combination of values for the keys is counted as 6297 // a unique contributor. 6298 KeyLabels []*string `type:"list"` 6299 6300 // A time series of metric data points that matches the time period in the rule 6301 // request. 6302 MetricDatapoints []*InsightRuleMetricDatapoint `type:"list"` 6303} 6304 6305// String returns the string representation. 6306// 6307// API parameter values that are decorated as "sensitive" in the API will not 6308// be included in the string output. The member name will be present, but the 6309// value will be replaced with "sensitive". 6310func (s GetInsightRuleReportOutput) String() string { 6311 return awsutil.Prettify(s) 6312} 6313 6314// GoString returns the string representation. 6315// 6316// API parameter values that are decorated as "sensitive" in the API will not 6317// be included in the string output. The member name will be present, but the 6318// value will be replaced with "sensitive". 6319func (s GetInsightRuleReportOutput) GoString() string { 6320 return s.String() 6321} 6322 6323// SetAggregateValue sets the AggregateValue field's value. 6324func (s *GetInsightRuleReportOutput) SetAggregateValue(v float64) *GetInsightRuleReportOutput { 6325 s.AggregateValue = &v 6326 return s 6327} 6328 6329// SetAggregationStatistic sets the AggregationStatistic field's value. 6330func (s *GetInsightRuleReportOutput) SetAggregationStatistic(v string) *GetInsightRuleReportOutput { 6331 s.AggregationStatistic = &v 6332 return s 6333} 6334 6335// SetApproximateUniqueCount sets the ApproximateUniqueCount field's value. 6336func (s *GetInsightRuleReportOutput) SetApproximateUniqueCount(v int64) *GetInsightRuleReportOutput { 6337 s.ApproximateUniqueCount = &v 6338 return s 6339} 6340 6341// SetContributors sets the Contributors field's value. 6342func (s *GetInsightRuleReportOutput) SetContributors(v []*InsightRuleContributor) *GetInsightRuleReportOutput { 6343 s.Contributors = v 6344 return s 6345} 6346 6347// SetKeyLabels sets the KeyLabels field's value. 6348func (s *GetInsightRuleReportOutput) SetKeyLabels(v []*string) *GetInsightRuleReportOutput { 6349 s.KeyLabels = v 6350 return s 6351} 6352 6353// SetMetricDatapoints sets the MetricDatapoints field's value. 6354func (s *GetInsightRuleReportOutput) SetMetricDatapoints(v []*InsightRuleMetricDatapoint) *GetInsightRuleReportOutput { 6355 s.MetricDatapoints = v 6356 return s 6357} 6358 6359type GetMetricDataInput struct { 6360 _ struct{} `type:"structure"` 6361 6362 // The time stamp indicating the latest data to be returned. 6363 // 6364 // The value specified is exclusive; results include data points up to the specified 6365 // time stamp. 6366 // 6367 // For better performance, specify StartTime and EndTime values that align with 6368 // the value of the metric's Period and sync up with the beginning and end of 6369 // an hour. For example, if the Period of a metric is 5 minutes, specifying 6370 // 12:05 or 12:30 as EndTime can get a faster response from CloudWatch than 6371 // setting 12:07 or 12:29 as the EndTime. 6372 // 6373 // EndTime is a required field 6374 EndTime *time.Time `type:"timestamp" required:"true"` 6375 6376 // This structure includes the Timezone parameter, which you can use to specify 6377 // your time zone so that the labels of returned data display the correct time 6378 // for your time zone. 6379 LabelOptions *LabelOptions `type:"structure"` 6380 6381 // The maximum number of data points the request should return before paginating. 6382 // If you omit this, the default of 100,800 is used. 6383 MaxDatapoints *int64 `type:"integer"` 6384 6385 // The metric queries to be returned. A single GetMetricData call can include 6386 // as many as 500 MetricDataQuery structures. Each of these structures can specify 6387 // either a metric to retrieve, or a math expression to perform on retrieved 6388 // data. 6389 // 6390 // MetricDataQueries is a required field 6391 MetricDataQueries []*MetricDataQuery `type:"list" required:"true"` 6392 6393 // Include this value, if it was returned by the previous GetMetricData operation, 6394 // to get the next set of data points. 6395 NextToken *string `type:"string"` 6396 6397 // The order in which data points should be returned. TimestampDescending returns 6398 // the newest data first and paginates when the MaxDatapoints limit is reached. 6399 // TimestampAscending returns the oldest data first and paginates when the MaxDatapoints 6400 // limit is reached. 6401 ScanBy *string `type:"string" enum:"ScanBy"` 6402 6403 // The time stamp indicating the earliest data to be returned. 6404 // 6405 // The value specified is inclusive; results include data points with the specified 6406 // time stamp. 6407 // 6408 // CloudWatch rounds the specified time stamp as follows: 6409 // 6410 // * Start time less than 15 days ago - Round down to the nearest whole minute. 6411 // For example, 12:32:34 is rounded down to 12:32:00. 6412 // 6413 // * Start time between 15 and 63 days ago - Round down to the nearest 5-minute 6414 // clock interval. For example, 12:32:34 is rounded down to 12:30:00. 6415 // 6416 // * Start time greater than 63 days ago - Round down to the nearest 1-hour 6417 // clock interval. For example, 12:32:34 is rounded down to 12:00:00. 6418 // 6419 // If you set Period to 5, 10, or 30, the start time of your request is rounded 6420 // down to the nearest time that corresponds to even 5-, 10-, or 30-second divisions 6421 // of a minute. For example, if you make a query at (HH:mm:ss) 01:05:23 for 6422 // the previous 10-second period, the start time of your request is rounded 6423 // down and you receive data from 01:05:10 to 01:05:20. If you make a query 6424 // at 15:07:17 for the previous 5 minutes of data, using a period of 5 seconds, 6425 // you receive data timestamped between 15:02:15 and 15:07:15. 6426 // 6427 // For better performance, specify StartTime and EndTime values that align with 6428 // the value of the metric's Period and sync up with the beginning and end of 6429 // an hour. For example, if the Period of a metric is 5 minutes, specifying 6430 // 12:05 or 12:30 as StartTime can get a faster response from CloudWatch than 6431 // setting 12:07 or 12:29 as the StartTime. 6432 // 6433 // StartTime is a required field 6434 StartTime *time.Time `type:"timestamp" required:"true"` 6435} 6436 6437// String returns the string representation. 6438// 6439// API parameter values that are decorated as "sensitive" in the API will not 6440// be included in the string output. The member name will be present, but the 6441// value will be replaced with "sensitive". 6442func (s GetMetricDataInput) String() string { 6443 return awsutil.Prettify(s) 6444} 6445 6446// GoString returns the string representation. 6447// 6448// API parameter values that are decorated as "sensitive" in the API will not 6449// be included in the string output. The member name will be present, but the 6450// value will be replaced with "sensitive". 6451func (s GetMetricDataInput) GoString() string { 6452 return s.String() 6453} 6454 6455// Validate inspects the fields of the type to determine if they are valid. 6456func (s *GetMetricDataInput) Validate() error { 6457 invalidParams := request.ErrInvalidParams{Context: "GetMetricDataInput"} 6458 if s.EndTime == nil { 6459 invalidParams.Add(request.NewErrParamRequired("EndTime")) 6460 } 6461 if s.MetricDataQueries == nil { 6462 invalidParams.Add(request.NewErrParamRequired("MetricDataQueries")) 6463 } 6464 if s.StartTime == nil { 6465 invalidParams.Add(request.NewErrParamRequired("StartTime")) 6466 } 6467 if s.MetricDataQueries != nil { 6468 for i, v := range s.MetricDataQueries { 6469 if v == nil { 6470 continue 6471 } 6472 if err := v.Validate(); err != nil { 6473 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "MetricDataQueries", i), err.(request.ErrInvalidParams)) 6474 } 6475 } 6476 } 6477 6478 if invalidParams.Len() > 0 { 6479 return invalidParams 6480 } 6481 return nil 6482} 6483 6484// SetEndTime sets the EndTime field's value. 6485func (s *GetMetricDataInput) SetEndTime(v time.Time) *GetMetricDataInput { 6486 s.EndTime = &v 6487 return s 6488} 6489 6490// SetLabelOptions sets the LabelOptions field's value. 6491func (s *GetMetricDataInput) SetLabelOptions(v *LabelOptions) *GetMetricDataInput { 6492 s.LabelOptions = v 6493 return s 6494} 6495 6496// SetMaxDatapoints sets the MaxDatapoints field's value. 6497func (s *GetMetricDataInput) SetMaxDatapoints(v int64) *GetMetricDataInput { 6498 s.MaxDatapoints = &v 6499 return s 6500} 6501 6502// SetMetricDataQueries sets the MetricDataQueries field's value. 6503func (s *GetMetricDataInput) SetMetricDataQueries(v []*MetricDataQuery) *GetMetricDataInput { 6504 s.MetricDataQueries = v 6505 return s 6506} 6507 6508// SetNextToken sets the NextToken field's value. 6509func (s *GetMetricDataInput) SetNextToken(v string) *GetMetricDataInput { 6510 s.NextToken = &v 6511 return s 6512} 6513 6514// SetScanBy sets the ScanBy field's value. 6515func (s *GetMetricDataInput) SetScanBy(v string) *GetMetricDataInput { 6516 s.ScanBy = &v 6517 return s 6518} 6519 6520// SetStartTime sets the StartTime field's value. 6521func (s *GetMetricDataInput) SetStartTime(v time.Time) *GetMetricDataInput { 6522 s.StartTime = &v 6523 return s 6524} 6525 6526type GetMetricDataOutput struct { 6527 _ struct{} `type:"structure"` 6528 6529 // Contains a message about this GetMetricData operation, if the operation results 6530 // in such a message. An example of a message that might be returned is Maximum 6531 // number of allowed metrics exceeded. If there is a message, as much of the 6532 // operation as possible is still executed. 6533 // 6534 // A message appears here only if it is related to the global GetMetricData 6535 // operation. Any message about a specific metric returned by the operation 6536 // appears in the MetricDataResult object returned for that metric. 6537 Messages []*MessageData `type:"list"` 6538 6539 // The metrics that are returned, including the metric name, namespace, and 6540 // dimensions. 6541 MetricDataResults []*MetricDataResult `type:"list"` 6542 6543 // A token that marks the next batch of returned results. 6544 NextToken *string `type:"string"` 6545} 6546 6547// String returns the string representation. 6548// 6549// API parameter values that are decorated as "sensitive" in the API will not 6550// be included in the string output. The member name will be present, but the 6551// value will be replaced with "sensitive". 6552func (s GetMetricDataOutput) String() string { 6553 return awsutil.Prettify(s) 6554} 6555 6556// GoString returns the string representation. 6557// 6558// API parameter values that are decorated as "sensitive" in the API will not 6559// be included in the string output. The member name will be present, but the 6560// value will be replaced with "sensitive". 6561func (s GetMetricDataOutput) GoString() string { 6562 return s.String() 6563} 6564 6565// SetMessages sets the Messages field's value. 6566func (s *GetMetricDataOutput) SetMessages(v []*MessageData) *GetMetricDataOutput { 6567 s.Messages = v 6568 return s 6569} 6570 6571// SetMetricDataResults sets the MetricDataResults field's value. 6572func (s *GetMetricDataOutput) SetMetricDataResults(v []*MetricDataResult) *GetMetricDataOutput { 6573 s.MetricDataResults = v 6574 return s 6575} 6576 6577// SetNextToken sets the NextToken field's value. 6578func (s *GetMetricDataOutput) SetNextToken(v string) *GetMetricDataOutput { 6579 s.NextToken = &v 6580 return s 6581} 6582 6583type GetMetricStatisticsInput struct { 6584 _ struct{} `type:"structure"` 6585 6586 // The dimensions. If the metric contains multiple dimensions, you must include 6587 // a value for each dimension. CloudWatch treats each unique combination of 6588 // dimensions as a separate metric. If a specific combination of dimensions 6589 // was not published, you can't retrieve statistics for it. You must specify 6590 // the same dimensions that were used when the metrics were created. For an 6591 // example, see Dimension Combinations (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_concepts.html#dimension-combinations) 6592 // in the Amazon CloudWatch User Guide. For more information about specifying 6593 // dimensions, see Publishing Metrics (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/publishingMetrics.html) 6594 // in the Amazon CloudWatch User Guide. 6595 Dimensions []*Dimension `type:"list"` 6596 6597 // The time stamp that determines the last data point to return. 6598 // 6599 // The value specified is exclusive; results include data points up to the specified 6600 // time stamp. In a raw HTTP query, the time stamp must be in ISO 8601 UTC format 6601 // (for example, 2016-10-10T23:00:00Z). 6602 // 6603 // EndTime is a required field 6604 EndTime *time.Time `type:"timestamp" required:"true"` 6605 6606 // The percentile statistics. Specify values between p0.0 and p100. When calling 6607 // GetMetricStatistics, you must specify either Statistics or ExtendedStatistics, 6608 // but not both. Percentile statistics are not available for metrics when any 6609 // of the metric values are negative numbers. 6610 ExtendedStatistics []*string `min:"1" type:"list"` 6611 6612 // The name of the metric, with or without spaces. 6613 // 6614 // MetricName is a required field 6615 MetricName *string `min:"1" type:"string" required:"true"` 6616 6617 // The namespace of the metric, with or without spaces. 6618 // 6619 // Namespace is a required field 6620 Namespace *string `min:"1" type:"string" required:"true"` 6621 6622 // The granularity, in seconds, of the returned data points. For metrics with 6623 // regular resolution, a period can be as short as one minute (60 seconds) and 6624 // must be a multiple of 60. For high-resolution metrics that are collected 6625 // at intervals of less than one minute, the period can be 1, 5, 10, 30, 60, 6626 // or any multiple of 60. High-resolution metrics are those metrics stored by 6627 // a PutMetricData call that includes a StorageResolution of 1 second. 6628 // 6629 // If the StartTime parameter specifies a time stamp that is greater than 3 6630 // hours ago, you must specify the period as follows or no data points in that 6631 // time range is returned: 6632 // 6633 // * Start time between 3 hours and 15 days ago - Use a multiple of 60 seconds 6634 // (1 minute). 6635 // 6636 // * Start time between 15 and 63 days ago - Use a multiple of 300 seconds 6637 // (5 minutes). 6638 // 6639 // * Start time greater than 63 days ago - Use a multiple of 3600 seconds 6640 // (1 hour). 6641 // 6642 // Period is a required field 6643 Period *int64 `min:"1" type:"integer" required:"true"` 6644 6645 // The time stamp that determines the first data point to return. Start times 6646 // are evaluated relative to the time that CloudWatch receives the request. 6647 // 6648 // The value specified is inclusive; results include data points with the specified 6649 // time stamp. In a raw HTTP query, the time stamp must be in ISO 8601 UTC format 6650 // (for example, 2016-10-03T23:00:00Z). 6651 // 6652 // CloudWatch rounds the specified time stamp as follows: 6653 // 6654 // * Start time less than 15 days ago - Round down to the nearest whole minute. 6655 // For example, 12:32:34 is rounded down to 12:32:00. 6656 // 6657 // * Start time between 15 and 63 days ago - Round down to the nearest 5-minute 6658 // clock interval. For example, 12:32:34 is rounded down to 12:30:00. 6659 // 6660 // * Start time greater than 63 days ago - Round down to the nearest 1-hour 6661 // clock interval. For example, 12:32:34 is rounded down to 12:00:00. 6662 // 6663 // If you set Period to 5, 10, or 30, the start time of your request is rounded 6664 // down to the nearest time that corresponds to even 5-, 10-, or 30-second divisions 6665 // of a minute. For example, if you make a query at (HH:mm:ss) 01:05:23 for 6666 // the previous 10-second period, the start time of your request is rounded 6667 // down and you receive data from 01:05:10 to 01:05:20. If you make a query 6668 // at 15:07:17 for the previous 5 minutes of data, using a period of 5 seconds, 6669 // you receive data timestamped between 15:02:15 and 15:07:15. 6670 // 6671 // StartTime is a required field 6672 StartTime *time.Time `type:"timestamp" required:"true"` 6673 6674 // The metric statistics, other than percentile. For percentile statistics, 6675 // use ExtendedStatistics. When calling GetMetricStatistics, you must specify 6676 // either Statistics or ExtendedStatistics, but not both. 6677 Statistics []*string `min:"1" type:"list"` 6678 6679 // The unit for a given metric. If you omit Unit, all data that was collected 6680 // with any unit is returned, along with the corresponding units that were specified 6681 // when the data was reported to CloudWatch. If you specify a unit, the operation 6682 // returns only data that was collected with that unit specified. If you specify 6683 // a unit that does not match the data collected, the results of the operation 6684 // are null. CloudWatch does not perform unit conversions. 6685 Unit *string `type:"string" enum:"StandardUnit"` 6686} 6687 6688// String returns the string representation. 6689// 6690// API parameter values that are decorated as "sensitive" in the API will not 6691// be included in the string output. The member name will be present, but the 6692// value will be replaced with "sensitive". 6693func (s GetMetricStatisticsInput) String() string { 6694 return awsutil.Prettify(s) 6695} 6696 6697// GoString returns the string representation. 6698// 6699// API parameter values that are decorated as "sensitive" in the API will not 6700// be included in the string output. The member name will be present, but the 6701// value will be replaced with "sensitive". 6702func (s GetMetricStatisticsInput) GoString() string { 6703 return s.String() 6704} 6705 6706// Validate inspects the fields of the type to determine if they are valid. 6707func (s *GetMetricStatisticsInput) Validate() error { 6708 invalidParams := request.ErrInvalidParams{Context: "GetMetricStatisticsInput"} 6709 if s.EndTime == nil { 6710 invalidParams.Add(request.NewErrParamRequired("EndTime")) 6711 } 6712 if s.ExtendedStatistics != nil && len(s.ExtendedStatistics) < 1 { 6713 invalidParams.Add(request.NewErrParamMinLen("ExtendedStatistics", 1)) 6714 } 6715 if s.MetricName == nil { 6716 invalidParams.Add(request.NewErrParamRequired("MetricName")) 6717 } 6718 if s.MetricName != nil && len(*s.MetricName) < 1 { 6719 invalidParams.Add(request.NewErrParamMinLen("MetricName", 1)) 6720 } 6721 if s.Namespace == nil { 6722 invalidParams.Add(request.NewErrParamRequired("Namespace")) 6723 } 6724 if s.Namespace != nil && len(*s.Namespace) < 1 { 6725 invalidParams.Add(request.NewErrParamMinLen("Namespace", 1)) 6726 } 6727 if s.Period == nil { 6728 invalidParams.Add(request.NewErrParamRequired("Period")) 6729 } 6730 if s.Period != nil && *s.Period < 1 { 6731 invalidParams.Add(request.NewErrParamMinValue("Period", 1)) 6732 } 6733 if s.StartTime == nil { 6734 invalidParams.Add(request.NewErrParamRequired("StartTime")) 6735 } 6736 if s.Statistics != nil && len(s.Statistics) < 1 { 6737 invalidParams.Add(request.NewErrParamMinLen("Statistics", 1)) 6738 } 6739 if s.Dimensions != nil { 6740 for i, v := range s.Dimensions { 6741 if v == nil { 6742 continue 6743 } 6744 if err := v.Validate(); err != nil { 6745 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Dimensions", i), err.(request.ErrInvalidParams)) 6746 } 6747 } 6748 } 6749 6750 if invalidParams.Len() > 0 { 6751 return invalidParams 6752 } 6753 return nil 6754} 6755 6756// SetDimensions sets the Dimensions field's value. 6757func (s *GetMetricStatisticsInput) SetDimensions(v []*Dimension) *GetMetricStatisticsInput { 6758 s.Dimensions = v 6759 return s 6760} 6761 6762// SetEndTime sets the EndTime field's value. 6763func (s *GetMetricStatisticsInput) SetEndTime(v time.Time) *GetMetricStatisticsInput { 6764 s.EndTime = &v 6765 return s 6766} 6767 6768// SetExtendedStatistics sets the ExtendedStatistics field's value. 6769func (s *GetMetricStatisticsInput) SetExtendedStatistics(v []*string) *GetMetricStatisticsInput { 6770 s.ExtendedStatistics = v 6771 return s 6772} 6773 6774// SetMetricName sets the MetricName field's value. 6775func (s *GetMetricStatisticsInput) SetMetricName(v string) *GetMetricStatisticsInput { 6776 s.MetricName = &v 6777 return s 6778} 6779 6780// SetNamespace sets the Namespace field's value. 6781func (s *GetMetricStatisticsInput) SetNamespace(v string) *GetMetricStatisticsInput { 6782 s.Namespace = &v 6783 return s 6784} 6785 6786// SetPeriod sets the Period field's value. 6787func (s *GetMetricStatisticsInput) SetPeriod(v int64) *GetMetricStatisticsInput { 6788 s.Period = &v 6789 return s 6790} 6791 6792// SetStartTime sets the StartTime field's value. 6793func (s *GetMetricStatisticsInput) SetStartTime(v time.Time) *GetMetricStatisticsInput { 6794 s.StartTime = &v 6795 return s 6796} 6797 6798// SetStatistics sets the Statistics field's value. 6799func (s *GetMetricStatisticsInput) SetStatistics(v []*string) *GetMetricStatisticsInput { 6800 s.Statistics = v 6801 return s 6802} 6803 6804// SetUnit sets the Unit field's value. 6805func (s *GetMetricStatisticsInput) SetUnit(v string) *GetMetricStatisticsInput { 6806 s.Unit = &v 6807 return s 6808} 6809 6810type GetMetricStatisticsOutput struct { 6811 _ struct{} `type:"structure"` 6812 6813 // The data points for the specified metric. 6814 Datapoints []*Datapoint `type:"list"` 6815 6816 // A label for the specified metric. 6817 Label *string `type:"string"` 6818} 6819 6820// String returns the string representation. 6821// 6822// API parameter values that are decorated as "sensitive" in the API will not 6823// be included in the string output. The member name will be present, but the 6824// value will be replaced with "sensitive". 6825func (s GetMetricStatisticsOutput) String() string { 6826 return awsutil.Prettify(s) 6827} 6828 6829// GoString returns the string representation. 6830// 6831// API parameter values that are decorated as "sensitive" in the API will not 6832// be included in the string output. The member name will be present, but the 6833// value will be replaced with "sensitive". 6834func (s GetMetricStatisticsOutput) GoString() string { 6835 return s.String() 6836} 6837 6838// SetDatapoints sets the Datapoints field's value. 6839func (s *GetMetricStatisticsOutput) SetDatapoints(v []*Datapoint) *GetMetricStatisticsOutput { 6840 s.Datapoints = v 6841 return s 6842} 6843 6844// SetLabel sets the Label field's value. 6845func (s *GetMetricStatisticsOutput) SetLabel(v string) *GetMetricStatisticsOutput { 6846 s.Label = &v 6847 return s 6848} 6849 6850type GetMetricStreamInput struct { 6851 _ struct{} `type:"structure"` 6852 6853 // The name of the metric stream to retrieve information about. 6854 // 6855 // Name is a required field 6856 Name *string `min:"1" type:"string" required:"true"` 6857} 6858 6859// String returns the string representation. 6860// 6861// API parameter values that are decorated as "sensitive" in the API will not 6862// be included in the string output. The member name will be present, but the 6863// value will be replaced with "sensitive". 6864func (s GetMetricStreamInput) String() string { 6865 return awsutil.Prettify(s) 6866} 6867 6868// GoString returns the string representation. 6869// 6870// API parameter values that are decorated as "sensitive" in the API will not 6871// be included in the string output. The member name will be present, but the 6872// value will be replaced with "sensitive". 6873func (s GetMetricStreamInput) GoString() string { 6874 return s.String() 6875} 6876 6877// Validate inspects the fields of the type to determine if they are valid. 6878func (s *GetMetricStreamInput) Validate() error { 6879 invalidParams := request.ErrInvalidParams{Context: "GetMetricStreamInput"} 6880 if s.Name == nil { 6881 invalidParams.Add(request.NewErrParamRequired("Name")) 6882 } 6883 if s.Name != nil && len(*s.Name) < 1 { 6884 invalidParams.Add(request.NewErrParamMinLen("Name", 1)) 6885 } 6886 6887 if invalidParams.Len() > 0 { 6888 return invalidParams 6889 } 6890 return nil 6891} 6892 6893// SetName sets the Name field's value. 6894func (s *GetMetricStreamInput) SetName(v string) *GetMetricStreamInput { 6895 s.Name = &v 6896 return s 6897} 6898 6899type GetMetricStreamOutput struct { 6900 _ struct{} `type:"structure"` 6901 6902 // The ARN of the metric stream. 6903 Arn *string `min:"1" type:"string"` 6904 6905 // The date that the metric stream was created. 6906 CreationDate *time.Time `type:"timestamp"` 6907 6908 // If this array of metric namespaces is present, then these namespaces are 6909 // the only metric namespaces that are not streamed by this metric stream. In 6910 // this case, all other metric namespaces in the account are streamed by this 6911 // metric stream. 6912 ExcludeFilters []*MetricStreamFilter `type:"list"` 6913 6914 // The ARN of the Amazon Kinesis Firehose delivery stream that is used by this 6915 // metric stream. 6916 FirehoseArn *string `min:"1" type:"string"` 6917 6918 // If this array of metric namespaces is present, then these namespaces are 6919 // the only metric namespaces that are streamed by this metric stream. 6920 IncludeFilters []*MetricStreamFilter `type:"list"` 6921 6922 // The date of the most recent update to the metric stream's configuration. 6923 LastUpdateDate *time.Time `type:"timestamp"` 6924 6925 // The name of the metric stream. 6926 Name *string `min:"1" type:"string"` 6927 6928 OutputFormat *string `min:"1" type:"string" enum:"MetricStreamOutputFormat"` 6929 6930 // The ARN of the IAM role that is used by this metric stream. 6931 RoleArn *string `min:"1" type:"string"` 6932 6933 // The state of the metric stream. The possible values are running and stopped. 6934 State *string `type:"string"` 6935} 6936 6937// String returns the string representation. 6938// 6939// API parameter values that are decorated as "sensitive" in the API will not 6940// be included in the string output. The member name will be present, but the 6941// value will be replaced with "sensitive". 6942func (s GetMetricStreamOutput) String() string { 6943 return awsutil.Prettify(s) 6944} 6945 6946// GoString returns the string representation. 6947// 6948// API parameter values that are decorated as "sensitive" in the API will not 6949// be included in the string output. The member name will be present, but the 6950// value will be replaced with "sensitive". 6951func (s GetMetricStreamOutput) GoString() string { 6952 return s.String() 6953} 6954 6955// SetArn sets the Arn field's value. 6956func (s *GetMetricStreamOutput) SetArn(v string) *GetMetricStreamOutput { 6957 s.Arn = &v 6958 return s 6959} 6960 6961// SetCreationDate sets the CreationDate field's value. 6962func (s *GetMetricStreamOutput) SetCreationDate(v time.Time) *GetMetricStreamOutput { 6963 s.CreationDate = &v 6964 return s 6965} 6966 6967// SetExcludeFilters sets the ExcludeFilters field's value. 6968func (s *GetMetricStreamOutput) SetExcludeFilters(v []*MetricStreamFilter) *GetMetricStreamOutput { 6969 s.ExcludeFilters = v 6970 return s 6971} 6972 6973// SetFirehoseArn sets the FirehoseArn field's value. 6974func (s *GetMetricStreamOutput) SetFirehoseArn(v string) *GetMetricStreamOutput { 6975 s.FirehoseArn = &v 6976 return s 6977} 6978 6979// SetIncludeFilters sets the IncludeFilters field's value. 6980func (s *GetMetricStreamOutput) SetIncludeFilters(v []*MetricStreamFilter) *GetMetricStreamOutput { 6981 s.IncludeFilters = v 6982 return s 6983} 6984 6985// SetLastUpdateDate sets the LastUpdateDate field's value. 6986func (s *GetMetricStreamOutput) SetLastUpdateDate(v time.Time) *GetMetricStreamOutput { 6987 s.LastUpdateDate = &v 6988 return s 6989} 6990 6991// SetName sets the Name field's value. 6992func (s *GetMetricStreamOutput) SetName(v string) *GetMetricStreamOutput { 6993 s.Name = &v 6994 return s 6995} 6996 6997// SetOutputFormat sets the OutputFormat field's value. 6998func (s *GetMetricStreamOutput) SetOutputFormat(v string) *GetMetricStreamOutput { 6999 s.OutputFormat = &v 7000 return s 7001} 7002 7003// SetRoleArn sets the RoleArn field's value. 7004func (s *GetMetricStreamOutput) SetRoleArn(v string) *GetMetricStreamOutput { 7005 s.RoleArn = &v 7006 return s 7007} 7008 7009// SetState sets the State field's value. 7010func (s *GetMetricStreamOutput) SetState(v string) *GetMetricStreamOutput { 7011 s.State = &v 7012 return s 7013} 7014 7015type GetMetricWidgetImageInput struct { 7016 _ struct{} `type:"structure"` 7017 7018 // A JSON string that defines the bitmap graph to be retrieved. The string includes 7019 // the metrics to include in the graph, statistics, annotations, title, axis 7020 // limits, and so on. You can include only one MetricWidget parameter in each 7021 // GetMetricWidgetImage call. 7022 // 7023 // For more information about the syntax of MetricWidget see GetMetricWidgetImage: 7024 // Metric Widget Structure and Syntax (https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/CloudWatch-Metric-Widget-Structure.html). 7025 // 7026 // If any metric on the graph could not load all the requested data points, 7027 // an orange triangle with an exclamation point appears next to the graph legend. 7028 // 7029 // MetricWidget is a required field 7030 MetricWidget *string `type:"string" required:"true"` 7031 7032 // The format of the resulting image. Only PNG images are supported. 7033 // 7034 // The default is png. If you specify png, the API returns an HTTP response 7035 // with the content-type set to text/xml. The image data is in a MetricWidgetImage 7036 // field. For example: 7037 // 7038 // <GetMetricWidgetImageResponse xmlns=<URLstring>> 7039 // 7040 // <GetMetricWidgetImageResult> 7041 // 7042 // <MetricWidgetImage> 7043 // 7044 // iVBORw0KGgoAAAANSUhEUgAAAlgAAAGQEAYAAAAip... 7045 // 7046 // </MetricWidgetImage> 7047 // 7048 // </GetMetricWidgetImageResult> 7049 // 7050 // <ResponseMetadata> 7051 // 7052 // <RequestId>6f0d4192-4d42-11e8-82c1-f539a07e0e3b</RequestId> 7053 // 7054 // </ResponseMetadata> 7055 // 7056 // </GetMetricWidgetImageResponse> 7057 // 7058 // The image/png setting is intended only for custom HTTP requests. For most 7059 // use cases, and all actions using an Amazon Web Services SDK, you should use 7060 // png. If you specify image/png, the HTTP response has a content-type set to 7061 // image/png, and the body of the response is a PNG image. 7062 OutputFormat *string `type:"string"` 7063} 7064 7065// String returns the string representation. 7066// 7067// API parameter values that are decorated as "sensitive" in the API will not 7068// be included in the string output. The member name will be present, but the 7069// value will be replaced with "sensitive". 7070func (s GetMetricWidgetImageInput) String() string { 7071 return awsutil.Prettify(s) 7072} 7073 7074// GoString returns the string representation. 7075// 7076// API parameter values that are decorated as "sensitive" in the API will not 7077// be included in the string output. The member name will be present, but the 7078// value will be replaced with "sensitive". 7079func (s GetMetricWidgetImageInput) GoString() string { 7080 return s.String() 7081} 7082 7083// Validate inspects the fields of the type to determine if they are valid. 7084func (s *GetMetricWidgetImageInput) Validate() error { 7085 invalidParams := request.ErrInvalidParams{Context: "GetMetricWidgetImageInput"} 7086 if s.MetricWidget == nil { 7087 invalidParams.Add(request.NewErrParamRequired("MetricWidget")) 7088 } 7089 7090 if invalidParams.Len() > 0 { 7091 return invalidParams 7092 } 7093 return nil 7094} 7095 7096// SetMetricWidget sets the MetricWidget field's value. 7097func (s *GetMetricWidgetImageInput) SetMetricWidget(v string) *GetMetricWidgetImageInput { 7098 s.MetricWidget = &v 7099 return s 7100} 7101 7102// SetOutputFormat sets the OutputFormat field's value. 7103func (s *GetMetricWidgetImageInput) SetOutputFormat(v string) *GetMetricWidgetImageInput { 7104 s.OutputFormat = &v 7105 return s 7106} 7107 7108type GetMetricWidgetImageOutput struct { 7109 _ struct{} `type:"structure"` 7110 7111 // The image of the graph, in the output format specified. The output is base64-encoded. 7112 // MetricWidgetImage is automatically base64 encoded/decoded by the SDK. 7113 MetricWidgetImage []byte `type:"blob"` 7114} 7115 7116// String returns the string representation. 7117// 7118// API parameter values that are decorated as "sensitive" in the API will not 7119// be included in the string output. The member name will be present, but the 7120// value will be replaced with "sensitive". 7121func (s GetMetricWidgetImageOutput) String() string { 7122 return awsutil.Prettify(s) 7123} 7124 7125// GoString returns the string representation. 7126// 7127// API parameter values that are decorated as "sensitive" in the API will not 7128// be included in the string output. The member name will be present, but the 7129// value will be replaced with "sensitive". 7130func (s GetMetricWidgetImageOutput) GoString() string { 7131 return s.String() 7132} 7133 7134// SetMetricWidgetImage sets the MetricWidgetImage field's value. 7135func (s *GetMetricWidgetImageOutput) SetMetricWidgetImage(v []byte) *GetMetricWidgetImageOutput { 7136 s.MetricWidgetImage = v 7137 return s 7138} 7139 7140// This structure contains the definition for a Contributor Insights rule. 7141type InsightRule struct { 7142 _ struct{} `type:"structure"` 7143 7144 // The definition of the rule, as a JSON object. The definition contains the 7145 // keywords used to define contributors, the value to aggregate on if this rule 7146 // returns a sum instead of a count, and the filters. For details on the valid 7147 // syntax, see Contributor Insights Rule Syntax (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/ContributorInsights-RuleSyntax.html). 7148 // 7149 // Definition is a required field 7150 Definition *string `min:"1" type:"string" required:"true"` 7151 7152 // The name of the rule. 7153 // 7154 // Name is a required field 7155 Name *string `min:"1" type:"string" required:"true"` 7156 7157 // For rules that you create, this is always {"Name": "CloudWatchLogRule", "Version": 7158 // 1}. For built-in rules, this is {"Name": "ServiceLogRule", "Version": 1} 7159 // 7160 // Schema is a required field 7161 Schema *string `type:"string" required:"true"` 7162 7163 // Indicates whether the rule is enabled or disabled. 7164 // 7165 // State is a required field 7166 State *string `min:"1" type:"string" required:"true"` 7167} 7168 7169// String returns the string representation. 7170// 7171// API parameter values that are decorated as "sensitive" in the API will not 7172// be included in the string output. The member name will be present, but the 7173// value will be replaced with "sensitive". 7174func (s InsightRule) String() string { 7175 return awsutil.Prettify(s) 7176} 7177 7178// GoString returns the string representation. 7179// 7180// API parameter values that are decorated as "sensitive" in the API will not 7181// be included in the string output. The member name will be present, but the 7182// value will be replaced with "sensitive". 7183func (s InsightRule) GoString() string { 7184 return s.String() 7185} 7186 7187// SetDefinition sets the Definition field's value. 7188func (s *InsightRule) SetDefinition(v string) *InsightRule { 7189 s.Definition = &v 7190 return s 7191} 7192 7193// SetName sets the Name field's value. 7194func (s *InsightRule) SetName(v string) *InsightRule { 7195 s.Name = &v 7196 return s 7197} 7198 7199// SetSchema sets the Schema field's value. 7200func (s *InsightRule) SetSchema(v string) *InsightRule { 7201 s.Schema = &v 7202 return s 7203} 7204 7205// SetState sets the State field's value. 7206func (s *InsightRule) SetState(v string) *InsightRule { 7207 s.State = &v 7208 return s 7209} 7210 7211// One of the unique contributors found by a Contributor Insights rule. If the 7212// rule contains multiple keys, then a unique contributor is a unique combination 7213// of values from all the keys in the rule. 7214// 7215// If the rule contains a single key, then each unique contributor is each unique 7216// value for this key. 7217// 7218// For more information, see GetInsightRuleReport (https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_GetInsightRuleReport.html). 7219type InsightRuleContributor struct { 7220 _ struct{} `type:"structure"` 7221 7222 // An approximation of the aggregate value that comes from this contributor. 7223 // 7224 // ApproximateAggregateValue is a required field 7225 ApproximateAggregateValue *float64 `type:"double" required:"true"` 7226 7227 // An array of the data points where this contributor is present. Only the data 7228 // points when this contributor appeared are included in the array. 7229 // 7230 // Datapoints is a required field 7231 Datapoints []*InsightRuleContributorDatapoint `type:"list" required:"true"` 7232 7233 // One of the log entry field keywords that is used to define contributors for 7234 // this rule. 7235 // 7236 // Keys is a required field 7237 Keys []*string `type:"list" required:"true"` 7238} 7239 7240// String returns the string representation. 7241// 7242// API parameter values that are decorated as "sensitive" in the API will not 7243// be included in the string output. The member name will be present, but the 7244// value will be replaced with "sensitive". 7245func (s InsightRuleContributor) String() string { 7246 return awsutil.Prettify(s) 7247} 7248 7249// GoString returns the string representation. 7250// 7251// API parameter values that are decorated as "sensitive" in the API will not 7252// be included in the string output. The member name will be present, but the 7253// value will be replaced with "sensitive". 7254func (s InsightRuleContributor) GoString() string { 7255 return s.String() 7256} 7257 7258// SetApproximateAggregateValue sets the ApproximateAggregateValue field's value. 7259func (s *InsightRuleContributor) SetApproximateAggregateValue(v float64) *InsightRuleContributor { 7260 s.ApproximateAggregateValue = &v 7261 return s 7262} 7263 7264// SetDatapoints sets the Datapoints field's value. 7265func (s *InsightRuleContributor) SetDatapoints(v []*InsightRuleContributorDatapoint) *InsightRuleContributor { 7266 s.Datapoints = v 7267 return s 7268} 7269 7270// SetKeys sets the Keys field's value. 7271func (s *InsightRuleContributor) SetKeys(v []*string) *InsightRuleContributor { 7272 s.Keys = v 7273 return s 7274} 7275 7276// One data point related to one contributor. 7277// 7278// For more information, see GetInsightRuleReport (https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_GetInsightRuleReport.html) 7279// and InsightRuleContributor (https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_InsightRuleContributor.html). 7280type InsightRuleContributorDatapoint struct { 7281 _ struct{} `type:"structure"` 7282 7283 // The approximate value that this contributor added during this timestamp. 7284 // 7285 // ApproximateValue is a required field 7286 ApproximateValue *float64 `type:"double" required:"true"` 7287 7288 // The timestamp of the data point. 7289 // 7290 // Timestamp is a required field 7291 Timestamp *time.Time `type:"timestamp" required:"true"` 7292} 7293 7294// String returns the string representation. 7295// 7296// API parameter values that are decorated as "sensitive" in the API will not 7297// be included in the string output. The member name will be present, but the 7298// value will be replaced with "sensitive". 7299func (s InsightRuleContributorDatapoint) String() string { 7300 return awsutil.Prettify(s) 7301} 7302 7303// GoString returns the string representation. 7304// 7305// API parameter values that are decorated as "sensitive" in the API will not 7306// be included in the string output. The member name will be present, but the 7307// value will be replaced with "sensitive". 7308func (s InsightRuleContributorDatapoint) GoString() string { 7309 return s.String() 7310} 7311 7312// SetApproximateValue sets the ApproximateValue field's value. 7313func (s *InsightRuleContributorDatapoint) SetApproximateValue(v float64) *InsightRuleContributorDatapoint { 7314 s.ApproximateValue = &v 7315 return s 7316} 7317 7318// SetTimestamp sets the Timestamp field's value. 7319func (s *InsightRuleContributorDatapoint) SetTimestamp(v time.Time) *InsightRuleContributorDatapoint { 7320 s.Timestamp = &v 7321 return s 7322} 7323 7324// One data point from the metric time series returned in a Contributor Insights 7325// rule report. 7326// 7327// For more information, see GetInsightRuleReport (https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_GetInsightRuleReport.html). 7328type InsightRuleMetricDatapoint struct { 7329 _ struct{} `type:"structure"` 7330 7331 // The average value from all contributors during the time period represented 7332 // by that data point. 7333 // 7334 // This statistic is returned only if you included it in the Metrics array in 7335 // your request. 7336 Average *float64 `type:"double"` 7337 7338 // The maximum value provided by one contributor during this timestamp. Each 7339 // timestamp is evaluated separately, so the identity of the max contributor 7340 // could be different for each timestamp. 7341 // 7342 // This statistic is returned only if you included it in the Metrics array in 7343 // your request. 7344 MaxContributorValue *float64 `type:"double"` 7345 7346 // The maximum value from a single occurence from a single contributor during 7347 // the time period represented by that data point. 7348 // 7349 // This statistic is returned only if you included it in the Metrics array in 7350 // your request. 7351 Maximum *float64 `type:"double"` 7352 7353 // The minimum value from a single contributor during the time period represented 7354 // by that data point. 7355 // 7356 // This statistic is returned only if you included it in the Metrics array in 7357 // your request. 7358 Minimum *float64 `type:"double"` 7359 7360 // The number of occurrences that matched the rule during this data point. 7361 // 7362 // This statistic is returned only if you included it in the Metrics array in 7363 // your request. 7364 SampleCount *float64 `type:"double"` 7365 7366 // The sum of the values from all contributors during the time period represented 7367 // by that data point. 7368 // 7369 // This statistic is returned only if you included it in the Metrics array in 7370 // your request. 7371 Sum *float64 `type:"double"` 7372 7373 // The timestamp of the data point. 7374 // 7375 // Timestamp is a required field 7376 Timestamp *time.Time `type:"timestamp" required:"true"` 7377 7378 // The number of unique contributors who published data during this timestamp. 7379 // 7380 // This statistic is returned only if you included it in the Metrics array in 7381 // your request. 7382 UniqueContributors *float64 `type:"double"` 7383} 7384 7385// String returns the string representation. 7386// 7387// API parameter values that are decorated as "sensitive" in the API will not 7388// be included in the string output. The member name will be present, but the 7389// value will be replaced with "sensitive". 7390func (s InsightRuleMetricDatapoint) String() string { 7391 return awsutil.Prettify(s) 7392} 7393 7394// GoString returns the string representation. 7395// 7396// API parameter values that are decorated as "sensitive" in the API will not 7397// be included in the string output. The member name will be present, but the 7398// value will be replaced with "sensitive". 7399func (s InsightRuleMetricDatapoint) GoString() string { 7400 return s.String() 7401} 7402 7403// SetAverage sets the Average field's value. 7404func (s *InsightRuleMetricDatapoint) SetAverage(v float64) *InsightRuleMetricDatapoint { 7405 s.Average = &v 7406 return s 7407} 7408 7409// SetMaxContributorValue sets the MaxContributorValue field's value. 7410func (s *InsightRuleMetricDatapoint) SetMaxContributorValue(v float64) *InsightRuleMetricDatapoint { 7411 s.MaxContributorValue = &v 7412 return s 7413} 7414 7415// SetMaximum sets the Maximum field's value. 7416func (s *InsightRuleMetricDatapoint) SetMaximum(v float64) *InsightRuleMetricDatapoint { 7417 s.Maximum = &v 7418 return s 7419} 7420 7421// SetMinimum sets the Minimum field's value. 7422func (s *InsightRuleMetricDatapoint) SetMinimum(v float64) *InsightRuleMetricDatapoint { 7423 s.Minimum = &v 7424 return s 7425} 7426 7427// SetSampleCount sets the SampleCount field's value. 7428func (s *InsightRuleMetricDatapoint) SetSampleCount(v float64) *InsightRuleMetricDatapoint { 7429 s.SampleCount = &v 7430 return s 7431} 7432 7433// SetSum sets the Sum field's value. 7434func (s *InsightRuleMetricDatapoint) SetSum(v float64) *InsightRuleMetricDatapoint { 7435 s.Sum = &v 7436 return s 7437} 7438 7439// SetTimestamp sets the Timestamp field's value. 7440func (s *InsightRuleMetricDatapoint) SetTimestamp(v time.Time) *InsightRuleMetricDatapoint { 7441 s.Timestamp = &v 7442 return s 7443} 7444 7445// SetUniqueContributors sets the UniqueContributors field's value. 7446func (s *InsightRuleMetricDatapoint) SetUniqueContributors(v float64) *InsightRuleMetricDatapoint { 7447 s.UniqueContributors = &v 7448 return s 7449} 7450 7451// This structure includes the Timezone parameter, which you can use to specify 7452// your time zone so that the labels that are associated with returned metrics 7453// display the correct time for your time zone. 7454// 7455// The Timezone value affects a label only if you have a time-based dynamic 7456// expression in the label. For more information about dynamic expressions in 7457// labels, see Using Dynamic Labels (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/graph-dynamic-labels.html). 7458type LabelOptions struct { 7459 _ struct{} `type:"structure"` 7460 7461 // The time zone to use for metric data return in this operation. The format 7462 // is + or - followed by four digits. The first two digits indicate the number 7463 // of hours ahead or behind of UTC, and the final two digits are the number 7464 // of minutes. For example, +0130 indicates a time zone that is 1 hour and 30 7465 // minutes ahead of UTC. The default is +0000. 7466 Timezone *string `type:"string"` 7467} 7468 7469// String returns the string representation. 7470// 7471// API parameter values that are decorated as "sensitive" in the API will not 7472// be included in the string output. The member name will be present, but the 7473// value will be replaced with "sensitive". 7474func (s LabelOptions) String() string { 7475 return awsutil.Prettify(s) 7476} 7477 7478// GoString returns the string representation. 7479// 7480// API parameter values that are decorated as "sensitive" in the API will not 7481// be included in the string output. The member name will be present, but the 7482// value will be replaced with "sensitive". 7483func (s LabelOptions) GoString() string { 7484 return s.String() 7485} 7486 7487// SetTimezone sets the Timezone field's value. 7488func (s *LabelOptions) SetTimezone(v string) *LabelOptions { 7489 s.Timezone = &v 7490 return s 7491} 7492 7493type ListDashboardsInput struct { 7494 _ struct{} `type:"structure"` 7495 7496 // If you specify this parameter, only the dashboards with names starting with 7497 // the specified string are listed. The maximum length is 255, and valid characters 7498 // are A-Z, a-z, 0-9, ".", "-", and "_". 7499 DashboardNamePrefix *string `type:"string"` 7500 7501 // The token returned by a previous call to indicate that there is more data 7502 // available. 7503 NextToken *string `type:"string"` 7504} 7505 7506// String returns the string representation. 7507// 7508// API parameter values that are decorated as "sensitive" in the API will not 7509// be included in the string output. The member name will be present, but the 7510// value will be replaced with "sensitive". 7511func (s ListDashboardsInput) String() string { 7512 return awsutil.Prettify(s) 7513} 7514 7515// GoString returns the string representation. 7516// 7517// API parameter values that are decorated as "sensitive" in the API will not 7518// be included in the string output. The member name will be present, but the 7519// value will be replaced with "sensitive". 7520func (s ListDashboardsInput) GoString() string { 7521 return s.String() 7522} 7523 7524// SetDashboardNamePrefix sets the DashboardNamePrefix field's value. 7525func (s *ListDashboardsInput) SetDashboardNamePrefix(v string) *ListDashboardsInput { 7526 s.DashboardNamePrefix = &v 7527 return s 7528} 7529 7530// SetNextToken sets the NextToken field's value. 7531func (s *ListDashboardsInput) SetNextToken(v string) *ListDashboardsInput { 7532 s.NextToken = &v 7533 return s 7534} 7535 7536type ListDashboardsOutput struct { 7537 _ struct{} `type:"structure"` 7538 7539 // The list of matching dashboards. 7540 DashboardEntries []*DashboardEntry `type:"list"` 7541 7542 // The token that marks the start of the next batch of returned results. 7543 NextToken *string `type:"string"` 7544} 7545 7546// String returns the string representation. 7547// 7548// API parameter values that are decorated as "sensitive" in the API will not 7549// be included in the string output. The member name will be present, but the 7550// value will be replaced with "sensitive". 7551func (s ListDashboardsOutput) String() string { 7552 return awsutil.Prettify(s) 7553} 7554 7555// GoString returns the string representation. 7556// 7557// API parameter values that are decorated as "sensitive" in the API will not 7558// be included in the string output. The member name will be present, but the 7559// value will be replaced with "sensitive". 7560func (s ListDashboardsOutput) GoString() string { 7561 return s.String() 7562} 7563 7564// SetDashboardEntries sets the DashboardEntries field's value. 7565func (s *ListDashboardsOutput) SetDashboardEntries(v []*DashboardEntry) *ListDashboardsOutput { 7566 s.DashboardEntries = v 7567 return s 7568} 7569 7570// SetNextToken sets the NextToken field's value. 7571func (s *ListDashboardsOutput) SetNextToken(v string) *ListDashboardsOutput { 7572 s.NextToken = &v 7573 return s 7574} 7575 7576type ListMetricStreamsInput struct { 7577 _ struct{} `type:"structure"` 7578 7579 // The maximum number of results to return in one operation. 7580 MaxResults *int64 `min:"1" type:"integer"` 7581 7582 // Include this value, if it was returned by the previous call, to get the next 7583 // set of metric streams. 7584 NextToken *string `type:"string"` 7585} 7586 7587// String returns the string representation. 7588// 7589// API parameter values that are decorated as "sensitive" in the API will not 7590// be included in the string output. The member name will be present, but the 7591// value will be replaced with "sensitive". 7592func (s ListMetricStreamsInput) String() string { 7593 return awsutil.Prettify(s) 7594} 7595 7596// GoString returns the string representation. 7597// 7598// API parameter values that are decorated as "sensitive" in the API will not 7599// be included in the string output. The member name will be present, but the 7600// value will be replaced with "sensitive". 7601func (s ListMetricStreamsInput) GoString() string { 7602 return s.String() 7603} 7604 7605// Validate inspects the fields of the type to determine if they are valid. 7606func (s *ListMetricStreamsInput) Validate() error { 7607 invalidParams := request.ErrInvalidParams{Context: "ListMetricStreamsInput"} 7608 if s.MaxResults != nil && *s.MaxResults < 1 { 7609 invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) 7610 } 7611 7612 if invalidParams.Len() > 0 { 7613 return invalidParams 7614 } 7615 return nil 7616} 7617 7618// SetMaxResults sets the MaxResults field's value. 7619func (s *ListMetricStreamsInput) SetMaxResults(v int64) *ListMetricStreamsInput { 7620 s.MaxResults = &v 7621 return s 7622} 7623 7624// SetNextToken sets the NextToken field's value. 7625func (s *ListMetricStreamsInput) SetNextToken(v string) *ListMetricStreamsInput { 7626 s.NextToken = &v 7627 return s 7628} 7629 7630type ListMetricStreamsOutput struct { 7631 _ struct{} `type:"structure"` 7632 7633 // The array of metric stream information. 7634 Entries []*MetricStreamEntry `type:"list"` 7635 7636 // The token that marks the start of the next batch of returned results. You 7637 // can use this token in a subsequent operation to get the next batch of results. 7638 NextToken *string `type:"string"` 7639} 7640 7641// String returns the string representation. 7642// 7643// API parameter values that are decorated as "sensitive" in the API will not 7644// be included in the string output. The member name will be present, but the 7645// value will be replaced with "sensitive". 7646func (s ListMetricStreamsOutput) String() string { 7647 return awsutil.Prettify(s) 7648} 7649 7650// GoString returns the string representation. 7651// 7652// API parameter values that are decorated as "sensitive" in the API will not 7653// be included in the string output. The member name will be present, but the 7654// value will be replaced with "sensitive". 7655func (s ListMetricStreamsOutput) GoString() string { 7656 return s.String() 7657} 7658 7659// SetEntries sets the Entries field's value. 7660func (s *ListMetricStreamsOutput) SetEntries(v []*MetricStreamEntry) *ListMetricStreamsOutput { 7661 s.Entries = v 7662 return s 7663} 7664 7665// SetNextToken sets the NextToken field's value. 7666func (s *ListMetricStreamsOutput) SetNextToken(v string) *ListMetricStreamsOutput { 7667 s.NextToken = &v 7668 return s 7669} 7670 7671type ListMetricsInput struct { 7672 _ struct{} `type:"structure"` 7673 7674 // The dimensions to filter against. Only the dimensions that match exactly 7675 // will be returned. 7676 Dimensions []*DimensionFilter `type:"list"` 7677 7678 // The name of the metric to filter against. Only the metrics with names that 7679 // match exactly will be returned. 7680 MetricName *string `min:"1" type:"string"` 7681 7682 // The metric namespace to filter against. Only the namespace that matches exactly 7683 // will be returned. 7684 Namespace *string `min:"1" type:"string"` 7685 7686 // The token returned by a previous call to indicate that there is more data 7687 // available. 7688 NextToken *string `type:"string"` 7689 7690 // To filter the results to show only metrics that have had data points published 7691 // in the past three hours, specify this parameter with a value of PT3H. This 7692 // is the only valid value for this parameter. 7693 // 7694 // The results that are returned are an approximation of the value you specify. 7695 // There is a low probability that the returned results include metrics with 7696 // last published data as much as 40 minutes more than the specified time interval. 7697 RecentlyActive *string `type:"string" enum:"RecentlyActive"` 7698} 7699 7700// String returns the string representation. 7701// 7702// API parameter values that are decorated as "sensitive" in the API will not 7703// be included in the string output. The member name will be present, but the 7704// value will be replaced with "sensitive". 7705func (s ListMetricsInput) String() string { 7706 return awsutil.Prettify(s) 7707} 7708 7709// GoString returns the string representation. 7710// 7711// API parameter values that are decorated as "sensitive" in the API will not 7712// be included in the string output. The member name will be present, but the 7713// value will be replaced with "sensitive". 7714func (s ListMetricsInput) GoString() string { 7715 return s.String() 7716} 7717 7718// Validate inspects the fields of the type to determine if they are valid. 7719func (s *ListMetricsInput) Validate() error { 7720 invalidParams := request.ErrInvalidParams{Context: "ListMetricsInput"} 7721 if s.MetricName != nil && len(*s.MetricName) < 1 { 7722 invalidParams.Add(request.NewErrParamMinLen("MetricName", 1)) 7723 } 7724 if s.Namespace != nil && len(*s.Namespace) < 1 { 7725 invalidParams.Add(request.NewErrParamMinLen("Namespace", 1)) 7726 } 7727 if s.Dimensions != nil { 7728 for i, v := range s.Dimensions { 7729 if v == nil { 7730 continue 7731 } 7732 if err := v.Validate(); err != nil { 7733 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Dimensions", i), err.(request.ErrInvalidParams)) 7734 } 7735 } 7736 } 7737 7738 if invalidParams.Len() > 0 { 7739 return invalidParams 7740 } 7741 return nil 7742} 7743 7744// SetDimensions sets the Dimensions field's value. 7745func (s *ListMetricsInput) SetDimensions(v []*DimensionFilter) *ListMetricsInput { 7746 s.Dimensions = v 7747 return s 7748} 7749 7750// SetMetricName sets the MetricName field's value. 7751func (s *ListMetricsInput) SetMetricName(v string) *ListMetricsInput { 7752 s.MetricName = &v 7753 return s 7754} 7755 7756// SetNamespace sets the Namespace field's value. 7757func (s *ListMetricsInput) SetNamespace(v string) *ListMetricsInput { 7758 s.Namespace = &v 7759 return s 7760} 7761 7762// SetNextToken sets the NextToken field's value. 7763func (s *ListMetricsInput) SetNextToken(v string) *ListMetricsInput { 7764 s.NextToken = &v 7765 return s 7766} 7767 7768// SetRecentlyActive sets the RecentlyActive field's value. 7769func (s *ListMetricsInput) SetRecentlyActive(v string) *ListMetricsInput { 7770 s.RecentlyActive = &v 7771 return s 7772} 7773 7774type ListMetricsOutput struct { 7775 _ struct{} `type:"structure"` 7776 7777 // The metrics that match your request. 7778 Metrics []*Metric `type:"list"` 7779 7780 // The token that marks the start of the next batch of returned results. 7781 NextToken *string `type:"string"` 7782} 7783 7784// String returns the string representation. 7785// 7786// API parameter values that are decorated as "sensitive" in the API will not 7787// be included in the string output. The member name will be present, but the 7788// value will be replaced with "sensitive". 7789func (s ListMetricsOutput) String() string { 7790 return awsutil.Prettify(s) 7791} 7792 7793// GoString returns the string representation. 7794// 7795// API parameter values that are decorated as "sensitive" in the API will not 7796// be included in the string output. The member name will be present, but the 7797// value will be replaced with "sensitive". 7798func (s ListMetricsOutput) GoString() string { 7799 return s.String() 7800} 7801 7802// SetMetrics sets the Metrics field's value. 7803func (s *ListMetricsOutput) SetMetrics(v []*Metric) *ListMetricsOutput { 7804 s.Metrics = v 7805 return s 7806} 7807 7808// SetNextToken sets the NextToken field's value. 7809func (s *ListMetricsOutput) SetNextToken(v string) *ListMetricsOutput { 7810 s.NextToken = &v 7811 return s 7812} 7813 7814type ListTagsForResourceInput struct { 7815 _ struct{} `type:"structure"` 7816 7817 // The ARN of the CloudWatch resource that you want to view tags for. 7818 // 7819 // The ARN format of an alarm is arn:aws:cloudwatch:Region:account-id:alarm:alarm-name 7820 // 7821 // The ARN format of a Contributor Insights rule is arn:aws:cloudwatch:Region:account-id:insight-rule:insight-rule-name 7822 // 7823 // For more information about ARN format, see Resource Types Defined by Amazon 7824 // CloudWatch (https://docs.aws.amazon.com/IAM/latest/UserGuide/list_amazoncloudwatch.html#amazoncloudwatch-resources-for-iam-policies) 7825 // in the Amazon Web Services General Reference. 7826 // 7827 // ResourceARN is a required field 7828 ResourceARN *string `min:"1" type:"string" required:"true"` 7829} 7830 7831// String returns the string representation. 7832// 7833// API parameter values that are decorated as "sensitive" in the API will not 7834// be included in the string output. The member name will be present, but the 7835// value will be replaced with "sensitive". 7836func (s ListTagsForResourceInput) String() string { 7837 return awsutil.Prettify(s) 7838} 7839 7840// GoString returns the string representation. 7841// 7842// API parameter values that are decorated as "sensitive" in the API will not 7843// be included in the string output. The member name will be present, but the 7844// value will be replaced with "sensitive". 7845func (s ListTagsForResourceInput) GoString() string { 7846 return s.String() 7847} 7848 7849// Validate inspects the fields of the type to determine if they are valid. 7850func (s *ListTagsForResourceInput) Validate() error { 7851 invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"} 7852 if s.ResourceARN == nil { 7853 invalidParams.Add(request.NewErrParamRequired("ResourceARN")) 7854 } 7855 if s.ResourceARN != nil && len(*s.ResourceARN) < 1 { 7856 invalidParams.Add(request.NewErrParamMinLen("ResourceARN", 1)) 7857 } 7858 7859 if invalidParams.Len() > 0 { 7860 return invalidParams 7861 } 7862 return nil 7863} 7864 7865// SetResourceARN sets the ResourceARN field's value. 7866func (s *ListTagsForResourceInput) SetResourceARN(v string) *ListTagsForResourceInput { 7867 s.ResourceARN = &v 7868 return s 7869} 7870 7871type ListTagsForResourceOutput struct { 7872 _ struct{} `type:"structure"` 7873 7874 // The list of tag keys and values associated with the resource you specified. 7875 Tags []*Tag `type:"list"` 7876} 7877 7878// String returns the string representation. 7879// 7880// API parameter values that are decorated as "sensitive" in the API will not 7881// be included in the string output. The member name will be present, but the 7882// value will be replaced with "sensitive". 7883func (s ListTagsForResourceOutput) String() string { 7884 return awsutil.Prettify(s) 7885} 7886 7887// GoString returns the string representation. 7888// 7889// API parameter values that are decorated as "sensitive" in the API will not 7890// be included in the string output. The member name will be present, but the 7891// value will be replaced with "sensitive". 7892func (s ListTagsForResourceOutput) GoString() string { 7893 return s.String() 7894} 7895 7896// SetTags sets the Tags field's value. 7897func (s *ListTagsForResourceOutput) SetTags(v []*Tag) *ListTagsForResourceOutput { 7898 s.Tags = v 7899 return s 7900} 7901 7902// A message returned by the GetMetricDataAPI, including a code and a description. 7903// 7904// If a cross-Region GetMetricData operation fails with a code of Forbidden 7905// and a value of Authentication too complex to retrieve cross region data, 7906// you can correct the problem by running the GetMetricData operation in the 7907// same Region where the metric data is. 7908type MessageData struct { 7909 _ struct{} `type:"structure"` 7910 7911 // The error code or status code associated with the message. 7912 Code *string `type:"string"` 7913 7914 // The message text. 7915 Value *string `type:"string"` 7916} 7917 7918// String returns the string representation. 7919// 7920// API parameter values that are decorated as "sensitive" in the API will not 7921// be included in the string output. The member name will be present, but the 7922// value will be replaced with "sensitive". 7923func (s MessageData) String() string { 7924 return awsutil.Prettify(s) 7925} 7926 7927// GoString returns the string representation. 7928// 7929// API parameter values that are decorated as "sensitive" in the API will not 7930// be included in the string output. The member name will be present, but the 7931// value will be replaced with "sensitive". 7932func (s MessageData) GoString() string { 7933 return s.String() 7934} 7935 7936// SetCode sets the Code field's value. 7937func (s *MessageData) SetCode(v string) *MessageData { 7938 s.Code = &v 7939 return s 7940} 7941 7942// SetValue sets the Value field's value. 7943func (s *MessageData) SetValue(v string) *MessageData { 7944 s.Value = &v 7945 return s 7946} 7947 7948// Represents a specific metric. 7949type Metric struct { 7950 _ struct{} `type:"structure"` 7951 7952 // The dimensions for the metric. 7953 Dimensions []*Dimension `type:"list"` 7954 7955 // The name of the metric. This is a required field. 7956 MetricName *string `min:"1" type:"string"` 7957 7958 // The namespace of the metric. 7959 Namespace *string `min:"1" type:"string"` 7960} 7961 7962// String returns the string representation. 7963// 7964// API parameter values that are decorated as "sensitive" in the API will not 7965// be included in the string output. The member name will be present, but the 7966// value will be replaced with "sensitive". 7967func (s Metric) String() string { 7968 return awsutil.Prettify(s) 7969} 7970 7971// GoString returns the string representation. 7972// 7973// API parameter values that are decorated as "sensitive" in the API will not 7974// be included in the string output. The member name will be present, but the 7975// value will be replaced with "sensitive". 7976func (s Metric) GoString() string { 7977 return s.String() 7978} 7979 7980// Validate inspects the fields of the type to determine if they are valid. 7981func (s *Metric) Validate() error { 7982 invalidParams := request.ErrInvalidParams{Context: "Metric"} 7983 if s.MetricName != nil && len(*s.MetricName) < 1 { 7984 invalidParams.Add(request.NewErrParamMinLen("MetricName", 1)) 7985 } 7986 if s.Namespace != nil && len(*s.Namespace) < 1 { 7987 invalidParams.Add(request.NewErrParamMinLen("Namespace", 1)) 7988 } 7989 if s.Dimensions != nil { 7990 for i, v := range s.Dimensions { 7991 if v == nil { 7992 continue 7993 } 7994 if err := v.Validate(); err != nil { 7995 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Dimensions", i), err.(request.ErrInvalidParams)) 7996 } 7997 } 7998 } 7999 8000 if invalidParams.Len() > 0 { 8001 return invalidParams 8002 } 8003 return nil 8004} 8005 8006// SetDimensions sets the Dimensions field's value. 8007func (s *Metric) SetDimensions(v []*Dimension) *Metric { 8008 s.Dimensions = v 8009 return s 8010} 8011 8012// SetMetricName sets the MetricName field's value. 8013func (s *Metric) SetMetricName(v string) *Metric { 8014 s.MetricName = &v 8015 return s 8016} 8017 8018// SetNamespace sets the Namespace field's value. 8019func (s *Metric) SetNamespace(v string) *Metric { 8020 s.Namespace = &v 8021 return s 8022} 8023 8024// The details about a metric alarm. 8025type MetricAlarm struct { 8026 _ struct{} `type:"structure"` 8027 8028 // Indicates whether actions should be executed during any changes to the alarm 8029 // state. 8030 ActionsEnabled *bool `type:"boolean"` 8031 8032 // The actions to execute when this alarm transitions to the ALARM state from 8033 // any other state. Each action is specified as an Amazon Resource Name (ARN). 8034 AlarmActions []*string `type:"list"` 8035 8036 // The Amazon Resource Name (ARN) of the alarm. 8037 AlarmArn *string `min:"1" type:"string"` 8038 8039 // The time stamp of the last update to the alarm configuration. 8040 AlarmConfigurationUpdatedTimestamp *time.Time `type:"timestamp"` 8041 8042 // The description of the alarm. 8043 AlarmDescription *string `type:"string"` 8044 8045 // The name of the alarm. 8046 AlarmName *string `min:"1" type:"string"` 8047 8048 // The arithmetic operation to use when comparing the specified statistic and 8049 // threshold. The specified statistic value is used as the first operand. 8050 ComparisonOperator *string `type:"string" enum:"ComparisonOperator"` 8051 8052 // The number of data points that must be breaching to trigger the alarm. 8053 DatapointsToAlarm *int64 `min:"1" type:"integer"` 8054 8055 // The dimensions for the metric associated with the alarm. 8056 Dimensions []*Dimension `type:"list"` 8057 8058 // Used only for alarms based on percentiles. If ignore, the alarm state does 8059 // not change during periods with too few data points to be statistically significant. 8060 // If evaluate or this parameter is not used, the alarm is always evaluated 8061 // and possibly changes state no matter how many data points are available. 8062 EvaluateLowSampleCountPercentile *string `min:"1" type:"string"` 8063 8064 // The number of periods over which data is compared to the specified threshold. 8065 EvaluationPeriods *int64 `min:"1" type:"integer"` 8066 8067 // The percentile statistic for the metric associated with the alarm. Specify 8068 // a value between p0.0 and p100. 8069 ExtendedStatistic *string `type:"string"` 8070 8071 // The actions to execute when this alarm transitions to the INSUFFICIENT_DATA 8072 // state from any other state. Each action is specified as an Amazon Resource 8073 // Name (ARN). 8074 InsufficientDataActions []*string `type:"list"` 8075 8076 // The name of the metric associated with the alarm, if this is an alarm based 8077 // on a single metric. 8078 MetricName *string `min:"1" type:"string"` 8079 8080 // An array of MetricDataQuery structures, used in an alarm based on a metric 8081 // math expression. Each structure either retrieves a metric or performs a math 8082 // expression. One item in the Metrics array is the math expression that the 8083 // alarm watches. This expression by designated by having ReturnData set to 8084 // true. 8085 Metrics []*MetricDataQuery `type:"list"` 8086 8087 // The namespace of the metric associated with the alarm. 8088 Namespace *string `min:"1" type:"string"` 8089 8090 // The actions to execute when this alarm transitions to the OK state from any 8091 // other state. Each action is specified as an Amazon Resource Name (ARN). 8092 OKActions []*string `type:"list"` 8093 8094 // The period, in seconds, over which the statistic is applied. 8095 Period *int64 `min:"1" type:"integer"` 8096 8097 // An explanation for the alarm state, in text format. 8098 StateReason *string `type:"string"` 8099 8100 // An explanation for the alarm state, in JSON format. 8101 StateReasonData *string `type:"string"` 8102 8103 // The time stamp of the last update to the alarm state. 8104 StateUpdatedTimestamp *time.Time `type:"timestamp"` 8105 8106 // The state value for the alarm. 8107 StateValue *string `type:"string" enum:"StateValue"` 8108 8109 // The statistic for the metric associated with the alarm, other than percentile. 8110 // For percentile statistics, use ExtendedStatistic. 8111 Statistic *string `type:"string" enum:"Statistic"` 8112 8113 // The value to compare with the specified statistic. 8114 Threshold *float64 `type:"double"` 8115 8116 // In an alarm based on an anomaly detection model, this is the ID of the ANOMALY_DETECTION_BAND 8117 // function used as the threshold for the alarm. 8118 ThresholdMetricId *string `min:"1" type:"string"` 8119 8120 // Sets how this alarm is to handle missing data points. If this parameter is 8121 // omitted, the default behavior of missing is used. 8122 TreatMissingData *string `min:"1" type:"string"` 8123 8124 // The unit of the metric associated with the alarm. 8125 Unit *string `type:"string" enum:"StandardUnit"` 8126} 8127 8128// String returns the string representation. 8129// 8130// API parameter values that are decorated as "sensitive" in the API will not 8131// be included in the string output. The member name will be present, but the 8132// value will be replaced with "sensitive". 8133func (s MetricAlarm) String() string { 8134 return awsutil.Prettify(s) 8135} 8136 8137// GoString returns the string representation. 8138// 8139// API parameter values that are decorated as "sensitive" in the API will not 8140// be included in the string output. The member name will be present, but the 8141// value will be replaced with "sensitive". 8142func (s MetricAlarm) GoString() string { 8143 return s.String() 8144} 8145 8146// SetActionsEnabled sets the ActionsEnabled field's value. 8147func (s *MetricAlarm) SetActionsEnabled(v bool) *MetricAlarm { 8148 s.ActionsEnabled = &v 8149 return s 8150} 8151 8152// SetAlarmActions sets the AlarmActions field's value. 8153func (s *MetricAlarm) SetAlarmActions(v []*string) *MetricAlarm { 8154 s.AlarmActions = v 8155 return s 8156} 8157 8158// SetAlarmArn sets the AlarmArn field's value. 8159func (s *MetricAlarm) SetAlarmArn(v string) *MetricAlarm { 8160 s.AlarmArn = &v 8161 return s 8162} 8163 8164// SetAlarmConfigurationUpdatedTimestamp sets the AlarmConfigurationUpdatedTimestamp field's value. 8165func (s *MetricAlarm) SetAlarmConfigurationUpdatedTimestamp(v time.Time) *MetricAlarm { 8166 s.AlarmConfigurationUpdatedTimestamp = &v 8167 return s 8168} 8169 8170// SetAlarmDescription sets the AlarmDescription field's value. 8171func (s *MetricAlarm) SetAlarmDescription(v string) *MetricAlarm { 8172 s.AlarmDescription = &v 8173 return s 8174} 8175 8176// SetAlarmName sets the AlarmName field's value. 8177func (s *MetricAlarm) SetAlarmName(v string) *MetricAlarm { 8178 s.AlarmName = &v 8179 return s 8180} 8181 8182// SetComparisonOperator sets the ComparisonOperator field's value. 8183func (s *MetricAlarm) SetComparisonOperator(v string) *MetricAlarm { 8184 s.ComparisonOperator = &v 8185 return s 8186} 8187 8188// SetDatapointsToAlarm sets the DatapointsToAlarm field's value. 8189func (s *MetricAlarm) SetDatapointsToAlarm(v int64) *MetricAlarm { 8190 s.DatapointsToAlarm = &v 8191 return s 8192} 8193 8194// SetDimensions sets the Dimensions field's value. 8195func (s *MetricAlarm) SetDimensions(v []*Dimension) *MetricAlarm { 8196 s.Dimensions = v 8197 return s 8198} 8199 8200// SetEvaluateLowSampleCountPercentile sets the EvaluateLowSampleCountPercentile field's value. 8201func (s *MetricAlarm) SetEvaluateLowSampleCountPercentile(v string) *MetricAlarm { 8202 s.EvaluateLowSampleCountPercentile = &v 8203 return s 8204} 8205 8206// SetEvaluationPeriods sets the EvaluationPeriods field's value. 8207func (s *MetricAlarm) SetEvaluationPeriods(v int64) *MetricAlarm { 8208 s.EvaluationPeriods = &v 8209 return s 8210} 8211 8212// SetExtendedStatistic sets the ExtendedStatistic field's value. 8213func (s *MetricAlarm) SetExtendedStatistic(v string) *MetricAlarm { 8214 s.ExtendedStatistic = &v 8215 return s 8216} 8217 8218// SetInsufficientDataActions sets the InsufficientDataActions field's value. 8219func (s *MetricAlarm) SetInsufficientDataActions(v []*string) *MetricAlarm { 8220 s.InsufficientDataActions = v 8221 return s 8222} 8223 8224// SetMetricName sets the MetricName field's value. 8225func (s *MetricAlarm) SetMetricName(v string) *MetricAlarm { 8226 s.MetricName = &v 8227 return s 8228} 8229 8230// SetMetrics sets the Metrics field's value. 8231func (s *MetricAlarm) SetMetrics(v []*MetricDataQuery) *MetricAlarm { 8232 s.Metrics = v 8233 return s 8234} 8235 8236// SetNamespace sets the Namespace field's value. 8237func (s *MetricAlarm) SetNamespace(v string) *MetricAlarm { 8238 s.Namespace = &v 8239 return s 8240} 8241 8242// SetOKActions sets the OKActions field's value. 8243func (s *MetricAlarm) SetOKActions(v []*string) *MetricAlarm { 8244 s.OKActions = v 8245 return s 8246} 8247 8248// SetPeriod sets the Period field's value. 8249func (s *MetricAlarm) SetPeriod(v int64) *MetricAlarm { 8250 s.Period = &v 8251 return s 8252} 8253 8254// SetStateReason sets the StateReason field's value. 8255func (s *MetricAlarm) SetStateReason(v string) *MetricAlarm { 8256 s.StateReason = &v 8257 return s 8258} 8259 8260// SetStateReasonData sets the StateReasonData field's value. 8261func (s *MetricAlarm) SetStateReasonData(v string) *MetricAlarm { 8262 s.StateReasonData = &v 8263 return s 8264} 8265 8266// SetStateUpdatedTimestamp sets the StateUpdatedTimestamp field's value. 8267func (s *MetricAlarm) SetStateUpdatedTimestamp(v time.Time) *MetricAlarm { 8268 s.StateUpdatedTimestamp = &v 8269 return s 8270} 8271 8272// SetStateValue sets the StateValue field's value. 8273func (s *MetricAlarm) SetStateValue(v string) *MetricAlarm { 8274 s.StateValue = &v 8275 return s 8276} 8277 8278// SetStatistic sets the Statistic field's value. 8279func (s *MetricAlarm) SetStatistic(v string) *MetricAlarm { 8280 s.Statistic = &v 8281 return s 8282} 8283 8284// SetThreshold sets the Threshold field's value. 8285func (s *MetricAlarm) SetThreshold(v float64) *MetricAlarm { 8286 s.Threshold = &v 8287 return s 8288} 8289 8290// SetThresholdMetricId sets the ThresholdMetricId field's value. 8291func (s *MetricAlarm) SetThresholdMetricId(v string) *MetricAlarm { 8292 s.ThresholdMetricId = &v 8293 return s 8294} 8295 8296// SetTreatMissingData sets the TreatMissingData field's value. 8297func (s *MetricAlarm) SetTreatMissingData(v string) *MetricAlarm { 8298 s.TreatMissingData = &v 8299 return s 8300} 8301 8302// SetUnit sets the Unit field's value. 8303func (s *MetricAlarm) SetUnit(v string) *MetricAlarm { 8304 s.Unit = &v 8305 return s 8306} 8307 8308// This structure is used in both GetMetricData and PutMetricAlarm. The supported 8309// use of this structure is different for those two operations. 8310// 8311// When used in GetMetricData, it indicates the metric data to return, and whether 8312// this call is just retrieving a batch set of data for one metric, or is performing 8313// a math expression on metric data. A single GetMetricData call can include 8314// up to 500 MetricDataQuery structures. 8315// 8316// When used in PutMetricAlarm, it enables you to create an alarm based on a 8317// metric math expression. Each MetricDataQuery in the array specifies either 8318// a metric to retrieve, or a math expression to be performed on retrieved metrics. 8319// A single PutMetricAlarm call can include up to 20 MetricDataQuery structures 8320// in the array. The 20 structures can include as many as 10 structures that 8321// contain a MetricStat parameter to retrieve a metric, and as many as 10 structures 8322// that contain the Expression parameter to perform a math expression. Of those 8323// Expression structures, one must have True as the value for ReturnData. The 8324// result of this expression is the value the alarm watches. 8325// 8326// Any expression used in a PutMetricAlarm operation must return a single time 8327// series. For more information, see Metric Math Syntax and Functions (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/using-metric-math.html#metric-math-syntax) 8328// in the Amazon CloudWatch User Guide. 8329// 8330// Some of the parameters of this structure also have different uses whether 8331// you are using this structure in a GetMetricData operation or a PutMetricAlarm 8332// operation. These differences are explained in the following parameter list. 8333type MetricDataQuery struct { 8334 _ struct{} `type:"structure"` 8335 8336 // The ID of the account where the metrics are located, if this is a cross-account 8337 // alarm. 8338 // 8339 // Use this field only for PutMetricAlarm operations. It is not used in GetMetricData 8340 // operations. 8341 AccountId *string `min:"1" type:"string"` 8342 8343 // The math expression to be performed on the returned data, if this object 8344 // is performing a math expression. This expression can use the Id of the other 8345 // metrics to refer to those metrics, and can also use the Id of other expressions 8346 // to use the result of those expressions. For more information about metric 8347 // math expressions, see Metric Math Syntax and Functions (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/using-metric-math.html#metric-math-syntax) 8348 // in the Amazon CloudWatch User Guide. 8349 // 8350 // Within each MetricDataQuery object, you must specify either Expression or 8351 // MetricStat but not both. 8352 Expression *string `min:"1" type:"string"` 8353 8354 // A short name used to tie this object to the results in the response. This 8355 // name must be unique within a single call to GetMetricData. If you are performing 8356 // math expressions on this set of data, this name represents that data and 8357 // can serve as a variable in the mathematical expression. The valid characters 8358 // are letters, numbers, and underscore. The first character must be a lowercase 8359 // letter. 8360 // 8361 // Id is a required field 8362 Id *string `min:"1" type:"string" required:"true"` 8363 8364 // A human-readable label for this metric or expression. This is especially 8365 // useful if this is an expression, so that you know what the value represents. 8366 // If the metric or expression is shown in a CloudWatch dashboard widget, the 8367 // label is shown. If Label is omitted, CloudWatch generates a default. 8368 // 8369 // You can put dynamic expressions into a label, so that it is more descriptive. 8370 // For more information, see Using Dynamic Labels (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/graph-dynamic-labels.html). 8371 Label *string `type:"string"` 8372 8373 // The metric to be returned, along with statistics, period, and units. Use 8374 // this parameter only if this object is retrieving a metric and not performing 8375 // a math expression on returned data. 8376 // 8377 // Within one MetricDataQuery object, you must specify either Expression or 8378 // MetricStat but not both. 8379 MetricStat *MetricStat `type:"structure"` 8380 8381 // The granularity, in seconds, of the returned data points. For metrics with 8382 // regular resolution, a period can be as short as one minute (60 seconds) and 8383 // must be a multiple of 60. For high-resolution metrics that are collected 8384 // at intervals of less than one minute, the period can be 1, 5, 10, 30, 60, 8385 // or any multiple of 60. High-resolution metrics are those metrics stored by 8386 // a PutMetricData operation that includes a StorageResolution of 1 second. 8387 Period *int64 `min:"1" type:"integer"` 8388 8389 // When used in GetMetricData, this option indicates whether to return the timestamps 8390 // and raw data values of this metric. If you are performing this call just 8391 // to do math expressions and do not also need the raw data returned, you can 8392 // specify False. If you omit this, the default of True is used. 8393 // 8394 // When used in PutMetricAlarm, specify True for the one expression result to 8395 // use as the alarm. For all other metrics and expressions in the same PutMetricAlarm 8396 // operation, specify ReturnData as False. 8397 ReturnData *bool `type:"boolean"` 8398} 8399 8400// String returns the string representation. 8401// 8402// API parameter values that are decorated as "sensitive" in the API will not 8403// be included in the string output. The member name will be present, but the 8404// value will be replaced with "sensitive". 8405func (s MetricDataQuery) String() string { 8406 return awsutil.Prettify(s) 8407} 8408 8409// GoString returns the string representation. 8410// 8411// API parameter values that are decorated as "sensitive" in the API will not 8412// be included in the string output. The member name will be present, but the 8413// value will be replaced with "sensitive". 8414func (s MetricDataQuery) GoString() string { 8415 return s.String() 8416} 8417 8418// Validate inspects the fields of the type to determine if they are valid. 8419func (s *MetricDataQuery) Validate() error { 8420 invalidParams := request.ErrInvalidParams{Context: "MetricDataQuery"} 8421 if s.AccountId != nil && len(*s.AccountId) < 1 { 8422 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 8423 } 8424 if s.Expression != nil && len(*s.Expression) < 1 { 8425 invalidParams.Add(request.NewErrParamMinLen("Expression", 1)) 8426 } 8427 if s.Id == nil { 8428 invalidParams.Add(request.NewErrParamRequired("Id")) 8429 } 8430 if s.Id != nil && len(*s.Id) < 1 { 8431 invalidParams.Add(request.NewErrParamMinLen("Id", 1)) 8432 } 8433 if s.Period != nil && *s.Period < 1 { 8434 invalidParams.Add(request.NewErrParamMinValue("Period", 1)) 8435 } 8436 if s.MetricStat != nil { 8437 if err := s.MetricStat.Validate(); err != nil { 8438 invalidParams.AddNested("MetricStat", err.(request.ErrInvalidParams)) 8439 } 8440 } 8441 8442 if invalidParams.Len() > 0 { 8443 return invalidParams 8444 } 8445 return nil 8446} 8447 8448// SetAccountId sets the AccountId field's value. 8449func (s *MetricDataQuery) SetAccountId(v string) *MetricDataQuery { 8450 s.AccountId = &v 8451 return s 8452} 8453 8454// SetExpression sets the Expression field's value. 8455func (s *MetricDataQuery) SetExpression(v string) *MetricDataQuery { 8456 s.Expression = &v 8457 return s 8458} 8459 8460// SetId sets the Id field's value. 8461func (s *MetricDataQuery) SetId(v string) *MetricDataQuery { 8462 s.Id = &v 8463 return s 8464} 8465 8466// SetLabel sets the Label field's value. 8467func (s *MetricDataQuery) SetLabel(v string) *MetricDataQuery { 8468 s.Label = &v 8469 return s 8470} 8471 8472// SetMetricStat sets the MetricStat field's value. 8473func (s *MetricDataQuery) SetMetricStat(v *MetricStat) *MetricDataQuery { 8474 s.MetricStat = v 8475 return s 8476} 8477 8478// SetPeriod sets the Period field's value. 8479func (s *MetricDataQuery) SetPeriod(v int64) *MetricDataQuery { 8480 s.Period = &v 8481 return s 8482} 8483 8484// SetReturnData sets the ReturnData field's value. 8485func (s *MetricDataQuery) SetReturnData(v bool) *MetricDataQuery { 8486 s.ReturnData = &v 8487 return s 8488} 8489 8490// A GetMetricData call returns an array of MetricDataResult structures. Each 8491// of these structures includes the data points for that metric, along with 8492// the timestamps of those data points and other identifying information. 8493type MetricDataResult struct { 8494 _ struct{} `type:"structure"` 8495 8496 // The short name you specified to represent this metric. 8497 Id *string `min:"1" type:"string"` 8498 8499 // The human-readable label associated with the data. 8500 Label *string `type:"string"` 8501 8502 // A list of messages with additional information about the data returned. 8503 Messages []*MessageData `type:"list"` 8504 8505 // The status of the returned data. Complete indicates that all data points 8506 // in the requested time range were returned. PartialData means that an incomplete 8507 // set of data points were returned. You can use the NextToken value that was 8508 // returned and repeat your request to get more data points. NextToken is not 8509 // returned if you are performing a math expression. InternalError indicates 8510 // that an error occurred. Retry your request using NextToken, if present. 8511 StatusCode *string `type:"string" enum:"StatusCode"` 8512 8513 // The timestamps for the data points, formatted in Unix timestamp format. The 8514 // number of timestamps always matches the number of values and the value for 8515 // Timestamps[x] is Values[x]. 8516 Timestamps []*time.Time `type:"list"` 8517 8518 // The data points for the metric corresponding to Timestamps. The number of 8519 // values always matches the number of timestamps and the timestamp for Values[x] 8520 // is Timestamps[x]. 8521 Values []*float64 `type:"list"` 8522} 8523 8524// String returns the string representation. 8525// 8526// API parameter values that are decorated as "sensitive" in the API will not 8527// be included in the string output. The member name will be present, but the 8528// value will be replaced with "sensitive". 8529func (s MetricDataResult) String() string { 8530 return awsutil.Prettify(s) 8531} 8532 8533// GoString returns the string representation. 8534// 8535// API parameter values that are decorated as "sensitive" in the API will not 8536// be included in the string output. The member name will be present, but the 8537// value will be replaced with "sensitive". 8538func (s MetricDataResult) GoString() string { 8539 return s.String() 8540} 8541 8542// SetId sets the Id field's value. 8543func (s *MetricDataResult) SetId(v string) *MetricDataResult { 8544 s.Id = &v 8545 return s 8546} 8547 8548// SetLabel sets the Label field's value. 8549func (s *MetricDataResult) SetLabel(v string) *MetricDataResult { 8550 s.Label = &v 8551 return s 8552} 8553 8554// SetMessages sets the Messages field's value. 8555func (s *MetricDataResult) SetMessages(v []*MessageData) *MetricDataResult { 8556 s.Messages = v 8557 return s 8558} 8559 8560// SetStatusCode sets the StatusCode field's value. 8561func (s *MetricDataResult) SetStatusCode(v string) *MetricDataResult { 8562 s.StatusCode = &v 8563 return s 8564} 8565 8566// SetTimestamps sets the Timestamps field's value. 8567func (s *MetricDataResult) SetTimestamps(v []*time.Time) *MetricDataResult { 8568 s.Timestamps = v 8569 return s 8570} 8571 8572// SetValues sets the Values field's value. 8573func (s *MetricDataResult) SetValues(v []*float64) *MetricDataResult { 8574 s.Values = v 8575 return s 8576} 8577 8578// Encapsulates the information sent to either create a metric or add new values 8579// to be aggregated into an existing metric. 8580type MetricDatum struct { 8581 _ struct{} `type:"structure"` 8582 8583 // Array of numbers that is used along with the Values array. Each number in 8584 // the Count array is the number of times the corresponding value in the Values 8585 // array occurred during the period. 8586 // 8587 // If you omit the Counts array, the default of 1 is used as the value for each 8588 // count. If you include a Counts array, it must include the same amount of 8589 // values as the Values array. 8590 Counts []*float64 `type:"list"` 8591 8592 // The dimensions associated with the metric. 8593 Dimensions []*Dimension `type:"list"` 8594 8595 // The name of the metric. 8596 // 8597 // MetricName is a required field 8598 MetricName *string `min:"1" type:"string" required:"true"` 8599 8600 // The statistical values for the metric. 8601 StatisticValues *StatisticSet `type:"structure"` 8602 8603 // Valid values are 1 and 60. Setting this to 1 specifies this metric as a high-resolution 8604 // metric, so that CloudWatch stores the metric with sub-minute resolution down 8605 // to one second. Setting this to 60 specifies this metric as a regular-resolution 8606 // metric, which CloudWatch stores at 1-minute resolution. Currently, high resolution 8607 // is available only for custom metrics. For more information about high-resolution 8608 // metrics, see High-Resolution Metrics (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/publishingMetrics.html#high-resolution-metrics) 8609 // in the Amazon CloudWatch User Guide. 8610 // 8611 // This field is optional, if you do not specify it the default of 60 is used. 8612 StorageResolution *int64 `min:"1" type:"integer"` 8613 8614 // The time the metric data was received, expressed as the number of milliseconds 8615 // since Jan 1, 1970 00:00:00 UTC. 8616 Timestamp *time.Time `type:"timestamp"` 8617 8618 // When you are using a Put operation, this defines what unit you want to use 8619 // when storing the metric. 8620 // 8621 // In a Get operation, this displays the unit that is used for the metric. 8622 Unit *string `type:"string" enum:"StandardUnit"` 8623 8624 // The value for the metric. 8625 // 8626 // Although the parameter accepts numbers of type Double, CloudWatch rejects 8627 // values that are either too small or too large. Values must be in the range 8628 // of -2^360 to 2^360. In addition, special values (for example, NaN, +Infinity, 8629 // -Infinity) are not supported. 8630 Value *float64 `type:"double"` 8631 8632 // Array of numbers representing the values for the metric during the period. 8633 // Each unique value is listed just once in this array, and the corresponding 8634 // number in the Counts array specifies the number of times that value occurred 8635 // during the period. You can include up to 150 unique values in each PutMetricData 8636 // action that specifies a Values array. 8637 // 8638 // Although the Values array accepts numbers of type Double, CloudWatch rejects 8639 // values that are either too small or too large. Values must be in the range 8640 // of -2^360 to 2^360. In addition, special values (for example, NaN, +Infinity, 8641 // -Infinity) are not supported. 8642 Values []*float64 `type:"list"` 8643} 8644 8645// String returns the string representation. 8646// 8647// API parameter values that are decorated as "sensitive" in the API will not 8648// be included in the string output. The member name will be present, but the 8649// value will be replaced with "sensitive". 8650func (s MetricDatum) String() string { 8651 return awsutil.Prettify(s) 8652} 8653 8654// GoString returns the string representation. 8655// 8656// API parameter values that are decorated as "sensitive" in the API will not 8657// be included in the string output. The member name will be present, but the 8658// value will be replaced with "sensitive". 8659func (s MetricDatum) GoString() string { 8660 return s.String() 8661} 8662 8663// Validate inspects the fields of the type to determine if they are valid. 8664func (s *MetricDatum) Validate() error { 8665 invalidParams := request.ErrInvalidParams{Context: "MetricDatum"} 8666 if s.MetricName == nil { 8667 invalidParams.Add(request.NewErrParamRequired("MetricName")) 8668 } 8669 if s.MetricName != nil && len(*s.MetricName) < 1 { 8670 invalidParams.Add(request.NewErrParamMinLen("MetricName", 1)) 8671 } 8672 if s.StorageResolution != nil && *s.StorageResolution < 1 { 8673 invalidParams.Add(request.NewErrParamMinValue("StorageResolution", 1)) 8674 } 8675 if s.Dimensions != nil { 8676 for i, v := range s.Dimensions { 8677 if v == nil { 8678 continue 8679 } 8680 if err := v.Validate(); err != nil { 8681 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Dimensions", i), err.(request.ErrInvalidParams)) 8682 } 8683 } 8684 } 8685 if s.StatisticValues != nil { 8686 if err := s.StatisticValues.Validate(); err != nil { 8687 invalidParams.AddNested("StatisticValues", err.(request.ErrInvalidParams)) 8688 } 8689 } 8690 8691 if invalidParams.Len() > 0 { 8692 return invalidParams 8693 } 8694 return nil 8695} 8696 8697// SetCounts sets the Counts field's value. 8698func (s *MetricDatum) SetCounts(v []*float64) *MetricDatum { 8699 s.Counts = v 8700 return s 8701} 8702 8703// SetDimensions sets the Dimensions field's value. 8704func (s *MetricDatum) SetDimensions(v []*Dimension) *MetricDatum { 8705 s.Dimensions = v 8706 return s 8707} 8708 8709// SetMetricName sets the MetricName field's value. 8710func (s *MetricDatum) SetMetricName(v string) *MetricDatum { 8711 s.MetricName = &v 8712 return s 8713} 8714 8715// SetStatisticValues sets the StatisticValues field's value. 8716func (s *MetricDatum) SetStatisticValues(v *StatisticSet) *MetricDatum { 8717 s.StatisticValues = v 8718 return s 8719} 8720 8721// SetStorageResolution sets the StorageResolution field's value. 8722func (s *MetricDatum) SetStorageResolution(v int64) *MetricDatum { 8723 s.StorageResolution = &v 8724 return s 8725} 8726 8727// SetTimestamp sets the Timestamp field's value. 8728func (s *MetricDatum) SetTimestamp(v time.Time) *MetricDatum { 8729 s.Timestamp = &v 8730 return s 8731} 8732 8733// SetUnit sets the Unit field's value. 8734func (s *MetricDatum) SetUnit(v string) *MetricDatum { 8735 s.Unit = &v 8736 return s 8737} 8738 8739// SetValue sets the Value field's value. 8740func (s *MetricDatum) SetValue(v float64) *MetricDatum { 8741 s.Value = &v 8742 return s 8743} 8744 8745// SetValues sets the Values field's value. 8746func (s *MetricDatum) SetValues(v []*float64) *MetricDatum { 8747 s.Values = v 8748 return s 8749} 8750 8751// This structure defines the metric to be returned, along with the statistics, 8752// period, and units. 8753type MetricStat struct { 8754 _ struct{} `type:"structure"` 8755 8756 // The metric to return, including the metric name, namespace, and dimensions. 8757 // 8758 // Metric is a required field 8759 Metric *Metric `type:"structure" required:"true"` 8760 8761 // The granularity, in seconds, of the returned data points. For metrics with 8762 // regular resolution, a period can be as short as one minute (60 seconds) and 8763 // must be a multiple of 60. For high-resolution metrics that are collected 8764 // at intervals of less than one minute, the period can be 1, 5, 10, 30, 60, 8765 // or any multiple of 60. High-resolution metrics are those metrics stored by 8766 // a PutMetricData call that includes a StorageResolution of 1 second. 8767 // 8768 // If the StartTime parameter specifies a time stamp that is greater than 3 8769 // hours ago, you must specify the period as follows or no data points in that 8770 // time range is returned: 8771 // 8772 // * Start time between 3 hours and 15 days ago - Use a multiple of 60 seconds 8773 // (1 minute). 8774 // 8775 // * Start time between 15 and 63 days ago - Use a multiple of 300 seconds 8776 // (5 minutes). 8777 // 8778 // * Start time greater than 63 days ago - Use a multiple of 3600 seconds 8779 // (1 hour). 8780 // 8781 // Period is a required field 8782 Period *int64 `min:"1" type:"integer" required:"true"` 8783 8784 // The statistic to return. It can include any CloudWatch statistic or extended 8785 // statistic. 8786 // 8787 // Stat is a required field 8788 Stat *string `type:"string" required:"true"` 8789 8790 // When you are using a Put operation, this defines what unit you want to use 8791 // when storing the metric. 8792 // 8793 // In a Get operation, if you omit Unit then all data that was collected with 8794 // any unit is returned, along with the corresponding units that were specified 8795 // when the data was reported to CloudWatch. If you specify a unit, the operation 8796 // returns only data that was collected with that unit specified. If you specify 8797 // a unit that does not match the data collected, the results of the operation 8798 // are null. CloudWatch does not perform unit conversions. 8799 Unit *string `type:"string" enum:"StandardUnit"` 8800} 8801 8802// String returns the string representation. 8803// 8804// API parameter values that are decorated as "sensitive" in the API will not 8805// be included in the string output. The member name will be present, but the 8806// value will be replaced with "sensitive". 8807func (s MetricStat) String() string { 8808 return awsutil.Prettify(s) 8809} 8810 8811// GoString returns the string representation. 8812// 8813// API parameter values that are decorated as "sensitive" in the API will not 8814// be included in the string output. The member name will be present, but the 8815// value will be replaced with "sensitive". 8816func (s MetricStat) GoString() string { 8817 return s.String() 8818} 8819 8820// Validate inspects the fields of the type to determine if they are valid. 8821func (s *MetricStat) Validate() error { 8822 invalidParams := request.ErrInvalidParams{Context: "MetricStat"} 8823 if s.Metric == nil { 8824 invalidParams.Add(request.NewErrParamRequired("Metric")) 8825 } 8826 if s.Period == nil { 8827 invalidParams.Add(request.NewErrParamRequired("Period")) 8828 } 8829 if s.Period != nil && *s.Period < 1 { 8830 invalidParams.Add(request.NewErrParamMinValue("Period", 1)) 8831 } 8832 if s.Stat == nil { 8833 invalidParams.Add(request.NewErrParamRequired("Stat")) 8834 } 8835 if s.Metric != nil { 8836 if err := s.Metric.Validate(); err != nil { 8837 invalidParams.AddNested("Metric", err.(request.ErrInvalidParams)) 8838 } 8839 } 8840 8841 if invalidParams.Len() > 0 { 8842 return invalidParams 8843 } 8844 return nil 8845} 8846 8847// SetMetric sets the Metric field's value. 8848func (s *MetricStat) SetMetric(v *Metric) *MetricStat { 8849 s.Metric = v 8850 return s 8851} 8852 8853// SetPeriod sets the Period field's value. 8854func (s *MetricStat) SetPeriod(v int64) *MetricStat { 8855 s.Period = &v 8856 return s 8857} 8858 8859// SetStat sets the Stat field's value. 8860func (s *MetricStat) SetStat(v string) *MetricStat { 8861 s.Stat = &v 8862 return s 8863} 8864 8865// SetUnit sets the Unit field's value. 8866func (s *MetricStat) SetUnit(v string) *MetricStat { 8867 s.Unit = &v 8868 return s 8869} 8870 8871// This structure contains the configuration information about one metric stream. 8872type MetricStreamEntry struct { 8873 _ struct{} `type:"structure"` 8874 8875 // The ARN of the metric stream. 8876 Arn *string `min:"1" type:"string"` 8877 8878 // The date that the metric stream was originally created. 8879 CreationDate *time.Time `type:"timestamp"` 8880 8881 // The ARN of the Kinesis Firehose devlivery stream that is used for this metric 8882 // stream. 8883 FirehoseArn *string `min:"1" type:"string"` 8884 8885 // The date that the configuration of this metric stream was most recently updated. 8886 LastUpdateDate *time.Time `type:"timestamp"` 8887 8888 // The name of the metric stream. 8889 Name *string `min:"1" type:"string"` 8890 8891 // The output format of this metric stream. Valid values are json and opentelemetry0.7. 8892 OutputFormat *string `min:"1" type:"string" enum:"MetricStreamOutputFormat"` 8893 8894 // The current state of this stream. Valid values are running and stopped. 8895 State *string `type:"string"` 8896} 8897 8898// String returns the string representation. 8899// 8900// API parameter values that are decorated as "sensitive" in the API will not 8901// be included in the string output. The member name will be present, but the 8902// value will be replaced with "sensitive". 8903func (s MetricStreamEntry) String() string { 8904 return awsutil.Prettify(s) 8905} 8906 8907// GoString returns the string representation. 8908// 8909// API parameter values that are decorated as "sensitive" in the API will not 8910// be included in the string output. The member name will be present, but the 8911// value will be replaced with "sensitive". 8912func (s MetricStreamEntry) GoString() string { 8913 return s.String() 8914} 8915 8916// SetArn sets the Arn field's value. 8917func (s *MetricStreamEntry) SetArn(v string) *MetricStreamEntry { 8918 s.Arn = &v 8919 return s 8920} 8921 8922// SetCreationDate sets the CreationDate field's value. 8923func (s *MetricStreamEntry) SetCreationDate(v time.Time) *MetricStreamEntry { 8924 s.CreationDate = &v 8925 return s 8926} 8927 8928// SetFirehoseArn sets the FirehoseArn field's value. 8929func (s *MetricStreamEntry) SetFirehoseArn(v string) *MetricStreamEntry { 8930 s.FirehoseArn = &v 8931 return s 8932} 8933 8934// SetLastUpdateDate sets the LastUpdateDate field's value. 8935func (s *MetricStreamEntry) SetLastUpdateDate(v time.Time) *MetricStreamEntry { 8936 s.LastUpdateDate = &v 8937 return s 8938} 8939 8940// SetName sets the Name field's value. 8941func (s *MetricStreamEntry) SetName(v string) *MetricStreamEntry { 8942 s.Name = &v 8943 return s 8944} 8945 8946// SetOutputFormat sets the OutputFormat field's value. 8947func (s *MetricStreamEntry) SetOutputFormat(v string) *MetricStreamEntry { 8948 s.OutputFormat = &v 8949 return s 8950} 8951 8952// SetState sets the State field's value. 8953func (s *MetricStreamEntry) SetState(v string) *MetricStreamEntry { 8954 s.State = &v 8955 return s 8956} 8957 8958// This structure contains the name of one of the metric namespaces that is 8959// listed in a filter of a metric stream. 8960type MetricStreamFilter struct { 8961 _ struct{} `type:"structure"` 8962 8963 // The name of the metric namespace in the filter. 8964 Namespace *string `min:"1" type:"string"` 8965} 8966 8967// String returns the string representation. 8968// 8969// API parameter values that are decorated as "sensitive" in the API will not 8970// be included in the string output. The member name will be present, but the 8971// value will be replaced with "sensitive". 8972func (s MetricStreamFilter) String() string { 8973 return awsutil.Prettify(s) 8974} 8975 8976// GoString returns the string representation. 8977// 8978// API parameter values that are decorated as "sensitive" in the API will not 8979// be included in the string output. The member name will be present, but the 8980// value will be replaced with "sensitive". 8981func (s MetricStreamFilter) GoString() string { 8982 return s.String() 8983} 8984 8985// Validate inspects the fields of the type to determine if they are valid. 8986func (s *MetricStreamFilter) Validate() error { 8987 invalidParams := request.ErrInvalidParams{Context: "MetricStreamFilter"} 8988 if s.Namespace != nil && len(*s.Namespace) < 1 { 8989 invalidParams.Add(request.NewErrParamMinLen("Namespace", 1)) 8990 } 8991 8992 if invalidParams.Len() > 0 { 8993 return invalidParams 8994 } 8995 return nil 8996} 8997 8998// SetNamespace sets the Namespace field's value. 8999func (s *MetricStreamFilter) SetNamespace(v string) *MetricStreamFilter { 9000 s.Namespace = &v 9001 return s 9002} 9003 9004// This array is empty if the API operation was successful for all the rules 9005// specified in the request. If the operation could not process one of the rules, 9006// the following data is returned for each of those rules. 9007type PartialFailure struct { 9008 _ struct{} `type:"structure"` 9009 9010 // The type of error. 9011 ExceptionType *string `type:"string"` 9012 9013 // The code of the error. 9014 FailureCode *string `type:"string"` 9015 9016 // A description of the error. 9017 FailureDescription *string `type:"string"` 9018 9019 // The specified rule that could not be deleted. 9020 FailureResource *string `type:"string"` 9021} 9022 9023// String returns the string representation. 9024// 9025// API parameter values that are decorated as "sensitive" in the API will not 9026// be included in the string output. The member name will be present, but the 9027// value will be replaced with "sensitive". 9028func (s PartialFailure) String() string { 9029 return awsutil.Prettify(s) 9030} 9031 9032// GoString returns the string representation. 9033// 9034// API parameter values that are decorated as "sensitive" in the API will not 9035// be included in the string output. The member name will be present, but the 9036// value will be replaced with "sensitive". 9037func (s PartialFailure) GoString() string { 9038 return s.String() 9039} 9040 9041// SetExceptionType sets the ExceptionType field's value. 9042func (s *PartialFailure) SetExceptionType(v string) *PartialFailure { 9043 s.ExceptionType = &v 9044 return s 9045} 9046 9047// SetFailureCode sets the FailureCode field's value. 9048func (s *PartialFailure) SetFailureCode(v string) *PartialFailure { 9049 s.FailureCode = &v 9050 return s 9051} 9052 9053// SetFailureDescription sets the FailureDescription field's value. 9054func (s *PartialFailure) SetFailureDescription(v string) *PartialFailure { 9055 s.FailureDescription = &v 9056 return s 9057} 9058 9059// SetFailureResource sets the FailureResource field's value. 9060func (s *PartialFailure) SetFailureResource(v string) *PartialFailure { 9061 s.FailureResource = &v 9062 return s 9063} 9064 9065type PutAnomalyDetectorInput struct { 9066 _ struct{} `type:"structure"` 9067 9068 // The configuration specifies details about how the anomaly detection model 9069 // is to be trained, including time ranges to exclude when training and updating 9070 // the model. You can specify as many as 10 time ranges. 9071 // 9072 // The configuration can also include the time zone to use for the metric. 9073 Configuration *AnomalyDetectorConfiguration `type:"structure"` 9074 9075 // The metric dimensions to create the anomaly detection model for. 9076 Dimensions []*Dimension `type:"list"` 9077 9078 // The name of the metric to create the anomaly detection model for. 9079 // 9080 // MetricName is a required field 9081 MetricName *string `min:"1" type:"string" required:"true"` 9082 9083 // The namespace of the metric to create the anomaly detection model for. 9084 // 9085 // Namespace is a required field 9086 Namespace *string `min:"1" type:"string" required:"true"` 9087 9088 // The statistic to use for the metric and the anomaly detection model. 9089 // 9090 // Stat is a required field 9091 Stat *string `type:"string" required:"true"` 9092} 9093 9094// String returns the string representation. 9095// 9096// API parameter values that are decorated as "sensitive" in the API will not 9097// be included in the string output. The member name will be present, but the 9098// value will be replaced with "sensitive". 9099func (s PutAnomalyDetectorInput) String() string { 9100 return awsutil.Prettify(s) 9101} 9102 9103// GoString returns the string representation. 9104// 9105// API parameter values that are decorated as "sensitive" in the API will not 9106// be included in the string output. The member name will be present, but the 9107// value will be replaced with "sensitive". 9108func (s PutAnomalyDetectorInput) GoString() string { 9109 return s.String() 9110} 9111 9112// Validate inspects the fields of the type to determine if they are valid. 9113func (s *PutAnomalyDetectorInput) Validate() error { 9114 invalidParams := request.ErrInvalidParams{Context: "PutAnomalyDetectorInput"} 9115 if s.MetricName == nil { 9116 invalidParams.Add(request.NewErrParamRequired("MetricName")) 9117 } 9118 if s.MetricName != nil && len(*s.MetricName) < 1 { 9119 invalidParams.Add(request.NewErrParamMinLen("MetricName", 1)) 9120 } 9121 if s.Namespace == nil { 9122 invalidParams.Add(request.NewErrParamRequired("Namespace")) 9123 } 9124 if s.Namespace != nil && len(*s.Namespace) < 1 { 9125 invalidParams.Add(request.NewErrParamMinLen("Namespace", 1)) 9126 } 9127 if s.Stat == nil { 9128 invalidParams.Add(request.NewErrParamRequired("Stat")) 9129 } 9130 if s.Configuration != nil { 9131 if err := s.Configuration.Validate(); err != nil { 9132 invalidParams.AddNested("Configuration", err.(request.ErrInvalidParams)) 9133 } 9134 } 9135 if s.Dimensions != nil { 9136 for i, v := range s.Dimensions { 9137 if v == nil { 9138 continue 9139 } 9140 if err := v.Validate(); err != nil { 9141 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Dimensions", i), err.(request.ErrInvalidParams)) 9142 } 9143 } 9144 } 9145 9146 if invalidParams.Len() > 0 { 9147 return invalidParams 9148 } 9149 return nil 9150} 9151 9152// SetConfiguration sets the Configuration field's value. 9153func (s *PutAnomalyDetectorInput) SetConfiguration(v *AnomalyDetectorConfiguration) *PutAnomalyDetectorInput { 9154 s.Configuration = v 9155 return s 9156} 9157 9158// SetDimensions sets the Dimensions field's value. 9159func (s *PutAnomalyDetectorInput) SetDimensions(v []*Dimension) *PutAnomalyDetectorInput { 9160 s.Dimensions = v 9161 return s 9162} 9163 9164// SetMetricName sets the MetricName field's value. 9165func (s *PutAnomalyDetectorInput) SetMetricName(v string) *PutAnomalyDetectorInput { 9166 s.MetricName = &v 9167 return s 9168} 9169 9170// SetNamespace sets the Namespace field's value. 9171func (s *PutAnomalyDetectorInput) SetNamespace(v string) *PutAnomalyDetectorInput { 9172 s.Namespace = &v 9173 return s 9174} 9175 9176// SetStat sets the Stat field's value. 9177func (s *PutAnomalyDetectorInput) SetStat(v string) *PutAnomalyDetectorInput { 9178 s.Stat = &v 9179 return s 9180} 9181 9182type PutAnomalyDetectorOutput struct { 9183 _ struct{} `type:"structure"` 9184} 9185 9186// String returns the string representation. 9187// 9188// API parameter values that are decorated as "sensitive" in the API will not 9189// be included in the string output. The member name will be present, but the 9190// value will be replaced with "sensitive". 9191func (s PutAnomalyDetectorOutput) String() string { 9192 return awsutil.Prettify(s) 9193} 9194 9195// GoString returns the string representation. 9196// 9197// API parameter values that are decorated as "sensitive" in the API will not 9198// be included in the string output. The member name will be present, but the 9199// value will be replaced with "sensitive". 9200func (s PutAnomalyDetectorOutput) GoString() string { 9201 return s.String() 9202} 9203 9204type PutCompositeAlarmInput struct { 9205 _ struct{} `type:"structure"` 9206 9207 // Indicates whether actions should be executed during any changes to the alarm 9208 // state of the composite alarm. The default is TRUE. 9209 ActionsEnabled *bool `type:"boolean"` 9210 9211 // The actions to execute when this alarm transitions to the ALARM state from 9212 // any other state. Each action is specified as an Amazon Resource Name (ARN). 9213 // 9214 // Valid Values: arn:aws:sns:region:account-id:sns-topic-name | arn:aws:ssm:region:account-id:opsitem:severity 9215 AlarmActions []*string `type:"list"` 9216 9217 // The description for the composite alarm. 9218 AlarmDescription *string `type:"string"` 9219 9220 // The name for the composite alarm. This name must be unique within the Region. 9221 // 9222 // AlarmName is a required field 9223 AlarmName *string `min:"1" type:"string" required:"true"` 9224 9225 // An expression that specifies which other alarms are to be evaluated to determine 9226 // this composite alarm's state. For each alarm that you reference, you designate 9227 // a function that specifies whether that alarm needs to be in ALARM state, 9228 // OK state, or INSUFFICIENT_DATA state. You can use operators (AND, OR and 9229 // NOT) to combine multiple functions in a single expression. You can use parenthesis 9230 // to logically group the functions in your expression. 9231 // 9232 // You can use either alarm names or ARNs to reference the other alarms that 9233 // are to be evaluated. 9234 // 9235 // Functions can include the following: 9236 // 9237 // * ALARM("alarm-name or alarm-ARN") is TRUE if the named alarm is in ALARM 9238 // state. 9239 // 9240 // * OK("alarm-name or alarm-ARN") is TRUE if the named alarm is in OK state. 9241 // 9242 // * INSUFFICIENT_DATA("alarm-name or alarm-ARN") is TRUE if the named alarm 9243 // is in INSUFFICIENT_DATA state. 9244 // 9245 // * TRUE always evaluates to TRUE. 9246 // 9247 // * FALSE always evaluates to FALSE. 9248 // 9249 // TRUE and FALSE are useful for testing a complex AlarmRule structure, and 9250 // for testing your alarm actions. 9251 // 9252 // Alarm names specified in AlarmRule can be surrounded with double-quotes ("), 9253 // but do not have to be. 9254 // 9255 // The following are some examples of AlarmRule: 9256 // 9257 // * ALARM(CPUUtilizationTooHigh) AND ALARM(DiskReadOpsTooHigh) specifies 9258 // that the composite alarm goes into ALARM state only if both CPUUtilizationTooHigh 9259 // and DiskReadOpsTooHigh alarms are in ALARM state. 9260 // 9261 // * ALARM(CPUUtilizationTooHigh) AND NOT ALARM(DeploymentInProgress) specifies 9262 // that the alarm goes to ALARM state if CPUUtilizationTooHigh is in ALARM 9263 // state and DeploymentInProgress is not in ALARM state. This example reduces 9264 // alarm noise during a known deployment window. 9265 // 9266 // * (ALARM(CPUUtilizationTooHigh) OR ALARM(DiskReadOpsTooHigh)) AND OK(NetworkOutTooHigh) 9267 // goes into ALARM state if CPUUtilizationTooHigh OR DiskReadOpsTooHigh is 9268 // in ALARM state, and if NetworkOutTooHigh is in OK state. This provides 9269 // another example of using a composite alarm to prevent noise. This rule 9270 // ensures that you are not notified with an alarm action on high CPU or 9271 // disk usage if a known network problem is also occurring. 9272 // 9273 // The AlarmRule can specify as many as 100 "children" alarms. The AlarmRule 9274 // expression can have as many as 500 elements. Elements are child alarms, TRUE 9275 // or FALSE statements, and parentheses. 9276 // 9277 // AlarmRule is a required field 9278 AlarmRule *string `min:"1" type:"string" required:"true"` 9279 9280 // The actions to execute when this alarm transitions to the INSUFFICIENT_DATA 9281 // state from any other state. Each action is specified as an Amazon Resource 9282 // Name (ARN). 9283 // 9284 // Valid Values: arn:aws:sns:region:account-id:sns-topic-name 9285 InsufficientDataActions []*string `type:"list"` 9286 9287 // The actions to execute when this alarm transitions to an OK state from any 9288 // other state. Each action is specified as an Amazon Resource Name (ARN). 9289 // 9290 // Valid Values: arn:aws:sns:region:account-id:sns-topic-name 9291 OKActions []*string `type:"list"` 9292 9293 // A list of key-value pairs to associate with the composite alarm. You can 9294 // associate as many as 50 tags with an alarm. 9295 // 9296 // Tags can help you organize and categorize your resources. You can also use 9297 // them to scope user permissions, by granting a user permission to access or 9298 // change only resources with certain tag values. 9299 Tags []*Tag `type:"list"` 9300} 9301 9302// String returns the string representation. 9303// 9304// API parameter values that are decorated as "sensitive" in the API will not 9305// be included in the string output. The member name will be present, but the 9306// value will be replaced with "sensitive". 9307func (s PutCompositeAlarmInput) String() string { 9308 return awsutil.Prettify(s) 9309} 9310 9311// GoString returns the string representation. 9312// 9313// API parameter values that are decorated as "sensitive" in the API will not 9314// be included in the string output. The member name will be present, but the 9315// value will be replaced with "sensitive". 9316func (s PutCompositeAlarmInput) GoString() string { 9317 return s.String() 9318} 9319 9320// Validate inspects the fields of the type to determine if they are valid. 9321func (s *PutCompositeAlarmInput) Validate() error { 9322 invalidParams := request.ErrInvalidParams{Context: "PutCompositeAlarmInput"} 9323 if s.AlarmName == nil { 9324 invalidParams.Add(request.NewErrParamRequired("AlarmName")) 9325 } 9326 if s.AlarmName != nil && len(*s.AlarmName) < 1 { 9327 invalidParams.Add(request.NewErrParamMinLen("AlarmName", 1)) 9328 } 9329 if s.AlarmRule == nil { 9330 invalidParams.Add(request.NewErrParamRequired("AlarmRule")) 9331 } 9332 if s.AlarmRule != nil && len(*s.AlarmRule) < 1 { 9333 invalidParams.Add(request.NewErrParamMinLen("AlarmRule", 1)) 9334 } 9335 if s.Tags != nil { 9336 for i, v := range s.Tags { 9337 if v == nil { 9338 continue 9339 } 9340 if err := v.Validate(); err != nil { 9341 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) 9342 } 9343 } 9344 } 9345 9346 if invalidParams.Len() > 0 { 9347 return invalidParams 9348 } 9349 return nil 9350} 9351 9352// SetActionsEnabled sets the ActionsEnabled field's value. 9353func (s *PutCompositeAlarmInput) SetActionsEnabled(v bool) *PutCompositeAlarmInput { 9354 s.ActionsEnabled = &v 9355 return s 9356} 9357 9358// SetAlarmActions sets the AlarmActions field's value. 9359func (s *PutCompositeAlarmInput) SetAlarmActions(v []*string) *PutCompositeAlarmInput { 9360 s.AlarmActions = v 9361 return s 9362} 9363 9364// SetAlarmDescription sets the AlarmDescription field's value. 9365func (s *PutCompositeAlarmInput) SetAlarmDescription(v string) *PutCompositeAlarmInput { 9366 s.AlarmDescription = &v 9367 return s 9368} 9369 9370// SetAlarmName sets the AlarmName field's value. 9371func (s *PutCompositeAlarmInput) SetAlarmName(v string) *PutCompositeAlarmInput { 9372 s.AlarmName = &v 9373 return s 9374} 9375 9376// SetAlarmRule sets the AlarmRule field's value. 9377func (s *PutCompositeAlarmInput) SetAlarmRule(v string) *PutCompositeAlarmInput { 9378 s.AlarmRule = &v 9379 return s 9380} 9381 9382// SetInsufficientDataActions sets the InsufficientDataActions field's value. 9383func (s *PutCompositeAlarmInput) SetInsufficientDataActions(v []*string) *PutCompositeAlarmInput { 9384 s.InsufficientDataActions = v 9385 return s 9386} 9387 9388// SetOKActions sets the OKActions field's value. 9389func (s *PutCompositeAlarmInput) SetOKActions(v []*string) *PutCompositeAlarmInput { 9390 s.OKActions = v 9391 return s 9392} 9393 9394// SetTags sets the Tags field's value. 9395func (s *PutCompositeAlarmInput) SetTags(v []*Tag) *PutCompositeAlarmInput { 9396 s.Tags = v 9397 return s 9398} 9399 9400type PutCompositeAlarmOutput struct { 9401 _ struct{} `type:"structure"` 9402} 9403 9404// String returns the string representation. 9405// 9406// API parameter values that are decorated as "sensitive" in the API will not 9407// be included in the string output. The member name will be present, but the 9408// value will be replaced with "sensitive". 9409func (s PutCompositeAlarmOutput) String() string { 9410 return awsutil.Prettify(s) 9411} 9412 9413// GoString returns the string representation. 9414// 9415// API parameter values that are decorated as "sensitive" in the API will not 9416// be included in the string output. The member name will be present, but the 9417// value will be replaced with "sensitive". 9418func (s PutCompositeAlarmOutput) GoString() string { 9419 return s.String() 9420} 9421 9422type PutDashboardInput struct { 9423 _ struct{} `type:"structure"` 9424 9425 // The detailed information about the dashboard in JSON format, including the 9426 // widgets to include and their location on the dashboard. This parameter is 9427 // required. 9428 // 9429 // For more information about the syntax, see Dashboard Body Structure and Syntax 9430 // (https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/CloudWatch-Dashboard-Body-Structure.html). 9431 // 9432 // DashboardBody is a required field 9433 DashboardBody *string `type:"string" required:"true"` 9434 9435 // The name of the dashboard. If a dashboard with this name already exists, 9436 // this call modifies that dashboard, replacing its current contents. Otherwise, 9437 // a new dashboard is created. The maximum length is 255, and valid characters 9438 // are A-Z, a-z, 0-9, "-", and "_". This parameter is required. 9439 // 9440 // DashboardName is a required field 9441 DashboardName *string `type:"string" required:"true"` 9442} 9443 9444// String returns the string representation. 9445// 9446// API parameter values that are decorated as "sensitive" in the API will not 9447// be included in the string output. The member name will be present, but the 9448// value will be replaced with "sensitive". 9449func (s PutDashboardInput) String() string { 9450 return awsutil.Prettify(s) 9451} 9452 9453// GoString returns the string representation. 9454// 9455// API parameter values that are decorated as "sensitive" in the API will not 9456// be included in the string output. The member name will be present, but the 9457// value will be replaced with "sensitive". 9458func (s PutDashboardInput) GoString() string { 9459 return s.String() 9460} 9461 9462// Validate inspects the fields of the type to determine if they are valid. 9463func (s *PutDashboardInput) Validate() error { 9464 invalidParams := request.ErrInvalidParams{Context: "PutDashboardInput"} 9465 if s.DashboardBody == nil { 9466 invalidParams.Add(request.NewErrParamRequired("DashboardBody")) 9467 } 9468 if s.DashboardName == nil { 9469 invalidParams.Add(request.NewErrParamRequired("DashboardName")) 9470 } 9471 9472 if invalidParams.Len() > 0 { 9473 return invalidParams 9474 } 9475 return nil 9476} 9477 9478// SetDashboardBody sets the DashboardBody field's value. 9479func (s *PutDashboardInput) SetDashboardBody(v string) *PutDashboardInput { 9480 s.DashboardBody = &v 9481 return s 9482} 9483 9484// SetDashboardName sets the DashboardName field's value. 9485func (s *PutDashboardInput) SetDashboardName(v string) *PutDashboardInput { 9486 s.DashboardName = &v 9487 return s 9488} 9489 9490type PutDashboardOutput struct { 9491 _ struct{} `type:"structure"` 9492 9493 // If the input for PutDashboard was correct and the dashboard was successfully 9494 // created or modified, this result is empty. 9495 // 9496 // If this result includes only warning messages, then the input was valid enough 9497 // for the dashboard to be created or modified, but some elements of the dashboard 9498 // might not render. 9499 // 9500 // If this result includes error messages, the input was not valid and the operation 9501 // failed. 9502 DashboardValidationMessages []*DashboardValidationMessage `type:"list"` 9503} 9504 9505// String returns the string representation. 9506// 9507// API parameter values that are decorated as "sensitive" in the API will not 9508// be included in the string output. The member name will be present, but the 9509// value will be replaced with "sensitive". 9510func (s PutDashboardOutput) String() string { 9511 return awsutil.Prettify(s) 9512} 9513 9514// GoString returns the string representation. 9515// 9516// API parameter values that are decorated as "sensitive" in the API will not 9517// be included in the string output. The member name will be present, but the 9518// value will be replaced with "sensitive". 9519func (s PutDashboardOutput) GoString() string { 9520 return s.String() 9521} 9522 9523// SetDashboardValidationMessages sets the DashboardValidationMessages field's value. 9524func (s *PutDashboardOutput) SetDashboardValidationMessages(v []*DashboardValidationMessage) *PutDashboardOutput { 9525 s.DashboardValidationMessages = v 9526 return s 9527} 9528 9529type PutInsightRuleInput struct { 9530 _ struct{} `type:"structure"` 9531 9532 // The definition of the rule, as a JSON object. For details on the valid syntax, 9533 // see Contributor Insights Rule Syntax (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/ContributorInsights-RuleSyntax.html). 9534 // 9535 // RuleDefinition is a required field 9536 RuleDefinition *string `min:"1" type:"string" required:"true"` 9537 9538 // A unique name for the rule. 9539 // 9540 // RuleName is a required field 9541 RuleName *string `min:"1" type:"string" required:"true"` 9542 9543 // The state of the rule. Valid values are ENABLED and DISABLED. 9544 RuleState *string `min:"1" type:"string"` 9545 9546 // A list of key-value pairs to associate with the Contributor Insights rule. 9547 // You can associate as many as 50 tags with a rule. 9548 // 9549 // Tags can help you organize and categorize your resources. You can also use 9550 // them to scope user permissions, by granting a user permission to access or 9551 // change only the resources that have certain tag values. 9552 // 9553 // To be able to associate tags with a rule, you must have the cloudwatch:TagResource 9554 // permission in addition to the cloudwatch:PutInsightRule permission. 9555 // 9556 // If you are using this operation to update an existing Contributor Insights 9557 // rule, any tags you specify in this parameter are ignored. To change the tags 9558 // of an existing rule, use TagResource (https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_TagResource.html). 9559 Tags []*Tag `type:"list"` 9560} 9561 9562// String returns the string representation. 9563// 9564// API parameter values that are decorated as "sensitive" in the API will not 9565// be included in the string output. The member name will be present, but the 9566// value will be replaced with "sensitive". 9567func (s PutInsightRuleInput) String() string { 9568 return awsutil.Prettify(s) 9569} 9570 9571// GoString returns the string representation. 9572// 9573// API parameter values that are decorated as "sensitive" in the API will not 9574// be included in the string output. The member name will be present, but the 9575// value will be replaced with "sensitive". 9576func (s PutInsightRuleInput) GoString() string { 9577 return s.String() 9578} 9579 9580// Validate inspects the fields of the type to determine if they are valid. 9581func (s *PutInsightRuleInput) Validate() error { 9582 invalidParams := request.ErrInvalidParams{Context: "PutInsightRuleInput"} 9583 if s.RuleDefinition == nil { 9584 invalidParams.Add(request.NewErrParamRequired("RuleDefinition")) 9585 } 9586 if s.RuleDefinition != nil && len(*s.RuleDefinition) < 1 { 9587 invalidParams.Add(request.NewErrParamMinLen("RuleDefinition", 1)) 9588 } 9589 if s.RuleName == nil { 9590 invalidParams.Add(request.NewErrParamRequired("RuleName")) 9591 } 9592 if s.RuleName != nil && len(*s.RuleName) < 1 { 9593 invalidParams.Add(request.NewErrParamMinLen("RuleName", 1)) 9594 } 9595 if s.RuleState != nil && len(*s.RuleState) < 1 { 9596 invalidParams.Add(request.NewErrParamMinLen("RuleState", 1)) 9597 } 9598 if s.Tags != nil { 9599 for i, v := range s.Tags { 9600 if v == nil { 9601 continue 9602 } 9603 if err := v.Validate(); err != nil { 9604 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) 9605 } 9606 } 9607 } 9608 9609 if invalidParams.Len() > 0 { 9610 return invalidParams 9611 } 9612 return nil 9613} 9614 9615// SetRuleDefinition sets the RuleDefinition field's value. 9616func (s *PutInsightRuleInput) SetRuleDefinition(v string) *PutInsightRuleInput { 9617 s.RuleDefinition = &v 9618 return s 9619} 9620 9621// SetRuleName sets the RuleName field's value. 9622func (s *PutInsightRuleInput) SetRuleName(v string) *PutInsightRuleInput { 9623 s.RuleName = &v 9624 return s 9625} 9626 9627// SetRuleState sets the RuleState field's value. 9628func (s *PutInsightRuleInput) SetRuleState(v string) *PutInsightRuleInput { 9629 s.RuleState = &v 9630 return s 9631} 9632 9633// SetTags sets the Tags field's value. 9634func (s *PutInsightRuleInput) SetTags(v []*Tag) *PutInsightRuleInput { 9635 s.Tags = v 9636 return s 9637} 9638 9639type PutInsightRuleOutput struct { 9640 _ struct{} `type:"structure"` 9641} 9642 9643// String returns the string representation. 9644// 9645// API parameter values that are decorated as "sensitive" in the API will not 9646// be included in the string output. The member name will be present, but the 9647// value will be replaced with "sensitive". 9648func (s PutInsightRuleOutput) String() string { 9649 return awsutil.Prettify(s) 9650} 9651 9652// GoString returns the string representation. 9653// 9654// API parameter values that are decorated as "sensitive" in the API will not 9655// be included in the string output. The member name will be present, but the 9656// value will be replaced with "sensitive". 9657func (s PutInsightRuleOutput) GoString() string { 9658 return s.String() 9659} 9660 9661type PutMetricAlarmInput struct { 9662 _ struct{} `type:"structure"` 9663 9664 // Indicates whether actions should be executed during any changes to the alarm 9665 // state. The default is TRUE. 9666 ActionsEnabled *bool `type:"boolean"` 9667 9668 // The actions to execute when this alarm transitions to the ALARM state from 9669 // any other state. Each action is specified as an Amazon Resource Name (ARN). 9670 // 9671 // Valid Values: arn:aws:automate:region:ec2:stop | arn:aws:automate:region:ec2:terminate 9672 // | arn:aws:automate:region:ec2:recover | arn:aws:automate:region:ec2:reboot 9673 // | 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 9674 // | arn:aws:ssm:region:account-id:opsitem:severity | arn:aws:ssm-incidents::account-id:response-plan:response-plan-name 9675 // 9676 // Valid Values (for use with IAM roles): arn:aws:swf:region:account-id:action/actions/AWS_EC2.InstanceId.Stop/1.0 9677 // | arn:aws:swf:region:account-id:action/actions/AWS_EC2.InstanceId.Terminate/1.0 9678 // | arn:aws:swf:region:account-id:action/actions/AWS_EC2.InstanceId.Reboot/1.0 9679 // | arn:aws:swf:region:account-id:action/actions/AWS_EC2.InstanceId.Recover/1.0 9680 AlarmActions []*string `type:"list"` 9681 9682 // The description for the alarm. 9683 AlarmDescription *string `type:"string"` 9684 9685 // The name for the alarm. This name must be unique within the Region. 9686 // 9687 // AlarmName is a required field 9688 AlarmName *string `min:"1" type:"string" required:"true"` 9689 9690 // The arithmetic operation to use when comparing the specified statistic and 9691 // threshold. The specified statistic value is used as the first operand. 9692 // 9693 // The values LessThanLowerOrGreaterThanUpperThreshold, LessThanLowerThreshold, 9694 // and GreaterThanUpperThreshold are used only for alarms based on anomaly detection 9695 // models. 9696 // 9697 // ComparisonOperator is a required field 9698 ComparisonOperator *string `type:"string" required:"true" enum:"ComparisonOperator"` 9699 9700 // The number of data points that must be breaching to trigger the alarm. This 9701 // is used only if you are setting an "M out of N" alarm. In that case, this 9702 // value is the M. For more information, see Evaluating an Alarm (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html#alarm-evaluation) 9703 // in the Amazon CloudWatch User Guide. 9704 DatapointsToAlarm *int64 `min:"1" type:"integer"` 9705 9706 // The dimensions for the metric specified in MetricName. 9707 Dimensions []*Dimension `type:"list"` 9708 9709 // Used only for alarms based on percentiles. If you specify ignore, the alarm 9710 // state does not change during periods with too few data points to be statistically 9711 // significant. If you specify evaluate or omit this parameter, the alarm is 9712 // always evaluated and possibly changes state no matter how many data points 9713 // are available. For more information, see Percentile-Based CloudWatch Alarms 9714 // and Low Data Samples (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html#percentiles-with-low-samples). 9715 // 9716 // Valid Values: evaluate | ignore 9717 EvaluateLowSampleCountPercentile *string `min:"1" type:"string"` 9718 9719 // The number of periods over which data is compared to the specified threshold. 9720 // If you are setting an alarm that requires that a number of consecutive data 9721 // points be breaching to trigger the alarm, this value specifies that number. 9722 // If you are setting an "M out of N" alarm, this value is the N. 9723 // 9724 // An alarm's total current evaluation period can be no longer than one day, 9725 // so this number multiplied by Period cannot be more than 86,400 seconds. 9726 // 9727 // EvaluationPeriods is a required field 9728 EvaluationPeriods *int64 `min:"1" type:"integer" required:"true"` 9729 9730 // The percentile statistic for the metric specified in MetricName. Specify 9731 // a value between p0.0 and p100. When you call PutMetricAlarm and specify a 9732 // MetricName, you must specify either Statistic or ExtendedStatistic, but not 9733 // both. 9734 ExtendedStatistic *string `type:"string"` 9735 9736 // The actions to execute when this alarm transitions to the INSUFFICIENT_DATA 9737 // state from any other state. Each action is specified as an Amazon Resource 9738 // Name (ARN). 9739 // 9740 // Valid Values: arn:aws:automate:region:ec2:stop | arn:aws:automate:region:ec2:terminate 9741 // | arn:aws:automate:region:ec2:recover | arn:aws:automate:region:ec2:reboot 9742 // | 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 9743 // 9744 // Valid Values (for use with IAM roles): >arn:aws:swf:region:account-id:action/actions/AWS_EC2.InstanceId.Stop/1.0 9745 // | arn:aws:swf:region:account-id:action/actions/AWS_EC2.InstanceId.Terminate/1.0 9746 // | arn:aws:swf:region:account-id:action/actions/AWS_EC2.InstanceId.Reboot/1.0 9747 InsufficientDataActions []*string `type:"list"` 9748 9749 // The name for the metric associated with the alarm. For each PutMetricAlarm 9750 // operation, you must specify either MetricName or a Metrics array. 9751 // 9752 // If you are creating an alarm based on a math expression, you cannot specify 9753 // this parameter, or any of the Dimensions, Period, Namespace, Statistic, or 9754 // ExtendedStatistic parameters. Instead, you specify all this information in 9755 // the Metrics array. 9756 MetricName *string `min:"1" type:"string"` 9757 9758 // An array of MetricDataQuery structures that enable you to create an alarm 9759 // based on the result of a metric math expression. For each PutMetricAlarm 9760 // operation, you must specify either MetricName or a Metrics array. 9761 // 9762 // Each item in the Metrics array either retrieves a metric or performs a math 9763 // expression. 9764 // 9765 // One item in the Metrics array is the expression that the alarm watches. You 9766 // designate this expression by setting ReturnData to true for this object in 9767 // the array. For more information, see MetricDataQuery (https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_MetricDataQuery.html). 9768 // 9769 // If you use the Metrics parameter, you cannot include the MetricName, Dimensions, 9770 // Period, Namespace, Statistic, or ExtendedStatistic parameters of PutMetricAlarm 9771 // in the same operation. Instead, you retrieve the metrics you are using in 9772 // your math expression as part of the Metrics array. 9773 Metrics []*MetricDataQuery `type:"list"` 9774 9775 // The namespace for the metric associated specified in MetricName. 9776 Namespace *string `min:"1" type:"string"` 9777 9778 // The actions to execute when this alarm transitions to an OK state from any 9779 // other state. Each action is specified as an Amazon Resource Name (ARN). 9780 // 9781 // Valid Values: arn:aws:automate:region:ec2:stop | arn:aws:automate:region:ec2:terminate 9782 // | arn:aws:automate:region:ec2:recover | arn:aws:automate:region:ec2:reboot 9783 // | 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 9784 // 9785 // Valid Values (for use with IAM roles): arn:aws:swf:region:account-id:action/actions/AWS_EC2.InstanceId.Stop/1.0 9786 // | arn:aws:swf:region:account-id:action/actions/AWS_EC2.InstanceId.Terminate/1.0 9787 // | arn:aws:swf:region:account-id:action/actions/AWS_EC2.InstanceId.Reboot/1.0 9788 // | arn:aws:swf:region:account-id:action/actions/AWS_EC2.InstanceId.Recover/1.0 9789 OKActions []*string `type:"list"` 9790 9791 // The length, in seconds, used each time the metric specified in MetricName 9792 // is evaluated. Valid values are 10, 30, and any multiple of 60. 9793 // 9794 // Period is required for alarms based on static thresholds. If you are creating 9795 // an alarm based on a metric math expression, you specify the period for each 9796 // metric within the objects in the Metrics array. 9797 // 9798 // Be sure to specify 10 or 30 only for metrics that are stored by a PutMetricData 9799 // call with a StorageResolution of 1. If you specify a period of 10 or 30 for 9800 // a metric that does not have sub-minute resolution, the alarm still attempts 9801 // to gather data at the period rate that you specify. In this case, it does 9802 // not receive data for the attempts that do not correspond to a one-minute 9803 // data resolution, and the alarm might often lapse into INSUFFICENT_DATA status. 9804 // Specifying 10 or 30 also sets this alarm as a high-resolution alarm, which 9805 // has a higher charge than other alarms. For more information about pricing, 9806 // see Amazon CloudWatch Pricing (https://aws.amazon.com/cloudwatch/pricing/). 9807 // 9808 // An alarm's total current evaluation period can be no longer than one day, 9809 // so Period multiplied by EvaluationPeriods cannot be more than 86,400 seconds. 9810 Period *int64 `min:"1" type:"integer"` 9811 9812 // The statistic for the metric specified in MetricName, other than percentile. 9813 // For percentile statistics, use ExtendedStatistic. When you call PutMetricAlarm 9814 // and specify a MetricName, you must specify either Statistic or ExtendedStatistic, 9815 // but not both. 9816 Statistic *string `type:"string" enum:"Statistic"` 9817 9818 // A list of key-value pairs to associate with the alarm. You can associate 9819 // as many as 50 tags with an alarm. 9820 // 9821 // Tags can help you organize and categorize your resources. You can also use 9822 // them to scope user permissions by granting a user permission to access or 9823 // change only resources with certain tag values. 9824 // 9825 // If you are using this operation to update an existing alarm, any tags you 9826 // specify in this parameter are ignored. To change the tags of an existing 9827 // alarm, use TagResource (https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_TagResource.html) 9828 // or UntagResource (https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_UntagResource.html). 9829 Tags []*Tag `type:"list"` 9830 9831 // The value against which the specified statistic is compared. 9832 // 9833 // This parameter is required for alarms based on static thresholds, but should 9834 // not be used for alarms based on anomaly detection models. 9835 Threshold *float64 `type:"double"` 9836 9837 // If this is an alarm based on an anomaly detection model, make this value 9838 // match the ID of the ANOMALY_DETECTION_BAND function. 9839 // 9840 // For an example of how to use this parameter, see the Anomaly Detection Model 9841 // Alarm example on this page. 9842 // 9843 // If your alarm uses this parameter, it cannot have Auto Scaling actions. 9844 ThresholdMetricId *string `min:"1" type:"string"` 9845 9846 // Sets how this alarm is to handle missing data points. If TreatMissingData 9847 // is omitted, the default behavior of missing is used. For more information, 9848 // see Configuring How CloudWatch Alarms Treats Missing Data (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html#alarms-and-missing-data). 9849 // 9850 // Valid Values: breaching | notBreaching | ignore | missing 9851 TreatMissingData *string `min:"1" type:"string"` 9852 9853 // The unit of measure for the statistic. For example, the units for the Amazon 9854 // EC2 NetworkIn metric are Bytes because NetworkIn tracks the number of bytes 9855 // that an instance receives on all network interfaces. You can also specify 9856 // a unit when you create a custom metric. Units help provide conceptual meaning 9857 // to your data. Metric data points that specify a unit of measure, such as 9858 // Percent, are aggregated separately. 9859 // 9860 // If you don't specify Unit, CloudWatch retrieves all unit types that have 9861 // been published for the metric and attempts to evaluate the alarm. Usually, 9862 // metrics are published with only one unit, so the alarm works as intended. 9863 // 9864 // However, if the metric is published with multiple types of units and you 9865 // don't specify a unit, the alarm's behavior is not defined and it behaves 9866 // predictably. 9867 // 9868 // We recommend omitting Unit so that you don't inadvertently specify an incorrect 9869 // unit that is not published for this metric. Doing so causes the alarm to 9870 // be stuck in the INSUFFICIENT DATA state. 9871 Unit *string `type:"string" enum:"StandardUnit"` 9872} 9873 9874// String returns the string representation. 9875// 9876// API parameter values that are decorated as "sensitive" in the API will not 9877// be included in the string output. The member name will be present, but the 9878// value will be replaced with "sensitive". 9879func (s PutMetricAlarmInput) String() string { 9880 return awsutil.Prettify(s) 9881} 9882 9883// GoString returns the string representation. 9884// 9885// API parameter values that are decorated as "sensitive" in the API will not 9886// be included in the string output. The member name will be present, but the 9887// value will be replaced with "sensitive". 9888func (s PutMetricAlarmInput) GoString() string { 9889 return s.String() 9890} 9891 9892// Validate inspects the fields of the type to determine if they are valid. 9893func (s *PutMetricAlarmInput) Validate() error { 9894 invalidParams := request.ErrInvalidParams{Context: "PutMetricAlarmInput"} 9895 if s.AlarmName == nil { 9896 invalidParams.Add(request.NewErrParamRequired("AlarmName")) 9897 } 9898 if s.AlarmName != nil && len(*s.AlarmName) < 1 { 9899 invalidParams.Add(request.NewErrParamMinLen("AlarmName", 1)) 9900 } 9901 if s.ComparisonOperator == nil { 9902 invalidParams.Add(request.NewErrParamRequired("ComparisonOperator")) 9903 } 9904 if s.DatapointsToAlarm != nil && *s.DatapointsToAlarm < 1 { 9905 invalidParams.Add(request.NewErrParamMinValue("DatapointsToAlarm", 1)) 9906 } 9907 if s.EvaluateLowSampleCountPercentile != nil && len(*s.EvaluateLowSampleCountPercentile) < 1 { 9908 invalidParams.Add(request.NewErrParamMinLen("EvaluateLowSampleCountPercentile", 1)) 9909 } 9910 if s.EvaluationPeriods == nil { 9911 invalidParams.Add(request.NewErrParamRequired("EvaluationPeriods")) 9912 } 9913 if s.EvaluationPeriods != nil && *s.EvaluationPeriods < 1 { 9914 invalidParams.Add(request.NewErrParamMinValue("EvaluationPeriods", 1)) 9915 } 9916 if s.MetricName != nil && len(*s.MetricName) < 1 { 9917 invalidParams.Add(request.NewErrParamMinLen("MetricName", 1)) 9918 } 9919 if s.Namespace != nil && len(*s.Namespace) < 1 { 9920 invalidParams.Add(request.NewErrParamMinLen("Namespace", 1)) 9921 } 9922 if s.Period != nil && *s.Period < 1 { 9923 invalidParams.Add(request.NewErrParamMinValue("Period", 1)) 9924 } 9925 if s.ThresholdMetricId != nil && len(*s.ThresholdMetricId) < 1 { 9926 invalidParams.Add(request.NewErrParamMinLen("ThresholdMetricId", 1)) 9927 } 9928 if s.TreatMissingData != nil && len(*s.TreatMissingData) < 1 { 9929 invalidParams.Add(request.NewErrParamMinLen("TreatMissingData", 1)) 9930 } 9931 if s.Dimensions != nil { 9932 for i, v := range s.Dimensions { 9933 if v == nil { 9934 continue 9935 } 9936 if err := v.Validate(); err != nil { 9937 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Dimensions", i), err.(request.ErrInvalidParams)) 9938 } 9939 } 9940 } 9941 if s.Metrics != nil { 9942 for i, v := range s.Metrics { 9943 if v == nil { 9944 continue 9945 } 9946 if err := v.Validate(); err != nil { 9947 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Metrics", i), err.(request.ErrInvalidParams)) 9948 } 9949 } 9950 } 9951 if s.Tags != nil { 9952 for i, v := range s.Tags { 9953 if v == nil { 9954 continue 9955 } 9956 if err := v.Validate(); err != nil { 9957 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) 9958 } 9959 } 9960 } 9961 9962 if invalidParams.Len() > 0 { 9963 return invalidParams 9964 } 9965 return nil 9966} 9967 9968// SetActionsEnabled sets the ActionsEnabled field's value. 9969func (s *PutMetricAlarmInput) SetActionsEnabled(v bool) *PutMetricAlarmInput { 9970 s.ActionsEnabled = &v 9971 return s 9972} 9973 9974// SetAlarmActions sets the AlarmActions field's value. 9975func (s *PutMetricAlarmInput) SetAlarmActions(v []*string) *PutMetricAlarmInput { 9976 s.AlarmActions = v 9977 return s 9978} 9979 9980// SetAlarmDescription sets the AlarmDescription field's value. 9981func (s *PutMetricAlarmInput) SetAlarmDescription(v string) *PutMetricAlarmInput { 9982 s.AlarmDescription = &v 9983 return s 9984} 9985 9986// SetAlarmName sets the AlarmName field's value. 9987func (s *PutMetricAlarmInput) SetAlarmName(v string) *PutMetricAlarmInput { 9988 s.AlarmName = &v 9989 return s 9990} 9991 9992// SetComparisonOperator sets the ComparisonOperator field's value. 9993func (s *PutMetricAlarmInput) SetComparisonOperator(v string) *PutMetricAlarmInput { 9994 s.ComparisonOperator = &v 9995 return s 9996} 9997 9998// SetDatapointsToAlarm sets the DatapointsToAlarm field's value. 9999func (s *PutMetricAlarmInput) SetDatapointsToAlarm(v int64) *PutMetricAlarmInput { 10000 s.DatapointsToAlarm = &v 10001 return s 10002} 10003 10004// SetDimensions sets the Dimensions field's value. 10005func (s *PutMetricAlarmInput) SetDimensions(v []*Dimension) *PutMetricAlarmInput { 10006 s.Dimensions = v 10007 return s 10008} 10009 10010// SetEvaluateLowSampleCountPercentile sets the EvaluateLowSampleCountPercentile field's value. 10011func (s *PutMetricAlarmInput) SetEvaluateLowSampleCountPercentile(v string) *PutMetricAlarmInput { 10012 s.EvaluateLowSampleCountPercentile = &v 10013 return s 10014} 10015 10016// SetEvaluationPeriods sets the EvaluationPeriods field's value. 10017func (s *PutMetricAlarmInput) SetEvaluationPeriods(v int64) *PutMetricAlarmInput { 10018 s.EvaluationPeriods = &v 10019 return s 10020} 10021 10022// SetExtendedStatistic sets the ExtendedStatistic field's value. 10023func (s *PutMetricAlarmInput) SetExtendedStatistic(v string) *PutMetricAlarmInput { 10024 s.ExtendedStatistic = &v 10025 return s 10026} 10027 10028// SetInsufficientDataActions sets the InsufficientDataActions field's value. 10029func (s *PutMetricAlarmInput) SetInsufficientDataActions(v []*string) *PutMetricAlarmInput { 10030 s.InsufficientDataActions = v 10031 return s 10032} 10033 10034// SetMetricName sets the MetricName field's value. 10035func (s *PutMetricAlarmInput) SetMetricName(v string) *PutMetricAlarmInput { 10036 s.MetricName = &v 10037 return s 10038} 10039 10040// SetMetrics sets the Metrics field's value. 10041func (s *PutMetricAlarmInput) SetMetrics(v []*MetricDataQuery) *PutMetricAlarmInput { 10042 s.Metrics = v 10043 return s 10044} 10045 10046// SetNamespace sets the Namespace field's value. 10047func (s *PutMetricAlarmInput) SetNamespace(v string) *PutMetricAlarmInput { 10048 s.Namespace = &v 10049 return s 10050} 10051 10052// SetOKActions sets the OKActions field's value. 10053func (s *PutMetricAlarmInput) SetOKActions(v []*string) *PutMetricAlarmInput { 10054 s.OKActions = v 10055 return s 10056} 10057 10058// SetPeriod sets the Period field's value. 10059func (s *PutMetricAlarmInput) SetPeriod(v int64) *PutMetricAlarmInput { 10060 s.Period = &v 10061 return s 10062} 10063 10064// SetStatistic sets the Statistic field's value. 10065func (s *PutMetricAlarmInput) SetStatistic(v string) *PutMetricAlarmInput { 10066 s.Statistic = &v 10067 return s 10068} 10069 10070// SetTags sets the Tags field's value. 10071func (s *PutMetricAlarmInput) SetTags(v []*Tag) *PutMetricAlarmInput { 10072 s.Tags = v 10073 return s 10074} 10075 10076// SetThreshold sets the Threshold field's value. 10077func (s *PutMetricAlarmInput) SetThreshold(v float64) *PutMetricAlarmInput { 10078 s.Threshold = &v 10079 return s 10080} 10081 10082// SetThresholdMetricId sets the ThresholdMetricId field's value. 10083func (s *PutMetricAlarmInput) SetThresholdMetricId(v string) *PutMetricAlarmInput { 10084 s.ThresholdMetricId = &v 10085 return s 10086} 10087 10088// SetTreatMissingData sets the TreatMissingData field's value. 10089func (s *PutMetricAlarmInput) SetTreatMissingData(v string) *PutMetricAlarmInput { 10090 s.TreatMissingData = &v 10091 return s 10092} 10093 10094// SetUnit sets the Unit field's value. 10095func (s *PutMetricAlarmInput) SetUnit(v string) *PutMetricAlarmInput { 10096 s.Unit = &v 10097 return s 10098} 10099 10100type PutMetricAlarmOutput struct { 10101 _ struct{} `type:"structure"` 10102} 10103 10104// String returns the string representation. 10105// 10106// API parameter values that are decorated as "sensitive" in the API will not 10107// be included in the string output. The member name will be present, but the 10108// value will be replaced with "sensitive". 10109func (s PutMetricAlarmOutput) String() string { 10110 return awsutil.Prettify(s) 10111} 10112 10113// GoString returns the string representation. 10114// 10115// API parameter values that are decorated as "sensitive" in the API will not 10116// be included in the string output. The member name will be present, but the 10117// value will be replaced with "sensitive". 10118func (s PutMetricAlarmOutput) GoString() string { 10119 return s.String() 10120} 10121 10122type PutMetricDataInput struct { 10123 _ struct{} `type:"structure"` 10124 10125 // The data for the metric. The array can include no more than 20 metrics per 10126 // call. 10127 // 10128 // MetricData is a required field 10129 MetricData []*MetricDatum `type:"list" required:"true"` 10130 10131 // The namespace for the metric data. 10132 // 10133 // To avoid conflicts with Amazon Web Services service namespaces, you should 10134 // not specify a namespace that begins with AWS/ 10135 // 10136 // Namespace is a required field 10137 Namespace *string `min:"1" type:"string" required:"true"` 10138} 10139 10140// String returns the string representation. 10141// 10142// API parameter values that are decorated as "sensitive" in the API will not 10143// be included in the string output. The member name will be present, but the 10144// value will be replaced with "sensitive". 10145func (s PutMetricDataInput) String() string { 10146 return awsutil.Prettify(s) 10147} 10148 10149// GoString returns the string representation. 10150// 10151// API parameter values that are decorated as "sensitive" in the API will not 10152// be included in the string output. The member name will be present, but the 10153// value will be replaced with "sensitive". 10154func (s PutMetricDataInput) GoString() string { 10155 return s.String() 10156} 10157 10158// Validate inspects the fields of the type to determine if they are valid. 10159func (s *PutMetricDataInput) Validate() error { 10160 invalidParams := request.ErrInvalidParams{Context: "PutMetricDataInput"} 10161 if s.MetricData == nil { 10162 invalidParams.Add(request.NewErrParamRequired("MetricData")) 10163 } 10164 if s.Namespace == nil { 10165 invalidParams.Add(request.NewErrParamRequired("Namespace")) 10166 } 10167 if s.Namespace != nil && len(*s.Namespace) < 1 { 10168 invalidParams.Add(request.NewErrParamMinLen("Namespace", 1)) 10169 } 10170 if s.MetricData != nil { 10171 for i, v := range s.MetricData { 10172 if v == nil { 10173 continue 10174 } 10175 if err := v.Validate(); err != nil { 10176 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "MetricData", i), err.(request.ErrInvalidParams)) 10177 } 10178 } 10179 } 10180 10181 if invalidParams.Len() > 0 { 10182 return invalidParams 10183 } 10184 return nil 10185} 10186 10187// SetMetricData sets the MetricData field's value. 10188func (s *PutMetricDataInput) SetMetricData(v []*MetricDatum) *PutMetricDataInput { 10189 s.MetricData = v 10190 return s 10191} 10192 10193// SetNamespace sets the Namespace field's value. 10194func (s *PutMetricDataInput) SetNamespace(v string) *PutMetricDataInput { 10195 s.Namespace = &v 10196 return s 10197} 10198 10199type PutMetricDataOutput struct { 10200 _ struct{} `type:"structure"` 10201} 10202 10203// String returns the string representation. 10204// 10205// API parameter values that are decorated as "sensitive" in the API will not 10206// be included in the string output. The member name will be present, but the 10207// value will be replaced with "sensitive". 10208func (s PutMetricDataOutput) String() string { 10209 return awsutil.Prettify(s) 10210} 10211 10212// GoString returns the string representation. 10213// 10214// API parameter values that are decorated as "sensitive" in the API will not 10215// be included in the string output. The member name will be present, but the 10216// value will be replaced with "sensitive". 10217func (s PutMetricDataOutput) GoString() string { 10218 return s.String() 10219} 10220 10221type PutMetricStreamInput struct { 10222 _ struct{} `type:"structure"` 10223 10224 // If you specify this parameter, the stream sends metrics from all metric namespaces 10225 // except for the namespaces that you specify here. 10226 // 10227 // You cannot include ExcludeFilters and IncludeFilters in the same operation. 10228 ExcludeFilters []*MetricStreamFilter `type:"list"` 10229 10230 // The ARN of the Amazon Kinesis Firehose delivery stream to use for this metric 10231 // stream. This Amazon Kinesis Firehose delivery stream must already exist and 10232 // must be in the same account as the metric stream. 10233 // 10234 // FirehoseArn is a required field 10235 FirehoseArn *string `min:"1" type:"string" required:"true"` 10236 10237 // If you specify this parameter, the stream sends only the metrics from the 10238 // metric namespaces that you specify here. 10239 // 10240 // You cannot include IncludeFilters and ExcludeFilters in the same operation. 10241 IncludeFilters []*MetricStreamFilter `type:"list"` 10242 10243 // If you are creating a new metric stream, this is the name for the new stream. 10244 // The name must be different than the names of other metric streams in this 10245 // account and Region. 10246 // 10247 // If you are updating a metric stream, specify the name of that stream here. 10248 // 10249 // Valid characters are A-Z, a-z, 0-9, "-" and "_". 10250 // 10251 // Name is a required field 10252 Name *string `min:"1" type:"string" required:"true"` 10253 10254 // The output format for the stream. Valid values are json and opentelemetry0.7. 10255 // For more information about metric stream output formats, see Metric streams 10256 // output formats (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-metric-streams-formats.html). 10257 // 10258 // OutputFormat is a required field 10259 OutputFormat *string `min:"1" type:"string" required:"true" enum:"MetricStreamOutputFormat"` 10260 10261 // The ARN of an IAM role that this metric stream will use to access Amazon 10262 // Kinesis Firehose resources. This IAM role must already exist and must be 10263 // in the same account as the metric stream. This IAM role must include the 10264 // following permissions: 10265 // 10266 // * firehose:PutRecord 10267 // 10268 // * firehose:PutRecordBatch 10269 // 10270 // RoleArn is a required field 10271 RoleArn *string `min:"1" type:"string" required:"true"` 10272 10273 // A list of key-value pairs to associate with the metric stream. You can associate 10274 // as many as 50 tags with a metric stream. 10275 // 10276 // Tags can help you organize and categorize your resources. You can also use 10277 // them to scope user permissions by granting a user permission to access or 10278 // change only resources with certain tag values. 10279 // 10280 // You can use this parameter only when you are creating a new metric stream. 10281 // If you are using this operation to update an existing metric stream, any 10282 // tags you specify in this parameter are ignored. To change the tags of an 10283 // existing metric stream, use TagResource (https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_TagResource.html) 10284 // or UntagResource (https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_UntagResource.html). 10285 Tags []*Tag `type:"list"` 10286} 10287 10288// String returns the string representation. 10289// 10290// API parameter values that are decorated as "sensitive" in the API will not 10291// be included in the string output. The member name will be present, but the 10292// value will be replaced with "sensitive". 10293func (s PutMetricStreamInput) String() string { 10294 return awsutil.Prettify(s) 10295} 10296 10297// GoString returns the string representation. 10298// 10299// API parameter values that are decorated as "sensitive" in the API will not 10300// be included in the string output. The member name will be present, but the 10301// value will be replaced with "sensitive". 10302func (s PutMetricStreamInput) GoString() string { 10303 return s.String() 10304} 10305 10306// Validate inspects the fields of the type to determine if they are valid. 10307func (s *PutMetricStreamInput) Validate() error { 10308 invalidParams := request.ErrInvalidParams{Context: "PutMetricStreamInput"} 10309 if s.FirehoseArn == nil { 10310 invalidParams.Add(request.NewErrParamRequired("FirehoseArn")) 10311 } 10312 if s.FirehoseArn != nil && len(*s.FirehoseArn) < 1 { 10313 invalidParams.Add(request.NewErrParamMinLen("FirehoseArn", 1)) 10314 } 10315 if s.Name == nil { 10316 invalidParams.Add(request.NewErrParamRequired("Name")) 10317 } 10318 if s.Name != nil && len(*s.Name) < 1 { 10319 invalidParams.Add(request.NewErrParamMinLen("Name", 1)) 10320 } 10321 if s.OutputFormat == nil { 10322 invalidParams.Add(request.NewErrParamRequired("OutputFormat")) 10323 } 10324 if s.OutputFormat != nil && len(*s.OutputFormat) < 1 { 10325 invalidParams.Add(request.NewErrParamMinLen("OutputFormat", 1)) 10326 } 10327 if s.RoleArn == nil { 10328 invalidParams.Add(request.NewErrParamRequired("RoleArn")) 10329 } 10330 if s.RoleArn != nil && len(*s.RoleArn) < 1 { 10331 invalidParams.Add(request.NewErrParamMinLen("RoleArn", 1)) 10332 } 10333 if s.ExcludeFilters != nil { 10334 for i, v := range s.ExcludeFilters { 10335 if v == nil { 10336 continue 10337 } 10338 if err := v.Validate(); err != nil { 10339 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ExcludeFilters", i), err.(request.ErrInvalidParams)) 10340 } 10341 } 10342 } 10343 if s.IncludeFilters != nil { 10344 for i, v := range s.IncludeFilters { 10345 if v == nil { 10346 continue 10347 } 10348 if err := v.Validate(); err != nil { 10349 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "IncludeFilters", i), err.(request.ErrInvalidParams)) 10350 } 10351 } 10352 } 10353 if s.Tags != nil { 10354 for i, v := range s.Tags { 10355 if v == nil { 10356 continue 10357 } 10358 if err := v.Validate(); err != nil { 10359 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) 10360 } 10361 } 10362 } 10363 10364 if invalidParams.Len() > 0 { 10365 return invalidParams 10366 } 10367 return nil 10368} 10369 10370// SetExcludeFilters sets the ExcludeFilters field's value. 10371func (s *PutMetricStreamInput) SetExcludeFilters(v []*MetricStreamFilter) *PutMetricStreamInput { 10372 s.ExcludeFilters = v 10373 return s 10374} 10375 10376// SetFirehoseArn sets the FirehoseArn field's value. 10377func (s *PutMetricStreamInput) SetFirehoseArn(v string) *PutMetricStreamInput { 10378 s.FirehoseArn = &v 10379 return s 10380} 10381 10382// SetIncludeFilters sets the IncludeFilters field's value. 10383func (s *PutMetricStreamInput) SetIncludeFilters(v []*MetricStreamFilter) *PutMetricStreamInput { 10384 s.IncludeFilters = v 10385 return s 10386} 10387 10388// SetName sets the Name field's value. 10389func (s *PutMetricStreamInput) SetName(v string) *PutMetricStreamInput { 10390 s.Name = &v 10391 return s 10392} 10393 10394// SetOutputFormat sets the OutputFormat field's value. 10395func (s *PutMetricStreamInput) SetOutputFormat(v string) *PutMetricStreamInput { 10396 s.OutputFormat = &v 10397 return s 10398} 10399 10400// SetRoleArn sets the RoleArn field's value. 10401func (s *PutMetricStreamInput) SetRoleArn(v string) *PutMetricStreamInput { 10402 s.RoleArn = &v 10403 return s 10404} 10405 10406// SetTags sets the Tags field's value. 10407func (s *PutMetricStreamInput) SetTags(v []*Tag) *PutMetricStreamInput { 10408 s.Tags = v 10409 return s 10410} 10411 10412type PutMetricStreamOutput struct { 10413 _ struct{} `type:"structure"` 10414 10415 // The ARN of the metric stream. 10416 Arn *string `min:"1" type:"string"` 10417} 10418 10419// String returns the string representation. 10420// 10421// API parameter values that are decorated as "sensitive" in the API will not 10422// be included in the string output. The member name will be present, but the 10423// value will be replaced with "sensitive". 10424func (s PutMetricStreamOutput) String() string { 10425 return awsutil.Prettify(s) 10426} 10427 10428// GoString returns the string representation. 10429// 10430// API parameter values that are decorated as "sensitive" in the API will not 10431// be included in the string output. The member name will be present, but the 10432// value will be replaced with "sensitive". 10433func (s PutMetricStreamOutput) GoString() string { 10434 return s.String() 10435} 10436 10437// SetArn sets the Arn field's value. 10438func (s *PutMetricStreamOutput) SetArn(v string) *PutMetricStreamOutput { 10439 s.Arn = &v 10440 return s 10441} 10442 10443// Specifies one range of days or times to exclude from use for training an 10444// anomaly detection model. 10445type Range struct { 10446 _ struct{} `type:"structure"` 10447 10448 // The end time of the range to exclude. The format is yyyy-MM-dd'T'HH:mm:ss. 10449 // For example, 2019-07-01T23:59:59. 10450 // 10451 // EndTime is a required field 10452 EndTime *time.Time `type:"timestamp" required:"true"` 10453 10454 // The start time of the range to exclude. The format is yyyy-MM-dd'T'HH:mm:ss. 10455 // For example, 2019-07-01T23:59:59. 10456 // 10457 // StartTime is a required field 10458 StartTime *time.Time `type:"timestamp" required:"true"` 10459} 10460 10461// String returns the string representation. 10462// 10463// API parameter values that are decorated as "sensitive" in the API will not 10464// be included in the string output. The member name will be present, but the 10465// value will be replaced with "sensitive". 10466func (s Range) String() string { 10467 return awsutil.Prettify(s) 10468} 10469 10470// GoString returns the string representation. 10471// 10472// API parameter values that are decorated as "sensitive" in the API will not 10473// be included in the string output. The member name will be present, but the 10474// value will be replaced with "sensitive". 10475func (s Range) GoString() string { 10476 return s.String() 10477} 10478 10479// Validate inspects the fields of the type to determine if they are valid. 10480func (s *Range) Validate() error { 10481 invalidParams := request.ErrInvalidParams{Context: "Range"} 10482 if s.EndTime == nil { 10483 invalidParams.Add(request.NewErrParamRequired("EndTime")) 10484 } 10485 if s.StartTime == nil { 10486 invalidParams.Add(request.NewErrParamRequired("StartTime")) 10487 } 10488 10489 if invalidParams.Len() > 0 { 10490 return invalidParams 10491 } 10492 return nil 10493} 10494 10495// SetEndTime sets the EndTime field's value. 10496func (s *Range) SetEndTime(v time.Time) *Range { 10497 s.EndTime = &v 10498 return s 10499} 10500 10501// SetStartTime sets the StartTime field's value. 10502func (s *Range) SetStartTime(v time.Time) *Range { 10503 s.StartTime = &v 10504 return s 10505} 10506 10507type SetAlarmStateInput struct { 10508 _ struct{} `type:"structure"` 10509 10510 // The name of the alarm. 10511 // 10512 // AlarmName is a required field 10513 AlarmName *string `min:"1" type:"string" required:"true"` 10514 10515 // The reason that this alarm is set to this specific state, in text format. 10516 // 10517 // StateReason is a required field 10518 StateReason *string `type:"string" required:"true"` 10519 10520 // The reason that this alarm is set to this specific state, in JSON format. 10521 // 10522 // For SNS or EC2 alarm actions, this is just informational. But for EC2 Auto 10523 // Scaling or application Auto Scaling alarm actions, the Auto Scaling policy 10524 // uses the information in this field to take the correct action. 10525 StateReasonData *string `type:"string"` 10526 10527 // The value of the state. 10528 // 10529 // StateValue is a required field 10530 StateValue *string `type:"string" required:"true" enum:"StateValue"` 10531} 10532 10533// String returns the string representation. 10534// 10535// API parameter values that are decorated as "sensitive" in the API will not 10536// be included in the string output. The member name will be present, but the 10537// value will be replaced with "sensitive". 10538func (s SetAlarmStateInput) String() string { 10539 return awsutil.Prettify(s) 10540} 10541 10542// GoString returns the string representation. 10543// 10544// API parameter values that are decorated as "sensitive" in the API will not 10545// be included in the string output. The member name will be present, but the 10546// value will be replaced with "sensitive". 10547func (s SetAlarmStateInput) GoString() string { 10548 return s.String() 10549} 10550 10551// Validate inspects the fields of the type to determine if they are valid. 10552func (s *SetAlarmStateInput) Validate() error { 10553 invalidParams := request.ErrInvalidParams{Context: "SetAlarmStateInput"} 10554 if s.AlarmName == nil { 10555 invalidParams.Add(request.NewErrParamRequired("AlarmName")) 10556 } 10557 if s.AlarmName != nil && len(*s.AlarmName) < 1 { 10558 invalidParams.Add(request.NewErrParamMinLen("AlarmName", 1)) 10559 } 10560 if s.StateReason == nil { 10561 invalidParams.Add(request.NewErrParamRequired("StateReason")) 10562 } 10563 if s.StateValue == nil { 10564 invalidParams.Add(request.NewErrParamRequired("StateValue")) 10565 } 10566 10567 if invalidParams.Len() > 0 { 10568 return invalidParams 10569 } 10570 return nil 10571} 10572 10573// SetAlarmName sets the AlarmName field's value. 10574func (s *SetAlarmStateInput) SetAlarmName(v string) *SetAlarmStateInput { 10575 s.AlarmName = &v 10576 return s 10577} 10578 10579// SetStateReason sets the StateReason field's value. 10580func (s *SetAlarmStateInput) SetStateReason(v string) *SetAlarmStateInput { 10581 s.StateReason = &v 10582 return s 10583} 10584 10585// SetStateReasonData sets the StateReasonData field's value. 10586func (s *SetAlarmStateInput) SetStateReasonData(v string) *SetAlarmStateInput { 10587 s.StateReasonData = &v 10588 return s 10589} 10590 10591// SetStateValue sets the StateValue field's value. 10592func (s *SetAlarmStateInput) SetStateValue(v string) *SetAlarmStateInput { 10593 s.StateValue = &v 10594 return s 10595} 10596 10597type SetAlarmStateOutput struct { 10598 _ struct{} `type:"structure"` 10599} 10600 10601// String returns the string representation. 10602// 10603// API parameter values that are decorated as "sensitive" in the API will not 10604// be included in the string output. The member name will be present, but the 10605// value will be replaced with "sensitive". 10606func (s SetAlarmStateOutput) String() string { 10607 return awsutil.Prettify(s) 10608} 10609 10610// GoString returns the string representation. 10611// 10612// API parameter values that are decorated as "sensitive" in the API will not 10613// be included in the string output. The member name will be present, but the 10614// value will be replaced with "sensitive". 10615func (s SetAlarmStateOutput) GoString() string { 10616 return s.String() 10617} 10618 10619type StartMetricStreamsInput struct { 10620 _ struct{} `type:"structure"` 10621 10622 // The array of the names of metric streams to start streaming. 10623 // 10624 // This is an "all or nothing" operation. If you do not have permission to access 10625 // all of the metric streams that you list here, then none of the streams that 10626 // you list in the operation will start streaming. 10627 // 10628 // Names is a required field 10629 Names []*string `type:"list" required:"true"` 10630} 10631 10632// String returns the string representation. 10633// 10634// API parameter values that are decorated as "sensitive" in the API will not 10635// be included in the string output. The member name will be present, but the 10636// value will be replaced with "sensitive". 10637func (s StartMetricStreamsInput) String() string { 10638 return awsutil.Prettify(s) 10639} 10640 10641// GoString returns the string representation. 10642// 10643// API parameter values that are decorated as "sensitive" in the API will not 10644// be included in the string output. The member name will be present, but the 10645// value will be replaced with "sensitive". 10646func (s StartMetricStreamsInput) GoString() string { 10647 return s.String() 10648} 10649 10650// Validate inspects the fields of the type to determine if they are valid. 10651func (s *StartMetricStreamsInput) Validate() error { 10652 invalidParams := request.ErrInvalidParams{Context: "StartMetricStreamsInput"} 10653 if s.Names == nil { 10654 invalidParams.Add(request.NewErrParamRequired("Names")) 10655 } 10656 10657 if invalidParams.Len() > 0 { 10658 return invalidParams 10659 } 10660 return nil 10661} 10662 10663// SetNames sets the Names field's value. 10664func (s *StartMetricStreamsInput) SetNames(v []*string) *StartMetricStreamsInput { 10665 s.Names = v 10666 return s 10667} 10668 10669type StartMetricStreamsOutput struct { 10670 _ struct{} `type:"structure"` 10671} 10672 10673// String returns the string representation. 10674// 10675// API parameter values that are decorated as "sensitive" in the API will not 10676// be included in the string output. The member name will be present, but the 10677// value will be replaced with "sensitive". 10678func (s StartMetricStreamsOutput) String() string { 10679 return awsutil.Prettify(s) 10680} 10681 10682// GoString returns the string representation. 10683// 10684// API parameter values that are decorated as "sensitive" in the API will not 10685// be included in the string output. The member name will be present, but the 10686// value will be replaced with "sensitive". 10687func (s StartMetricStreamsOutput) GoString() string { 10688 return s.String() 10689} 10690 10691// Represents a set of statistics that describes a specific metric. 10692type StatisticSet struct { 10693 _ struct{} `type:"structure"` 10694 10695 // The maximum value of the sample set. 10696 // 10697 // Maximum is a required field 10698 Maximum *float64 `type:"double" required:"true"` 10699 10700 // The minimum value of the sample set. 10701 // 10702 // Minimum is a required field 10703 Minimum *float64 `type:"double" required:"true"` 10704 10705 // The number of samples used for the statistic set. 10706 // 10707 // SampleCount is a required field 10708 SampleCount *float64 `type:"double" required:"true"` 10709 10710 // The sum of values for the sample set. 10711 // 10712 // Sum is a required field 10713 Sum *float64 `type:"double" required:"true"` 10714} 10715 10716// String returns the string representation. 10717// 10718// API parameter values that are decorated as "sensitive" in the API will not 10719// be included in the string output. The member name will be present, but the 10720// value will be replaced with "sensitive". 10721func (s StatisticSet) String() string { 10722 return awsutil.Prettify(s) 10723} 10724 10725// GoString returns the string representation. 10726// 10727// API parameter values that are decorated as "sensitive" in the API will not 10728// be included in the string output. The member name will be present, but the 10729// value will be replaced with "sensitive". 10730func (s StatisticSet) GoString() string { 10731 return s.String() 10732} 10733 10734// Validate inspects the fields of the type to determine if they are valid. 10735func (s *StatisticSet) Validate() error { 10736 invalidParams := request.ErrInvalidParams{Context: "StatisticSet"} 10737 if s.Maximum == nil { 10738 invalidParams.Add(request.NewErrParamRequired("Maximum")) 10739 } 10740 if s.Minimum == nil { 10741 invalidParams.Add(request.NewErrParamRequired("Minimum")) 10742 } 10743 if s.SampleCount == nil { 10744 invalidParams.Add(request.NewErrParamRequired("SampleCount")) 10745 } 10746 if s.Sum == nil { 10747 invalidParams.Add(request.NewErrParamRequired("Sum")) 10748 } 10749 10750 if invalidParams.Len() > 0 { 10751 return invalidParams 10752 } 10753 return nil 10754} 10755 10756// SetMaximum sets the Maximum field's value. 10757func (s *StatisticSet) SetMaximum(v float64) *StatisticSet { 10758 s.Maximum = &v 10759 return s 10760} 10761 10762// SetMinimum sets the Minimum field's value. 10763func (s *StatisticSet) SetMinimum(v float64) *StatisticSet { 10764 s.Minimum = &v 10765 return s 10766} 10767 10768// SetSampleCount sets the SampleCount field's value. 10769func (s *StatisticSet) SetSampleCount(v float64) *StatisticSet { 10770 s.SampleCount = &v 10771 return s 10772} 10773 10774// SetSum sets the Sum field's value. 10775func (s *StatisticSet) SetSum(v float64) *StatisticSet { 10776 s.Sum = &v 10777 return s 10778} 10779 10780type StopMetricStreamsInput struct { 10781 _ struct{} `type:"structure"` 10782 10783 // The array of the names of metric streams to stop streaming. 10784 // 10785 // This is an "all or nothing" operation. If you do not have permission to access 10786 // all of the metric streams that you list here, then none of the streams that 10787 // you list in the operation will stop streaming. 10788 // 10789 // Names is a required field 10790 Names []*string `type:"list" required:"true"` 10791} 10792 10793// String returns the string representation. 10794// 10795// API parameter values that are decorated as "sensitive" in the API will not 10796// be included in the string output. The member name will be present, but the 10797// value will be replaced with "sensitive". 10798func (s StopMetricStreamsInput) String() string { 10799 return awsutil.Prettify(s) 10800} 10801 10802// GoString returns the string representation. 10803// 10804// API parameter values that are decorated as "sensitive" in the API will not 10805// be included in the string output. The member name will be present, but the 10806// value will be replaced with "sensitive". 10807func (s StopMetricStreamsInput) GoString() string { 10808 return s.String() 10809} 10810 10811// Validate inspects the fields of the type to determine if they are valid. 10812func (s *StopMetricStreamsInput) Validate() error { 10813 invalidParams := request.ErrInvalidParams{Context: "StopMetricStreamsInput"} 10814 if s.Names == nil { 10815 invalidParams.Add(request.NewErrParamRequired("Names")) 10816 } 10817 10818 if invalidParams.Len() > 0 { 10819 return invalidParams 10820 } 10821 return nil 10822} 10823 10824// SetNames sets the Names field's value. 10825func (s *StopMetricStreamsInput) SetNames(v []*string) *StopMetricStreamsInput { 10826 s.Names = v 10827 return s 10828} 10829 10830type StopMetricStreamsOutput struct { 10831 _ struct{} `type:"structure"` 10832} 10833 10834// String returns the string representation. 10835// 10836// API parameter values that are decorated as "sensitive" in the API will not 10837// be included in the string output. The member name will be present, but the 10838// value will be replaced with "sensitive". 10839func (s StopMetricStreamsOutput) String() string { 10840 return awsutil.Prettify(s) 10841} 10842 10843// GoString returns the string representation. 10844// 10845// API parameter values that are decorated as "sensitive" in the API will not 10846// be included in the string output. The member name will be present, but the 10847// value will be replaced with "sensitive". 10848func (s StopMetricStreamsOutput) GoString() string { 10849 return s.String() 10850} 10851 10852// A key-value pair associated with a CloudWatch resource. 10853type Tag struct { 10854 _ struct{} `type:"structure"` 10855 10856 // A string that you can use to assign a value. The combination of tag keys 10857 // and values can help you organize and categorize your resources. 10858 // 10859 // Key is a required field 10860 Key *string `min:"1" type:"string" required:"true"` 10861 10862 // The value for the specified tag key. 10863 // 10864 // Value is a required field 10865 Value *string `type:"string" required:"true"` 10866} 10867 10868// String returns the string representation. 10869// 10870// API parameter values that are decorated as "sensitive" in the API will not 10871// be included in the string output. The member name will be present, but the 10872// value will be replaced with "sensitive". 10873func (s Tag) String() string { 10874 return awsutil.Prettify(s) 10875} 10876 10877// GoString returns the string representation. 10878// 10879// API parameter values that are decorated as "sensitive" in the API will not 10880// be included in the string output. The member name will be present, but the 10881// value will be replaced with "sensitive". 10882func (s Tag) GoString() string { 10883 return s.String() 10884} 10885 10886// Validate inspects the fields of the type to determine if they are valid. 10887func (s *Tag) Validate() error { 10888 invalidParams := request.ErrInvalidParams{Context: "Tag"} 10889 if s.Key == nil { 10890 invalidParams.Add(request.NewErrParamRequired("Key")) 10891 } 10892 if s.Key != nil && len(*s.Key) < 1 { 10893 invalidParams.Add(request.NewErrParamMinLen("Key", 1)) 10894 } 10895 if s.Value == nil { 10896 invalidParams.Add(request.NewErrParamRequired("Value")) 10897 } 10898 10899 if invalidParams.Len() > 0 { 10900 return invalidParams 10901 } 10902 return nil 10903} 10904 10905// SetKey sets the Key field's value. 10906func (s *Tag) SetKey(v string) *Tag { 10907 s.Key = &v 10908 return s 10909} 10910 10911// SetValue sets the Value field's value. 10912func (s *Tag) SetValue(v string) *Tag { 10913 s.Value = &v 10914 return s 10915} 10916 10917type TagResourceInput struct { 10918 _ struct{} `type:"structure"` 10919 10920 // The ARN of the CloudWatch resource that you're adding tags to. 10921 // 10922 // The ARN format of an alarm is arn:aws:cloudwatch:Region:account-id:alarm:alarm-name 10923 // 10924 // The ARN format of a Contributor Insights rule is arn:aws:cloudwatch:Region:account-id:insight-rule:insight-rule-name 10925 // 10926 // For more information about ARN format, see Resource Types Defined by Amazon 10927 // CloudWatch (https://docs.aws.amazon.com/IAM/latest/UserGuide/list_amazoncloudwatch.html#amazoncloudwatch-resources-for-iam-policies) 10928 // in the Amazon Web Services General Reference. 10929 // 10930 // ResourceARN is a required field 10931 ResourceARN *string `min:"1" type:"string" required:"true"` 10932 10933 // The list of key-value pairs to associate with the alarm. 10934 // 10935 // Tags is a required field 10936 Tags []*Tag `type:"list" required:"true"` 10937} 10938 10939// String returns the string representation. 10940// 10941// API parameter values that are decorated as "sensitive" in the API will not 10942// be included in the string output. The member name will be present, but the 10943// value will be replaced with "sensitive". 10944func (s TagResourceInput) String() string { 10945 return awsutil.Prettify(s) 10946} 10947 10948// GoString returns the string representation. 10949// 10950// API parameter values that are decorated as "sensitive" in the API will not 10951// be included in the string output. The member name will be present, but the 10952// value will be replaced with "sensitive". 10953func (s TagResourceInput) GoString() string { 10954 return s.String() 10955} 10956 10957// Validate inspects the fields of the type to determine if they are valid. 10958func (s *TagResourceInput) Validate() error { 10959 invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"} 10960 if s.ResourceARN == nil { 10961 invalidParams.Add(request.NewErrParamRequired("ResourceARN")) 10962 } 10963 if s.ResourceARN != nil && len(*s.ResourceARN) < 1 { 10964 invalidParams.Add(request.NewErrParamMinLen("ResourceARN", 1)) 10965 } 10966 if s.Tags == nil { 10967 invalidParams.Add(request.NewErrParamRequired("Tags")) 10968 } 10969 if s.Tags != nil { 10970 for i, v := range s.Tags { 10971 if v == nil { 10972 continue 10973 } 10974 if err := v.Validate(); err != nil { 10975 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) 10976 } 10977 } 10978 } 10979 10980 if invalidParams.Len() > 0 { 10981 return invalidParams 10982 } 10983 return nil 10984} 10985 10986// SetResourceARN sets the ResourceARN field's value. 10987func (s *TagResourceInput) SetResourceARN(v string) *TagResourceInput { 10988 s.ResourceARN = &v 10989 return s 10990} 10991 10992// SetTags sets the Tags field's value. 10993func (s *TagResourceInput) SetTags(v []*Tag) *TagResourceInput { 10994 s.Tags = v 10995 return s 10996} 10997 10998type TagResourceOutput struct { 10999 _ struct{} `type:"structure"` 11000} 11001 11002// String returns the string representation. 11003// 11004// API parameter values that are decorated as "sensitive" in the API will not 11005// be included in the string output. The member name will be present, but the 11006// value will be replaced with "sensitive". 11007func (s TagResourceOutput) String() string { 11008 return awsutil.Prettify(s) 11009} 11010 11011// GoString returns the string representation. 11012// 11013// API parameter values that are decorated as "sensitive" in the API will not 11014// be included in the string output. The member name will be present, but the 11015// value will be replaced with "sensitive". 11016func (s TagResourceOutput) GoString() string { 11017 return s.String() 11018} 11019 11020type UntagResourceInput struct { 11021 _ struct{} `type:"structure"` 11022 11023 // The ARN of the CloudWatch resource that you're removing tags from. 11024 // 11025 // The ARN format of an alarm is arn:aws:cloudwatch:Region:account-id:alarm:alarm-name 11026 // 11027 // The ARN format of a Contributor Insights rule is arn:aws:cloudwatch:Region:account-id:insight-rule:insight-rule-name 11028 // 11029 // For more information about ARN format, see Resource Types Defined by Amazon 11030 // CloudWatch (https://docs.aws.amazon.com/IAM/latest/UserGuide/list_amazoncloudwatch.html#amazoncloudwatch-resources-for-iam-policies) 11031 // in the Amazon Web Services General Reference. 11032 // 11033 // ResourceARN is a required field 11034 ResourceARN *string `min:"1" type:"string" required:"true"` 11035 11036 // The list of tag keys to remove from the resource. 11037 // 11038 // TagKeys is a required field 11039 TagKeys []*string `type:"list" required:"true"` 11040} 11041 11042// String returns the string representation. 11043// 11044// API parameter values that are decorated as "sensitive" in the API will not 11045// be included in the string output. The member name will be present, but the 11046// value will be replaced with "sensitive". 11047func (s UntagResourceInput) String() string { 11048 return awsutil.Prettify(s) 11049} 11050 11051// GoString returns the string representation. 11052// 11053// API parameter values that are decorated as "sensitive" in the API will not 11054// be included in the string output. The member name will be present, but the 11055// value will be replaced with "sensitive". 11056func (s UntagResourceInput) GoString() string { 11057 return s.String() 11058} 11059 11060// Validate inspects the fields of the type to determine if they are valid. 11061func (s *UntagResourceInput) Validate() error { 11062 invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"} 11063 if s.ResourceARN == nil { 11064 invalidParams.Add(request.NewErrParamRequired("ResourceARN")) 11065 } 11066 if s.ResourceARN != nil && len(*s.ResourceARN) < 1 { 11067 invalidParams.Add(request.NewErrParamMinLen("ResourceARN", 1)) 11068 } 11069 if s.TagKeys == nil { 11070 invalidParams.Add(request.NewErrParamRequired("TagKeys")) 11071 } 11072 11073 if invalidParams.Len() > 0 { 11074 return invalidParams 11075 } 11076 return nil 11077} 11078 11079// SetResourceARN sets the ResourceARN field's value. 11080func (s *UntagResourceInput) SetResourceARN(v string) *UntagResourceInput { 11081 s.ResourceARN = &v 11082 return s 11083} 11084 11085// SetTagKeys sets the TagKeys field's value. 11086func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput { 11087 s.TagKeys = v 11088 return s 11089} 11090 11091type UntagResourceOutput struct { 11092 _ struct{} `type:"structure"` 11093} 11094 11095// String returns the string representation. 11096// 11097// API parameter values that are decorated as "sensitive" in the API will not 11098// be included in the string output. The member name will be present, but the 11099// value will be replaced with "sensitive". 11100func (s UntagResourceOutput) String() string { 11101 return awsutil.Prettify(s) 11102} 11103 11104// GoString returns the string representation. 11105// 11106// API parameter values that are decorated as "sensitive" in the API will not 11107// be included in the string output. The member name will be present, but the 11108// value will be replaced with "sensitive". 11109func (s UntagResourceOutput) GoString() string { 11110 return s.String() 11111} 11112 11113const ( 11114 // AlarmTypeCompositeAlarm is a AlarmType enum value 11115 AlarmTypeCompositeAlarm = "CompositeAlarm" 11116 11117 // AlarmTypeMetricAlarm is a AlarmType enum value 11118 AlarmTypeMetricAlarm = "MetricAlarm" 11119) 11120 11121// AlarmType_Values returns all elements of the AlarmType enum 11122func AlarmType_Values() []string { 11123 return []string{ 11124 AlarmTypeCompositeAlarm, 11125 AlarmTypeMetricAlarm, 11126 } 11127} 11128 11129const ( 11130 // AnomalyDetectorStateValuePendingTraining is a AnomalyDetectorStateValue enum value 11131 AnomalyDetectorStateValuePendingTraining = "PENDING_TRAINING" 11132 11133 // AnomalyDetectorStateValueTrainedInsufficientData is a AnomalyDetectorStateValue enum value 11134 AnomalyDetectorStateValueTrainedInsufficientData = "TRAINED_INSUFFICIENT_DATA" 11135 11136 // AnomalyDetectorStateValueTrained is a AnomalyDetectorStateValue enum value 11137 AnomalyDetectorStateValueTrained = "TRAINED" 11138) 11139 11140// AnomalyDetectorStateValue_Values returns all elements of the AnomalyDetectorStateValue enum 11141func AnomalyDetectorStateValue_Values() []string { 11142 return []string{ 11143 AnomalyDetectorStateValuePendingTraining, 11144 AnomalyDetectorStateValueTrainedInsufficientData, 11145 AnomalyDetectorStateValueTrained, 11146 } 11147} 11148 11149const ( 11150 // ComparisonOperatorGreaterThanOrEqualToThreshold is a ComparisonOperator enum value 11151 ComparisonOperatorGreaterThanOrEqualToThreshold = "GreaterThanOrEqualToThreshold" 11152 11153 // ComparisonOperatorGreaterThanThreshold is a ComparisonOperator enum value 11154 ComparisonOperatorGreaterThanThreshold = "GreaterThanThreshold" 11155 11156 // ComparisonOperatorLessThanThreshold is a ComparisonOperator enum value 11157 ComparisonOperatorLessThanThreshold = "LessThanThreshold" 11158 11159 // ComparisonOperatorLessThanOrEqualToThreshold is a ComparisonOperator enum value 11160 ComparisonOperatorLessThanOrEqualToThreshold = "LessThanOrEqualToThreshold" 11161 11162 // ComparisonOperatorLessThanLowerOrGreaterThanUpperThreshold is a ComparisonOperator enum value 11163 ComparisonOperatorLessThanLowerOrGreaterThanUpperThreshold = "LessThanLowerOrGreaterThanUpperThreshold" 11164 11165 // ComparisonOperatorLessThanLowerThreshold is a ComparisonOperator enum value 11166 ComparisonOperatorLessThanLowerThreshold = "LessThanLowerThreshold" 11167 11168 // ComparisonOperatorGreaterThanUpperThreshold is a ComparisonOperator enum value 11169 ComparisonOperatorGreaterThanUpperThreshold = "GreaterThanUpperThreshold" 11170) 11171 11172// ComparisonOperator_Values returns all elements of the ComparisonOperator enum 11173func ComparisonOperator_Values() []string { 11174 return []string{ 11175 ComparisonOperatorGreaterThanOrEqualToThreshold, 11176 ComparisonOperatorGreaterThanThreshold, 11177 ComparisonOperatorLessThanThreshold, 11178 ComparisonOperatorLessThanOrEqualToThreshold, 11179 ComparisonOperatorLessThanLowerOrGreaterThanUpperThreshold, 11180 ComparisonOperatorLessThanLowerThreshold, 11181 ComparisonOperatorGreaterThanUpperThreshold, 11182 } 11183} 11184 11185const ( 11186 // HistoryItemTypeConfigurationUpdate is a HistoryItemType enum value 11187 HistoryItemTypeConfigurationUpdate = "ConfigurationUpdate" 11188 11189 // HistoryItemTypeStateUpdate is a HistoryItemType enum value 11190 HistoryItemTypeStateUpdate = "StateUpdate" 11191 11192 // HistoryItemTypeAction is a HistoryItemType enum value 11193 HistoryItemTypeAction = "Action" 11194) 11195 11196// HistoryItemType_Values returns all elements of the HistoryItemType enum 11197func HistoryItemType_Values() []string { 11198 return []string{ 11199 HistoryItemTypeConfigurationUpdate, 11200 HistoryItemTypeStateUpdate, 11201 HistoryItemTypeAction, 11202 } 11203} 11204 11205const ( 11206 // MetricStreamOutputFormatJson is a MetricStreamOutputFormat enum value 11207 MetricStreamOutputFormatJson = "json" 11208 11209 // MetricStreamOutputFormatOpentelemetry07 is a MetricStreamOutputFormat enum value 11210 MetricStreamOutputFormatOpentelemetry07 = "opentelemetry0.7" 11211) 11212 11213// MetricStreamOutputFormat_Values returns all elements of the MetricStreamOutputFormat enum 11214func MetricStreamOutputFormat_Values() []string { 11215 return []string{ 11216 MetricStreamOutputFormatJson, 11217 MetricStreamOutputFormatOpentelemetry07, 11218 } 11219} 11220 11221const ( 11222 // RecentlyActivePt3h is a RecentlyActive enum value 11223 RecentlyActivePt3h = "PT3H" 11224) 11225 11226// RecentlyActive_Values returns all elements of the RecentlyActive enum 11227func RecentlyActive_Values() []string { 11228 return []string{ 11229 RecentlyActivePt3h, 11230 } 11231} 11232 11233const ( 11234 // ScanByTimestampDescending is a ScanBy enum value 11235 ScanByTimestampDescending = "TimestampDescending" 11236 11237 // ScanByTimestampAscending is a ScanBy enum value 11238 ScanByTimestampAscending = "TimestampAscending" 11239) 11240 11241// ScanBy_Values returns all elements of the ScanBy enum 11242func ScanBy_Values() []string { 11243 return []string{ 11244 ScanByTimestampDescending, 11245 ScanByTimestampAscending, 11246 } 11247} 11248 11249const ( 11250 // StandardUnitSeconds is a StandardUnit enum value 11251 StandardUnitSeconds = "Seconds" 11252 11253 // StandardUnitMicroseconds is a StandardUnit enum value 11254 StandardUnitMicroseconds = "Microseconds" 11255 11256 // StandardUnitMilliseconds is a StandardUnit enum value 11257 StandardUnitMilliseconds = "Milliseconds" 11258 11259 // StandardUnitBytes is a StandardUnit enum value 11260 StandardUnitBytes = "Bytes" 11261 11262 // StandardUnitKilobytes is a StandardUnit enum value 11263 StandardUnitKilobytes = "Kilobytes" 11264 11265 // StandardUnitMegabytes is a StandardUnit enum value 11266 StandardUnitMegabytes = "Megabytes" 11267 11268 // StandardUnitGigabytes is a StandardUnit enum value 11269 StandardUnitGigabytes = "Gigabytes" 11270 11271 // StandardUnitTerabytes is a StandardUnit enum value 11272 StandardUnitTerabytes = "Terabytes" 11273 11274 // StandardUnitBits is a StandardUnit enum value 11275 StandardUnitBits = "Bits" 11276 11277 // StandardUnitKilobits is a StandardUnit enum value 11278 StandardUnitKilobits = "Kilobits" 11279 11280 // StandardUnitMegabits is a StandardUnit enum value 11281 StandardUnitMegabits = "Megabits" 11282 11283 // StandardUnitGigabits is a StandardUnit enum value 11284 StandardUnitGigabits = "Gigabits" 11285 11286 // StandardUnitTerabits is a StandardUnit enum value 11287 StandardUnitTerabits = "Terabits" 11288 11289 // StandardUnitPercent is a StandardUnit enum value 11290 StandardUnitPercent = "Percent" 11291 11292 // StandardUnitCount is a StandardUnit enum value 11293 StandardUnitCount = "Count" 11294 11295 // StandardUnitBytesSecond is a StandardUnit enum value 11296 StandardUnitBytesSecond = "Bytes/Second" 11297 11298 // StandardUnitKilobytesSecond is a StandardUnit enum value 11299 StandardUnitKilobytesSecond = "Kilobytes/Second" 11300 11301 // StandardUnitMegabytesSecond is a StandardUnit enum value 11302 StandardUnitMegabytesSecond = "Megabytes/Second" 11303 11304 // StandardUnitGigabytesSecond is a StandardUnit enum value 11305 StandardUnitGigabytesSecond = "Gigabytes/Second" 11306 11307 // StandardUnitTerabytesSecond is a StandardUnit enum value 11308 StandardUnitTerabytesSecond = "Terabytes/Second" 11309 11310 // StandardUnitBitsSecond is a StandardUnit enum value 11311 StandardUnitBitsSecond = "Bits/Second" 11312 11313 // StandardUnitKilobitsSecond is a StandardUnit enum value 11314 StandardUnitKilobitsSecond = "Kilobits/Second" 11315 11316 // StandardUnitMegabitsSecond is a StandardUnit enum value 11317 StandardUnitMegabitsSecond = "Megabits/Second" 11318 11319 // StandardUnitGigabitsSecond is a StandardUnit enum value 11320 StandardUnitGigabitsSecond = "Gigabits/Second" 11321 11322 // StandardUnitTerabitsSecond is a StandardUnit enum value 11323 StandardUnitTerabitsSecond = "Terabits/Second" 11324 11325 // StandardUnitCountSecond is a StandardUnit enum value 11326 StandardUnitCountSecond = "Count/Second" 11327 11328 // StandardUnitNone is a StandardUnit enum value 11329 StandardUnitNone = "None" 11330) 11331 11332// StandardUnit_Values returns all elements of the StandardUnit enum 11333func StandardUnit_Values() []string { 11334 return []string{ 11335 StandardUnitSeconds, 11336 StandardUnitMicroseconds, 11337 StandardUnitMilliseconds, 11338 StandardUnitBytes, 11339 StandardUnitKilobytes, 11340 StandardUnitMegabytes, 11341 StandardUnitGigabytes, 11342 StandardUnitTerabytes, 11343 StandardUnitBits, 11344 StandardUnitKilobits, 11345 StandardUnitMegabits, 11346 StandardUnitGigabits, 11347 StandardUnitTerabits, 11348 StandardUnitPercent, 11349 StandardUnitCount, 11350 StandardUnitBytesSecond, 11351 StandardUnitKilobytesSecond, 11352 StandardUnitMegabytesSecond, 11353 StandardUnitGigabytesSecond, 11354 StandardUnitTerabytesSecond, 11355 StandardUnitBitsSecond, 11356 StandardUnitKilobitsSecond, 11357 StandardUnitMegabitsSecond, 11358 StandardUnitGigabitsSecond, 11359 StandardUnitTerabitsSecond, 11360 StandardUnitCountSecond, 11361 StandardUnitNone, 11362 } 11363} 11364 11365const ( 11366 // StateValueOk is a StateValue enum value 11367 StateValueOk = "OK" 11368 11369 // StateValueAlarm is a StateValue enum value 11370 StateValueAlarm = "ALARM" 11371 11372 // StateValueInsufficientData is a StateValue enum value 11373 StateValueInsufficientData = "INSUFFICIENT_DATA" 11374) 11375 11376// StateValue_Values returns all elements of the StateValue enum 11377func StateValue_Values() []string { 11378 return []string{ 11379 StateValueOk, 11380 StateValueAlarm, 11381 StateValueInsufficientData, 11382 } 11383} 11384 11385const ( 11386 // StatisticSampleCount is a Statistic enum value 11387 StatisticSampleCount = "SampleCount" 11388 11389 // StatisticAverage is a Statistic enum value 11390 StatisticAverage = "Average" 11391 11392 // StatisticSum is a Statistic enum value 11393 StatisticSum = "Sum" 11394 11395 // StatisticMinimum is a Statistic enum value 11396 StatisticMinimum = "Minimum" 11397 11398 // StatisticMaximum is a Statistic enum value 11399 StatisticMaximum = "Maximum" 11400) 11401 11402// Statistic_Values returns all elements of the Statistic enum 11403func Statistic_Values() []string { 11404 return []string{ 11405 StatisticSampleCount, 11406 StatisticAverage, 11407 StatisticSum, 11408 StatisticMinimum, 11409 StatisticMaximum, 11410 } 11411} 11412 11413const ( 11414 // StatusCodeComplete is a StatusCode enum value 11415 StatusCodeComplete = "Complete" 11416 11417 // StatusCodeInternalError is a StatusCode enum value 11418 StatusCodeInternalError = "InternalError" 11419 11420 // StatusCodePartialData is a StatusCode enum value 11421 StatusCodePartialData = "PartialData" 11422) 11423 11424// StatusCode_Values returns all elements of the StatusCode enum 11425func StatusCode_Values() []string { 11426 return []string{ 11427 StatusCodeComplete, 11428 StatusCodeInternalError, 11429 StatusCodePartialData, 11430 } 11431} 11432