1// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. 2 3package costexplorer 4 5import ( 6 "fmt" 7 8 "github.com/aws/aws-sdk-go/aws" 9 "github.com/aws/aws-sdk-go/aws/awsutil" 10 "github.com/aws/aws-sdk-go/aws/request" 11 "github.com/aws/aws-sdk-go/private/protocol" 12 "github.com/aws/aws-sdk-go/private/protocol/jsonrpc" 13) 14 15const opCreateAnomalyMonitor = "CreateAnomalyMonitor" 16 17// CreateAnomalyMonitorRequest generates a "aws/request.Request" representing the 18// client's request for the CreateAnomalyMonitor operation. The "output" return 19// value will be populated with the request's response once the request completes 20// successfully. 21// 22// Use "Send" method on the returned Request to send the API call to the service. 23// the "output" return value is not valid until after Send returns without error. 24// 25// See CreateAnomalyMonitor for more information on using the CreateAnomalyMonitor 26// API call, and error handling. 27// 28// This method is useful when you want to inject custom logic or configuration 29// into the SDK's request lifecycle. Such as custom headers, or retry logic. 30// 31// 32// // Example sending a request using the CreateAnomalyMonitorRequest method. 33// req, resp := client.CreateAnomalyMonitorRequest(params) 34// 35// err := req.Send() 36// if err == nil { // resp is now filled 37// fmt.Println(resp) 38// } 39// 40// See also, https://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/CreateAnomalyMonitor 41func (c *CostExplorer) CreateAnomalyMonitorRequest(input *CreateAnomalyMonitorInput) (req *request.Request, output *CreateAnomalyMonitorOutput) { 42 op := &request.Operation{ 43 Name: opCreateAnomalyMonitor, 44 HTTPMethod: "POST", 45 HTTPPath: "/", 46 } 47 48 if input == nil { 49 input = &CreateAnomalyMonitorInput{} 50 } 51 52 output = &CreateAnomalyMonitorOutput{} 53 req = c.newRequest(op, input, output) 54 return 55} 56 57// CreateAnomalyMonitor API operation for AWS Cost Explorer Service. 58// 59// Creates a new cost anomaly detection monitor with the requested type and 60// monitor specification. 61// 62// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 63// with awserr.Error's Code and Message methods to get detailed information about 64// the error. 65// 66// See the AWS API reference guide for AWS Cost Explorer Service's 67// API operation CreateAnomalyMonitor for usage and error information. 68// 69// Returned Error Types: 70// * LimitExceededException 71// You made too many calls in a short period of time. Try again later. 72// 73// See also, https://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/CreateAnomalyMonitor 74func (c *CostExplorer) CreateAnomalyMonitor(input *CreateAnomalyMonitorInput) (*CreateAnomalyMonitorOutput, error) { 75 req, out := c.CreateAnomalyMonitorRequest(input) 76 return out, req.Send() 77} 78 79// CreateAnomalyMonitorWithContext is the same as CreateAnomalyMonitor with the addition of 80// the ability to pass a context and additional request options. 81// 82// See CreateAnomalyMonitor for details on how to use this API operation. 83// 84// The context must be non-nil and will be used for request cancellation. If 85// the context is nil a panic will occur. In the future the SDK may create 86// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 87// for more information on using Contexts. 88func (c *CostExplorer) CreateAnomalyMonitorWithContext(ctx aws.Context, input *CreateAnomalyMonitorInput, opts ...request.Option) (*CreateAnomalyMonitorOutput, error) { 89 req, out := c.CreateAnomalyMonitorRequest(input) 90 req.SetContext(ctx) 91 req.ApplyOptions(opts...) 92 return out, req.Send() 93} 94 95const opCreateAnomalySubscription = "CreateAnomalySubscription" 96 97// CreateAnomalySubscriptionRequest generates a "aws/request.Request" representing the 98// client's request for the CreateAnomalySubscription operation. The "output" return 99// value will be populated with the request's response once the request completes 100// successfully. 101// 102// Use "Send" method on the returned Request to send the API call to the service. 103// the "output" return value is not valid until after Send returns without error. 104// 105// See CreateAnomalySubscription for more information on using the CreateAnomalySubscription 106// API call, and error handling. 107// 108// This method is useful when you want to inject custom logic or configuration 109// into the SDK's request lifecycle. Such as custom headers, or retry logic. 110// 111// 112// // Example sending a request using the CreateAnomalySubscriptionRequest method. 113// req, resp := client.CreateAnomalySubscriptionRequest(params) 114// 115// err := req.Send() 116// if err == nil { // resp is now filled 117// fmt.Println(resp) 118// } 119// 120// See also, https://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/CreateAnomalySubscription 121func (c *CostExplorer) CreateAnomalySubscriptionRequest(input *CreateAnomalySubscriptionInput) (req *request.Request, output *CreateAnomalySubscriptionOutput) { 122 op := &request.Operation{ 123 Name: opCreateAnomalySubscription, 124 HTTPMethod: "POST", 125 HTTPPath: "/", 126 } 127 128 if input == nil { 129 input = &CreateAnomalySubscriptionInput{} 130 } 131 132 output = &CreateAnomalySubscriptionOutput{} 133 req = c.newRequest(op, input, output) 134 return 135} 136 137// CreateAnomalySubscription API operation for AWS Cost Explorer Service. 138// 139// Adds a subscription to a cost anomaly detection monitor. You can use each 140// subscription to define subscribers with email or SNS notifications. Email 141// subscribers can set a dollar threshold and a time frequency for receiving 142// notifications. 143// 144// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 145// with awserr.Error's Code and Message methods to get detailed information about 146// the error. 147// 148// See the AWS API reference guide for AWS Cost Explorer Service's 149// API operation CreateAnomalySubscription for usage and error information. 150// 151// Returned Error Types: 152// * UnknownMonitorException 153// The cost anomaly monitor does not exist for the account. 154// 155// * LimitExceededException 156// You made too many calls in a short period of time. Try again later. 157// 158// See also, https://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/CreateAnomalySubscription 159func (c *CostExplorer) CreateAnomalySubscription(input *CreateAnomalySubscriptionInput) (*CreateAnomalySubscriptionOutput, error) { 160 req, out := c.CreateAnomalySubscriptionRequest(input) 161 return out, req.Send() 162} 163 164// CreateAnomalySubscriptionWithContext is the same as CreateAnomalySubscription with the addition of 165// the ability to pass a context and additional request options. 166// 167// See CreateAnomalySubscription for details on how to use this API operation. 168// 169// The context must be non-nil and will be used for request cancellation. If 170// the context is nil a panic will occur. In the future the SDK may create 171// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 172// for more information on using Contexts. 173func (c *CostExplorer) CreateAnomalySubscriptionWithContext(ctx aws.Context, input *CreateAnomalySubscriptionInput, opts ...request.Option) (*CreateAnomalySubscriptionOutput, error) { 174 req, out := c.CreateAnomalySubscriptionRequest(input) 175 req.SetContext(ctx) 176 req.ApplyOptions(opts...) 177 return out, req.Send() 178} 179 180const opCreateCostCategoryDefinition = "CreateCostCategoryDefinition" 181 182// CreateCostCategoryDefinitionRequest generates a "aws/request.Request" representing the 183// client's request for the CreateCostCategoryDefinition operation. The "output" return 184// value will be populated with the request's response once the request completes 185// successfully. 186// 187// Use "Send" method on the returned Request to send the API call to the service. 188// the "output" return value is not valid until after Send returns without error. 189// 190// See CreateCostCategoryDefinition for more information on using the CreateCostCategoryDefinition 191// API call, and error handling. 192// 193// This method is useful when you want to inject custom logic or configuration 194// into the SDK's request lifecycle. Such as custom headers, or retry logic. 195// 196// 197// // Example sending a request using the CreateCostCategoryDefinitionRequest method. 198// req, resp := client.CreateCostCategoryDefinitionRequest(params) 199// 200// err := req.Send() 201// if err == nil { // resp is now filled 202// fmt.Println(resp) 203// } 204// 205// See also, https://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/CreateCostCategoryDefinition 206func (c *CostExplorer) CreateCostCategoryDefinitionRequest(input *CreateCostCategoryDefinitionInput) (req *request.Request, output *CreateCostCategoryDefinitionOutput) { 207 op := &request.Operation{ 208 Name: opCreateCostCategoryDefinition, 209 HTTPMethod: "POST", 210 HTTPPath: "/", 211 } 212 213 if input == nil { 214 input = &CreateCostCategoryDefinitionInput{} 215 } 216 217 output = &CreateCostCategoryDefinitionOutput{} 218 req = c.newRequest(op, input, output) 219 return 220} 221 222// CreateCostCategoryDefinition API operation for AWS Cost Explorer Service. 223// 224// Creates a new Cost Category with the requested name and rules. 225// 226// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 227// with awserr.Error's Code and Message methods to get detailed information about 228// the error. 229// 230// See the AWS API reference guide for AWS Cost Explorer Service's 231// API operation CreateCostCategoryDefinition for usage and error information. 232// 233// Returned Error Types: 234// * ServiceQuotaExceededException 235// You've reached the limit on the number of resources you can create, or exceeded 236// the size of an individual resource. 237// 238// * LimitExceededException 239// You made too many calls in a short period of time. Try again later. 240// 241// See also, https://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/CreateCostCategoryDefinition 242func (c *CostExplorer) CreateCostCategoryDefinition(input *CreateCostCategoryDefinitionInput) (*CreateCostCategoryDefinitionOutput, error) { 243 req, out := c.CreateCostCategoryDefinitionRequest(input) 244 return out, req.Send() 245} 246 247// CreateCostCategoryDefinitionWithContext is the same as CreateCostCategoryDefinition with the addition of 248// the ability to pass a context and additional request options. 249// 250// See CreateCostCategoryDefinition for details on how to use this API operation. 251// 252// The context must be non-nil and will be used for request cancellation. If 253// the context is nil a panic will occur. In the future the SDK may create 254// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 255// for more information on using Contexts. 256func (c *CostExplorer) CreateCostCategoryDefinitionWithContext(ctx aws.Context, input *CreateCostCategoryDefinitionInput, opts ...request.Option) (*CreateCostCategoryDefinitionOutput, error) { 257 req, out := c.CreateCostCategoryDefinitionRequest(input) 258 req.SetContext(ctx) 259 req.ApplyOptions(opts...) 260 return out, req.Send() 261} 262 263const opDeleteAnomalyMonitor = "DeleteAnomalyMonitor" 264 265// DeleteAnomalyMonitorRequest generates a "aws/request.Request" representing the 266// client's request for the DeleteAnomalyMonitor operation. The "output" return 267// value will be populated with the request's response once the request completes 268// successfully. 269// 270// Use "Send" method on the returned Request to send the API call to the service. 271// the "output" return value is not valid until after Send returns without error. 272// 273// See DeleteAnomalyMonitor for more information on using the DeleteAnomalyMonitor 274// API call, and error handling. 275// 276// This method is useful when you want to inject custom logic or configuration 277// into the SDK's request lifecycle. Such as custom headers, or retry logic. 278// 279// 280// // Example sending a request using the DeleteAnomalyMonitorRequest method. 281// req, resp := client.DeleteAnomalyMonitorRequest(params) 282// 283// err := req.Send() 284// if err == nil { // resp is now filled 285// fmt.Println(resp) 286// } 287// 288// See also, https://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/DeleteAnomalyMonitor 289func (c *CostExplorer) DeleteAnomalyMonitorRequest(input *DeleteAnomalyMonitorInput) (req *request.Request, output *DeleteAnomalyMonitorOutput) { 290 op := &request.Operation{ 291 Name: opDeleteAnomalyMonitor, 292 HTTPMethod: "POST", 293 HTTPPath: "/", 294 } 295 296 if input == nil { 297 input = &DeleteAnomalyMonitorInput{} 298 } 299 300 output = &DeleteAnomalyMonitorOutput{} 301 req = c.newRequest(op, input, output) 302 req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 303 return 304} 305 306// DeleteAnomalyMonitor API operation for AWS Cost Explorer Service. 307// 308// Deletes a cost anomaly monitor. 309// 310// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 311// with awserr.Error's Code and Message methods to get detailed information about 312// the error. 313// 314// See the AWS API reference guide for AWS Cost Explorer Service's 315// API operation DeleteAnomalyMonitor for usage and error information. 316// 317// Returned Error Types: 318// * LimitExceededException 319// You made too many calls in a short period of time. Try again later. 320// 321// * UnknownMonitorException 322// The cost anomaly monitor does not exist for the account. 323// 324// See also, https://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/DeleteAnomalyMonitor 325func (c *CostExplorer) DeleteAnomalyMonitor(input *DeleteAnomalyMonitorInput) (*DeleteAnomalyMonitorOutput, error) { 326 req, out := c.DeleteAnomalyMonitorRequest(input) 327 return out, req.Send() 328} 329 330// DeleteAnomalyMonitorWithContext is the same as DeleteAnomalyMonitor with the addition of 331// the ability to pass a context and additional request options. 332// 333// See DeleteAnomalyMonitor for details on how to use this API operation. 334// 335// The context must be non-nil and will be used for request cancellation. If 336// the context is nil a panic will occur. In the future the SDK may create 337// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 338// for more information on using Contexts. 339func (c *CostExplorer) DeleteAnomalyMonitorWithContext(ctx aws.Context, input *DeleteAnomalyMonitorInput, opts ...request.Option) (*DeleteAnomalyMonitorOutput, error) { 340 req, out := c.DeleteAnomalyMonitorRequest(input) 341 req.SetContext(ctx) 342 req.ApplyOptions(opts...) 343 return out, req.Send() 344} 345 346const opDeleteAnomalySubscription = "DeleteAnomalySubscription" 347 348// DeleteAnomalySubscriptionRequest generates a "aws/request.Request" representing the 349// client's request for the DeleteAnomalySubscription operation. The "output" return 350// value will be populated with the request's response once the request completes 351// successfully. 352// 353// Use "Send" method on the returned Request to send the API call to the service. 354// the "output" return value is not valid until after Send returns without error. 355// 356// See DeleteAnomalySubscription for more information on using the DeleteAnomalySubscription 357// API call, and error handling. 358// 359// This method is useful when you want to inject custom logic or configuration 360// into the SDK's request lifecycle. Such as custom headers, or retry logic. 361// 362// 363// // Example sending a request using the DeleteAnomalySubscriptionRequest method. 364// req, resp := client.DeleteAnomalySubscriptionRequest(params) 365// 366// err := req.Send() 367// if err == nil { // resp is now filled 368// fmt.Println(resp) 369// } 370// 371// See also, https://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/DeleteAnomalySubscription 372func (c *CostExplorer) DeleteAnomalySubscriptionRequest(input *DeleteAnomalySubscriptionInput) (req *request.Request, output *DeleteAnomalySubscriptionOutput) { 373 op := &request.Operation{ 374 Name: opDeleteAnomalySubscription, 375 HTTPMethod: "POST", 376 HTTPPath: "/", 377 } 378 379 if input == nil { 380 input = &DeleteAnomalySubscriptionInput{} 381 } 382 383 output = &DeleteAnomalySubscriptionOutput{} 384 req = c.newRequest(op, input, output) 385 req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 386 return 387} 388 389// DeleteAnomalySubscription API operation for AWS Cost Explorer Service. 390// 391// Deletes a cost anomaly subscription. 392// 393// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 394// with awserr.Error's Code and Message methods to get detailed information about 395// the error. 396// 397// See the AWS API reference guide for AWS Cost Explorer Service's 398// API operation DeleteAnomalySubscription for usage and error information. 399// 400// Returned Error Types: 401// * LimitExceededException 402// You made too many calls in a short period of time. Try again later. 403// 404// * UnknownSubscriptionException 405// The cost anomaly subscription does not exist for the account. 406// 407// See also, https://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/DeleteAnomalySubscription 408func (c *CostExplorer) DeleteAnomalySubscription(input *DeleteAnomalySubscriptionInput) (*DeleteAnomalySubscriptionOutput, error) { 409 req, out := c.DeleteAnomalySubscriptionRequest(input) 410 return out, req.Send() 411} 412 413// DeleteAnomalySubscriptionWithContext is the same as DeleteAnomalySubscription with the addition of 414// the ability to pass a context and additional request options. 415// 416// See DeleteAnomalySubscription for details on how to use this API operation. 417// 418// The context must be non-nil and will be used for request cancellation. If 419// the context is nil a panic will occur. In the future the SDK may create 420// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 421// for more information on using Contexts. 422func (c *CostExplorer) DeleteAnomalySubscriptionWithContext(ctx aws.Context, input *DeleteAnomalySubscriptionInput, opts ...request.Option) (*DeleteAnomalySubscriptionOutput, error) { 423 req, out := c.DeleteAnomalySubscriptionRequest(input) 424 req.SetContext(ctx) 425 req.ApplyOptions(opts...) 426 return out, req.Send() 427} 428 429const opDeleteCostCategoryDefinition = "DeleteCostCategoryDefinition" 430 431// DeleteCostCategoryDefinitionRequest generates a "aws/request.Request" representing the 432// client's request for the DeleteCostCategoryDefinition operation. The "output" return 433// value will be populated with the request's response once the request completes 434// successfully. 435// 436// Use "Send" method on the returned Request to send the API call to the service. 437// the "output" return value is not valid until after Send returns without error. 438// 439// See DeleteCostCategoryDefinition for more information on using the DeleteCostCategoryDefinition 440// API call, and error handling. 441// 442// This method is useful when you want to inject custom logic or configuration 443// into the SDK's request lifecycle. Such as custom headers, or retry logic. 444// 445// 446// // Example sending a request using the DeleteCostCategoryDefinitionRequest method. 447// req, resp := client.DeleteCostCategoryDefinitionRequest(params) 448// 449// err := req.Send() 450// if err == nil { // resp is now filled 451// fmt.Println(resp) 452// } 453// 454// See also, https://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/DeleteCostCategoryDefinition 455func (c *CostExplorer) DeleteCostCategoryDefinitionRequest(input *DeleteCostCategoryDefinitionInput) (req *request.Request, output *DeleteCostCategoryDefinitionOutput) { 456 op := &request.Operation{ 457 Name: opDeleteCostCategoryDefinition, 458 HTTPMethod: "POST", 459 HTTPPath: "/", 460 } 461 462 if input == nil { 463 input = &DeleteCostCategoryDefinitionInput{} 464 } 465 466 output = &DeleteCostCategoryDefinitionOutput{} 467 req = c.newRequest(op, input, output) 468 return 469} 470 471// DeleteCostCategoryDefinition API operation for AWS Cost Explorer Service. 472// 473// Deletes a Cost Category. Expenses from this month going forward will no longer 474// be categorized with this Cost Category. 475// 476// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 477// with awserr.Error's Code and Message methods to get detailed information about 478// the error. 479// 480// See the AWS API reference guide for AWS Cost Explorer Service's 481// API operation DeleteCostCategoryDefinition for usage and error information. 482// 483// Returned Error Types: 484// * ResourceNotFoundException 485// The specified ARN in the request doesn't exist. 486// 487// * LimitExceededException 488// You made too many calls in a short period of time. Try again later. 489// 490// See also, https://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/DeleteCostCategoryDefinition 491func (c *CostExplorer) DeleteCostCategoryDefinition(input *DeleteCostCategoryDefinitionInput) (*DeleteCostCategoryDefinitionOutput, error) { 492 req, out := c.DeleteCostCategoryDefinitionRequest(input) 493 return out, req.Send() 494} 495 496// DeleteCostCategoryDefinitionWithContext is the same as DeleteCostCategoryDefinition with the addition of 497// the ability to pass a context and additional request options. 498// 499// See DeleteCostCategoryDefinition for details on how to use this API operation. 500// 501// The context must be non-nil and will be used for request cancellation. If 502// the context is nil a panic will occur. In the future the SDK may create 503// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 504// for more information on using Contexts. 505func (c *CostExplorer) DeleteCostCategoryDefinitionWithContext(ctx aws.Context, input *DeleteCostCategoryDefinitionInput, opts ...request.Option) (*DeleteCostCategoryDefinitionOutput, error) { 506 req, out := c.DeleteCostCategoryDefinitionRequest(input) 507 req.SetContext(ctx) 508 req.ApplyOptions(opts...) 509 return out, req.Send() 510} 511 512const opDescribeCostCategoryDefinition = "DescribeCostCategoryDefinition" 513 514// DescribeCostCategoryDefinitionRequest generates a "aws/request.Request" representing the 515// client's request for the DescribeCostCategoryDefinition operation. The "output" return 516// value will be populated with the request's response once the request completes 517// successfully. 518// 519// Use "Send" method on the returned Request to send the API call to the service. 520// the "output" return value is not valid until after Send returns without error. 521// 522// See DescribeCostCategoryDefinition for more information on using the DescribeCostCategoryDefinition 523// API call, and error handling. 524// 525// This method is useful when you want to inject custom logic or configuration 526// into the SDK's request lifecycle. Such as custom headers, or retry logic. 527// 528// 529// // Example sending a request using the DescribeCostCategoryDefinitionRequest method. 530// req, resp := client.DescribeCostCategoryDefinitionRequest(params) 531// 532// err := req.Send() 533// if err == nil { // resp is now filled 534// fmt.Println(resp) 535// } 536// 537// See also, https://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/DescribeCostCategoryDefinition 538func (c *CostExplorer) DescribeCostCategoryDefinitionRequest(input *DescribeCostCategoryDefinitionInput) (req *request.Request, output *DescribeCostCategoryDefinitionOutput) { 539 op := &request.Operation{ 540 Name: opDescribeCostCategoryDefinition, 541 HTTPMethod: "POST", 542 HTTPPath: "/", 543 } 544 545 if input == nil { 546 input = &DescribeCostCategoryDefinitionInput{} 547 } 548 549 output = &DescribeCostCategoryDefinitionOutput{} 550 req = c.newRequest(op, input, output) 551 return 552} 553 554// DescribeCostCategoryDefinition API operation for AWS Cost Explorer Service. 555// 556// Returns the name, ARN, rules, definition, and effective dates of a Cost Category 557// that's defined in the account. 558// 559// You have the option to use EffectiveOn to return a Cost Category that is 560// active on a specific date. If there is no EffectiveOn specified, you’ll 561// see a Cost Category that is effective on the current date. If Cost Category 562// is still effective, EffectiveEnd is omitted in the response. 563// 564// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 565// with awserr.Error's Code and Message methods to get detailed information about 566// the error. 567// 568// See the AWS API reference guide for AWS Cost Explorer Service's 569// API operation DescribeCostCategoryDefinition for usage and error information. 570// 571// Returned Error Types: 572// * ResourceNotFoundException 573// The specified ARN in the request doesn't exist. 574// 575// * LimitExceededException 576// You made too many calls in a short period of time. Try again later. 577// 578// See also, https://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/DescribeCostCategoryDefinition 579func (c *CostExplorer) DescribeCostCategoryDefinition(input *DescribeCostCategoryDefinitionInput) (*DescribeCostCategoryDefinitionOutput, error) { 580 req, out := c.DescribeCostCategoryDefinitionRequest(input) 581 return out, req.Send() 582} 583 584// DescribeCostCategoryDefinitionWithContext is the same as DescribeCostCategoryDefinition with the addition of 585// the ability to pass a context and additional request options. 586// 587// See DescribeCostCategoryDefinition for details on how to use this API operation. 588// 589// The context must be non-nil and will be used for request cancellation. If 590// the context is nil a panic will occur. In the future the SDK may create 591// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 592// for more information on using Contexts. 593func (c *CostExplorer) DescribeCostCategoryDefinitionWithContext(ctx aws.Context, input *DescribeCostCategoryDefinitionInput, opts ...request.Option) (*DescribeCostCategoryDefinitionOutput, error) { 594 req, out := c.DescribeCostCategoryDefinitionRequest(input) 595 req.SetContext(ctx) 596 req.ApplyOptions(opts...) 597 return out, req.Send() 598} 599 600const opGetAnomalies = "GetAnomalies" 601 602// GetAnomaliesRequest generates a "aws/request.Request" representing the 603// client's request for the GetAnomalies operation. The "output" return 604// value will be populated with the request's response once the request completes 605// successfully. 606// 607// Use "Send" method on the returned Request to send the API call to the service. 608// the "output" return value is not valid until after Send returns without error. 609// 610// See GetAnomalies for more information on using the GetAnomalies 611// API call, and error handling. 612// 613// This method is useful when you want to inject custom logic or configuration 614// into the SDK's request lifecycle. Such as custom headers, or retry logic. 615// 616// 617// // Example sending a request using the GetAnomaliesRequest method. 618// req, resp := client.GetAnomaliesRequest(params) 619// 620// err := req.Send() 621// if err == nil { // resp is now filled 622// fmt.Println(resp) 623// } 624// 625// See also, https://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/GetAnomalies 626func (c *CostExplorer) GetAnomaliesRequest(input *GetAnomaliesInput) (req *request.Request, output *GetAnomaliesOutput) { 627 op := &request.Operation{ 628 Name: opGetAnomalies, 629 HTTPMethod: "POST", 630 HTTPPath: "/", 631 } 632 633 if input == nil { 634 input = &GetAnomaliesInput{} 635 } 636 637 output = &GetAnomaliesOutput{} 638 req = c.newRequest(op, input, output) 639 return 640} 641 642// GetAnomalies API operation for AWS Cost Explorer Service. 643// 644// Retrieves all of the cost anomalies detected on your account during the time 645// period that's specified by the DateInterval object. 646// 647// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 648// with awserr.Error's Code and Message methods to get detailed information about 649// the error. 650// 651// See the AWS API reference guide for AWS Cost Explorer Service's 652// API operation GetAnomalies for usage and error information. 653// 654// Returned Error Types: 655// * LimitExceededException 656// You made too many calls in a short period of time. Try again later. 657// 658// * InvalidNextTokenException 659// The pagination token is invalid. Try again without a pagination token. 660// 661// See also, https://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/GetAnomalies 662func (c *CostExplorer) GetAnomalies(input *GetAnomaliesInput) (*GetAnomaliesOutput, error) { 663 req, out := c.GetAnomaliesRequest(input) 664 return out, req.Send() 665} 666 667// GetAnomaliesWithContext is the same as GetAnomalies with the addition of 668// the ability to pass a context and additional request options. 669// 670// See GetAnomalies for details on how to use this API operation. 671// 672// The context must be non-nil and will be used for request cancellation. If 673// the context is nil a panic will occur. In the future the SDK may create 674// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 675// for more information on using Contexts. 676func (c *CostExplorer) GetAnomaliesWithContext(ctx aws.Context, input *GetAnomaliesInput, opts ...request.Option) (*GetAnomaliesOutput, error) { 677 req, out := c.GetAnomaliesRequest(input) 678 req.SetContext(ctx) 679 req.ApplyOptions(opts...) 680 return out, req.Send() 681} 682 683const opGetAnomalyMonitors = "GetAnomalyMonitors" 684 685// GetAnomalyMonitorsRequest generates a "aws/request.Request" representing the 686// client's request for the GetAnomalyMonitors operation. The "output" return 687// value will be populated with the request's response once the request completes 688// successfully. 689// 690// Use "Send" method on the returned Request to send the API call to the service. 691// the "output" return value is not valid until after Send returns without error. 692// 693// See GetAnomalyMonitors for more information on using the GetAnomalyMonitors 694// API call, and error handling. 695// 696// This method is useful when you want to inject custom logic or configuration 697// into the SDK's request lifecycle. Such as custom headers, or retry logic. 698// 699// 700// // Example sending a request using the GetAnomalyMonitorsRequest method. 701// req, resp := client.GetAnomalyMonitorsRequest(params) 702// 703// err := req.Send() 704// if err == nil { // resp is now filled 705// fmt.Println(resp) 706// } 707// 708// See also, https://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/GetAnomalyMonitors 709func (c *CostExplorer) GetAnomalyMonitorsRequest(input *GetAnomalyMonitorsInput) (req *request.Request, output *GetAnomalyMonitorsOutput) { 710 op := &request.Operation{ 711 Name: opGetAnomalyMonitors, 712 HTTPMethod: "POST", 713 HTTPPath: "/", 714 } 715 716 if input == nil { 717 input = &GetAnomalyMonitorsInput{} 718 } 719 720 output = &GetAnomalyMonitorsOutput{} 721 req = c.newRequest(op, input, output) 722 return 723} 724 725// GetAnomalyMonitors API operation for AWS Cost Explorer Service. 726// 727// Retrieves the cost anomaly monitor definitions for your account. You can 728// filter using a list of cost anomaly monitor Amazon Resource Names (ARNs). 729// 730// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 731// with awserr.Error's Code and Message methods to get detailed information about 732// the error. 733// 734// See the AWS API reference guide for AWS Cost Explorer Service's 735// API operation GetAnomalyMonitors for usage and error information. 736// 737// Returned Error Types: 738// * LimitExceededException 739// You made too many calls in a short period of time. Try again later. 740// 741// * UnknownMonitorException 742// The cost anomaly monitor does not exist for the account. 743// 744// * InvalidNextTokenException 745// The pagination token is invalid. Try again without a pagination token. 746// 747// See also, https://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/GetAnomalyMonitors 748func (c *CostExplorer) GetAnomalyMonitors(input *GetAnomalyMonitorsInput) (*GetAnomalyMonitorsOutput, error) { 749 req, out := c.GetAnomalyMonitorsRequest(input) 750 return out, req.Send() 751} 752 753// GetAnomalyMonitorsWithContext is the same as GetAnomalyMonitors with the addition of 754// the ability to pass a context and additional request options. 755// 756// See GetAnomalyMonitors for details on how to use this API operation. 757// 758// The context must be non-nil and will be used for request cancellation. If 759// the context is nil a panic will occur. In the future the SDK may create 760// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 761// for more information on using Contexts. 762func (c *CostExplorer) GetAnomalyMonitorsWithContext(ctx aws.Context, input *GetAnomalyMonitorsInput, opts ...request.Option) (*GetAnomalyMonitorsOutput, error) { 763 req, out := c.GetAnomalyMonitorsRequest(input) 764 req.SetContext(ctx) 765 req.ApplyOptions(opts...) 766 return out, req.Send() 767} 768 769const opGetAnomalySubscriptions = "GetAnomalySubscriptions" 770 771// GetAnomalySubscriptionsRequest generates a "aws/request.Request" representing the 772// client's request for the GetAnomalySubscriptions operation. The "output" return 773// value will be populated with the request's response once the request completes 774// successfully. 775// 776// Use "Send" method on the returned Request to send the API call to the service. 777// the "output" return value is not valid until after Send returns without error. 778// 779// See GetAnomalySubscriptions for more information on using the GetAnomalySubscriptions 780// API call, and error handling. 781// 782// This method is useful when you want to inject custom logic or configuration 783// into the SDK's request lifecycle. Such as custom headers, or retry logic. 784// 785// 786// // Example sending a request using the GetAnomalySubscriptionsRequest method. 787// req, resp := client.GetAnomalySubscriptionsRequest(params) 788// 789// err := req.Send() 790// if err == nil { // resp is now filled 791// fmt.Println(resp) 792// } 793// 794// See also, https://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/GetAnomalySubscriptions 795func (c *CostExplorer) GetAnomalySubscriptionsRequest(input *GetAnomalySubscriptionsInput) (req *request.Request, output *GetAnomalySubscriptionsOutput) { 796 op := &request.Operation{ 797 Name: opGetAnomalySubscriptions, 798 HTTPMethod: "POST", 799 HTTPPath: "/", 800 } 801 802 if input == nil { 803 input = &GetAnomalySubscriptionsInput{} 804 } 805 806 output = &GetAnomalySubscriptionsOutput{} 807 req = c.newRequest(op, input, output) 808 return 809} 810 811// GetAnomalySubscriptions API operation for AWS Cost Explorer Service. 812// 813// Retrieves the cost anomaly subscription objects for your account. You can 814// filter using a list of cost anomaly monitor Amazon Resource Names (ARNs). 815// 816// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 817// with awserr.Error's Code and Message methods to get detailed information about 818// the error. 819// 820// See the AWS API reference guide for AWS Cost Explorer Service's 821// API operation GetAnomalySubscriptions for usage and error information. 822// 823// Returned Error Types: 824// * LimitExceededException 825// You made too many calls in a short period of time. Try again later. 826// 827// * UnknownSubscriptionException 828// The cost anomaly subscription does not exist for the account. 829// 830// * InvalidNextTokenException 831// The pagination token is invalid. Try again without a pagination token. 832// 833// See also, https://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/GetAnomalySubscriptions 834func (c *CostExplorer) GetAnomalySubscriptions(input *GetAnomalySubscriptionsInput) (*GetAnomalySubscriptionsOutput, error) { 835 req, out := c.GetAnomalySubscriptionsRequest(input) 836 return out, req.Send() 837} 838 839// GetAnomalySubscriptionsWithContext is the same as GetAnomalySubscriptions with the addition of 840// the ability to pass a context and additional request options. 841// 842// See GetAnomalySubscriptions for details on how to use this API operation. 843// 844// The context must be non-nil and will be used for request cancellation. If 845// the context is nil a panic will occur. In the future the SDK may create 846// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 847// for more information on using Contexts. 848func (c *CostExplorer) GetAnomalySubscriptionsWithContext(ctx aws.Context, input *GetAnomalySubscriptionsInput, opts ...request.Option) (*GetAnomalySubscriptionsOutput, error) { 849 req, out := c.GetAnomalySubscriptionsRequest(input) 850 req.SetContext(ctx) 851 req.ApplyOptions(opts...) 852 return out, req.Send() 853} 854 855const opGetCostAndUsage = "GetCostAndUsage" 856 857// GetCostAndUsageRequest generates a "aws/request.Request" representing the 858// client's request for the GetCostAndUsage operation. The "output" return 859// value will be populated with the request's response once the request completes 860// successfully. 861// 862// Use "Send" method on the returned Request to send the API call to the service. 863// the "output" return value is not valid until after Send returns without error. 864// 865// See GetCostAndUsage for more information on using the GetCostAndUsage 866// API call, and error handling. 867// 868// This method is useful when you want to inject custom logic or configuration 869// into the SDK's request lifecycle. Such as custom headers, or retry logic. 870// 871// 872// // Example sending a request using the GetCostAndUsageRequest method. 873// req, resp := client.GetCostAndUsageRequest(params) 874// 875// err := req.Send() 876// if err == nil { // resp is now filled 877// fmt.Println(resp) 878// } 879// 880// See also, https://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/GetCostAndUsage 881func (c *CostExplorer) GetCostAndUsageRequest(input *GetCostAndUsageInput) (req *request.Request, output *GetCostAndUsageOutput) { 882 op := &request.Operation{ 883 Name: opGetCostAndUsage, 884 HTTPMethod: "POST", 885 HTTPPath: "/", 886 } 887 888 if input == nil { 889 input = &GetCostAndUsageInput{} 890 } 891 892 output = &GetCostAndUsageOutput{} 893 req = c.newRequest(op, input, output) 894 return 895} 896 897// GetCostAndUsage API operation for AWS Cost Explorer Service. 898// 899// Retrieves cost and usage metrics for your account. You can specify which 900// cost and usage-related metric that you want the request to return. For example, 901// you can specify BlendedCosts or UsageQuantity. You can also filter and group 902// your data by various dimensions, such as SERVICE or AZ, in a specific time 903// range. For a complete list of valid dimensions, see the GetDimensionValues 904// (https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_GetDimensionValues.html) 905// operation. Management account in an organization in Organizations have access 906// to all member accounts. 907// 908// For information about filter limitations, see Quotas and restrictions (https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/billing-limits.html) 909// in the Billing and Cost Management User Guide. 910// 911// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 912// with awserr.Error's Code and Message methods to get detailed information about 913// the error. 914// 915// See the AWS API reference guide for AWS Cost Explorer Service's 916// API operation GetCostAndUsage for usage and error information. 917// 918// Returned Error Types: 919// * LimitExceededException 920// You made too many calls in a short period of time. Try again later. 921// 922// * BillExpirationException 923// The requested report expired. Update the date interval and try again. 924// 925// * DataUnavailableException 926// The requested data is unavailable. 927// 928// * InvalidNextTokenException 929// The pagination token is invalid. Try again without a pagination token. 930// 931// * RequestChangedException 932// Your request parameters changed between pages. Try again with the old parameters 933// or without a pagination token. 934// 935// See also, https://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/GetCostAndUsage 936func (c *CostExplorer) GetCostAndUsage(input *GetCostAndUsageInput) (*GetCostAndUsageOutput, error) { 937 req, out := c.GetCostAndUsageRequest(input) 938 return out, req.Send() 939} 940 941// GetCostAndUsageWithContext is the same as GetCostAndUsage with the addition of 942// the ability to pass a context and additional request options. 943// 944// See GetCostAndUsage for details on how to use this API operation. 945// 946// The context must be non-nil and will be used for request cancellation. If 947// the context is nil a panic will occur. In the future the SDK may create 948// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 949// for more information on using Contexts. 950func (c *CostExplorer) GetCostAndUsageWithContext(ctx aws.Context, input *GetCostAndUsageInput, opts ...request.Option) (*GetCostAndUsageOutput, error) { 951 req, out := c.GetCostAndUsageRequest(input) 952 req.SetContext(ctx) 953 req.ApplyOptions(opts...) 954 return out, req.Send() 955} 956 957const opGetCostAndUsageWithResources = "GetCostAndUsageWithResources" 958 959// GetCostAndUsageWithResourcesRequest generates a "aws/request.Request" representing the 960// client's request for the GetCostAndUsageWithResources operation. The "output" return 961// value will be populated with the request's response once the request completes 962// successfully. 963// 964// Use "Send" method on the returned Request to send the API call to the service. 965// the "output" return value is not valid until after Send returns without error. 966// 967// See GetCostAndUsageWithResources for more information on using the GetCostAndUsageWithResources 968// API call, and error handling. 969// 970// This method is useful when you want to inject custom logic or configuration 971// into the SDK's request lifecycle. Such as custom headers, or retry logic. 972// 973// 974// // Example sending a request using the GetCostAndUsageWithResourcesRequest method. 975// req, resp := client.GetCostAndUsageWithResourcesRequest(params) 976// 977// err := req.Send() 978// if err == nil { // resp is now filled 979// fmt.Println(resp) 980// } 981// 982// See also, https://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/GetCostAndUsageWithResources 983func (c *CostExplorer) GetCostAndUsageWithResourcesRequest(input *GetCostAndUsageWithResourcesInput) (req *request.Request, output *GetCostAndUsageWithResourcesOutput) { 984 op := &request.Operation{ 985 Name: opGetCostAndUsageWithResources, 986 HTTPMethod: "POST", 987 HTTPPath: "/", 988 } 989 990 if input == nil { 991 input = &GetCostAndUsageWithResourcesInput{} 992 } 993 994 output = &GetCostAndUsageWithResourcesOutput{} 995 req = c.newRequest(op, input, output) 996 return 997} 998 999// GetCostAndUsageWithResources API operation for AWS Cost Explorer Service. 1000// 1001// Retrieves cost and usage metrics with resources for your account. You can 1002// specify which cost and usage-related metric, such as BlendedCosts or UsageQuantity, 1003// that you want the request to return. You can also filter and group your data 1004// by various dimensions, such as SERVICE or AZ, in a specific time range. For 1005// a complete list of valid dimensions, see the GetDimensionValues (https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_GetDimensionValues.html) 1006// operation. Management account in an organization in Organizations have access 1007// to all member accounts. This API is currently available for the Amazon Elastic 1008// Compute Cloud – Compute service only. 1009// 1010// This is an opt-in only feature. You can enable this feature from the Cost 1011// Explorer Settings page. For information on how to access the Settings page, 1012// see Controlling Access for Cost Explorer (https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/ce-access.html) 1013// in the Billing and Cost Management User Guide. 1014// 1015// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1016// with awserr.Error's Code and Message methods to get detailed information about 1017// the error. 1018// 1019// See the AWS API reference guide for AWS Cost Explorer Service's 1020// API operation GetCostAndUsageWithResources for usage and error information. 1021// 1022// Returned Error Types: 1023// * DataUnavailableException 1024// The requested data is unavailable. 1025// 1026// * LimitExceededException 1027// You made too many calls in a short period of time. Try again later. 1028// 1029// * BillExpirationException 1030// The requested report expired. Update the date interval and try again. 1031// 1032// * InvalidNextTokenException 1033// The pagination token is invalid. Try again without a pagination token. 1034// 1035// * RequestChangedException 1036// Your request parameters changed between pages. Try again with the old parameters 1037// or without a pagination token. 1038// 1039// See also, https://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/GetCostAndUsageWithResources 1040func (c *CostExplorer) GetCostAndUsageWithResources(input *GetCostAndUsageWithResourcesInput) (*GetCostAndUsageWithResourcesOutput, error) { 1041 req, out := c.GetCostAndUsageWithResourcesRequest(input) 1042 return out, req.Send() 1043} 1044 1045// GetCostAndUsageWithResourcesWithContext is the same as GetCostAndUsageWithResources with the addition of 1046// the ability to pass a context and additional request options. 1047// 1048// See GetCostAndUsageWithResources for details on how to use this API operation. 1049// 1050// The context must be non-nil and will be used for request cancellation. If 1051// the context is nil a panic will occur. In the future the SDK may create 1052// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1053// for more information on using Contexts. 1054func (c *CostExplorer) GetCostAndUsageWithResourcesWithContext(ctx aws.Context, input *GetCostAndUsageWithResourcesInput, opts ...request.Option) (*GetCostAndUsageWithResourcesOutput, error) { 1055 req, out := c.GetCostAndUsageWithResourcesRequest(input) 1056 req.SetContext(ctx) 1057 req.ApplyOptions(opts...) 1058 return out, req.Send() 1059} 1060 1061const opGetCostCategories = "GetCostCategories" 1062 1063// GetCostCategoriesRequest generates a "aws/request.Request" representing the 1064// client's request for the GetCostCategories operation. The "output" return 1065// value will be populated with the request's response once the request completes 1066// successfully. 1067// 1068// Use "Send" method on the returned Request to send the API call to the service. 1069// the "output" return value is not valid until after Send returns without error. 1070// 1071// See GetCostCategories for more information on using the GetCostCategories 1072// API call, and error handling. 1073// 1074// This method is useful when you want to inject custom logic or configuration 1075// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1076// 1077// 1078// // Example sending a request using the GetCostCategoriesRequest method. 1079// req, resp := client.GetCostCategoriesRequest(params) 1080// 1081// err := req.Send() 1082// if err == nil { // resp is now filled 1083// fmt.Println(resp) 1084// } 1085// 1086// See also, https://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/GetCostCategories 1087func (c *CostExplorer) GetCostCategoriesRequest(input *GetCostCategoriesInput) (req *request.Request, output *GetCostCategoriesOutput) { 1088 op := &request.Operation{ 1089 Name: opGetCostCategories, 1090 HTTPMethod: "POST", 1091 HTTPPath: "/", 1092 } 1093 1094 if input == nil { 1095 input = &GetCostCategoriesInput{} 1096 } 1097 1098 output = &GetCostCategoriesOutput{} 1099 req = c.newRequest(op, input, output) 1100 return 1101} 1102 1103// GetCostCategories API operation for AWS Cost Explorer Service. 1104// 1105// Retrieves an array of Cost Category names and values incurred cost. 1106// 1107// If some Cost Category names and values are not associated with any cost, 1108// they will not be returned by this API. 1109// 1110// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1111// with awserr.Error's Code and Message methods to get detailed information about 1112// the error. 1113// 1114// See the AWS API reference guide for AWS Cost Explorer Service's 1115// API operation GetCostCategories for usage and error information. 1116// 1117// Returned Error Types: 1118// * LimitExceededException 1119// You made too many calls in a short period of time. Try again later. 1120// 1121// * BillExpirationException 1122// The requested report expired. Update the date interval and try again. 1123// 1124// * DataUnavailableException 1125// The requested data is unavailable. 1126// 1127// * InvalidNextTokenException 1128// The pagination token is invalid. Try again without a pagination token. 1129// 1130// * RequestChangedException 1131// Your request parameters changed between pages. Try again with the old parameters 1132// or without a pagination token. 1133// 1134// See also, https://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/GetCostCategories 1135func (c *CostExplorer) GetCostCategories(input *GetCostCategoriesInput) (*GetCostCategoriesOutput, error) { 1136 req, out := c.GetCostCategoriesRequest(input) 1137 return out, req.Send() 1138} 1139 1140// GetCostCategoriesWithContext is the same as GetCostCategories with the addition of 1141// the ability to pass a context and additional request options. 1142// 1143// See GetCostCategories for details on how to use this API operation. 1144// 1145// The context must be non-nil and will be used for request cancellation. If 1146// the context is nil a panic will occur. In the future the SDK may create 1147// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1148// for more information on using Contexts. 1149func (c *CostExplorer) GetCostCategoriesWithContext(ctx aws.Context, input *GetCostCategoriesInput, opts ...request.Option) (*GetCostCategoriesOutput, error) { 1150 req, out := c.GetCostCategoriesRequest(input) 1151 req.SetContext(ctx) 1152 req.ApplyOptions(opts...) 1153 return out, req.Send() 1154} 1155 1156const opGetCostForecast = "GetCostForecast" 1157 1158// GetCostForecastRequest generates a "aws/request.Request" representing the 1159// client's request for the GetCostForecast operation. The "output" return 1160// value will be populated with the request's response once the request completes 1161// successfully. 1162// 1163// Use "Send" method on the returned Request to send the API call to the service. 1164// the "output" return value is not valid until after Send returns without error. 1165// 1166// See GetCostForecast for more information on using the GetCostForecast 1167// API call, and error handling. 1168// 1169// This method is useful when you want to inject custom logic or configuration 1170// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1171// 1172// 1173// // Example sending a request using the GetCostForecastRequest method. 1174// req, resp := client.GetCostForecastRequest(params) 1175// 1176// err := req.Send() 1177// if err == nil { // resp is now filled 1178// fmt.Println(resp) 1179// } 1180// 1181// See also, https://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/GetCostForecast 1182func (c *CostExplorer) GetCostForecastRequest(input *GetCostForecastInput) (req *request.Request, output *GetCostForecastOutput) { 1183 op := &request.Operation{ 1184 Name: opGetCostForecast, 1185 HTTPMethod: "POST", 1186 HTTPPath: "/", 1187 } 1188 1189 if input == nil { 1190 input = &GetCostForecastInput{} 1191 } 1192 1193 output = &GetCostForecastOutput{} 1194 req = c.newRequest(op, input, output) 1195 return 1196} 1197 1198// GetCostForecast API operation for AWS Cost Explorer Service. 1199// 1200// Retrieves a forecast for how much Amazon Web Services predicts that you will 1201// spend over the forecast time period that you select, based on your past costs. 1202// 1203// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1204// with awserr.Error's Code and Message methods to get detailed information about 1205// the error. 1206// 1207// See the AWS API reference guide for AWS Cost Explorer Service's 1208// API operation GetCostForecast for usage and error information. 1209// 1210// Returned Error Types: 1211// * LimitExceededException 1212// You made too many calls in a short period of time. Try again later. 1213// 1214// * DataUnavailableException 1215// The requested data is unavailable. 1216// 1217// See also, https://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/GetCostForecast 1218func (c *CostExplorer) GetCostForecast(input *GetCostForecastInput) (*GetCostForecastOutput, error) { 1219 req, out := c.GetCostForecastRequest(input) 1220 return out, req.Send() 1221} 1222 1223// GetCostForecastWithContext is the same as GetCostForecast with the addition of 1224// the ability to pass a context and additional request options. 1225// 1226// See GetCostForecast for details on how to use this API operation. 1227// 1228// The context must be non-nil and will be used for request cancellation. If 1229// the context is nil a panic will occur. In the future the SDK may create 1230// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1231// for more information on using Contexts. 1232func (c *CostExplorer) GetCostForecastWithContext(ctx aws.Context, input *GetCostForecastInput, opts ...request.Option) (*GetCostForecastOutput, error) { 1233 req, out := c.GetCostForecastRequest(input) 1234 req.SetContext(ctx) 1235 req.ApplyOptions(opts...) 1236 return out, req.Send() 1237} 1238 1239const opGetDimensionValues = "GetDimensionValues" 1240 1241// GetDimensionValuesRequest generates a "aws/request.Request" representing the 1242// client's request for the GetDimensionValues operation. The "output" return 1243// value will be populated with the request's response once the request completes 1244// successfully. 1245// 1246// Use "Send" method on the returned Request to send the API call to the service. 1247// the "output" return value is not valid until after Send returns without error. 1248// 1249// See GetDimensionValues for more information on using the GetDimensionValues 1250// API call, and error handling. 1251// 1252// This method is useful when you want to inject custom logic or configuration 1253// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1254// 1255// 1256// // Example sending a request using the GetDimensionValuesRequest method. 1257// req, resp := client.GetDimensionValuesRequest(params) 1258// 1259// err := req.Send() 1260// if err == nil { // resp is now filled 1261// fmt.Println(resp) 1262// } 1263// 1264// See also, https://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/GetDimensionValues 1265func (c *CostExplorer) GetDimensionValuesRequest(input *GetDimensionValuesInput) (req *request.Request, output *GetDimensionValuesOutput) { 1266 op := &request.Operation{ 1267 Name: opGetDimensionValues, 1268 HTTPMethod: "POST", 1269 HTTPPath: "/", 1270 } 1271 1272 if input == nil { 1273 input = &GetDimensionValuesInput{} 1274 } 1275 1276 output = &GetDimensionValuesOutput{} 1277 req = c.newRequest(op, input, output) 1278 return 1279} 1280 1281// GetDimensionValues API operation for AWS Cost Explorer Service. 1282// 1283// Retrieves all available filter values for a specified filter over a period 1284// of time. You can search the dimension values for an arbitrary string. 1285// 1286// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1287// with awserr.Error's Code and Message methods to get detailed information about 1288// the error. 1289// 1290// See the AWS API reference guide for AWS Cost Explorer Service's 1291// API operation GetDimensionValues for usage and error information. 1292// 1293// Returned Error Types: 1294// * LimitExceededException 1295// You made too many calls in a short period of time. Try again later. 1296// 1297// * BillExpirationException 1298// The requested report expired. Update the date interval and try again. 1299// 1300// * DataUnavailableException 1301// The requested data is unavailable. 1302// 1303// * InvalidNextTokenException 1304// The pagination token is invalid. Try again without a pagination token. 1305// 1306// * RequestChangedException 1307// Your request parameters changed between pages. Try again with the old parameters 1308// or without a pagination token. 1309// 1310// See also, https://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/GetDimensionValues 1311func (c *CostExplorer) GetDimensionValues(input *GetDimensionValuesInput) (*GetDimensionValuesOutput, error) { 1312 req, out := c.GetDimensionValuesRequest(input) 1313 return out, req.Send() 1314} 1315 1316// GetDimensionValuesWithContext is the same as GetDimensionValues with the addition of 1317// the ability to pass a context and additional request options. 1318// 1319// See GetDimensionValues for details on how to use this API operation. 1320// 1321// The context must be non-nil and will be used for request cancellation. If 1322// the context is nil a panic will occur. In the future the SDK may create 1323// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1324// for more information on using Contexts. 1325func (c *CostExplorer) GetDimensionValuesWithContext(ctx aws.Context, input *GetDimensionValuesInput, opts ...request.Option) (*GetDimensionValuesOutput, error) { 1326 req, out := c.GetDimensionValuesRequest(input) 1327 req.SetContext(ctx) 1328 req.ApplyOptions(opts...) 1329 return out, req.Send() 1330} 1331 1332const opGetReservationCoverage = "GetReservationCoverage" 1333 1334// GetReservationCoverageRequest generates a "aws/request.Request" representing the 1335// client's request for the GetReservationCoverage operation. The "output" return 1336// value will be populated with the request's response once the request completes 1337// successfully. 1338// 1339// Use "Send" method on the returned Request to send the API call to the service. 1340// the "output" return value is not valid until after Send returns without error. 1341// 1342// See GetReservationCoverage for more information on using the GetReservationCoverage 1343// API call, and error handling. 1344// 1345// This method is useful when you want to inject custom logic or configuration 1346// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1347// 1348// 1349// // Example sending a request using the GetReservationCoverageRequest method. 1350// req, resp := client.GetReservationCoverageRequest(params) 1351// 1352// err := req.Send() 1353// if err == nil { // resp is now filled 1354// fmt.Println(resp) 1355// } 1356// 1357// See also, https://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/GetReservationCoverage 1358func (c *CostExplorer) GetReservationCoverageRequest(input *GetReservationCoverageInput) (req *request.Request, output *GetReservationCoverageOutput) { 1359 op := &request.Operation{ 1360 Name: opGetReservationCoverage, 1361 HTTPMethod: "POST", 1362 HTTPPath: "/", 1363 } 1364 1365 if input == nil { 1366 input = &GetReservationCoverageInput{} 1367 } 1368 1369 output = &GetReservationCoverageOutput{} 1370 req = c.newRequest(op, input, output) 1371 return 1372} 1373 1374// GetReservationCoverage API operation for AWS Cost Explorer Service. 1375// 1376// Retrieves the reservation coverage for your account. This enables you to 1377// see how much of your Amazon Elastic Compute Cloud, Amazon ElastiCache, Amazon 1378// Relational Database Service, or Amazon Redshift usage is covered by a reservation. 1379// An organization's management account can see the coverage of the associated 1380// member accounts. This supports dimensions, Cost Categories, and nested expressions. 1381// For any time period, you can filter data about reservation usage by the following 1382// dimensions: 1383// 1384// * AZ 1385// 1386// * CACHE_ENGINE 1387// 1388// * DATABASE_ENGINE 1389// 1390// * DEPLOYMENT_OPTION 1391// 1392// * INSTANCE_TYPE 1393// 1394// * LINKED_ACCOUNT 1395// 1396// * OPERATING_SYSTEM 1397// 1398// * PLATFORM 1399// 1400// * REGION 1401// 1402// * SERVICE 1403// 1404// * TAG 1405// 1406// * TENANCY 1407// 1408// To determine valid values for a dimension, use the GetDimensionValues operation. 1409// 1410// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1411// with awserr.Error's Code and Message methods to get detailed information about 1412// the error. 1413// 1414// See the AWS API reference guide for AWS Cost Explorer Service's 1415// API operation GetReservationCoverage for usage and error information. 1416// 1417// Returned Error Types: 1418// * LimitExceededException 1419// You made too many calls in a short period of time. Try again later. 1420// 1421// * DataUnavailableException 1422// The requested data is unavailable. 1423// 1424// * InvalidNextTokenException 1425// The pagination token is invalid. Try again without a pagination token. 1426// 1427// See also, https://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/GetReservationCoverage 1428func (c *CostExplorer) GetReservationCoverage(input *GetReservationCoverageInput) (*GetReservationCoverageOutput, error) { 1429 req, out := c.GetReservationCoverageRequest(input) 1430 return out, req.Send() 1431} 1432 1433// GetReservationCoverageWithContext is the same as GetReservationCoverage with the addition of 1434// the ability to pass a context and additional request options. 1435// 1436// See GetReservationCoverage for details on how to use this API operation. 1437// 1438// The context must be non-nil and will be used for request cancellation. If 1439// the context is nil a panic will occur. In the future the SDK may create 1440// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1441// for more information on using Contexts. 1442func (c *CostExplorer) GetReservationCoverageWithContext(ctx aws.Context, input *GetReservationCoverageInput, opts ...request.Option) (*GetReservationCoverageOutput, error) { 1443 req, out := c.GetReservationCoverageRequest(input) 1444 req.SetContext(ctx) 1445 req.ApplyOptions(opts...) 1446 return out, req.Send() 1447} 1448 1449const opGetReservationPurchaseRecommendation = "GetReservationPurchaseRecommendation" 1450 1451// GetReservationPurchaseRecommendationRequest generates a "aws/request.Request" representing the 1452// client's request for the GetReservationPurchaseRecommendation operation. The "output" return 1453// value will be populated with the request's response once the request completes 1454// successfully. 1455// 1456// Use "Send" method on the returned Request to send the API call to the service. 1457// the "output" return value is not valid until after Send returns without error. 1458// 1459// See GetReservationPurchaseRecommendation for more information on using the GetReservationPurchaseRecommendation 1460// API call, and error handling. 1461// 1462// This method is useful when you want to inject custom logic or configuration 1463// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1464// 1465// 1466// // Example sending a request using the GetReservationPurchaseRecommendationRequest method. 1467// req, resp := client.GetReservationPurchaseRecommendationRequest(params) 1468// 1469// err := req.Send() 1470// if err == nil { // resp is now filled 1471// fmt.Println(resp) 1472// } 1473// 1474// See also, https://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/GetReservationPurchaseRecommendation 1475func (c *CostExplorer) GetReservationPurchaseRecommendationRequest(input *GetReservationPurchaseRecommendationInput) (req *request.Request, output *GetReservationPurchaseRecommendationOutput) { 1476 op := &request.Operation{ 1477 Name: opGetReservationPurchaseRecommendation, 1478 HTTPMethod: "POST", 1479 HTTPPath: "/", 1480 } 1481 1482 if input == nil { 1483 input = &GetReservationPurchaseRecommendationInput{} 1484 } 1485 1486 output = &GetReservationPurchaseRecommendationOutput{} 1487 req = c.newRequest(op, input, output) 1488 return 1489} 1490 1491// GetReservationPurchaseRecommendation API operation for AWS Cost Explorer Service. 1492// 1493// Gets recommendations for which reservations to purchase. These recommendations 1494// could help you reduce your costs. Reservations provide a discounted hourly 1495// rate (up to 75%) compared to On-Demand pricing. 1496// 1497// Amazon Web Services generates your recommendations by identifying your On-Demand 1498// usage during a specific time period and collecting your usage into categories 1499// that are eligible for a reservation. After Amazon Web Services has these 1500// categories, it simulates every combination of reservations in each category 1501// of usage to identify the best number of each type of RI to purchase to maximize 1502// your estimated savings. 1503// 1504// For example, Amazon Web Services automatically aggregates your Amazon EC2 1505// Linux, shared tenancy, and c4 family usage in the US West (Oregon) Region 1506// and recommends that you buy size-flexible regional reservations to apply 1507// to the c4 family usage. Amazon Web Services recommends the smallest size 1508// instance in an instance family. This makes it easier to purchase a size-flexible 1509// RI. Amazon Web Services also shows the equal number of normalized units so 1510// that you can purchase any instance size that you want. For this example, 1511// your RI recommendation would be for c4.large because that is the smallest 1512// size instance in the c4 instance family. 1513// 1514// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1515// with awserr.Error's Code and Message methods to get detailed information about 1516// the error. 1517// 1518// See the AWS API reference guide for AWS Cost Explorer Service's 1519// API operation GetReservationPurchaseRecommendation for usage and error information. 1520// 1521// Returned Error Types: 1522// * LimitExceededException 1523// You made too many calls in a short period of time. Try again later. 1524// 1525// * DataUnavailableException 1526// The requested data is unavailable. 1527// 1528// * InvalidNextTokenException 1529// The pagination token is invalid. Try again without a pagination token. 1530// 1531// See also, https://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/GetReservationPurchaseRecommendation 1532func (c *CostExplorer) GetReservationPurchaseRecommendation(input *GetReservationPurchaseRecommendationInput) (*GetReservationPurchaseRecommendationOutput, error) { 1533 req, out := c.GetReservationPurchaseRecommendationRequest(input) 1534 return out, req.Send() 1535} 1536 1537// GetReservationPurchaseRecommendationWithContext is the same as GetReservationPurchaseRecommendation with the addition of 1538// the ability to pass a context and additional request options. 1539// 1540// See GetReservationPurchaseRecommendation for details on how to use this API operation. 1541// 1542// The context must be non-nil and will be used for request cancellation. If 1543// the context is nil a panic will occur. In the future the SDK may create 1544// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1545// for more information on using Contexts. 1546func (c *CostExplorer) GetReservationPurchaseRecommendationWithContext(ctx aws.Context, input *GetReservationPurchaseRecommendationInput, opts ...request.Option) (*GetReservationPurchaseRecommendationOutput, error) { 1547 req, out := c.GetReservationPurchaseRecommendationRequest(input) 1548 req.SetContext(ctx) 1549 req.ApplyOptions(opts...) 1550 return out, req.Send() 1551} 1552 1553const opGetReservationUtilization = "GetReservationUtilization" 1554 1555// GetReservationUtilizationRequest generates a "aws/request.Request" representing the 1556// client's request for the GetReservationUtilization operation. The "output" return 1557// value will be populated with the request's response once the request completes 1558// successfully. 1559// 1560// Use "Send" method on the returned Request to send the API call to the service. 1561// the "output" return value is not valid until after Send returns without error. 1562// 1563// See GetReservationUtilization for more information on using the GetReservationUtilization 1564// API call, and error handling. 1565// 1566// This method is useful when you want to inject custom logic or configuration 1567// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1568// 1569// 1570// // Example sending a request using the GetReservationUtilizationRequest method. 1571// req, resp := client.GetReservationUtilizationRequest(params) 1572// 1573// err := req.Send() 1574// if err == nil { // resp is now filled 1575// fmt.Println(resp) 1576// } 1577// 1578// See also, https://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/GetReservationUtilization 1579func (c *CostExplorer) GetReservationUtilizationRequest(input *GetReservationUtilizationInput) (req *request.Request, output *GetReservationUtilizationOutput) { 1580 op := &request.Operation{ 1581 Name: opGetReservationUtilization, 1582 HTTPMethod: "POST", 1583 HTTPPath: "/", 1584 } 1585 1586 if input == nil { 1587 input = &GetReservationUtilizationInput{} 1588 } 1589 1590 output = &GetReservationUtilizationOutput{} 1591 req = c.newRequest(op, input, output) 1592 return 1593} 1594 1595// GetReservationUtilization API operation for AWS Cost Explorer Service. 1596// 1597// Retrieves the reservation utilization for your account. Management account 1598// in an organization have access to member accounts. You can filter data by 1599// dimensions in a time period. You can use GetDimensionValues to determine 1600// the possible dimension values. Currently, you can group only by SUBSCRIPTION_ID. 1601// 1602// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1603// with awserr.Error's Code and Message methods to get detailed information about 1604// the error. 1605// 1606// See the AWS API reference guide for AWS Cost Explorer Service's 1607// API operation GetReservationUtilization for usage and error information. 1608// 1609// Returned Error Types: 1610// * LimitExceededException 1611// You made too many calls in a short period of time. Try again later. 1612// 1613// * DataUnavailableException 1614// The requested data is unavailable. 1615// 1616// * InvalidNextTokenException 1617// The pagination token is invalid. Try again without a pagination token. 1618// 1619// See also, https://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/GetReservationUtilization 1620func (c *CostExplorer) GetReservationUtilization(input *GetReservationUtilizationInput) (*GetReservationUtilizationOutput, error) { 1621 req, out := c.GetReservationUtilizationRequest(input) 1622 return out, req.Send() 1623} 1624 1625// GetReservationUtilizationWithContext is the same as GetReservationUtilization with the addition of 1626// the ability to pass a context and additional request options. 1627// 1628// See GetReservationUtilization for details on how to use this API operation. 1629// 1630// The context must be non-nil and will be used for request cancellation. If 1631// the context is nil a panic will occur. In the future the SDK may create 1632// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1633// for more information on using Contexts. 1634func (c *CostExplorer) GetReservationUtilizationWithContext(ctx aws.Context, input *GetReservationUtilizationInput, opts ...request.Option) (*GetReservationUtilizationOutput, error) { 1635 req, out := c.GetReservationUtilizationRequest(input) 1636 req.SetContext(ctx) 1637 req.ApplyOptions(opts...) 1638 return out, req.Send() 1639} 1640 1641const opGetRightsizingRecommendation = "GetRightsizingRecommendation" 1642 1643// GetRightsizingRecommendationRequest generates a "aws/request.Request" representing the 1644// client's request for the GetRightsizingRecommendation operation. The "output" return 1645// value will be populated with the request's response once the request completes 1646// successfully. 1647// 1648// Use "Send" method on the returned Request to send the API call to the service. 1649// the "output" return value is not valid until after Send returns without error. 1650// 1651// See GetRightsizingRecommendation for more information on using the GetRightsizingRecommendation 1652// API call, and error handling. 1653// 1654// This method is useful when you want to inject custom logic or configuration 1655// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1656// 1657// 1658// // Example sending a request using the GetRightsizingRecommendationRequest method. 1659// req, resp := client.GetRightsizingRecommendationRequest(params) 1660// 1661// err := req.Send() 1662// if err == nil { // resp is now filled 1663// fmt.Println(resp) 1664// } 1665// 1666// See also, https://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/GetRightsizingRecommendation 1667func (c *CostExplorer) GetRightsizingRecommendationRequest(input *GetRightsizingRecommendationInput) (req *request.Request, output *GetRightsizingRecommendationOutput) { 1668 op := &request.Operation{ 1669 Name: opGetRightsizingRecommendation, 1670 HTTPMethod: "POST", 1671 HTTPPath: "/", 1672 } 1673 1674 if input == nil { 1675 input = &GetRightsizingRecommendationInput{} 1676 } 1677 1678 output = &GetRightsizingRecommendationOutput{} 1679 req = c.newRequest(op, input, output) 1680 return 1681} 1682 1683// GetRightsizingRecommendation API operation for AWS Cost Explorer Service. 1684// 1685// Creates recommendations that help you save cost by identifying idle and underutilized 1686// Amazon EC2 instances. 1687// 1688// Recommendations are generated to either downsize or terminate instances, 1689// along with providing savings detail and metrics. For details on calculation 1690// and function, see Optimizing Your Cost with Rightsizing Recommendations (https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/ce-rightsizing.html) 1691// in the Billing and Cost Management User Guide. 1692// 1693// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1694// with awserr.Error's Code and Message methods to get detailed information about 1695// the error. 1696// 1697// See the AWS API reference guide for AWS Cost Explorer Service's 1698// API operation GetRightsizingRecommendation for usage and error information. 1699// 1700// Returned Error Types: 1701// * LimitExceededException 1702// You made too many calls in a short period of time. Try again later. 1703// 1704// * InvalidNextTokenException 1705// The pagination token is invalid. Try again without a pagination token. 1706// 1707// See also, https://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/GetRightsizingRecommendation 1708func (c *CostExplorer) GetRightsizingRecommendation(input *GetRightsizingRecommendationInput) (*GetRightsizingRecommendationOutput, error) { 1709 req, out := c.GetRightsizingRecommendationRequest(input) 1710 return out, req.Send() 1711} 1712 1713// GetRightsizingRecommendationWithContext is the same as GetRightsizingRecommendation with the addition of 1714// the ability to pass a context and additional request options. 1715// 1716// See GetRightsizingRecommendation for details on how to use this API operation. 1717// 1718// The context must be non-nil and will be used for request cancellation. If 1719// the context is nil a panic will occur. In the future the SDK may create 1720// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1721// for more information on using Contexts. 1722func (c *CostExplorer) GetRightsizingRecommendationWithContext(ctx aws.Context, input *GetRightsizingRecommendationInput, opts ...request.Option) (*GetRightsizingRecommendationOutput, error) { 1723 req, out := c.GetRightsizingRecommendationRequest(input) 1724 req.SetContext(ctx) 1725 req.ApplyOptions(opts...) 1726 return out, req.Send() 1727} 1728 1729const opGetSavingsPlansCoverage = "GetSavingsPlansCoverage" 1730 1731// GetSavingsPlansCoverageRequest generates a "aws/request.Request" representing the 1732// client's request for the GetSavingsPlansCoverage operation. The "output" return 1733// value will be populated with the request's response once the request completes 1734// successfully. 1735// 1736// Use "Send" method on the returned Request to send the API call to the service. 1737// the "output" return value is not valid until after Send returns without error. 1738// 1739// See GetSavingsPlansCoverage for more information on using the GetSavingsPlansCoverage 1740// API call, and error handling. 1741// 1742// This method is useful when you want to inject custom logic or configuration 1743// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1744// 1745// 1746// // Example sending a request using the GetSavingsPlansCoverageRequest method. 1747// req, resp := client.GetSavingsPlansCoverageRequest(params) 1748// 1749// err := req.Send() 1750// if err == nil { // resp is now filled 1751// fmt.Println(resp) 1752// } 1753// 1754// See also, https://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/GetSavingsPlansCoverage 1755func (c *CostExplorer) GetSavingsPlansCoverageRequest(input *GetSavingsPlansCoverageInput) (req *request.Request, output *GetSavingsPlansCoverageOutput) { 1756 op := &request.Operation{ 1757 Name: opGetSavingsPlansCoverage, 1758 HTTPMethod: "POST", 1759 HTTPPath: "/", 1760 Paginator: &request.Paginator{ 1761 InputTokens: []string{"NextToken"}, 1762 OutputTokens: []string{"NextToken"}, 1763 LimitToken: "MaxResults", 1764 TruncationToken: "", 1765 }, 1766 } 1767 1768 if input == nil { 1769 input = &GetSavingsPlansCoverageInput{} 1770 } 1771 1772 output = &GetSavingsPlansCoverageOutput{} 1773 req = c.newRequest(op, input, output) 1774 return 1775} 1776 1777// GetSavingsPlansCoverage API operation for AWS Cost Explorer Service. 1778// 1779// Retrieves the Savings Plans covered for your account. This enables you to 1780// see how much of your cost is covered by a Savings Plan. An organization’s 1781// management account can see the coverage of the associated member accounts. 1782// This supports dimensions, Cost Categories, and nested expressions. For any 1783// time period, you can filter data for Savings Plans usage with the following 1784// dimensions: 1785// 1786// * LINKED_ACCOUNT 1787// 1788// * REGION 1789// 1790// * SERVICE 1791// 1792// * INSTANCE_FAMILY 1793// 1794// To determine valid values for a dimension, use the GetDimensionValues operation. 1795// 1796// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1797// with awserr.Error's Code and Message methods to get detailed information about 1798// the error. 1799// 1800// See the AWS API reference guide for AWS Cost Explorer Service's 1801// API operation GetSavingsPlansCoverage for usage and error information. 1802// 1803// Returned Error Types: 1804// * LimitExceededException 1805// You made too many calls in a short period of time. Try again later. 1806// 1807// * DataUnavailableException 1808// The requested data is unavailable. 1809// 1810// * InvalidNextTokenException 1811// The pagination token is invalid. Try again without a pagination token. 1812// 1813// See also, https://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/GetSavingsPlansCoverage 1814func (c *CostExplorer) GetSavingsPlansCoverage(input *GetSavingsPlansCoverageInput) (*GetSavingsPlansCoverageOutput, error) { 1815 req, out := c.GetSavingsPlansCoverageRequest(input) 1816 return out, req.Send() 1817} 1818 1819// GetSavingsPlansCoverageWithContext is the same as GetSavingsPlansCoverage with the addition of 1820// the ability to pass a context and additional request options. 1821// 1822// See GetSavingsPlansCoverage for details on how to use this API operation. 1823// 1824// The context must be non-nil and will be used for request cancellation. If 1825// the context is nil a panic will occur. In the future the SDK may create 1826// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1827// for more information on using Contexts. 1828func (c *CostExplorer) GetSavingsPlansCoverageWithContext(ctx aws.Context, input *GetSavingsPlansCoverageInput, opts ...request.Option) (*GetSavingsPlansCoverageOutput, error) { 1829 req, out := c.GetSavingsPlansCoverageRequest(input) 1830 req.SetContext(ctx) 1831 req.ApplyOptions(opts...) 1832 return out, req.Send() 1833} 1834 1835// GetSavingsPlansCoveragePages iterates over the pages of a GetSavingsPlansCoverage operation, 1836// calling the "fn" function with the response data for each page. To stop 1837// iterating, return false from the fn function. 1838// 1839// See GetSavingsPlansCoverage method for more information on how to use this operation. 1840// 1841// Note: This operation can generate multiple requests to a service. 1842// 1843// // Example iterating over at most 3 pages of a GetSavingsPlansCoverage operation. 1844// pageNum := 0 1845// err := client.GetSavingsPlansCoveragePages(params, 1846// func(page *costexplorer.GetSavingsPlansCoverageOutput, lastPage bool) bool { 1847// pageNum++ 1848// fmt.Println(page) 1849// return pageNum <= 3 1850// }) 1851// 1852func (c *CostExplorer) GetSavingsPlansCoveragePages(input *GetSavingsPlansCoverageInput, fn func(*GetSavingsPlansCoverageOutput, bool) bool) error { 1853 return c.GetSavingsPlansCoveragePagesWithContext(aws.BackgroundContext(), input, fn) 1854} 1855 1856// GetSavingsPlansCoveragePagesWithContext same as GetSavingsPlansCoveragePages except 1857// it takes a Context and allows setting request options on the pages. 1858// 1859// The context must be non-nil and will be used for request cancellation. If 1860// the context is nil a panic will occur. In the future the SDK may create 1861// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1862// for more information on using Contexts. 1863func (c *CostExplorer) GetSavingsPlansCoveragePagesWithContext(ctx aws.Context, input *GetSavingsPlansCoverageInput, fn func(*GetSavingsPlansCoverageOutput, bool) bool, opts ...request.Option) error { 1864 p := request.Pagination{ 1865 NewRequest: func() (*request.Request, error) { 1866 var inCpy *GetSavingsPlansCoverageInput 1867 if input != nil { 1868 tmp := *input 1869 inCpy = &tmp 1870 } 1871 req, _ := c.GetSavingsPlansCoverageRequest(inCpy) 1872 req.SetContext(ctx) 1873 req.ApplyOptions(opts...) 1874 return req, nil 1875 }, 1876 } 1877 1878 for p.Next() { 1879 if !fn(p.Page().(*GetSavingsPlansCoverageOutput), !p.HasNextPage()) { 1880 break 1881 } 1882 } 1883 1884 return p.Err() 1885} 1886 1887const opGetSavingsPlansPurchaseRecommendation = "GetSavingsPlansPurchaseRecommendation" 1888 1889// GetSavingsPlansPurchaseRecommendationRequest generates a "aws/request.Request" representing the 1890// client's request for the GetSavingsPlansPurchaseRecommendation operation. The "output" return 1891// value will be populated with the request's response once the request completes 1892// successfully. 1893// 1894// Use "Send" method on the returned Request to send the API call to the service. 1895// the "output" return value is not valid until after Send returns without error. 1896// 1897// See GetSavingsPlansPurchaseRecommendation for more information on using the GetSavingsPlansPurchaseRecommendation 1898// API call, and error handling. 1899// 1900// This method is useful when you want to inject custom logic or configuration 1901// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1902// 1903// 1904// // Example sending a request using the GetSavingsPlansPurchaseRecommendationRequest method. 1905// req, resp := client.GetSavingsPlansPurchaseRecommendationRequest(params) 1906// 1907// err := req.Send() 1908// if err == nil { // resp is now filled 1909// fmt.Println(resp) 1910// } 1911// 1912// See also, https://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/GetSavingsPlansPurchaseRecommendation 1913func (c *CostExplorer) GetSavingsPlansPurchaseRecommendationRequest(input *GetSavingsPlansPurchaseRecommendationInput) (req *request.Request, output *GetSavingsPlansPurchaseRecommendationOutput) { 1914 op := &request.Operation{ 1915 Name: opGetSavingsPlansPurchaseRecommendation, 1916 HTTPMethod: "POST", 1917 HTTPPath: "/", 1918 } 1919 1920 if input == nil { 1921 input = &GetSavingsPlansPurchaseRecommendationInput{} 1922 } 1923 1924 output = &GetSavingsPlansPurchaseRecommendationOutput{} 1925 req = c.newRequest(op, input, output) 1926 return 1927} 1928 1929// GetSavingsPlansPurchaseRecommendation API operation for AWS Cost Explorer Service. 1930// 1931// Retrieves your request parameters, Savings Plan Recommendations Summary and 1932// Details. 1933// 1934// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1935// with awserr.Error's Code and Message methods to get detailed information about 1936// the error. 1937// 1938// See the AWS API reference guide for AWS Cost Explorer Service's 1939// API operation GetSavingsPlansPurchaseRecommendation for usage and error information. 1940// 1941// Returned Error Types: 1942// * LimitExceededException 1943// You made too many calls in a short period of time. Try again later. 1944// 1945// * InvalidNextTokenException 1946// The pagination token is invalid. Try again without a pagination token. 1947// 1948// See also, https://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/GetSavingsPlansPurchaseRecommendation 1949func (c *CostExplorer) GetSavingsPlansPurchaseRecommendation(input *GetSavingsPlansPurchaseRecommendationInput) (*GetSavingsPlansPurchaseRecommendationOutput, error) { 1950 req, out := c.GetSavingsPlansPurchaseRecommendationRequest(input) 1951 return out, req.Send() 1952} 1953 1954// GetSavingsPlansPurchaseRecommendationWithContext is the same as GetSavingsPlansPurchaseRecommendation with the addition of 1955// the ability to pass a context and additional request options. 1956// 1957// See GetSavingsPlansPurchaseRecommendation for details on how to use this API operation. 1958// 1959// The context must be non-nil and will be used for request cancellation. If 1960// the context is nil a panic will occur. In the future the SDK may create 1961// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1962// for more information on using Contexts. 1963func (c *CostExplorer) GetSavingsPlansPurchaseRecommendationWithContext(ctx aws.Context, input *GetSavingsPlansPurchaseRecommendationInput, opts ...request.Option) (*GetSavingsPlansPurchaseRecommendationOutput, error) { 1964 req, out := c.GetSavingsPlansPurchaseRecommendationRequest(input) 1965 req.SetContext(ctx) 1966 req.ApplyOptions(opts...) 1967 return out, req.Send() 1968} 1969 1970const opGetSavingsPlansUtilization = "GetSavingsPlansUtilization" 1971 1972// GetSavingsPlansUtilizationRequest generates a "aws/request.Request" representing the 1973// client's request for the GetSavingsPlansUtilization operation. The "output" return 1974// value will be populated with the request's response once the request completes 1975// successfully. 1976// 1977// Use "Send" method on the returned Request to send the API call to the service. 1978// the "output" return value is not valid until after Send returns without error. 1979// 1980// See GetSavingsPlansUtilization for more information on using the GetSavingsPlansUtilization 1981// API call, and error handling. 1982// 1983// This method is useful when you want to inject custom logic or configuration 1984// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1985// 1986// 1987// // Example sending a request using the GetSavingsPlansUtilizationRequest method. 1988// req, resp := client.GetSavingsPlansUtilizationRequest(params) 1989// 1990// err := req.Send() 1991// if err == nil { // resp is now filled 1992// fmt.Println(resp) 1993// } 1994// 1995// See also, https://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/GetSavingsPlansUtilization 1996func (c *CostExplorer) GetSavingsPlansUtilizationRequest(input *GetSavingsPlansUtilizationInput) (req *request.Request, output *GetSavingsPlansUtilizationOutput) { 1997 op := &request.Operation{ 1998 Name: opGetSavingsPlansUtilization, 1999 HTTPMethod: "POST", 2000 HTTPPath: "/", 2001 } 2002 2003 if input == nil { 2004 input = &GetSavingsPlansUtilizationInput{} 2005 } 2006 2007 output = &GetSavingsPlansUtilizationOutput{} 2008 req = c.newRequest(op, input, output) 2009 return 2010} 2011 2012// GetSavingsPlansUtilization API operation for AWS Cost Explorer Service. 2013// 2014// Retrieves the Savings Plans utilization for your account across date ranges 2015// with daily or monthly granularity. Management account in an organization 2016// have access to member accounts. You can use GetDimensionValues in SAVINGS_PLANS 2017// to determine the possible dimension values. 2018// 2019// You cannot group by any dimension values for GetSavingsPlansUtilization. 2020// 2021// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2022// with awserr.Error's Code and Message methods to get detailed information about 2023// the error. 2024// 2025// See the AWS API reference guide for AWS Cost Explorer Service's 2026// API operation GetSavingsPlansUtilization for usage and error information. 2027// 2028// Returned Error Types: 2029// * LimitExceededException 2030// You made too many calls in a short period of time. Try again later. 2031// 2032// * DataUnavailableException 2033// The requested data is unavailable. 2034// 2035// See also, https://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/GetSavingsPlansUtilization 2036func (c *CostExplorer) GetSavingsPlansUtilization(input *GetSavingsPlansUtilizationInput) (*GetSavingsPlansUtilizationOutput, error) { 2037 req, out := c.GetSavingsPlansUtilizationRequest(input) 2038 return out, req.Send() 2039} 2040 2041// GetSavingsPlansUtilizationWithContext is the same as GetSavingsPlansUtilization with the addition of 2042// the ability to pass a context and additional request options. 2043// 2044// See GetSavingsPlansUtilization for details on how to use this API operation. 2045// 2046// The context must be non-nil and will be used for request cancellation. If 2047// the context is nil a panic will occur. In the future the SDK may create 2048// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2049// for more information on using Contexts. 2050func (c *CostExplorer) GetSavingsPlansUtilizationWithContext(ctx aws.Context, input *GetSavingsPlansUtilizationInput, opts ...request.Option) (*GetSavingsPlansUtilizationOutput, error) { 2051 req, out := c.GetSavingsPlansUtilizationRequest(input) 2052 req.SetContext(ctx) 2053 req.ApplyOptions(opts...) 2054 return out, req.Send() 2055} 2056 2057const opGetSavingsPlansUtilizationDetails = "GetSavingsPlansUtilizationDetails" 2058 2059// GetSavingsPlansUtilizationDetailsRequest generates a "aws/request.Request" representing the 2060// client's request for the GetSavingsPlansUtilizationDetails operation. The "output" return 2061// value will be populated with the request's response once the request completes 2062// successfully. 2063// 2064// Use "Send" method on the returned Request to send the API call to the service. 2065// the "output" return value is not valid until after Send returns without error. 2066// 2067// See GetSavingsPlansUtilizationDetails for more information on using the GetSavingsPlansUtilizationDetails 2068// API call, and error handling. 2069// 2070// This method is useful when you want to inject custom logic or configuration 2071// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2072// 2073// 2074// // Example sending a request using the GetSavingsPlansUtilizationDetailsRequest method. 2075// req, resp := client.GetSavingsPlansUtilizationDetailsRequest(params) 2076// 2077// err := req.Send() 2078// if err == nil { // resp is now filled 2079// fmt.Println(resp) 2080// } 2081// 2082// See also, https://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/GetSavingsPlansUtilizationDetails 2083func (c *CostExplorer) GetSavingsPlansUtilizationDetailsRequest(input *GetSavingsPlansUtilizationDetailsInput) (req *request.Request, output *GetSavingsPlansUtilizationDetailsOutput) { 2084 op := &request.Operation{ 2085 Name: opGetSavingsPlansUtilizationDetails, 2086 HTTPMethod: "POST", 2087 HTTPPath: "/", 2088 Paginator: &request.Paginator{ 2089 InputTokens: []string{"NextToken"}, 2090 OutputTokens: []string{"NextToken"}, 2091 LimitToken: "MaxResults", 2092 TruncationToken: "", 2093 }, 2094 } 2095 2096 if input == nil { 2097 input = &GetSavingsPlansUtilizationDetailsInput{} 2098 } 2099 2100 output = &GetSavingsPlansUtilizationDetailsOutput{} 2101 req = c.newRequest(op, input, output) 2102 return 2103} 2104 2105// GetSavingsPlansUtilizationDetails API operation for AWS Cost Explorer Service. 2106// 2107// Retrieves attribute data along with aggregate utilization and savings data 2108// for a given time period. This doesn't support granular or grouped data (daily/monthly) 2109// in response. You can't retrieve data by dates in a single response similar 2110// to GetSavingsPlanUtilization, but you have the option to make multiple calls 2111// to GetSavingsPlanUtilizationDetails by providing individual dates. You can 2112// use GetDimensionValues in SAVINGS_PLANS to determine the possible dimension 2113// values. 2114// 2115// GetSavingsPlanUtilizationDetails internally groups data by SavingsPlansArn. 2116// 2117// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2118// with awserr.Error's Code and Message methods to get detailed information about 2119// the error. 2120// 2121// See the AWS API reference guide for AWS Cost Explorer Service's 2122// API operation GetSavingsPlansUtilizationDetails for usage and error information. 2123// 2124// Returned Error Types: 2125// * LimitExceededException 2126// You made too many calls in a short period of time. Try again later. 2127// 2128// * DataUnavailableException 2129// The requested data is unavailable. 2130// 2131// * InvalidNextTokenException 2132// The pagination token is invalid. Try again without a pagination token. 2133// 2134// See also, https://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/GetSavingsPlansUtilizationDetails 2135func (c *CostExplorer) GetSavingsPlansUtilizationDetails(input *GetSavingsPlansUtilizationDetailsInput) (*GetSavingsPlansUtilizationDetailsOutput, error) { 2136 req, out := c.GetSavingsPlansUtilizationDetailsRequest(input) 2137 return out, req.Send() 2138} 2139 2140// GetSavingsPlansUtilizationDetailsWithContext is the same as GetSavingsPlansUtilizationDetails with the addition of 2141// the ability to pass a context and additional request options. 2142// 2143// See GetSavingsPlansUtilizationDetails for details on how to use this API operation. 2144// 2145// The context must be non-nil and will be used for request cancellation. If 2146// the context is nil a panic will occur. In the future the SDK may create 2147// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2148// for more information on using Contexts. 2149func (c *CostExplorer) GetSavingsPlansUtilizationDetailsWithContext(ctx aws.Context, input *GetSavingsPlansUtilizationDetailsInput, opts ...request.Option) (*GetSavingsPlansUtilizationDetailsOutput, error) { 2150 req, out := c.GetSavingsPlansUtilizationDetailsRequest(input) 2151 req.SetContext(ctx) 2152 req.ApplyOptions(opts...) 2153 return out, req.Send() 2154} 2155 2156// GetSavingsPlansUtilizationDetailsPages iterates over the pages of a GetSavingsPlansUtilizationDetails operation, 2157// calling the "fn" function with the response data for each page. To stop 2158// iterating, return false from the fn function. 2159// 2160// See GetSavingsPlansUtilizationDetails method for more information on how to use this operation. 2161// 2162// Note: This operation can generate multiple requests to a service. 2163// 2164// // Example iterating over at most 3 pages of a GetSavingsPlansUtilizationDetails operation. 2165// pageNum := 0 2166// err := client.GetSavingsPlansUtilizationDetailsPages(params, 2167// func(page *costexplorer.GetSavingsPlansUtilizationDetailsOutput, lastPage bool) bool { 2168// pageNum++ 2169// fmt.Println(page) 2170// return pageNum <= 3 2171// }) 2172// 2173func (c *CostExplorer) GetSavingsPlansUtilizationDetailsPages(input *GetSavingsPlansUtilizationDetailsInput, fn func(*GetSavingsPlansUtilizationDetailsOutput, bool) bool) error { 2174 return c.GetSavingsPlansUtilizationDetailsPagesWithContext(aws.BackgroundContext(), input, fn) 2175} 2176 2177// GetSavingsPlansUtilizationDetailsPagesWithContext same as GetSavingsPlansUtilizationDetailsPages except 2178// it takes a Context and allows setting request options on the pages. 2179// 2180// The context must be non-nil and will be used for request cancellation. If 2181// the context is nil a panic will occur. In the future the SDK may create 2182// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2183// for more information on using Contexts. 2184func (c *CostExplorer) GetSavingsPlansUtilizationDetailsPagesWithContext(ctx aws.Context, input *GetSavingsPlansUtilizationDetailsInput, fn func(*GetSavingsPlansUtilizationDetailsOutput, bool) bool, opts ...request.Option) error { 2185 p := request.Pagination{ 2186 NewRequest: func() (*request.Request, error) { 2187 var inCpy *GetSavingsPlansUtilizationDetailsInput 2188 if input != nil { 2189 tmp := *input 2190 inCpy = &tmp 2191 } 2192 req, _ := c.GetSavingsPlansUtilizationDetailsRequest(inCpy) 2193 req.SetContext(ctx) 2194 req.ApplyOptions(opts...) 2195 return req, nil 2196 }, 2197 } 2198 2199 for p.Next() { 2200 if !fn(p.Page().(*GetSavingsPlansUtilizationDetailsOutput), !p.HasNextPage()) { 2201 break 2202 } 2203 } 2204 2205 return p.Err() 2206} 2207 2208const opGetTags = "GetTags" 2209 2210// GetTagsRequest generates a "aws/request.Request" representing the 2211// client's request for the GetTags operation. The "output" return 2212// value will be populated with the request's response once the request completes 2213// successfully. 2214// 2215// Use "Send" method on the returned Request to send the API call to the service. 2216// the "output" return value is not valid until after Send returns without error. 2217// 2218// See GetTags for more information on using the GetTags 2219// API call, and error handling. 2220// 2221// This method is useful when you want to inject custom logic or configuration 2222// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2223// 2224// 2225// // Example sending a request using the GetTagsRequest method. 2226// req, resp := client.GetTagsRequest(params) 2227// 2228// err := req.Send() 2229// if err == nil { // resp is now filled 2230// fmt.Println(resp) 2231// } 2232// 2233// See also, https://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/GetTags 2234func (c *CostExplorer) GetTagsRequest(input *GetTagsInput) (req *request.Request, output *GetTagsOutput) { 2235 op := &request.Operation{ 2236 Name: opGetTags, 2237 HTTPMethod: "POST", 2238 HTTPPath: "/", 2239 } 2240 2241 if input == nil { 2242 input = &GetTagsInput{} 2243 } 2244 2245 output = &GetTagsOutput{} 2246 req = c.newRequest(op, input, output) 2247 return 2248} 2249 2250// GetTags API operation for AWS Cost Explorer Service. 2251// 2252// Queries for available tag keys and tag values for a specified period. You 2253// can search the tag values for an arbitrary string. 2254// 2255// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2256// with awserr.Error's Code and Message methods to get detailed information about 2257// the error. 2258// 2259// See the AWS API reference guide for AWS Cost Explorer Service's 2260// API operation GetTags for usage and error information. 2261// 2262// Returned Error Types: 2263// * LimitExceededException 2264// You made too many calls in a short period of time. Try again later. 2265// 2266// * BillExpirationException 2267// The requested report expired. Update the date interval and try again. 2268// 2269// * DataUnavailableException 2270// The requested data is unavailable. 2271// 2272// * InvalidNextTokenException 2273// The pagination token is invalid. Try again without a pagination token. 2274// 2275// * RequestChangedException 2276// Your request parameters changed between pages. Try again with the old parameters 2277// or without a pagination token. 2278// 2279// See also, https://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/GetTags 2280func (c *CostExplorer) GetTags(input *GetTagsInput) (*GetTagsOutput, error) { 2281 req, out := c.GetTagsRequest(input) 2282 return out, req.Send() 2283} 2284 2285// GetTagsWithContext is the same as GetTags with the addition of 2286// the ability to pass a context and additional request options. 2287// 2288// See GetTags for details on how to use this API operation. 2289// 2290// The context must be non-nil and will be used for request cancellation. If 2291// the context is nil a panic will occur. In the future the SDK may create 2292// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2293// for more information on using Contexts. 2294func (c *CostExplorer) GetTagsWithContext(ctx aws.Context, input *GetTagsInput, opts ...request.Option) (*GetTagsOutput, error) { 2295 req, out := c.GetTagsRequest(input) 2296 req.SetContext(ctx) 2297 req.ApplyOptions(opts...) 2298 return out, req.Send() 2299} 2300 2301const opGetUsageForecast = "GetUsageForecast" 2302 2303// GetUsageForecastRequest generates a "aws/request.Request" representing the 2304// client's request for the GetUsageForecast operation. The "output" return 2305// value will be populated with the request's response once the request completes 2306// successfully. 2307// 2308// Use "Send" method on the returned Request to send the API call to the service. 2309// the "output" return value is not valid until after Send returns without error. 2310// 2311// See GetUsageForecast for more information on using the GetUsageForecast 2312// API call, and error handling. 2313// 2314// This method is useful when you want to inject custom logic or configuration 2315// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2316// 2317// 2318// // Example sending a request using the GetUsageForecastRequest method. 2319// req, resp := client.GetUsageForecastRequest(params) 2320// 2321// err := req.Send() 2322// if err == nil { // resp is now filled 2323// fmt.Println(resp) 2324// } 2325// 2326// See also, https://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/GetUsageForecast 2327func (c *CostExplorer) GetUsageForecastRequest(input *GetUsageForecastInput) (req *request.Request, output *GetUsageForecastOutput) { 2328 op := &request.Operation{ 2329 Name: opGetUsageForecast, 2330 HTTPMethod: "POST", 2331 HTTPPath: "/", 2332 } 2333 2334 if input == nil { 2335 input = &GetUsageForecastInput{} 2336 } 2337 2338 output = &GetUsageForecastOutput{} 2339 req = c.newRequest(op, input, output) 2340 return 2341} 2342 2343// GetUsageForecast API operation for AWS Cost Explorer Service. 2344// 2345// Retrieves a forecast for how much Amazon Web Services predicts that you will 2346// use over the forecast time period that you select, based on your past usage. 2347// 2348// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2349// with awserr.Error's Code and Message methods to get detailed information about 2350// the error. 2351// 2352// See the AWS API reference guide for AWS Cost Explorer Service's 2353// API operation GetUsageForecast for usage and error information. 2354// 2355// Returned Error Types: 2356// * LimitExceededException 2357// You made too many calls in a short period of time. Try again later. 2358// 2359// * DataUnavailableException 2360// The requested data is unavailable. 2361// 2362// * UnresolvableUsageUnitException 2363// Cost Explorer was unable to identify the usage unit. Provide UsageType/UsageTypeGroup 2364// filter selections that contain matching units, for example: hours. 2365// 2366// See also, https://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/GetUsageForecast 2367func (c *CostExplorer) GetUsageForecast(input *GetUsageForecastInput) (*GetUsageForecastOutput, error) { 2368 req, out := c.GetUsageForecastRequest(input) 2369 return out, req.Send() 2370} 2371 2372// GetUsageForecastWithContext is the same as GetUsageForecast with the addition of 2373// the ability to pass a context and additional request options. 2374// 2375// See GetUsageForecast for details on how to use this API operation. 2376// 2377// The context must be non-nil and will be used for request cancellation. If 2378// the context is nil a panic will occur. In the future the SDK may create 2379// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2380// for more information on using Contexts. 2381func (c *CostExplorer) GetUsageForecastWithContext(ctx aws.Context, input *GetUsageForecastInput, opts ...request.Option) (*GetUsageForecastOutput, error) { 2382 req, out := c.GetUsageForecastRequest(input) 2383 req.SetContext(ctx) 2384 req.ApplyOptions(opts...) 2385 return out, req.Send() 2386} 2387 2388const opListCostCategoryDefinitions = "ListCostCategoryDefinitions" 2389 2390// ListCostCategoryDefinitionsRequest generates a "aws/request.Request" representing the 2391// client's request for the ListCostCategoryDefinitions operation. The "output" return 2392// value will be populated with the request's response once the request completes 2393// successfully. 2394// 2395// Use "Send" method on the returned Request to send the API call to the service. 2396// the "output" return value is not valid until after Send returns without error. 2397// 2398// See ListCostCategoryDefinitions for more information on using the ListCostCategoryDefinitions 2399// API call, and error handling. 2400// 2401// This method is useful when you want to inject custom logic or configuration 2402// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2403// 2404// 2405// // Example sending a request using the ListCostCategoryDefinitionsRequest method. 2406// req, resp := client.ListCostCategoryDefinitionsRequest(params) 2407// 2408// err := req.Send() 2409// if err == nil { // resp is now filled 2410// fmt.Println(resp) 2411// } 2412// 2413// See also, https://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/ListCostCategoryDefinitions 2414func (c *CostExplorer) ListCostCategoryDefinitionsRequest(input *ListCostCategoryDefinitionsInput) (req *request.Request, output *ListCostCategoryDefinitionsOutput) { 2415 op := &request.Operation{ 2416 Name: opListCostCategoryDefinitions, 2417 HTTPMethod: "POST", 2418 HTTPPath: "/", 2419 Paginator: &request.Paginator{ 2420 InputTokens: []string{"NextToken"}, 2421 OutputTokens: []string{"NextToken"}, 2422 LimitToken: "MaxResults", 2423 TruncationToken: "", 2424 }, 2425 } 2426 2427 if input == nil { 2428 input = &ListCostCategoryDefinitionsInput{} 2429 } 2430 2431 output = &ListCostCategoryDefinitionsOutput{} 2432 req = c.newRequest(op, input, output) 2433 return 2434} 2435 2436// ListCostCategoryDefinitions API operation for AWS Cost Explorer Service. 2437// 2438// Returns the name, ARN, NumberOfRules and effective dates of all Cost Categories 2439// defined in the account. You have the option to use EffectiveOn to return 2440// a list of Cost Categories that were active on a specific date. If there is 2441// no EffectiveOn specified, you’ll see Cost Categories that are effective 2442// on the current date. If Cost Category is still effective, EffectiveEnd is 2443// omitted in the response. ListCostCategoryDefinitions supports pagination. 2444// The request can have a MaxResults range up to 100. 2445// 2446// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2447// with awserr.Error's Code and Message methods to get detailed information about 2448// the error. 2449// 2450// See the AWS API reference guide for AWS Cost Explorer Service's 2451// API operation ListCostCategoryDefinitions for usage and error information. 2452// 2453// Returned Error Types: 2454// * LimitExceededException 2455// You made too many calls in a short period of time. Try again later. 2456// 2457// See also, https://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/ListCostCategoryDefinitions 2458func (c *CostExplorer) ListCostCategoryDefinitions(input *ListCostCategoryDefinitionsInput) (*ListCostCategoryDefinitionsOutput, error) { 2459 req, out := c.ListCostCategoryDefinitionsRequest(input) 2460 return out, req.Send() 2461} 2462 2463// ListCostCategoryDefinitionsWithContext is the same as ListCostCategoryDefinitions with the addition of 2464// the ability to pass a context and additional request options. 2465// 2466// See ListCostCategoryDefinitions for details on how to use this API operation. 2467// 2468// The context must be non-nil and will be used for request cancellation. If 2469// the context is nil a panic will occur. In the future the SDK may create 2470// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2471// for more information on using Contexts. 2472func (c *CostExplorer) ListCostCategoryDefinitionsWithContext(ctx aws.Context, input *ListCostCategoryDefinitionsInput, opts ...request.Option) (*ListCostCategoryDefinitionsOutput, error) { 2473 req, out := c.ListCostCategoryDefinitionsRequest(input) 2474 req.SetContext(ctx) 2475 req.ApplyOptions(opts...) 2476 return out, req.Send() 2477} 2478 2479// ListCostCategoryDefinitionsPages iterates over the pages of a ListCostCategoryDefinitions operation, 2480// calling the "fn" function with the response data for each page. To stop 2481// iterating, return false from the fn function. 2482// 2483// See ListCostCategoryDefinitions method for more information on how to use this operation. 2484// 2485// Note: This operation can generate multiple requests to a service. 2486// 2487// // Example iterating over at most 3 pages of a ListCostCategoryDefinitions operation. 2488// pageNum := 0 2489// err := client.ListCostCategoryDefinitionsPages(params, 2490// func(page *costexplorer.ListCostCategoryDefinitionsOutput, lastPage bool) bool { 2491// pageNum++ 2492// fmt.Println(page) 2493// return pageNum <= 3 2494// }) 2495// 2496func (c *CostExplorer) ListCostCategoryDefinitionsPages(input *ListCostCategoryDefinitionsInput, fn func(*ListCostCategoryDefinitionsOutput, bool) bool) error { 2497 return c.ListCostCategoryDefinitionsPagesWithContext(aws.BackgroundContext(), input, fn) 2498} 2499 2500// ListCostCategoryDefinitionsPagesWithContext same as ListCostCategoryDefinitionsPages except 2501// it takes a Context and allows setting request options on the pages. 2502// 2503// The context must be non-nil and will be used for request cancellation. If 2504// the context is nil a panic will occur. In the future the SDK may create 2505// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2506// for more information on using Contexts. 2507func (c *CostExplorer) ListCostCategoryDefinitionsPagesWithContext(ctx aws.Context, input *ListCostCategoryDefinitionsInput, fn func(*ListCostCategoryDefinitionsOutput, bool) bool, opts ...request.Option) error { 2508 p := request.Pagination{ 2509 NewRequest: func() (*request.Request, error) { 2510 var inCpy *ListCostCategoryDefinitionsInput 2511 if input != nil { 2512 tmp := *input 2513 inCpy = &tmp 2514 } 2515 req, _ := c.ListCostCategoryDefinitionsRequest(inCpy) 2516 req.SetContext(ctx) 2517 req.ApplyOptions(opts...) 2518 return req, nil 2519 }, 2520 } 2521 2522 for p.Next() { 2523 if !fn(p.Page().(*ListCostCategoryDefinitionsOutput), !p.HasNextPage()) { 2524 break 2525 } 2526 } 2527 2528 return p.Err() 2529} 2530 2531const opProvideAnomalyFeedback = "ProvideAnomalyFeedback" 2532 2533// ProvideAnomalyFeedbackRequest generates a "aws/request.Request" representing the 2534// client's request for the ProvideAnomalyFeedback operation. The "output" return 2535// value will be populated with the request's response once the request completes 2536// successfully. 2537// 2538// Use "Send" method on the returned Request to send the API call to the service. 2539// the "output" return value is not valid until after Send returns without error. 2540// 2541// See ProvideAnomalyFeedback for more information on using the ProvideAnomalyFeedback 2542// API call, and error handling. 2543// 2544// This method is useful when you want to inject custom logic or configuration 2545// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2546// 2547// 2548// // Example sending a request using the ProvideAnomalyFeedbackRequest method. 2549// req, resp := client.ProvideAnomalyFeedbackRequest(params) 2550// 2551// err := req.Send() 2552// if err == nil { // resp is now filled 2553// fmt.Println(resp) 2554// } 2555// 2556// See also, https://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/ProvideAnomalyFeedback 2557func (c *CostExplorer) ProvideAnomalyFeedbackRequest(input *ProvideAnomalyFeedbackInput) (req *request.Request, output *ProvideAnomalyFeedbackOutput) { 2558 op := &request.Operation{ 2559 Name: opProvideAnomalyFeedback, 2560 HTTPMethod: "POST", 2561 HTTPPath: "/", 2562 } 2563 2564 if input == nil { 2565 input = &ProvideAnomalyFeedbackInput{} 2566 } 2567 2568 output = &ProvideAnomalyFeedbackOutput{} 2569 req = c.newRequest(op, input, output) 2570 return 2571} 2572 2573// ProvideAnomalyFeedback API operation for AWS Cost Explorer Service. 2574// 2575// Modifies the feedback property of a given cost anomaly. 2576// 2577// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2578// with awserr.Error's Code and Message methods to get detailed information about 2579// the error. 2580// 2581// See the AWS API reference guide for AWS Cost Explorer Service's 2582// API operation ProvideAnomalyFeedback for usage and error information. 2583// 2584// Returned Error Types: 2585// * LimitExceededException 2586// You made too many calls in a short period of time. Try again later. 2587// 2588// See also, https://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/ProvideAnomalyFeedback 2589func (c *CostExplorer) ProvideAnomalyFeedback(input *ProvideAnomalyFeedbackInput) (*ProvideAnomalyFeedbackOutput, error) { 2590 req, out := c.ProvideAnomalyFeedbackRequest(input) 2591 return out, req.Send() 2592} 2593 2594// ProvideAnomalyFeedbackWithContext is the same as ProvideAnomalyFeedback with the addition of 2595// the ability to pass a context and additional request options. 2596// 2597// See ProvideAnomalyFeedback for details on how to use this API operation. 2598// 2599// The context must be non-nil and will be used for request cancellation. If 2600// the context is nil a panic will occur. In the future the SDK may create 2601// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2602// for more information on using Contexts. 2603func (c *CostExplorer) ProvideAnomalyFeedbackWithContext(ctx aws.Context, input *ProvideAnomalyFeedbackInput, opts ...request.Option) (*ProvideAnomalyFeedbackOutput, error) { 2604 req, out := c.ProvideAnomalyFeedbackRequest(input) 2605 req.SetContext(ctx) 2606 req.ApplyOptions(opts...) 2607 return out, req.Send() 2608} 2609 2610const opUpdateAnomalyMonitor = "UpdateAnomalyMonitor" 2611 2612// UpdateAnomalyMonitorRequest generates a "aws/request.Request" representing the 2613// client's request for the UpdateAnomalyMonitor operation. The "output" return 2614// value will be populated with the request's response once the request completes 2615// successfully. 2616// 2617// Use "Send" method on the returned Request to send the API call to the service. 2618// the "output" return value is not valid until after Send returns without error. 2619// 2620// See UpdateAnomalyMonitor for more information on using the UpdateAnomalyMonitor 2621// API call, and error handling. 2622// 2623// This method is useful when you want to inject custom logic or configuration 2624// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2625// 2626// 2627// // Example sending a request using the UpdateAnomalyMonitorRequest method. 2628// req, resp := client.UpdateAnomalyMonitorRequest(params) 2629// 2630// err := req.Send() 2631// if err == nil { // resp is now filled 2632// fmt.Println(resp) 2633// } 2634// 2635// See also, https://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/UpdateAnomalyMonitor 2636func (c *CostExplorer) UpdateAnomalyMonitorRequest(input *UpdateAnomalyMonitorInput) (req *request.Request, output *UpdateAnomalyMonitorOutput) { 2637 op := &request.Operation{ 2638 Name: opUpdateAnomalyMonitor, 2639 HTTPMethod: "POST", 2640 HTTPPath: "/", 2641 } 2642 2643 if input == nil { 2644 input = &UpdateAnomalyMonitorInput{} 2645 } 2646 2647 output = &UpdateAnomalyMonitorOutput{} 2648 req = c.newRequest(op, input, output) 2649 return 2650} 2651 2652// UpdateAnomalyMonitor API operation for AWS Cost Explorer Service. 2653// 2654// Updates an existing cost anomaly monitor. The changes made are applied going 2655// forward, and doesn'tt change anomalies detected in the past. 2656// 2657// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2658// with awserr.Error's Code and Message methods to get detailed information about 2659// the error. 2660// 2661// See the AWS API reference guide for AWS Cost Explorer Service's 2662// API operation UpdateAnomalyMonitor for usage and error information. 2663// 2664// Returned Error Types: 2665// * LimitExceededException 2666// You made too many calls in a short period of time. Try again later. 2667// 2668// * UnknownMonitorException 2669// The cost anomaly monitor does not exist for the account. 2670// 2671// See also, https://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/UpdateAnomalyMonitor 2672func (c *CostExplorer) UpdateAnomalyMonitor(input *UpdateAnomalyMonitorInput) (*UpdateAnomalyMonitorOutput, error) { 2673 req, out := c.UpdateAnomalyMonitorRequest(input) 2674 return out, req.Send() 2675} 2676 2677// UpdateAnomalyMonitorWithContext is the same as UpdateAnomalyMonitor with the addition of 2678// the ability to pass a context and additional request options. 2679// 2680// See UpdateAnomalyMonitor for details on how to use this API operation. 2681// 2682// The context must be non-nil and will be used for request cancellation. If 2683// the context is nil a panic will occur. In the future the SDK may create 2684// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2685// for more information on using Contexts. 2686func (c *CostExplorer) UpdateAnomalyMonitorWithContext(ctx aws.Context, input *UpdateAnomalyMonitorInput, opts ...request.Option) (*UpdateAnomalyMonitorOutput, error) { 2687 req, out := c.UpdateAnomalyMonitorRequest(input) 2688 req.SetContext(ctx) 2689 req.ApplyOptions(opts...) 2690 return out, req.Send() 2691} 2692 2693const opUpdateAnomalySubscription = "UpdateAnomalySubscription" 2694 2695// UpdateAnomalySubscriptionRequest generates a "aws/request.Request" representing the 2696// client's request for the UpdateAnomalySubscription operation. The "output" return 2697// value will be populated with the request's response once the request completes 2698// successfully. 2699// 2700// Use "Send" method on the returned Request to send the API call to the service. 2701// the "output" return value is not valid until after Send returns without error. 2702// 2703// See UpdateAnomalySubscription for more information on using the UpdateAnomalySubscription 2704// API call, and error handling. 2705// 2706// This method is useful when you want to inject custom logic or configuration 2707// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2708// 2709// 2710// // Example sending a request using the UpdateAnomalySubscriptionRequest method. 2711// req, resp := client.UpdateAnomalySubscriptionRequest(params) 2712// 2713// err := req.Send() 2714// if err == nil { // resp is now filled 2715// fmt.Println(resp) 2716// } 2717// 2718// See also, https://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/UpdateAnomalySubscription 2719func (c *CostExplorer) UpdateAnomalySubscriptionRequest(input *UpdateAnomalySubscriptionInput) (req *request.Request, output *UpdateAnomalySubscriptionOutput) { 2720 op := &request.Operation{ 2721 Name: opUpdateAnomalySubscription, 2722 HTTPMethod: "POST", 2723 HTTPPath: "/", 2724 } 2725 2726 if input == nil { 2727 input = &UpdateAnomalySubscriptionInput{} 2728 } 2729 2730 output = &UpdateAnomalySubscriptionOutput{} 2731 req = c.newRequest(op, input, output) 2732 return 2733} 2734 2735// UpdateAnomalySubscription API operation for AWS Cost Explorer Service. 2736// 2737// Updates an existing cost anomaly monitor subscription. 2738// 2739// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2740// with awserr.Error's Code and Message methods to get detailed information about 2741// the error. 2742// 2743// See the AWS API reference guide for AWS Cost Explorer Service's 2744// API operation UpdateAnomalySubscription for usage and error information. 2745// 2746// Returned Error Types: 2747// * LimitExceededException 2748// You made too many calls in a short period of time. Try again later. 2749// 2750// * UnknownMonitorException 2751// The cost anomaly monitor does not exist for the account. 2752// 2753// * UnknownSubscriptionException 2754// The cost anomaly subscription does not exist for the account. 2755// 2756// See also, https://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/UpdateAnomalySubscription 2757func (c *CostExplorer) UpdateAnomalySubscription(input *UpdateAnomalySubscriptionInput) (*UpdateAnomalySubscriptionOutput, error) { 2758 req, out := c.UpdateAnomalySubscriptionRequest(input) 2759 return out, req.Send() 2760} 2761 2762// UpdateAnomalySubscriptionWithContext is the same as UpdateAnomalySubscription with the addition of 2763// the ability to pass a context and additional request options. 2764// 2765// See UpdateAnomalySubscription for details on how to use this API operation. 2766// 2767// The context must be non-nil and will be used for request cancellation. If 2768// the context is nil a panic will occur. In the future the SDK may create 2769// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2770// for more information on using Contexts. 2771func (c *CostExplorer) UpdateAnomalySubscriptionWithContext(ctx aws.Context, input *UpdateAnomalySubscriptionInput, opts ...request.Option) (*UpdateAnomalySubscriptionOutput, error) { 2772 req, out := c.UpdateAnomalySubscriptionRequest(input) 2773 req.SetContext(ctx) 2774 req.ApplyOptions(opts...) 2775 return out, req.Send() 2776} 2777 2778const opUpdateCostCategoryDefinition = "UpdateCostCategoryDefinition" 2779 2780// UpdateCostCategoryDefinitionRequest generates a "aws/request.Request" representing the 2781// client's request for the UpdateCostCategoryDefinition operation. The "output" return 2782// value will be populated with the request's response once the request completes 2783// successfully. 2784// 2785// Use "Send" method on the returned Request to send the API call to the service. 2786// the "output" return value is not valid until after Send returns without error. 2787// 2788// See UpdateCostCategoryDefinition for more information on using the UpdateCostCategoryDefinition 2789// API call, and error handling. 2790// 2791// This method is useful when you want to inject custom logic or configuration 2792// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2793// 2794// 2795// // Example sending a request using the UpdateCostCategoryDefinitionRequest method. 2796// req, resp := client.UpdateCostCategoryDefinitionRequest(params) 2797// 2798// err := req.Send() 2799// if err == nil { // resp is now filled 2800// fmt.Println(resp) 2801// } 2802// 2803// See also, https://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/UpdateCostCategoryDefinition 2804func (c *CostExplorer) UpdateCostCategoryDefinitionRequest(input *UpdateCostCategoryDefinitionInput) (req *request.Request, output *UpdateCostCategoryDefinitionOutput) { 2805 op := &request.Operation{ 2806 Name: opUpdateCostCategoryDefinition, 2807 HTTPMethod: "POST", 2808 HTTPPath: "/", 2809 } 2810 2811 if input == nil { 2812 input = &UpdateCostCategoryDefinitionInput{} 2813 } 2814 2815 output = &UpdateCostCategoryDefinitionOutput{} 2816 req = c.newRequest(op, input, output) 2817 return 2818} 2819 2820// UpdateCostCategoryDefinition API operation for AWS Cost Explorer Service. 2821// 2822// Updates an existing Cost Category. Changes made to the Cost Category rules 2823// will be used to categorize the current month’s expenses and future expenses. 2824// This won’t change categorization for the previous months. 2825// 2826// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2827// with awserr.Error's Code and Message methods to get detailed information about 2828// the error. 2829// 2830// See the AWS API reference guide for AWS Cost Explorer Service's 2831// API operation UpdateCostCategoryDefinition for usage and error information. 2832// 2833// Returned Error Types: 2834// * ResourceNotFoundException 2835// The specified ARN in the request doesn't exist. 2836// 2837// * ServiceQuotaExceededException 2838// You've reached the limit on the number of resources you can create, or exceeded 2839// the size of an individual resource. 2840// 2841// * LimitExceededException 2842// You made too many calls in a short period of time. Try again later. 2843// 2844// See also, https://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/UpdateCostCategoryDefinition 2845func (c *CostExplorer) UpdateCostCategoryDefinition(input *UpdateCostCategoryDefinitionInput) (*UpdateCostCategoryDefinitionOutput, error) { 2846 req, out := c.UpdateCostCategoryDefinitionRequest(input) 2847 return out, req.Send() 2848} 2849 2850// UpdateCostCategoryDefinitionWithContext is the same as UpdateCostCategoryDefinition with the addition of 2851// the ability to pass a context and additional request options. 2852// 2853// See UpdateCostCategoryDefinition for details on how to use this API operation. 2854// 2855// The context must be non-nil and will be used for request cancellation. If 2856// the context is nil a panic will occur. In the future the SDK may create 2857// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2858// for more information on using Contexts. 2859func (c *CostExplorer) UpdateCostCategoryDefinitionWithContext(ctx aws.Context, input *UpdateCostCategoryDefinitionInput, opts ...request.Option) (*UpdateCostCategoryDefinitionOutput, error) { 2860 req, out := c.UpdateCostCategoryDefinitionRequest(input) 2861 req.SetContext(ctx) 2862 req.ApplyOptions(opts...) 2863 return out, req.Send() 2864} 2865 2866// An unusual cost pattern. This consists of the detailed metadata and the current 2867// status of the anomaly object. 2868type Anomaly struct { 2869 _ struct{} `type:"structure"` 2870 2871 // The last day the anomaly is detected. 2872 AnomalyEndDate *string `type:"string"` 2873 2874 // The unique identifier for the anomaly. 2875 // 2876 // AnomalyId is a required field 2877 AnomalyId *string `type:"string" required:"true"` 2878 2879 // The latest and maximum score for the anomaly. 2880 // 2881 // AnomalyScore is a required field 2882 AnomalyScore *AnomalyScore `type:"structure" required:"true"` 2883 2884 // The first day the anomaly is detected. 2885 AnomalyStartDate *string `type:"string"` 2886 2887 // The dimension for the anomaly (for example, an Amazon Web Services service 2888 // in a service monitor). 2889 DimensionValue *string `type:"string"` 2890 2891 // The feedback value. 2892 Feedback *string `type:"string" enum:"AnomalyFeedbackType"` 2893 2894 // The dollar impact for the anomaly. 2895 // 2896 // Impact is a required field 2897 Impact *Impact `type:"structure" required:"true"` 2898 2899 // The Amazon Resource Name (ARN) for the cost monitor that generated this anomaly. 2900 // 2901 // MonitorArn is a required field 2902 MonitorArn *string `type:"string" required:"true"` 2903 2904 // The list of identified root causes for the anomaly. 2905 RootCauses []*RootCause `type:"list"` 2906} 2907 2908// String returns the string representation. 2909// 2910// API parameter values that are decorated as "sensitive" in the API will not 2911// be included in the string output. The member name will be present, but the 2912// value will be replaced with "sensitive". 2913func (s Anomaly) String() string { 2914 return awsutil.Prettify(s) 2915} 2916 2917// GoString returns the string representation. 2918// 2919// API parameter values that are decorated as "sensitive" in the API will not 2920// be included in the string output. The member name will be present, but the 2921// value will be replaced with "sensitive". 2922func (s Anomaly) GoString() string { 2923 return s.String() 2924} 2925 2926// SetAnomalyEndDate sets the AnomalyEndDate field's value. 2927func (s *Anomaly) SetAnomalyEndDate(v string) *Anomaly { 2928 s.AnomalyEndDate = &v 2929 return s 2930} 2931 2932// SetAnomalyId sets the AnomalyId field's value. 2933func (s *Anomaly) SetAnomalyId(v string) *Anomaly { 2934 s.AnomalyId = &v 2935 return s 2936} 2937 2938// SetAnomalyScore sets the AnomalyScore field's value. 2939func (s *Anomaly) SetAnomalyScore(v *AnomalyScore) *Anomaly { 2940 s.AnomalyScore = v 2941 return s 2942} 2943 2944// SetAnomalyStartDate sets the AnomalyStartDate field's value. 2945func (s *Anomaly) SetAnomalyStartDate(v string) *Anomaly { 2946 s.AnomalyStartDate = &v 2947 return s 2948} 2949 2950// SetDimensionValue sets the DimensionValue field's value. 2951func (s *Anomaly) SetDimensionValue(v string) *Anomaly { 2952 s.DimensionValue = &v 2953 return s 2954} 2955 2956// SetFeedback sets the Feedback field's value. 2957func (s *Anomaly) SetFeedback(v string) *Anomaly { 2958 s.Feedback = &v 2959 return s 2960} 2961 2962// SetImpact sets the Impact field's value. 2963func (s *Anomaly) SetImpact(v *Impact) *Anomaly { 2964 s.Impact = v 2965 return s 2966} 2967 2968// SetMonitorArn sets the MonitorArn field's value. 2969func (s *Anomaly) SetMonitorArn(v string) *Anomaly { 2970 s.MonitorArn = &v 2971 return s 2972} 2973 2974// SetRootCauses sets the RootCauses field's value. 2975func (s *Anomaly) SetRootCauses(v []*RootCause) *Anomaly { 2976 s.RootCauses = v 2977 return s 2978} 2979 2980// The time period for an anomaly. 2981type AnomalyDateInterval struct { 2982 _ struct{} `type:"structure"` 2983 2984 // The last date an anomaly was observed. 2985 EndDate *string `type:"string"` 2986 2987 // The first date an anomaly was observed. 2988 // 2989 // StartDate is a required field 2990 StartDate *string `type:"string" required:"true"` 2991} 2992 2993// String returns the string representation. 2994// 2995// API parameter values that are decorated as "sensitive" in the API will not 2996// be included in the string output. The member name will be present, but the 2997// value will be replaced with "sensitive". 2998func (s AnomalyDateInterval) String() string { 2999 return awsutil.Prettify(s) 3000} 3001 3002// GoString returns the string representation. 3003// 3004// API parameter values that are decorated as "sensitive" in the API will not 3005// be included in the string output. The member name will be present, but the 3006// value will be replaced with "sensitive". 3007func (s AnomalyDateInterval) GoString() string { 3008 return s.String() 3009} 3010 3011// Validate inspects the fields of the type to determine if they are valid. 3012func (s *AnomalyDateInterval) Validate() error { 3013 invalidParams := request.ErrInvalidParams{Context: "AnomalyDateInterval"} 3014 if s.StartDate == nil { 3015 invalidParams.Add(request.NewErrParamRequired("StartDate")) 3016 } 3017 3018 if invalidParams.Len() > 0 { 3019 return invalidParams 3020 } 3021 return nil 3022} 3023 3024// SetEndDate sets the EndDate field's value. 3025func (s *AnomalyDateInterval) SetEndDate(v string) *AnomalyDateInterval { 3026 s.EndDate = &v 3027 return s 3028} 3029 3030// SetStartDate sets the StartDate field's value. 3031func (s *AnomalyDateInterval) SetStartDate(v string) *AnomalyDateInterval { 3032 s.StartDate = &v 3033 return s 3034} 3035 3036// This object continuously inspects your account's cost data for anomalies. 3037// It's based on MonitorType and MonitorSpecification. The content consists 3038// of detailed metadata and the current status of the monitor object. 3039type AnomalyMonitor struct { 3040 _ struct{} `type:"structure"` 3041 3042 // The date when the monitor was created. 3043 CreationDate *string `type:"string"` 3044 3045 // The value for evaluated dimensions. 3046 DimensionalValueCount *int64 `type:"integer"` 3047 3048 // The date when the monitor last evaluated for anomalies. 3049 LastEvaluatedDate *string `type:"string"` 3050 3051 // The date when the monitor was last updated. 3052 LastUpdatedDate *string `type:"string"` 3053 3054 // The Amazon Resource Name (ARN) value. 3055 MonitorArn *string `type:"string"` 3056 3057 // The dimensions to evaluate. 3058 MonitorDimension *string `type:"string" enum:"MonitorDimension"` 3059 3060 // The name of the monitor. 3061 // 3062 // MonitorName is a required field 3063 MonitorName *string `type:"string" required:"true"` 3064 3065 // Use Expression to filter by cost or by usage. There are two patterns: 3066 // 3067 // * Simple dimension values - You can set the dimension name and values 3068 // for the filters that you plan to use. For example, you can filter for 3069 // REGION==us-east-1 OR REGION==us-west-1. For GetRightsizingRecommendation, 3070 // the Region is a full name (for example, REGION==US East (N. Virginia). 3071 // The Expression example is as follows: { "Dimensions": { "Key": "REGION", 3072 // "Values": [ "us-east-1", “us-west-1” ] } } The list of dimension values 3073 // are OR'd together to retrieve cost or usage data. You can create Expression 3074 // and DimensionValues objects using either with* methods or set* methods 3075 // in multiple lines. 3076 // 3077 // * Compound dimension values with logical operations - You can use multiple 3078 // Expression types and the logical operators AND/OR/NOT to create a list 3079 // of one or more Expression objects. By doing this, you can filter on more 3080 // advanced options. For example, you can filter on ((REGION == us-east-1 3081 // OR REGION == us-west-1) OR (TAG.Type == Type1)) AND (USAGE_TYPE != DataTransfer). 3082 // The Expression for that is as follows: { "And": [ {"Or": [ {"Dimensions": 3083 // { "Key": "REGION", "Values": [ "us-east-1", "us-west-1" ] }}, {"Tags": 3084 // { "Key": "TagName", "Values": ["Value1"] } } ]}, {"Not": {"Dimensions": 3085 // { "Key": "USAGE_TYPE", "Values": ["DataTransfer"] }}} ] } Because each 3086 // Expression can have only one operator, the service returns an error if 3087 // more than one is specified. The following example shows an Expression 3088 // object that creates an error. { "And": [ ... ], "DimensionValues": { "Dimension": 3089 // "USAGE_TYPE", "Values": [ "DataTransfer" ] } } 3090 // 3091 // For the GetRightsizingRecommendation action, a combination of OR and NOT 3092 // isn't supported. OR isn't supported between different dimensions, or dimensions 3093 // and tags. NOT operators aren't supported. Dimensions are also limited to 3094 // LINKED_ACCOUNT, REGION, or RIGHTSIZING_TYPE. 3095 // 3096 // For the GetReservationPurchaseRecommendation action, only NOT is supported. 3097 // AND and OR aren't supported. Dimensions are limited to LINKED_ACCOUNT. 3098 MonitorSpecification *Expression `type:"structure"` 3099 3100 // The possible type values. 3101 // 3102 // MonitorType is a required field 3103 MonitorType *string `type:"string" required:"true" enum:"MonitorType"` 3104} 3105 3106// String returns the string representation. 3107// 3108// API parameter values that are decorated as "sensitive" in the API will not 3109// be included in the string output. The member name will be present, but the 3110// value will be replaced with "sensitive". 3111func (s AnomalyMonitor) String() string { 3112 return awsutil.Prettify(s) 3113} 3114 3115// GoString returns the string representation. 3116// 3117// API parameter values that are decorated as "sensitive" in the API will not 3118// be included in the string output. The member name will be present, but the 3119// value will be replaced with "sensitive". 3120func (s AnomalyMonitor) GoString() string { 3121 return s.String() 3122} 3123 3124// Validate inspects the fields of the type to determine if they are valid. 3125func (s *AnomalyMonitor) Validate() error { 3126 invalidParams := request.ErrInvalidParams{Context: "AnomalyMonitor"} 3127 if s.MonitorName == nil { 3128 invalidParams.Add(request.NewErrParamRequired("MonitorName")) 3129 } 3130 if s.MonitorType == nil { 3131 invalidParams.Add(request.NewErrParamRequired("MonitorType")) 3132 } 3133 if s.MonitorSpecification != nil { 3134 if err := s.MonitorSpecification.Validate(); err != nil { 3135 invalidParams.AddNested("MonitorSpecification", err.(request.ErrInvalidParams)) 3136 } 3137 } 3138 3139 if invalidParams.Len() > 0 { 3140 return invalidParams 3141 } 3142 return nil 3143} 3144 3145// SetCreationDate sets the CreationDate field's value. 3146func (s *AnomalyMonitor) SetCreationDate(v string) *AnomalyMonitor { 3147 s.CreationDate = &v 3148 return s 3149} 3150 3151// SetDimensionalValueCount sets the DimensionalValueCount field's value. 3152func (s *AnomalyMonitor) SetDimensionalValueCount(v int64) *AnomalyMonitor { 3153 s.DimensionalValueCount = &v 3154 return s 3155} 3156 3157// SetLastEvaluatedDate sets the LastEvaluatedDate field's value. 3158func (s *AnomalyMonitor) SetLastEvaluatedDate(v string) *AnomalyMonitor { 3159 s.LastEvaluatedDate = &v 3160 return s 3161} 3162 3163// SetLastUpdatedDate sets the LastUpdatedDate field's value. 3164func (s *AnomalyMonitor) SetLastUpdatedDate(v string) *AnomalyMonitor { 3165 s.LastUpdatedDate = &v 3166 return s 3167} 3168 3169// SetMonitorArn sets the MonitorArn field's value. 3170func (s *AnomalyMonitor) SetMonitorArn(v string) *AnomalyMonitor { 3171 s.MonitorArn = &v 3172 return s 3173} 3174 3175// SetMonitorDimension sets the MonitorDimension field's value. 3176func (s *AnomalyMonitor) SetMonitorDimension(v string) *AnomalyMonitor { 3177 s.MonitorDimension = &v 3178 return s 3179} 3180 3181// SetMonitorName sets the MonitorName field's value. 3182func (s *AnomalyMonitor) SetMonitorName(v string) *AnomalyMonitor { 3183 s.MonitorName = &v 3184 return s 3185} 3186 3187// SetMonitorSpecification sets the MonitorSpecification field's value. 3188func (s *AnomalyMonitor) SetMonitorSpecification(v *Expression) *AnomalyMonitor { 3189 s.MonitorSpecification = v 3190 return s 3191} 3192 3193// SetMonitorType sets the MonitorType field's value. 3194func (s *AnomalyMonitor) SetMonitorType(v string) *AnomalyMonitor { 3195 s.MonitorType = &v 3196 return s 3197} 3198 3199// Quantifies the anomaly. The higher score means that it's more anomalous. 3200type AnomalyScore struct { 3201 _ struct{} `type:"structure"` 3202 3203 // The last observed score. 3204 // 3205 // CurrentScore is a required field 3206 CurrentScore *float64 `type:"double" required:"true"` 3207 3208 // The maximum score that's observed during the AnomalyDateInterval. 3209 // 3210 // MaxScore is a required field 3211 MaxScore *float64 `type:"double" required:"true"` 3212} 3213 3214// String returns the string representation. 3215// 3216// API parameter values that are decorated as "sensitive" in the API will not 3217// be included in the string output. The member name will be present, but the 3218// value will be replaced with "sensitive". 3219func (s AnomalyScore) String() string { 3220 return awsutil.Prettify(s) 3221} 3222 3223// GoString returns the string representation. 3224// 3225// API parameter values that are decorated as "sensitive" in the API will not 3226// be included in the string output. The member name will be present, but the 3227// value will be replaced with "sensitive". 3228func (s AnomalyScore) GoString() string { 3229 return s.String() 3230} 3231 3232// SetCurrentScore sets the CurrentScore field's value. 3233func (s *AnomalyScore) SetCurrentScore(v float64) *AnomalyScore { 3234 s.CurrentScore = &v 3235 return s 3236} 3237 3238// SetMaxScore sets the MaxScore field's value. 3239func (s *AnomalyScore) SetMaxScore(v float64) *AnomalyScore { 3240 s.MaxScore = &v 3241 return s 3242} 3243 3244// The association between a monitor, threshold, and list of subscribers used 3245// to deliver notifications about anomalies detected by a monitor that exceeds 3246// a threshold. The content consists of the detailed metadata and the current 3247// status of the AnomalySubscription object. 3248type AnomalySubscription struct { 3249 _ struct{} `type:"structure"` 3250 3251 // Your unique account identifier. 3252 AccountId *string `type:"string"` 3253 3254 // The frequency that anomaly reports are sent over email. 3255 // 3256 // Frequency is a required field 3257 Frequency *string `type:"string" required:"true" enum:"AnomalySubscriptionFrequency"` 3258 3259 // A list of cost anomaly monitors. 3260 // 3261 // MonitorArnList is a required field 3262 MonitorArnList []*string `type:"list" required:"true"` 3263 3264 // A list of subscribers to notify. 3265 // 3266 // Subscribers is a required field 3267 Subscribers []*Subscriber `type:"list" required:"true"` 3268 3269 // The AnomalySubscription Amazon Resource Name (ARN). 3270 SubscriptionArn *string `type:"string"` 3271 3272 // The name for the subscription. 3273 // 3274 // SubscriptionName is a required field 3275 SubscriptionName *string `type:"string" required:"true"` 3276 3277 // The dollar value that triggers a notification if the threshold is exceeded. 3278 // 3279 // Threshold is a required field 3280 Threshold *float64 `type:"double" required:"true"` 3281} 3282 3283// String returns the string representation. 3284// 3285// API parameter values that are decorated as "sensitive" in the API will not 3286// be included in the string output. The member name will be present, but the 3287// value will be replaced with "sensitive". 3288func (s AnomalySubscription) String() string { 3289 return awsutil.Prettify(s) 3290} 3291 3292// GoString returns the string representation. 3293// 3294// API parameter values that are decorated as "sensitive" in the API will not 3295// be included in the string output. The member name will be present, but the 3296// value will be replaced with "sensitive". 3297func (s AnomalySubscription) GoString() string { 3298 return s.String() 3299} 3300 3301// Validate inspects the fields of the type to determine if they are valid. 3302func (s *AnomalySubscription) Validate() error { 3303 invalidParams := request.ErrInvalidParams{Context: "AnomalySubscription"} 3304 if s.Frequency == nil { 3305 invalidParams.Add(request.NewErrParamRequired("Frequency")) 3306 } 3307 if s.MonitorArnList == nil { 3308 invalidParams.Add(request.NewErrParamRequired("MonitorArnList")) 3309 } 3310 if s.Subscribers == nil { 3311 invalidParams.Add(request.NewErrParamRequired("Subscribers")) 3312 } 3313 if s.SubscriptionName == nil { 3314 invalidParams.Add(request.NewErrParamRequired("SubscriptionName")) 3315 } 3316 if s.Threshold == nil { 3317 invalidParams.Add(request.NewErrParamRequired("Threshold")) 3318 } 3319 if s.Subscribers != nil { 3320 for i, v := range s.Subscribers { 3321 if v == nil { 3322 continue 3323 } 3324 if err := v.Validate(); err != nil { 3325 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Subscribers", i), err.(request.ErrInvalidParams)) 3326 } 3327 } 3328 } 3329 3330 if invalidParams.Len() > 0 { 3331 return invalidParams 3332 } 3333 return nil 3334} 3335 3336// SetAccountId sets the AccountId field's value. 3337func (s *AnomalySubscription) SetAccountId(v string) *AnomalySubscription { 3338 s.AccountId = &v 3339 return s 3340} 3341 3342// SetFrequency sets the Frequency field's value. 3343func (s *AnomalySubscription) SetFrequency(v string) *AnomalySubscription { 3344 s.Frequency = &v 3345 return s 3346} 3347 3348// SetMonitorArnList sets the MonitorArnList field's value. 3349func (s *AnomalySubscription) SetMonitorArnList(v []*string) *AnomalySubscription { 3350 s.MonitorArnList = v 3351 return s 3352} 3353 3354// SetSubscribers sets the Subscribers field's value. 3355func (s *AnomalySubscription) SetSubscribers(v []*Subscriber) *AnomalySubscription { 3356 s.Subscribers = v 3357 return s 3358} 3359 3360// SetSubscriptionArn sets the SubscriptionArn field's value. 3361func (s *AnomalySubscription) SetSubscriptionArn(v string) *AnomalySubscription { 3362 s.SubscriptionArn = &v 3363 return s 3364} 3365 3366// SetSubscriptionName sets the SubscriptionName field's value. 3367func (s *AnomalySubscription) SetSubscriptionName(v string) *AnomalySubscription { 3368 s.SubscriptionName = &v 3369 return s 3370} 3371 3372// SetThreshold sets the Threshold field's value. 3373func (s *AnomalySubscription) SetThreshold(v float64) *AnomalySubscription { 3374 s.Threshold = &v 3375 return s 3376} 3377 3378// The requested report expired. Update the date interval and try again. 3379type BillExpirationException struct { 3380 _ struct{} `type:"structure"` 3381 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 3382 3383 Message_ *string `locationName:"Message" type:"string"` 3384} 3385 3386// String returns the string representation. 3387// 3388// API parameter values that are decorated as "sensitive" in the API will not 3389// be included in the string output. The member name will be present, but the 3390// value will be replaced with "sensitive". 3391func (s BillExpirationException) String() string { 3392 return awsutil.Prettify(s) 3393} 3394 3395// GoString returns the string representation. 3396// 3397// API parameter values that are decorated as "sensitive" in the API will not 3398// be included in the string output. The member name will be present, but the 3399// value will be replaced with "sensitive". 3400func (s BillExpirationException) GoString() string { 3401 return s.String() 3402} 3403 3404func newErrorBillExpirationException(v protocol.ResponseMetadata) error { 3405 return &BillExpirationException{ 3406 RespMetadata: v, 3407 } 3408} 3409 3410// Code returns the exception type name. 3411func (s *BillExpirationException) Code() string { 3412 return "BillExpirationException" 3413} 3414 3415// Message returns the exception's message. 3416func (s *BillExpirationException) Message() string { 3417 if s.Message_ != nil { 3418 return *s.Message_ 3419 } 3420 return "" 3421} 3422 3423// OrigErr always returns nil, satisfies awserr.Error interface. 3424func (s *BillExpirationException) OrigErr() error { 3425 return nil 3426} 3427 3428func (s *BillExpirationException) Error() string { 3429 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 3430} 3431 3432// Status code returns the HTTP status code for the request's response error. 3433func (s *BillExpirationException) StatusCode() int { 3434 return s.RespMetadata.StatusCode 3435} 3436 3437// RequestID returns the service's response RequestID for request. 3438func (s *BillExpirationException) RequestID() string { 3439 return s.RespMetadata.RequestID 3440} 3441 3442// The structure of Cost Categories. This includes detailed metadata and the 3443// set of rules for the CostCategory object. 3444type CostCategory struct { 3445 _ struct{} `type:"structure"` 3446 3447 // The unique identifier for your Cost Category. 3448 // 3449 // CostCategoryArn is a required field 3450 CostCategoryArn *string `min:"20" type:"string" required:"true"` 3451 3452 // The default value for the cost category. 3453 DefaultValue *string `min:"1" type:"string"` 3454 3455 // The effective end data of your Cost Category. 3456 EffectiveEnd *string `min:"20" type:"string"` 3457 3458 // The effective state data of your Cost Category. 3459 // 3460 // EffectiveStart is a required field 3461 EffectiveStart *string `min:"20" type:"string" required:"true"` 3462 3463 // The unique name of the Cost Category. 3464 // 3465 // Name is a required field 3466 Name *string `min:"1" type:"string" required:"true"` 3467 3468 // The list of processing statuses for Cost Management products for a specific 3469 // cost category. 3470 ProcessingStatus []*CostCategoryProcessingStatus `type:"list"` 3471 3472 // The rule schema version in this particular Cost Category. 3473 // 3474 // RuleVersion is a required field 3475 RuleVersion *string `type:"string" required:"true" enum:"CostCategoryRuleVersion"` 3476 3477 // The rules are processed in order. If there are multiple rules that match 3478 // the line item, then the first rule to match is used to determine that Cost 3479 // Category value. 3480 // 3481 // Rules is a required field 3482 Rules []*CostCategoryRule `min:"1" type:"list" required:"true"` 3483 3484 // The split charge rules that are used to allocate your charges between your 3485 // Cost Category values. 3486 SplitChargeRules []*CostCategorySplitChargeRule `min:"1" type:"list"` 3487} 3488 3489// String returns the string representation. 3490// 3491// API parameter values that are decorated as "sensitive" in the API will not 3492// be included in the string output. The member name will be present, but the 3493// value will be replaced with "sensitive". 3494func (s CostCategory) String() string { 3495 return awsutil.Prettify(s) 3496} 3497 3498// GoString returns the string representation. 3499// 3500// API parameter values that are decorated as "sensitive" in the API will not 3501// be included in the string output. The member name will be present, but the 3502// value will be replaced with "sensitive". 3503func (s CostCategory) GoString() string { 3504 return s.String() 3505} 3506 3507// SetCostCategoryArn sets the CostCategoryArn field's value. 3508func (s *CostCategory) SetCostCategoryArn(v string) *CostCategory { 3509 s.CostCategoryArn = &v 3510 return s 3511} 3512 3513// SetDefaultValue sets the DefaultValue field's value. 3514func (s *CostCategory) SetDefaultValue(v string) *CostCategory { 3515 s.DefaultValue = &v 3516 return s 3517} 3518 3519// SetEffectiveEnd sets the EffectiveEnd field's value. 3520func (s *CostCategory) SetEffectiveEnd(v string) *CostCategory { 3521 s.EffectiveEnd = &v 3522 return s 3523} 3524 3525// SetEffectiveStart sets the EffectiveStart field's value. 3526func (s *CostCategory) SetEffectiveStart(v string) *CostCategory { 3527 s.EffectiveStart = &v 3528 return s 3529} 3530 3531// SetName sets the Name field's value. 3532func (s *CostCategory) SetName(v string) *CostCategory { 3533 s.Name = &v 3534 return s 3535} 3536 3537// SetProcessingStatus sets the ProcessingStatus field's value. 3538func (s *CostCategory) SetProcessingStatus(v []*CostCategoryProcessingStatus) *CostCategory { 3539 s.ProcessingStatus = v 3540 return s 3541} 3542 3543// SetRuleVersion sets the RuleVersion field's value. 3544func (s *CostCategory) SetRuleVersion(v string) *CostCategory { 3545 s.RuleVersion = &v 3546 return s 3547} 3548 3549// SetRules sets the Rules field's value. 3550func (s *CostCategory) SetRules(v []*CostCategoryRule) *CostCategory { 3551 s.Rules = v 3552 return s 3553} 3554 3555// SetSplitChargeRules sets the SplitChargeRules field's value. 3556func (s *CostCategory) SetSplitChargeRules(v []*CostCategorySplitChargeRule) *CostCategory { 3557 s.SplitChargeRules = v 3558 return s 3559} 3560 3561// When creating or updating a cost category, you can define the CostCategoryRule 3562// rule type as INHERITED_VALUE. This rule type adds the flexibility of defining 3563// a rule that dynamically inherits the cost category value from the dimension 3564// value defined by CostCategoryInheritedValueDimension. For example, if you 3565// want to dynamically group costs that are based on the value of a specific 3566// tag key, first choose an inherited value rule type, then choose the tag dimension 3567// and specify the tag key to use. 3568type CostCategoryInheritedValueDimension struct { 3569 _ struct{} `type:"structure"` 3570 3571 // The key to extract cost category values. 3572 DimensionKey *string `type:"string"` 3573 3574 // The name of the dimension that's used to group costs. 3575 // 3576 // If you specify LINKED_ACCOUNT_NAME, the cost category value is based on account 3577 // name. If you specify TAG, the cost category value will be based on the value 3578 // of the specified tag key. 3579 DimensionName *string `type:"string" enum:"CostCategoryInheritedValueDimensionName"` 3580} 3581 3582// String returns the string representation. 3583// 3584// API parameter values that are decorated as "sensitive" in the API will not 3585// be included in the string output. The member name will be present, but the 3586// value will be replaced with "sensitive". 3587func (s CostCategoryInheritedValueDimension) String() string { 3588 return awsutil.Prettify(s) 3589} 3590 3591// GoString returns the string representation. 3592// 3593// API parameter values that are decorated as "sensitive" in the API will not 3594// be included in the string output. The member name will be present, but the 3595// value will be replaced with "sensitive". 3596func (s CostCategoryInheritedValueDimension) GoString() string { 3597 return s.String() 3598} 3599 3600// SetDimensionKey sets the DimensionKey field's value. 3601func (s *CostCategoryInheritedValueDimension) SetDimensionKey(v string) *CostCategoryInheritedValueDimension { 3602 s.DimensionKey = &v 3603 return s 3604} 3605 3606// SetDimensionName sets the DimensionName field's value. 3607func (s *CostCategoryInheritedValueDimension) SetDimensionName(v string) *CostCategoryInheritedValueDimension { 3608 s.DimensionName = &v 3609 return s 3610} 3611 3612// The list of processing statuses for Cost Management products for a specific 3613// cost category. 3614type CostCategoryProcessingStatus struct { 3615 _ struct{} `type:"structure"` 3616 3617 // The Cost Management product name of the applied status. 3618 Component *string `type:"string" enum:"CostCategoryStatusComponent"` 3619 3620 // The process status for a specific cost category. 3621 Status *string `type:"string" enum:"CostCategoryStatus"` 3622} 3623 3624// String returns the string representation. 3625// 3626// API parameter values that are decorated as "sensitive" in the API will not 3627// be included in the string output. The member name will be present, but the 3628// value will be replaced with "sensitive". 3629func (s CostCategoryProcessingStatus) String() string { 3630 return awsutil.Prettify(s) 3631} 3632 3633// GoString returns the string representation. 3634// 3635// API parameter values that are decorated as "sensitive" in the API will not 3636// be included in the string output. The member name will be present, but the 3637// value will be replaced with "sensitive". 3638func (s CostCategoryProcessingStatus) GoString() string { 3639 return s.String() 3640} 3641 3642// SetComponent sets the Component field's value. 3643func (s *CostCategoryProcessingStatus) SetComponent(v string) *CostCategoryProcessingStatus { 3644 s.Component = &v 3645 return s 3646} 3647 3648// SetStatus sets the Status field's value. 3649func (s *CostCategoryProcessingStatus) SetStatus(v string) *CostCategoryProcessingStatus { 3650 s.Status = &v 3651 return s 3652} 3653 3654// A reference to a Cost Category containing only enough information to identify 3655// the Cost Category. 3656// 3657// You can use this information to retrieve the full Cost Category information 3658// using DescribeCostCategory. 3659type CostCategoryReference struct { 3660 _ struct{} `type:"structure"` 3661 3662 // The unique identifier for your Cost Category. 3663 CostCategoryArn *string `min:"20" type:"string"` 3664 3665 // The default value for the cost category. 3666 DefaultValue *string `min:"1" type:"string"` 3667 3668 // The Cost Category's effective end date. 3669 EffectiveEnd *string `min:"20" type:"string"` 3670 3671 // The Cost Category's effective start date. 3672 EffectiveStart *string `min:"20" type:"string"` 3673 3674 // The unique name of the Cost Category. 3675 Name *string `min:"1" type:"string"` 3676 3677 // The number of rules that are associated with a specific Cost Category. 3678 NumberOfRules *int64 `type:"integer"` 3679 3680 // The list of processing statuses for Cost Management products for a specific 3681 // cost category. 3682 ProcessingStatus []*CostCategoryProcessingStatus `type:"list"` 3683 3684 // A list of unique cost category values in a specific cost category. 3685 Values []*string `type:"list"` 3686} 3687 3688// String returns the string representation. 3689// 3690// API parameter values that are decorated as "sensitive" in the API will not 3691// be included in the string output. The member name will be present, but the 3692// value will be replaced with "sensitive". 3693func (s CostCategoryReference) String() string { 3694 return awsutil.Prettify(s) 3695} 3696 3697// GoString returns the string representation. 3698// 3699// API parameter values that are decorated as "sensitive" in the API will not 3700// be included in the string output. The member name will be present, but the 3701// value will be replaced with "sensitive". 3702func (s CostCategoryReference) GoString() string { 3703 return s.String() 3704} 3705 3706// SetCostCategoryArn sets the CostCategoryArn field's value. 3707func (s *CostCategoryReference) SetCostCategoryArn(v string) *CostCategoryReference { 3708 s.CostCategoryArn = &v 3709 return s 3710} 3711 3712// SetDefaultValue sets the DefaultValue field's value. 3713func (s *CostCategoryReference) SetDefaultValue(v string) *CostCategoryReference { 3714 s.DefaultValue = &v 3715 return s 3716} 3717 3718// SetEffectiveEnd sets the EffectiveEnd field's value. 3719func (s *CostCategoryReference) SetEffectiveEnd(v string) *CostCategoryReference { 3720 s.EffectiveEnd = &v 3721 return s 3722} 3723 3724// SetEffectiveStart sets the EffectiveStart field's value. 3725func (s *CostCategoryReference) SetEffectiveStart(v string) *CostCategoryReference { 3726 s.EffectiveStart = &v 3727 return s 3728} 3729 3730// SetName sets the Name field's value. 3731func (s *CostCategoryReference) SetName(v string) *CostCategoryReference { 3732 s.Name = &v 3733 return s 3734} 3735 3736// SetNumberOfRules sets the NumberOfRules field's value. 3737func (s *CostCategoryReference) SetNumberOfRules(v int64) *CostCategoryReference { 3738 s.NumberOfRules = &v 3739 return s 3740} 3741 3742// SetProcessingStatus sets the ProcessingStatus field's value. 3743func (s *CostCategoryReference) SetProcessingStatus(v []*CostCategoryProcessingStatus) *CostCategoryReference { 3744 s.ProcessingStatus = v 3745 return s 3746} 3747 3748// SetValues sets the Values field's value. 3749func (s *CostCategoryReference) SetValues(v []*string) *CostCategoryReference { 3750 s.Values = v 3751 return s 3752} 3753 3754// Rules are processed in order. If there are multiple rules that match the 3755// line item, then the first rule to match is used to determine that Cost Category 3756// value. 3757type CostCategoryRule struct { 3758 _ struct{} `type:"structure"` 3759 3760 // The value the line item is categorized as if the line item contains the matched 3761 // dimension. 3762 InheritedValue *CostCategoryInheritedValueDimension `type:"structure"` 3763 3764 // An Expression (https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_Expression.html) 3765 // object used to categorize costs. This supports dimensions, tags, and nested 3766 // expressions. Currently the only dimensions supported are LINKED_ACCOUNT, 3767 // SERVICE_CODE, RECORD_TYPE, and LINKED_ACCOUNT_NAME. 3768 // 3769 // Root level OR isn't supported. We recommend that you create a separate rule 3770 // instead. 3771 // 3772 // RECORD_TYPE is a dimension used for Cost Explorer APIs, and is also supported 3773 // for Cost Category expressions. This dimension uses different terms, depending 3774 // on whether you're using the console or API/JSON editor. For a detailed comparison, 3775 // see Term Comparisons (https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/manage-cost-categories.html#cost-categories-terms) 3776 // in the Billing and Cost Management User Guide. 3777 Rule *Expression `type:"structure"` 3778 3779 // You can define the CostCategoryRule rule type as either REGULAR or INHERITED_VALUE. 3780 // The INHERITED_VALUE rule type adds the flexibility of defining a rule that 3781 // dynamically inherits the cost category value from the dimension value defined 3782 // by CostCategoryInheritedValueDimension. For example, if you want to dynamically 3783 // group costs based on the value of a specific tag key, first choose an inherited 3784 // value rule type, then choose the tag dimension and specify the tag key to 3785 // use. 3786 Type *string `type:"string" enum:"CostCategoryRuleType"` 3787 3788 // The default value for the cost category. 3789 Value *string `min:"1" type:"string"` 3790} 3791 3792// String returns the string representation. 3793// 3794// API parameter values that are decorated as "sensitive" in the API will not 3795// be included in the string output. The member name will be present, but the 3796// value will be replaced with "sensitive". 3797func (s CostCategoryRule) String() string { 3798 return awsutil.Prettify(s) 3799} 3800 3801// GoString returns the string representation. 3802// 3803// API parameter values that are decorated as "sensitive" in the API will not 3804// be included in the string output. The member name will be present, but the 3805// value will be replaced with "sensitive". 3806func (s CostCategoryRule) GoString() string { 3807 return s.String() 3808} 3809 3810// Validate inspects the fields of the type to determine if they are valid. 3811func (s *CostCategoryRule) Validate() error { 3812 invalidParams := request.ErrInvalidParams{Context: "CostCategoryRule"} 3813 if s.Value != nil && len(*s.Value) < 1 { 3814 invalidParams.Add(request.NewErrParamMinLen("Value", 1)) 3815 } 3816 if s.Rule != nil { 3817 if err := s.Rule.Validate(); err != nil { 3818 invalidParams.AddNested("Rule", err.(request.ErrInvalidParams)) 3819 } 3820 } 3821 3822 if invalidParams.Len() > 0 { 3823 return invalidParams 3824 } 3825 return nil 3826} 3827 3828// SetInheritedValue sets the InheritedValue field's value. 3829func (s *CostCategoryRule) SetInheritedValue(v *CostCategoryInheritedValueDimension) *CostCategoryRule { 3830 s.InheritedValue = v 3831 return s 3832} 3833 3834// SetRule sets the Rule field's value. 3835func (s *CostCategoryRule) SetRule(v *Expression) *CostCategoryRule { 3836 s.Rule = v 3837 return s 3838} 3839 3840// SetType sets the Type field's value. 3841func (s *CostCategoryRule) SetType(v string) *CostCategoryRule { 3842 s.Type = &v 3843 return s 3844} 3845 3846// SetValue sets the Value field's value. 3847func (s *CostCategoryRule) SetValue(v string) *CostCategoryRule { 3848 s.Value = &v 3849 return s 3850} 3851 3852// Use the split charge rule to split the cost of one Cost Category value across 3853// several other target values. 3854type CostCategorySplitChargeRule struct { 3855 _ struct{} `type:"structure"` 3856 3857 // The method that's used to define how to split your source costs across your 3858 // targets. 3859 // 3860 // Proportional - Allocates charges across your targets based on the proportional 3861 // weighted cost of each target. 3862 // 3863 // Fixed - Allocates charges across your targets based on your defined allocation 3864 // percentage. 3865 // 3866 // >Even - Allocates costs evenly across all targets. 3867 // 3868 // Method is a required field 3869 Method *string `type:"string" required:"true" enum:"CostCategorySplitChargeMethod"` 3870 3871 // The parameters for a split charge method. This is only required for the FIXED 3872 // method. 3873 Parameters []*CostCategorySplitChargeRuleParameter `min:"1" type:"list"` 3874 3875 // The Cost Category value that you want to split. That value can't be used 3876 // as a source or a target in other split charge rules. To indicate uncategorized 3877 // costs, you can use an empty string as the source. 3878 // 3879 // Source is a required field 3880 Source *string `type:"string" required:"true"` 3881 3882 // The Cost Category values that you want to split costs across. These values 3883 // can't be used as a source in other split charge rules. 3884 // 3885 // Targets is a required field 3886 Targets []*string `min:"1" type:"list" required:"true"` 3887} 3888 3889// String returns the string representation. 3890// 3891// API parameter values that are decorated as "sensitive" in the API will not 3892// be included in the string output. The member name will be present, but the 3893// value will be replaced with "sensitive". 3894func (s CostCategorySplitChargeRule) String() string { 3895 return awsutil.Prettify(s) 3896} 3897 3898// GoString returns the string representation. 3899// 3900// API parameter values that are decorated as "sensitive" in the API will not 3901// be included in the string output. The member name will be present, but the 3902// value will be replaced with "sensitive". 3903func (s CostCategorySplitChargeRule) GoString() string { 3904 return s.String() 3905} 3906 3907// Validate inspects the fields of the type to determine if they are valid. 3908func (s *CostCategorySplitChargeRule) Validate() error { 3909 invalidParams := request.ErrInvalidParams{Context: "CostCategorySplitChargeRule"} 3910 if s.Method == nil { 3911 invalidParams.Add(request.NewErrParamRequired("Method")) 3912 } 3913 if s.Parameters != nil && len(s.Parameters) < 1 { 3914 invalidParams.Add(request.NewErrParamMinLen("Parameters", 1)) 3915 } 3916 if s.Source == nil { 3917 invalidParams.Add(request.NewErrParamRequired("Source")) 3918 } 3919 if s.Targets == nil { 3920 invalidParams.Add(request.NewErrParamRequired("Targets")) 3921 } 3922 if s.Targets != nil && len(s.Targets) < 1 { 3923 invalidParams.Add(request.NewErrParamMinLen("Targets", 1)) 3924 } 3925 if s.Parameters != nil { 3926 for i, v := range s.Parameters { 3927 if v == nil { 3928 continue 3929 } 3930 if err := v.Validate(); err != nil { 3931 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Parameters", i), err.(request.ErrInvalidParams)) 3932 } 3933 } 3934 } 3935 3936 if invalidParams.Len() > 0 { 3937 return invalidParams 3938 } 3939 return nil 3940} 3941 3942// SetMethod sets the Method field's value. 3943func (s *CostCategorySplitChargeRule) SetMethod(v string) *CostCategorySplitChargeRule { 3944 s.Method = &v 3945 return s 3946} 3947 3948// SetParameters sets the Parameters field's value. 3949func (s *CostCategorySplitChargeRule) SetParameters(v []*CostCategorySplitChargeRuleParameter) *CostCategorySplitChargeRule { 3950 s.Parameters = v 3951 return s 3952} 3953 3954// SetSource sets the Source field's value. 3955func (s *CostCategorySplitChargeRule) SetSource(v string) *CostCategorySplitChargeRule { 3956 s.Source = &v 3957 return s 3958} 3959 3960// SetTargets sets the Targets field's value. 3961func (s *CostCategorySplitChargeRule) SetTargets(v []*string) *CostCategorySplitChargeRule { 3962 s.Targets = v 3963 return s 3964} 3965 3966// The parameters for a split charge method. 3967type CostCategorySplitChargeRuleParameter struct { 3968 _ struct{} `type:"structure"` 3969 3970 // The parameter type. 3971 // 3972 // Type is a required field 3973 Type *string `type:"string" required:"true" enum:"CostCategorySplitChargeRuleParameterType"` 3974 3975 // The parameter values. 3976 // 3977 // Values is a required field 3978 Values []*string `min:"1" type:"list" required:"true"` 3979} 3980 3981// String returns the string representation. 3982// 3983// API parameter values that are decorated as "sensitive" in the API will not 3984// be included in the string output. The member name will be present, but the 3985// value will be replaced with "sensitive". 3986func (s CostCategorySplitChargeRuleParameter) String() string { 3987 return awsutil.Prettify(s) 3988} 3989 3990// GoString returns the string representation. 3991// 3992// API parameter values that are decorated as "sensitive" in the API will not 3993// be included in the string output. The member name will be present, but the 3994// value will be replaced with "sensitive". 3995func (s CostCategorySplitChargeRuleParameter) GoString() string { 3996 return s.String() 3997} 3998 3999// Validate inspects the fields of the type to determine if they are valid. 4000func (s *CostCategorySplitChargeRuleParameter) Validate() error { 4001 invalidParams := request.ErrInvalidParams{Context: "CostCategorySplitChargeRuleParameter"} 4002 if s.Type == nil { 4003 invalidParams.Add(request.NewErrParamRequired("Type")) 4004 } 4005 if s.Values == nil { 4006 invalidParams.Add(request.NewErrParamRequired("Values")) 4007 } 4008 if s.Values != nil && len(s.Values) < 1 { 4009 invalidParams.Add(request.NewErrParamMinLen("Values", 1)) 4010 } 4011 4012 if invalidParams.Len() > 0 { 4013 return invalidParams 4014 } 4015 return nil 4016} 4017 4018// SetType sets the Type field's value. 4019func (s *CostCategorySplitChargeRuleParameter) SetType(v string) *CostCategorySplitChargeRuleParameter { 4020 s.Type = &v 4021 return s 4022} 4023 4024// SetValues sets the Values field's value. 4025func (s *CostCategorySplitChargeRuleParameter) SetValues(v []*string) *CostCategorySplitChargeRuleParameter { 4026 s.Values = v 4027 return s 4028} 4029 4030// The Cost Categories values used for filtering the costs. 4031// 4032// If Values and Key are not specified, the ABSENT MatchOption is applied to 4033// all Cost Categories. That is, it filters on resources that aren't mapped 4034// to any Cost Categories. 4035// 4036// If Values is provided and Key isn't specified, the ABSENT MatchOption is 4037// applied to the Cost Categories Key only. That is, it filters on resources 4038// without the given Cost Categories key. 4039type CostCategoryValues struct { 4040 _ struct{} `type:"structure"` 4041 4042 // The unique name of the Cost Category. 4043 Key *string `min:"1" type:"string"` 4044 4045 // The match options that you can use to filter your results. MatchOptions is 4046 // only applicable for actions related to cost category. The default values 4047 // for MatchOptions is EQUALS and CASE_SENSITIVE. 4048 MatchOptions []*string `type:"list"` 4049 4050 // The specific value of the Cost Category. 4051 Values []*string `type:"list"` 4052} 4053 4054// String returns the string representation. 4055// 4056// API parameter values that are decorated as "sensitive" in the API will not 4057// be included in the string output. The member name will be present, but the 4058// value will be replaced with "sensitive". 4059func (s CostCategoryValues) String() string { 4060 return awsutil.Prettify(s) 4061} 4062 4063// GoString returns the string representation. 4064// 4065// API parameter values that are decorated as "sensitive" in the API will not 4066// be included in the string output. The member name will be present, but the 4067// value will be replaced with "sensitive". 4068func (s CostCategoryValues) GoString() string { 4069 return s.String() 4070} 4071 4072// Validate inspects the fields of the type to determine if they are valid. 4073func (s *CostCategoryValues) Validate() error { 4074 invalidParams := request.ErrInvalidParams{Context: "CostCategoryValues"} 4075 if s.Key != nil && len(*s.Key) < 1 { 4076 invalidParams.Add(request.NewErrParamMinLen("Key", 1)) 4077 } 4078 4079 if invalidParams.Len() > 0 { 4080 return invalidParams 4081 } 4082 return nil 4083} 4084 4085// SetKey sets the Key field's value. 4086func (s *CostCategoryValues) SetKey(v string) *CostCategoryValues { 4087 s.Key = &v 4088 return s 4089} 4090 4091// SetMatchOptions sets the MatchOptions field's value. 4092func (s *CostCategoryValues) SetMatchOptions(v []*string) *CostCategoryValues { 4093 s.MatchOptions = v 4094 return s 4095} 4096 4097// SetValues sets the Values field's value. 4098func (s *CostCategoryValues) SetValues(v []*string) *CostCategoryValues { 4099 s.Values = v 4100 return s 4101} 4102 4103// The amount of instance usage that a reservation covered. 4104type Coverage struct { 4105 _ struct{} `type:"structure"` 4106 4107 // The amount of cost that the reservation covered. 4108 CoverageCost *CoverageCost `type:"structure"` 4109 4110 // The amount of instance usage that the reservation covered, in hours. 4111 CoverageHours *CoverageHours `type:"structure"` 4112 4113 // The amount of instance usage that the reservation covered, in normalized 4114 // units. 4115 CoverageNormalizedUnits *CoverageNormalizedUnits `type:"structure"` 4116} 4117 4118// String returns the string representation. 4119// 4120// API parameter values that are decorated as "sensitive" in the API will not 4121// be included in the string output. The member name will be present, but the 4122// value will be replaced with "sensitive". 4123func (s Coverage) String() string { 4124 return awsutil.Prettify(s) 4125} 4126 4127// GoString returns the string representation. 4128// 4129// API parameter values that are decorated as "sensitive" in the API will not 4130// be included in the string output. The member name will be present, but the 4131// value will be replaced with "sensitive". 4132func (s Coverage) GoString() string { 4133 return s.String() 4134} 4135 4136// SetCoverageCost sets the CoverageCost field's value. 4137func (s *Coverage) SetCoverageCost(v *CoverageCost) *Coverage { 4138 s.CoverageCost = v 4139 return s 4140} 4141 4142// SetCoverageHours sets the CoverageHours field's value. 4143func (s *Coverage) SetCoverageHours(v *CoverageHours) *Coverage { 4144 s.CoverageHours = v 4145 return s 4146} 4147 4148// SetCoverageNormalizedUnits sets the CoverageNormalizedUnits field's value. 4149func (s *Coverage) SetCoverageNormalizedUnits(v *CoverageNormalizedUnits) *Coverage { 4150 s.CoverageNormalizedUnits = v 4151 return s 4152} 4153 4154// Reservation coverage for a specified period, in hours. 4155type CoverageByTime struct { 4156 _ struct{} `type:"structure"` 4157 4158 // The groups of instances that the reservation covered. 4159 Groups []*ReservationCoverageGroup `type:"list"` 4160 4161 // The period that this coverage was used over. 4162 TimePeriod *DateInterval `type:"structure"` 4163 4164 // The total reservation coverage, in hours. 4165 Total *Coverage `type:"structure"` 4166} 4167 4168// String returns the string representation. 4169// 4170// API parameter values that are decorated as "sensitive" in the API will not 4171// be included in the string output. The member name will be present, but the 4172// value will be replaced with "sensitive". 4173func (s CoverageByTime) String() string { 4174 return awsutil.Prettify(s) 4175} 4176 4177// GoString returns the string representation. 4178// 4179// API parameter values that are decorated as "sensitive" in the API will not 4180// be included in the string output. The member name will be present, but the 4181// value will be replaced with "sensitive". 4182func (s CoverageByTime) GoString() string { 4183 return s.String() 4184} 4185 4186// SetGroups sets the Groups field's value. 4187func (s *CoverageByTime) SetGroups(v []*ReservationCoverageGroup) *CoverageByTime { 4188 s.Groups = v 4189 return s 4190} 4191 4192// SetTimePeriod sets the TimePeriod field's value. 4193func (s *CoverageByTime) SetTimePeriod(v *DateInterval) *CoverageByTime { 4194 s.TimePeriod = v 4195 return s 4196} 4197 4198// SetTotal sets the Total field's value. 4199func (s *CoverageByTime) SetTotal(v *Coverage) *CoverageByTime { 4200 s.Total = v 4201 return s 4202} 4203 4204// How much it costs to run an instance. 4205type CoverageCost struct { 4206 _ struct{} `type:"structure"` 4207 4208 // How much an On-Demand Instance costs. 4209 OnDemandCost *string `type:"string"` 4210} 4211 4212// String returns the string representation. 4213// 4214// API parameter values that are decorated as "sensitive" in the API will not 4215// be included in the string output. The member name will be present, but the 4216// value will be replaced with "sensitive". 4217func (s CoverageCost) String() string { 4218 return awsutil.Prettify(s) 4219} 4220 4221// GoString returns the string representation. 4222// 4223// API parameter values that are decorated as "sensitive" in the API will not 4224// be included in the string output. The member name will be present, but the 4225// value will be replaced with "sensitive". 4226func (s CoverageCost) GoString() string { 4227 return s.String() 4228} 4229 4230// SetOnDemandCost sets the OnDemandCost field's value. 4231func (s *CoverageCost) SetOnDemandCost(v string) *CoverageCost { 4232 s.OnDemandCost = &v 4233 return s 4234} 4235 4236// How long a running instance either used a reservation or was On-Demand. 4237type CoverageHours struct { 4238 _ struct{} `type:"structure"` 4239 4240 // The percentage of instance hours that a reservation covered. 4241 CoverageHoursPercentage *string `type:"string"` 4242 4243 // The number of instance running hours that On-Demand Instances covered. 4244 OnDemandHours *string `type:"string"` 4245 4246 // The number of instance running hours that reservations covered. 4247 ReservedHours *string `type:"string"` 4248 4249 // The total instance usage, in hours. 4250 TotalRunningHours *string `type:"string"` 4251} 4252 4253// String returns the string representation. 4254// 4255// API parameter values that are decorated as "sensitive" in the API will not 4256// be included in the string output. The member name will be present, but the 4257// value will be replaced with "sensitive". 4258func (s CoverageHours) String() string { 4259 return awsutil.Prettify(s) 4260} 4261 4262// GoString returns the string representation. 4263// 4264// API parameter values that are decorated as "sensitive" in the API will not 4265// be included in the string output. The member name will be present, but the 4266// value will be replaced with "sensitive". 4267func (s CoverageHours) GoString() string { 4268 return s.String() 4269} 4270 4271// SetCoverageHoursPercentage sets the CoverageHoursPercentage field's value. 4272func (s *CoverageHours) SetCoverageHoursPercentage(v string) *CoverageHours { 4273 s.CoverageHoursPercentage = &v 4274 return s 4275} 4276 4277// SetOnDemandHours sets the OnDemandHours field's value. 4278func (s *CoverageHours) SetOnDemandHours(v string) *CoverageHours { 4279 s.OnDemandHours = &v 4280 return s 4281} 4282 4283// SetReservedHours sets the ReservedHours field's value. 4284func (s *CoverageHours) SetReservedHours(v string) *CoverageHours { 4285 s.ReservedHours = &v 4286 return s 4287} 4288 4289// SetTotalRunningHours sets the TotalRunningHours field's value. 4290func (s *CoverageHours) SetTotalRunningHours(v string) *CoverageHours { 4291 s.TotalRunningHours = &v 4292 return s 4293} 4294 4295// The amount of instance usage, in normalized units. You can use normalized 4296// units to see your EC2 usage for multiple sizes of instances in a uniform 4297// way. For example, suppose that you run an xlarge instance and a 2xlarge instance. 4298// If you run both instances for the same amount of time, the 2xlarge instance 4299// uses twice as much of your reservation as the xlarge instance, even though 4300// both instances show only one instance-hour. When you use normalized units 4301// instead of instance-hours, the xlarge instance used 8 normalized units, and 4302// the 2xlarge instance used 16 normalized units. 4303// 4304// For more information, see Modifying Reserved Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-modifying.html) 4305// in the Amazon Elastic Compute Cloud User Guide for Linux Instances. 4306type CoverageNormalizedUnits struct { 4307 _ struct{} `type:"structure"` 4308 4309 // The percentage of your used instance normalized units that a reservation 4310 // covers. 4311 CoverageNormalizedUnitsPercentage *string `type:"string"` 4312 4313 // The number of normalized units that are covered by On-Demand Instances instead 4314 // of a reservation. 4315 OnDemandNormalizedUnits *string `type:"string"` 4316 4317 // The number of normalized units that a reservation covers. 4318 ReservedNormalizedUnits *string `type:"string"` 4319 4320 // The total number of normalized units that you used. 4321 TotalRunningNormalizedUnits *string `type:"string"` 4322} 4323 4324// String returns the string representation. 4325// 4326// API parameter values that are decorated as "sensitive" in the API will not 4327// be included in the string output. The member name will be present, but the 4328// value will be replaced with "sensitive". 4329func (s CoverageNormalizedUnits) String() string { 4330 return awsutil.Prettify(s) 4331} 4332 4333// GoString returns the string representation. 4334// 4335// API parameter values that are decorated as "sensitive" in the API will not 4336// be included in the string output. The member name will be present, but the 4337// value will be replaced with "sensitive". 4338func (s CoverageNormalizedUnits) GoString() string { 4339 return s.String() 4340} 4341 4342// SetCoverageNormalizedUnitsPercentage sets the CoverageNormalizedUnitsPercentage field's value. 4343func (s *CoverageNormalizedUnits) SetCoverageNormalizedUnitsPercentage(v string) *CoverageNormalizedUnits { 4344 s.CoverageNormalizedUnitsPercentage = &v 4345 return s 4346} 4347 4348// SetOnDemandNormalizedUnits sets the OnDemandNormalizedUnits field's value. 4349func (s *CoverageNormalizedUnits) SetOnDemandNormalizedUnits(v string) *CoverageNormalizedUnits { 4350 s.OnDemandNormalizedUnits = &v 4351 return s 4352} 4353 4354// SetReservedNormalizedUnits sets the ReservedNormalizedUnits field's value. 4355func (s *CoverageNormalizedUnits) SetReservedNormalizedUnits(v string) *CoverageNormalizedUnits { 4356 s.ReservedNormalizedUnits = &v 4357 return s 4358} 4359 4360// SetTotalRunningNormalizedUnits sets the TotalRunningNormalizedUnits field's value. 4361func (s *CoverageNormalizedUnits) SetTotalRunningNormalizedUnits(v string) *CoverageNormalizedUnits { 4362 s.TotalRunningNormalizedUnits = &v 4363 return s 4364} 4365 4366type CreateAnomalyMonitorInput struct { 4367 _ struct{} `type:"structure"` 4368 4369 // The cost anomaly detection monitor object that you want to create. 4370 // 4371 // AnomalyMonitor is a required field 4372 AnomalyMonitor *AnomalyMonitor `type:"structure" required:"true"` 4373} 4374 4375// String returns the string representation. 4376// 4377// API parameter values that are decorated as "sensitive" in the API will not 4378// be included in the string output. The member name will be present, but the 4379// value will be replaced with "sensitive". 4380func (s CreateAnomalyMonitorInput) String() string { 4381 return awsutil.Prettify(s) 4382} 4383 4384// GoString returns the string representation. 4385// 4386// API parameter values that are decorated as "sensitive" in the API will not 4387// be included in the string output. The member name will be present, but the 4388// value will be replaced with "sensitive". 4389func (s CreateAnomalyMonitorInput) GoString() string { 4390 return s.String() 4391} 4392 4393// Validate inspects the fields of the type to determine if they are valid. 4394func (s *CreateAnomalyMonitorInput) Validate() error { 4395 invalidParams := request.ErrInvalidParams{Context: "CreateAnomalyMonitorInput"} 4396 if s.AnomalyMonitor == nil { 4397 invalidParams.Add(request.NewErrParamRequired("AnomalyMonitor")) 4398 } 4399 if s.AnomalyMonitor != nil { 4400 if err := s.AnomalyMonitor.Validate(); err != nil { 4401 invalidParams.AddNested("AnomalyMonitor", err.(request.ErrInvalidParams)) 4402 } 4403 } 4404 4405 if invalidParams.Len() > 0 { 4406 return invalidParams 4407 } 4408 return nil 4409} 4410 4411// SetAnomalyMonitor sets the AnomalyMonitor field's value. 4412func (s *CreateAnomalyMonitorInput) SetAnomalyMonitor(v *AnomalyMonitor) *CreateAnomalyMonitorInput { 4413 s.AnomalyMonitor = v 4414 return s 4415} 4416 4417type CreateAnomalyMonitorOutput struct { 4418 _ struct{} `type:"structure"` 4419 4420 // The unique identifier of your newly created cost anomaly detection monitor. 4421 // 4422 // MonitorArn is a required field 4423 MonitorArn *string `type:"string" required:"true"` 4424} 4425 4426// String returns the string representation. 4427// 4428// API parameter values that are decorated as "sensitive" in the API will not 4429// be included in the string output. The member name will be present, but the 4430// value will be replaced with "sensitive". 4431func (s CreateAnomalyMonitorOutput) String() string { 4432 return awsutil.Prettify(s) 4433} 4434 4435// GoString returns the string representation. 4436// 4437// API parameter values that are decorated as "sensitive" in the API will not 4438// be included in the string output. The member name will be present, but the 4439// value will be replaced with "sensitive". 4440func (s CreateAnomalyMonitorOutput) GoString() string { 4441 return s.String() 4442} 4443 4444// SetMonitorArn sets the MonitorArn field's value. 4445func (s *CreateAnomalyMonitorOutput) SetMonitorArn(v string) *CreateAnomalyMonitorOutput { 4446 s.MonitorArn = &v 4447 return s 4448} 4449 4450type CreateAnomalySubscriptionInput struct { 4451 _ struct{} `type:"structure"` 4452 4453 // The cost anomaly subscription object that you want to create. 4454 // 4455 // AnomalySubscription is a required field 4456 AnomalySubscription *AnomalySubscription `type:"structure" required:"true"` 4457} 4458 4459// String returns the string representation. 4460// 4461// API parameter values that are decorated as "sensitive" in the API will not 4462// be included in the string output. The member name will be present, but the 4463// value will be replaced with "sensitive". 4464func (s CreateAnomalySubscriptionInput) String() string { 4465 return awsutil.Prettify(s) 4466} 4467 4468// GoString returns the string representation. 4469// 4470// API parameter values that are decorated as "sensitive" in the API will not 4471// be included in the string output. The member name will be present, but the 4472// value will be replaced with "sensitive". 4473func (s CreateAnomalySubscriptionInput) GoString() string { 4474 return s.String() 4475} 4476 4477// Validate inspects the fields of the type to determine if they are valid. 4478func (s *CreateAnomalySubscriptionInput) Validate() error { 4479 invalidParams := request.ErrInvalidParams{Context: "CreateAnomalySubscriptionInput"} 4480 if s.AnomalySubscription == nil { 4481 invalidParams.Add(request.NewErrParamRequired("AnomalySubscription")) 4482 } 4483 if s.AnomalySubscription != nil { 4484 if err := s.AnomalySubscription.Validate(); err != nil { 4485 invalidParams.AddNested("AnomalySubscription", err.(request.ErrInvalidParams)) 4486 } 4487 } 4488 4489 if invalidParams.Len() > 0 { 4490 return invalidParams 4491 } 4492 return nil 4493} 4494 4495// SetAnomalySubscription sets the AnomalySubscription field's value. 4496func (s *CreateAnomalySubscriptionInput) SetAnomalySubscription(v *AnomalySubscription) *CreateAnomalySubscriptionInput { 4497 s.AnomalySubscription = v 4498 return s 4499} 4500 4501type CreateAnomalySubscriptionOutput struct { 4502 _ struct{} `type:"structure"` 4503 4504 // The unique identifier of your newly created cost anomaly subscription. 4505 // 4506 // SubscriptionArn is a required field 4507 SubscriptionArn *string `type:"string" required:"true"` 4508} 4509 4510// String returns the string representation. 4511// 4512// API parameter values that are decorated as "sensitive" in the API will not 4513// be included in the string output. The member name will be present, but the 4514// value will be replaced with "sensitive". 4515func (s CreateAnomalySubscriptionOutput) String() string { 4516 return awsutil.Prettify(s) 4517} 4518 4519// GoString returns the string representation. 4520// 4521// API parameter values that are decorated as "sensitive" in the API will not 4522// be included in the string output. The member name will be present, but the 4523// value will be replaced with "sensitive". 4524func (s CreateAnomalySubscriptionOutput) GoString() string { 4525 return s.String() 4526} 4527 4528// SetSubscriptionArn sets the SubscriptionArn field's value. 4529func (s *CreateAnomalySubscriptionOutput) SetSubscriptionArn(v string) *CreateAnomalySubscriptionOutput { 4530 s.SubscriptionArn = &v 4531 return s 4532} 4533 4534type CreateCostCategoryDefinitionInput struct { 4535 _ struct{} `type:"structure"` 4536 4537 // The default value for the cost category. 4538 DefaultValue *string `min:"1" type:"string"` 4539 4540 // The unique name of the Cost Category. 4541 // 4542 // Name is a required field 4543 Name *string `min:"1" type:"string" required:"true"` 4544 4545 // The rule schema version in this particular Cost Category. 4546 // 4547 // RuleVersion is a required field 4548 RuleVersion *string `type:"string" required:"true" enum:"CostCategoryRuleVersion"` 4549 4550 // The Cost Category rules used to categorize costs. For more information, see 4551 // CostCategoryRule (https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_CostCategoryRule.html). 4552 // 4553 // Rules is a required field 4554 Rules []*CostCategoryRule `min:"1" type:"list" required:"true"` 4555 4556 // The split charge rules used to allocate your charges between your Cost Category 4557 // values. 4558 SplitChargeRules []*CostCategorySplitChargeRule `min:"1" type:"list"` 4559} 4560 4561// String returns the string representation. 4562// 4563// API parameter values that are decorated as "sensitive" in the API will not 4564// be included in the string output. The member name will be present, but the 4565// value will be replaced with "sensitive". 4566func (s CreateCostCategoryDefinitionInput) String() string { 4567 return awsutil.Prettify(s) 4568} 4569 4570// GoString returns the string representation. 4571// 4572// API parameter values that are decorated as "sensitive" in the API will not 4573// be included in the string output. The member name will be present, but the 4574// value will be replaced with "sensitive". 4575func (s CreateCostCategoryDefinitionInput) GoString() string { 4576 return s.String() 4577} 4578 4579// Validate inspects the fields of the type to determine if they are valid. 4580func (s *CreateCostCategoryDefinitionInput) Validate() error { 4581 invalidParams := request.ErrInvalidParams{Context: "CreateCostCategoryDefinitionInput"} 4582 if s.DefaultValue != nil && len(*s.DefaultValue) < 1 { 4583 invalidParams.Add(request.NewErrParamMinLen("DefaultValue", 1)) 4584 } 4585 if s.Name == nil { 4586 invalidParams.Add(request.NewErrParamRequired("Name")) 4587 } 4588 if s.Name != nil && len(*s.Name) < 1 { 4589 invalidParams.Add(request.NewErrParamMinLen("Name", 1)) 4590 } 4591 if s.RuleVersion == nil { 4592 invalidParams.Add(request.NewErrParamRequired("RuleVersion")) 4593 } 4594 if s.Rules == nil { 4595 invalidParams.Add(request.NewErrParamRequired("Rules")) 4596 } 4597 if s.Rules != nil && len(s.Rules) < 1 { 4598 invalidParams.Add(request.NewErrParamMinLen("Rules", 1)) 4599 } 4600 if s.SplitChargeRules != nil && len(s.SplitChargeRules) < 1 { 4601 invalidParams.Add(request.NewErrParamMinLen("SplitChargeRules", 1)) 4602 } 4603 if s.Rules != nil { 4604 for i, v := range s.Rules { 4605 if v == nil { 4606 continue 4607 } 4608 if err := v.Validate(); err != nil { 4609 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Rules", i), err.(request.ErrInvalidParams)) 4610 } 4611 } 4612 } 4613 if s.SplitChargeRules != nil { 4614 for i, v := range s.SplitChargeRules { 4615 if v == nil { 4616 continue 4617 } 4618 if err := v.Validate(); err != nil { 4619 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "SplitChargeRules", i), err.(request.ErrInvalidParams)) 4620 } 4621 } 4622 } 4623 4624 if invalidParams.Len() > 0 { 4625 return invalidParams 4626 } 4627 return nil 4628} 4629 4630// SetDefaultValue sets the DefaultValue field's value. 4631func (s *CreateCostCategoryDefinitionInput) SetDefaultValue(v string) *CreateCostCategoryDefinitionInput { 4632 s.DefaultValue = &v 4633 return s 4634} 4635 4636// SetName sets the Name field's value. 4637func (s *CreateCostCategoryDefinitionInput) SetName(v string) *CreateCostCategoryDefinitionInput { 4638 s.Name = &v 4639 return s 4640} 4641 4642// SetRuleVersion sets the RuleVersion field's value. 4643func (s *CreateCostCategoryDefinitionInput) SetRuleVersion(v string) *CreateCostCategoryDefinitionInput { 4644 s.RuleVersion = &v 4645 return s 4646} 4647 4648// SetRules sets the Rules field's value. 4649func (s *CreateCostCategoryDefinitionInput) SetRules(v []*CostCategoryRule) *CreateCostCategoryDefinitionInput { 4650 s.Rules = v 4651 return s 4652} 4653 4654// SetSplitChargeRules sets the SplitChargeRules field's value. 4655func (s *CreateCostCategoryDefinitionInput) SetSplitChargeRules(v []*CostCategorySplitChargeRule) *CreateCostCategoryDefinitionInput { 4656 s.SplitChargeRules = v 4657 return s 4658} 4659 4660type CreateCostCategoryDefinitionOutput struct { 4661 _ struct{} `type:"structure"` 4662 4663 // The unique identifier for your newly created Cost Category. 4664 CostCategoryArn *string `min:"20" type:"string"` 4665 4666 // The Cost Category's effective start date. 4667 EffectiveStart *string `min:"20" type:"string"` 4668} 4669 4670// String returns the string representation. 4671// 4672// API parameter values that are decorated as "sensitive" in the API will not 4673// be included in the string output. The member name will be present, but the 4674// value will be replaced with "sensitive". 4675func (s CreateCostCategoryDefinitionOutput) String() string { 4676 return awsutil.Prettify(s) 4677} 4678 4679// GoString returns the string representation. 4680// 4681// API parameter values that are decorated as "sensitive" in the API will not 4682// be included in the string output. The member name will be present, but the 4683// value will be replaced with "sensitive". 4684func (s CreateCostCategoryDefinitionOutput) GoString() string { 4685 return s.String() 4686} 4687 4688// SetCostCategoryArn sets the CostCategoryArn field's value. 4689func (s *CreateCostCategoryDefinitionOutput) SetCostCategoryArn(v string) *CreateCostCategoryDefinitionOutput { 4690 s.CostCategoryArn = &v 4691 return s 4692} 4693 4694// SetEffectiveStart sets the EffectiveStart field's value. 4695func (s *CreateCostCategoryDefinitionOutput) SetEffectiveStart(v string) *CreateCostCategoryDefinitionOutput { 4696 s.EffectiveStart = &v 4697 return s 4698} 4699 4700// Context about the current instance. 4701type CurrentInstance struct { 4702 _ struct{} `type:"structure"` 4703 4704 // The currency code that Amazon Web Services used to calculate the costs for 4705 // this instance. 4706 CurrencyCode *string `type:"string"` 4707 4708 // The name that you given an instance. This field shows as blank if you haven't 4709 // given the instance a name. 4710 InstanceName *string `type:"string"` 4711 4712 // The current On-Demand cost of operating this instance on a monthly basis. 4713 MonthlyCost *string `type:"string"` 4714 4715 // The number of hours during the lookback period that's billed at On-Demand 4716 // rates. 4717 OnDemandHoursInLookbackPeriod *string `type:"string"` 4718 4719 // The number of hours during the lookback period that's covered by reservations. 4720 ReservationCoveredHoursInLookbackPeriod *string `type:"string"` 4721 4722 // Details about the resource and utilization. 4723 ResourceDetails *ResourceDetails `type:"structure"` 4724 4725 // Resource ID of the current instance. 4726 ResourceId *string `type:"string"` 4727 4728 // Utilization information of the current instance during the lookback period. 4729 ResourceUtilization *ResourceUtilization `type:"structure"` 4730 4731 // The number of hours during the lookback period that's covered by Savings 4732 // Plans. 4733 SavingsPlansCoveredHoursInLookbackPeriod *string `type:"string"` 4734 4735 // Cost allocation resource tags that are applied to the instance. 4736 Tags []*TagValues `type:"list"` 4737 4738 // The total number of hours that the instance ran during the lookback period. 4739 TotalRunningHoursInLookbackPeriod *string `type:"string"` 4740} 4741 4742// String returns the string representation. 4743// 4744// API parameter values that are decorated as "sensitive" in the API will not 4745// be included in the string output. The member name will be present, but the 4746// value will be replaced with "sensitive". 4747func (s CurrentInstance) String() string { 4748 return awsutil.Prettify(s) 4749} 4750 4751// GoString returns the string representation. 4752// 4753// API parameter values that are decorated as "sensitive" in the API will not 4754// be included in the string output. The member name will be present, but the 4755// value will be replaced with "sensitive". 4756func (s CurrentInstance) GoString() string { 4757 return s.String() 4758} 4759 4760// SetCurrencyCode sets the CurrencyCode field's value. 4761func (s *CurrentInstance) SetCurrencyCode(v string) *CurrentInstance { 4762 s.CurrencyCode = &v 4763 return s 4764} 4765 4766// SetInstanceName sets the InstanceName field's value. 4767func (s *CurrentInstance) SetInstanceName(v string) *CurrentInstance { 4768 s.InstanceName = &v 4769 return s 4770} 4771 4772// SetMonthlyCost sets the MonthlyCost field's value. 4773func (s *CurrentInstance) SetMonthlyCost(v string) *CurrentInstance { 4774 s.MonthlyCost = &v 4775 return s 4776} 4777 4778// SetOnDemandHoursInLookbackPeriod sets the OnDemandHoursInLookbackPeriod field's value. 4779func (s *CurrentInstance) SetOnDemandHoursInLookbackPeriod(v string) *CurrentInstance { 4780 s.OnDemandHoursInLookbackPeriod = &v 4781 return s 4782} 4783 4784// SetReservationCoveredHoursInLookbackPeriod sets the ReservationCoveredHoursInLookbackPeriod field's value. 4785func (s *CurrentInstance) SetReservationCoveredHoursInLookbackPeriod(v string) *CurrentInstance { 4786 s.ReservationCoveredHoursInLookbackPeriod = &v 4787 return s 4788} 4789 4790// SetResourceDetails sets the ResourceDetails field's value. 4791func (s *CurrentInstance) SetResourceDetails(v *ResourceDetails) *CurrentInstance { 4792 s.ResourceDetails = v 4793 return s 4794} 4795 4796// SetResourceId sets the ResourceId field's value. 4797func (s *CurrentInstance) SetResourceId(v string) *CurrentInstance { 4798 s.ResourceId = &v 4799 return s 4800} 4801 4802// SetResourceUtilization sets the ResourceUtilization field's value. 4803func (s *CurrentInstance) SetResourceUtilization(v *ResourceUtilization) *CurrentInstance { 4804 s.ResourceUtilization = v 4805 return s 4806} 4807 4808// SetSavingsPlansCoveredHoursInLookbackPeriod sets the SavingsPlansCoveredHoursInLookbackPeriod field's value. 4809func (s *CurrentInstance) SetSavingsPlansCoveredHoursInLookbackPeriod(v string) *CurrentInstance { 4810 s.SavingsPlansCoveredHoursInLookbackPeriod = &v 4811 return s 4812} 4813 4814// SetTags sets the Tags field's value. 4815func (s *CurrentInstance) SetTags(v []*TagValues) *CurrentInstance { 4816 s.Tags = v 4817 return s 4818} 4819 4820// SetTotalRunningHoursInLookbackPeriod sets the TotalRunningHoursInLookbackPeriod field's value. 4821func (s *CurrentInstance) SetTotalRunningHoursInLookbackPeriod(v string) *CurrentInstance { 4822 s.TotalRunningHoursInLookbackPeriod = &v 4823 return s 4824} 4825 4826// The requested data is unavailable. 4827type DataUnavailableException struct { 4828 _ struct{} `type:"structure"` 4829 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 4830 4831 Message_ *string `locationName:"Message" type:"string"` 4832} 4833 4834// String returns the string representation. 4835// 4836// API parameter values that are decorated as "sensitive" in the API will not 4837// be included in the string output. The member name will be present, but the 4838// value will be replaced with "sensitive". 4839func (s DataUnavailableException) String() string { 4840 return awsutil.Prettify(s) 4841} 4842 4843// GoString returns the string representation. 4844// 4845// API parameter values that are decorated as "sensitive" in the API will not 4846// be included in the string output. The member name will be present, but the 4847// value will be replaced with "sensitive". 4848func (s DataUnavailableException) GoString() string { 4849 return s.String() 4850} 4851 4852func newErrorDataUnavailableException(v protocol.ResponseMetadata) error { 4853 return &DataUnavailableException{ 4854 RespMetadata: v, 4855 } 4856} 4857 4858// Code returns the exception type name. 4859func (s *DataUnavailableException) Code() string { 4860 return "DataUnavailableException" 4861} 4862 4863// Message returns the exception's message. 4864func (s *DataUnavailableException) Message() string { 4865 if s.Message_ != nil { 4866 return *s.Message_ 4867 } 4868 return "" 4869} 4870 4871// OrigErr always returns nil, satisfies awserr.Error interface. 4872func (s *DataUnavailableException) OrigErr() error { 4873 return nil 4874} 4875 4876func (s *DataUnavailableException) Error() string { 4877 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 4878} 4879 4880// Status code returns the HTTP status code for the request's response error. 4881func (s *DataUnavailableException) StatusCode() int { 4882 return s.RespMetadata.StatusCode 4883} 4884 4885// RequestID returns the service's response RequestID for request. 4886func (s *DataUnavailableException) RequestID() string { 4887 return s.RespMetadata.RequestID 4888} 4889 4890// The time period of the request. 4891type DateInterval struct { 4892 _ struct{} `type:"structure"` 4893 4894 // The end of the time period. The end date is exclusive. For example, if end 4895 // is 2017-05-01, Amazon Web Services retrieves cost and usage data from the 4896 // start date up to, but not including, 2017-05-01. 4897 // 4898 // End is a required field 4899 End *string `type:"string" required:"true"` 4900 4901 // The beginning of the time period. The start date is inclusive. For example, 4902 // if start is 2017-01-01, Amazon Web Services retrieves cost and usage data 4903 // starting at 2017-01-01 up to the end date. The start date must be equal to 4904 // or no later than the current date to avoid a validation error. 4905 // 4906 // Start is a required field 4907 Start *string `type:"string" required:"true"` 4908} 4909 4910// String returns the string representation. 4911// 4912// API parameter values that are decorated as "sensitive" in the API will not 4913// be included in the string output. The member name will be present, but the 4914// value will be replaced with "sensitive". 4915func (s DateInterval) String() string { 4916 return awsutil.Prettify(s) 4917} 4918 4919// GoString returns the string representation. 4920// 4921// API parameter values that are decorated as "sensitive" in the API will not 4922// be included in the string output. The member name will be present, but the 4923// value will be replaced with "sensitive". 4924func (s DateInterval) GoString() string { 4925 return s.String() 4926} 4927 4928// Validate inspects the fields of the type to determine if they are valid. 4929func (s *DateInterval) Validate() error { 4930 invalidParams := request.ErrInvalidParams{Context: "DateInterval"} 4931 if s.End == nil { 4932 invalidParams.Add(request.NewErrParamRequired("End")) 4933 } 4934 if s.Start == nil { 4935 invalidParams.Add(request.NewErrParamRequired("Start")) 4936 } 4937 4938 if invalidParams.Len() > 0 { 4939 return invalidParams 4940 } 4941 return nil 4942} 4943 4944// SetEnd sets the End field's value. 4945func (s *DateInterval) SetEnd(v string) *DateInterval { 4946 s.End = &v 4947 return s 4948} 4949 4950// SetStart sets the Start field's value. 4951func (s *DateInterval) SetStart(v string) *DateInterval { 4952 s.Start = &v 4953 return s 4954} 4955 4956type DeleteAnomalyMonitorInput struct { 4957 _ struct{} `type:"structure"` 4958 4959 // The unique identifier of the cost anomaly monitor that you want to delete. 4960 // 4961 // MonitorArn is a required field 4962 MonitorArn *string `type:"string" required:"true"` 4963} 4964 4965// String returns the string representation. 4966// 4967// API parameter values that are decorated as "sensitive" in the API will not 4968// be included in the string output. The member name will be present, but the 4969// value will be replaced with "sensitive". 4970func (s DeleteAnomalyMonitorInput) String() string { 4971 return awsutil.Prettify(s) 4972} 4973 4974// GoString returns the string representation. 4975// 4976// API parameter values that are decorated as "sensitive" in the API will not 4977// be included in the string output. The member name will be present, but the 4978// value will be replaced with "sensitive". 4979func (s DeleteAnomalyMonitorInput) GoString() string { 4980 return s.String() 4981} 4982 4983// Validate inspects the fields of the type to determine if they are valid. 4984func (s *DeleteAnomalyMonitorInput) Validate() error { 4985 invalidParams := request.ErrInvalidParams{Context: "DeleteAnomalyMonitorInput"} 4986 if s.MonitorArn == nil { 4987 invalidParams.Add(request.NewErrParamRequired("MonitorArn")) 4988 } 4989 4990 if invalidParams.Len() > 0 { 4991 return invalidParams 4992 } 4993 return nil 4994} 4995 4996// SetMonitorArn sets the MonitorArn field's value. 4997func (s *DeleteAnomalyMonitorInput) SetMonitorArn(v string) *DeleteAnomalyMonitorInput { 4998 s.MonitorArn = &v 4999 return s 5000} 5001 5002type DeleteAnomalyMonitorOutput struct { 5003 _ struct{} `type:"structure"` 5004} 5005 5006// String returns the string representation. 5007// 5008// API parameter values that are decorated as "sensitive" in the API will not 5009// be included in the string output. The member name will be present, but the 5010// value will be replaced with "sensitive". 5011func (s DeleteAnomalyMonitorOutput) String() string { 5012 return awsutil.Prettify(s) 5013} 5014 5015// GoString returns the string representation. 5016// 5017// API parameter values that are decorated as "sensitive" in the API will not 5018// be included in the string output. The member name will be present, but the 5019// value will be replaced with "sensitive". 5020func (s DeleteAnomalyMonitorOutput) GoString() string { 5021 return s.String() 5022} 5023 5024type DeleteAnomalySubscriptionInput struct { 5025 _ struct{} `type:"structure"` 5026 5027 // The unique identifier of the cost anomaly subscription that you want to delete. 5028 // 5029 // SubscriptionArn is a required field 5030 SubscriptionArn *string `type:"string" required:"true"` 5031} 5032 5033// String returns the string representation. 5034// 5035// API parameter values that are decorated as "sensitive" in the API will not 5036// be included in the string output. The member name will be present, but the 5037// value will be replaced with "sensitive". 5038func (s DeleteAnomalySubscriptionInput) String() string { 5039 return awsutil.Prettify(s) 5040} 5041 5042// GoString returns the string representation. 5043// 5044// API parameter values that are decorated as "sensitive" in the API will not 5045// be included in the string output. The member name will be present, but the 5046// value will be replaced with "sensitive". 5047func (s DeleteAnomalySubscriptionInput) GoString() string { 5048 return s.String() 5049} 5050 5051// Validate inspects the fields of the type to determine if they are valid. 5052func (s *DeleteAnomalySubscriptionInput) Validate() error { 5053 invalidParams := request.ErrInvalidParams{Context: "DeleteAnomalySubscriptionInput"} 5054 if s.SubscriptionArn == nil { 5055 invalidParams.Add(request.NewErrParamRequired("SubscriptionArn")) 5056 } 5057 5058 if invalidParams.Len() > 0 { 5059 return invalidParams 5060 } 5061 return nil 5062} 5063 5064// SetSubscriptionArn sets the SubscriptionArn field's value. 5065func (s *DeleteAnomalySubscriptionInput) SetSubscriptionArn(v string) *DeleteAnomalySubscriptionInput { 5066 s.SubscriptionArn = &v 5067 return s 5068} 5069 5070type DeleteAnomalySubscriptionOutput struct { 5071 _ struct{} `type:"structure"` 5072} 5073 5074// String returns the string representation. 5075// 5076// API parameter values that are decorated as "sensitive" in the API will not 5077// be included in the string output. The member name will be present, but the 5078// value will be replaced with "sensitive". 5079func (s DeleteAnomalySubscriptionOutput) String() string { 5080 return awsutil.Prettify(s) 5081} 5082 5083// GoString returns the string representation. 5084// 5085// API parameter values that are decorated as "sensitive" in the API will not 5086// be included in the string output. The member name will be present, but the 5087// value will be replaced with "sensitive". 5088func (s DeleteAnomalySubscriptionOutput) GoString() string { 5089 return s.String() 5090} 5091 5092type DeleteCostCategoryDefinitionInput struct { 5093 _ struct{} `type:"structure"` 5094 5095 // The unique identifier for your Cost Category. 5096 // 5097 // CostCategoryArn is a required field 5098 CostCategoryArn *string `min:"20" type:"string" required:"true"` 5099} 5100 5101// String returns the string representation. 5102// 5103// API parameter values that are decorated as "sensitive" in the API will not 5104// be included in the string output. The member name will be present, but the 5105// value will be replaced with "sensitive". 5106func (s DeleteCostCategoryDefinitionInput) String() string { 5107 return awsutil.Prettify(s) 5108} 5109 5110// GoString returns the string representation. 5111// 5112// API parameter values that are decorated as "sensitive" in the API will not 5113// be included in the string output. The member name will be present, but the 5114// value will be replaced with "sensitive". 5115func (s DeleteCostCategoryDefinitionInput) GoString() string { 5116 return s.String() 5117} 5118 5119// Validate inspects the fields of the type to determine if they are valid. 5120func (s *DeleteCostCategoryDefinitionInput) Validate() error { 5121 invalidParams := request.ErrInvalidParams{Context: "DeleteCostCategoryDefinitionInput"} 5122 if s.CostCategoryArn == nil { 5123 invalidParams.Add(request.NewErrParamRequired("CostCategoryArn")) 5124 } 5125 if s.CostCategoryArn != nil && len(*s.CostCategoryArn) < 20 { 5126 invalidParams.Add(request.NewErrParamMinLen("CostCategoryArn", 20)) 5127 } 5128 5129 if invalidParams.Len() > 0 { 5130 return invalidParams 5131 } 5132 return nil 5133} 5134 5135// SetCostCategoryArn sets the CostCategoryArn field's value. 5136func (s *DeleteCostCategoryDefinitionInput) SetCostCategoryArn(v string) *DeleteCostCategoryDefinitionInput { 5137 s.CostCategoryArn = &v 5138 return s 5139} 5140 5141type DeleteCostCategoryDefinitionOutput struct { 5142 _ struct{} `type:"structure"` 5143 5144 // The unique identifier for your Cost Category. 5145 CostCategoryArn *string `min:"20" type:"string"` 5146 5147 // The effective end date of the Cost Category as a result of deleting it. No 5148 // costs after this date will be categorized by the deleted Cost Category. 5149 EffectiveEnd *string `min:"20" type:"string"` 5150} 5151 5152// String returns the string representation. 5153// 5154// API parameter values that are decorated as "sensitive" in the API will not 5155// be included in the string output. The member name will be present, but the 5156// value will be replaced with "sensitive". 5157func (s DeleteCostCategoryDefinitionOutput) String() string { 5158 return awsutil.Prettify(s) 5159} 5160 5161// GoString returns the string representation. 5162// 5163// API parameter values that are decorated as "sensitive" in the API will not 5164// be included in the string output. The member name will be present, but the 5165// value will be replaced with "sensitive". 5166func (s DeleteCostCategoryDefinitionOutput) GoString() string { 5167 return s.String() 5168} 5169 5170// SetCostCategoryArn sets the CostCategoryArn field's value. 5171func (s *DeleteCostCategoryDefinitionOutput) SetCostCategoryArn(v string) *DeleteCostCategoryDefinitionOutput { 5172 s.CostCategoryArn = &v 5173 return s 5174} 5175 5176// SetEffectiveEnd sets the EffectiveEnd field's value. 5177func (s *DeleteCostCategoryDefinitionOutput) SetEffectiveEnd(v string) *DeleteCostCategoryDefinitionOutput { 5178 s.EffectiveEnd = &v 5179 return s 5180} 5181 5182type DescribeCostCategoryDefinitionInput struct { 5183 _ struct{} `type:"structure"` 5184 5185 // The unique identifier for your Cost Category. 5186 // 5187 // CostCategoryArn is a required field 5188 CostCategoryArn *string `min:"20" type:"string" required:"true"` 5189 5190 // The date when the Cost Category was effective. 5191 EffectiveOn *string `min:"20" type:"string"` 5192} 5193 5194// String returns the string representation. 5195// 5196// API parameter values that are decorated as "sensitive" in the API will not 5197// be included in the string output. The member name will be present, but the 5198// value will be replaced with "sensitive". 5199func (s DescribeCostCategoryDefinitionInput) String() string { 5200 return awsutil.Prettify(s) 5201} 5202 5203// GoString returns the string representation. 5204// 5205// API parameter values that are decorated as "sensitive" in the API will not 5206// be included in the string output. The member name will be present, but the 5207// value will be replaced with "sensitive". 5208func (s DescribeCostCategoryDefinitionInput) GoString() string { 5209 return s.String() 5210} 5211 5212// Validate inspects the fields of the type to determine if they are valid. 5213func (s *DescribeCostCategoryDefinitionInput) Validate() error { 5214 invalidParams := request.ErrInvalidParams{Context: "DescribeCostCategoryDefinitionInput"} 5215 if s.CostCategoryArn == nil { 5216 invalidParams.Add(request.NewErrParamRequired("CostCategoryArn")) 5217 } 5218 if s.CostCategoryArn != nil && len(*s.CostCategoryArn) < 20 { 5219 invalidParams.Add(request.NewErrParamMinLen("CostCategoryArn", 20)) 5220 } 5221 if s.EffectiveOn != nil && len(*s.EffectiveOn) < 20 { 5222 invalidParams.Add(request.NewErrParamMinLen("EffectiveOn", 20)) 5223 } 5224 5225 if invalidParams.Len() > 0 { 5226 return invalidParams 5227 } 5228 return nil 5229} 5230 5231// SetCostCategoryArn sets the CostCategoryArn field's value. 5232func (s *DescribeCostCategoryDefinitionInput) SetCostCategoryArn(v string) *DescribeCostCategoryDefinitionInput { 5233 s.CostCategoryArn = &v 5234 return s 5235} 5236 5237// SetEffectiveOn sets the EffectiveOn field's value. 5238func (s *DescribeCostCategoryDefinitionInput) SetEffectiveOn(v string) *DescribeCostCategoryDefinitionInput { 5239 s.EffectiveOn = &v 5240 return s 5241} 5242 5243type DescribeCostCategoryDefinitionOutput struct { 5244 _ struct{} `type:"structure"` 5245 5246 // The structure of Cost Categories. This includes detailed metadata and the 5247 // set of rules for the CostCategory object. 5248 CostCategory *CostCategory `type:"structure"` 5249} 5250 5251// String returns the string representation. 5252// 5253// API parameter values that are decorated as "sensitive" in the API will not 5254// be included in the string output. The member name will be present, but the 5255// value will be replaced with "sensitive". 5256func (s DescribeCostCategoryDefinitionOutput) String() string { 5257 return awsutil.Prettify(s) 5258} 5259 5260// GoString returns the string representation. 5261// 5262// API parameter values that are decorated as "sensitive" in the API will not 5263// be included in the string output. The member name will be present, but the 5264// value will be replaced with "sensitive". 5265func (s DescribeCostCategoryDefinitionOutput) GoString() string { 5266 return s.String() 5267} 5268 5269// SetCostCategory sets the CostCategory field's value. 5270func (s *DescribeCostCategoryDefinitionOutput) SetCostCategory(v *CostCategory) *DescribeCostCategoryDefinitionOutput { 5271 s.CostCategory = v 5272 return s 5273} 5274 5275// The metadata that you can use to filter and group your results. You can use 5276// GetDimensionValues to find specific values. 5277type DimensionValues struct { 5278 _ struct{} `type:"structure"` 5279 5280 // The names of the metadata types that you can use to filter and group your 5281 // results. For example, AZ returns a list of Availability Zones. 5282 Key *string `type:"string" enum:"Dimension"` 5283 5284 // The match options that you can use to filter your results. MatchOptions is 5285 // only applicable for actions related to Cost Category. The default values 5286 // for MatchOptions are EQUALS and CASE_SENSITIVE. 5287 MatchOptions []*string `type:"list"` 5288 5289 // The metadata values that you can use to filter and group your results. You 5290 // can use GetDimensionValues to find specific values. 5291 Values []*string `type:"list"` 5292} 5293 5294// String returns the string representation. 5295// 5296// API parameter values that are decorated as "sensitive" in the API will not 5297// be included in the string output. The member name will be present, but the 5298// value will be replaced with "sensitive". 5299func (s DimensionValues) String() string { 5300 return awsutil.Prettify(s) 5301} 5302 5303// GoString returns the string representation. 5304// 5305// API parameter values that are decorated as "sensitive" in the API will not 5306// be included in the string output. The member name will be present, but the 5307// value will be replaced with "sensitive". 5308func (s DimensionValues) GoString() string { 5309 return s.String() 5310} 5311 5312// SetKey sets the Key field's value. 5313func (s *DimensionValues) SetKey(v string) *DimensionValues { 5314 s.Key = &v 5315 return s 5316} 5317 5318// SetMatchOptions sets the MatchOptions field's value. 5319func (s *DimensionValues) SetMatchOptions(v []*string) *DimensionValues { 5320 s.MatchOptions = v 5321 return s 5322} 5323 5324// SetValues sets the Values field's value. 5325func (s *DimensionValues) SetValues(v []*string) *DimensionValues { 5326 s.Values = v 5327 return s 5328} 5329 5330// The metadata of a specific type that you can use to filter and group your 5331// results. You can use GetDimensionValues to find specific values. 5332type DimensionValuesWithAttributes struct { 5333 _ struct{} `type:"structure"` 5334 5335 // The attribute that applies to a specific Dimension. 5336 Attributes map[string]*string `type:"map"` 5337 5338 // The value of a dimension with a specific attribute. 5339 Value *string `type:"string"` 5340} 5341 5342// String returns the string representation. 5343// 5344// API parameter values that are decorated as "sensitive" in the API will not 5345// be included in the string output. The member name will be present, but the 5346// value will be replaced with "sensitive". 5347func (s DimensionValuesWithAttributes) String() string { 5348 return awsutil.Prettify(s) 5349} 5350 5351// GoString returns the string representation. 5352// 5353// API parameter values that are decorated as "sensitive" in the API will not 5354// be included in the string output. The member name will be present, but the 5355// value will be replaced with "sensitive". 5356func (s DimensionValuesWithAttributes) GoString() string { 5357 return s.String() 5358} 5359 5360// SetAttributes sets the Attributes field's value. 5361func (s *DimensionValuesWithAttributes) SetAttributes(v map[string]*string) *DimensionValuesWithAttributes { 5362 s.Attributes = v 5363 return s 5364} 5365 5366// SetValue sets the Value field's value. 5367func (s *DimensionValuesWithAttributes) SetValue(v string) *DimensionValuesWithAttributes { 5368 s.Value = &v 5369 return s 5370} 5371 5372// The field that contains a list of disk (local storage) metrics that are associated 5373// with the current instance. 5374type DiskResourceUtilization struct { 5375 _ struct{} `type:"structure"` 5376 5377 // The maximum read throughput operations per second. 5378 DiskReadBytesPerSecond *string `type:"string"` 5379 5380 // The maximum number of read operations per second. 5381 DiskReadOpsPerSecond *string `type:"string"` 5382 5383 // The maximum write throughput operations per second. 5384 DiskWriteBytesPerSecond *string `type:"string"` 5385 5386 // The maximum number of write operations per second. 5387 DiskWriteOpsPerSecond *string `type:"string"` 5388} 5389 5390// String returns the string representation. 5391// 5392// API parameter values that are decorated as "sensitive" in the API will not 5393// be included in the string output. The member name will be present, but the 5394// value will be replaced with "sensitive". 5395func (s DiskResourceUtilization) String() string { 5396 return awsutil.Prettify(s) 5397} 5398 5399// GoString returns the string representation. 5400// 5401// API parameter values that are decorated as "sensitive" in the API will not 5402// be included in the string output. The member name will be present, but the 5403// value will be replaced with "sensitive". 5404func (s DiskResourceUtilization) GoString() string { 5405 return s.String() 5406} 5407 5408// SetDiskReadBytesPerSecond sets the DiskReadBytesPerSecond field's value. 5409func (s *DiskResourceUtilization) SetDiskReadBytesPerSecond(v string) *DiskResourceUtilization { 5410 s.DiskReadBytesPerSecond = &v 5411 return s 5412} 5413 5414// SetDiskReadOpsPerSecond sets the DiskReadOpsPerSecond field's value. 5415func (s *DiskResourceUtilization) SetDiskReadOpsPerSecond(v string) *DiskResourceUtilization { 5416 s.DiskReadOpsPerSecond = &v 5417 return s 5418} 5419 5420// SetDiskWriteBytesPerSecond sets the DiskWriteBytesPerSecond field's value. 5421func (s *DiskResourceUtilization) SetDiskWriteBytesPerSecond(v string) *DiskResourceUtilization { 5422 s.DiskWriteBytesPerSecond = &v 5423 return s 5424} 5425 5426// SetDiskWriteOpsPerSecond sets the DiskWriteOpsPerSecond field's value. 5427func (s *DiskResourceUtilization) SetDiskWriteOpsPerSecond(v string) *DiskResourceUtilization { 5428 s.DiskWriteOpsPerSecond = &v 5429 return s 5430} 5431 5432// The EBS field that contains a list of EBS metrics that are associated with 5433// the current instance. 5434type EBSResourceUtilization struct { 5435 _ struct{} `type:"structure"` 5436 5437 // The maximum size of read operations per second 5438 EbsReadBytesPerSecond *string `type:"string"` 5439 5440 // The maximum number of read operations per second. 5441 EbsReadOpsPerSecond *string `type:"string"` 5442 5443 // The maximum size of write operations per second. 5444 EbsWriteBytesPerSecond *string `type:"string"` 5445 5446 // The maximum number of write operations per second. 5447 EbsWriteOpsPerSecond *string `type:"string"` 5448} 5449 5450// String returns the string representation. 5451// 5452// API parameter values that are decorated as "sensitive" in the API will not 5453// be included in the string output. The member name will be present, but the 5454// value will be replaced with "sensitive". 5455func (s EBSResourceUtilization) String() string { 5456 return awsutil.Prettify(s) 5457} 5458 5459// GoString returns the string representation. 5460// 5461// API parameter values that are decorated as "sensitive" in the API will not 5462// be included in the string output. The member name will be present, but the 5463// value will be replaced with "sensitive". 5464func (s EBSResourceUtilization) GoString() string { 5465 return s.String() 5466} 5467 5468// SetEbsReadBytesPerSecond sets the EbsReadBytesPerSecond field's value. 5469func (s *EBSResourceUtilization) SetEbsReadBytesPerSecond(v string) *EBSResourceUtilization { 5470 s.EbsReadBytesPerSecond = &v 5471 return s 5472} 5473 5474// SetEbsReadOpsPerSecond sets the EbsReadOpsPerSecond field's value. 5475func (s *EBSResourceUtilization) SetEbsReadOpsPerSecond(v string) *EBSResourceUtilization { 5476 s.EbsReadOpsPerSecond = &v 5477 return s 5478} 5479 5480// SetEbsWriteBytesPerSecond sets the EbsWriteBytesPerSecond field's value. 5481func (s *EBSResourceUtilization) SetEbsWriteBytesPerSecond(v string) *EBSResourceUtilization { 5482 s.EbsWriteBytesPerSecond = &v 5483 return s 5484} 5485 5486// SetEbsWriteOpsPerSecond sets the EbsWriteOpsPerSecond field's value. 5487func (s *EBSResourceUtilization) SetEbsWriteOpsPerSecond(v string) *EBSResourceUtilization { 5488 s.EbsWriteOpsPerSecond = &v 5489 return s 5490} 5491 5492// Details about the Amazon EC2 instances that Amazon Web Services recommends 5493// that you purchase. 5494type EC2InstanceDetails struct { 5495 _ struct{} `type:"structure"` 5496 5497 // The Availability Zone of the recommended reservation. 5498 AvailabilityZone *string `type:"string"` 5499 5500 // Determines whether the recommendation is for a current-generation instance. 5501 CurrentGeneration *bool `type:"boolean"` 5502 5503 // The instance family of the recommended reservation. 5504 Family *string `type:"string"` 5505 5506 // The type of instance that Amazon Web Services recommends. 5507 InstanceType *string `type:"string"` 5508 5509 // The platform of the recommended reservation. The platform is the specific 5510 // combination of operating system, license model, and software on an instance. 5511 Platform *string `type:"string"` 5512 5513 // The Amazon Web Services Region of the recommended reservation. 5514 Region *string `type:"string"` 5515 5516 // Determines whether the recommended reservation is size flexible. 5517 SizeFlexEligible *bool `type:"boolean"` 5518 5519 // Determines whether the recommended reservation is dedicated or shared. 5520 Tenancy *string `type:"string"` 5521} 5522 5523// String returns the string representation. 5524// 5525// API parameter values that are decorated as "sensitive" in the API will not 5526// be included in the string output. The member name will be present, but the 5527// value will be replaced with "sensitive". 5528func (s EC2InstanceDetails) String() string { 5529 return awsutil.Prettify(s) 5530} 5531 5532// GoString returns the string representation. 5533// 5534// API parameter values that are decorated as "sensitive" in the API will not 5535// be included in the string output. The member name will be present, but the 5536// value will be replaced with "sensitive". 5537func (s EC2InstanceDetails) GoString() string { 5538 return s.String() 5539} 5540 5541// SetAvailabilityZone sets the AvailabilityZone field's value. 5542func (s *EC2InstanceDetails) SetAvailabilityZone(v string) *EC2InstanceDetails { 5543 s.AvailabilityZone = &v 5544 return s 5545} 5546 5547// SetCurrentGeneration sets the CurrentGeneration field's value. 5548func (s *EC2InstanceDetails) SetCurrentGeneration(v bool) *EC2InstanceDetails { 5549 s.CurrentGeneration = &v 5550 return s 5551} 5552 5553// SetFamily sets the Family field's value. 5554func (s *EC2InstanceDetails) SetFamily(v string) *EC2InstanceDetails { 5555 s.Family = &v 5556 return s 5557} 5558 5559// SetInstanceType sets the InstanceType field's value. 5560func (s *EC2InstanceDetails) SetInstanceType(v string) *EC2InstanceDetails { 5561 s.InstanceType = &v 5562 return s 5563} 5564 5565// SetPlatform sets the Platform field's value. 5566func (s *EC2InstanceDetails) SetPlatform(v string) *EC2InstanceDetails { 5567 s.Platform = &v 5568 return s 5569} 5570 5571// SetRegion sets the Region field's value. 5572func (s *EC2InstanceDetails) SetRegion(v string) *EC2InstanceDetails { 5573 s.Region = &v 5574 return s 5575} 5576 5577// SetSizeFlexEligible sets the SizeFlexEligible field's value. 5578func (s *EC2InstanceDetails) SetSizeFlexEligible(v bool) *EC2InstanceDetails { 5579 s.SizeFlexEligible = &v 5580 return s 5581} 5582 5583// SetTenancy sets the Tenancy field's value. 5584func (s *EC2InstanceDetails) SetTenancy(v string) *EC2InstanceDetails { 5585 s.Tenancy = &v 5586 return s 5587} 5588 5589// Details on the Amazon EC2 Resource. 5590type EC2ResourceDetails struct { 5591 _ struct{} `type:"structure"` 5592 5593 // The hourly public On-Demand rate for the instance type. 5594 HourlyOnDemandRate *string `type:"string"` 5595 5596 // The type of Amazon Web Services instance. 5597 InstanceType *string `type:"string"` 5598 5599 // The memory capacity of the Amazon Web Services instance. 5600 Memory *string `type:"string"` 5601 5602 // The network performance capacity of the Amazon Web Services instance. 5603 NetworkPerformance *string `type:"string"` 5604 5605 // The platform of the Amazon Web Services instance. The platform is the specific 5606 // combination of operating system, license model, and software on an instance. 5607 Platform *string `type:"string"` 5608 5609 // The Amazon Web Services Region of the instance. 5610 Region *string `type:"string"` 5611 5612 // The SKU of the product. 5613 Sku *string `type:"string"` 5614 5615 // The disk storage of the Amazon Web Services instance. This doesn't include 5616 // EBS storage. 5617 Storage *string `type:"string"` 5618 5619 // The number of VCPU cores in the Amazon Web Services instance type. 5620 Vcpu *string `type:"string"` 5621} 5622 5623// String returns the string representation. 5624// 5625// API parameter values that are decorated as "sensitive" in the API will not 5626// be included in the string output. The member name will be present, but the 5627// value will be replaced with "sensitive". 5628func (s EC2ResourceDetails) String() string { 5629 return awsutil.Prettify(s) 5630} 5631 5632// GoString returns the string representation. 5633// 5634// API parameter values that are decorated as "sensitive" in the API will not 5635// be included in the string output. The member name will be present, but the 5636// value will be replaced with "sensitive". 5637func (s EC2ResourceDetails) GoString() string { 5638 return s.String() 5639} 5640 5641// SetHourlyOnDemandRate sets the HourlyOnDemandRate field's value. 5642func (s *EC2ResourceDetails) SetHourlyOnDemandRate(v string) *EC2ResourceDetails { 5643 s.HourlyOnDemandRate = &v 5644 return s 5645} 5646 5647// SetInstanceType sets the InstanceType field's value. 5648func (s *EC2ResourceDetails) SetInstanceType(v string) *EC2ResourceDetails { 5649 s.InstanceType = &v 5650 return s 5651} 5652 5653// SetMemory sets the Memory field's value. 5654func (s *EC2ResourceDetails) SetMemory(v string) *EC2ResourceDetails { 5655 s.Memory = &v 5656 return s 5657} 5658 5659// SetNetworkPerformance sets the NetworkPerformance field's value. 5660func (s *EC2ResourceDetails) SetNetworkPerformance(v string) *EC2ResourceDetails { 5661 s.NetworkPerformance = &v 5662 return s 5663} 5664 5665// SetPlatform sets the Platform field's value. 5666func (s *EC2ResourceDetails) SetPlatform(v string) *EC2ResourceDetails { 5667 s.Platform = &v 5668 return s 5669} 5670 5671// SetRegion sets the Region field's value. 5672func (s *EC2ResourceDetails) SetRegion(v string) *EC2ResourceDetails { 5673 s.Region = &v 5674 return s 5675} 5676 5677// SetSku sets the Sku field's value. 5678func (s *EC2ResourceDetails) SetSku(v string) *EC2ResourceDetails { 5679 s.Sku = &v 5680 return s 5681} 5682 5683// SetStorage sets the Storage field's value. 5684func (s *EC2ResourceDetails) SetStorage(v string) *EC2ResourceDetails { 5685 s.Storage = &v 5686 return s 5687} 5688 5689// SetVcpu sets the Vcpu field's value. 5690func (s *EC2ResourceDetails) SetVcpu(v string) *EC2ResourceDetails { 5691 s.Vcpu = &v 5692 return s 5693} 5694 5695// Utilization metrics of the instance. 5696type EC2ResourceUtilization struct { 5697 _ struct{} `type:"structure"` 5698 5699 // The field that contains a list of disk (local storage) metrics that are associated 5700 // with the current instance. 5701 DiskResourceUtilization *DiskResourceUtilization `type:"structure"` 5702 5703 // The EBS field that contains a list of EBS metrics that are associated with 5704 // the current instance. 5705 EBSResourceUtilization *EBSResourceUtilization `type:"structure"` 5706 5707 // The maximum observed or expected CPU utilization of the instance. 5708 MaxCpuUtilizationPercentage *string `type:"string"` 5709 5710 // The maximum observed or expected memory utilization of the instance. 5711 MaxMemoryUtilizationPercentage *string `type:"string"` 5712 5713 // The maximum observed or expected storage utilization of the instance. This 5714 // doesn't include EBS storage. 5715 MaxStorageUtilizationPercentage *string `type:"string"` 5716 5717 // The network field that contains a list of network metrics that are associated 5718 // with the current instance. 5719 NetworkResourceUtilization *NetworkResourceUtilization `type:"structure"` 5720} 5721 5722// String returns the string representation. 5723// 5724// API parameter values that are decorated as "sensitive" in the API will not 5725// be included in the string output. The member name will be present, but the 5726// value will be replaced with "sensitive". 5727func (s EC2ResourceUtilization) String() string { 5728 return awsutil.Prettify(s) 5729} 5730 5731// GoString returns the string representation. 5732// 5733// API parameter values that are decorated as "sensitive" in the API will not 5734// be included in the string output. The member name will be present, but the 5735// value will be replaced with "sensitive". 5736func (s EC2ResourceUtilization) GoString() string { 5737 return s.String() 5738} 5739 5740// SetDiskResourceUtilization sets the DiskResourceUtilization field's value. 5741func (s *EC2ResourceUtilization) SetDiskResourceUtilization(v *DiskResourceUtilization) *EC2ResourceUtilization { 5742 s.DiskResourceUtilization = v 5743 return s 5744} 5745 5746// SetEBSResourceUtilization sets the EBSResourceUtilization field's value. 5747func (s *EC2ResourceUtilization) SetEBSResourceUtilization(v *EBSResourceUtilization) *EC2ResourceUtilization { 5748 s.EBSResourceUtilization = v 5749 return s 5750} 5751 5752// SetMaxCpuUtilizationPercentage sets the MaxCpuUtilizationPercentage field's value. 5753func (s *EC2ResourceUtilization) SetMaxCpuUtilizationPercentage(v string) *EC2ResourceUtilization { 5754 s.MaxCpuUtilizationPercentage = &v 5755 return s 5756} 5757 5758// SetMaxMemoryUtilizationPercentage sets the MaxMemoryUtilizationPercentage field's value. 5759func (s *EC2ResourceUtilization) SetMaxMemoryUtilizationPercentage(v string) *EC2ResourceUtilization { 5760 s.MaxMemoryUtilizationPercentage = &v 5761 return s 5762} 5763 5764// SetMaxStorageUtilizationPercentage sets the MaxStorageUtilizationPercentage field's value. 5765func (s *EC2ResourceUtilization) SetMaxStorageUtilizationPercentage(v string) *EC2ResourceUtilization { 5766 s.MaxStorageUtilizationPercentage = &v 5767 return s 5768} 5769 5770// SetNetworkResourceUtilization sets the NetworkResourceUtilization field's value. 5771func (s *EC2ResourceUtilization) SetNetworkResourceUtilization(v *NetworkResourceUtilization) *EC2ResourceUtilization { 5772 s.NetworkResourceUtilization = v 5773 return s 5774} 5775 5776// The Amazon EC2 hardware specifications that you want Amazon Web Services 5777// to provide recommendations for. 5778type EC2Specification struct { 5779 _ struct{} `type:"structure"` 5780 5781 // Indicates whether you want a recommendation for standard or convertible reservations. 5782 OfferingClass *string `type:"string" enum:"OfferingClass"` 5783} 5784 5785// String returns the string representation. 5786// 5787// API parameter values that are decorated as "sensitive" in the API will not 5788// be included in the string output. The member name will be present, but the 5789// value will be replaced with "sensitive". 5790func (s EC2Specification) String() string { 5791 return awsutil.Prettify(s) 5792} 5793 5794// GoString returns the string representation. 5795// 5796// API parameter values that are decorated as "sensitive" in the API will not 5797// be included in the string output. The member name will be present, but the 5798// value will be replaced with "sensitive". 5799func (s EC2Specification) GoString() string { 5800 return s.String() 5801} 5802 5803// SetOfferingClass sets the OfferingClass field's value. 5804func (s *EC2Specification) SetOfferingClass(v string) *EC2Specification { 5805 s.OfferingClass = &v 5806 return s 5807} 5808 5809// Details about the Amazon ES instances that Amazon Web Services recommends 5810// that you purchase. 5811type ESInstanceDetails struct { 5812 _ struct{} `type:"structure"` 5813 5814 // Determines whether the recommendation is for a current-generation instance. 5815 CurrentGeneration *bool `type:"boolean"` 5816 5817 // The class of instance that Amazon Web Services recommends. 5818 InstanceClass *string `type:"string"` 5819 5820 // The size of instance that Amazon Web Services recommends. 5821 InstanceSize *string `type:"string"` 5822 5823 // The Amazon Web Services Region of the recommended reservation. 5824 Region *string `type:"string"` 5825 5826 // Determines whether the recommended reservation is size flexible. 5827 SizeFlexEligible *bool `type:"boolean"` 5828} 5829 5830// String returns the string representation. 5831// 5832// API parameter values that are decorated as "sensitive" in the API will not 5833// be included in the string output. The member name will be present, but the 5834// value will be replaced with "sensitive". 5835func (s ESInstanceDetails) String() string { 5836 return awsutil.Prettify(s) 5837} 5838 5839// GoString returns the string representation. 5840// 5841// API parameter values that are decorated as "sensitive" in the API will not 5842// be included in the string output. The member name will be present, but the 5843// value will be replaced with "sensitive". 5844func (s ESInstanceDetails) GoString() string { 5845 return s.String() 5846} 5847 5848// SetCurrentGeneration sets the CurrentGeneration field's value. 5849func (s *ESInstanceDetails) SetCurrentGeneration(v bool) *ESInstanceDetails { 5850 s.CurrentGeneration = &v 5851 return s 5852} 5853 5854// SetInstanceClass sets the InstanceClass field's value. 5855func (s *ESInstanceDetails) SetInstanceClass(v string) *ESInstanceDetails { 5856 s.InstanceClass = &v 5857 return s 5858} 5859 5860// SetInstanceSize sets the InstanceSize field's value. 5861func (s *ESInstanceDetails) SetInstanceSize(v string) *ESInstanceDetails { 5862 s.InstanceSize = &v 5863 return s 5864} 5865 5866// SetRegion sets the Region field's value. 5867func (s *ESInstanceDetails) SetRegion(v string) *ESInstanceDetails { 5868 s.Region = &v 5869 return s 5870} 5871 5872// SetSizeFlexEligible sets the SizeFlexEligible field's value. 5873func (s *ESInstanceDetails) SetSizeFlexEligible(v bool) *ESInstanceDetails { 5874 s.SizeFlexEligible = &v 5875 return s 5876} 5877 5878// Details about the Amazon ElastiCache instances that Amazon Web Services recommends 5879// that you purchase. 5880type ElastiCacheInstanceDetails struct { 5881 _ struct{} `type:"structure"` 5882 5883 // Determines whether the recommendation is for a current generation instance. 5884 CurrentGeneration *bool `type:"boolean"` 5885 5886 // The instance family of the recommended reservation. 5887 Family *string `type:"string"` 5888 5889 // The type of node that Amazon Web Services recommends. 5890 NodeType *string `type:"string"` 5891 5892 // The description of the recommended reservation. 5893 ProductDescription *string `type:"string"` 5894 5895 // The Amazon Web Services Region of the recommended reservation. 5896 Region *string `type:"string"` 5897 5898 // Determines whether the recommended reservation is size flexible. 5899 SizeFlexEligible *bool `type:"boolean"` 5900} 5901 5902// String returns the string representation. 5903// 5904// API parameter values that are decorated as "sensitive" in the API will not 5905// be included in the string output. The member name will be present, but the 5906// value will be replaced with "sensitive". 5907func (s ElastiCacheInstanceDetails) String() string { 5908 return awsutil.Prettify(s) 5909} 5910 5911// GoString returns the string representation. 5912// 5913// API parameter values that are decorated as "sensitive" in the API will not 5914// be included in the string output. The member name will be present, but the 5915// value will be replaced with "sensitive". 5916func (s ElastiCacheInstanceDetails) GoString() string { 5917 return s.String() 5918} 5919 5920// SetCurrentGeneration sets the CurrentGeneration field's value. 5921func (s *ElastiCacheInstanceDetails) SetCurrentGeneration(v bool) *ElastiCacheInstanceDetails { 5922 s.CurrentGeneration = &v 5923 return s 5924} 5925 5926// SetFamily sets the Family field's value. 5927func (s *ElastiCacheInstanceDetails) SetFamily(v string) *ElastiCacheInstanceDetails { 5928 s.Family = &v 5929 return s 5930} 5931 5932// SetNodeType sets the NodeType field's value. 5933func (s *ElastiCacheInstanceDetails) SetNodeType(v string) *ElastiCacheInstanceDetails { 5934 s.NodeType = &v 5935 return s 5936} 5937 5938// SetProductDescription sets the ProductDescription field's value. 5939func (s *ElastiCacheInstanceDetails) SetProductDescription(v string) *ElastiCacheInstanceDetails { 5940 s.ProductDescription = &v 5941 return s 5942} 5943 5944// SetRegion sets the Region field's value. 5945func (s *ElastiCacheInstanceDetails) SetRegion(v string) *ElastiCacheInstanceDetails { 5946 s.Region = &v 5947 return s 5948} 5949 5950// SetSizeFlexEligible sets the SizeFlexEligible field's value. 5951func (s *ElastiCacheInstanceDetails) SetSizeFlexEligible(v bool) *ElastiCacheInstanceDetails { 5952 s.SizeFlexEligible = &v 5953 return s 5954} 5955 5956// Use Expression to filter by cost or by usage. There are two patterns: 5957// 5958// * Simple dimension values - You can set the dimension name and values 5959// for the filters that you plan to use. For example, you can filter for 5960// REGION==us-east-1 OR REGION==us-west-1. For GetRightsizingRecommendation, 5961// the Region is a full name (for example, REGION==US East (N. Virginia). 5962// The Expression example is as follows: { "Dimensions": { "Key": "REGION", 5963// "Values": [ "us-east-1", “us-west-1” ] } } The list of dimension values 5964// are OR'd together to retrieve cost or usage data. You can create Expression 5965// and DimensionValues objects using either with* methods or set* methods 5966// in multiple lines. 5967// 5968// * Compound dimension values with logical operations - You can use multiple 5969// Expression types and the logical operators AND/OR/NOT to create a list 5970// of one or more Expression objects. By doing this, you can filter on more 5971// advanced options. For example, you can filter on ((REGION == us-east-1 5972// OR REGION == us-west-1) OR (TAG.Type == Type1)) AND (USAGE_TYPE != DataTransfer). 5973// The Expression for that is as follows: { "And": [ {"Or": [ {"Dimensions": 5974// { "Key": "REGION", "Values": [ "us-east-1", "us-west-1" ] }}, {"Tags": 5975// { "Key": "TagName", "Values": ["Value1"] } } ]}, {"Not": {"Dimensions": 5976// { "Key": "USAGE_TYPE", "Values": ["DataTransfer"] }}} ] } Because each 5977// Expression can have only one operator, the service returns an error if 5978// more than one is specified. The following example shows an Expression 5979// object that creates an error. { "And": [ ... ], "DimensionValues": { "Dimension": 5980// "USAGE_TYPE", "Values": [ "DataTransfer" ] } } 5981// 5982// For the GetRightsizingRecommendation action, a combination of OR and NOT 5983// isn't supported. OR isn't supported between different dimensions, or dimensions 5984// and tags. NOT operators aren't supported. Dimensions are also limited to 5985// LINKED_ACCOUNT, REGION, or RIGHTSIZING_TYPE. 5986// 5987// For the GetReservationPurchaseRecommendation action, only NOT is supported. 5988// AND and OR aren't supported. Dimensions are limited to LINKED_ACCOUNT. 5989type Expression struct { 5990 _ struct{} `type:"structure"` 5991 5992 // Return results that match both Dimension objects. 5993 And []*Expression `type:"list"` 5994 5995 // The filter that's based on CostCategory values. 5996 CostCategories *CostCategoryValues `type:"structure"` 5997 5998 // The specific Dimension to use for Expression. 5999 Dimensions *DimensionValues `type:"structure"` 6000 6001 // Return results that don't match a Dimension object. 6002 Not *Expression `type:"structure"` 6003 6004 // Return results that match either Dimension object. 6005 Or []*Expression `type:"list"` 6006 6007 // The specific Tag to use for Expression. 6008 Tags *TagValues `type:"structure"` 6009} 6010 6011// String returns the string representation. 6012// 6013// API parameter values that are decorated as "sensitive" in the API will not 6014// be included in the string output. The member name will be present, but the 6015// value will be replaced with "sensitive". 6016func (s Expression) String() string { 6017 return awsutil.Prettify(s) 6018} 6019 6020// GoString returns the string representation. 6021// 6022// API parameter values that are decorated as "sensitive" in the API will not 6023// be included in the string output. The member name will be present, but the 6024// value will be replaced with "sensitive". 6025func (s Expression) GoString() string { 6026 return s.String() 6027} 6028 6029// Validate inspects the fields of the type to determine if they are valid. 6030func (s *Expression) Validate() error { 6031 invalidParams := request.ErrInvalidParams{Context: "Expression"} 6032 if s.CostCategories != nil { 6033 if err := s.CostCategories.Validate(); err != nil { 6034 invalidParams.AddNested("CostCategories", err.(request.ErrInvalidParams)) 6035 } 6036 } 6037 if s.Not != nil { 6038 if err := s.Not.Validate(); err != nil { 6039 invalidParams.AddNested("Not", err.(request.ErrInvalidParams)) 6040 } 6041 } 6042 if s.Or != nil { 6043 for i, v := range s.Or { 6044 if v == nil { 6045 continue 6046 } 6047 if err := v.Validate(); err != nil { 6048 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Or", i), err.(request.ErrInvalidParams)) 6049 } 6050 } 6051 } 6052 6053 if invalidParams.Len() > 0 { 6054 return invalidParams 6055 } 6056 return nil 6057} 6058 6059// SetAnd sets the And field's value. 6060func (s *Expression) SetAnd(v []*Expression) *Expression { 6061 s.And = v 6062 return s 6063} 6064 6065// SetCostCategories sets the CostCategories field's value. 6066func (s *Expression) SetCostCategories(v *CostCategoryValues) *Expression { 6067 s.CostCategories = v 6068 return s 6069} 6070 6071// SetDimensions sets the Dimensions field's value. 6072func (s *Expression) SetDimensions(v *DimensionValues) *Expression { 6073 s.Dimensions = v 6074 return s 6075} 6076 6077// SetNot sets the Not field's value. 6078func (s *Expression) SetNot(v *Expression) *Expression { 6079 s.Not = v 6080 return s 6081} 6082 6083// SetOr sets the Or field's value. 6084func (s *Expression) SetOr(v []*Expression) *Expression { 6085 s.Or = v 6086 return s 6087} 6088 6089// SetTags sets the Tags field's value. 6090func (s *Expression) SetTags(v *TagValues) *Expression { 6091 s.Tags = v 6092 return s 6093} 6094 6095// The forecast that's created for your query. 6096type ForecastResult struct { 6097 _ struct{} `type:"structure"` 6098 6099 // The mean value of the forecast. 6100 MeanValue *string `type:"string"` 6101 6102 // The lower limit for the prediction interval. 6103 PredictionIntervalLowerBound *string `type:"string"` 6104 6105 // The upper limit for the prediction interval. 6106 PredictionIntervalUpperBound *string `type:"string"` 6107 6108 // The period of time that the forecast covers. 6109 TimePeriod *DateInterval `type:"structure"` 6110} 6111 6112// String returns the string representation. 6113// 6114// API parameter values that are decorated as "sensitive" in the API will not 6115// be included in the string output. The member name will be present, but the 6116// value will be replaced with "sensitive". 6117func (s ForecastResult) String() string { 6118 return awsutil.Prettify(s) 6119} 6120 6121// GoString returns the string representation. 6122// 6123// API parameter values that are decorated as "sensitive" in the API will not 6124// be included in the string output. The member name will be present, but the 6125// value will be replaced with "sensitive". 6126func (s ForecastResult) GoString() string { 6127 return s.String() 6128} 6129 6130// SetMeanValue sets the MeanValue field's value. 6131func (s *ForecastResult) SetMeanValue(v string) *ForecastResult { 6132 s.MeanValue = &v 6133 return s 6134} 6135 6136// SetPredictionIntervalLowerBound sets the PredictionIntervalLowerBound field's value. 6137func (s *ForecastResult) SetPredictionIntervalLowerBound(v string) *ForecastResult { 6138 s.PredictionIntervalLowerBound = &v 6139 return s 6140} 6141 6142// SetPredictionIntervalUpperBound sets the PredictionIntervalUpperBound field's value. 6143func (s *ForecastResult) SetPredictionIntervalUpperBound(v string) *ForecastResult { 6144 s.PredictionIntervalUpperBound = &v 6145 return s 6146} 6147 6148// SetTimePeriod sets the TimePeriod field's value. 6149func (s *ForecastResult) SetTimePeriod(v *DateInterval) *ForecastResult { 6150 s.TimePeriod = v 6151 return s 6152} 6153 6154type GetAnomaliesInput struct { 6155 _ struct{} `type:"structure"` 6156 6157 // Assigns the start and end dates for retrieving cost anomalies. The returned 6158 // anomaly object will have an AnomalyEndDate in the specified time range. 6159 // 6160 // DateInterval is a required field 6161 DateInterval *AnomalyDateInterval `type:"structure" required:"true"` 6162 6163 // Filters anomaly results by the feedback field on the anomaly object. 6164 Feedback *string `type:"string" enum:"AnomalyFeedbackType"` 6165 6166 // The number of entries a paginated response contains. 6167 MaxResults *int64 `type:"integer"` 6168 6169 // Retrieves all of the cost anomalies detected for a specific cost anomaly 6170 // monitor Amazon Resource Name (ARN). 6171 MonitorArn *string `type:"string"` 6172 6173 // The token to retrieve the next set of results. Amazon Web Services provides 6174 // the token when the response from a previous call has more results than the 6175 // maximum page size. 6176 NextPageToken *string `type:"string"` 6177 6178 // Filters anomaly results by the total impact field on the anomaly object. 6179 // For example, you can filter anomalies GREATER_THAN 200.00 to retrieve anomalies, 6180 // with an estimated dollar impact greater than 200. 6181 TotalImpact *TotalImpactFilter `type:"structure"` 6182} 6183 6184// String returns the string representation. 6185// 6186// API parameter values that are decorated as "sensitive" in the API will not 6187// be included in the string output. The member name will be present, but the 6188// value will be replaced with "sensitive". 6189func (s GetAnomaliesInput) String() string { 6190 return awsutil.Prettify(s) 6191} 6192 6193// GoString returns the string representation. 6194// 6195// API parameter values that are decorated as "sensitive" in the API will not 6196// be included in the string output. The member name will be present, but the 6197// value will be replaced with "sensitive". 6198func (s GetAnomaliesInput) GoString() string { 6199 return s.String() 6200} 6201 6202// Validate inspects the fields of the type to determine if they are valid. 6203func (s *GetAnomaliesInput) Validate() error { 6204 invalidParams := request.ErrInvalidParams{Context: "GetAnomaliesInput"} 6205 if s.DateInterval == nil { 6206 invalidParams.Add(request.NewErrParamRequired("DateInterval")) 6207 } 6208 if s.DateInterval != nil { 6209 if err := s.DateInterval.Validate(); err != nil { 6210 invalidParams.AddNested("DateInterval", err.(request.ErrInvalidParams)) 6211 } 6212 } 6213 if s.TotalImpact != nil { 6214 if err := s.TotalImpact.Validate(); err != nil { 6215 invalidParams.AddNested("TotalImpact", err.(request.ErrInvalidParams)) 6216 } 6217 } 6218 6219 if invalidParams.Len() > 0 { 6220 return invalidParams 6221 } 6222 return nil 6223} 6224 6225// SetDateInterval sets the DateInterval field's value. 6226func (s *GetAnomaliesInput) SetDateInterval(v *AnomalyDateInterval) *GetAnomaliesInput { 6227 s.DateInterval = v 6228 return s 6229} 6230 6231// SetFeedback sets the Feedback field's value. 6232func (s *GetAnomaliesInput) SetFeedback(v string) *GetAnomaliesInput { 6233 s.Feedback = &v 6234 return s 6235} 6236 6237// SetMaxResults sets the MaxResults field's value. 6238func (s *GetAnomaliesInput) SetMaxResults(v int64) *GetAnomaliesInput { 6239 s.MaxResults = &v 6240 return s 6241} 6242 6243// SetMonitorArn sets the MonitorArn field's value. 6244func (s *GetAnomaliesInput) SetMonitorArn(v string) *GetAnomaliesInput { 6245 s.MonitorArn = &v 6246 return s 6247} 6248 6249// SetNextPageToken sets the NextPageToken field's value. 6250func (s *GetAnomaliesInput) SetNextPageToken(v string) *GetAnomaliesInput { 6251 s.NextPageToken = &v 6252 return s 6253} 6254 6255// SetTotalImpact sets the TotalImpact field's value. 6256func (s *GetAnomaliesInput) SetTotalImpact(v *TotalImpactFilter) *GetAnomaliesInput { 6257 s.TotalImpact = v 6258 return s 6259} 6260 6261type GetAnomaliesOutput struct { 6262 _ struct{} `type:"structure"` 6263 6264 // A list of cost anomalies. 6265 // 6266 // Anomalies is a required field 6267 Anomalies []*Anomaly `type:"list" required:"true"` 6268 6269 // The token to retrieve the next set of results. Amazon Web Services provides 6270 // the token when the response from a previous call has more results than the 6271 // maximum page size. 6272 NextPageToken *string `type:"string"` 6273} 6274 6275// String returns the string representation. 6276// 6277// API parameter values that are decorated as "sensitive" in the API will not 6278// be included in the string output. The member name will be present, but the 6279// value will be replaced with "sensitive". 6280func (s GetAnomaliesOutput) String() string { 6281 return awsutil.Prettify(s) 6282} 6283 6284// GoString returns the string representation. 6285// 6286// API parameter values that are decorated as "sensitive" in the API will not 6287// be included in the string output. The member name will be present, but the 6288// value will be replaced with "sensitive". 6289func (s GetAnomaliesOutput) GoString() string { 6290 return s.String() 6291} 6292 6293// SetAnomalies sets the Anomalies field's value. 6294func (s *GetAnomaliesOutput) SetAnomalies(v []*Anomaly) *GetAnomaliesOutput { 6295 s.Anomalies = v 6296 return s 6297} 6298 6299// SetNextPageToken sets the NextPageToken field's value. 6300func (s *GetAnomaliesOutput) SetNextPageToken(v string) *GetAnomaliesOutput { 6301 s.NextPageToken = &v 6302 return s 6303} 6304 6305type GetAnomalyMonitorsInput struct { 6306 _ struct{} `type:"structure"` 6307 6308 // The number of entries that a paginated response contains. 6309 MaxResults *int64 `type:"integer"` 6310 6311 // A list of cost anomaly monitor ARNs. 6312 MonitorArnList []*string `type:"list"` 6313 6314 // The token to retrieve the next set of results. Amazon Web Services provides 6315 // the token when the response from a previous call has more results than the 6316 // maximum page size. 6317 NextPageToken *string `type:"string"` 6318} 6319 6320// String returns the string representation. 6321// 6322// API parameter values that are decorated as "sensitive" in the API will not 6323// be included in the string output. The member name will be present, but the 6324// value will be replaced with "sensitive". 6325func (s GetAnomalyMonitorsInput) String() string { 6326 return awsutil.Prettify(s) 6327} 6328 6329// GoString returns the string representation. 6330// 6331// API parameter values that are decorated as "sensitive" in the API will not 6332// be included in the string output. The member name will be present, but the 6333// value will be replaced with "sensitive". 6334func (s GetAnomalyMonitorsInput) GoString() string { 6335 return s.String() 6336} 6337 6338// SetMaxResults sets the MaxResults field's value. 6339func (s *GetAnomalyMonitorsInput) SetMaxResults(v int64) *GetAnomalyMonitorsInput { 6340 s.MaxResults = &v 6341 return s 6342} 6343 6344// SetMonitorArnList sets the MonitorArnList field's value. 6345func (s *GetAnomalyMonitorsInput) SetMonitorArnList(v []*string) *GetAnomalyMonitorsInput { 6346 s.MonitorArnList = v 6347 return s 6348} 6349 6350// SetNextPageToken sets the NextPageToken field's value. 6351func (s *GetAnomalyMonitorsInput) SetNextPageToken(v string) *GetAnomalyMonitorsInput { 6352 s.NextPageToken = &v 6353 return s 6354} 6355 6356type GetAnomalyMonitorsOutput struct { 6357 _ struct{} `type:"structure"` 6358 6359 // A list of cost anomaly monitors that includes the detailed metadata for each 6360 // monitor. 6361 // 6362 // AnomalyMonitors is a required field 6363 AnomalyMonitors []*AnomalyMonitor `type:"list" required:"true"` 6364 6365 // The token to retrieve the next set of results. Amazon Web Services provides 6366 // the token when the response from a previous call has more results than the 6367 // maximum page size. 6368 NextPageToken *string `type:"string"` 6369} 6370 6371// String returns the string representation. 6372// 6373// API parameter values that are decorated as "sensitive" in the API will not 6374// be included in the string output. The member name will be present, but the 6375// value will be replaced with "sensitive". 6376func (s GetAnomalyMonitorsOutput) String() string { 6377 return awsutil.Prettify(s) 6378} 6379 6380// GoString returns the string representation. 6381// 6382// API parameter values that are decorated as "sensitive" in the API will not 6383// be included in the string output. The member name will be present, but the 6384// value will be replaced with "sensitive". 6385func (s GetAnomalyMonitorsOutput) GoString() string { 6386 return s.String() 6387} 6388 6389// SetAnomalyMonitors sets the AnomalyMonitors field's value. 6390func (s *GetAnomalyMonitorsOutput) SetAnomalyMonitors(v []*AnomalyMonitor) *GetAnomalyMonitorsOutput { 6391 s.AnomalyMonitors = v 6392 return s 6393} 6394 6395// SetNextPageToken sets the NextPageToken field's value. 6396func (s *GetAnomalyMonitorsOutput) SetNextPageToken(v string) *GetAnomalyMonitorsOutput { 6397 s.NextPageToken = &v 6398 return s 6399} 6400 6401type GetAnomalySubscriptionsInput struct { 6402 _ struct{} `type:"structure"` 6403 6404 // The number of entries a paginated response contains. 6405 MaxResults *int64 `type:"integer"` 6406 6407 // Cost anomaly monitor ARNs. 6408 MonitorArn *string `type:"string"` 6409 6410 // The token to retrieve the next set of results. Amazon Web Services provides 6411 // the token when the response from a previous call has more results than the 6412 // maximum page size. 6413 NextPageToken *string `type:"string"` 6414 6415 // A list of cost anomaly subscription ARNs. 6416 SubscriptionArnList []*string `type:"list"` 6417} 6418 6419// String returns the string representation. 6420// 6421// API parameter values that are decorated as "sensitive" in the API will not 6422// be included in the string output. The member name will be present, but the 6423// value will be replaced with "sensitive". 6424func (s GetAnomalySubscriptionsInput) String() string { 6425 return awsutil.Prettify(s) 6426} 6427 6428// GoString returns the string representation. 6429// 6430// API parameter values that are decorated as "sensitive" in the API will not 6431// be included in the string output. The member name will be present, but the 6432// value will be replaced with "sensitive". 6433func (s GetAnomalySubscriptionsInput) GoString() string { 6434 return s.String() 6435} 6436 6437// SetMaxResults sets the MaxResults field's value. 6438func (s *GetAnomalySubscriptionsInput) SetMaxResults(v int64) *GetAnomalySubscriptionsInput { 6439 s.MaxResults = &v 6440 return s 6441} 6442 6443// SetMonitorArn sets the MonitorArn field's value. 6444func (s *GetAnomalySubscriptionsInput) SetMonitorArn(v string) *GetAnomalySubscriptionsInput { 6445 s.MonitorArn = &v 6446 return s 6447} 6448 6449// SetNextPageToken sets the NextPageToken field's value. 6450func (s *GetAnomalySubscriptionsInput) SetNextPageToken(v string) *GetAnomalySubscriptionsInput { 6451 s.NextPageToken = &v 6452 return s 6453} 6454 6455// SetSubscriptionArnList sets the SubscriptionArnList field's value. 6456func (s *GetAnomalySubscriptionsInput) SetSubscriptionArnList(v []*string) *GetAnomalySubscriptionsInput { 6457 s.SubscriptionArnList = v 6458 return s 6459} 6460 6461type GetAnomalySubscriptionsOutput struct { 6462 _ struct{} `type:"structure"` 6463 6464 // A list of cost anomaly subscriptions that includes the detailed metadata 6465 // for each one. 6466 // 6467 // AnomalySubscriptions is a required field 6468 AnomalySubscriptions []*AnomalySubscription `type:"list" required:"true"` 6469 6470 // The token to retrieve the next set of results. Amazon Web Services provides 6471 // the token when the response from a previous call has more results than the 6472 // maximum page size. 6473 NextPageToken *string `type:"string"` 6474} 6475 6476// String returns the string representation. 6477// 6478// API parameter values that are decorated as "sensitive" in the API will not 6479// be included in the string output. The member name will be present, but the 6480// value will be replaced with "sensitive". 6481func (s GetAnomalySubscriptionsOutput) String() string { 6482 return awsutil.Prettify(s) 6483} 6484 6485// GoString returns the string representation. 6486// 6487// API parameter values that are decorated as "sensitive" in the API will not 6488// be included in the string output. The member name will be present, but the 6489// value will be replaced with "sensitive". 6490func (s GetAnomalySubscriptionsOutput) GoString() string { 6491 return s.String() 6492} 6493 6494// SetAnomalySubscriptions sets the AnomalySubscriptions field's value. 6495func (s *GetAnomalySubscriptionsOutput) SetAnomalySubscriptions(v []*AnomalySubscription) *GetAnomalySubscriptionsOutput { 6496 s.AnomalySubscriptions = v 6497 return s 6498} 6499 6500// SetNextPageToken sets the NextPageToken field's value. 6501func (s *GetAnomalySubscriptionsOutput) SetNextPageToken(v string) *GetAnomalySubscriptionsOutput { 6502 s.NextPageToken = &v 6503 return s 6504} 6505 6506type GetCostAndUsageInput struct { 6507 _ struct{} `type:"structure"` 6508 6509 // Filters Amazon Web Services costs by different dimensions. For example, you 6510 // can specify SERVICE and LINKED_ACCOUNT and get the costs that are associated 6511 // with that account's usage of that service. You can nest Expression objects 6512 // to define any combination of dimension filters. For more information, see 6513 // Expression (https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_Expression.html). 6514 Filter *Expression `type:"structure"` 6515 6516 // Sets the Amazon Web Services cost granularity to MONTHLY or DAILY, or HOURLY. 6517 // If Granularity isn't set, the response object doesn't include the Granularity, 6518 // either MONTHLY or DAILY, or HOURLY. 6519 // 6520 // Granularity is a required field 6521 Granularity *string `type:"string" required:"true" enum:"Granularity"` 6522 6523 // You can group Amazon Web Services costs using up to two different groups, 6524 // either dimensions, tag keys, cost categories, or any two group by types. 6525 // 6526 // Valid values for the DIMENSION type are AZ, INSTANCE_TYPE, LEGAL_ENTITY_NAME, 6527 // LINKED_ACCOUNT, OPERATION, PLATFORM, PURCHASE_TYPE, SERVICE, TENANCY, RECORD_TYPE, 6528 // and USAGE_TYPE. 6529 // 6530 // When you group by the TAG type and include a valid tag key, you get all tag 6531 // values, including empty strings. 6532 GroupBy []*GroupDefinition `type:"list"` 6533 6534 // Which metrics are returned in the query. For more information about blended 6535 // and unblended rates, see Why does the "blended" annotation appear on some 6536 // line items in my bill? (http://aws.amazon.com/premiumsupport/knowledge-center/blended-rates-intro/). 6537 // 6538 // Valid values are AmortizedCost, BlendedCost, NetAmortizedCost, NetUnblendedCost, 6539 // NormalizedUsageAmount, UnblendedCost, and UsageQuantity. 6540 // 6541 // If you return the UsageQuantity metric, the service aggregates all usage 6542 // numbers without taking into account the units. For example, if you aggregate 6543 // usageQuantity across all of Amazon EC2, the results aren't meaningful because 6544 // Amazon EC2 compute hours and data transfer are measured in different units 6545 // (for example, hours and GB). To get more meaningful UsageQuantity metrics, 6546 // filter by UsageType or UsageTypeGroups. 6547 // 6548 // Metrics is required for GetCostAndUsage requests. 6549 // 6550 // Metrics is a required field 6551 Metrics []*string `type:"list" required:"true"` 6552 6553 // The token to retrieve the next set of results. Amazon Web Services provides 6554 // the token when the response from a previous call has more results than the 6555 // maximum page size. 6556 NextPageToken *string `type:"string"` 6557 6558 // Sets the start date and end date for retrieving Amazon Web Services costs. 6559 // The start date is inclusive, but the end date is exclusive. For example, 6560 // if start is 2017-01-01 and end is 2017-05-01, then the cost and usage data 6561 // is retrieved from 2017-01-01 up to and including 2017-04-30 but not including 6562 // 2017-05-01. 6563 // 6564 // TimePeriod is a required field 6565 TimePeriod *DateInterval `type:"structure" required:"true"` 6566} 6567 6568// String returns the string representation. 6569// 6570// API parameter values that are decorated as "sensitive" in the API will not 6571// be included in the string output. The member name will be present, but the 6572// value will be replaced with "sensitive". 6573func (s GetCostAndUsageInput) String() string { 6574 return awsutil.Prettify(s) 6575} 6576 6577// GoString returns the string representation. 6578// 6579// API parameter values that are decorated as "sensitive" in the API will not 6580// be included in the string output. The member name will be present, but the 6581// value will be replaced with "sensitive". 6582func (s GetCostAndUsageInput) GoString() string { 6583 return s.String() 6584} 6585 6586// Validate inspects the fields of the type to determine if they are valid. 6587func (s *GetCostAndUsageInput) Validate() error { 6588 invalidParams := request.ErrInvalidParams{Context: "GetCostAndUsageInput"} 6589 if s.Granularity == nil { 6590 invalidParams.Add(request.NewErrParamRequired("Granularity")) 6591 } 6592 if s.Metrics == nil { 6593 invalidParams.Add(request.NewErrParamRequired("Metrics")) 6594 } 6595 if s.TimePeriod == nil { 6596 invalidParams.Add(request.NewErrParamRequired("TimePeriod")) 6597 } 6598 if s.Filter != nil { 6599 if err := s.Filter.Validate(); err != nil { 6600 invalidParams.AddNested("Filter", err.(request.ErrInvalidParams)) 6601 } 6602 } 6603 if s.TimePeriod != nil { 6604 if err := s.TimePeriod.Validate(); err != nil { 6605 invalidParams.AddNested("TimePeriod", err.(request.ErrInvalidParams)) 6606 } 6607 } 6608 6609 if invalidParams.Len() > 0 { 6610 return invalidParams 6611 } 6612 return nil 6613} 6614 6615// SetFilter sets the Filter field's value. 6616func (s *GetCostAndUsageInput) SetFilter(v *Expression) *GetCostAndUsageInput { 6617 s.Filter = v 6618 return s 6619} 6620 6621// SetGranularity sets the Granularity field's value. 6622func (s *GetCostAndUsageInput) SetGranularity(v string) *GetCostAndUsageInput { 6623 s.Granularity = &v 6624 return s 6625} 6626 6627// SetGroupBy sets the GroupBy field's value. 6628func (s *GetCostAndUsageInput) SetGroupBy(v []*GroupDefinition) *GetCostAndUsageInput { 6629 s.GroupBy = v 6630 return s 6631} 6632 6633// SetMetrics sets the Metrics field's value. 6634func (s *GetCostAndUsageInput) SetMetrics(v []*string) *GetCostAndUsageInput { 6635 s.Metrics = v 6636 return s 6637} 6638 6639// SetNextPageToken sets the NextPageToken field's value. 6640func (s *GetCostAndUsageInput) SetNextPageToken(v string) *GetCostAndUsageInput { 6641 s.NextPageToken = &v 6642 return s 6643} 6644 6645// SetTimePeriod sets the TimePeriod field's value. 6646func (s *GetCostAndUsageInput) SetTimePeriod(v *DateInterval) *GetCostAndUsageInput { 6647 s.TimePeriod = v 6648 return s 6649} 6650 6651type GetCostAndUsageOutput struct { 6652 _ struct{} `type:"structure"` 6653 6654 // The attributes that apply to a specific dimension value. For example, if 6655 // the value is a linked account, the attribute is that account name. 6656 DimensionValueAttributes []*DimensionValuesWithAttributes `type:"list"` 6657 6658 // The groups that are specified by the Filter or GroupBy parameters in the 6659 // request. 6660 GroupDefinitions []*GroupDefinition `type:"list"` 6661 6662 // The token for the next set of retrievable results. Amazon Web Services provides 6663 // the token when the response from a previous call has more results than the 6664 // maximum page size. 6665 NextPageToken *string `type:"string"` 6666 6667 // The time period that's covered by the results in the response. 6668 ResultsByTime []*ResultByTime `type:"list"` 6669} 6670 6671// String returns the string representation. 6672// 6673// API parameter values that are decorated as "sensitive" in the API will not 6674// be included in the string output. The member name will be present, but the 6675// value will be replaced with "sensitive". 6676func (s GetCostAndUsageOutput) String() string { 6677 return awsutil.Prettify(s) 6678} 6679 6680// GoString returns the string representation. 6681// 6682// API parameter values that are decorated as "sensitive" in the API will not 6683// be included in the string output. The member name will be present, but the 6684// value will be replaced with "sensitive". 6685func (s GetCostAndUsageOutput) GoString() string { 6686 return s.String() 6687} 6688 6689// SetDimensionValueAttributes sets the DimensionValueAttributes field's value. 6690func (s *GetCostAndUsageOutput) SetDimensionValueAttributes(v []*DimensionValuesWithAttributes) *GetCostAndUsageOutput { 6691 s.DimensionValueAttributes = v 6692 return s 6693} 6694 6695// SetGroupDefinitions sets the GroupDefinitions field's value. 6696func (s *GetCostAndUsageOutput) SetGroupDefinitions(v []*GroupDefinition) *GetCostAndUsageOutput { 6697 s.GroupDefinitions = v 6698 return s 6699} 6700 6701// SetNextPageToken sets the NextPageToken field's value. 6702func (s *GetCostAndUsageOutput) SetNextPageToken(v string) *GetCostAndUsageOutput { 6703 s.NextPageToken = &v 6704 return s 6705} 6706 6707// SetResultsByTime sets the ResultsByTime field's value. 6708func (s *GetCostAndUsageOutput) SetResultsByTime(v []*ResultByTime) *GetCostAndUsageOutput { 6709 s.ResultsByTime = v 6710 return s 6711} 6712 6713type GetCostAndUsageWithResourcesInput struct { 6714 _ struct{} `type:"structure"` 6715 6716 // Filters Amazon Web Services costs by different dimensions. For example, you 6717 // can specify SERVICE and LINKED_ACCOUNT and get the costs that are associated 6718 // with that account's usage of that service. You can nest Expression objects 6719 // to define any combination of dimension filters. For more information, see 6720 // Expression (https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_Expression.html). 6721 // 6722 // The GetCostAndUsageWithResources operation requires that you either group 6723 // by or filter by a ResourceId. It requires the Expression (https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_Expression.html) 6724 // "SERVICE = Amazon Elastic Compute Cloud - Compute" in the filter. 6725 // 6726 // Filter is a required field 6727 Filter *Expression `type:"structure" required:"true"` 6728 6729 // Sets the Amazon Web Services cost granularity to MONTHLY, DAILY, or HOURLY. 6730 // If Granularity isn't set, the response object doesn't include the Granularity, 6731 // MONTHLY, DAILY, or HOURLY. 6732 // 6733 // Granularity is a required field 6734 Granularity *string `type:"string" required:"true" enum:"Granularity"` 6735 6736 // You can group Amazon Web Services costs using up to two different groups: 6737 // DIMENSION, TAG, COST_CATEGORY. 6738 GroupBy []*GroupDefinition `type:"list"` 6739 6740 // Which metrics are returned in the query. For more information about blended 6741 // and unblended rates, see Why does the "blended" annotation appear on some 6742 // line items in my bill? (http://aws.amazon.com/premiumsupport/knowledge-center/blended-rates-intro/). 6743 // 6744 // Valid values are AmortizedCost, BlendedCost, NetAmortizedCost, NetUnblendedCost, 6745 // NormalizedUsageAmount, UnblendedCost, and UsageQuantity. 6746 // 6747 // If you return the UsageQuantity metric, the service aggregates all usage 6748 // numbers without taking the units into account. For example, if you aggregate 6749 // usageQuantity across all of Amazon EC2, the results aren't meaningful because 6750 // Amazon EC2 compute hours and data transfer are measured in different units 6751 // (for example, hours vs. GB). To get more meaningful UsageQuantity metrics, 6752 // filter by UsageType or UsageTypeGroups. 6753 // 6754 // Metrics is required for GetCostAndUsageWithResources requests. 6755 Metrics []*string `type:"list"` 6756 6757 // The token to retrieve the next set of results. Amazon Web Services provides 6758 // the token when the response from a previous call has more results than the 6759 // maximum page size. 6760 NextPageToken *string `type:"string"` 6761 6762 // Sets the start and end dates for retrieving Amazon Web Services costs. The 6763 // range must be within the last 14 days (the start date cannot be earlier than 6764 // 14 days ago). The start date is inclusive, but the end date is exclusive. 6765 // For example, if start is 2017-01-01 and end is 2017-05-01, then the cost 6766 // and usage data is retrieved from 2017-01-01 up to and including 2017-04-30 6767 // but not including 2017-05-01. 6768 // 6769 // TimePeriod is a required field 6770 TimePeriod *DateInterval `type:"structure" required:"true"` 6771} 6772 6773// String returns the string representation. 6774// 6775// API parameter values that are decorated as "sensitive" in the API will not 6776// be included in the string output. The member name will be present, but the 6777// value will be replaced with "sensitive". 6778func (s GetCostAndUsageWithResourcesInput) String() string { 6779 return awsutil.Prettify(s) 6780} 6781 6782// GoString returns the string representation. 6783// 6784// API parameter values that are decorated as "sensitive" in the API will not 6785// be included in the string output. The member name will be present, but the 6786// value will be replaced with "sensitive". 6787func (s GetCostAndUsageWithResourcesInput) GoString() string { 6788 return s.String() 6789} 6790 6791// Validate inspects the fields of the type to determine if they are valid. 6792func (s *GetCostAndUsageWithResourcesInput) Validate() error { 6793 invalidParams := request.ErrInvalidParams{Context: "GetCostAndUsageWithResourcesInput"} 6794 if s.Filter == nil { 6795 invalidParams.Add(request.NewErrParamRequired("Filter")) 6796 } 6797 if s.Granularity == nil { 6798 invalidParams.Add(request.NewErrParamRequired("Granularity")) 6799 } 6800 if s.TimePeriod == nil { 6801 invalidParams.Add(request.NewErrParamRequired("TimePeriod")) 6802 } 6803 if s.Filter != nil { 6804 if err := s.Filter.Validate(); err != nil { 6805 invalidParams.AddNested("Filter", err.(request.ErrInvalidParams)) 6806 } 6807 } 6808 if s.TimePeriod != nil { 6809 if err := s.TimePeriod.Validate(); err != nil { 6810 invalidParams.AddNested("TimePeriod", err.(request.ErrInvalidParams)) 6811 } 6812 } 6813 6814 if invalidParams.Len() > 0 { 6815 return invalidParams 6816 } 6817 return nil 6818} 6819 6820// SetFilter sets the Filter field's value. 6821func (s *GetCostAndUsageWithResourcesInput) SetFilter(v *Expression) *GetCostAndUsageWithResourcesInput { 6822 s.Filter = v 6823 return s 6824} 6825 6826// SetGranularity sets the Granularity field's value. 6827func (s *GetCostAndUsageWithResourcesInput) SetGranularity(v string) *GetCostAndUsageWithResourcesInput { 6828 s.Granularity = &v 6829 return s 6830} 6831 6832// SetGroupBy sets the GroupBy field's value. 6833func (s *GetCostAndUsageWithResourcesInput) SetGroupBy(v []*GroupDefinition) *GetCostAndUsageWithResourcesInput { 6834 s.GroupBy = v 6835 return s 6836} 6837 6838// SetMetrics sets the Metrics field's value. 6839func (s *GetCostAndUsageWithResourcesInput) SetMetrics(v []*string) *GetCostAndUsageWithResourcesInput { 6840 s.Metrics = v 6841 return s 6842} 6843 6844// SetNextPageToken sets the NextPageToken field's value. 6845func (s *GetCostAndUsageWithResourcesInput) SetNextPageToken(v string) *GetCostAndUsageWithResourcesInput { 6846 s.NextPageToken = &v 6847 return s 6848} 6849 6850// SetTimePeriod sets the TimePeriod field's value. 6851func (s *GetCostAndUsageWithResourcesInput) SetTimePeriod(v *DateInterval) *GetCostAndUsageWithResourcesInput { 6852 s.TimePeriod = v 6853 return s 6854} 6855 6856type GetCostAndUsageWithResourcesOutput struct { 6857 _ struct{} `type:"structure"` 6858 6859 // The attributes that apply to a specific dimension value. For example, if 6860 // the value is a linked account, the attribute is that account name. 6861 DimensionValueAttributes []*DimensionValuesWithAttributes `type:"list"` 6862 6863 // The groups that are specified by the Filter or GroupBy parameters in the 6864 // request. 6865 GroupDefinitions []*GroupDefinition `type:"list"` 6866 6867 // The token for the next set of retrievable results. Amazon Web Services provides 6868 // the token when the response from a previous call has more results than the 6869 // maximum page size. 6870 NextPageToken *string `type:"string"` 6871 6872 // The time period that is covered by the results in the response. 6873 ResultsByTime []*ResultByTime `type:"list"` 6874} 6875 6876// String returns the string representation. 6877// 6878// API parameter values that are decorated as "sensitive" in the API will not 6879// be included in the string output. The member name will be present, but the 6880// value will be replaced with "sensitive". 6881func (s GetCostAndUsageWithResourcesOutput) String() string { 6882 return awsutil.Prettify(s) 6883} 6884 6885// GoString returns the string representation. 6886// 6887// API parameter values that are decorated as "sensitive" in the API will not 6888// be included in the string output. The member name will be present, but the 6889// value will be replaced with "sensitive". 6890func (s GetCostAndUsageWithResourcesOutput) GoString() string { 6891 return s.String() 6892} 6893 6894// SetDimensionValueAttributes sets the DimensionValueAttributes field's value. 6895func (s *GetCostAndUsageWithResourcesOutput) SetDimensionValueAttributes(v []*DimensionValuesWithAttributes) *GetCostAndUsageWithResourcesOutput { 6896 s.DimensionValueAttributes = v 6897 return s 6898} 6899 6900// SetGroupDefinitions sets the GroupDefinitions field's value. 6901func (s *GetCostAndUsageWithResourcesOutput) SetGroupDefinitions(v []*GroupDefinition) *GetCostAndUsageWithResourcesOutput { 6902 s.GroupDefinitions = v 6903 return s 6904} 6905 6906// SetNextPageToken sets the NextPageToken field's value. 6907func (s *GetCostAndUsageWithResourcesOutput) SetNextPageToken(v string) *GetCostAndUsageWithResourcesOutput { 6908 s.NextPageToken = &v 6909 return s 6910} 6911 6912// SetResultsByTime sets the ResultsByTime field's value. 6913func (s *GetCostAndUsageWithResourcesOutput) SetResultsByTime(v []*ResultByTime) *GetCostAndUsageWithResourcesOutput { 6914 s.ResultsByTime = v 6915 return s 6916} 6917 6918type GetCostCategoriesInput struct { 6919 _ struct{} `type:"structure"` 6920 6921 // The unique name of the Cost Category. 6922 CostCategoryName *string `min:"1" type:"string"` 6923 6924 // Use Expression to filter by cost or by usage. There are two patterns: 6925 // 6926 // * Simple dimension values - You can set the dimension name and values 6927 // for the filters that you plan to use. For example, you can filter for 6928 // REGION==us-east-1 OR REGION==us-west-1. For GetRightsizingRecommendation, 6929 // the Region is a full name (for example, REGION==US East (N. Virginia). 6930 // The Expression example is as follows: { "Dimensions": { "Key": "REGION", 6931 // "Values": [ "us-east-1", “us-west-1” ] } } The list of dimension values 6932 // are OR'd together to retrieve cost or usage data. You can create Expression 6933 // and DimensionValues objects using either with* methods or set* methods 6934 // in multiple lines. 6935 // 6936 // * Compound dimension values with logical operations - You can use multiple 6937 // Expression types and the logical operators AND/OR/NOT to create a list 6938 // of one or more Expression objects. By doing this, you can filter on more 6939 // advanced options. For example, you can filter on ((REGION == us-east-1 6940 // OR REGION == us-west-1) OR (TAG.Type == Type1)) AND (USAGE_TYPE != DataTransfer). 6941 // The Expression for that is as follows: { "And": [ {"Or": [ {"Dimensions": 6942 // { "Key": "REGION", "Values": [ "us-east-1", "us-west-1" ] }}, {"Tags": 6943 // { "Key": "TagName", "Values": ["Value1"] } } ]}, {"Not": {"Dimensions": 6944 // { "Key": "USAGE_TYPE", "Values": ["DataTransfer"] }}} ] } Because each 6945 // Expression can have only one operator, the service returns an error if 6946 // more than one is specified. The following example shows an Expression 6947 // object that creates an error. { "And": [ ... ], "DimensionValues": { "Dimension": 6948 // "USAGE_TYPE", "Values": [ "DataTransfer" ] } } 6949 // 6950 // For the GetRightsizingRecommendation action, a combination of OR and NOT 6951 // isn't supported. OR isn't supported between different dimensions, or dimensions 6952 // and tags. NOT operators aren't supported. Dimensions are also limited to 6953 // LINKED_ACCOUNT, REGION, or RIGHTSIZING_TYPE. 6954 // 6955 // For the GetReservationPurchaseRecommendation action, only NOT is supported. 6956 // AND and OR aren't supported. Dimensions are limited to LINKED_ACCOUNT. 6957 Filter *Expression `type:"structure"` 6958 6959 // This field is only used when SortBy is provided in the request. 6960 // 6961 // The maximum number of objects that to be returned for this request. If MaxResults 6962 // is not specified with SortBy, the request will return 1000 results as the 6963 // default value for this parameter. 6964 // 6965 // For GetCostCategories, MaxResults has an upper limit of 1000. 6966 MaxResults *int64 `min:"1" type:"integer"` 6967 6968 // If the number of objects that are still available for retrieval exceeds the 6969 // limit, Amazon Web Services returns a NextPageToken value in the response. 6970 // To retrieve the next batch of objects, provide the NextPageToken from the 6971 // prior call in your next request. 6972 NextPageToken *string `type:"string"` 6973 6974 // The value that you want to search the filter values for. 6975 // 6976 // If you do not specify a CostCategoryName, SearchString will be used to filter 6977 // Cost Category names that match the SearchString pattern. If you do specifiy 6978 // a CostCategoryName, SearchString will be used to filter Cost Category values 6979 // that match the SearchString pattern. 6980 SearchString *string `type:"string"` 6981 6982 // The value by which you want to sort the data. 6983 // 6984 // The key represents cost and usage metrics. The following values are supported: 6985 // 6986 // * BlendedCost 6987 // 6988 // * UnblendedCost 6989 // 6990 // * AmortizedCost 6991 // 6992 // * NetAmortizedCost 6993 // 6994 // * NetUnblendedCost 6995 // 6996 // * UsageQuantity 6997 // 6998 // * NormalizedUsageAmount 6999 // 7000 // Supported values for SortOrder are ASCENDING or DESCENDING. 7001 // 7002 // When using SortBy, NextPageToken and SearchString are not supported. 7003 SortBy []*SortDefinition `type:"list"` 7004 7005 // The time period of the request. 7006 // 7007 // TimePeriod is a required field 7008 TimePeriod *DateInterval `type:"structure" required:"true"` 7009} 7010 7011// String returns the string representation. 7012// 7013// API parameter values that are decorated as "sensitive" in the API will not 7014// be included in the string output. The member name will be present, but the 7015// value will be replaced with "sensitive". 7016func (s GetCostCategoriesInput) String() string { 7017 return awsutil.Prettify(s) 7018} 7019 7020// GoString returns the string representation. 7021// 7022// API parameter values that are decorated as "sensitive" in the API will not 7023// be included in the string output. The member name will be present, but the 7024// value will be replaced with "sensitive". 7025func (s GetCostCategoriesInput) GoString() string { 7026 return s.String() 7027} 7028 7029// Validate inspects the fields of the type to determine if they are valid. 7030func (s *GetCostCategoriesInput) Validate() error { 7031 invalidParams := request.ErrInvalidParams{Context: "GetCostCategoriesInput"} 7032 if s.CostCategoryName != nil && len(*s.CostCategoryName) < 1 { 7033 invalidParams.Add(request.NewErrParamMinLen("CostCategoryName", 1)) 7034 } 7035 if s.MaxResults != nil && *s.MaxResults < 1 { 7036 invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) 7037 } 7038 if s.TimePeriod == nil { 7039 invalidParams.Add(request.NewErrParamRequired("TimePeriod")) 7040 } 7041 if s.Filter != nil { 7042 if err := s.Filter.Validate(); err != nil { 7043 invalidParams.AddNested("Filter", err.(request.ErrInvalidParams)) 7044 } 7045 } 7046 if s.SortBy != nil { 7047 for i, v := range s.SortBy { 7048 if v == nil { 7049 continue 7050 } 7051 if err := v.Validate(); err != nil { 7052 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "SortBy", i), err.(request.ErrInvalidParams)) 7053 } 7054 } 7055 } 7056 if s.TimePeriod != nil { 7057 if err := s.TimePeriod.Validate(); err != nil { 7058 invalidParams.AddNested("TimePeriod", err.(request.ErrInvalidParams)) 7059 } 7060 } 7061 7062 if invalidParams.Len() > 0 { 7063 return invalidParams 7064 } 7065 return nil 7066} 7067 7068// SetCostCategoryName sets the CostCategoryName field's value. 7069func (s *GetCostCategoriesInput) SetCostCategoryName(v string) *GetCostCategoriesInput { 7070 s.CostCategoryName = &v 7071 return s 7072} 7073 7074// SetFilter sets the Filter field's value. 7075func (s *GetCostCategoriesInput) SetFilter(v *Expression) *GetCostCategoriesInput { 7076 s.Filter = v 7077 return s 7078} 7079 7080// SetMaxResults sets the MaxResults field's value. 7081func (s *GetCostCategoriesInput) SetMaxResults(v int64) *GetCostCategoriesInput { 7082 s.MaxResults = &v 7083 return s 7084} 7085 7086// SetNextPageToken sets the NextPageToken field's value. 7087func (s *GetCostCategoriesInput) SetNextPageToken(v string) *GetCostCategoriesInput { 7088 s.NextPageToken = &v 7089 return s 7090} 7091 7092// SetSearchString sets the SearchString field's value. 7093func (s *GetCostCategoriesInput) SetSearchString(v string) *GetCostCategoriesInput { 7094 s.SearchString = &v 7095 return s 7096} 7097 7098// SetSortBy sets the SortBy field's value. 7099func (s *GetCostCategoriesInput) SetSortBy(v []*SortDefinition) *GetCostCategoriesInput { 7100 s.SortBy = v 7101 return s 7102} 7103 7104// SetTimePeriod sets the TimePeriod field's value. 7105func (s *GetCostCategoriesInput) SetTimePeriod(v *DateInterval) *GetCostCategoriesInput { 7106 s.TimePeriod = v 7107 return s 7108} 7109 7110type GetCostCategoriesOutput struct { 7111 _ struct{} `type:"structure"` 7112 7113 // The names of the Cost Categories. 7114 CostCategoryNames []*string `type:"list"` 7115 7116 // The Cost Category values. 7117 // 7118 // CostCategoryValues are not returned if CostCategoryName is not specified 7119 // in the request. 7120 CostCategoryValues []*string `type:"list"` 7121 7122 // If the number of objects that are still available for retrieval exceeds the 7123 // limit, Amazon Web Services returns a NextPageToken value in the response. 7124 // To retrieve the next batch of objects, provide the marker from the prior 7125 // call in your next request. 7126 NextPageToken *string `type:"string"` 7127 7128 // The number of objects returned. 7129 // 7130 // ReturnSize is a required field 7131 ReturnSize *int64 `type:"integer" required:"true"` 7132 7133 // The total number of objects. 7134 // 7135 // TotalSize is a required field 7136 TotalSize *int64 `type:"integer" required:"true"` 7137} 7138 7139// String returns the string representation. 7140// 7141// API parameter values that are decorated as "sensitive" in the API will not 7142// be included in the string output. The member name will be present, but the 7143// value will be replaced with "sensitive". 7144func (s GetCostCategoriesOutput) String() string { 7145 return awsutil.Prettify(s) 7146} 7147 7148// GoString returns the string representation. 7149// 7150// API parameter values that are decorated as "sensitive" in the API will not 7151// be included in the string output. The member name will be present, but the 7152// value will be replaced with "sensitive". 7153func (s GetCostCategoriesOutput) GoString() string { 7154 return s.String() 7155} 7156 7157// SetCostCategoryNames sets the CostCategoryNames field's value. 7158func (s *GetCostCategoriesOutput) SetCostCategoryNames(v []*string) *GetCostCategoriesOutput { 7159 s.CostCategoryNames = v 7160 return s 7161} 7162 7163// SetCostCategoryValues sets the CostCategoryValues field's value. 7164func (s *GetCostCategoriesOutput) SetCostCategoryValues(v []*string) *GetCostCategoriesOutput { 7165 s.CostCategoryValues = v 7166 return s 7167} 7168 7169// SetNextPageToken sets the NextPageToken field's value. 7170func (s *GetCostCategoriesOutput) SetNextPageToken(v string) *GetCostCategoriesOutput { 7171 s.NextPageToken = &v 7172 return s 7173} 7174 7175// SetReturnSize sets the ReturnSize field's value. 7176func (s *GetCostCategoriesOutput) SetReturnSize(v int64) *GetCostCategoriesOutput { 7177 s.ReturnSize = &v 7178 return s 7179} 7180 7181// SetTotalSize sets the TotalSize field's value. 7182func (s *GetCostCategoriesOutput) SetTotalSize(v int64) *GetCostCategoriesOutput { 7183 s.TotalSize = &v 7184 return s 7185} 7186 7187type GetCostForecastInput struct { 7188 _ struct{} `type:"structure"` 7189 7190 // The filters that you want to use to filter your forecast. The GetCostForecast 7191 // API supports filtering by the following dimensions: 7192 // 7193 // * AZ 7194 // 7195 // * INSTANCE_TYPE 7196 // 7197 // * LINKED_ACCOUNT 7198 // 7199 // * LINKED_ACCOUNT_NAME 7200 // 7201 // * OPERATION 7202 // 7203 // * PURCHASE_TYPE 7204 // 7205 // * REGION 7206 // 7207 // * SERVICE 7208 // 7209 // * USAGE_TYPE 7210 // 7211 // * USAGE_TYPE_GROUP 7212 // 7213 // * RECORD_TYPE 7214 // 7215 // * OPERATING_SYSTEM 7216 // 7217 // * TENANCY 7218 // 7219 // * SCOPE 7220 // 7221 // * PLATFORM 7222 // 7223 // * SUBSCRIPTION_ID 7224 // 7225 // * LEGAL_ENTITY_NAME 7226 // 7227 // * DEPLOYMENT_OPTION 7228 // 7229 // * DATABASE_ENGINE 7230 // 7231 // * INSTANCE_TYPE_FAMILY 7232 // 7233 // * BILLING_ENTITY 7234 // 7235 // * RESERVATION_ID 7236 // 7237 // * SAVINGS_PLAN_ARN 7238 Filter *Expression `type:"structure"` 7239 7240 // How granular you want the forecast to be. You can get 3 months of DAILY forecasts 7241 // or 12 months of MONTHLY forecasts. 7242 // 7243 // The GetCostForecast operation supports only DAILY and MONTHLY granularities. 7244 // 7245 // Granularity is a required field 7246 Granularity *string `type:"string" required:"true" enum:"Granularity"` 7247 7248 // Which metric Cost Explorer uses to create your forecast. For more information 7249 // about blended and unblended rates, see Why does the "blended" annotation 7250 // appear on some line items in my bill? (http://aws.amazon.com/premiumsupport/knowledge-center/blended-rates-intro/). 7251 // 7252 // Valid values for a GetCostForecast call are the following: 7253 // 7254 // * AMORTIZED_COST 7255 // 7256 // * BLENDED_COST 7257 // 7258 // * NET_AMORTIZED_COST 7259 // 7260 // * NET_UNBLENDED_COST 7261 // 7262 // * UNBLENDED_COST 7263 // 7264 // Metric is a required field 7265 Metric *string `type:"string" required:"true" enum:"Metric"` 7266 7267 // Cost Explorer always returns the mean forecast as a single point. You can 7268 // request a prediction interval around the mean by specifying a confidence 7269 // level. The higher the confidence level, the more confident Cost Explorer 7270 // is about the actual value falling in the prediction interval. Higher confidence 7271 // levels result in wider prediction intervals. 7272 PredictionIntervalLevel *int64 `min:"51" type:"integer"` 7273 7274 // The period of time that you want the forecast to cover. The start date must 7275 // be equal to or no later than the current date to avoid a validation error. 7276 // 7277 // TimePeriod is a required field 7278 TimePeriod *DateInterval `type:"structure" required:"true"` 7279} 7280 7281// String returns the string representation. 7282// 7283// API parameter values that are decorated as "sensitive" in the API will not 7284// be included in the string output. The member name will be present, but the 7285// value will be replaced with "sensitive". 7286func (s GetCostForecastInput) String() string { 7287 return awsutil.Prettify(s) 7288} 7289 7290// GoString returns the string representation. 7291// 7292// API parameter values that are decorated as "sensitive" in the API will not 7293// be included in the string output. The member name will be present, but the 7294// value will be replaced with "sensitive". 7295func (s GetCostForecastInput) GoString() string { 7296 return s.String() 7297} 7298 7299// Validate inspects the fields of the type to determine if they are valid. 7300func (s *GetCostForecastInput) Validate() error { 7301 invalidParams := request.ErrInvalidParams{Context: "GetCostForecastInput"} 7302 if s.Granularity == nil { 7303 invalidParams.Add(request.NewErrParamRequired("Granularity")) 7304 } 7305 if s.Metric == nil { 7306 invalidParams.Add(request.NewErrParamRequired("Metric")) 7307 } 7308 if s.PredictionIntervalLevel != nil && *s.PredictionIntervalLevel < 51 { 7309 invalidParams.Add(request.NewErrParamMinValue("PredictionIntervalLevel", 51)) 7310 } 7311 if s.TimePeriod == nil { 7312 invalidParams.Add(request.NewErrParamRequired("TimePeriod")) 7313 } 7314 if s.Filter != nil { 7315 if err := s.Filter.Validate(); err != nil { 7316 invalidParams.AddNested("Filter", err.(request.ErrInvalidParams)) 7317 } 7318 } 7319 if s.TimePeriod != nil { 7320 if err := s.TimePeriod.Validate(); err != nil { 7321 invalidParams.AddNested("TimePeriod", err.(request.ErrInvalidParams)) 7322 } 7323 } 7324 7325 if invalidParams.Len() > 0 { 7326 return invalidParams 7327 } 7328 return nil 7329} 7330 7331// SetFilter sets the Filter field's value. 7332func (s *GetCostForecastInput) SetFilter(v *Expression) *GetCostForecastInput { 7333 s.Filter = v 7334 return s 7335} 7336 7337// SetGranularity sets the Granularity field's value. 7338func (s *GetCostForecastInput) SetGranularity(v string) *GetCostForecastInput { 7339 s.Granularity = &v 7340 return s 7341} 7342 7343// SetMetric sets the Metric field's value. 7344func (s *GetCostForecastInput) SetMetric(v string) *GetCostForecastInput { 7345 s.Metric = &v 7346 return s 7347} 7348 7349// SetPredictionIntervalLevel sets the PredictionIntervalLevel field's value. 7350func (s *GetCostForecastInput) SetPredictionIntervalLevel(v int64) *GetCostForecastInput { 7351 s.PredictionIntervalLevel = &v 7352 return s 7353} 7354 7355// SetTimePeriod sets the TimePeriod field's value. 7356func (s *GetCostForecastInput) SetTimePeriod(v *DateInterval) *GetCostForecastInput { 7357 s.TimePeriod = v 7358 return s 7359} 7360 7361type GetCostForecastOutput struct { 7362 _ struct{} `type:"structure"` 7363 7364 // The forecasts for your query, in order. For DAILY forecasts, this is a list 7365 // of days. For MONTHLY forecasts, this is a list of months. 7366 ForecastResultsByTime []*ForecastResult `type:"list"` 7367 7368 // How much you are forecasted to spend over the forecast period, in USD. 7369 Total *MetricValue `type:"structure"` 7370} 7371 7372// String returns the string representation. 7373// 7374// API parameter values that are decorated as "sensitive" in the API will not 7375// be included in the string output. The member name will be present, but the 7376// value will be replaced with "sensitive". 7377func (s GetCostForecastOutput) String() string { 7378 return awsutil.Prettify(s) 7379} 7380 7381// GoString returns the string representation. 7382// 7383// API parameter values that are decorated as "sensitive" in the API will not 7384// be included in the string output. The member name will be present, but the 7385// value will be replaced with "sensitive". 7386func (s GetCostForecastOutput) GoString() string { 7387 return s.String() 7388} 7389 7390// SetForecastResultsByTime sets the ForecastResultsByTime field's value. 7391func (s *GetCostForecastOutput) SetForecastResultsByTime(v []*ForecastResult) *GetCostForecastOutput { 7392 s.ForecastResultsByTime = v 7393 return s 7394} 7395 7396// SetTotal sets the Total field's value. 7397func (s *GetCostForecastOutput) SetTotal(v *MetricValue) *GetCostForecastOutput { 7398 s.Total = v 7399 return s 7400} 7401 7402type GetDimensionValuesInput struct { 7403 _ struct{} `type:"structure"` 7404 7405 // The context for the call to GetDimensionValues. This can be RESERVATIONS 7406 // or COST_AND_USAGE. The default value is COST_AND_USAGE. If the context is 7407 // set to RESERVATIONS, the resulting dimension values can be used in the GetReservationUtilization 7408 // operation. If the context is set to COST_AND_USAGE, the resulting dimension 7409 // values can be used in the GetCostAndUsage operation. 7410 // 7411 // If you set the context to COST_AND_USAGE, you can use the following dimensions 7412 // for searching: 7413 // 7414 // * AZ - The Availability Zone. An example is us-east-1a. 7415 // 7416 // * DATABASE_ENGINE - The Amazon Relational Database Service database. Examples 7417 // are Aurora or MySQL. 7418 // 7419 // * INSTANCE_TYPE - The type of Amazon EC2 instance. An example is m4.xlarge. 7420 // 7421 // * LEGAL_ENTITY_NAME - The name of the organization that sells you Amazon 7422 // Web Services services, such as Amazon Web Services. 7423 // 7424 // * LINKED_ACCOUNT - The description in the attribute map that includes 7425 // the full name of the member account. The value field contains the Amazon 7426 // Web Services ID of the member account. 7427 // 7428 // * OPERATING_SYSTEM - The operating system. Examples are Windows or Linux. 7429 // 7430 // * OPERATION - The action performed. Examples include RunInstance and CreateBucket. 7431 // 7432 // * PLATFORM - The Amazon EC2 operating system. Examples are Windows or 7433 // Linux. 7434 // 7435 // * PURCHASE_TYPE - The reservation type of the purchase to which this usage 7436 // is related. Examples include On-Demand Instances and Standard Reserved 7437 // Instances. 7438 // 7439 // * SERVICE - The Amazon Web Services service such as Amazon DynamoDB. 7440 // 7441 // * USAGE_TYPE - The type of usage. An example is DataTransfer-In-Bytes. 7442 // The response for the GetDimensionValues operation includes a unit attribute. 7443 // Examples include GB and Hrs. 7444 // 7445 // * USAGE_TYPE_GROUP - The grouping of common usage types. An example is 7446 // Amazon EC2: CloudWatch – Alarms. The response for this operation includes 7447 // a unit attribute. 7448 // 7449 // * REGION - The Amazon Web Services Region. 7450 // 7451 // * RECORD_TYPE - The different types of charges such as RI fees, usage 7452 // costs, tax refunds, and credits. 7453 // 7454 // * RESOURCE_ID - The unique identifier of the resource. ResourceId is an 7455 // opt-in feature only available for last 14 days for EC2-Compute Service. 7456 // 7457 // If you set the context to RESERVATIONS, you can use the following dimensions 7458 // for searching: 7459 // 7460 // * AZ - The Availability Zone. An example is us-east-1a. 7461 // 7462 // * CACHE_ENGINE - The Amazon ElastiCache operating system. Examples are 7463 // Windows or Linux. 7464 // 7465 // * DEPLOYMENT_OPTION - The scope of Amazon Relational Database Service 7466 // deployments. Valid values are SingleAZ and MultiAZ. 7467 // 7468 // * INSTANCE_TYPE - The type of Amazon EC2 instance. An example is m4.xlarge. 7469 // 7470 // * LINKED_ACCOUNT - The description in the attribute map that includes 7471 // the full name of the member account. The value field contains the Amazon 7472 // Web Services ID of the member account. 7473 // 7474 // * PLATFORM - The Amazon EC2 operating system. Examples are Windows or 7475 // Linux. 7476 // 7477 // * REGION - The Amazon Web Services Region. 7478 // 7479 // * SCOPE (Utilization only) - The scope of a Reserved Instance (RI). Values 7480 // are regional or a single Availability Zone. 7481 // 7482 // * TAG (Coverage only) - The tags that are associated with a Reserved Instance 7483 // (RI). 7484 // 7485 // * TENANCY - The tenancy of a resource. Examples are shared or dedicated. 7486 // 7487 // If you set the context to SAVINGS_PLANS, you can use the following dimensions 7488 // for searching: 7489 // 7490 // * SAVINGS_PLANS_TYPE - Type of Savings Plans (EC2 Instance or Compute) 7491 // 7492 // * PAYMENT_OPTION - Payment option for the given Savings Plans (for example, 7493 // All Upfront) 7494 // 7495 // * REGION - The Amazon Web Services Region. 7496 // 7497 // * INSTANCE_TYPE_FAMILY - The family of instances (For example, m5) 7498 // 7499 // * LINKED_ACCOUNT - The description in the attribute map that includes 7500 // the full name of the member account. The value field contains the Amazon 7501 // Web Services ID of the member account. 7502 // 7503 // * SAVINGS_PLAN_ARN - The unique identifier for your Savings Plan 7504 Context *string `type:"string" enum:"Context"` 7505 7506 // The name of the dimension. Each Dimension is available for a different Context. 7507 // For more information, see Context. 7508 // 7509 // Dimension is a required field 7510 Dimension *string `type:"string" required:"true" enum:"Dimension"` 7511 7512 // Use Expression to filter by cost or by usage. There are two patterns: 7513 // 7514 // * Simple dimension values - You can set the dimension name and values 7515 // for the filters that you plan to use. For example, you can filter for 7516 // REGION==us-east-1 OR REGION==us-west-1. For GetRightsizingRecommendation, 7517 // the Region is a full name (for example, REGION==US East (N. Virginia). 7518 // The Expression example is as follows: { "Dimensions": { "Key": "REGION", 7519 // "Values": [ "us-east-1", “us-west-1” ] } } The list of dimension values 7520 // are OR'd together to retrieve cost or usage data. You can create Expression 7521 // and DimensionValues objects using either with* methods or set* methods 7522 // in multiple lines. 7523 // 7524 // * Compound dimension values with logical operations - You can use multiple 7525 // Expression types and the logical operators AND/OR/NOT to create a list 7526 // of one or more Expression objects. By doing this, you can filter on more 7527 // advanced options. For example, you can filter on ((REGION == us-east-1 7528 // OR REGION == us-west-1) OR (TAG.Type == Type1)) AND (USAGE_TYPE != DataTransfer). 7529 // The Expression for that is as follows: { "And": [ {"Or": [ {"Dimensions": 7530 // { "Key": "REGION", "Values": [ "us-east-1", "us-west-1" ] }}, {"Tags": 7531 // { "Key": "TagName", "Values": ["Value1"] } } ]}, {"Not": {"Dimensions": 7532 // { "Key": "USAGE_TYPE", "Values": ["DataTransfer"] }}} ] } Because each 7533 // Expression can have only one operator, the service returns an error if 7534 // more than one is specified. The following example shows an Expression 7535 // object that creates an error. { "And": [ ... ], "DimensionValues": { "Dimension": 7536 // "USAGE_TYPE", "Values": [ "DataTransfer" ] } } 7537 // 7538 // For the GetRightsizingRecommendation action, a combination of OR and NOT 7539 // isn't supported. OR isn't supported between different dimensions, or dimensions 7540 // and tags. NOT operators aren't supported. Dimensions are also limited to 7541 // LINKED_ACCOUNT, REGION, or RIGHTSIZING_TYPE. 7542 // 7543 // For the GetReservationPurchaseRecommendation action, only NOT is supported. 7544 // AND and OR aren't supported. Dimensions are limited to LINKED_ACCOUNT. 7545 Filter *Expression `type:"structure"` 7546 7547 // This field is only used when SortBy is provided in the request. The maximum 7548 // number of objects that to be returned for this request. If MaxResults is 7549 // not specified with SortBy, the request will return 1000 results as the default 7550 // value for this parameter. 7551 // 7552 // For GetDimensionValues, MaxResults has an upper limit of 1000. 7553 MaxResults *int64 `min:"1" type:"integer"` 7554 7555 // The token to retrieve the next set of results. Amazon Web Services provides 7556 // the token when the response from a previous call has more results than the 7557 // maximum page size. 7558 NextPageToken *string `type:"string"` 7559 7560 // The value that you want to search the filter values for. 7561 SearchString *string `type:"string"` 7562 7563 // The value by which you want to sort the data. 7564 // 7565 // The key represents cost and usage metrics. The following values are supported: 7566 // 7567 // * BlendedCost 7568 // 7569 // * UnblendedCost 7570 // 7571 // * AmortizedCost 7572 // 7573 // * NetAmortizedCost 7574 // 7575 // * NetUnblendedCost 7576 // 7577 // * UsageQuantity 7578 // 7579 // * NormalizedUsageAmount 7580 // 7581 // Supported values for SortOrder are ASCENDING or DESCENDING. 7582 // 7583 // When you specify a SortBy paramater, the context must be COST_AND_USAGE. 7584 // Further, when using SortBy, NextPageToken and SearchString are not supported. 7585 SortBy []*SortDefinition `type:"list"` 7586 7587 // The start date and end date for retrieving the dimension values. The start 7588 // date is inclusive, but the end date is exclusive. For example, if start is 7589 // 2017-01-01 and end is 2017-05-01, then the cost and usage data is retrieved 7590 // from 2017-01-01 up to and including 2017-04-30 but not including 2017-05-01. 7591 // 7592 // TimePeriod is a required field 7593 TimePeriod *DateInterval `type:"structure" required:"true"` 7594} 7595 7596// String 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 GetDimensionValuesInput) String() string { 7602 return awsutil.Prettify(s) 7603} 7604 7605// GoString returns the string representation. 7606// 7607// API parameter values that are decorated as "sensitive" in the API will not 7608// be included in the string output. The member name will be present, but the 7609// value will be replaced with "sensitive". 7610func (s GetDimensionValuesInput) GoString() string { 7611 return s.String() 7612} 7613 7614// Validate inspects the fields of the type to determine if they are valid. 7615func (s *GetDimensionValuesInput) Validate() error { 7616 invalidParams := request.ErrInvalidParams{Context: "GetDimensionValuesInput"} 7617 if s.Dimension == nil { 7618 invalidParams.Add(request.NewErrParamRequired("Dimension")) 7619 } 7620 if s.MaxResults != nil && *s.MaxResults < 1 { 7621 invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) 7622 } 7623 if s.TimePeriod == nil { 7624 invalidParams.Add(request.NewErrParamRequired("TimePeriod")) 7625 } 7626 if s.Filter != nil { 7627 if err := s.Filter.Validate(); err != nil { 7628 invalidParams.AddNested("Filter", err.(request.ErrInvalidParams)) 7629 } 7630 } 7631 if s.SortBy != nil { 7632 for i, v := range s.SortBy { 7633 if v == nil { 7634 continue 7635 } 7636 if err := v.Validate(); err != nil { 7637 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "SortBy", i), err.(request.ErrInvalidParams)) 7638 } 7639 } 7640 } 7641 if s.TimePeriod != nil { 7642 if err := s.TimePeriod.Validate(); err != nil { 7643 invalidParams.AddNested("TimePeriod", err.(request.ErrInvalidParams)) 7644 } 7645 } 7646 7647 if invalidParams.Len() > 0 { 7648 return invalidParams 7649 } 7650 return nil 7651} 7652 7653// SetContext sets the Context field's value. 7654func (s *GetDimensionValuesInput) SetContext(v string) *GetDimensionValuesInput { 7655 s.Context = &v 7656 return s 7657} 7658 7659// SetDimension sets the Dimension field's value. 7660func (s *GetDimensionValuesInput) SetDimension(v string) *GetDimensionValuesInput { 7661 s.Dimension = &v 7662 return s 7663} 7664 7665// SetFilter sets the Filter field's value. 7666func (s *GetDimensionValuesInput) SetFilter(v *Expression) *GetDimensionValuesInput { 7667 s.Filter = v 7668 return s 7669} 7670 7671// SetMaxResults sets the MaxResults field's value. 7672func (s *GetDimensionValuesInput) SetMaxResults(v int64) *GetDimensionValuesInput { 7673 s.MaxResults = &v 7674 return s 7675} 7676 7677// SetNextPageToken sets the NextPageToken field's value. 7678func (s *GetDimensionValuesInput) SetNextPageToken(v string) *GetDimensionValuesInput { 7679 s.NextPageToken = &v 7680 return s 7681} 7682 7683// SetSearchString sets the SearchString field's value. 7684func (s *GetDimensionValuesInput) SetSearchString(v string) *GetDimensionValuesInput { 7685 s.SearchString = &v 7686 return s 7687} 7688 7689// SetSortBy sets the SortBy field's value. 7690func (s *GetDimensionValuesInput) SetSortBy(v []*SortDefinition) *GetDimensionValuesInput { 7691 s.SortBy = v 7692 return s 7693} 7694 7695// SetTimePeriod sets the TimePeriod field's value. 7696func (s *GetDimensionValuesInput) SetTimePeriod(v *DateInterval) *GetDimensionValuesInput { 7697 s.TimePeriod = v 7698 return s 7699} 7700 7701type GetDimensionValuesOutput struct { 7702 _ struct{} `type:"structure"` 7703 7704 // The filters that you used to filter your request. Some dimensions are available 7705 // only for a specific context. 7706 // 7707 // If you set the context to COST_AND_USAGE, you can use the following dimensions 7708 // for searching: 7709 // 7710 // * AZ - The Availability Zone. An example is us-east-1a. 7711 // 7712 // * DATABASE_ENGINE - The Amazon Relational Database Service database. Examples 7713 // are Aurora or MySQL. 7714 // 7715 // * INSTANCE_TYPE - The type of Amazon EC2 instance. An example is m4.xlarge. 7716 // 7717 // * LEGAL_ENTITY_NAME - The name of the organization that sells you Amazon 7718 // Web Services services, such as Amazon Web Services. 7719 // 7720 // * LINKED_ACCOUNT - The description in the attribute map that includes 7721 // the full name of the member account. The value field contains the Amazon 7722 // Web Services ID of the member account. 7723 // 7724 // * OPERATING_SYSTEM - The operating system. Examples are Windows or Linux. 7725 // 7726 // * OPERATION - The action performed. Examples include RunInstance and CreateBucket. 7727 // 7728 // * PLATFORM - The Amazon EC2 operating system. Examples are Windows or 7729 // Linux. 7730 // 7731 // * PURCHASE_TYPE - The reservation type of the purchase to which this usage 7732 // is related. Examples include On-Demand Instances and Standard Reserved 7733 // Instances. 7734 // 7735 // * SERVICE - The Amazon Web Services service such as Amazon DynamoDB. 7736 // 7737 // * USAGE_TYPE - The type of usage. An example is DataTransfer-In-Bytes. 7738 // The response for the GetDimensionValues operation includes a unit attribute. 7739 // Examples include GB and Hrs. 7740 // 7741 // * USAGE_TYPE_GROUP - The grouping of common usage types. An example is 7742 // Amazon EC2: CloudWatch – Alarms. The response for this operation includes 7743 // a unit attribute. 7744 // 7745 // * RECORD_TYPE - The different types of charges such as RI fees, usage 7746 // costs, tax refunds, and credits. 7747 // 7748 // * RESOURCE_ID - The unique identifier of the resource. ResourceId is an 7749 // opt-in feature only available for last 14 days for EC2-Compute Service. 7750 // 7751 // If you set the context to RESERVATIONS, you can use the following dimensions 7752 // for searching: 7753 // 7754 // * AZ - The Availability Zone. An example is us-east-1a. 7755 // 7756 // * CACHE_ENGINE - The Amazon ElastiCache operating system. Examples are 7757 // Windows or Linux. 7758 // 7759 // * DEPLOYMENT_OPTION - The scope of Amazon Relational Database Service 7760 // deployments. Valid values are SingleAZ and MultiAZ. 7761 // 7762 // * INSTANCE_TYPE - The type of Amazon EC2 instance. An example is m4.xlarge. 7763 // 7764 // * LINKED_ACCOUNT - The description in the attribute map that includes 7765 // the full name of the member account. The value field contains the Amazon 7766 // Web Services ID of the member account. 7767 // 7768 // * PLATFORM - The Amazon EC2 operating system. Examples are Windows or 7769 // Linux. 7770 // 7771 // * REGION - The Amazon Web Services Region. 7772 // 7773 // * SCOPE (Utilization only) - The scope of a Reserved Instance (RI). Values 7774 // are regional or a single Availability Zone. 7775 // 7776 // * TAG (Coverage only) - The tags that are associated with a Reserved Instance 7777 // (RI). 7778 // 7779 // * TENANCY - The tenancy of a resource. Examples are shared or dedicated. 7780 // 7781 // If you set the context to SAVINGS_PLANS, you can use the following dimensions 7782 // for searching: 7783 // 7784 // * SAVINGS_PLANS_TYPE - Type of Savings Plans (EC2 Instance or Compute) 7785 // 7786 // * PAYMENT_OPTION - Payment option for the given Savings Plans (for example, 7787 // All Upfront) 7788 // 7789 // * REGION - The Amazon Web Services Region. 7790 // 7791 // * INSTANCE_TYPE_FAMILY - The family of instances (For example, m5) 7792 // 7793 // * LINKED_ACCOUNT - The description in the attribute map that includes 7794 // the full name of the member account. The value field contains the Amazon 7795 // Web Services ID of the member account. 7796 // 7797 // * SAVINGS_PLAN_ARN - The unique identifier for your Savings Plan 7798 // 7799 // DimensionValues is a required field 7800 DimensionValues []*DimensionValuesWithAttributes `type:"list" required:"true"` 7801 7802 // The token for the next set of retrievable results. Amazon Web Services provides 7803 // the token when the response from a previous call has more results than the 7804 // maximum page size. 7805 NextPageToken *string `type:"string"` 7806 7807 // The number of results that Amazon Web Services returned at one time. 7808 // 7809 // ReturnSize is a required field 7810 ReturnSize *int64 `type:"integer" required:"true"` 7811 7812 // The total number of search results. 7813 // 7814 // TotalSize is a required field 7815 TotalSize *int64 `type:"integer" required:"true"` 7816} 7817 7818// String returns the string representation. 7819// 7820// API parameter values that are decorated as "sensitive" in the API will not 7821// be included in the string output. The member name will be present, but the 7822// value will be replaced with "sensitive". 7823func (s GetDimensionValuesOutput) String() string { 7824 return awsutil.Prettify(s) 7825} 7826 7827// GoString returns the string representation. 7828// 7829// API parameter values that are decorated as "sensitive" in the API will not 7830// be included in the string output. The member name will be present, but the 7831// value will be replaced with "sensitive". 7832func (s GetDimensionValuesOutput) GoString() string { 7833 return s.String() 7834} 7835 7836// SetDimensionValues sets the DimensionValues field's value. 7837func (s *GetDimensionValuesOutput) SetDimensionValues(v []*DimensionValuesWithAttributes) *GetDimensionValuesOutput { 7838 s.DimensionValues = v 7839 return s 7840} 7841 7842// SetNextPageToken sets the NextPageToken field's value. 7843func (s *GetDimensionValuesOutput) SetNextPageToken(v string) *GetDimensionValuesOutput { 7844 s.NextPageToken = &v 7845 return s 7846} 7847 7848// SetReturnSize sets the ReturnSize field's value. 7849func (s *GetDimensionValuesOutput) SetReturnSize(v int64) *GetDimensionValuesOutput { 7850 s.ReturnSize = &v 7851 return s 7852} 7853 7854// SetTotalSize sets the TotalSize field's value. 7855func (s *GetDimensionValuesOutput) SetTotalSize(v int64) *GetDimensionValuesOutput { 7856 s.TotalSize = &v 7857 return s 7858} 7859 7860// You can use the following request parameters to query for how much of your 7861// instance usage a reservation covered. 7862type GetReservationCoverageInput struct { 7863 _ struct{} `type:"structure"` 7864 7865 // Filters utilization data by dimensions. You can filter by the following dimensions: 7866 // 7867 // * AZ 7868 // 7869 // * CACHE_ENGINE 7870 // 7871 // * DATABASE_ENGINE 7872 // 7873 // * DEPLOYMENT_OPTION 7874 // 7875 // * INSTANCE_TYPE 7876 // 7877 // * LINKED_ACCOUNT 7878 // 7879 // * OPERATING_SYSTEM 7880 // 7881 // * PLATFORM 7882 // 7883 // * REGION 7884 // 7885 // * SERVICE 7886 // 7887 // * TAG 7888 // 7889 // * TENANCY 7890 // 7891 // GetReservationCoverage uses the same Expression (https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_Expression.html) 7892 // object as the other operations, but only AND is supported among each dimension. 7893 // You can nest only one level deep. If there are multiple values for a dimension, 7894 // they are OR'd together. 7895 // 7896 // If you don't provide a SERVICE filter, Cost Explorer defaults to EC2. 7897 // 7898 // Cost category is also supported. 7899 Filter *Expression `type:"structure"` 7900 7901 // The granularity of the Amazon Web Services cost data for the reservation. 7902 // Valid values are MONTHLY and DAILY. 7903 // 7904 // If GroupBy is set, Granularity can't be set. If Granularity isn't set, the 7905 // response object doesn't include Granularity, either MONTHLY or DAILY. 7906 // 7907 // The GetReservationCoverage operation supports only DAILY and MONTHLY granularities. 7908 Granularity *string `type:"string" enum:"Granularity"` 7909 7910 // You can group the data by the following attributes: 7911 // 7912 // * AZ 7913 // 7914 // * CACHE_ENGINE 7915 // 7916 // * DATABASE_ENGINE 7917 // 7918 // * DEPLOYMENT_OPTION 7919 // 7920 // * INSTANCE_TYPE 7921 // 7922 // * LINKED_ACCOUNT 7923 // 7924 // * OPERATING_SYSTEM 7925 // 7926 // * PLATFORM 7927 // 7928 // * REGION 7929 // 7930 // * TENANCY 7931 GroupBy []*GroupDefinition `type:"list"` 7932 7933 // The maximum number of objects that you returned for this request. If more 7934 // objects are available, in the response, Amazon Web Services provides a NextPageToken 7935 // value that you can use in a subsequent call to get the next batch of objects. 7936 MaxResults *int64 `min:"1" type:"integer"` 7937 7938 // The measurement that you want your reservation coverage reported in. 7939 // 7940 // Valid values are Hour, Unit, and Cost. You can use multiple values in a request. 7941 Metrics []*string `type:"list"` 7942 7943 // The token to retrieve the next set of results. Amazon Web Services provides 7944 // the token when the response from a previous call has more results than the 7945 // maximum page size. 7946 NextPageToken *string `type:"string"` 7947 7948 // The value by which you want to sort the data. 7949 // 7950 // The following values are supported for Key: 7951 // 7952 // * OnDemandCost 7953 // 7954 // * CoverageHoursPercentage 7955 // 7956 // * OnDemandHours 7957 // 7958 // * ReservedHours 7959 // 7960 // * TotalRunningHours 7961 // 7962 // * CoverageNormalizedUnitsPercentage 7963 // 7964 // * OnDemandNormalizedUnits 7965 // 7966 // * ReservedNormalizedUnits 7967 // 7968 // * TotalRunningNormalizedUnits 7969 // 7970 // * Time 7971 // 7972 // Supported values for SortOrder are ASCENDING or DESCENDING. 7973 SortBy *SortDefinition `type:"structure"` 7974 7975 // The start and end dates of the period that you want to retrieve data about 7976 // reservation coverage for. You can retrieve data for a maximum of 13 months: 7977 // the last 12 months and the current month. The start date is inclusive, but 7978 // the end date is exclusive. For example, if start is 2017-01-01 and end is 7979 // 2017-05-01, then the cost and usage data is retrieved from 2017-01-01 up 7980 // to and including 2017-04-30 but not including 2017-05-01. 7981 // 7982 // TimePeriod is a required field 7983 TimePeriod *DateInterval `type:"structure" required:"true"` 7984} 7985 7986// String returns the string representation. 7987// 7988// API parameter values that are decorated as "sensitive" in the API will not 7989// be included in the string output. The member name will be present, but the 7990// value will be replaced with "sensitive". 7991func (s GetReservationCoverageInput) String() string { 7992 return awsutil.Prettify(s) 7993} 7994 7995// GoString returns the string representation. 7996// 7997// API parameter values that are decorated as "sensitive" in the API will not 7998// be included in the string output. The member name will be present, but the 7999// value will be replaced with "sensitive". 8000func (s GetReservationCoverageInput) GoString() string { 8001 return s.String() 8002} 8003 8004// Validate inspects the fields of the type to determine if they are valid. 8005func (s *GetReservationCoverageInput) Validate() error { 8006 invalidParams := request.ErrInvalidParams{Context: "GetReservationCoverageInput"} 8007 if s.MaxResults != nil && *s.MaxResults < 1 { 8008 invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) 8009 } 8010 if s.TimePeriod == nil { 8011 invalidParams.Add(request.NewErrParamRequired("TimePeriod")) 8012 } 8013 if s.Filter != nil { 8014 if err := s.Filter.Validate(); err != nil { 8015 invalidParams.AddNested("Filter", err.(request.ErrInvalidParams)) 8016 } 8017 } 8018 if s.SortBy != nil { 8019 if err := s.SortBy.Validate(); err != nil { 8020 invalidParams.AddNested("SortBy", err.(request.ErrInvalidParams)) 8021 } 8022 } 8023 if s.TimePeriod != nil { 8024 if err := s.TimePeriod.Validate(); err != nil { 8025 invalidParams.AddNested("TimePeriod", err.(request.ErrInvalidParams)) 8026 } 8027 } 8028 8029 if invalidParams.Len() > 0 { 8030 return invalidParams 8031 } 8032 return nil 8033} 8034 8035// SetFilter sets the Filter field's value. 8036func (s *GetReservationCoverageInput) SetFilter(v *Expression) *GetReservationCoverageInput { 8037 s.Filter = v 8038 return s 8039} 8040 8041// SetGranularity sets the Granularity field's value. 8042func (s *GetReservationCoverageInput) SetGranularity(v string) *GetReservationCoverageInput { 8043 s.Granularity = &v 8044 return s 8045} 8046 8047// SetGroupBy sets the GroupBy field's value. 8048func (s *GetReservationCoverageInput) SetGroupBy(v []*GroupDefinition) *GetReservationCoverageInput { 8049 s.GroupBy = v 8050 return s 8051} 8052 8053// SetMaxResults sets the MaxResults field's value. 8054func (s *GetReservationCoverageInput) SetMaxResults(v int64) *GetReservationCoverageInput { 8055 s.MaxResults = &v 8056 return s 8057} 8058 8059// SetMetrics sets the Metrics field's value. 8060func (s *GetReservationCoverageInput) SetMetrics(v []*string) *GetReservationCoverageInput { 8061 s.Metrics = v 8062 return s 8063} 8064 8065// SetNextPageToken sets the NextPageToken field's value. 8066func (s *GetReservationCoverageInput) SetNextPageToken(v string) *GetReservationCoverageInput { 8067 s.NextPageToken = &v 8068 return s 8069} 8070 8071// SetSortBy sets the SortBy field's value. 8072func (s *GetReservationCoverageInput) SetSortBy(v *SortDefinition) *GetReservationCoverageInput { 8073 s.SortBy = v 8074 return s 8075} 8076 8077// SetTimePeriod sets the TimePeriod field's value. 8078func (s *GetReservationCoverageInput) SetTimePeriod(v *DateInterval) *GetReservationCoverageInput { 8079 s.TimePeriod = v 8080 return s 8081} 8082 8083type GetReservationCoverageOutput struct { 8084 _ struct{} `type:"structure"` 8085 8086 // The amount of time that your reservations covered. 8087 // 8088 // CoveragesByTime is a required field 8089 CoveragesByTime []*CoverageByTime `type:"list" required:"true"` 8090 8091 // The token for the next set of retrievable results. Amazon Web Services provides 8092 // the token when the response from a previous call has more results than the 8093 // maximum page size. 8094 NextPageToken *string `type:"string"` 8095 8096 // The total amount of instance usage that a reservation covered. 8097 Total *Coverage `type:"structure"` 8098} 8099 8100// String returns the string representation. 8101// 8102// API parameter values that are decorated as "sensitive" in the API will not 8103// be included in the string output. The member name will be present, but the 8104// value will be replaced with "sensitive". 8105func (s GetReservationCoverageOutput) String() string { 8106 return awsutil.Prettify(s) 8107} 8108 8109// GoString returns the string representation. 8110// 8111// API parameter values that are decorated as "sensitive" in the API will not 8112// be included in the string output. The member name will be present, but the 8113// value will be replaced with "sensitive". 8114func (s GetReservationCoverageOutput) GoString() string { 8115 return s.String() 8116} 8117 8118// SetCoveragesByTime sets the CoveragesByTime field's value. 8119func (s *GetReservationCoverageOutput) SetCoveragesByTime(v []*CoverageByTime) *GetReservationCoverageOutput { 8120 s.CoveragesByTime = v 8121 return s 8122} 8123 8124// SetNextPageToken sets the NextPageToken field's value. 8125func (s *GetReservationCoverageOutput) SetNextPageToken(v string) *GetReservationCoverageOutput { 8126 s.NextPageToken = &v 8127 return s 8128} 8129 8130// SetTotal sets the Total field's value. 8131func (s *GetReservationCoverageOutput) SetTotal(v *Coverage) *GetReservationCoverageOutput { 8132 s.Total = v 8133 return s 8134} 8135 8136type GetReservationPurchaseRecommendationInput struct { 8137 _ struct{} `type:"structure"` 8138 8139 // The account ID that is associated with the recommendation. 8140 AccountId *string `type:"string"` 8141 8142 // The account scope that you want your recommendations for. Amazon Web Services 8143 // calculates recommendations including the management account and member accounts 8144 // if the value is set to PAYER. If the value is LINKED, recommendations are 8145 // calculated for individual member accounts only. 8146 AccountScope *string `type:"string" enum:"AccountScope"` 8147 8148 // Use Expression to filter by cost or by usage. There are two patterns: 8149 // 8150 // * Simple dimension values - You can set the dimension name and values 8151 // for the filters that you plan to use. For example, you can filter for 8152 // REGION==us-east-1 OR REGION==us-west-1. For GetRightsizingRecommendation, 8153 // the Region is a full name (for example, REGION==US East (N. Virginia). 8154 // The Expression example is as follows: { "Dimensions": { "Key": "REGION", 8155 // "Values": [ "us-east-1", “us-west-1” ] } } The list of dimension values 8156 // are OR'd together to retrieve cost or usage data. You can create Expression 8157 // and DimensionValues objects using either with* methods or set* methods 8158 // in multiple lines. 8159 // 8160 // * Compound dimension values with logical operations - You can use multiple 8161 // Expression types and the logical operators AND/OR/NOT to create a list 8162 // of one or more Expression objects. By doing this, you can filter on more 8163 // advanced options. For example, you can filter on ((REGION == us-east-1 8164 // OR REGION == us-west-1) OR (TAG.Type == Type1)) AND (USAGE_TYPE != DataTransfer). 8165 // The Expression for that is as follows: { "And": [ {"Or": [ {"Dimensions": 8166 // { "Key": "REGION", "Values": [ "us-east-1", "us-west-1" ] }}, {"Tags": 8167 // { "Key": "TagName", "Values": ["Value1"] } } ]}, {"Not": {"Dimensions": 8168 // { "Key": "USAGE_TYPE", "Values": ["DataTransfer"] }}} ] } Because each 8169 // Expression can have only one operator, the service returns an error if 8170 // more than one is specified. The following example shows an Expression 8171 // object that creates an error. { "And": [ ... ], "DimensionValues": { "Dimension": 8172 // "USAGE_TYPE", "Values": [ "DataTransfer" ] } } 8173 // 8174 // For the GetRightsizingRecommendation action, a combination of OR and NOT 8175 // isn't supported. OR isn't supported between different dimensions, or dimensions 8176 // and tags. NOT operators aren't supported. Dimensions are also limited to 8177 // LINKED_ACCOUNT, REGION, or RIGHTSIZING_TYPE. 8178 // 8179 // For the GetReservationPurchaseRecommendation action, only NOT is supported. 8180 // AND and OR aren't supported. Dimensions are limited to LINKED_ACCOUNT. 8181 Filter *Expression `type:"structure"` 8182 8183 // The number of previous days that you want Amazon Web Services to consider 8184 // when it calculates your recommendations. 8185 LookbackPeriodInDays *string `type:"string" enum:"LookbackPeriodInDays"` 8186 8187 // The pagination token that indicates the next set of results that you want 8188 // to retrieve. 8189 NextPageToken *string `type:"string"` 8190 8191 // The number of recommendations that you want returned in a single response 8192 // object. 8193 PageSize *int64 `type:"integer"` 8194 8195 // The reservation purchase option that you want recommendations for. 8196 PaymentOption *string `type:"string" enum:"PaymentOption"` 8197 8198 // The specific service that you want recommendations for. 8199 // 8200 // Service is a required field 8201 Service *string `type:"string" required:"true"` 8202 8203 // The hardware specifications for the service instances that you want recommendations 8204 // for, such as standard or convertible Amazon EC2 instances. 8205 ServiceSpecification *ServiceSpecification `type:"structure"` 8206 8207 // The reservation term that you want recommendations for. 8208 TermInYears *string `type:"string" enum:"TermInYears"` 8209} 8210 8211// String returns the string representation. 8212// 8213// API parameter values that are decorated as "sensitive" in the API will not 8214// be included in the string output. The member name will be present, but the 8215// value will be replaced with "sensitive". 8216func (s GetReservationPurchaseRecommendationInput) String() string { 8217 return awsutil.Prettify(s) 8218} 8219 8220// GoString returns the string representation. 8221// 8222// API parameter values that are decorated as "sensitive" in the API will not 8223// be included in the string output. The member name will be present, but the 8224// value will be replaced with "sensitive". 8225func (s GetReservationPurchaseRecommendationInput) GoString() string { 8226 return s.String() 8227} 8228 8229// Validate inspects the fields of the type to determine if they are valid. 8230func (s *GetReservationPurchaseRecommendationInput) Validate() error { 8231 invalidParams := request.ErrInvalidParams{Context: "GetReservationPurchaseRecommendationInput"} 8232 if s.Service == nil { 8233 invalidParams.Add(request.NewErrParamRequired("Service")) 8234 } 8235 if s.Filter != nil { 8236 if err := s.Filter.Validate(); err != nil { 8237 invalidParams.AddNested("Filter", err.(request.ErrInvalidParams)) 8238 } 8239 } 8240 8241 if invalidParams.Len() > 0 { 8242 return invalidParams 8243 } 8244 return nil 8245} 8246 8247// SetAccountId sets the AccountId field's value. 8248func (s *GetReservationPurchaseRecommendationInput) SetAccountId(v string) *GetReservationPurchaseRecommendationInput { 8249 s.AccountId = &v 8250 return s 8251} 8252 8253// SetAccountScope sets the AccountScope field's value. 8254func (s *GetReservationPurchaseRecommendationInput) SetAccountScope(v string) *GetReservationPurchaseRecommendationInput { 8255 s.AccountScope = &v 8256 return s 8257} 8258 8259// SetFilter sets the Filter field's value. 8260func (s *GetReservationPurchaseRecommendationInput) SetFilter(v *Expression) *GetReservationPurchaseRecommendationInput { 8261 s.Filter = v 8262 return s 8263} 8264 8265// SetLookbackPeriodInDays sets the LookbackPeriodInDays field's value. 8266func (s *GetReservationPurchaseRecommendationInput) SetLookbackPeriodInDays(v string) *GetReservationPurchaseRecommendationInput { 8267 s.LookbackPeriodInDays = &v 8268 return s 8269} 8270 8271// SetNextPageToken sets the NextPageToken field's value. 8272func (s *GetReservationPurchaseRecommendationInput) SetNextPageToken(v string) *GetReservationPurchaseRecommendationInput { 8273 s.NextPageToken = &v 8274 return s 8275} 8276 8277// SetPageSize sets the PageSize field's value. 8278func (s *GetReservationPurchaseRecommendationInput) SetPageSize(v int64) *GetReservationPurchaseRecommendationInput { 8279 s.PageSize = &v 8280 return s 8281} 8282 8283// SetPaymentOption sets the PaymentOption field's value. 8284func (s *GetReservationPurchaseRecommendationInput) SetPaymentOption(v string) *GetReservationPurchaseRecommendationInput { 8285 s.PaymentOption = &v 8286 return s 8287} 8288 8289// SetService sets the Service field's value. 8290func (s *GetReservationPurchaseRecommendationInput) SetService(v string) *GetReservationPurchaseRecommendationInput { 8291 s.Service = &v 8292 return s 8293} 8294 8295// SetServiceSpecification sets the ServiceSpecification field's value. 8296func (s *GetReservationPurchaseRecommendationInput) SetServiceSpecification(v *ServiceSpecification) *GetReservationPurchaseRecommendationInput { 8297 s.ServiceSpecification = v 8298 return s 8299} 8300 8301// SetTermInYears sets the TermInYears field's value. 8302func (s *GetReservationPurchaseRecommendationInput) SetTermInYears(v string) *GetReservationPurchaseRecommendationInput { 8303 s.TermInYears = &v 8304 return s 8305} 8306 8307type GetReservationPurchaseRecommendationOutput struct { 8308 _ struct{} `type:"structure"` 8309 8310 // Information about this specific recommendation call, such as the time stamp 8311 // for when Cost Explorer generated this recommendation. 8312 Metadata *ReservationPurchaseRecommendationMetadata `type:"structure"` 8313 8314 // The pagination token for the next set of retrievable results. 8315 NextPageToken *string `type:"string"` 8316 8317 // Recommendations for reservations to purchase. 8318 Recommendations []*ReservationPurchaseRecommendation `type:"list"` 8319} 8320 8321// String returns the string representation. 8322// 8323// API parameter values that are decorated as "sensitive" in the API will not 8324// be included in the string output. The member name will be present, but the 8325// value will be replaced with "sensitive". 8326func (s GetReservationPurchaseRecommendationOutput) String() string { 8327 return awsutil.Prettify(s) 8328} 8329 8330// GoString returns the string representation. 8331// 8332// API parameter values that are decorated as "sensitive" in the API will not 8333// be included in the string output. The member name will be present, but the 8334// value will be replaced with "sensitive". 8335func (s GetReservationPurchaseRecommendationOutput) GoString() string { 8336 return s.String() 8337} 8338 8339// SetMetadata sets the Metadata field's value. 8340func (s *GetReservationPurchaseRecommendationOutput) SetMetadata(v *ReservationPurchaseRecommendationMetadata) *GetReservationPurchaseRecommendationOutput { 8341 s.Metadata = v 8342 return s 8343} 8344 8345// SetNextPageToken sets the NextPageToken field's value. 8346func (s *GetReservationPurchaseRecommendationOutput) SetNextPageToken(v string) *GetReservationPurchaseRecommendationOutput { 8347 s.NextPageToken = &v 8348 return s 8349} 8350 8351// SetRecommendations sets the Recommendations field's value. 8352func (s *GetReservationPurchaseRecommendationOutput) SetRecommendations(v []*ReservationPurchaseRecommendation) *GetReservationPurchaseRecommendationOutput { 8353 s.Recommendations = v 8354 return s 8355} 8356 8357type GetReservationUtilizationInput struct { 8358 _ struct{} `type:"structure"` 8359 8360 // Filters utilization data by dimensions. You can filter by the following dimensions: 8361 // 8362 // * AZ 8363 // 8364 // * CACHE_ENGINE 8365 // 8366 // * DEPLOYMENT_OPTION 8367 // 8368 // * INSTANCE_TYPE 8369 // 8370 // * LINKED_ACCOUNT 8371 // 8372 // * OPERATING_SYSTEM 8373 // 8374 // * PLATFORM 8375 // 8376 // * REGION 8377 // 8378 // * SERVICE 8379 // 8380 // * SCOPE 8381 // 8382 // * TENANCY 8383 // 8384 // GetReservationUtilization uses the same Expression (https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_Expression.html) 8385 // object as the other operations, but only AND is supported among each dimension, 8386 // and nesting is supported up to only one level deep. If there are multiple 8387 // values for a dimension, they are OR'd together. 8388 Filter *Expression `type:"structure"` 8389 8390 // If GroupBy is set, Granularity can't be set. If Granularity isn't set, the 8391 // response object doesn't include Granularity, either MONTHLY or DAILY. If 8392 // both GroupBy and Granularity aren't set, GetReservationUtilization defaults 8393 // to DAILY. 8394 // 8395 // The GetReservationUtilization operation supports only DAILY and MONTHLY granularities. 8396 Granularity *string `type:"string" enum:"Granularity"` 8397 8398 // Groups only by SUBSCRIPTION_ID. Metadata is included. 8399 GroupBy []*GroupDefinition `type:"list"` 8400 8401 // The maximum number of objects that you returned for this request. If more 8402 // objects are available, in the response, Amazon Web Services provides a NextPageToken 8403 // value that you can use in a subsequent call to get the next batch of objects. 8404 MaxResults *int64 `min:"1" type:"integer"` 8405 8406 // The token to retrieve the next set of results. Amazon Web Services provides 8407 // the token when the response from a previous call has more results than the 8408 // maximum page size. 8409 NextPageToken *string `type:"string"` 8410 8411 // The value by which you want to sort the data. 8412 // 8413 // The following values are supported for Key: 8414 // 8415 // * UtilizationPercentage 8416 // 8417 // * UtilizationPercentageInUnits 8418 // 8419 // * PurchasedHours 8420 // 8421 // * PurchasedUnits 8422 // 8423 // * TotalActualHours 8424 // 8425 // * TotalActualUnits 8426 // 8427 // * UnusedHours 8428 // 8429 // * UnusedUnits 8430 // 8431 // * OnDemandCostOfRIHoursUsed 8432 // 8433 // * NetRISavings 8434 // 8435 // * TotalPotentialRISavings 8436 // 8437 // * AmortizedUpfrontFee 8438 // 8439 // * AmortizedRecurringFee 8440 // 8441 // * TotalAmortizedFee 8442 // 8443 // * RICostForUnusedHours 8444 // 8445 // * RealizedSavings 8446 // 8447 // * UnrealizedSavings 8448 // 8449 // Supported values for SortOrder are ASCENDING or DESCENDING. 8450 SortBy *SortDefinition `type:"structure"` 8451 8452 // Sets the start and end dates for retrieving RI utilization. The start date 8453 // is inclusive, but the end date is exclusive. For example, if start is 2017-01-01 8454 // and end is 2017-05-01, then the cost and usage data is retrieved from 2017-01-01 8455 // up to and including 2017-04-30 but not including 2017-05-01. 8456 // 8457 // TimePeriod is a required field 8458 TimePeriod *DateInterval `type:"structure" required:"true"` 8459} 8460 8461// String returns the string representation. 8462// 8463// API parameter values that are decorated as "sensitive" in the API will not 8464// be included in the string output. The member name will be present, but the 8465// value will be replaced with "sensitive". 8466func (s GetReservationUtilizationInput) String() string { 8467 return awsutil.Prettify(s) 8468} 8469 8470// GoString returns the string representation. 8471// 8472// API parameter values that are decorated as "sensitive" in the API will not 8473// be included in the string output. The member name will be present, but the 8474// value will be replaced with "sensitive". 8475func (s GetReservationUtilizationInput) GoString() string { 8476 return s.String() 8477} 8478 8479// Validate inspects the fields of the type to determine if they are valid. 8480func (s *GetReservationUtilizationInput) Validate() error { 8481 invalidParams := request.ErrInvalidParams{Context: "GetReservationUtilizationInput"} 8482 if s.MaxResults != nil && *s.MaxResults < 1 { 8483 invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) 8484 } 8485 if s.TimePeriod == nil { 8486 invalidParams.Add(request.NewErrParamRequired("TimePeriod")) 8487 } 8488 if s.Filter != nil { 8489 if err := s.Filter.Validate(); err != nil { 8490 invalidParams.AddNested("Filter", err.(request.ErrInvalidParams)) 8491 } 8492 } 8493 if s.SortBy != nil { 8494 if err := s.SortBy.Validate(); err != nil { 8495 invalidParams.AddNested("SortBy", err.(request.ErrInvalidParams)) 8496 } 8497 } 8498 if s.TimePeriod != nil { 8499 if err := s.TimePeriod.Validate(); err != nil { 8500 invalidParams.AddNested("TimePeriod", err.(request.ErrInvalidParams)) 8501 } 8502 } 8503 8504 if invalidParams.Len() > 0 { 8505 return invalidParams 8506 } 8507 return nil 8508} 8509 8510// SetFilter sets the Filter field's value. 8511func (s *GetReservationUtilizationInput) SetFilter(v *Expression) *GetReservationUtilizationInput { 8512 s.Filter = v 8513 return s 8514} 8515 8516// SetGranularity sets the Granularity field's value. 8517func (s *GetReservationUtilizationInput) SetGranularity(v string) *GetReservationUtilizationInput { 8518 s.Granularity = &v 8519 return s 8520} 8521 8522// SetGroupBy sets the GroupBy field's value. 8523func (s *GetReservationUtilizationInput) SetGroupBy(v []*GroupDefinition) *GetReservationUtilizationInput { 8524 s.GroupBy = v 8525 return s 8526} 8527 8528// SetMaxResults sets the MaxResults field's value. 8529func (s *GetReservationUtilizationInput) SetMaxResults(v int64) *GetReservationUtilizationInput { 8530 s.MaxResults = &v 8531 return s 8532} 8533 8534// SetNextPageToken sets the NextPageToken field's value. 8535func (s *GetReservationUtilizationInput) SetNextPageToken(v string) *GetReservationUtilizationInput { 8536 s.NextPageToken = &v 8537 return s 8538} 8539 8540// SetSortBy sets the SortBy field's value. 8541func (s *GetReservationUtilizationInput) SetSortBy(v *SortDefinition) *GetReservationUtilizationInput { 8542 s.SortBy = v 8543 return s 8544} 8545 8546// SetTimePeriod sets the TimePeriod field's value. 8547func (s *GetReservationUtilizationInput) SetTimePeriod(v *DateInterval) *GetReservationUtilizationInput { 8548 s.TimePeriod = v 8549 return s 8550} 8551 8552type GetReservationUtilizationOutput struct { 8553 _ struct{} `type:"structure"` 8554 8555 // The token for the next set of retrievable results. Amazon Web Services provides 8556 // the token when the response from a previous call has more results than the 8557 // maximum page size. 8558 NextPageToken *string `type:"string"` 8559 8560 // The total amount of time that you used your RIs. 8561 Total *ReservationAggregates `type:"structure"` 8562 8563 // The amount of time that you used your RIs. 8564 // 8565 // UtilizationsByTime is a required field 8566 UtilizationsByTime []*UtilizationByTime `type:"list" required:"true"` 8567} 8568 8569// String returns the string representation. 8570// 8571// API parameter values that are decorated as "sensitive" in the API will not 8572// be included in the string output. The member name will be present, but the 8573// value will be replaced with "sensitive". 8574func (s GetReservationUtilizationOutput) String() string { 8575 return awsutil.Prettify(s) 8576} 8577 8578// GoString returns the string representation. 8579// 8580// API parameter values that are decorated as "sensitive" in the API will not 8581// be included in the string output. The member name will be present, but the 8582// value will be replaced with "sensitive". 8583func (s GetReservationUtilizationOutput) GoString() string { 8584 return s.String() 8585} 8586 8587// SetNextPageToken sets the NextPageToken field's value. 8588func (s *GetReservationUtilizationOutput) SetNextPageToken(v string) *GetReservationUtilizationOutput { 8589 s.NextPageToken = &v 8590 return s 8591} 8592 8593// SetTotal sets the Total field's value. 8594func (s *GetReservationUtilizationOutput) SetTotal(v *ReservationAggregates) *GetReservationUtilizationOutput { 8595 s.Total = v 8596 return s 8597} 8598 8599// SetUtilizationsByTime sets the UtilizationsByTime field's value. 8600func (s *GetReservationUtilizationOutput) SetUtilizationsByTime(v []*UtilizationByTime) *GetReservationUtilizationOutput { 8601 s.UtilizationsByTime = v 8602 return s 8603} 8604 8605type GetRightsizingRecommendationInput struct { 8606 _ struct{} `type:"structure"` 8607 8608 // Enables you to customize recommendations across two attributes. You can choose 8609 // to view recommendations for instances within the same instance families or 8610 // across different instance families. You can also choose to view your estimated 8611 // savings associated with recommendations with consideration of existing Savings 8612 // Plans or RI benefits, or neither. 8613 Configuration *RightsizingRecommendationConfiguration `type:"structure"` 8614 8615 // Use Expression to filter by cost or by usage. There are two patterns: 8616 // 8617 // * Simple dimension values - You can set the dimension name and values 8618 // for the filters that you plan to use. For example, you can filter for 8619 // REGION==us-east-1 OR REGION==us-west-1. For GetRightsizingRecommendation, 8620 // the Region is a full name (for example, REGION==US East (N. Virginia). 8621 // The Expression example is as follows: { "Dimensions": { "Key": "REGION", 8622 // "Values": [ "us-east-1", “us-west-1” ] } } The list of dimension values 8623 // are OR'd together to retrieve cost or usage data. You can create Expression 8624 // and DimensionValues objects using either with* methods or set* methods 8625 // in multiple lines. 8626 // 8627 // * Compound dimension values with logical operations - You can use multiple 8628 // Expression types and the logical operators AND/OR/NOT to create a list 8629 // of one or more Expression objects. By doing this, you can filter on more 8630 // advanced options. For example, you can filter on ((REGION == us-east-1 8631 // OR REGION == us-west-1) OR (TAG.Type == Type1)) AND (USAGE_TYPE != DataTransfer). 8632 // The Expression for that is as follows: { "And": [ {"Or": [ {"Dimensions": 8633 // { "Key": "REGION", "Values": [ "us-east-1", "us-west-1" ] }}, {"Tags": 8634 // { "Key": "TagName", "Values": ["Value1"] } } ]}, {"Not": {"Dimensions": 8635 // { "Key": "USAGE_TYPE", "Values": ["DataTransfer"] }}} ] } Because each 8636 // Expression can have only one operator, the service returns an error if 8637 // more than one is specified. The following example shows an Expression 8638 // object that creates an error. { "And": [ ... ], "DimensionValues": { "Dimension": 8639 // "USAGE_TYPE", "Values": [ "DataTransfer" ] } } 8640 // 8641 // For the GetRightsizingRecommendation action, a combination of OR and NOT 8642 // isn't supported. OR isn't supported between different dimensions, or dimensions 8643 // and tags. NOT operators aren't supported. Dimensions are also limited to 8644 // LINKED_ACCOUNT, REGION, or RIGHTSIZING_TYPE. 8645 // 8646 // For the GetReservationPurchaseRecommendation action, only NOT is supported. 8647 // AND and OR aren't supported. Dimensions are limited to LINKED_ACCOUNT. 8648 Filter *Expression `type:"structure"` 8649 8650 // The pagination token that indicates the next set of results that you want 8651 // to retrieve. 8652 NextPageToken *string `type:"string"` 8653 8654 // The number of recommendations that you want returned in a single response 8655 // object. 8656 PageSize *int64 `type:"integer"` 8657 8658 // The specific service that you want recommendations for. The only valid value 8659 // for GetRightsizingRecommendation is "AmazonEC2". 8660 // 8661 // Service is a required field 8662 Service *string `type:"string" required:"true"` 8663} 8664 8665// String returns the string representation. 8666// 8667// API parameter values that are decorated as "sensitive" in the API will not 8668// be included in the string output. The member name will be present, but the 8669// value will be replaced with "sensitive". 8670func (s GetRightsizingRecommendationInput) String() string { 8671 return awsutil.Prettify(s) 8672} 8673 8674// GoString returns the string representation. 8675// 8676// API parameter values that are decorated as "sensitive" in the API will not 8677// be included in the string output. The member name will be present, but the 8678// value will be replaced with "sensitive". 8679func (s GetRightsizingRecommendationInput) GoString() string { 8680 return s.String() 8681} 8682 8683// Validate inspects the fields of the type to determine if they are valid. 8684func (s *GetRightsizingRecommendationInput) Validate() error { 8685 invalidParams := request.ErrInvalidParams{Context: "GetRightsizingRecommendationInput"} 8686 if s.Service == nil { 8687 invalidParams.Add(request.NewErrParamRequired("Service")) 8688 } 8689 if s.Configuration != nil { 8690 if err := s.Configuration.Validate(); err != nil { 8691 invalidParams.AddNested("Configuration", err.(request.ErrInvalidParams)) 8692 } 8693 } 8694 if s.Filter != nil { 8695 if err := s.Filter.Validate(); err != nil { 8696 invalidParams.AddNested("Filter", err.(request.ErrInvalidParams)) 8697 } 8698 } 8699 8700 if invalidParams.Len() > 0 { 8701 return invalidParams 8702 } 8703 return nil 8704} 8705 8706// SetConfiguration sets the Configuration field's value. 8707func (s *GetRightsizingRecommendationInput) SetConfiguration(v *RightsizingRecommendationConfiguration) *GetRightsizingRecommendationInput { 8708 s.Configuration = v 8709 return s 8710} 8711 8712// SetFilter sets the Filter field's value. 8713func (s *GetRightsizingRecommendationInput) SetFilter(v *Expression) *GetRightsizingRecommendationInput { 8714 s.Filter = v 8715 return s 8716} 8717 8718// SetNextPageToken sets the NextPageToken field's value. 8719func (s *GetRightsizingRecommendationInput) SetNextPageToken(v string) *GetRightsizingRecommendationInput { 8720 s.NextPageToken = &v 8721 return s 8722} 8723 8724// SetPageSize sets the PageSize field's value. 8725func (s *GetRightsizingRecommendationInput) SetPageSize(v int64) *GetRightsizingRecommendationInput { 8726 s.PageSize = &v 8727 return s 8728} 8729 8730// SetService sets the Service field's value. 8731func (s *GetRightsizingRecommendationInput) SetService(v string) *GetRightsizingRecommendationInput { 8732 s.Service = &v 8733 return s 8734} 8735 8736type GetRightsizingRecommendationOutput struct { 8737 _ struct{} `type:"structure"` 8738 8739 // Enables you to customize recommendations across two attributes. You can choose 8740 // to view recommendations for instances within the same instance families or 8741 // across different instance families. You can also choose to view your estimated 8742 // savings associated with recommendations with consideration of existing Savings 8743 // Plans or RI benefits, or neither. 8744 Configuration *RightsizingRecommendationConfiguration `type:"structure"` 8745 8746 // Information regarding this specific recommendation set. 8747 Metadata *RightsizingRecommendationMetadata `type:"structure"` 8748 8749 // The token to retrieve the next set of results. 8750 NextPageToken *string `type:"string"` 8751 8752 // Recommendations to rightsize resources. 8753 RightsizingRecommendations []*RightsizingRecommendation `type:"list"` 8754 8755 // Summary of this recommendation set. 8756 Summary *RightsizingRecommendationSummary `type:"structure"` 8757} 8758 8759// String returns the string representation. 8760// 8761// API parameter values that are decorated as "sensitive" in the API will not 8762// be included in the string output. The member name will be present, but the 8763// value will be replaced with "sensitive". 8764func (s GetRightsizingRecommendationOutput) String() string { 8765 return awsutil.Prettify(s) 8766} 8767 8768// GoString returns the string representation. 8769// 8770// API parameter values that are decorated as "sensitive" in the API will not 8771// be included in the string output. The member name will be present, but the 8772// value will be replaced with "sensitive". 8773func (s GetRightsizingRecommendationOutput) GoString() string { 8774 return s.String() 8775} 8776 8777// SetConfiguration sets the Configuration field's value. 8778func (s *GetRightsizingRecommendationOutput) SetConfiguration(v *RightsizingRecommendationConfiguration) *GetRightsizingRecommendationOutput { 8779 s.Configuration = v 8780 return s 8781} 8782 8783// SetMetadata sets the Metadata field's value. 8784func (s *GetRightsizingRecommendationOutput) SetMetadata(v *RightsizingRecommendationMetadata) *GetRightsizingRecommendationOutput { 8785 s.Metadata = v 8786 return s 8787} 8788 8789// SetNextPageToken sets the NextPageToken field's value. 8790func (s *GetRightsizingRecommendationOutput) SetNextPageToken(v string) *GetRightsizingRecommendationOutput { 8791 s.NextPageToken = &v 8792 return s 8793} 8794 8795// SetRightsizingRecommendations sets the RightsizingRecommendations field's value. 8796func (s *GetRightsizingRecommendationOutput) SetRightsizingRecommendations(v []*RightsizingRecommendation) *GetRightsizingRecommendationOutput { 8797 s.RightsizingRecommendations = v 8798 return s 8799} 8800 8801// SetSummary sets the Summary field's value. 8802func (s *GetRightsizingRecommendationOutput) SetSummary(v *RightsizingRecommendationSummary) *GetRightsizingRecommendationOutput { 8803 s.Summary = v 8804 return s 8805} 8806 8807type GetSavingsPlansCoverageInput struct { 8808 _ struct{} `type:"structure"` 8809 8810 // Filters Savings Plans coverage data by dimensions. You can filter data for 8811 // Savings Plans usage with the following dimensions: 8812 // 8813 // * LINKED_ACCOUNT 8814 // 8815 // * REGION 8816 // 8817 // * SERVICE 8818 // 8819 // * INSTANCE_FAMILY 8820 // 8821 // GetSavingsPlansCoverage uses the same Expression (https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_Expression.html) 8822 // object as the other operations, but only AND is supported among each dimension. 8823 // If there are multiple values for a dimension, they are OR'd together. 8824 // 8825 // Cost category is also supported. 8826 Filter *Expression `type:"structure"` 8827 8828 // The granularity of the Amazon Web Services cost data for your Savings Plans. 8829 // Granularity can't be set if GroupBy is set. 8830 // 8831 // The GetSavingsPlansCoverage operation supports only DAILY and MONTHLY granularities. 8832 Granularity *string `type:"string" enum:"Granularity"` 8833 8834 // You can group the data using the attributes INSTANCE_FAMILY, REGION, or SERVICE. 8835 GroupBy []*GroupDefinition `type:"list"` 8836 8837 // The number of items to be returned in a response. The default is 20, with 8838 // a minimum value of 1. 8839 MaxResults *int64 `min:"1" type:"integer"` 8840 8841 // The measurement that you want your Savings Plans coverage reported in. The 8842 // only valid value is SpendCoveredBySavingsPlans. 8843 Metrics []*string `type:"list"` 8844 8845 // The token to retrieve the next set of results. Amazon Web Services provides 8846 // the token when the response from a previous call has more results than the 8847 // maximum page size. 8848 NextToken *string `type:"string"` 8849 8850 // The value by which you want to sort the data. 8851 // 8852 // The following values are supported for Key: 8853 // 8854 // * SpendCoveredBySavingsPlan 8855 // 8856 // * OnDemandCost 8857 // 8858 // * CoveragePercentage 8859 // 8860 // * TotalCost 8861 // 8862 // * InstanceFamily 8863 // 8864 // * Region 8865 // 8866 // * Service 8867 // 8868 // Supported values for SortOrder are ASCENDING or DESCENDING. 8869 SortBy *SortDefinition `type:"structure"` 8870 8871 // The time period that you want the usage and costs for. The Start date must 8872 // be within 13 months. The End date must be after the Start date, and before 8873 // the current date. Future dates can't be used as an End date. 8874 // 8875 // TimePeriod is a required field 8876 TimePeriod *DateInterval `type:"structure" required:"true"` 8877} 8878 8879// String returns the string representation. 8880// 8881// API parameter values that are decorated as "sensitive" in the API will not 8882// be included in the string output. The member name will be present, but the 8883// value will be replaced with "sensitive". 8884func (s GetSavingsPlansCoverageInput) String() string { 8885 return awsutil.Prettify(s) 8886} 8887 8888// GoString returns the string representation. 8889// 8890// API parameter values that are decorated as "sensitive" in the API will not 8891// be included in the string output. The member name will be present, but the 8892// value will be replaced with "sensitive". 8893func (s GetSavingsPlansCoverageInput) GoString() string { 8894 return s.String() 8895} 8896 8897// Validate inspects the fields of the type to determine if they are valid. 8898func (s *GetSavingsPlansCoverageInput) Validate() error { 8899 invalidParams := request.ErrInvalidParams{Context: "GetSavingsPlansCoverageInput"} 8900 if s.MaxResults != nil && *s.MaxResults < 1 { 8901 invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) 8902 } 8903 if s.TimePeriod == nil { 8904 invalidParams.Add(request.NewErrParamRequired("TimePeriod")) 8905 } 8906 if s.Filter != nil { 8907 if err := s.Filter.Validate(); err != nil { 8908 invalidParams.AddNested("Filter", err.(request.ErrInvalidParams)) 8909 } 8910 } 8911 if s.SortBy != nil { 8912 if err := s.SortBy.Validate(); err != nil { 8913 invalidParams.AddNested("SortBy", err.(request.ErrInvalidParams)) 8914 } 8915 } 8916 if s.TimePeriod != nil { 8917 if err := s.TimePeriod.Validate(); err != nil { 8918 invalidParams.AddNested("TimePeriod", err.(request.ErrInvalidParams)) 8919 } 8920 } 8921 8922 if invalidParams.Len() > 0 { 8923 return invalidParams 8924 } 8925 return nil 8926} 8927 8928// SetFilter sets the Filter field's value. 8929func (s *GetSavingsPlansCoverageInput) SetFilter(v *Expression) *GetSavingsPlansCoverageInput { 8930 s.Filter = v 8931 return s 8932} 8933 8934// SetGranularity sets the Granularity field's value. 8935func (s *GetSavingsPlansCoverageInput) SetGranularity(v string) *GetSavingsPlansCoverageInput { 8936 s.Granularity = &v 8937 return s 8938} 8939 8940// SetGroupBy sets the GroupBy field's value. 8941func (s *GetSavingsPlansCoverageInput) SetGroupBy(v []*GroupDefinition) *GetSavingsPlansCoverageInput { 8942 s.GroupBy = v 8943 return s 8944} 8945 8946// SetMaxResults sets the MaxResults field's value. 8947func (s *GetSavingsPlansCoverageInput) SetMaxResults(v int64) *GetSavingsPlansCoverageInput { 8948 s.MaxResults = &v 8949 return s 8950} 8951 8952// SetMetrics sets the Metrics field's value. 8953func (s *GetSavingsPlansCoverageInput) SetMetrics(v []*string) *GetSavingsPlansCoverageInput { 8954 s.Metrics = v 8955 return s 8956} 8957 8958// SetNextToken sets the NextToken field's value. 8959func (s *GetSavingsPlansCoverageInput) SetNextToken(v string) *GetSavingsPlansCoverageInput { 8960 s.NextToken = &v 8961 return s 8962} 8963 8964// SetSortBy sets the SortBy field's value. 8965func (s *GetSavingsPlansCoverageInput) SetSortBy(v *SortDefinition) *GetSavingsPlansCoverageInput { 8966 s.SortBy = v 8967 return s 8968} 8969 8970// SetTimePeriod sets the TimePeriod field's value. 8971func (s *GetSavingsPlansCoverageInput) SetTimePeriod(v *DateInterval) *GetSavingsPlansCoverageInput { 8972 s.TimePeriod = v 8973 return s 8974} 8975 8976type GetSavingsPlansCoverageOutput struct { 8977 _ struct{} `type:"structure"` 8978 8979 // The token to retrieve the next set of results. Amazon Web Services provides 8980 // the token when the response from a previous call has more results than the 8981 // maximum page size. 8982 NextToken *string `type:"string"` 8983 8984 // The amount of spend that your Savings Plans covered. 8985 // 8986 // SavingsPlansCoverages is a required field 8987 SavingsPlansCoverages []*SavingsPlansCoverage `type:"list" required:"true"` 8988} 8989 8990// String returns the string representation. 8991// 8992// API parameter values that are decorated as "sensitive" in the API will not 8993// be included in the string output. The member name will be present, but the 8994// value will be replaced with "sensitive". 8995func (s GetSavingsPlansCoverageOutput) String() string { 8996 return awsutil.Prettify(s) 8997} 8998 8999// GoString returns the string representation. 9000// 9001// API parameter values that are decorated as "sensitive" in the API will not 9002// be included in the string output. The member name will be present, but the 9003// value will be replaced with "sensitive". 9004func (s GetSavingsPlansCoverageOutput) GoString() string { 9005 return s.String() 9006} 9007 9008// SetNextToken sets the NextToken field's value. 9009func (s *GetSavingsPlansCoverageOutput) SetNextToken(v string) *GetSavingsPlansCoverageOutput { 9010 s.NextToken = &v 9011 return s 9012} 9013 9014// SetSavingsPlansCoverages sets the SavingsPlansCoverages field's value. 9015func (s *GetSavingsPlansCoverageOutput) SetSavingsPlansCoverages(v []*SavingsPlansCoverage) *GetSavingsPlansCoverageOutput { 9016 s.SavingsPlansCoverages = v 9017 return s 9018} 9019 9020type GetSavingsPlansPurchaseRecommendationInput struct { 9021 _ struct{} `type:"structure"` 9022 9023 // The account scope that you want your recommendations for. Amazon Web Services 9024 // calculates recommendations including the management account and member accounts 9025 // if the value is set to PAYER. If the value is LINKED, recommendations are 9026 // calculated for individual member accounts only. 9027 AccountScope *string `type:"string" enum:"AccountScope"` 9028 9029 // You can filter your recommendations by Account ID with the LINKED_ACCOUNT 9030 // dimension. To filter your recommendations by Account ID, specify Key as LINKED_ACCOUNT 9031 // and Value as the comma-separated Acount ID(s) for which you want to see Savings 9032 // Plans purchase recommendations. 9033 // 9034 // For GetSavingsPlansPurchaseRecommendation, the Filter does not include CostCategories 9035 // or Tags. It only includes Dimensions. With Dimensions, Key must be LINKED_ACCOUNT 9036 // and Value can be a single Account ID or multiple comma-separated Account 9037 // IDs for which you want to see Savings Plans Purchase Recommendations. AND 9038 // and OR operators are not supported. 9039 Filter *Expression `type:"structure"` 9040 9041 // The lookback period used to generate the recommendation. 9042 // 9043 // LookbackPeriodInDays is a required field 9044 LookbackPeriodInDays *string `type:"string" required:"true" enum:"LookbackPeriodInDays"` 9045 9046 // The token to retrieve the next set of results. Amazon Web Services provides 9047 // the token when the response from a previous call has more results than the 9048 // maximum page size. 9049 NextPageToken *string `type:"string"` 9050 9051 // The number of recommendations that you want returned in a single response 9052 // object. 9053 PageSize *int64 `type:"integer"` 9054 9055 // The payment option used to generate these recommendations. 9056 // 9057 // PaymentOption is a required field 9058 PaymentOption *string `type:"string" required:"true" enum:"PaymentOption"` 9059 9060 // The Savings Plans recommendation type requested. 9061 // 9062 // SavingsPlansType is a required field 9063 SavingsPlansType *string `type:"string" required:"true" enum:"SupportedSavingsPlansType"` 9064 9065 // The savings plan recommendation term used to generate these recommendations. 9066 // 9067 // TermInYears is a required field 9068 TermInYears *string `type:"string" required:"true" enum:"TermInYears"` 9069} 9070 9071// String returns the string representation. 9072// 9073// API parameter values that are decorated as "sensitive" in the API will not 9074// be included in the string output. The member name will be present, but the 9075// value will be replaced with "sensitive". 9076func (s GetSavingsPlansPurchaseRecommendationInput) String() string { 9077 return awsutil.Prettify(s) 9078} 9079 9080// GoString returns the string representation. 9081// 9082// API parameter values that are decorated as "sensitive" in the API will not 9083// be included in the string output. The member name will be present, but the 9084// value will be replaced with "sensitive". 9085func (s GetSavingsPlansPurchaseRecommendationInput) GoString() string { 9086 return s.String() 9087} 9088 9089// Validate inspects the fields of the type to determine if they are valid. 9090func (s *GetSavingsPlansPurchaseRecommendationInput) Validate() error { 9091 invalidParams := request.ErrInvalidParams{Context: "GetSavingsPlansPurchaseRecommendationInput"} 9092 if s.LookbackPeriodInDays == nil { 9093 invalidParams.Add(request.NewErrParamRequired("LookbackPeriodInDays")) 9094 } 9095 if s.PaymentOption == nil { 9096 invalidParams.Add(request.NewErrParamRequired("PaymentOption")) 9097 } 9098 if s.SavingsPlansType == nil { 9099 invalidParams.Add(request.NewErrParamRequired("SavingsPlansType")) 9100 } 9101 if s.TermInYears == nil { 9102 invalidParams.Add(request.NewErrParamRequired("TermInYears")) 9103 } 9104 if s.Filter != nil { 9105 if err := s.Filter.Validate(); err != nil { 9106 invalidParams.AddNested("Filter", err.(request.ErrInvalidParams)) 9107 } 9108 } 9109 9110 if invalidParams.Len() > 0 { 9111 return invalidParams 9112 } 9113 return nil 9114} 9115 9116// SetAccountScope sets the AccountScope field's value. 9117func (s *GetSavingsPlansPurchaseRecommendationInput) SetAccountScope(v string) *GetSavingsPlansPurchaseRecommendationInput { 9118 s.AccountScope = &v 9119 return s 9120} 9121 9122// SetFilter sets the Filter field's value. 9123func (s *GetSavingsPlansPurchaseRecommendationInput) SetFilter(v *Expression) *GetSavingsPlansPurchaseRecommendationInput { 9124 s.Filter = v 9125 return s 9126} 9127 9128// SetLookbackPeriodInDays sets the LookbackPeriodInDays field's value. 9129func (s *GetSavingsPlansPurchaseRecommendationInput) SetLookbackPeriodInDays(v string) *GetSavingsPlansPurchaseRecommendationInput { 9130 s.LookbackPeriodInDays = &v 9131 return s 9132} 9133 9134// SetNextPageToken sets the NextPageToken field's value. 9135func (s *GetSavingsPlansPurchaseRecommendationInput) SetNextPageToken(v string) *GetSavingsPlansPurchaseRecommendationInput { 9136 s.NextPageToken = &v 9137 return s 9138} 9139 9140// SetPageSize sets the PageSize field's value. 9141func (s *GetSavingsPlansPurchaseRecommendationInput) SetPageSize(v int64) *GetSavingsPlansPurchaseRecommendationInput { 9142 s.PageSize = &v 9143 return s 9144} 9145 9146// SetPaymentOption sets the PaymentOption field's value. 9147func (s *GetSavingsPlansPurchaseRecommendationInput) SetPaymentOption(v string) *GetSavingsPlansPurchaseRecommendationInput { 9148 s.PaymentOption = &v 9149 return s 9150} 9151 9152// SetSavingsPlansType sets the SavingsPlansType field's value. 9153func (s *GetSavingsPlansPurchaseRecommendationInput) SetSavingsPlansType(v string) *GetSavingsPlansPurchaseRecommendationInput { 9154 s.SavingsPlansType = &v 9155 return s 9156} 9157 9158// SetTermInYears sets the TermInYears field's value. 9159func (s *GetSavingsPlansPurchaseRecommendationInput) SetTermInYears(v string) *GetSavingsPlansPurchaseRecommendationInput { 9160 s.TermInYears = &v 9161 return s 9162} 9163 9164type GetSavingsPlansPurchaseRecommendationOutput struct { 9165 _ struct{} `type:"structure"` 9166 9167 // Information regarding this specific recommendation set. 9168 Metadata *SavingsPlansPurchaseRecommendationMetadata `type:"structure"` 9169 9170 // The token for the next set of retrievable results. Amazon Web Services provides 9171 // the token when the response from a previous call has more results than the 9172 // maximum page size. 9173 NextPageToken *string `type:"string"` 9174 9175 // Contains your request parameters, Savings Plan Recommendations Summary, and 9176 // Details. 9177 SavingsPlansPurchaseRecommendation *SavingsPlansPurchaseRecommendation `type:"structure"` 9178} 9179 9180// String returns the string representation. 9181// 9182// API parameter values that are decorated as "sensitive" in the API will not 9183// be included in the string output. The member name will be present, but the 9184// value will be replaced with "sensitive". 9185func (s GetSavingsPlansPurchaseRecommendationOutput) String() string { 9186 return awsutil.Prettify(s) 9187} 9188 9189// GoString returns the string representation. 9190// 9191// API parameter values that are decorated as "sensitive" in the API will not 9192// be included in the string output. The member name will be present, but the 9193// value will be replaced with "sensitive". 9194func (s GetSavingsPlansPurchaseRecommendationOutput) GoString() string { 9195 return s.String() 9196} 9197 9198// SetMetadata sets the Metadata field's value. 9199func (s *GetSavingsPlansPurchaseRecommendationOutput) SetMetadata(v *SavingsPlansPurchaseRecommendationMetadata) *GetSavingsPlansPurchaseRecommendationOutput { 9200 s.Metadata = v 9201 return s 9202} 9203 9204// SetNextPageToken sets the NextPageToken field's value. 9205func (s *GetSavingsPlansPurchaseRecommendationOutput) SetNextPageToken(v string) *GetSavingsPlansPurchaseRecommendationOutput { 9206 s.NextPageToken = &v 9207 return s 9208} 9209 9210// SetSavingsPlansPurchaseRecommendation sets the SavingsPlansPurchaseRecommendation field's value. 9211func (s *GetSavingsPlansPurchaseRecommendationOutput) SetSavingsPlansPurchaseRecommendation(v *SavingsPlansPurchaseRecommendation) *GetSavingsPlansPurchaseRecommendationOutput { 9212 s.SavingsPlansPurchaseRecommendation = v 9213 return s 9214} 9215 9216type GetSavingsPlansUtilizationDetailsInput struct { 9217 _ struct{} `type:"structure"` 9218 9219 // The data type. 9220 DataType []*string `type:"list"` 9221 9222 // Filters Savings Plans utilization coverage data for active Savings Plans 9223 // dimensions. You can filter data with the following dimensions: 9224 // 9225 // * LINKED_ACCOUNT 9226 // 9227 // * SAVINGS_PLAN_ARN 9228 // 9229 // * REGION 9230 // 9231 // * PAYMENT_OPTION 9232 // 9233 // * INSTANCE_TYPE_FAMILY 9234 // 9235 // GetSavingsPlansUtilizationDetails uses the same Expression (https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_Expression.html) 9236 // object as the other operations, but only AND is supported among each dimension. 9237 Filter *Expression `type:"structure"` 9238 9239 // The number of items to be returned in a response. The default is 20, with 9240 // a minimum value of 1. 9241 MaxResults *int64 `min:"1" type:"integer"` 9242 9243 // The token to retrieve the next set of results. Amazon Web Services provides 9244 // the token when the response from a previous call has more results than the 9245 // maximum page size. 9246 NextToken *string `type:"string"` 9247 9248 // The value by which you want to sort the data. 9249 // 9250 // The following values are supported for Key: 9251 // 9252 // * UtilizationPercentage 9253 // 9254 // * TotalCommitment 9255 // 9256 // * UsedCommitment 9257 // 9258 // * UnusedCommitment 9259 // 9260 // * NetSavings 9261 // 9262 // * AmortizedRecurringCommitment 9263 // 9264 // * AmortizedUpfrontCommitment 9265 // 9266 // Supported values for SortOrder are ASCENDING or DESCENDING. 9267 SortBy *SortDefinition `type:"structure"` 9268 9269 // The time period that you want the usage and costs for. The Start date must 9270 // be within 13 months. The End date must be after the Start date, and before 9271 // the current date. Future dates can't be used as an End date. 9272 // 9273 // TimePeriod is a required field 9274 TimePeriod *DateInterval `type:"structure" required:"true"` 9275} 9276 9277// String returns the string representation. 9278// 9279// API parameter values that are decorated as "sensitive" in the API will not 9280// be included in the string output. The member name will be present, but the 9281// value will be replaced with "sensitive". 9282func (s GetSavingsPlansUtilizationDetailsInput) String() string { 9283 return awsutil.Prettify(s) 9284} 9285 9286// GoString returns the string representation. 9287// 9288// API parameter values that are decorated as "sensitive" in the API will not 9289// be included in the string output. The member name will be present, but the 9290// value will be replaced with "sensitive". 9291func (s GetSavingsPlansUtilizationDetailsInput) GoString() string { 9292 return s.String() 9293} 9294 9295// Validate inspects the fields of the type to determine if they are valid. 9296func (s *GetSavingsPlansUtilizationDetailsInput) Validate() error { 9297 invalidParams := request.ErrInvalidParams{Context: "GetSavingsPlansUtilizationDetailsInput"} 9298 if s.MaxResults != nil && *s.MaxResults < 1 { 9299 invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) 9300 } 9301 if s.TimePeriod == nil { 9302 invalidParams.Add(request.NewErrParamRequired("TimePeriod")) 9303 } 9304 if s.Filter != nil { 9305 if err := s.Filter.Validate(); err != nil { 9306 invalidParams.AddNested("Filter", err.(request.ErrInvalidParams)) 9307 } 9308 } 9309 if s.SortBy != nil { 9310 if err := s.SortBy.Validate(); err != nil { 9311 invalidParams.AddNested("SortBy", err.(request.ErrInvalidParams)) 9312 } 9313 } 9314 if s.TimePeriod != nil { 9315 if err := s.TimePeriod.Validate(); err != nil { 9316 invalidParams.AddNested("TimePeriod", err.(request.ErrInvalidParams)) 9317 } 9318 } 9319 9320 if invalidParams.Len() > 0 { 9321 return invalidParams 9322 } 9323 return nil 9324} 9325 9326// SetDataType sets the DataType field's value. 9327func (s *GetSavingsPlansUtilizationDetailsInput) SetDataType(v []*string) *GetSavingsPlansUtilizationDetailsInput { 9328 s.DataType = v 9329 return s 9330} 9331 9332// SetFilter sets the Filter field's value. 9333func (s *GetSavingsPlansUtilizationDetailsInput) SetFilter(v *Expression) *GetSavingsPlansUtilizationDetailsInput { 9334 s.Filter = v 9335 return s 9336} 9337 9338// SetMaxResults sets the MaxResults field's value. 9339func (s *GetSavingsPlansUtilizationDetailsInput) SetMaxResults(v int64) *GetSavingsPlansUtilizationDetailsInput { 9340 s.MaxResults = &v 9341 return s 9342} 9343 9344// SetNextToken sets the NextToken field's value. 9345func (s *GetSavingsPlansUtilizationDetailsInput) SetNextToken(v string) *GetSavingsPlansUtilizationDetailsInput { 9346 s.NextToken = &v 9347 return s 9348} 9349 9350// SetSortBy sets the SortBy field's value. 9351func (s *GetSavingsPlansUtilizationDetailsInput) SetSortBy(v *SortDefinition) *GetSavingsPlansUtilizationDetailsInput { 9352 s.SortBy = v 9353 return s 9354} 9355 9356// SetTimePeriod sets the TimePeriod field's value. 9357func (s *GetSavingsPlansUtilizationDetailsInput) SetTimePeriod(v *DateInterval) *GetSavingsPlansUtilizationDetailsInput { 9358 s.TimePeriod = v 9359 return s 9360} 9361 9362type GetSavingsPlansUtilizationDetailsOutput struct { 9363 _ struct{} `type:"structure"` 9364 9365 // The token to retrieve the next set of results. Amazon Web Services provides 9366 // the token when the response from a previous call has more results than the 9367 // maximum page size. 9368 NextToken *string `type:"string"` 9369 9370 // Retrieves a single daily or monthly Savings Plans utilization rate and details 9371 // for your account. 9372 // 9373 // SavingsPlansUtilizationDetails is a required field 9374 SavingsPlansUtilizationDetails []*SavingsPlansUtilizationDetail `type:"list" required:"true"` 9375 9376 // The time period of the request. 9377 // 9378 // TimePeriod is a required field 9379 TimePeriod *DateInterval `type:"structure" required:"true"` 9380 9381 // The total Savings Plans utilization, regardless of time period. 9382 Total *SavingsPlansUtilizationAggregates `type:"structure"` 9383} 9384 9385// String returns the string representation. 9386// 9387// API parameter values that are decorated as "sensitive" in the API will not 9388// be included in the string output. The member name will be present, but the 9389// value will be replaced with "sensitive". 9390func (s GetSavingsPlansUtilizationDetailsOutput) String() string { 9391 return awsutil.Prettify(s) 9392} 9393 9394// GoString returns the string representation. 9395// 9396// API parameter values that are decorated as "sensitive" in the API will not 9397// be included in the string output. The member name will be present, but the 9398// value will be replaced with "sensitive". 9399func (s GetSavingsPlansUtilizationDetailsOutput) GoString() string { 9400 return s.String() 9401} 9402 9403// SetNextToken sets the NextToken field's value. 9404func (s *GetSavingsPlansUtilizationDetailsOutput) SetNextToken(v string) *GetSavingsPlansUtilizationDetailsOutput { 9405 s.NextToken = &v 9406 return s 9407} 9408 9409// SetSavingsPlansUtilizationDetails sets the SavingsPlansUtilizationDetails field's value. 9410func (s *GetSavingsPlansUtilizationDetailsOutput) SetSavingsPlansUtilizationDetails(v []*SavingsPlansUtilizationDetail) *GetSavingsPlansUtilizationDetailsOutput { 9411 s.SavingsPlansUtilizationDetails = v 9412 return s 9413} 9414 9415// SetTimePeriod sets the TimePeriod field's value. 9416func (s *GetSavingsPlansUtilizationDetailsOutput) SetTimePeriod(v *DateInterval) *GetSavingsPlansUtilizationDetailsOutput { 9417 s.TimePeriod = v 9418 return s 9419} 9420 9421// SetTotal sets the Total field's value. 9422func (s *GetSavingsPlansUtilizationDetailsOutput) SetTotal(v *SavingsPlansUtilizationAggregates) *GetSavingsPlansUtilizationDetailsOutput { 9423 s.Total = v 9424 return s 9425} 9426 9427type GetSavingsPlansUtilizationInput struct { 9428 _ struct{} `type:"structure"` 9429 9430 // Filters Savings Plans utilization coverage data for active Savings Plans 9431 // dimensions. You can filter data with the following dimensions: 9432 // 9433 // * LINKED_ACCOUNT 9434 // 9435 // * SAVINGS_PLAN_ARN 9436 // 9437 // * SAVINGS_PLANS_TYPE 9438 // 9439 // * REGION 9440 // 9441 // * PAYMENT_OPTION 9442 // 9443 // * INSTANCE_TYPE_FAMILY 9444 // 9445 // GetSavingsPlansUtilization uses the same Expression (https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_Expression.html) 9446 // object as the other operations, but only AND is supported among each dimension. 9447 Filter *Expression `type:"structure"` 9448 9449 // The granularity of the Amazon Web Services utillization data for your Savings 9450 // Plans. 9451 // 9452 // The GetSavingsPlansUtilization operation supports only DAILY and MONTHLY 9453 // granularities. 9454 Granularity *string `type:"string" enum:"Granularity"` 9455 9456 // The value by which you want to sort the data. 9457 // 9458 // The following values are supported for Key: 9459 // 9460 // * UtilizationPercentage 9461 // 9462 // * TotalCommitment 9463 // 9464 // * UsedCommitment 9465 // 9466 // * UnusedCommitment 9467 // 9468 // * NetSavings 9469 // 9470 // Supported values for SortOrder are ASCENDING or DESCENDING. 9471 SortBy *SortDefinition `type:"structure"` 9472 9473 // The time period that you want the usage and costs for. The Start date must 9474 // be within 13 months. The End date must be after the Start date, and before 9475 // the current date. Future dates can't be used as an End date. 9476 // 9477 // TimePeriod is a required field 9478 TimePeriod *DateInterval `type:"structure" required:"true"` 9479} 9480 9481// String returns the string representation. 9482// 9483// API parameter values that are decorated as "sensitive" in the API will not 9484// be included in the string output. The member name will be present, but the 9485// value will be replaced with "sensitive". 9486func (s GetSavingsPlansUtilizationInput) String() string { 9487 return awsutil.Prettify(s) 9488} 9489 9490// GoString returns the string representation. 9491// 9492// API parameter values that are decorated as "sensitive" in the API will not 9493// be included in the string output. The member name will be present, but the 9494// value will be replaced with "sensitive". 9495func (s GetSavingsPlansUtilizationInput) GoString() string { 9496 return s.String() 9497} 9498 9499// Validate inspects the fields of the type to determine if they are valid. 9500func (s *GetSavingsPlansUtilizationInput) Validate() error { 9501 invalidParams := request.ErrInvalidParams{Context: "GetSavingsPlansUtilizationInput"} 9502 if s.TimePeriod == nil { 9503 invalidParams.Add(request.NewErrParamRequired("TimePeriod")) 9504 } 9505 if s.Filter != nil { 9506 if err := s.Filter.Validate(); err != nil { 9507 invalidParams.AddNested("Filter", err.(request.ErrInvalidParams)) 9508 } 9509 } 9510 if s.SortBy != nil { 9511 if err := s.SortBy.Validate(); err != nil { 9512 invalidParams.AddNested("SortBy", err.(request.ErrInvalidParams)) 9513 } 9514 } 9515 if s.TimePeriod != nil { 9516 if err := s.TimePeriod.Validate(); err != nil { 9517 invalidParams.AddNested("TimePeriod", err.(request.ErrInvalidParams)) 9518 } 9519 } 9520 9521 if invalidParams.Len() > 0 { 9522 return invalidParams 9523 } 9524 return nil 9525} 9526 9527// SetFilter sets the Filter field's value. 9528func (s *GetSavingsPlansUtilizationInput) SetFilter(v *Expression) *GetSavingsPlansUtilizationInput { 9529 s.Filter = v 9530 return s 9531} 9532 9533// SetGranularity sets the Granularity field's value. 9534func (s *GetSavingsPlansUtilizationInput) SetGranularity(v string) *GetSavingsPlansUtilizationInput { 9535 s.Granularity = &v 9536 return s 9537} 9538 9539// SetSortBy sets the SortBy field's value. 9540func (s *GetSavingsPlansUtilizationInput) SetSortBy(v *SortDefinition) *GetSavingsPlansUtilizationInput { 9541 s.SortBy = v 9542 return s 9543} 9544 9545// SetTimePeriod sets the TimePeriod field's value. 9546func (s *GetSavingsPlansUtilizationInput) SetTimePeriod(v *DateInterval) *GetSavingsPlansUtilizationInput { 9547 s.TimePeriod = v 9548 return s 9549} 9550 9551type GetSavingsPlansUtilizationOutput struct { 9552 _ struct{} `type:"structure"` 9553 9554 // The amount of cost/commitment you used your Savings Plans. This allows you 9555 // to specify date ranges. 9556 SavingsPlansUtilizationsByTime []*SavingsPlansUtilizationByTime `type:"list"` 9557 9558 // The total amount of cost/commitment that you used your Savings Plans, regardless 9559 // of date ranges. 9560 // 9561 // Total is a required field 9562 Total *SavingsPlansUtilizationAggregates `type:"structure" required:"true"` 9563} 9564 9565// String returns the string representation. 9566// 9567// API parameter values that are decorated as "sensitive" in the API will not 9568// be included in the string output. The member name will be present, but the 9569// value will be replaced with "sensitive". 9570func (s GetSavingsPlansUtilizationOutput) String() string { 9571 return awsutil.Prettify(s) 9572} 9573 9574// GoString returns the string representation. 9575// 9576// API parameter values that are decorated as "sensitive" in the API will not 9577// be included in the string output. The member name will be present, but the 9578// value will be replaced with "sensitive". 9579func (s GetSavingsPlansUtilizationOutput) GoString() string { 9580 return s.String() 9581} 9582 9583// SetSavingsPlansUtilizationsByTime sets the SavingsPlansUtilizationsByTime field's value. 9584func (s *GetSavingsPlansUtilizationOutput) SetSavingsPlansUtilizationsByTime(v []*SavingsPlansUtilizationByTime) *GetSavingsPlansUtilizationOutput { 9585 s.SavingsPlansUtilizationsByTime = v 9586 return s 9587} 9588 9589// SetTotal sets the Total field's value. 9590func (s *GetSavingsPlansUtilizationOutput) SetTotal(v *SavingsPlansUtilizationAggregates) *GetSavingsPlansUtilizationOutput { 9591 s.Total = v 9592 return s 9593} 9594 9595type GetTagsInput struct { 9596 _ struct{} `type:"structure"` 9597 9598 // Use Expression to filter by cost or by usage. There are two patterns: 9599 // 9600 // * Simple dimension values - You can set the dimension name and values 9601 // for the filters that you plan to use. For example, you can filter for 9602 // REGION==us-east-1 OR REGION==us-west-1. For GetRightsizingRecommendation, 9603 // the Region is a full name (for example, REGION==US East (N. Virginia). 9604 // The Expression example is as follows: { "Dimensions": { "Key": "REGION", 9605 // "Values": [ "us-east-1", “us-west-1” ] } } The list of dimension values 9606 // are OR'd together to retrieve cost or usage data. You can create Expression 9607 // and DimensionValues objects using either with* methods or set* methods 9608 // in multiple lines. 9609 // 9610 // * Compound dimension values with logical operations - You can use multiple 9611 // Expression types and the logical operators AND/OR/NOT to create a list 9612 // of one or more Expression objects. By doing this, you can filter on more 9613 // advanced options. For example, you can filter on ((REGION == us-east-1 9614 // OR REGION == us-west-1) OR (TAG.Type == Type1)) AND (USAGE_TYPE != DataTransfer). 9615 // The Expression for that is as follows: { "And": [ {"Or": [ {"Dimensions": 9616 // { "Key": "REGION", "Values": [ "us-east-1", "us-west-1" ] }}, {"Tags": 9617 // { "Key": "TagName", "Values": ["Value1"] } } ]}, {"Not": {"Dimensions": 9618 // { "Key": "USAGE_TYPE", "Values": ["DataTransfer"] }}} ] } Because each 9619 // Expression can have only one operator, the service returns an error if 9620 // more than one is specified. The following example shows an Expression 9621 // object that creates an error. { "And": [ ... ], "DimensionValues": { "Dimension": 9622 // "USAGE_TYPE", "Values": [ "DataTransfer" ] } } 9623 // 9624 // For the GetRightsizingRecommendation action, a combination of OR and NOT 9625 // isn't supported. OR isn't supported between different dimensions, or dimensions 9626 // and tags. NOT operators aren't supported. Dimensions are also limited to 9627 // LINKED_ACCOUNT, REGION, or RIGHTSIZING_TYPE. 9628 // 9629 // For the GetReservationPurchaseRecommendation action, only NOT is supported. 9630 // AND and OR aren't supported. Dimensions are limited to LINKED_ACCOUNT. 9631 Filter *Expression `type:"structure"` 9632 9633 // This field is only used when SortBy is provided in the request. The maximum 9634 // number of objects that to be returned for this request. If MaxResults is 9635 // not specified with SortBy, the request will return 1000 results as the default 9636 // value for this parameter. 9637 // 9638 // For GetTags, MaxResults has an upper limit of 1000. 9639 MaxResults *int64 `min:"1" type:"integer"` 9640 9641 // The token to retrieve the next set of results. Amazon Web Services provides 9642 // the token when the response from a previous call has more results than the 9643 // maximum page size. 9644 NextPageToken *string `type:"string"` 9645 9646 // The value that you want to search for. 9647 SearchString *string `type:"string"` 9648 9649 // The value by which you want to sort the data. 9650 // 9651 // The key represents cost and usage metrics. The following values are supported: 9652 // 9653 // * BlendedCost 9654 // 9655 // * UnblendedCost 9656 // 9657 // * AmortizedCost 9658 // 9659 // * NetAmortizedCost 9660 // 9661 // * NetUnblendedCost 9662 // 9663 // * UsageQuantity 9664 // 9665 // * NormalizedUsageAmount 9666 // 9667 // Supported values for SortOrder are ASCENDING or DESCENDING. 9668 // 9669 // When using SortBy, NextPageToken and SearchString are not supported. 9670 SortBy []*SortDefinition `type:"list"` 9671 9672 // The key of the tag that you want to return values for. 9673 TagKey *string `type:"string"` 9674 9675 // The start and end dates for retrieving the dimension values. The start date 9676 // is inclusive, but the end date is exclusive. For example, if start is 2017-01-01 9677 // and end is 2017-05-01, then the cost and usage data is retrieved from 2017-01-01 9678 // up to and including 2017-04-30 but not including 2017-05-01. 9679 // 9680 // TimePeriod is a required field 9681 TimePeriod *DateInterval `type:"structure" required:"true"` 9682} 9683 9684// String returns the string representation. 9685// 9686// API parameter values that are decorated as "sensitive" in the API will not 9687// be included in the string output. The member name will be present, but the 9688// value will be replaced with "sensitive". 9689func (s GetTagsInput) String() string { 9690 return awsutil.Prettify(s) 9691} 9692 9693// GoString returns the string representation. 9694// 9695// API parameter values that are decorated as "sensitive" in the API will not 9696// be included in the string output. The member name will be present, but the 9697// value will be replaced with "sensitive". 9698func (s GetTagsInput) GoString() string { 9699 return s.String() 9700} 9701 9702// Validate inspects the fields of the type to determine if they are valid. 9703func (s *GetTagsInput) Validate() error { 9704 invalidParams := request.ErrInvalidParams{Context: "GetTagsInput"} 9705 if s.MaxResults != nil && *s.MaxResults < 1 { 9706 invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) 9707 } 9708 if s.TimePeriod == nil { 9709 invalidParams.Add(request.NewErrParamRequired("TimePeriod")) 9710 } 9711 if s.Filter != nil { 9712 if err := s.Filter.Validate(); err != nil { 9713 invalidParams.AddNested("Filter", err.(request.ErrInvalidParams)) 9714 } 9715 } 9716 if s.SortBy != nil { 9717 for i, v := range s.SortBy { 9718 if v == nil { 9719 continue 9720 } 9721 if err := v.Validate(); err != nil { 9722 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "SortBy", i), err.(request.ErrInvalidParams)) 9723 } 9724 } 9725 } 9726 if s.TimePeriod != nil { 9727 if err := s.TimePeriod.Validate(); err != nil { 9728 invalidParams.AddNested("TimePeriod", err.(request.ErrInvalidParams)) 9729 } 9730 } 9731 9732 if invalidParams.Len() > 0 { 9733 return invalidParams 9734 } 9735 return nil 9736} 9737 9738// SetFilter sets the Filter field's value. 9739func (s *GetTagsInput) SetFilter(v *Expression) *GetTagsInput { 9740 s.Filter = v 9741 return s 9742} 9743 9744// SetMaxResults sets the MaxResults field's value. 9745func (s *GetTagsInput) SetMaxResults(v int64) *GetTagsInput { 9746 s.MaxResults = &v 9747 return s 9748} 9749 9750// SetNextPageToken sets the NextPageToken field's value. 9751func (s *GetTagsInput) SetNextPageToken(v string) *GetTagsInput { 9752 s.NextPageToken = &v 9753 return s 9754} 9755 9756// SetSearchString sets the SearchString field's value. 9757func (s *GetTagsInput) SetSearchString(v string) *GetTagsInput { 9758 s.SearchString = &v 9759 return s 9760} 9761 9762// SetSortBy sets the SortBy field's value. 9763func (s *GetTagsInput) SetSortBy(v []*SortDefinition) *GetTagsInput { 9764 s.SortBy = v 9765 return s 9766} 9767 9768// SetTagKey sets the TagKey field's value. 9769func (s *GetTagsInput) SetTagKey(v string) *GetTagsInput { 9770 s.TagKey = &v 9771 return s 9772} 9773 9774// SetTimePeriod sets the TimePeriod field's value. 9775func (s *GetTagsInput) SetTimePeriod(v *DateInterval) *GetTagsInput { 9776 s.TimePeriod = v 9777 return s 9778} 9779 9780type GetTagsOutput struct { 9781 _ struct{} `type:"structure"` 9782 9783 // The token for the next set of retrievable results. Amazon Web Services provides 9784 // the token when the response from a previous call has more results than the 9785 // maximum page size. 9786 NextPageToken *string `type:"string"` 9787 9788 // The number of query results that Amazon Web Services returns at a time. 9789 // 9790 // ReturnSize is a required field 9791 ReturnSize *int64 `type:"integer" required:"true"` 9792 9793 // The tags that match your request. 9794 // 9795 // Tags is a required field 9796 Tags []*string `type:"list" required:"true"` 9797 9798 // The total number of query results. 9799 // 9800 // TotalSize is a required field 9801 TotalSize *int64 `type:"integer" required:"true"` 9802} 9803 9804// String returns the string representation. 9805// 9806// API parameter values that are decorated as "sensitive" in the API will not 9807// be included in the string output. The member name will be present, but the 9808// value will be replaced with "sensitive". 9809func (s GetTagsOutput) String() string { 9810 return awsutil.Prettify(s) 9811} 9812 9813// GoString returns the string representation. 9814// 9815// API parameter values that are decorated as "sensitive" in the API will not 9816// be included in the string output. The member name will be present, but the 9817// value will be replaced with "sensitive". 9818func (s GetTagsOutput) GoString() string { 9819 return s.String() 9820} 9821 9822// SetNextPageToken sets the NextPageToken field's value. 9823func (s *GetTagsOutput) SetNextPageToken(v string) *GetTagsOutput { 9824 s.NextPageToken = &v 9825 return s 9826} 9827 9828// SetReturnSize sets the ReturnSize field's value. 9829func (s *GetTagsOutput) SetReturnSize(v int64) *GetTagsOutput { 9830 s.ReturnSize = &v 9831 return s 9832} 9833 9834// SetTags sets the Tags field's value. 9835func (s *GetTagsOutput) SetTags(v []*string) *GetTagsOutput { 9836 s.Tags = v 9837 return s 9838} 9839 9840// SetTotalSize sets the TotalSize field's value. 9841func (s *GetTagsOutput) SetTotalSize(v int64) *GetTagsOutput { 9842 s.TotalSize = &v 9843 return s 9844} 9845 9846type GetUsageForecastInput struct { 9847 _ struct{} `type:"structure"` 9848 9849 // The filters that you want to use to filter your forecast. The GetUsageForecast 9850 // API supports filtering by the following dimensions: 9851 // 9852 // * AZ 9853 // 9854 // * INSTANCE_TYPE 9855 // 9856 // * LINKED_ACCOUNT 9857 // 9858 // * LINKED_ACCOUNT_NAME 9859 // 9860 // * OPERATION 9861 // 9862 // * PURCHASE_TYPE 9863 // 9864 // * REGION 9865 // 9866 // * SERVICE 9867 // 9868 // * USAGE_TYPE 9869 // 9870 // * USAGE_TYPE_GROUP 9871 // 9872 // * RECORD_TYPE 9873 // 9874 // * OPERATING_SYSTEM 9875 // 9876 // * TENANCY 9877 // 9878 // * SCOPE 9879 // 9880 // * PLATFORM 9881 // 9882 // * SUBSCRIPTION_ID 9883 // 9884 // * LEGAL_ENTITY_NAME 9885 // 9886 // * DEPLOYMENT_OPTION 9887 // 9888 // * DATABASE_ENGINE 9889 // 9890 // * INSTANCE_TYPE_FAMILY 9891 // 9892 // * BILLING_ENTITY 9893 // 9894 // * RESERVATION_ID 9895 // 9896 // * SAVINGS_PLAN_ARN 9897 Filter *Expression `type:"structure"` 9898 9899 // How granular you want the forecast to be. You can get 3 months of DAILY forecasts 9900 // or 12 months of MONTHLY forecasts. 9901 // 9902 // The GetUsageForecast operation supports only DAILY and MONTHLY granularities. 9903 // 9904 // Granularity is a required field 9905 Granularity *string `type:"string" required:"true" enum:"Granularity"` 9906 9907 // Which metric Cost Explorer uses to create your forecast. 9908 // 9909 // Valid values for a GetUsageForecast call are the following: 9910 // 9911 // * USAGE_QUANTITY 9912 // 9913 // * NORMALIZED_USAGE_AMOUNT 9914 // 9915 // Metric is a required field 9916 Metric *string `type:"string" required:"true" enum:"Metric"` 9917 9918 // Cost Explorer always returns the mean forecast as a single point. You can 9919 // request a prediction interval around the mean by specifying a confidence 9920 // level. The higher the confidence level, the more confident Cost Explorer 9921 // is about the actual value falling in the prediction interval. Higher confidence 9922 // levels result in wider prediction intervals. 9923 PredictionIntervalLevel *int64 `min:"51" type:"integer"` 9924 9925 // The start and end dates of the period that you want to retrieve usage forecast 9926 // for. The start date is inclusive, but the end date is exclusive. For example, 9927 // if start is 2017-01-01 and end is 2017-05-01, then the cost and usage data 9928 // is retrieved from 2017-01-01 up to and including 2017-04-30 but not including 9929 // 2017-05-01. The start date must be equal to or later than the current date 9930 // to avoid a validation error. 9931 // 9932 // TimePeriod is a required field 9933 TimePeriod *DateInterval `type:"structure" required:"true"` 9934} 9935 9936// String returns the string representation. 9937// 9938// API parameter values that are decorated as "sensitive" in the API will not 9939// be included in the string output. The member name will be present, but the 9940// value will be replaced with "sensitive". 9941func (s GetUsageForecastInput) String() string { 9942 return awsutil.Prettify(s) 9943} 9944 9945// GoString returns the string representation. 9946// 9947// API parameter values that are decorated as "sensitive" in the API will not 9948// be included in the string output. The member name will be present, but the 9949// value will be replaced with "sensitive". 9950func (s GetUsageForecastInput) GoString() string { 9951 return s.String() 9952} 9953 9954// Validate inspects the fields of the type to determine if they are valid. 9955func (s *GetUsageForecastInput) Validate() error { 9956 invalidParams := request.ErrInvalidParams{Context: "GetUsageForecastInput"} 9957 if s.Granularity == nil { 9958 invalidParams.Add(request.NewErrParamRequired("Granularity")) 9959 } 9960 if s.Metric == nil { 9961 invalidParams.Add(request.NewErrParamRequired("Metric")) 9962 } 9963 if s.PredictionIntervalLevel != nil && *s.PredictionIntervalLevel < 51 { 9964 invalidParams.Add(request.NewErrParamMinValue("PredictionIntervalLevel", 51)) 9965 } 9966 if s.TimePeriod == nil { 9967 invalidParams.Add(request.NewErrParamRequired("TimePeriod")) 9968 } 9969 if s.Filter != nil { 9970 if err := s.Filter.Validate(); err != nil { 9971 invalidParams.AddNested("Filter", err.(request.ErrInvalidParams)) 9972 } 9973 } 9974 if s.TimePeriod != nil { 9975 if err := s.TimePeriod.Validate(); err != nil { 9976 invalidParams.AddNested("TimePeriod", err.(request.ErrInvalidParams)) 9977 } 9978 } 9979 9980 if invalidParams.Len() > 0 { 9981 return invalidParams 9982 } 9983 return nil 9984} 9985 9986// SetFilter sets the Filter field's value. 9987func (s *GetUsageForecastInput) SetFilter(v *Expression) *GetUsageForecastInput { 9988 s.Filter = v 9989 return s 9990} 9991 9992// SetGranularity sets the Granularity field's value. 9993func (s *GetUsageForecastInput) SetGranularity(v string) *GetUsageForecastInput { 9994 s.Granularity = &v 9995 return s 9996} 9997 9998// SetMetric sets the Metric field's value. 9999func (s *GetUsageForecastInput) SetMetric(v string) *GetUsageForecastInput { 10000 s.Metric = &v 10001 return s 10002} 10003 10004// SetPredictionIntervalLevel sets the PredictionIntervalLevel field's value. 10005func (s *GetUsageForecastInput) SetPredictionIntervalLevel(v int64) *GetUsageForecastInput { 10006 s.PredictionIntervalLevel = &v 10007 return s 10008} 10009 10010// SetTimePeriod sets the TimePeriod field's value. 10011func (s *GetUsageForecastInput) SetTimePeriod(v *DateInterval) *GetUsageForecastInput { 10012 s.TimePeriod = v 10013 return s 10014} 10015 10016type GetUsageForecastOutput struct { 10017 _ struct{} `type:"structure"` 10018 10019 // The forecasts for your query, in order. For DAILY forecasts, this is a list 10020 // of days. For MONTHLY forecasts, this is a list of months. 10021 ForecastResultsByTime []*ForecastResult `type:"list"` 10022 10023 // How much you're forecasted to use over the forecast period. 10024 Total *MetricValue `type:"structure"` 10025} 10026 10027// String returns the string representation. 10028// 10029// API parameter values that are decorated as "sensitive" in the API will not 10030// be included in the string output. The member name will be present, but the 10031// value will be replaced with "sensitive". 10032func (s GetUsageForecastOutput) String() string { 10033 return awsutil.Prettify(s) 10034} 10035 10036// GoString returns the string representation. 10037// 10038// API parameter values that are decorated as "sensitive" in the API will not 10039// be included in the string output. The member name will be present, but the 10040// value will be replaced with "sensitive". 10041func (s GetUsageForecastOutput) GoString() string { 10042 return s.String() 10043} 10044 10045// SetForecastResultsByTime sets the ForecastResultsByTime field's value. 10046func (s *GetUsageForecastOutput) SetForecastResultsByTime(v []*ForecastResult) *GetUsageForecastOutput { 10047 s.ForecastResultsByTime = v 10048 return s 10049} 10050 10051// SetTotal sets the Total field's value. 10052func (s *GetUsageForecastOutput) SetTotal(v *MetricValue) *GetUsageForecastOutput { 10053 s.Total = v 10054 return s 10055} 10056 10057// One level of grouped data in the results. 10058type Group struct { 10059 _ struct{} `type:"structure"` 10060 10061 // The keys that are included in this group. 10062 Keys []*string `type:"list"` 10063 10064 // The metrics that are included in this group. 10065 Metrics map[string]*MetricValue `type:"map"` 10066} 10067 10068// String returns the string representation. 10069// 10070// API parameter values that are decorated as "sensitive" in the API will not 10071// be included in the string output. The member name will be present, but the 10072// value will be replaced with "sensitive". 10073func (s Group) String() string { 10074 return awsutil.Prettify(s) 10075} 10076 10077// GoString returns the string representation. 10078// 10079// API parameter values that are decorated as "sensitive" in the API will not 10080// be included in the string output. The member name will be present, but the 10081// value will be replaced with "sensitive". 10082func (s Group) GoString() string { 10083 return s.String() 10084} 10085 10086// SetKeys sets the Keys field's value. 10087func (s *Group) SetKeys(v []*string) *Group { 10088 s.Keys = v 10089 return s 10090} 10091 10092// SetMetrics sets the Metrics field's value. 10093func (s *Group) SetMetrics(v map[string]*MetricValue) *Group { 10094 s.Metrics = v 10095 return s 10096} 10097 10098// Represents a group when you specify a group by criteria or in the response 10099// to a query with a specific grouping. 10100type GroupDefinition struct { 10101 _ struct{} `type:"structure"` 10102 10103 // The string that represents a key for a specified group. 10104 Key *string `type:"string"` 10105 10106 // The string that represents the type of group. 10107 Type *string `type:"string" enum:"GroupDefinitionType"` 10108} 10109 10110// String returns the string representation. 10111// 10112// API parameter values that are decorated as "sensitive" in the API will not 10113// be included in the string output. The member name will be present, but the 10114// value will be replaced with "sensitive". 10115func (s GroupDefinition) String() string { 10116 return awsutil.Prettify(s) 10117} 10118 10119// GoString returns the string representation. 10120// 10121// API parameter values that are decorated as "sensitive" in the API will not 10122// be included in the string output. The member name will be present, but the 10123// value will be replaced with "sensitive". 10124func (s GroupDefinition) GoString() string { 10125 return s.String() 10126} 10127 10128// SetKey sets the Key field's value. 10129func (s *GroupDefinition) SetKey(v string) *GroupDefinition { 10130 s.Key = &v 10131 return s 10132} 10133 10134// SetType sets the Type field's value. 10135func (s *GroupDefinition) SetType(v string) *GroupDefinition { 10136 s.Type = &v 10137 return s 10138} 10139 10140// The dollar value of the anomaly. 10141type Impact struct { 10142 _ struct{} `type:"structure"` 10143 10144 // The maximum dollar value that's observed for an anomaly. 10145 // 10146 // MaxImpact is a required field 10147 MaxImpact *float64 `type:"double" required:"true"` 10148 10149 // The cumulative dollar value that's observed for an anomaly. 10150 TotalImpact *float64 `type:"double"` 10151} 10152 10153// String returns the string representation. 10154// 10155// API parameter values that are decorated as "sensitive" in the API will not 10156// be included in the string output. The member name will be present, but the 10157// value will be replaced with "sensitive". 10158func (s Impact) String() string { 10159 return awsutil.Prettify(s) 10160} 10161 10162// GoString returns the string representation. 10163// 10164// API parameter values that are decorated as "sensitive" in the API will not 10165// be included in the string output. The member name will be present, but the 10166// value will be replaced with "sensitive". 10167func (s Impact) GoString() string { 10168 return s.String() 10169} 10170 10171// SetMaxImpact sets the MaxImpact field's value. 10172func (s *Impact) SetMaxImpact(v float64) *Impact { 10173 s.MaxImpact = &v 10174 return s 10175} 10176 10177// SetTotalImpact sets the TotalImpact field's value. 10178func (s *Impact) SetTotalImpact(v float64) *Impact { 10179 s.TotalImpact = &v 10180 return s 10181} 10182 10183// Details about the instances that Amazon Web Services recommends that you 10184// purchase. 10185type InstanceDetails struct { 10186 _ struct{} `type:"structure"` 10187 10188 // The Amazon EC2 instances that Amazon Web Services recommends that you purchase. 10189 EC2InstanceDetails *EC2InstanceDetails `type:"structure"` 10190 10191 // The Amazon ES instances that Amazon Web Services recommends that you purchase. 10192 ESInstanceDetails *ESInstanceDetails `type:"structure"` 10193 10194 // The ElastiCache instances that Amazon Web Services recommends that you purchase. 10195 ElastiCacheInstanceDetails *ElastiCacheInstanceDetails `type:"structure"` 10196 10197 // The Amazon RDS instances that Amazon Web Services recommends that you purchase. 10198 RDSInstanceDetails *RDSInstanceDetails `type:"structure"` 10199 10200 // The Amazon Redshift instances that Amazon Web Services recommends that you 10201 // purchase. 10202 RedshiftInstanceDetails *RedshiftInstanceDetails `type:"structure"` 10203} 10204 10205// String returns the string representation. 10206// 10207// API parameter values that are decorated as "sensitive" in the API will not 10208// be included in the string output. The member name will be present, but the 10209// value will be replaced with "sensitive". 10210func (s InstanceDetails) String() string { 10211 return awsutil.Prettify(s) 10212} 10213 10214// GoString returns the string representation. 10215// 10216// API parameter values that are decorated as "sensitive" in the API will not 10217// be included in the string output. The member name will be present, but the 10218// value will be replaced with "sensitive". 10219func (s InstanceDetails) GoString() string { 10220 return s.String() 10221} 10222 10223// SetEC2InstanceDetails sets the EC2InstanceDetails field's value. 10224func (s *InstanceDetails) SetEC2InstanceDetails(v *EC2InstanceDetails) *InstanceDetails { 10225 s.EC2InstanceDetails = v 10226 return s 10227} 10228 10229// SetESInstanceDetails sets the ESInstanceDetails field's value. 10230func (s *InstanceDetails) SetESInstanceDetails(v *ESInstanceDetails) *InstanceDetails { 10231 s.ESInstanceDetails = v 10232 return s 10233} 10234 10235// SetElastiCacheInstanceDetails sets the ElastiCacheInstanceDetails field's value. 10236func (s *InstanceDetails) SetElastiCacheInstanceDetails(v *ElastiCacheInstanceDetails) *InstanceDetails { 10237 s.ElastiCacheInstanceDetails = v 10238 return s 10239} 10240 10241// SetRDSInstanceDetails sets the RDSInstanceDetails field's value. 10242func (s *InstanceDetails) SetRDSInstanceDetails(v *RDSInstanceDetails) *InstanceDetails { 10243 s.RDSInstanceDetails = v 10244 return s 10245} 10246 10247// SetRedshiftInstanceDetails sets the RedshiftInstanceDetails field's value. 10248func (s *InstanceDetails) SetRedshiftInstanceDetails(v *RedshiftInstanceDetails) *InstanceDetails { 10249 s.RedshiftInstanceDetails = v 10250 return s 10251} 10252 10253// The pagination token is invalid. Try again without a pagination token. 10254type InvalidNextTokenException struct { 10255 _ struct{} `type:"structure"` 10256 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 10257 10258 Message_ *string `locationName:"Message" type:"string"` 10259} 10260 10261// String returns the string representation. 10262// 10263// API parameter values that are decorated as "sensitive" in the API will not 10264// be included in the string output. The member name will be present, but the 10265// value will be replaced with "sensitive". 10266func (s InvalidNextTokenException) String() string { 10267 return awsutil.Prettify(s) 10268} 10269 10270// GoString returns the string representation. 10271// 10272// API parameter values that are decorated as "sensitive" in the API will not 10273// be included in the string output. The member name will be present, but the 10274// value will be replaced with "sensitive". 10275func (s InvalidNextTokenException) GoString() string { 10276 return s.String() 10277} 10278 10279func newErrorInvalidNextTokenException(v protocol.ResponseMetadata) error { 10280 return &InvalidNextTokenException{ 10281 RespMetadata: v, 10282 } 10283} 10284 10285// Code returns the exception type name. 10286func (s *InvalidNextTokenException) Code() string { 10287 return "InvalidNextTokenException" 10288} 10289 10290// Message returns the exception's message. 10291func (s *InvalidNextTokenException) Message() string { 10292 if s.Message_ != nil { 10293 return *s.Message_ 10294 } 10295 return "" 10296} 10297 10298// OrigErr always returns nil, satisfies awserr.Error interface. 10299func (s *InvalidNextTokenException) OrigErr() error { 10300 return nil 10301} 10302 10303func (s *InvalidNextTokenException) Error() string { 10304 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 10305} 10306 10307// Status code returns the HTTP status code for the request's response error. 10308func (s *InvalidNextTokenException) StatusCode() int { 10309 return s.RespMetadata.StatusCode 10310} 10311 10312// RequestID returns the service's response RequestID for request. 10313func (s *InvalidNextTokenException) RequestID() string { 10314 return s.RespMetadata.RequestID 10315} 10316 10317// You made too many calls in a short period of time. Try again later. 10318type LimitExceededException struct { 10319 _ struct{} `type:"structure"` 10320 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 10321 10322 Message_ *string `locationName:"Message" type:"string"` 10323} 10324 10325// String returns the string representation. 10326// 10327// API parameter values that are decorated as "sensitive" in the API will not 10328// be included in the string output. The member name will be present, but the 10329// value will be replaced with "sensitive". 10330func (s LimitExceededException) String() string { 10331 return awsutil.Prettify(s) 10332} 10333 10334// GoString returns the string representation. 10335// 10336// API parameter values that are decorated as "sensitive" in the API will not 10337// be included in the string output. The member name will be present, but the 10338// value will be replaced with "sensitive". 10339func (s LimitExceededException) GoString() string { 10340 return s.String() 10341} 10342 10343func newErrorLimitExceededException(v protocol.ResponseMetadata) error { 10344 return &LimitExceededException{ 10345 RespMetadata: v, 10346 } 10347} 10348 10349// Code returns the exception type name. 10350func (s *LimitExceededException) Code() string { 10351 return "LimitExceededException" 10352} 10353 10354// Message returns the exception's message. 10355func (s *LimitExceededException) Message() string { 10356 if s.Message_ != nil { 10357 return *s.Message_ 10358 } 10359 return "" 10360} 10361 10362// OrigErr always returns nil, satisfies awserr.Error interface. 10363func (s *LimitExceededException) OrigErr() error { 10364 return nil 10365} 10366 10367func (s *LimitExceededException) Error() string { 10368 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 10369} 10370 10371// Status code returns the HTTP status code for the request's response error. 10372func (s *LimitExceededException) StatusCode() int { 10373 return s.RespMetadata.StatusCode 10374} 10375 10376// RequestID returns the service's response RequestID for request. 10377func (s *LimitExceededException) RequestID() string { 10378 return s.RespMetadata.RequestID 10379} 10380 10381type ListCostCategoryDefinitionsInput struct { 10382 _ struct{} `type:"structure"` 10383 10384 // The date when the Cost Category was effective. 10385 EffectiveOn *string `min:"20" type:"string"` 10386 10387 // The number of entries a paginated response contains. 10388 MaxResults *int64 `min:"1" type:"integer"` 10389 10390 // The token to retrieve the next set of results. Amazon Web Services provides 10391 // the token when the response from a previous call has more results than the 10392 // maximum page size. 10393 NextToken *string `type:"string"` 10394} 10395 10396// String returns the string representation. 10397// 10398// API parameter values that are decorated as "sensitive" in the API will not 10399// be included in the string output. The member name will be present, but the 10400// value will be replaced with "sensitive". 10401func (s ListCostCategoryDefinitionsInput) String() string { 10402 return awsutil.Prettify(s) 10403} 10404 10405// GoString returns the string representation. 10406// 10407// API parameter values that are decorated as "sensitive" in the API will not 10408// be included in the string output. The member name will be present, but the 10409// value will be replaced with "sensitive". 10410func (s ListCostCategoryDefinitionsInput) GoString() string { 10411 return s.String() 10412} 10413 10414// Validate inspects the fields of the type to determine if they are valid. 10415func (s *ListCostCategoryDefinitionsInput) Validate() error { 10416 invalidParams := request.ErrInvalidParams{Context: "ListCostCategoryDefinitionsInput"} 10417 if s.EffectiveOn != nil && len(*s.EffectiveOn) < 20 { 10418 invalidParams.Add(request.NewErrParamMinLen("EffectiveOn", 20)) 10419 } 10420 if s.MaxResults != nil && *s.MaxResults < 1 { 10421 invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) 10422 } 10423 10424 if invalidParams.Len() > 0 { 10425 return invalidParams 10426 } 10427 return nil 10428} 10429 10430// SetEffectiveOn sets the EffectiveOn field's value. 10431func (s *ListCostCategoryDefinitionsInput) SetEffectiveOn(v string) *ListCostCategoryDefinitionsInput { 10432 s.EffectiveOn = &v 10433 return s 10434} 10435 10436// SetMaxResults sets the MaxResults field's value. 10437func (s *ListCostCategoryDefinitionsInput) SetMaxResults(v int64) *ListCostCategoryDefinitionsInput { 10438 s.MaxResults = &v 10439 return s 10440} 10441 10442// SetNextToken sets the NextToken field's value. 10443func (s *ListCostCategoryDefinitionsInput) SetNextToken(v string) *ListCostCategoryDefinitionsInput { 10444 s.NextToken = &v 10445 return s 10446} 10447 10448type ListCostCategoryDefinitionsOutput struct { 10449 _ struct{} `type:"structure"` 10450 10451 // A reference to a Cost Category containing enough information to identify 10452 // the Cost Category. 10453 CostCategoryReferences []*CostCategoryReference `type:"list"` 10454 10455 // The token to retrieve the next set of results. Amazon Web Services provides 10456 // the token when the response from a previous call has more results than the 10457 // maximum page size. 10458 NextToken *string `type:"string"` 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 ListCostCategoryDefinitionsOutput) 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 ListCostCategoryDefinitionsOutput) GoString() string { 10476 return s.String() 10477} 10478 10479// SetCostCategoryReferences sets the CostCategoryReferences field's value. 10480func (s *ListCostCategoryDefinitionsOutput) SetCostCategoryReferences(v []*CostCategoryReference) *ListCostCategoryDefinitionsOutput { 10481 s.CostCategoryReferences = v 10482 return s 10483} 10484 10485// SetNextToken sets the NextToken field's value. 10486func (s *ListCostCategoryDefinitionsOutput) SetNextToken(v string) *ListCostCategoryDefinitionsOutput { 10487 s.NextToken = &v 10488 return s 10489} 10490 10491// The aggregated value for a metric. 10492type MetricValue struct { 10493 _ struct{} `type:"structure"` 10494 10495 // The actual number that represents the metric. 10496 Amount *string `type:"string"` 10497 10498 // The unit that the metric is given in. 10499 Unit *string `type:"string"` 10500} 10501 10502// String returns the string representation. 10503// 10504// API parameter values that are decorated as "sensitive" in the API will not 10505// be included in the string output. The member name will be present, but the 10506// value will be replaced with "sensitive". 10507func (s MetricValue) String() string { 10508 return awsutil.Prettify(s) 10509} 10510 10511// GoString returns the string representation. 10512// 10513// API parameter values that are decorated as "sensitive" in the API will not 10514// be included in the string output. The member name will be present, but the 10515// value will be replaced with "sensitive". 10516func (s MetricValue) GoString() string { 10517 return s.String() 10518} 10519 10520// SetAmount sets the Amount field's value. 10521func (s *MetricValue) SetAmount(v string) *MetricValue { 10522 s.Amount = &v 10523 return s 10524} 10525 10526// SetUnit sets the Unit field's value. 10527func (s *MetricValue) SetUnit(v string) *MetricValue { 10528 s.Unit = &v 10529 return s 10530} 10531 10532// Details on the modification recommendation. 10533type ModifyRecommendationDetail struct { 10534 _ struct{} `type:"structure"` 10535 10536 // Determines whether this instance type is the Amazon Web Services default 10537 // recommendation. 10538 TargetInstances []*TargetInstance `type:"list"` 10539} 10540 10541// String returns the string representation. 10542// 10543// API parameter values that are decorated as "sensitive" in the API will not 10544// be included in the string output. The member name will be present, but the 10545// value will be replaced with "sensitive". 10546func (s ModifyRecommendationDetail) String() string { 10547 return awsutil.Prettify(s) 10548} 10549 10550// GoString returns the string representation. 10551// 10552// API parameter values that are decorated as "sensitive" in the API will not 10553// be included in the string output. The member name will be present, but the 10554// value will be replaced with "sensitive". 10555func (s ModifyRecommendationDetail) GoString() string { 10556 return s.String() 10557} 10558 10559// SetTargetInstances sets the TargetInstances field's value. 10560func (s *ModifyRecommendationDetail) SetTargetInstances(v []*TargetInstance) *ModifyRecommendationDetail { 10561 s.TargetInstances = v 10562 return s 10563} 10564 10565// The network field that contains a list of network metrics that are associated 10566// with the current instance. 10567type NetworkResourceUtilization struct { 10568 _ struct{} `type:"structure"` 10569 10570 // The network inbound throughput utilization measured in Bytes per second. 10571 NetworkInBytesPerSecond *string `type:"string"` 10572 10573 // The network outbound throughput utilization measured in Bytes per second. 10574 NetworkOutBytesPerSecond *string `type:"string"` 10575 10576 // The network ingress packets that are measured in packets per second. 10577 NetworkPacketsInPerSecond *string `type:"string"` 10578 10579 // The network outgress packets that are measured in packets per second. 10580 NetworkPacketsOutPerSecond *string `type:"string"` 10581} 10582 10583// String returns the string representation. 10584// 10585// API parameter values that are decorated as "sensitive" in the API will not 10586// be included in the string output. The member name will be present, but the 10587// value will be replaced with "sensitive". 10588func (s NetworkResourceUtilization) String() string { 10589 return awsutil.Prettify(s) 10590} 10591 10592// GoString returns the string representation. 10593// 10594// API parameter values that are decorated as "sensitive" in the API will not 10595// be included in the string output. The member name will be present, but the 10596// value will be replaced with "sensitive". 10597func (s NetworkResourceUtilization) GoString() string { 10598 return s.String() 10599} 10600 10601// SetNetworkInBytesPerSecond sets the NetworkInBytesPerSecond field's value. 10602func (s *NetworkResourceUtilization) SetNetworkInBytesPerSecond(v string) *NetworkResourceUtilization { 10603 s.NetworkInBytesPerSecond = &v 10604 return s 10605} 10606 10607// SetNetworkOutBytesPerSecond sets the NetworkOutBytesPerSecond field's value. 10608func (s *NetworkResourceUtilization) SetNetworkOutBytesPerSecond(v string) *NetworkResourceUtilization { 10609 s.NetworkOutBytesPerSecond = &v 10610 return s 10611} 10612 10613// SetNetworkPacketsInPerSecond sets the NetworkPacketsInPerSecond field's value. 10614func (s *NetworkResourceUtilization) SetNetworkPacketsInPerSecond(v string) *NetworkResourceUtilization { 10615 s.NetworkPacketsInPerSecond = &v 10616 return s 10617} 10618 10619// SetNetworkPacketsOutPerSecond sets the NetworkPacketsOutPerSecond field's value. 10620func (s *NetworkResourceUtilization) SetNetworkPacketsOutPerSecond(v string) *NetworkResourceUtilization { 10621 s.NetworkPacketsOutPerSecond = &v 10622 return s 10623} 10624 10625type ProvideAnomalyFeedbackInput struct { 10626 _ struct{} `type:"structure"` 10627 10628 // A cost anomaly ID. 10629 // 10630 // AnomalyId is a required field 10631 AnomalyId *string `type:"string" required:"true"` 10632 10633 // Describes whether the cost anomaly was a planned activity or you considered 10634 // it an anomaly. 10635 // 10636 // Feedback is a required field 10637 Feedback *string `type:"string" required:"true" enum:"AnomalyFeedbackType"` 10638} 10639 10640// String returns the string representation. 10641// 10642// API parameter values that are decorated as "sensitive" in the API will not 10643// be included in the string output. The member name will be present, but the 10644// value will be replaced with "sensitive". 10645func (s ProvideAnomalyFeedbackInput) String() string { 10646 return awsutil.Prettify(s) 10647} 10648 10649// GoString returns the string representation. 10650// 10651// API parameter values that are decorated as "sensitive" in the API will not 10652// be included in the string output. The member name will be present, but the 10653// value will be replaced with "sensitive". 10654func (s ProvideAnomalyFeedbackInput) GoString() string { 10655 return s.String() 10656} 10657 10658// Validate inspects the fields of the type to determine if they are valid. 10659func (s *ProvideAnomalyFeedbackInput) Validate() error { 10660 invalidParams := request.ErrInvalidParams{Context: "ProvideAnomalyFeedbackInput"} 10661 if s.AnomalyId == nil { 10662 invalidParams.Add(request.NewErrParamRequired("AnomalyId")) 10663 } 10664 if s.Feedback == nil { 10665 invalidParams.Add(request.NewErrParamRequired("Feedback")) 10666 } 10667 10668 if invalidParams.Len() > 0 { 10669 return invalidParams 10670 } 10671 return nil 10672} 10673 10674// SetAnomalyId sets the AnomalyId field's value. 10675func (s *ProvideAnomalyFeedbackInput) SetAnomalyId(v string) *ProvideAnomalyFeedbackInput { 10676 s.AnomalyId = &v 10677 return s 10678} 10679 10680// SetFeedback sets the Feedback field's value. 10681func (s *ProvideAnomalyFeedbackInput) SetFeedback(v string) *ProvideAnomalyFeedbackInput { 10682 s.Feedback = &v 10683 return s 10684} 10685 10686type ProvideAnomalyFeedbackOutput struct { 10687 _ struct{} `type:"structure"` 10688 10689 // The ID of the modified cost anomaly. 10690 // 10691 // AnomalyId is a required field 10692 AnomalyId *string `type:"string" required:"true"` 10693} 10694 10695// String returns the string representation. 10696// 10697// API parameter values that are decorated as "sensitive" in the API will not 10698// be included in the string output. The member name will be present, but the 10699// value will be replaced with "sensitive". 10700func (s ProvideAnomalyFeedbackOutput) String() string { 10701 return awsutil.Prettify(s) 10702} 10703 10704// GoString returns the string representation. 10705// 10706// API parameter values that are decorated as "sensitive" in the API will not 10707// be included in the string output. The member name will be present, but the 10708// value will be replaced with "sensitive". 10709func (s ProvideAnomalyFeedbackOutput) GoString() string { 10710 return s.String() 10711} 10712 10713// SetAnomalyId sets the AnomalyId field's value. 10714func (s *ProvideAnomalyFeedbackOutput) SetAnomalyId(v string) *ProvideAnomalyFeedbackOutput { 10715 s.AnomalyId = &v 10716 return s 10717} 10718 10719// Details about the Amazon RDS instances that Amazon Web Services recommends 10720// that you purchase. 10721type RDSInstanceDetails struct { 10722 _ struct{} `type:"structure"` 10723 10724 // Determines whether the recommendation is for a current-generation instance. 10725 CurrentGeneration *bool `type:"boolean"` 10726 10727 // The database edition that the recommended reservation supports. 10728 DatabaseEdition *string `type:"string"` 10729 10730 // The database engine that the recommended reservation supports. 10731 DatabaseEngine *string `type:"string"` 10732 10733 // Determines whether the recommendation is for a reservation in a single Availability 10734 // Zone or a reservation with a backup in a second Availability Zone. 10735 DeploymentOption *string `type:"string"` 10736 10737 // The instance family of the recommended reservation. 10738 Family *string `type:"string"` 10739 10740 // The type of instance that Amazon Web Services recommends. 10741 InstanceType *string `type:"string"` 10742 10743 // The license model that the recommended reservation supports. 10744 LicenseModel *string `type:"string"` 10745 10746 // The Amazon Web Services Region of the recommended reservation. 10747 Region *string `type:"string"` 10748 10749 // Determines whether the recommended reservation is size flexible. 10750 SizeFlexEligible *bool `type:"boolean"` 10751} 10752 10753// String returns the string representation. 10754// 10755// API parameter values that are decorated as "sensitive" in the API will not 10756// be included in the string output. The member name will be present, but the 10757// value will be replaced with "sensitive". 10758func (s RDSInstanceDetails) String() string { 10759 return awsutil.Prettify(s) 10760} 10761 10762// GoString returns the string representation. 10763// 10764// API parameter values that are decorated as "sensitive" in the API will not 10765// be included in the string output. The member name will be present, but the 10766// value will be replaced with "sensitive". 10767func (s RDSInstanceDetails) GoString() string { 10768 return s.String() 10769} 10770 10771// SetCurrentGeneration sets the CurrentGeneration field's value. 10772func (s *RDSInstanceDetails) SetCurrentGeneration(v bool) *RDSInstanceDetails { 10773 s.CurrentGeneration = &v 10774 return s 10775} 10776 10777// SetDatabaseEdition sets the DatabaseEdition field's value. 10778func (s *RDSInstanceDetails) SetDatabaseEdition(v string) *RDSInstanceDetails { 10779 s.DatabaseEdition = &v 10780 return s 10781} 10782 10783// SetDatabaseEngine sets the DatabaseEngine field's value. 10784func (s *RDSInstanceDetails) SetDatabaseEngine(v string) *RDSInstanceDetails { 10785 s.DatabaseEngine = &v 10786 return s 10787} 10788 10789// SetDeploymentOption sets the DeploymentOption field's value. 10790func (s *RDSInstanceDetails) SetDeploymentOption(v string) *RDSInstanceDetails { 10791 s.DeploymentOption = &v 10792 return s 10793} 10794 10795// SetFamily sets the Family field's value. 10796func (s *RDSInstanceDetails) SetFamily(v string) *RDSInstanceDetails { 10797 s.Family = &v 10798 return s 10799} 10800 10801// SetInstanceType sets the InstanceType field's value. 10802func (s *RDSInstanceDetails) SetInstanceType(v string) *RDSInstanceDetails { 10803 s.InstanceType = &v 10804 return s 10805} 10806 10807// SetLicenseModel sets the LicenseModel field's value. 10808func (s *RDSInstanceDetails) SetLicenseModel(v string) *RDSInstanceDetails { 10809 s.LicenseModel = &v 10810 return s 10811} 10812 10813// SetRegion sets the Region field's value. 10814func (s *RDSInstanceDetails) SetRegion(v string) *RDSInstanceDetails { 10815 s.Region = &v 10816 return s 10817} 10818 10819// SetSizeFlexEligible sets the SizeFlexEligible field's value. 10820func (s *RDSInstanceDetails) SetSizeFlexEligible(v bool) *RDSInstanceDetails { 10821 s.SizeFlexEligible = &v 10822 return s 10823} 10824 10825// Details about the Amazon Redshift instances that Amazon Web Services recommends 10826// that you purchase. 10827type RedshiftInstanceDetails struct { 10828 _ struct{} `type:"structure"` 10829 10830 // Determines whether the recommendation is for a current-generation instance. 10831 CurrentGeneration *bool `type:"boolean"` 10832 10833 // The instance family of the recommended reservation. 10834 Family *string `type:"string"` 10835 10836 // The type of node that Amazon Web Services recommends. 10837 NodeType *string `type:"string"` 10838 10839 // The Amazon Web Services Region of the recommended reservation. 10840 Region *string `type:"string"` 10841 10842 // Determines whether the recommended reservation is size flexible. 10843 SizeFlexEligible *bool `type:"boolean"` 10844} 10845 10846// String returns the string representation. 10847// 10848// API parameter values that are decorated as "sensitive" in the API will not 10849// be included in the string output. The member name will be present, but the 10850// value will be replaced with "sensitive". 10851func (s RedshiftInstanceDetails) String() string { 10852 return awsutil.Prettify(s) 10853} 10854 10855// GoString returns the string representation. 10856// 10857// API parameter values that are decorated as "sensitive" in the API will not 10858// be included in the string output. The member name will be present, but the 10859// value will be replaced with "sensitive". 10860func (s RedshiftInstanceDetails) GoString() string { 10861 return s.String() 10862} 10863 10864// SetCurrentGeneration sets the CurrentGeneration field's value. 10865func (s *RedshiftInstanceDetails) SetCurrentGeneration(v bool) *RedshiftInstanceDetails { 10866 s.CurrentGeneration = &v 10867 return s 10868} 10869 10870// SetFamily sets the Family field's value. 10871func (s *RedshiftInstanceDetails) SetFamily(v string) *RedshiftInstanceDetails { 10872 s.Family = &v 10873 return s 10874} 10875 10876// SetNodeType sets the NodeType field's value. 10877func (s *RedshiftInstanceDetails) SetNodeType(v string) *RedshiftInstanceDetails { 10878 s.NodeType = &v 10879 return s 10880} 10881 10882// SetRegion sets the Region field's value. 10883func (s *RedshiftInstanceDetails) SetRegion(v string) *RedshiftInstanceDetails { 10884 s.Region = &v 10885 return s 10886} 10887 10888// SetSizeFlexEligible sets the SizeFlexEligible field's value. 10889func (s *RedshiftInstanceDetails) SetSizeFlexEligible(v bool) *RedshiftInstanceDetails { 10890 s.SizeFlexEligible = &v 10891 return s 10892} 10893 10894// Your request parameters changed between pages. Try again with the old parameters 10895// or without a pagination token. 10896type RequestChangedException struct { 10897 _ struct{} `type:"structure"` 10898 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 10899 10900 Message_ *string `locationName:"Message" type:"string"` 10901} 10902 10903// String returns the string representation. 10904// 10905// API parameter values that are decorated as "sensitive" in the API will not 10906// be included in the string output. The member name will be present, but the 10907// value will be replaced with "sensitive". 10908func (s RequestChangedException) String() string { 10909 return awsutil.Prettify(s) 10910} 10911 10912// GoString returns the string representation. 10913// 10914// API parameter values that are decorated as "sensitive" in the API will not 10915// be included in the string output. The member name will be present, but the 10916// value will be replaced with "sensitive". 10917func (s RequestChangedException) GoString() string { 10918 return s.String() 10919} 10920 10921func newErrorRequestChangedException(v protocol.ResponseMetadata) error { 10922 return &RequestChangedException{ 10923 RespMetadata: v, 10924 } 10925} 10926 10927// Code returns the exception type name. 10928func (s *RequestChangedException) Code() string { 10929 return "RequestChangedException" 10930} 10931 10932// Message returns the exception's message. 10933func (s *RequestChangedException) Message() string { 10934 if s.Message_ != nil { 10935 return *s.Message_ 10936 } 10937 return "" 10938} 10939 10940// OrigErr always returns nil, satisfies awserr.Error interface. 10941func (s *RequestChangedException) OrigErr() error { 10942 return nil 10943} 10944 10945func (s *RequestChangedException) Error() string { 10946 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 10947} 10948 10949// Status code returns the HTTP status code for the request's response error. 10950func (s *RequestChangedException) StatusCode() int { 10951 return s.RespMetadata.StatusCode 10952} 10953 10954// RequestID returns the service's response RequestID for request. 10955func (s *RequestChangedException) RequestID() string { 10956 return s.RespMetadata.RequestID 10957} 10958 10959// The aggregated numbers for your reservation usage. 10960type ReservationAggregates struct { 10961 _ struct{} `type:"structure"` 10962 10963 // The monthly cost of your reservation. It's amortized over the reservation 10964 // period. 10965 AmortizedRecurringFee *string `type:"string"` 10966 10967 // The upfront cost of your reservation. It's amortized over the reservation 10968 // period. 10969 AmortizedUpfrontFee *string `type:"string"` 10970 10971 // How much you saved due to purchasing and utilizing reservation. Amazon Web 10972 // Services calculates this by subtracting TotalAmortizedFee from OnDemandCostOfRIHoursUsed. 10973 NetRISavings *string `type:"string"` 10974 10975 // How much your reservation costs if charged On-Demand rates. 10976 OnDemandCostOfRIHoursUsed *string `type:"string"` 10977 10978 // How many reservation hours that you purchased. 10979 PurchasedHours *string `type:"string"` 10980 10981 // The number of Amazon EC2 reservation hours that you purchased. It's converted 10982 // to normalized units. Normalized units are available only for Amazon EC2 usage 10983 // after November 11, 2017. 10984 PurchasedUnits *string `type:"string"` 10985 10986 // The cost of unused hours for your reservation. 10987 RICostForUnusedHours *string `type:"string"` 10988 10989 // The realized savings because of purchasing and using a reservation. 10990 RealizedSavings *string `type:"string"` 10991 10992 // The total number of reservation hours that you used. 10993 TotalActualHours *string `type:"string"` 10994 10995 // The total number of Amazon EC2 reservation hours that you used. It's converted 10996 // to normalized units. Normalized units are available only for Amazon EC2 usage 10997 // after November 11, 2017. 10998 TotalActualUnits *string `type:"string"` 10999 11000 // The total cost of your reservation. It's amortized over the reservation period. 11001 TotalAmortizedFee *string `type:"string"` 11002 11003 // How much you might save if you use your entire reservation. 11004 TotalPotentialRISavings *string `type:"string"` 11005 11006 // The unrealized savings because of purchasing and using a reservation. 11007 UnrealizedSavings *string `type:"string"` 11008 11009 // The number of reservation hours that you didn't use. 11010 UnusedHours *string `type:"string"` 11011 11012 // The number of Amazon EC2 reservation hours that you didn't use. It's converted 11013 // to normalized units. Normalized units are available only for Amazon EC2 usage 11014 // after November 11, 2017. 11015 UnusedUnits *string `type:"string"` 11016 11017 // The percentage of reservation time that you used. 11018 UtilizationPercentage *string `type:"string"` 11019 11020 // The percentage of Amazon EC2 reservation time that you used. It's converted 11021 // to normalized units. Normalized units are available only for Amazon EC2 usage 11022 // after November 11, 2017. 11023 UtilizationPercentageInUnits *string `type:"string"` 11024} 11025 11026// String returns the string representation. 11027// 11028// API parameter values that are decorated as "sensitive" in the API will not 11029// be included in the string output. The member name will be present, but the 11030// value will be replaced with "sensitive". 11031func (s ReservationAggregates) String() string { 11032 return awsutil.Prettify(s) 11033} 11034 11035// GoString returns the string representation. 11036// 11037// API parameter values that are decorated as "sensitive" in the API will not 11038// be included in the string output. The member name will be present, but the 11039// value will be replaced with "sensitive". 11040func (s ReservationAggregates) GoString() string { 11041 return s.String() 11042} 11043 11044// SetAmortizedRecurringFee sets the AmortizedRecurringFee field's value. 11045func (s *ReservationAggregates) SetAmortizedRecurringFee(v string) *ReservationAggregates { 11046 s.AmortizedRecurringFee = &v 11047 return s 11048} 11049 11050// SetAmortizedUpfrontFee sets the AmortizedUpfrontFee field's value. 11051func (s *ReservationAggregates) SetAmortizedUpfrontFee(v string) *ReservationAggregates { 11052 s.AmortizedUpfrontFee = &v 11053 return s 11054} 11055 11056// SetNetRISavings sets the NetRISavings field's value. 11057func (s *ReservationAggregates) SetNetRISavings(v string) *ReservationAggregates { 11058 s.NetRISavings = &v 11059 return s 11060} 11061 11062// SetOnDemandCostOfRIHoursUsed sets the OnDemandCostOfRIHoursUsed field's value. 11063func (s *ReservationAggregates) SetOnDemandCostOfRIHoursUsed(v string) *ReservationAggregates { 11064 s.OnDemandCostOfRIHoursUsed = &v 11065 return s 11066} 11067 11068// SetPurchasedHours sets the PurchasedHours field's value. 11069func (s *ReservationAggregates) SetPurchasedHours(v string) *ReservationAggregates { 11070 s.PurchasedHours = &v 11071 return s 11072} 11073 11074// SetPurchasedUnits sets the PurchasedUnits field's value. 11075func (s *ReservationAggregates) SetPurchasedUnits(v string) *ReservationAggregates { 11076 s.PurchasedUnits = &v 11077 return s 11078} 11079 11080// SetRICostForUnusedHours sets the RICostForUnusedHours field's value. 11081func (s *ReservationAggregates) SetRICostForUnusedHours(v string) *ReservationAggregates { 11082 s.RICostForUnusedHours = &v 11083 return s 11084} 11085 11086// SetRealizedSavings sets the RealizedSavings field's value. 11087func (s *ReservationAggregates) SetRealizedSavings(v string) *ReservationAggregates { 11088 s.RealizedSavings = &v 11089 return s 11090} 11091 11092// SetTotalActualHours sets the TotalActualHours field's value. 11093func (s *ReservationAggregates) SetTotalActualHours(v string) *ReservationAggregates { 11094 s.TotalActualHours = &v 11095 return s 11096} 11097 11098// SetTotalActualUnits sets the TotalActualUnits field's value. 11099func (s *ReservationAggregates) SetTotalActualUnits(v string) *ReservationAggregates { 11100 s.TotalActualUnits = &v 11101 return s 11102} 11103 11104// SetTotalAmortizedFee sets the TotalAmortizedFee field's value. 11105func (s *ReservationAggregates) SetTotalAmortizedFee(v string) *ReservationAggregates { 11106 s.TotalAmortizedFee = &v 11107 return s 11108} 11109 11110// SetTotalPotentialRISavings sets the TotalPotentialRISavings field's value. 11111func (s *ReservationAggregates) SetTotalPotentialRISavings(v string) *ReservationAggregates { 11112 s.TotalPotentialRISavings = &v 11113 return s 11114} 11115 11116// SetUnrealizedSavings sets the UnrealizedSavings field's value. 11117func (s *ReservationAggregates) SetUnrealizedSavings(v string) *ReservationAggregates { 11118 s.UnrealizedSavings = &v 11119 return s 11120} 11121 11122// SetUnusedHours sets the UnusedHours field's value. 11123func (s *ReservationAggregates) SetUnusedHours(v string) *ReservationAggregates { 11124 s.UnusedHours = &v 11125 return s 11126} 11127 11128// SetUnusedUnits sets the UnusedUnits field's value. 11129func (s *ReservationAggregates) SetUnusedUnits(v string) *ReservationAggregates { 11130 s.UnusedUnits = &v 11131 return s 11132} 11133 11134// SetUtilizationPercentage sets the UtilizationPercentage field's value. 11135func (s *ReservationAggregates) SetUtilizationPercentage(v string) *ReservationAggregates { 11136 s.UtilizationPercentage = &v 11137 return s 11138} 11139 11140// SetUtilizationPercentageInUnits sets the UtilizationPercentageInUnits field's value. 11141func (s *ReservationAggregates) SetUtilizationPercentageInUnits(v string) *ReservationAggregates { 11142 s.UtilizationPercentageInUnits = &v 11143 return s 11144} 11145 11146// A group of reservations that share a set of attributes. 11147type ReservationCoverageGroup struct { 11148 _ struct{} `type:"structure"` 11149 11150 // The attributes for this group of reservations. 11151 Attributes map[string]*string `type:"map"` 11152 11153 // How much instance usage this group of reservations covered. 11154 Coverage *Coverage `type:"structure"` 11155} 11156 11157// String returns the string representation. 11158// 11159// API parameter values that are decorated as "sensitive" in the API will not 11160// be included in the string output. The member name will be present, but the 11161// value will be replaced with "sensitive". 11162func (s ReservationCoverageGroup) String() string { 11163 return awsutil.Prettify(s) 11164} 11165 11166// GoString returns the string representation. 11167// 11168// API parameter values that are decorated as "sensitive" in the API will not 11169// be included in the string output. The member name will be present, but the 11170// value will be replaced with "sensitive". 11171func (s ReservationCoverageGroup) GoString() string { 11172 return s.String() 11173} 11174 11175// SetAttributes sets the Attributes field's value. 11176func (s *ReservationCoverageGroup) SetAttributes(v map[string]*string) *ReservationCoverageGroup { 11177 s.Attributes = v 11178 return s 11179} 11180 11181// SetCoverage sets the Coverage field's value. 11182func (s *ReservationCoverageGroup) SetCoverage(v *Coverage) *ReservationCoverageGroup { 11183 s.Coverage = v 11184 return s 11185} 11186 11187// A specific reservation that Amazon Web Services recommends for purchase. 11188type ReservationPurchaseRecommendation struct { 11189 _ struct{} `type:"structure"` 11190 11191 // The account scope that Amazon Web Services recommends that you purchase this 11192 // instance for. For example, you can purchase this reservation for an entire 11193 // organization in Amazon Web Services Organizations. 11194 AccountScope *string `type:"string" enum:"AccountScope"` 11195 11196 // How many days of previous usage that Amazon Web Services considers when making 11197 // this recommendation. 11198 LookbackPeriodInDays *string `type:"string" enum:"LookbackPeriodInDays"` 11199 11200 // The payment option for the reservation (for example, AllUpfront or NoUpfront). 11201 PaymentOption *string `type:"string" enum:"PaymentOption"` 11202 11203 // Details about the recommended purchases. 11204 RecommendationDetails []*ReservationPurchaseRecommendationDetail `type:"list"` 11205 11206 // A summary about the recommended purchase. 11207 RecommendationSummary *ReservationPurchaseRecommendationSummary `type:"structure"` 11208 11209 // Hardware specifications for the service that you want recommendations for. 11210 ServiceSpecification *ServiceSpecification `type:"structure"` 11211 11212 // The term of the reservation that you want recommendations for, in years. 11213 TermInYears *string `type:"string" enum:"TermInYears"` 11214} 11215 11216// String returns the string representation. 11217// 11218// API parameter values that are decorated as "sensitive" in the API will not 11219// be included in the string output. The member name will be present, but the 11220// value will be replaced with "sensitive". 11221func (s ReservationPurchaseRecommendation) String() string { 11222 return awsutil.Prettify(s) 11223} 11224 11225// GoString returns the string representation. 11226// 11227// API parameter values that are decorated as "sensitive" in the API will not 11228// be included in the string output. The member name will be present, but the 11229// value will be replaced with "sensitive". 11230func (s ReservationPurchaseRecommendation) GoString() string { 11231 return s.String() 11232} 11233 11234// SetAccountScope sets the AccountScope field's value. 11235func (s *ReservationPurchaseRecommendation) SetAccountScope(v string) *ReservationPurchaseRecommendation { 11236 s.AccountScope = &v 11237 return s 11238} 11239 11240// SetLookbackPeriodInDays sets the LookbackPeriodInDays field's value. 11241func (s *ReservationPurchaseRecommendation) SetLookbackPeriodInDays(v string) *ReservationPurchaseRecommendation { 11242 s.LookbackPeriodInDays = &v 11243 return s 11244} 11245 11246// SetPaymentOption sets the PaymentOption field's value. 11247func (s *ReservationPurchaseRecommendation) SetPaymentOption(v string) *ReservationPurchaseRecommendation { 11248 s.PaymentOption = &v 11249 return s 11250} 11251 11252// SetRecommendationDetails sets the RecommendationDetails field's value. 11253func (s *ReservationPurchaseRecommendation) SetRecommendationDetails(v []*ReservationPurchaseRecommendationDetail) *ReservationPurchaseRecommendation { 11254 s.RecommendationDetails = v 11255 return s 11256} 11257 11258// SetRecommendationSummary sets the RecommendationSummary field's value. 11259func (s *ReservationPurchaseRecommendation) SetRecommendationSummary(v *ReservationPurchaseRecommendationSummary) *ReservationPurchaseRecommendation { 11260 s.RecommendationSummary = v 11261 return s 11262} 11263 11264// SetServiceSpecification sets the ServiceSpecification field's value. 11265func (s *ReservationPurchaseRecommendation) SetServiceSpecification(v *ServiceSpecification) *ReservationPurchaseRecommendation { 11266 s.ServiceSpecification = v 11267 return s 11268} 11269 11270// SetTermInYears sets the TermInYears field's value. 11271func (s *ReservationPurchaseRecommendation) SetTermInYears(v string) *ReservationPurchaseRecommendation { 11272 s.TermInYears = &v 11273 return s 11274} 11275 11276// Details about your recommended reservation purchase. 11277type ReservationPurchaseRecommendationDetail struct { 11278 _ struct{} `type:"structure"` 11279 11280 // The account that this RI recommendation is for. 11281 AccountId *string `type:"string"` 11282 11283 // The average number of normalized units that you used in an hour during the 11284 // historical period. Amazon Web Services uses this to calculate your recommended 11285 // reservation purchases. 11286 AverageNormalizedUnitsUsedPerHour *string `type:"string"` 11287 11288 // The average number of instances that you used in an hour during the historical 11289 // period. Amazon Web Services uses this to calculate your recommended reservation 11290 // purchases. 11291 AverageNumberOfInstancesUsedPerHour *string `type:"string"` 11292 11293 // The average utilization of your instances. Amazon Web Services uses this 11294 // to calculate your recommended reservation purchases. 11295 AverageUtilization *string `type:"string"` 11296 11297 // The currency code that Amazon Web Services used to calculate the costs for 11298 // this instance. 11299 CurrencyCode *string `type:"string"` 11300 11301 // How long Amazon Web Services estimates that it takes for this instance to 11302 // start saving you money, in months. 11303 EstimatedBreakEvenInMonths *string `type:"string"` 11304 11305 // How much Amazon Web Services estimates that you spend on On-Demand Instances 11306 // in a month. 11307 EstimatedMonthlyOnDemandCost *string `type:"string"` 11308 11309 // How much Amazon Web Services estimates that this specific recommendation 11310 // could save you in a month. 11311 EstimatedMonthlySavingsAmount *string `type:"string"` 11312 11313 // How much Amazon Web Services estimates that this specific recommendation 11314 // could save you in a month, as a percentage of your overall costs. 11315 EstimatedMonthlySavingsPercentage *string `type:"string"` 11316 11317 // How much Amazon Web Services estimates that you would have spent for all 11318 // usage during the specified historical period if you had a reservation. 11319 EstimatedReservationCostForLookbackPeriod *string `type:"string"` 11320 11321 // Details about the instances that Amazon Web Services recommends that you 11322 // purchase. 11323 InstanceDetails *InstanceDetails `type:"structure"` 11324 11325 // The maximum number of normalized units that you used in an hour during the 11326 // historical period. Amazon Web Services uses this to calculate your recommended 11327 // reservation purchases. 11328 MaximumNormalizedUnitsUsedPerHour *string `type:"string"` 11329 11330 // The maximum number of instances that you used in an hour during the historical 11331 // period. Amazon Web Services uses this to calculate your recommended reservation 11332 // purchases. 11333 MaximumNumberOfInstancesUsedPerHour *string `type:"string"` 11334 11335 // The minimum number of normalized units that you used in an hour during the 11336 // historical period. Amazon Web Services uses this to calculate your recommended 11337 // reservation purchases. 11338 MinimumNormalizedUnitsUsedPerHour *string `type:"string"` 11339 11340 // The minimum number of instances that you used in an hour during the historical 11341 // period. Amazon Web Services uses this to calculate your recommended reservation 11342 // purchases. 11343 MinimumNumberOfInstancesUsedPerHour *string `type:"string"` 11344 11345 // The number of normalized units that Amazon Web Services recommends that you 11346 // purchase. 11347 RecommendedNormalizedUnitsToPurchase *string `type:"string"` 11348 11349 // The number of instances that Amazon Web Services recommends that you purchase. 11350 RecommendedNumberOfInstancesToPurchase *string `type:"string"` 11351 11352 // How much purchasing this instance costs you on a monthly basis. 11353 RecurringStandardMonthlyCost *string `type:"string"` 11354 11355 // How much purchasing this instance costs you upfront. 11356 UpfrontCost *string `type:"string"` 11357} 11358 11359// String returns the string representation. 11360// 11361// API parameter values that are decorated as "sensitive" in the API will not 11362// be included in the string output. The member name will be present, but the 11363// value will be replaced with "sensitive". 11364func (s ReservationPurchaseRecommendationDetail) String() string { 11365 return awsutil.Prettify(s) 11366} 11367 11368// GoString returns the string representation. 11369// 11370// API parameter values that are decorated as "sensitive" in the API will not 11371// be included in the string output. The member name will be present, but the 11372// value will be replaced with "sensitive". 11373func (s ReservationPurchaseRecommendationDetail) GoString() string { 11374 return s.String() 11375} 11376 11377// SetAccountId sets the AccountId field's value. 11378func (s *ReservationPurchaseRecommendationDetail) SetAccountId(v string) *ReservationPurchaseRecommendationDetail { 11379 s.AccountId = &v 11380 return s 11381} 11382 11383// SetAverageNormalizedUnitsUsedPerHour sets the AverageNormalizedUnitsUsedPerHour field's value. 11384func (s *ReservationPurchaseRecommendationDetail) SetAverageNormalizedUnitsUsedPerHour(v string) *ReservationPurchaseRecommendationDetail { 11385 s.AverageNormalizedUnitsUsedPerHour = &v 11386 return s 11387} 11388 11389// SetAverageNumberOfInstancesUsedPerHour sets the AverageNumberOfInstancesUsedPerHour field's value. 11390func (s *ReservationPurchaseRecommendationDetail) SetAverageNumberOfInstancesUsedPerHour(v string) *ReservationPurchaseRecommendationDetail { 11391 s.AverageNumberOfInstancesUsedPerHour = &v 11392 return s 11393} 11394 11395// SetAverageUtilization sets the AverageUtilization field's value. 11396func (s *ReservationPurchaseRecommendationDetail) SetAverageUtilization(v string) *ReservationPurchaseRecommendationDetail { 11397 s.AverageUtilization = &v 11398 return s 11399} 11400 11401// SetCurrencyCode sets the CurrencyCode field's value. 11402func (s *ReservationPurchaseRecommendationDetail) SetCurrencyCode(v string) *ReservationPurchaseRecommendationDetail { 11403 s.CurrencyCode = &v 11404 return s 11405} 11406 11407// SetEstimatedBreakEvenInMonths sets the EstimatedBreakEvenInMonths field's value. 11408func (s *ReservationPurchaseRecommendationDetail) SetEstimatedBreakEvenInMonths(v string) *ReservationPurchaseRecommendationDetail { 11409 s.EstimatedBreakEvenInMonths = &v 11410 return s 11411} 11412 11413// SetEstimatedMonthlyOnDemandCost sets the EstimatedMonthlyOnDemandCost field's value. 11414func (s *ReservationPurchaseRecommendationDetail) SetEstimatedMonthlyOnDemandCost(v string) *ReservationPurchaseRecommendationDetail { 11415 s.EstimatedMonthlyOnDemandCost = &v 11416 return s 11417} 11418 11419// SetEstimatedMonthlySavingsAmount sets the EstimatedMonthlySavingsAmount field's value. 11420func (s *ReservationPurchaseRecommendationDetail) SetEstimatedMonthlySavingsAmount(v string) *ReservationPurchaseRecommendationDetail { 11421 s.EstimatedMonthlySavingsAmount = &v 11422 return s 11423} 11424 11425// SetEstimatedMonthlySavingsPercentage sets the EstimatedMonthlySavingsPercentage field's value. 11426func (s *ReservationPurchaseRecommendationDetail) SetEstimatedMonthlySavingsPercentage(v string) *ReservationPurchaseRecommendationDetail { 11427 s.EstimatedMonthlySavingsPercentage = &v 11428 return s 11429} 11430 11431// SetEstimatedReservationCostForLookbackPeriod sets the EstimatedReservationCostForLookbackPeriod field's value. 11432func (s *ReservationPurchaseRecommendationDetail) SetEstimatedReservationCostForLookbackPeriod(v string) *ReservationPurchaseRecommendationDetail { 11433 s.EstimatedReservationCostForLookbackPeriod = &v 11434 return s 11435} 11436 11437// SetInstanceDetails sets the InstanceDetails field's value. 11438func (s *ReservationPurchaseRecommendationDetail) SetInstanceDetails(v *InstanceDetails) *ReservationPurchaseRecommendationDetail { 11439 s.InstanceDetails = v 11440 return s 11441} 11442 11443// SetMaximumNormalizedUnitsUsedPerHour sets the MaximumNormalizedUnitsUsedPerHour field's value. 11444func (s *ReservationPurchaseRecommendationDetail) SetMaximumNormalizedUnitsUsedPerHour(v string) *ReservationPurchaseRecommendationDetail { 11445 s.MaximumNormalizedUnitsUsedPerHour = &v 11446 return s 11447} 11448 11449// SetMaximumNumberOfInstancesUsedPerHour sets the MaximumNumberOfInstancesUsedPerHour field's value. 11450func (s *ReservationPurchaseRecommendationDetail) SetMaximumNumberOfInstancesUsedPerHour(v string) *ReservationPurchaseRecommendationDetail { 11451 s.MaximumNumberOfInstancesUsedPerHour = &v 11452 return s 11453} 11454 11455// SetMinimumNormalizedUnitsUsedPerHour sets the MinimumNormalizedUnitsUsedPerHour field's value. 11456func (s *ReservationPurchaseRecommendationDetail) SetMinimumNormalizedUnitsUsedPerHour(v string) *ReservationPurchaseRecommendationDetail { 11457 s.MinimumNormalizedUnitsUsedPerHour = &v 11458 return s 11459} 11460 11461// SetMinimumNumberOfInstancesUsedPerHour sets the MinimumNumberOfInstancesUsedPerHour field's value. 11462func (s *ReservationPurchaseRecommendationDetail) SetMinimumNumberOfInstancesUsedPerHour(v string) *ReservationPurchaseRecommendationDetail { 11463 s.MinimumNumberOfInstancesUsedPerHour = &v 11464 return s 11465} 11466 11467// SetRecommendedNormalizedUnitsToPurchase sets the RecommendedNormalizedUnitsToPurchase field's value. 11468func (s *ReservationPurchaseRecommendationDetail) SetRecommendedNormalizedUnitsToPurchase(v string) *ReservationPurchaseRecommendationDetail { 11469 s.RecommendedNormalizedUnitsToPurchase = &v 11470 return s 11471} 11472 11473// SetRecommendedNumberOfInstancesToPurchase sets the RecommendedNumberOfInstancesToPurchase field's value. 11474func (s *ReservationPurchaseRecommendationDetail) SetRecommendedNumberOfInstancesToPurchase(v string) *ReservationPurchaseRecommendationDetail { 11475 s.RecommendedNumberOfInstancesToPurchase = &v 11476 return s 11477} 11478 11479// SetRecurringStandardMonthlyCost sets the RecurringStandardMonthlyCost field's value. 11480func (s *ReservationPurchaseRecommendationDetail) SetRecurringStandardMonthlyCost(v string) *ReservationPurchaseRecommendationDetail { 11481 s.RecurringStandardMonthlyCost = &v 11482 return s 11483} 11484 11485// SetUpfrontCost sets the UpfrontCost field's value. 11486func (s *ReservationPurchaseRecommendationDetail) SetUpfrontCost(v string) *ReservationPurchaseRecommendationDetail { 11487 s.UpfrontCost = &v 11488 return s 11489} 11490 11491// Information about this specific recommendation, such as the timestamp for 11492// when Amazon Web Services made a specific recommendation. 11493type ReservationPurchaseRecommendationMetadata struct { 11494 _ struct{} `type:"structure"` 11495 11496 // The timestamp for when Amazon Web Services made this recommendation. 11497 GenerationTimestamp *string `type:"string"` 11498 11499 // The ID for this specific recommendation. 11500 RecommendationId *string `type:"string"` 11501} 11502 11503// String returns the string representation. 11504// 11505// API parameter values that are decorated as "sensitive" in the API will not 11506// be included in the string output. The member name will be present, but the 11507// value will be replaced with "sensitive". 11508func (s ReservationPurchaseRecommendationMetadata) String() string { 11509 return awsutil.Prettify(s) 11510} 11511 11512// GoString returns the string representation. 11513// 11514// API parameter values that are decorated as "sensitive" in the API will not 11515// be included in the string output. The member name will be present, but the 11516// value will be replaced with "sensitive". 11517func (s ReservationPurchaseRecommendationMetadata) GoString() string { 11518 return s.String() 11519} 11520 11521// SetGenerationTimestamp sets the GenerationTimestamp field's value. 11522func (s *ReservationPurchaseRecommendationMetadata) SetGenerationTimestamp(v string) *ReservationPurchaseRecommendationMetadata { 11523 s.GenerationTimestamp = &v 11524 return s 11525} 11526 11527// SetRecommendationId sets the RecommendationId field's value. 11528func (s *ReservationPurchaseRecommendationMetadata) SetRecommendationId(v string) *ReservationPurchaseRecommendationMetadata { 11529 s.RecommendationId = &v 11530 return s 11531} 11532 11533// A summary about this recommendation, such as the currency code, the amount 11534// that Amazon Web Services estimates that you could save, and the total amount 11535// of reservation to purchase. 11536type ReservationPurchaseRecommendationSummary struct { 11537 _ struct{} `type:"structure"` 11538 11539 // The currency code used for this recommendation. 11540 CurrencyCode *string `type:"string"` 11541 11542 // The total amount that Amazon Web Services estimates that this recommendation 11543 // could save you in a month. 11544 TotalEstimatedMonthlySavingsAmount *string `type:"string"` 11545 11546 // The total amount that Amazon Web Services estimates that this recommendation 11547 // could save you in a month, as a percentage of your costs. 11548 TotalEstimatedMonthlySavingsPercentage *string `type:"string"` 11549} 11550 11551// String returns the string representation. 11552// 11553// API parameter values that are decorated as "sensitive" in the API will not 11554// be included in the string output. The member name will be present, but the 11555// value will be replaced with "sensitive". 11556func (s ReservationPurchaseRecommendationSummary) String() string { 11557 return awsutil.Prettify(s) 11558} 11559 11560// GoString returns the string representation. 11561// 11562// API parameter values that are decorated as "sensitive" in the API will not 11563// be included in the string output. The member name will be present, but the 11564// value will be replaced with "sensitive". 11565func (s ReservationPurchaseRecommendationSummary) GoString() string { 11566 return s.String() 11567} 11568 11569// SetCurrencyCode sets the CurrencyCode field's value. 11570func (s *ReservationPurchaseRecommendationSummary) SetCurrencyCode(v string) *ReservationPurchaseRecommendationSummary { 11571 s.CurrencyCode = &v 11572 return s 11573} 11574 11575// SetTotalEstimatedMonthlySavingsAmount sets the TotalEstimatedMonthlySavingsAmount field's value. 11576func (s *ReservationPurchaseRecommendationSummary) SetTotalEstimatedMonthlySavingsAmount(v string) *ReservationPurchaseRecommendationSummary { 11577 s.TotalEstimatedMonthlySavingsAmount = &v 11578 return s 11579} 11580 11581// SetTotalEstimatedMonthlySavingsPercentage sets the TotalEstimatedMonthlySavingsPercentage field's value. 11582func (s *ReservationPurchaseRecommendationSummary) SetTotalEstimatedMonthlySavingsPercentage(v string) *ReservationPurchaseRecommendationSummary { 11583 s.TotalEstimatedMonthlySavingsPercentage = &v 11584 return s 11585} 11586 11587// A group of reservations that share a set of attributes. 11588type ReservationUtilizationGroup struct { 11589 _ struct{} `type:"structure"` 11590 11591 // The attributes for this group of reservations. 11592 Attributes map[string]*string `type:"map"` 11593 11594 // The key for a specific reservation attribute. 11595 Key *string `type:"string"` 11596 11597 // How much you used this group of reservations. 11598 Utilization *ReservationAggregates `type:"structure"` 11599 11600 // The value of a specific reservation attribute. 11601 Value *string `type:"string"` 11602} 11603 11604// String returns the string representation. 11605// 11606// API parameter values that are decorated as "sensitive" in the API will not 11607// be included in the string output. The member name will be present, but the 11608// value will be replaced with "sensitive". 11609func (s ReservationUtilizationGroup) String() string { 11610 return awsutil.Prettify(s) 11611} 11612 11613// GoString returns the string representation. 11614// 11615// API parameter values that are decorated as "sensitive" in the API will not 11616// be included in the string output. The member name will be present, but the 11617// value will be replaced with "sensitive". 11618func (s ReservationUtilizationGroup) GoString() string { 11619 return s.String() 11620} 11621 11622// SetAttributes sets the Attributes field's value. 11623func (s *ReservationUtilizationGroup) SetAttributes(v map[string]*string) *ReservationUtilizationGroup { 11624 s.Attributes = v 11625 return s 11626} 11627 11628// SetKey sets the Key field's value. 11629func (s *ReservationUtilizationGroup) SetKey(v string) *ReservationUtilizationGroup { 11630 s.Key = &v 11631 return s 11632} 11633 11634// SetUtilization sets the Utilization field's value. 11635func (s *ReservationUtilizationGroup) SetUtilization(v *ReservationAggregates) *ReservationUtilizationGroup { 11636 s.Utilization = v 11637 return s 11638} 11639 11640// SetValue sets the Value field's value. 11641func (s *ReservationUtilizationGroup) SetValue(v string) *ReservationUtilizationGroup { 11642 s.Value = &v 11643 return s 11644} 11645 11646// Details on the resource. 11647type ResourceDetails struct { 11648 _ struct{} `type:"structure"` 11649 11650 // Details on the Amazon EC2 resource. 11651 EC2ResourceDetails *EC2ResourceDetails `type:"structure"` 11652} 11653 11654// String returns the string representation. 11655// 11656// API parameter values that are decorated as "sensitive" in the API will not 11657// be included in the string output. The member name will be present, but the 11658// value will be replaced with "sensitive". 11659func (s ResourceDetails) String() string { 11660 return awsutil.Prettify(s) 11661} 11662 11663// GoString returns the string representation. 11664// 11665// API parameter values that are decorated as "sensitive" in the API will not 11666// be included in the string output. The member name will be present, but the 11667// value will be replaced with "sensitive". 11668func (s ResourceDetails) GoString() string { 11669 return s.String() 11670} 11671 11672// SetEC2ResourceDetails sets the EC2ResourceDetails field's value. 11673func (s *ResourceDetails) SetEC2ResourceDetails(v *EC2ResourceDetails) *ResourceDetails { 11674 s.EC2ResourceDetails = v 11675 return s 11676} 11677 11678// The specified ARN in the request doesn't exist. 11679type ResourceNotFoundException struct { 11680 _ struct{} `type:"structure"` 11681 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 11682 11683 Message_ *string `locationName:"Message" type:"string"` 11684} 11685 11686// String returns the string representation. 11687// 11688// API parameter values that are decorated as "sensitive" in the API will not 11689// be included in the string output. The member name will be present, but the 11690// value will be replaced with "sensitive". 11691func (s ResourceNotFoundException) String() string { 11692 return awsutil.Prettify(s) 11693} 11694 11695// GoString returns the string representation. 11696// 11697// API parameter values that are decorated as "sensitive" in the API will not 11698// be included in the string output. The member name will be present, but the 11699// value will be replaced with "sensitive". 11700func (s ResourceNotFoundException) GoString() string { 11701 return s.String() 11702} 11703 11704func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error { 11705 return &ResourceNotFoundException{ 11706 RespMetadata: v, 11707 } 11708} 11709 11710// Code returns the exception type name. 11711func (s *ResourceNotFoundException) Code() string { 11712 return "ResourceNotFoundException" 11713} 11714 11715// Message returns the exception's message. 11716func (s *ResourceNotFoundException) Message() string { 11717 if s.Message_ != nil { 11718 return *s.Message_ 11719 } 11720 return "" 11721} 11722 11723// OrigErr always returns nil, satisfies awserr.Error interface. 11724func (s *ResourceNotFoundException) OrigErr() error { 11725 return nil 11726} 11727 11728func (s *ResourceNotFoundException) Error() string { 11729 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 11730} 11731 11732// Status code returns the HTTP status code for the request's response error. 11733func (s *ResourceNotFoundException) StatusCode() int { 11734 return s.RespMetadata.StatusCode 11735} 11736 11737// RequestID returns the service's response RequestID for request. 11738func (s *ResourceNotFoundException) RequestID() string { 11739 return s.RespMetadata.RequestID 11740} 11741 11742// Resource utilization of current resource. 11743type ResourceUtilization struct { 11744 _ struct{} `type:"structure"` 11745 11746 // The utilization of current Amazon EC2 instance. 11747 EC2ResourceUtilization *EC2ResourceUtilization `type:"structure"` 11748} 11749 11750// String returns the string representation. 11751// 11752// API parameter values that are decorated as "sensitive" in the API will not 11753// be included in the string output. The member name will be present, but the 11754// value will be replaced with "sensitive". 11755func (s ResourceUtilization) String() string { 11756 return awsutil.Prettify(s) 11757} 11758 11759// GoString returns the string representation. 11760// 11761// API parameter values that are decorated as "sensitive" in the API will not 11762// be included in the string output. The member name will be present, but the 11763// value will be replaced with "sensitive". 11764func (s ResourceUtilization) GoString() string { 11765 return s.String() 11766} 11767 11768// SetEC2ResourceUtilization sets the EC2ResourceUtilization field's value. 11769func (s *ResourceUtilization) SetEC2ResourceUtilization(v *EC2ResourceUtilization) *ResourceUtilization { 11770 s.EC2ResourceUtilization = v 11771 return s 11772} 11773 11774// The result that's associated with a time period. 11775type ResultByTime struct { 11776 _ struct{} `type:"structure"` 11777 11778 // Determines whether the result is estimated. 11779 Estimated *bool `type:"boolean"` 11780 11781 // The groups that this time period includes. 11782 Groups []*Group `type:"list"` 11783 11784 // The time period that the result covers. 11785 TimePeriod *DateInterval `type:"structure"` 11786 11787 // The total amount of cost or usage accrued during the time period. 11788 Total map[string]*MetricValue `type:"map"` 11789} 11790 11791// String returns the string representation. 11792// 11793// API parameter values that are decorated as "sensitive" in the API will not 11794// be included in the string output. The member name will be present, but the 11795// value will be replaced with "sensitive". 11796func (s ResultByTime) String() string { 11797 return awsutil.Prettify(s) 11798} 11799 11800// GoString returns the string representation. 11801// 11802// API parameter values that are decorated as "sensitive" in the API will not 11803// be included in the string output. The member name will be present, but the 11804// value will be replaced with "sensitive". 11805func (s ResultByTime) GoString() string { 11806 return s.String() 11807} 11808 11809// SetEstimated sets the Estimated field's value. 11810func (s *ResultByTime) SetEstimated(v bool) *ResultByTime { 11811 s.Estimated = &v 11812 return s 11813} 11814 11815// SetGroups sets the Groups field's value. 11816func (s *ResultByTime) SetGroups(v []*Group) *ResultByTime { 11817 s.Groups = v 11818 return s 11819} 11820 11821// SetTimePeriod sets the TimePeriod field's value. 11822func (s *ResultByTime) SetTimePeriod(v *DateInterval) *ResultByTime { 11823 s.TimePeriod = v 11824 return s 11825} 11826 11827// SetTotal sets the Total field's value. 11828func (s *ResultByTime) SetTotal(v map[string]*MetricValue) *ResultByTime { 11829 s.Total = v 11830 return s 11831} 11832 11833// Recommendations to rightsize resources. 11834type RightsizingRecommendation struct { 11835 _ struct{} `type:"structure"` 11836 11837 // The account that this recommendation is for. 11838 AccountId *string `type:"string"` 11839 11840 // Context regarding the current instance. 11841 CurrentInstance *CurrentInstance `type:"structure"` 11842 11843 // The list of possible reasons why the recommendation is generated such as 11844 // under or over utilization of specific metrics (for example, CPU, Memory, 11845 // Network). 11846 FindingReasonCodes []*string `type:"list"` 11847 11848 // The details for the modification recommendations. 11849 ModifyRecommendationDetail *ModifyRecommendationDetail `type:"structure"` 11850 11851 // A recommendation to either terminate or modify the resource. 11852 RightsizingType *string `type:"string" enum:"RightsizingType"` 11853 11854 // The details for termination recommendations. 11855 TerminateRecommendationDetail *TerminateRecommendationDetail `type:"structure"` 11856} 11857 11858// String returns the string representation. 11859// 11860// API parameter values that are decorated as "sensitive" in the API will not 11861// be included in the string output. The member name will be present, but the 11862// value will be replaced with "sensitive". 11863func (s RightsizingRecommendation) String() string { 11864 return awsutil.Prettify(s) 11865} 11866 11867// GoString returns the string representation. 11868// 11869// API parameter values that are decorated as "sensitive" in the API will not 11870// be included in the string output. The member name will be present, but the 11871// value will be replaced with "sensitive". 11872func (s RightsizingRecommendation) GoString() string { 11873 return s.String() 11874} 11875 11876// SetAccountId sets the AccountId field's value. 11877func (s *RightsizingRecommendation) SetAccountId(v string) *RightsizingRecommendation { 11878 s.AccountId = &v 11879 return s 11880} 11881 11882// SetCurrentInstance sets the CurrentInstance field's value. 11883func (s *RightsizingRecommendation) SetCurrentInstance(v *CurrentInstance) *RightsizingRecommendation { 11884 s.CurrentInstance = v 11885 return s 11886} 11887 11888// SetFindingReasonCodes sets the FindingReasonCodes field's value. 11889func (s *RightsizingRecommendation) SetFindingReasonCodes(v []*string) *RightsizingRecommendation { 11890 s.FindingReasonCodes = v 11891 return s 11892} 11893 11894// SetModifyRecommendationDetail sets the ModifyRecommendationDetail field's value. 11895func (s *RightsizingRecommendation) SetModifyRecommendationDetail(v *ModifyRecommendationDetail) *RightsizingRecommendation { 11896 s.ModifyRecommendationDetail = v 11897 return s 11898} 11899 11900// SetRightsizingType sets the RightsizingType field's value. 11901func (s *RightsizingRecommendation) SetRightsizingType(v string) *RightsizingRecommendation { 11902 s.RightsizingType = &v 11903 return s 11904} 11905 11906// SetTerminateRecommendationDetail sets the TerminateRecommendationDetail field's value. 11907func (s *RightsizingRecommendation) SetTerminateRecommendationDetail(v *TerminateRecommendationDetail) *RightsizingRecommendation { 11908 s.TerminateRecommendationDetail = v 11909 return s 11910} 11911 11912// You can use RightsizingRecommendationConfiguration to customize recommendations 11913// across two attributes. You can choose to view recommendations for instances 11914// within the same instance families or across different instance families. 11915// You can also choose to view your estimated savings that are associated with 11916// recommendations with consideration of existing Savings Plans or RI benefits, 11917// or neither. 11918type RightsizingRecommendationConfiguration struct { 11919 _ struct{} `type:"structure"` 11920 11921 // The option to consider RI or Savings Plans discount benefits in your savings 11922 // calculation. The default value is TRUE. 11923 // 11924 // BenefitsConsidered is a required field 11925 BenefitsConsidered *bool `type:"boolean" required:"true"` 11926 11927 // The option to see recommendations within the same instance family or recommendations 11928 // for instances across other families. The default value is SAME_INSTANCE_FAMILY. 11929 // 11930 // RecommendationTarget is a required field 11931 RecommendationTarget *string `type:"string" required:"true" enum:"RecommendationTarget"` 11932} 11933 11934// String returns the string representation. 11935// 11936// API parameter values that are decorated as "sensitive" in the API will not 11937// be included in the string output. The member name will be present, but the 11938// value will be replaced with "sensitive". 11939func (s RightsizingRecommendationConfiguration) String() string { 11940 return awsutil.Prettify(s) 11941} 11942 11943// GoString returns the string representation. 11944// 11945// API parameter values that are decorated as "sensitive" in the API will not 11946// be included in the string output. The member name will be present, but the 11947// value will be replaced with "sensitive". 11948func (s RightsizingRecommendationConfiguration) GoString() string { 11949 return s.String() 11950} 11951 11952// Validate inspects the fields of the type to determine if they are valid. 11953func (s *RightsizingRecommendationConfiguration) Validate() error { 11954 invalidParams := request.ErrInvalidParams{Context: "RightsizingRecommendationConfiguration"} 11955 if s.BenefitsConsidered == nil { 11956 invalidParams.Add(request.NewErrParamRequired("BenefitsConsidered")) 11957 } 11958 if s.RecommendationTarget == nil { 11959 invalidParams.Add(request.NewErrParamRequired("RecommendationTarget")) 11960 } 11961 11962 if invalidParams.Len() > 0 { 11963 return invalidParams 11964 } 11965 return nil 11966} 11967 11968// SetBenefitsConsidered sets the BenefitsConsidered field's value. 11969func (s *RightsizingRecommendationConfiguration) SetBenefitsConsidered(v bool) *RightsizingRecommendationConfiguration { 11970 s.BenefitsConsidered = &v 11971 return s 11972} 11973 11974// SetRecommendationTarget sets the RecommendationTarget field's value. 11975func (s *RightsizingRecommendationConfiguration) SetRecommendationTarget(v string) *RightsizingRecommendationConfiguration { 11976 s.RecommendationTarget = &v 11977 return s 11978} 11979 11980// Metadata for this recommendation set. 11981type RightsizingRecommendationMetadata struct { 11982 _ struct{} `type:"structure"` 11983 11984 // Additional metadata that might be applicable to the recommendation. 11985 AdditionalMetadata *string `type:"string"` 11986 11987 // The timestamp for when Amazon Web Services made this recommendation. 11988 GenerationTimestamp *string `type:"string"` 11989 11990 // The number of days of previous usage that Amazon Web Services considers when 11991 // making this recommendation. 11992 LookbackPeriodInDays *string `type:"string" enum:"LookbackPeriodInDays"` 11993 11994 // The ID for this specific recommendation. 11995 RecommendationId *string `type:"string"` 11996} 11997 11998// String returns the string representation. 11999// 12000// API parameter values that are decorated as "sensitive" in the API will not 12001// be included in the string output. The member name will be present, but the 12002// value will be replaced with "sensitive". 12003func (s RightsizingRecommendationMetadata) String() string { 12004 return awsutil.Prettify(s) 12005} 12006 12007// GoString returns the string representation. 12008// 12009// API parameter values that are decorated as "sensitive" in the API will not 12010// be included in the string output. The member name will be present, but the 12011// value will be replaced with "sensitive". 12012func (s RightsizingRecommendationMetadata) GoString() string { 12013 return s.String() 12014} 12015 12016// SetAdditionalMetadata sets the AdditionalMetadata field's value. 12017func (s *RightsizingRecommendationMetadata) SetAdditionalMetadata(v string) *RightsizingRecommendationMetadata { 12018 s.AdditionalMetadata = &v 12019 return s 12020} 12021 12022// SetGenerationTimestamp sets the GenerationTimestamp field's value. 12023func (s *RightsizingRecommendationMetadata) SetGenerationTimestamp(v string) *RightsizingRecommendationMetadata { 12024 s.GenerationTimestamp = &v 12025 return s 12026} 12027 12028// SetLookbackPeriodInDays sets the LookbackPeriodInDays field's value. 12029func (s *RightsizingRecommendationMetadata) SetLookbackPeriodInDays(v string) *RightsizingRecommendationMetadata { 12030 s.LookbackPeriodInDays = &v 12031 return s 12032} 12033 12034// SetRecommendationId sets the RecommendationId field's value. 12035func (s *RightsizingRecommendationMetadata) SetRecommendationId(v string) *RightsizingRecommendationMetadata { 12036 s.RecommendationId = &v 12037 return s 12038} 12039 12040// The summary of rightsizing recommendations 12041type RightsizingRecommendationSummary struct { 12042 _ struct{} `type:"structure"` 12043 12044 // The estimated total savings resulting from modifications, on a monthly basis. 12045 EstimatedTotalMonthlySavingsAmount *string `type:"string"` 12046 12047 // The currency code that Amazon Web Services used to calculate the savings. 12048 SavingsCurrencyCode *string `type:"string"` 12049 12050 // The savings percentage based on the recommended modifications. It's relative 12051 // to the total On-Demand costs that are associated with these instances. 12052 SavingsPercentage *string `type:"string"` 12053 12054 // The total number of instance recommendations. 12055 TotalRecommendationCount *string `type:"string"` 12056} 12057 12058// String returns the string representation. 12059// 12060// API parameter values that are decorated as "sensitive" in the API will not 12061// be included in the string output. The member name will be present, but the 12062// value will be replaced with "sensitive". 12063func (s RightsizingRecommendationSummary) String() string { 12064 return awsutil.Prettify(s) 12065} 12066 12067// GoString returns the string representation. 12068// 12069// API parameter values that are decorated as "sensitive" in the API will not 12070// be included in the string output. The member name will be present, but the 12071// value will be replaced with "sensitive". 12072func (s RightsizingRecommendationSummary) GoString() string { 12073 return s.String() 12074} 12075 12076// SetEstimatedTotalMonthlySavingsAmount sets the EstimatedTotalMonthlySavingsAmount field's value. 12077func (s *RightsizingRecommendationSummary) SetEstimatedTotalMonthlySavingsAmount(v string) *RightsizingRecommendationSummary { 12078 s.EstimatedTotalMonthlySavingsAmount = &v 12079 return s 12080} 12081 12082// SetSavingsCurrencyCode sets the SavingsCurrencyCode field's value. 12083func (s *RightsizingRecommendationSummary) SetSavingsCurrencyCode(v string) *RightsizingRecommendationSummary { 12084 s.SavingsCurrencyCode = &v 12085 return s 12086} 12087 12088// SetSavingsPercentage sets the SavingsPercentage field's value. 12089func (s *RightsizingRecommendationSummary) SetSavingsPercentage(v string) *RightsizingRecommendationSummary { 12090 s.SavingsPercentage = &v 12091 return s 12092} 12093 12094// SetTotalRecommendationCount sets the TotalRecommendationCount field's value. 12095func (s *RightsizingRecommendationSummary) SetTotalRecommendationCount(v string) *RightsizingRecommendationSummary { 12096 s.TotalRecommendationCount = &v 12097 return s 12098} 12099 12100// The combination of Amazon Web Services service, linked account, Region, and 12101// usage type where a cost anomaly is observed. 12102type RootCause struct { 12103 _ struct{} `type:"structure"` 12104 12105 // The member account value that's associated with the cost anomaly. 12106 LinkedAccount *string `type:"string"` 12107 12108 // The Amazon Web Services Region that's associated with the cost anomaly. 12109 Region *string `type:"string"` 12110 12111 // The Amazon Web Services service name that's associated with the cost anomaly. 12112 Service *string `type:"string"` 12113 12114 // The UsageType value that's associated with the cost anomaly. 12115 UsageType *string `type:"string"` 12116} 12117 12118// String returns the string representation. 12119// 12120// API parameter values that are decorated as "sensitive" in the API will not 12121// be included in the string output. The member name will be present, but the 12122// value will be replaced with "sensitive". 12123func (s RootCause) String() string { 12124 return awsutil.Prettify(s) 12125} 12126 12127// GoString returns the string representation. 12128// 12129// API parameter values that are decorated as "sensitive" in the API will not 12130// be included in the string output. The member name will be present, but the 12131// value will be replaced with "sensitive". 12132func (s RootCause) GoString() string { 12133 return s.String() 12134} 12135 12136// SetLinkedAccount sets the LinkedAccount field's value. 12137func (s *RootCause) SetLinkedAccount(v string) *RootCause { 12138 s.LinkedAccount = &v 12139 return s 12140} 12141 12142// SetRegion sets the Region field's value. 12143func (s *RootCause) SetRegion(v string) *RootCause { 12144 s.Region = &v 12145 return s 12146} 12147 12148// SetService sets the Service field's value. 12149func (s *RootCause) SetService(v string) *RootCause { 12150 s.Service = &v 12151 return s 12152} 12153 12154// SetUsageType sets the UsageType field's value. 12155func (s *RootCause) SetUsageType(v string) *RootCause { 12156 s.UsageType = &v 12157 return s 12158} 12159 12160// The amortized amount of Savings Plans purchased in a specific account during 12161// a specific time interval. 12162type SavingsPlansAmortizedCommitment struct { 12163 _ struct{} `type:"structure"` 12164 12165 // The amortized amount of your Savings Plans commitment that was purchased 12166 // with either a Partial or a NoUpfront. 12167 AmortizedRecurringCommitment *string `type:"string"` 12168 12169 // The amortized amount of your Savings Plans commitment that was purchased 12170 // with an Upfront or PartialUpfront Savings Plans. 12171 AmortizedUpfrontCommitment *string `type:"string"` 12172 12173 // The total amortized amount of your Savings Plans commitment, regardless of 12174 // your Savings Plans purchase method. 12175 TotalAmortizedCommitment *string `type:"string"` 12176} 12177 12178// String returns the string representation. 12179// 12180// API parameter values that are decorated as "sensitive" in the API will not 12181// be included in the string output. The member name will be present, but the 12182// value will be replaced with "sensitive". 12183func (s SavingsPlansAmortizedCommitment) String() string { 12184 return awsutil.Prettify(s) 12185} 12186 12187// GoString returns the string representation. 12188// 12189// API parameter values that are decorated as "sensitive" in the API will not 12190// be included in the string output. The member name will be present, but the 12191// value will be replaced with "sensitive". 12192func (s SavingsPlansAmortizedCommitment) GoString() string { 12193 return s.String() 12194} 12195 12196// SetAmortizedRecurringCommitment sets the AmortizedRecurringCommitment field's value. 12197func (s *SavingsPlansAmortizedCommitment) SetAmortizedRecurringCommitment(v string) *SavingsPlansAmortizedCommitment { 12198 s.AmortizedRecurringCommitment = &v 12199 return s 12200} 12201 12202// SetAmortizedUpfrontCommitment sets the AmortizedUpfrontCommitment field's value. 12203func (s *SavingsPlansAmortizedCommitment) SetAmortizedUpfrontCommitment(v string) *SavingsPlansAmortizedCommitment { 12204 s.AmortizedUpfrontCommitment = &v 12205 return s 12206} 12207 12208// SetTotalAmortizedCommitment sets the TotalAmortizedCommitment field's value. 12209func (s *SavingsPlansAmortizedCommitment) SetTotalAmortizedCommitment(v string) *SavingsPlansAmortizedCommitment { 12210 s.TotalAmortizedCommitment = &v 12211 return s 12212} 12213 12214// The amount of Savings Plans eligible usage that is covered by Savings Plans. 12215// All calculations consider the On-Demand equivalent of your Savings Plans 12216// usage. 12217type SavingsPlansCoverage struct { 12218 _ struct{} `type:"structure"` 12219 12220 // The attribute that applies to a specific Dimension. 12221 Attributes map[string]*string `type:"map"` 12222 12223 // The amount of Savings Plans eligible usage that the Savings Plans covered. 12224 Coverage *SavingsPlansCoverageData `type:"structure"` 12225 12226 // The time period of the request. 12227 TimePeriod *DateInterval `type:"structure"` 12228} 12229 12230// String returns the string representation. 12231// 12232// API parameter values that are decorated as "sensitive" in the API will not 12233// be included in the string output. The member name will be present, but the 12234// value will be replaced with "sensitive". 12235func (s SavingsPlansCoverage) String() string { 12236 return awsutil.Prettify(s) 12237} 12238 12239// GoString returns the string representation. 12240// 12241// API parameter values that are decorated as "sensitive" in the API will not 12242// be included in the string output. The member name will be present, but the 12243// value will be replaced with "sensitive". 12244func (s SavingsPlansCoverage) GoString() string { 12245 return s.String() 12246} 12247 12248// SetAttributes sets the Attributes field's value. 12249func (s *SavingsPlansCoverage) SetAttributes(v map[string]*string) *SavingsPlansCoverage { 12250 s.Attributes = v 12251 return s 12252} 12253 12254// SetCoverage sets the Coverage field's value. 12255func (s *SavingsPlansCoverage) SetCoverage(v *SavingsPlansCoverageData) *SavingsPlansCoverage { 12256 s.Coverage = v 12257 return s 12258} 12259 12260// SetTimePeriod sets the TimePeriod field's value. 12261func (s *SavingsPlansCoverage) SetTimePeriod(v *DateInterval) *SavingsPlansCoverage { 12262 s.TimePeriod = v 12263 return s 12264} 12265 12266// Specific coverage percentage, On-Demand costs, and spend covered by Savings 12267// Plans, and total Savings Plans costs for an account. 12268type SavingsPlansCoverageData struct { 12269 _ struct{} `type:"structure"` 12270 12271 // The percentage of your existing Savings Plans covered usage, divided by all 12272 // of your eligible Savings Plans usage in an account (or set of accounts). 12273 CoveragePercentage *string `type:"string"` 12274 12275 // The cost of your Amazon Web Services usage at the public On-Demand rate. 12276 OnDemandCost *string `type:"string"` 12277 12278 // The amount of your Amazon Web Services usage that is covered by a Savings 12279 // Plans. 12280 SpendCoveredBySavingsPlans *string `type:"string"` 12281 12282 // The total cost of your Amazon Web Services usage, regardless of your purchase 12283 // option. 12284 TotalCost *string `type:"string"` 12285} 12286 12287// String returns the string representation. 12288// 12289// API parameter values that are decorated as "sensitive" in the API will not 12290// be included in the string output. The member name will be present, but the 12291// value will be replaced with "sensitive". 12292func (s SavingsPlansCoverageData) String() string { 12293 return awsutil.Prettify(s) 12294} 12295 12296// GoString returns the string representation. 12297// 12298// API parameter values that are decorated as "sensitive" in the API will not 12299// be included in the string output. The member name will be present, but the 12300// value will be replaced with "sensitive". 12301func (s SavingsPlansCoverageData) GoString() string { 12302 return s.String() 12303} 12304 12305// SetCoveragePercentage sets the CoveragePercentage field's value. 12306func (s *SavingsPlansCoverageData) SetCoveragePercentage(v string) *SavingsPlansCoverageData { 12307 s.CoveragePercentage = &v 12308 return s 12309} 12310 12311// SetOnDemandCost sets the OnDemandCost field's value. 12312func (s *SavingsPlansCoverageData) SetOnDemandCost(v string) *SavingsPlansCoverageData { 12313 s.OnDemandCost = &v 12314 return s 12315} 12316 12317// SetSpendCoveredBySavingsPlans sets the SpendCoveredBySavingsPlans field's value. 12318func (s *SavingsPlansCoverageData) SetSpendCoveredBySavingsPlans(v string) *SavingsPlansCoverageData { 12319 s.SpendCoveredBySavingsPlans = &v 12320 return s 12321} 12322 12323// SetTotalCost sets the TotalCost field's value. 12324func (s *SavingsPlansCoverageData) SetTotalCost(v string) *SavingsPlansCoverageData { 12325 s.TotalCost = &v 12326 return s 12327} 12328 12329// The attribute details on a specific Savings Plan. 12330type SavingsPlansDetails struct { 12331 _ struct{} `type:"structure"` 12332 12333 // A group of instance types that Savings Plans applies to. 12334 InstanceFamily *string `type:"string"` 12335 12336 // The unique ID that's used to distinguish Savings Plans from one another. 12337 OfferingId *string `type:"string"` 12338 12339 // A collection of Amazon Web Services resources in a geographic area. Each 12340 // Amazon Web Services Region is isolated and independent of the other Regions. 12341 Region *string `type:"string"` 12342} 12343 12344// String returns the string representation. 12345// 12346// API parameter values that are decorated as "sensitive" in the API will not 12347// be included in the string output. The member name will be present, but the 12348// value will be replaced with "sensitive". 12349func (s SavingsPlansDetails) String() string { 12350 return awsutil.Prettify(s) 12351} 12352 12353// GoString returns the string representation. 12354// 12355// API parameter values that are decorated as "sensitive" in the API will not 12356// be included in the string output. The member name will be present, but the 12357// value will be replaced with "sensitive". 12358func (s SavingsPlansDetails) GoString() string { 12359 return s.String() 12360} 12361 12362// SetInstanceFamily sets the InstanceFamily field's value. 12363func (s *SavingsPlansDetails) SetInstanceFamily(v string) *SavingsPlansDetails { 12364 s.InstanceFamily = &v 12365 return s 12366} 12367 12368// SetOfferingId sets the OfferingId field's value. 12369func (s *SavingsPlansDetails) SetOfferingId(v string) *SavingsPlansDetails { 12370 s.OfferingId = &v 12371 return s 12372} 12373 12374// SetRegion sets the Region field's value. 12375func (s *SavingsPlansDetails) SetRegion(v string) *SavingsPlansDetails { 12376 s.Region = &v 12377 return s 12378} 12379 12380// Contains your request parameters, Savings Plan Recommendations Summary, and 12381// Details. 12382type SavingsPlansPurchaseRecommendation struct { 12383 _ struct{} `type:"structure"` 12384 12385 // The account scope that you want your recommendations for. Amazon Web Services 12386 // calculates recommendations that include the management account and member 12387 // accounts if the value is set to PAYER. If the value is LINKED, recommendations 12388 // are calculated for individual member accounts only. 12389 AccountScope *string `type:"string" enum:"AccountScope"` 12390 12391 // The lookback period in days, used to generate the recommendation. 12392 LookbackPeriodInDays *string `type:"string" enum:"LookbackPeriodInDays"` 12393 12394 // The payment option used to generate the recommendation. 12395 PaymentOption *string `type:"string" enum:"PaymentOption"` 12396 12397 // Details for the Savings Plans we recommend that you purchase to cover existing 12398 // Savings Plans eligible workloads. 12399 SavingsPlansPurchaseRecommendationDetails []*SavingsPlansPurchaseRecommendationDetail `type:"list"` 12400 12401 // Summary metrics for your Savings Plans Recommendations. 12402 SavingsPlansPurchaseRecommendationSummary *SavingsPlansPurchaseRecommendationSummary `type:"structure"` 12403 12404 // The requested Savings Plans recommendation type. 12405 SavingsPlansType *string `type:"string" enum:"SupportedSavingsPlansType"` 12406 12407 // The Savings Plans recommendation term in years. It's used to generate the 12408 // recommendation. 12409 TermInYears *string `type:"string" enum:"TermInYears"` 12410} 12411 12412// String returns the string representation. 12413// 12414// API parameter values that are decorated as "sensitive" in the API will not 12415// be included in the string output. The member name will be present, but the 12416// value will be replaced with "sensitive". 12417func (s SavingsPlansPurchaseRecommendation) String() string { 12418 return awsutil.Prettify(s) 12419} 12420 12421// GoString returns the string representation. 12422// 12423// API parameter values that are decorated as "sensitive" in the API will not 12424// be included in the string output. The member name will be present, but the 12425// value will be replaced with "sensitive". 12426func (s SavingsPlansPurchaseRecommendation) GoString() string { 12427 return s.String() 12428} 12429 12430// SetAccountScope sets the AccountScope field's value. 12431func (s *SavingsPlansPurchaseRecommendation) SetAccountScope(v string) *SavingsPlansPurchaseRecommendation { 12432 s.AccountScope = &v 12433 return s 12434} 12435 12436// SetLookbackPeriodInDays sets the LookbackPeriodInDays field's value. 12437func (s *SavingsPlansPurchaseRecommendation) SetLookbackPeriodInDays(v string) *SavingsPlansPurchaseRecommendation { 12438 s.LookbackPeriodInDays = &v 12439 return s 12440} 12441 12442// SetPaymentOption sets the PaymentOption field's value. 12443func (s *SavingsPlansPurchaseRecommendation) SetPaymentOption(v string) *SavingsPlansPurchaseRecommendation { 12444 s.PaymentOption = &v 12445 return s 12446} 12447 12448// SetSavingsPlansPurchaseRecommendationDetails sets the SavingsPlansPurchaseRecommendationDetails field's value. 12449func (s *SavingsPlansPurchaseRecommendation) SetSavingsPlansPurchaseRecommendationDetails(v []*SavingsPlansPurchaseRecommendationDetail) *SavingsPlansPurchaseRecommendation { 12450 s.SavingsPlansPurchaseRecommendationDetails = v 12451 return s 12452} 12453 12454// SetSavingsPlansPurchaseRecommendationSummary sets the SavingsPlansPurchaseRecommendationSummary field's value. 12455func (s *SavingsPlansPurchaseRecommendation) SetSavingsPlansPurchaseRecommendationSummary(v *SavingsPlansPurchaseRecommendationSummary) *SavingsPlansPurchaseRecommendation { 12456 s.SavingsPlansPurchaseRecommendationSummary = v 12457 return s 12458} 12459 12460// SetSavingsPlansType sets the SavingsPlansType field's value. 12461func (s *SavingsPlansPurchaseRecommendation) SetSavingsPlansType(v string) *SavingsPlansPurchaseRecommendation { 12462 s.SavingsPlansType = &v 12463 return s 12464} 12465 12466// SetTermInYears sets the TermInYears field's value. 12467func (s *SavingsPlansPurchaseRecommendation) SetTermInYears(v string) *SavingsPlansPurchaseRecommendation { 12468 s.TermInYears = &v 12469 return s 12470} 12471 12472// Details for your recommended Savings Plans. 12473type SavingsPlansPurchaseRecommendationDetail struct { 12474 _ struct{} `type:"structure"` 12475 12476 // The AccountID the recommendation is generated for. 12477 AccountId *string `type:"string"` 12478 12479 // The currency code that Amazon Web Services used to generate the recommendations 12480 // and present potential savings. 12481 CurrencyCode *string `type:"string"` 12482 12483 // The average value of hourly On-Demand spend over the lookback period of the 12484 // applicable usage type. 12485 CurrentAverageHourlyOnDemandSpend *string `type:"string"` 12486 12487 // The highest value of hourly On-Demand spend over the lookback period of the 12488 // applicable usage type. 12489 CurrentMaximumHourlyOnDemandSpend *string `type:"string"` 12490 12491 // The lowest value of hourly On-Demand spend over the lookback period of the 12492 // applicable usage type. 12493 CurrentMinimumHourlyOnDemandSpend *string `type:"string"` 12494 12495 // The estimated utilization of the recommended Savings Plans. 12496 EstimatedAverageUtilization *string `type:"string"` 12497 12498 // The estimated monthly savings amount based on the recommended Savings Plans. 12499 EstimatedMonthlySavingsAmount *string `type:"string"` 12500 12501 // The remaining On-Demand cost estimated to not be covered by the recommended 12502 // Savings Plans, over the length of the lookback period. 12503 EstimatedOnDemandCost *string `type:"string"` 12504 12505 // The estimated On-Demand costs you would expect with no additional commitment, 12506 // based on your usage of the selected time period and the Savings Plans you 12507 // own. 12508 EstimatedOnDemandCostWithCurrentCommitment *string `type:"string"` 12509 12510 // The estimated return on investment that's based on the recommended Savings 12511 // Plans that you purchased. This is calculated as estimatedSavingsAmount/ estimatedSPCost*100. 12512 EstimatedROI *string `type:"string"` 12513 12514 // The cost of the recommended Savings Plans over the length of the lookback 12515 // period. 12516 EstimatedSPCost *string `type:"string"` 12517 12518 // The estimated savings amount that's based on the recommended Savings Plans 12519 // over the length of the lookback period. 12520 EstimatedSavingsAmount *string `type:"string"` 12521 12522 // The estimated savings percentage relative to the total cost of applicable 12523 // On-Demand usage over the lookback period. 12524 EstimatedSavingsPercentage *string `type:"string"` 12525 12526 // The recommended hourly commitment level for the Savings Plans type and the 12527 // configuration that's based on the usage during the lookback period. 12528 HourlyCommitmentToPurchase *string `type:"string"` 12529 12530 // Details for your recommended Savings Plans. 12531 SavingsPlansDetails *SavingsPlansDetails `type:"structure"` 12532 12533 // The upfront cost of the recommended Savings Plans, based on the selected 12534 // payment option. 12535 UpfrontCost *string `type:"string"` 12536} 12537 12538// String returns the string representation. 12539// 12540// API parameter values that are decorated as "sensitive" in the API will not 12541// be included in the string output. The member name will be present, but the 12542// value will be replaced with "sensitive". 12543func (s SavingsPlansPurchaseRecommendationDetail) String() string { 12544 return awsutil.Prettify(s) 12545} 12546 12547// GoString returns the string representation. 12548// 12549// API parameter values that are decorated as "sensitive" in the API will not 12550// be included in the string output. The member name will be present, but the 12551// value will be replaced with "sensitive". 12552func (s SavingsPlansPurchaseRecommendationDetail) GoString() string { 12553 return s.String() 12554} 12555 12556// SetAccountId sets the AccountId field's value. 12557func (s *SavingsPlansPurchaseRecommendationDetail) SetAccountId(v string) *SavingsPlansPurchaseRecommendationDetail { 12558 s.AccountId = &v 12559 return s 12560} 12561 12562// SetCurrencyCode sets the CurrencyCode field's value. 12563func (s *SavingsPlansPurchaseRecommendationDetail) SetCurrencyCode(v string) *SavingsPlansPurchaseRecommendationDetail { 12564 s.CurrencyCode = &v 12565 return s 12566} 12567 12568// SetCurrentAverageHourlyOnDemandSpend sets the CurrentAverageHourlyOnDemandSpend field's value. 12569func (s *SavingsPlansPurchaseRecommendationDetail) SetCurrentAverageHourlyOnDemandSpend(v string) *SavingsPlansPurchaseRecommendationDetail { 12570 s.CurrentAverageHourlyOnDemandSpend = &v 12571 return s 12572} 12573 12574// SetCurrentMaximumHourlyOnDemandSpend sets the CurrentMaximumHourlyOnDemandSpend field's value. 12575func (s *SavingsPlansPurchaseRecommendationDetail) SetCurrentMaximumHourlyOnDemandSpend(v string) *SavingsPlansPurchaseRecommendationDetail { 12576 s.CurrentMaximumHourlyOnDemandSpend = &v 12577 return s 12578} 12579 12580// SetCurrentMinimumHourlyOnDemandSpend sets the CurrentMinimumHourlyOnDemandSpend field's value. 12581func (s *SavingsPlansPurchaseRecommendationDetail) SetCurrentMinimumHourlyOnDemandSpend(v string) *SavingsPlansPurchaseRecommendationDetail { 12582 s.CurrentMinimumHourlyOnDemandSpend = &v 12583 return s 12584} 12585 12586// SetEstimatedAverageUtilization sets the EstimatedAverageUtilization field's value. 12587func (s *SavingsPlansPurchaseRecommendationDetail) SetEstimatedAverageUtilization(v string) *SavingsPlansPurchaseRecommendationDetail { 12588 s.EstimatedAverageUtilization = &v 12589 return s 12590} 12591 12592// SetEstimatedMonthlySavingsAmount sets the EstimatedMonthlySavingsAmount field's value. 12593func (s *SavingsPlansPurchaseRecommendationDetail) SetEstimatedMonthlySavingsAmount(v string) *SavingsPlansPurchaseRecommendationDetail { 12594 s.EstimatedMonthlySavingsAmount = &v 12595 return s 12596} 12597 12598// SetEstimatedOnDemandCost sets the EstimatedOnDemandCost field's value. 12599func (s *SavingsPlansPurchaseRecommendationDetail) SetEstimatedOnDemandCost(v string) *SavingsPlansPurchaseRecommendationDetail { 12600 s.EstimatedOnDemandCost = &v 12601 return s 12602} 12603 12604// SetEstimatedOnDemandCostWithCurrentCommitment sets the EstimatedOnDemandCostWithCurrentCommitment field's value. 12605func (s *SavingsPlansPurchaseRecommendationDetail) SetEstimatedOnDemandCostWithCurrentCommitment(v string) *SavingsPlansPurchaseRecommendationDetail { 12606 s.EstimatedOnDemandCostWithCurrentCommitment = &v 12607 return s 12608} 12609 12610// SetEstimatedROI sets the EstimatedROI field's value. 12611func (s *SavingsPlansPurchaseRecommendationDetail) SetEstimatedROI(v string) *SavingsPlansPurchaseRecommendationDetail { 12612 s.EstimatedROI = &v 12613 return s 12614} 12615 12616// SetEstimatedSPCost sets the EstimatedSPCost field's value. 12617func (s *SavingsPlansPurchaseRecommendationDetail) SetEstimatedSPCost(v string) *SavingsPlansPurchaseRecommendationDetail { 12618 s.EstimatedSPCost = &v 12619 return s 12620} 12621 12622// SetEstimatedSavingsAmount sets the EstimatedSavingsAmount field's value. 12623func (s *SavingsPlansPurchaseRecommendationDetail) SetEstimatedSavingsAmount(v string) *SavingsPlansPurchaseRecommendationDetail { 12624 s.EstimatedSavingsAmount = &v 12625 return s 12626} 12627 12628// SetEstimatedSavingsPercentage sets the EstimatedSavingsPercentage field's value. 12629func (s *SavingsPlansPurchaseRecommendationDetail) SetEstimatedSavingsPercentage(v string) *SavingsPlansPurchaseRecommendationDetail { 12630 s.EstimatedSavingsPercentage = &v 12631 return s 12632} 12633 12634// SetHourlyCommitmentToPurchase sets the HourlyCommitmentToPurchase field's value. 12635func (s *SavingsPlansPurchaseRecommendationDetail) SetHourlyCommitmentToPurchase(v string) *SavingsPlansPurchaseRecommendationDetail { 12636 s.HourlyCommitmentToPurchase = &v 12637 return s 12638} 12639 12640// SetSavingsPlansDetails sets the SavingsPlansDetails field's value. 12641func (s *SavingsPlansPurchaseRecommendationDetail) SetSavingsPlansDetails(v *SavingsPlansDetails) *SavingsPlansPurchaseRecommendationDetail { 12642 s.SavingsPlansDetails = v 12643 return s 12644} 12645 12646// SetUpfrontCost sets the UpfrontCost field's value. 12647func (s *SavingsPlansPurchaseRecommendationDetail) SetUpfrontCost(v string) *SavingsPlansPurchaseRecommendationDetail { 12648 s.UpfrontCost = &v 12649 return s 12650} 12651 12652// Metadata about your Savings Plans Purchase Recommendations. 12653type SavingsPlansPurchaseRecommendationMetadata struct { 12654 _ struct{} `type:"structure"` 12655 12656 // Additional metadata that might be applicable to the recommendation. 12657 AdditionalMetadata *string `type:"string"` 12658 12659 // The timestamp showing when the recommendations were generated. 12660 GenerationTimestamp *string `type:"string"` 12661 12662 // The unique identifier for the recommendation set. 12663 RecommendationId *string `type:"string"` 12664} 12665 12666// String returns the string representation. 12667// 12668// API parameter values that are decorated as "sensitive" in the API will not 12669// be included in the string output. The member name will be present, but the 12670// value will be replaced with "sensitive". 12671func (s SavingsPlansPurchaseRecommendationMetadata) String() string { 12672 return awsutil.Prettify(s) 12673} 12674 12675// GoString returns the string representation. 12676// 12677// API parameter values that are decorated as "sensitive" in the API will not 12678// be included in the string output. The member name will be present, but the 12679// value will be replaced with "sensitive". 12680func (s SavingsPlansPurchaseRecommendationMetadata) GoString() string { 12681 return s.String() 12682} 12683 12684// SetAdditionalMetadata sets the AdditionalMetadata field's value. 12685func (s *SavingsPlansPurchaseRecommendationMetadata) SetAdditionalMetadata(v string) *SavingsPlansPurchaseRecommendationMetadata { 12686 s.AdditionalMetadata = &v 12687 return s 12688} 12689 12690// SetGenerationTimestamp sets the GenerationTimestamp field's value. 12691func (s *SavingsPlansPurchaseRecommendationMetadata) SetGenerationTimestamp(v string) *SavingsPlansPurchaseRecommendationMetadata { 12692 s.GenerationTimestamp = &v 12693 return s 12694} 12695 12696// SetRecommendationId sets the RecommendationId field's value. 12697func (s *SavingsPlansPurchaseRecommendationMetadata) SetRecommendationId(v string) *SavingsPlansPurchaseRecommendationMetadata { 12698 s.RecommendationId = &v 12699 return s 12700} 12701 12702// Summary metrics for your Savings Plans Purchase Recommendations. 12703type SavingsPlansPurchaseRecommendationSummary struct { 12704 _ struct{} `type:"structure"` 12705 12706 // The currency code that Amazon Web Services used to generate the recommendations 12707 // and present potential savings. 12708 CurrencyCode *string `type:"string"` 12709 12710 // The current total on demand spend of the applicable usage types over the 12711 // lookback period. 12712 CurrentOnDemandSpend *string `type:"string"` 12713 12714 // The recommended Savings Plans cost on a daily (24 hourly) basis. 12715 DailyCommitmentToPurchase *string `type:"string"` 12716 12717 // The estimated monthly savings amount that's based on the recommended Savings 12718 // Plans purchase. 12719 EstimatedMonthlySavingsAmount *string `type:"string"` 12720 12721 // The estimated On-Demand costs you would expect with no additional commitment. 12722 // It's based on your usage of the selected time period and the Savings Plans 12723 // you own. 12724 EstimatedOnDemandCostWithCurrentCommitment *string `type:"string"` 12725 12726 // The estimated return on investment that's based on the recommended Savings 12727 // Plans and estimated savings. 12728 EstimatedROI *string `type:"string"` 12729 12730 // The estimated total savings over the lookback period, based on the purchase 12731 // of the recommended Savings Plans. 12732 EstimatedSavingsAmount *string `type:"string"` 12733 12734 // The estimated savings relative to the total cost of On-Demand usage, over 12735 // the lookback period. This is calculated as estimatedSavingsAmount/ CurrentOnDemandSpend*100. 12736 EstimatedSavingsPercentage *string `type:"string"` 12737 12738 // The estimated total cost of the usage after purchasing the recommended Savings 12739 // Plans. This is a sum of the cost of Savings Plans during this term, and the 12740 // remaining On-Demand usage. 12741 EstimatedTotalCost *string `type:"string"` 12742 12743 // The recommended hourly commitment that's based on the recommendation parameters. 12744 HourlyCommitmentToPurchase *string `type:"string"` 12745 12746 // The aggregate number of Savings Plans recommendations that exist for your 12747 // account. 12748 TotalRecommendationCount *string `type:"string"` 12749} 12750 12751// String returns the string representation. 12752// 12753// API parameter values that are decorated as "sensitive" in the API will not 12754// be included in the string output. The member name will be present, but the 12755// value will be replaced with "sensitive". 12756func (s SavingsPlansPurchaseRecommendationSummary) String() string { 12757 return awsutil.Prettify(s) 12758} 12759 12760// GoString returns the string representation. 12761// 12762// API parameter values that are decorated as "sensitive" in the API will not 12763// be included in the string output. The member name will be present, but the 12764// value will be replaced with "sensitive". 12765func (s SavingsPlansPurchaseRecommendationSummary) GoString() string { 12766 return s.String() 12767} 12768 12769// SetCurrencyCode sets the CurrencyCode field's value. 12770func (s *SavingsPlansPurchaseRecommendationSummary) SetCurrencyCode(v string) *SavingsPlansPurchaseRecommendationSummary { 12771 s.CurrencyCode = &v 12772 return s 12773} 12774 12775// SetCurrentOnDemandSpend sets the CurrentOnDemandSpend field's value. 12776func (s *SavingsPlansPurchaseRecommendationSummary) SetCurrentOnDemandSpend(v string) *SavingsPlansPurchaseRecommendationSummary { 12777 s.CurrentOnDemandSpend = &v 12778 return s 12779} 12780 12781// SetDailyCommitmentToPurchase sets the DailyCommitmentToPurchase field's value. 12782func (s *SavingsPlansPurchaseRecommendationSummary) SetDailyCommitmentToPurchase(v string) *SavingsPlansPurchaseRecommendationSummary { 12783 s.DailyCommitmentToPurchase = &v 12784 return s 12785} 12786 12787// SetEstimatedMonthlySavingsAmount sets the EstimatedMonthlySavingsAmount field's value. 12788func (s *SavingsPlansPurchaseRecommendationSummary) SetEstimatedMonthlySavingsAmount(v string) *SavingsPlansPurchaseRecommendationSummary { 12789 s.EstimatedMonthlySavingsAmount = &v 12790 return s 12791} 12792 12793// SetEstimatedOnDemandCostWithCurrentCommitment sets the EstimatedOnDemandCostWithCurrentCommitment field's value. 12794func (s *SavingsPlansPurchaseRecommendationSummary) SetEstimatedOnDemandCostWithCurrentCommitment(v string) *SavingsPlansPurchaseRecommendationSummary { 12795 s.EstimatedOnDemandCostWithCurrentCommitment = &v 12796 return s 12797} 12798 12799// SetEstimatedROI sets the EstimatedROI field's value. 12800func (s *SavingsPlansPurchaseRecommendationSummary) SetEstimatedROI(v string) *SavingsPlansPurchaseRecommendationSummary { 12801 s.EstimatedROI = &v 12802 return s 12803} 12804 12805// SetEstimatedSavingsAmount sets the EstimatedSavingsAmount field's value. 12806func (s *SavingsPlansPurchaseRecommendationSummary) SetEstimatedSavingsAmount(v string) *SavingsPlansPurchaseRecommendationSummary { 12807 s.EstimatedSavingsAmount = &v 12808 return s 12809} 12810 12811// SetEstimatedSavingsPercentage sets the EstimatedSavingsPercentage field's value. 12812func (s *SavingsPlansPurchaseRecommendationSummary) SetEstimatedSavingsPercentage(v string) *SavingsPlansPurchaseRecommendationSummary { 12813 s.EstimatedSavingsPercentage = &v 12814 return s 12815} 12816 12817// SetEstimatedTotalCost sets the EstimatedTotalCost field's value. 12818func (s *SavingsPlansPurchaseRecommendationSummary) SetEstimatedTotalCost(v string) *SavingsPlansPurchaseRecommendationSummary { 12819 s.EstimatedTotalCost = &v 12820 return s 12821} 12822 12823// SetHourlyCommitmentToPurchase sets the HourlyCommitmentToPurchase field's value. 12824func (s *SavingsPlansPurchaseRecommendationSummary) SetHourlyCommitmentToPurchase(v string) *SavingsPlansPurchaseRecommendationSummary { 12825 s.HourlyCommitmentToPurchase = &v 12826 return s 12827} 12828 12829// SetTotalRecommendationCount sets the TotalRecommendationCount field's value. 12830func (s *SavingsPlansPurchaseRecommendationSummary) SetTotalRecommendationCount(v string) *SavingsPlansPurchaseRecommendationSummary { 12831 s.TotalRecommendationCount = &v 12832 return s 12833} 12834 12835// The amount of savings that you're accumulating, against the public On-Demand 12836// rate of the usage accrued in an account. 12837type SavingsPlansSavings struct { 12838 _ struct{} `type:"structure"` 12839 12840 // The savings amount that you're accumulating for the usage that's covered 12841 // by a Savings Plans, when compared to the On-Demand equivalent of the same 12842 // usage. 12843 NetSavings *string `type:"string"` 12844 12845 // How much the amount that the usage would have cost if it was accrued at the 12846 // On-Demand rate. 12847 OnDemandCostEquivalent *string `type:"string"` 12848} 12849 12850// String returns the string representation. 12851// 12852// API parameter values that are decorated as "sensitive" in the API will not 12853// be included in the string output. The member name will be present, but the 12854// value will be replaced with "sensitive". 12855func (s SavingsPlansSavings) String() string { 12856 return awsutil.Prettify(s) 12857} 12858 12859// GoString returns the string representation. 12860// 12861// API parameter values that are decorated as "sensitive" in the API will not 12862// be included in the string output. The member name will be present, but the 12863// value will be replaced with "sensitive". 12864func (s SavingsPlansSavings) GoString() string { 12865 return s.String() 12866} 12867 12868// SetNetSavings sets the NetSavings field's value. 12869func (s *SavingsPlansSavings) SetNetSavings(v string) *SavingsPlansSavings { 12870 s.NetSavings = &v 12871 return s 12872} 12873 12874// SetOnDemandCostEquivalent sets the OnDemandCostEquivalent field's value. 12875func (s *SavingsPlansSavings) SetOnDemandCostEquivalent(v string) *SavingsPlansSavings { 12876 s.OnDemandCostEquivalent = &v 12877 return s 12878} 12879 12880// The measurement of how well you're using your existing Savings Plans. 12881type SavingsPlansUtilization struct { 12882 _ struct{} `type:"structure"` 12883 12884 // The total amount of Savings Plans commitment that's been purchased in an 12885 // account (or set of accounts). 12886 TotalCommitment *string `type:"string"` 12887 12888 // The amount of your Savings Plans commitment that wasn't consumed from Savings 12889 // Plans eligible usage in a specific period. 12890 UnusedCommitment *string `type:"string"` 12891 12892 // The amount of your Savings Plans commitment that was consumed from Savings 12893 // Plans eligible usage in a specific period. 12894 UsedCommitment *string `type:"string"` 12895 12896 // The amount of UsedCommitment divided by the TotalCommitment for your Savings 12897 // Plans. 12898 UtilizationPercentage *string `type:"string"` 12899} 12900 12901// String returns the string representation. 12902// 12903// API parameter values that are decorated as "sensitive" in the API will not 12904// be included in the string output. The member name will be present, but the 12905// value will be replaced with "sensitive". 12906func (s SavingsPlansUtilization) String() string { 12907 return awsutil.Prettify(s) 12908} 12909 12910// GoString returns the string representation. 12911// 12912// API parameter values that are decorated as "sensitive" in the API will not 12913// be included in the string output. The member name will be present, but the 12914// value will be replaced with "sensitive". 12915func (s SavingsPlansUtilization) GoString() string { 12916 return s.String() 12917} 12918 12919// SetTotalCommitment sets the TotalCommitment field's value. 12920func (s *SavingsPlansUtilization) SetTotalCommitment(v string) *SavingsPlansUtilization { 12921 s.TotalCommitment = &v 12922 return s 12923} 12924 12925// SetUnusedCommitment sets the UnusedCommitment field's value. 12926func (s *SavingsPlansUtilization) SetUnusedCommitment(v string) *SavingsPlansUtilization { 12927 s.UnusedCommitment = &v 12928 return s 12929} 12930 12931// SetUsedCommitment sets the UsedCommitment field's value. 12932func (s *SavingsPlansUtilization) SetUsedCommitment(v string) *SavingsPlansUtilization { 12933 s.UsedCommitment = &v 12934 return s 12935} 12936 12937// SetUtilizationPercentage sets the UtilizationPercentage field's value. 12938func (s *SavingsPlansUtilization) SetUtilizationPercentage(v string) *SavingsPlansUtilization { 12939 s.UtilizationPercentage = &v 12940 return s 12941} 12942 12943// The aggregated utilization metrics for your Savings Plans usage. 12944type SavingsPlansUtilizationAggregates struct { 12945 _ struct{} `type:"structure"` 12946 12947 // The total amortized commitment for a Savings Plans. This includes the sum 12948 // of the upfront and recurring Savings Plans fees. 12949 AmortizedCommitment *SavingsPlansAmortizedCommitment `type:"structure"` 12950 12951 // The amount saved by using existing Savings Plans. Savings returns both net 12952 // savings from Savings Plans, as well as the onDemandCostEquivalent of the 12953 // Savings Plans when considering the utilization rate. 12954 Savings *SavingsPlansSavings `type:"structure"` 12955 12956 // A ratio of your effectiveness of using existing Savings Plans to apply to 12957 // workloads that are Savings Plans eligible. 12958 // 12959 // Utilization is a required field 12960 Utilization *SavingsPlansUtilization `type:"structure" required:"true"` 12961} 12962 12963// String returns the string representation. 12964// 12965// API parameter values that are decorated as "sensitive" in the API will not 12966// be included in the string output. The member name will be present, but the 12967// value will be replaced with "sensitive". 12968func (s SavingsPlansUtilizationAggregates) String() string { 12969 return awsutil.Prettify(s) 12970} 12971 12972// GoString returns the string representation. 12973// 12974// API parameter values that are decorated as "sensitive" in the API will not 12975// be included in the string output. The member name will be present, but the 12976// value will be replaced with "sensitive". 12977func (s SavingsPlansUtilizationAggregates) GoString() string { 12978 return s.String() 12979} 12980 12981// SetAmortizedCommitment sets the AmortizedCommitment field's value. 12982func (s *SavingsPlansUtilizationAggregates) SetAmortizedCommitment(v *SavingsPlansAmortizedCommitment) *SavingsPlansUtilizationAggregates { 12983 s.AmortizedCommitment = v 12984 return s 12985} 12986 12987// SetSavings sets the Savings field's value. 12988func (s *SavingsPlansUtilizationAggregates) SetSavings(v *SavingsPlansSavings) *SavingsPlansUtilizationAggregates { 12989 s.Savings = v 12990 return s 12991} 12992 12993// SetUtilization sets the Utilization field's value. 12994func (s *SavingsPlansUtilizationAggregates) SetUtilization(v *SavingsPlansUtilization) *SavingsPlansUtilizationAggregates { 12995 s.Utilization = v 12996 return s 12997} 12998 12999// The amount of Savings Plans utilization, in hours. 13000type SavingsPlansUtilizationByTime struct { 13001 _ struct{} `type:"structure"` 13002 13003 // The total amortized commitment for a Savings Plans. This includes the sum 13004 // of the upfront and recurring Savings Plans fees. 13005 AmortizedCommitment *SavingsPlansAmortizedCommitment `type:"structure"` 13006 13007 // The amount saved by using existing Savings Plans. Savings returns both net 13008 // savings from Savings Plans as well as the onDemandCostEquivalent of the Savings 13009 // Plans when considering the utilization rate. 13010 Savings *SavingsPlansSavings `type:"structure"` 13011 13012 // The time period of the request. 13013 // 13014 // TimePeriod is a required field 13015 TimePeriod *DateInterval `type:"structure" required:"true"` 13016 13017 // A ratio of your effectiveness of using existing Savings Plans to apply to 13018 // workloads that are Savings Plans eligible. 13019 // 13020 // Utilization is a required field 13021 Utilization *SavingsPlansUtilization `type:"structure" required:"true"` 13022} 13023 13024// String returns the string representation. 13025// 13026// API parameter values that are decorated as "sensitive" in the API will not 13027// be included in the string output. The member name will be present, but the 13028// value will be replaced with "sensitive". 13029func (s SavingsPlansUtilizationByTime) String() string { 13030 return awsutil.Prettify(s) 13031} 13032 13033// GoString returns the string representation. 13034// 13035// API parameter values that are decorated as "sensitive" in the API will not 13036// be included in the string output. The member name will be present, but the 13037// value will be replaced with "sensitive". 13038func (s SavingsPlansUtilizationByTime) GoString() string { 13039 return s.String() 13040} 13041 13042// SetAmortizedCommitment sets the AmortizedCommitment field's value. 13043func (s *SavingsPlansUtilizationByTime) SetAmortizedCommitment(v *SavingsPlansAmortizedCommitment) *SavingsPlansUtilizationByTime { 13044 s.AmortizedCommitment = v 13045 return s 13046} 13047 13048// SetSavings sets the Savings field's value. 13049func (s *SavingsPlansUtilizationByTime) SetSavings(v *SavingsPlansSavings) *SavingsPlansUtilizationByTime { 13050 s.Savings = v 13051 return s 13052} 13053 13054// SetTimePeriod sets the TimePeriod field's value. 13055func (s *SavingsPlansUtilizationByTime) SetTimePeriod(v *DateInterval) *SavingsPlansUtilizationByTime { 13056 s.TimePeriod = v 13057 return s 13058} 13059 13060// SetUtilization sets the Utilization field's value. 13061func (s *SavingsPlansUtilizationByTime) SetUtilization(v *SavingsPlansUtilization) *SavingsPlansUtilizationByTime { 13062 s.Utilization = v 13063 return s 13064} 13065 13066// A single daily or monthly Savings Plans utilization rate, and details for 13067// your account. A management account in an organization have access to member 13068// accounts. You can use GetDimensionValues to determine the possible dimension 13069// values. 13070type SavingsPlansUtilizationDetail struct { 13071 _ struct{} `type:"structure"` 13072 13073 // The total amortized commitment for a Savings Plans. Includes the sum of the 13074 // upfront and recurring Savings Plans fees. 13075 AmortizedCommitment *SavingsPlansAmortizedCommitment `type:"structure"` 13076 13077 // The attribute that applies to a specific Dimension. 13078 Attributes map[string]*string `type:"map"` 13079 13080 // The amount saved by using existing Savings Plans. Savings returns both net 13081 // savings from savings plans as well as the onDemandCostEquivalent of the Savings 13082 // Plans when considering the utilization rate. 13083 Savings *SavingsPlansSavings `type:"structure"` 13084 13085 // The unique Amazon Resource Name (ARN) for a particular Savings Plan. 13086 SavingsPlanArn *string `type:"string"` 13087 13088 // A ratio of your effectiveness of using existing Savings Plans to apply to 13089 // workloads that are Savings Plans eligible. 13090 Utilization *SavingsPlansUtilization `type:"structure"` 13091} 13092 13093// String returns the string representation. 13094// 13095// API parameter values that are decorated as "sensitive" in the API will not 13096// be included in the string output. The member name will be present, but the 13097// value will be replaced with "sensitive". 13098func (s SavingsPlansUtilizationDetail) String() string { 13099 return awsutil.Prettify(s) 13100} 13101 13102// GoString returns the string representation. 13103// 13104// API parameter values that are decorated as "sensitive" in the API will not 13105// be included in the string output. The member name will be present, but the 13106// value will be replaced with "sensitive". 13107func (s SavingsPlansUtilizationDetail) GoString() string { 13108 return s.String() 13109} 13110 13111// SetAmortizedCommitment sets the AmortizedCommitment field's value. 13112func (s *SavingsPlansUtilizationDetail) SetAmortizedCommitment(v *SavingsPlansAmortizedCommitment) *SavingsPlansUtilizationDetail { 13113 s.AmortizedCommitment = v 13114 return s 13115} 13116 13117// SetAttributes sets the Attributes field's value. 13118func (s *SavingsPlansUtilizationDetail) SetAttributes(v map[string]*string) *SavingsPlansUtilizationDetail { 13119 s.Attributes = v 13120 return s 13121} 13122 13123// SetSavings sets the Savings field's value. 13124func (s *SavingsPlansUtilizationDetail) SetSavings(v *SavingsPlansSavings) *SavingsPlansUtilizationDetail { 13125 s.Savings = v 13126 return s 13127} 13128 13129// SetSavingsPlanArn sets the SavingsPlanArn field's value. 13130func (s *SavingsPlansUtilizationDetail) SetSavingsPlanArn(v string) *SavingsPlansUtilizationDetail { 13131 s.SavingsPlanArn = &v 13132 return s 13133} 13134 13135// SetUtilization sets the Utilization field's value. 13136func (s *SavingsPlansUtilizationDetail) SetUtilization(v *SavingsPlansUtilization) *SavingsPlansUtilizationDetail { 13137 s.Utilization = v 13138 return s 13139} 13140 13141// You've reached the limit on the number of resources you can create, or exceeded 13142// the size of an individual resource. 13143type ServiceQuotaExceededException struct { 13144 _ struct{} `type:"structure"` 13145 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 13146 13147 Message_ *string `locationName:"Message" type:"string"` 13148} 13149 13150// String returns the string representation. 13151// 13152// API parameter values that are decorated as "sensitive" in the API will not 13153// be included in the string output. The member name will be present, but the 13154// value will be replaced with "sensitive". 13155func (s ServiceQuotaExceededException) String() string { 13156 return awsutil.Prettify(s) 13157} 13158 13159// GoString returns the string representation. 13160// 13161// API parameter values that are decorated as "sensitive" in the API will not 13162// be included in the string output. The member name will be present, but the 13163// value will be replaced with "sensitive". 13164func (s ServiceQuotaExceededException) GoString() string { 13165 return s.String() 13166} 13167 13168func newErrorServiceQuotaExceededException(v protocol.ResponseMetadata) error { 13169 return &ServiceQuotaExceededException{ 13170 RespMetadata: v, 13171 } 13172} 13173 13174// Code returns the exception type name. 13175func (s *ServiceQuotaExceededException) Code() string { 13176 return "ServiceQuotaExceededException" 13177} 13178 13179// Message returns the exception's message. 13180func (s *ServiceQuotaExceededException) Message() string { 13181 if s.Message_ != nil { 13182 return *s.Message_ 13183 } 13184 return "" 13185} 13186 13187// OrigErr always returns nil, satisfies awserr.Error interface. 13188func (s *ServiceQuotaExceededException) OrigErr() error { 13189 return nil 13190} 13191 13192func (s *ServiceQuotaExceededException) Error() string { 13193 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 13194} 13195 13196// Status code returns the HTTP status code for the request's response error. 13197func (s *ServiceQuotaExceededException) StatusCode() int { 13198 return s.RespMetadata.StatusCode 13199} 13200 13201// RequestID returns the service's response RequestID for request. 13202func (s *ServiceQuotaExceededException) RequestID() string { 13203 return s.RespMetadata.RequestID 13204} 13205 13206// Hardware specifications for the service that you want recommendations for. 13207type ServiceSpecification struct { 13208 _ struct{} `type:"structure"` 13209 13210 // The Amazon EC2 hardware specifications that you want Amazon Web Services 13211 // to provide recommendations for. 13212 EC2Specification *EC2Specification `type:"structure"` 13213} 13214 13215// String returns the string representation. 13216// 13217// API parameter values that are decorated as "sensitive" in the API will not 13218// be included in the string output. The member name will be present, but the 13219// value will be replaced with "sensitive". 13220func (s ServiceSpecification) String() string { 13221 return awsutil.Prettify(s) 13222} 13223 13224// GoString returns the string representation. 13225// 13226// API parameter values that are decorated as "sensitive" in the API will not 13227// be included in the string output. The member name will be present, but the 13228// value will be replaced with "sensitive". 13229func (s ServiceSpecification) GoString() string { 13230 return s.String() 13231} 13232 13233// SetEC2Specification sets the EC2Specification field's value. 13234func (s *ServiceSpecification) SetEC2Specification(v *EC2Specification) *ServiceSpecification { 13235 s.EC2Specification = v 13236 return s 13237} 13238 13239// The details of how to sort the data. 13240type SortDefinition struct { 13241 _ struct{} `type:"structure"` 13242 13243 // The key that's used to sort the data. 13244 // 13245 // Key is a required field 13246 Key *string `type:"string" required:"true"` 13247 13248 // The order that's used to sort the data. 13249 SortOrder *string `type:"string" enum:"SortOrder"` 13250} 13251 13252// String returns the string representation. 13253// 13254// API parameter values that are decorated as "sensitive" in the API will not 13255// be included in the string output. The member name will be present, but the 13256// value will be replaced with "sensitive". 13257func (s SortDefinition) String() string { 13258 return awsutil.Prettify(s) 13259} 13260 13261// GoString returns the string representation. 13262// 13263// API parameter values that are decorated as "sensitive" in the API will not 13264// be included in the string output. The member name will be present, but the 13265// value will be replaced with "sensitive". 13266func (s SortDefinition) GoString() string { 13267 return s.String() 13268} 13269 13270// Validate inspects the fields of the type to determine if they are valid. 13271func (s *SortDefinition) Validate() error { 13272 invalidParams := request.ErrInvalidParams{Context: "SortDefinition"} 13273 if s.Key == nil { 13274 invalidParams.Add(request.NewErrParamRequired("Key")) 13275 } 13276 13277 if invalidParams.Len() > 0 { 13278 return invalidParams 13279 } 13280 return nil 13281} 13282 13283// SetKey sets the Key field's value. 13284func (s *SortDefinition) SetKey(v string) *SortDefinition { 13285 s.Key = &v 13286 return s 13287} 13288 13289// SetSortOrder sets the SortOrder field's value. 13290func (s *SortDefinition) SetSortOrder(v string) *SortDefinition { 13291 s.SortOrder = &v 13292 return s 13293} 13294 13295// The recipient of AnomalySubscription notifications. 13296type Subscriber struct { 13297 _ struct{} `type:"structure"` 13298 13299 // The email address or SNS Amazon Resource Name (ARN). This depends on the 13300 // Type. 13301 Address *string `min:"6" type:"string"` 13302 13303 // Indicates if the subscriber accepts the notifications. 13304 Status *string `type:"string" enum:"SubscriberStatus"` 13305 13306 // The notification delivery channel. 13307 Type *string `type:"string" enum:"SubscriberType"` 13308} 13309 13310// String returns the string representation. 13311// 13312// API parameter values that are decorated as "sensitive" in the API will not 13313// be included in the string output. The member name will be present, but the 13314// value will be replaced with "sensitive". 13315func (s Subscriber) String() string { 13316 return awsutil.Prettify(s) 13317} 13318 13319// GoString returns the string representation. 13320// 13321// API parameter values that are decorated as "sensitive" in the API will not 13322// be included in the string output. The member name will be present, but the 13323// value will be replaced with "sensitive". 13324func (s Subscriber) GoString() string { 13325 return s.String() 13326} 13327 13328// Validate inspects the fields of the type to determine if they are valid. 13329func (s *Subscriber) Validate() error { 13330 invalidParams := request.ErrInvalidParams{Context: "Subscriber"} 13331 if s.Address != nil && len(*s.Address) < 6 { 13332 invalidParams.Add(request.NewErrParamMinLen("Address", 6)) 13333 } 13334 13335 if invalidParams.Len() > 0 { 13336 return invalidParams 13337 } 13338 return nil 13339} 13340 13341// SetAddress sets the Address field's value. 13342func (s *Subscriber) SetAddress(v string) *Subscriber { 13343 s.Address = &v 13344 return s 13345} 13346 13347// SetStatus sets the Status field's value. 13348func (s *Subscriber) SetStatus(v string) *Subscriber { 13349 s.Status = &v 13350 return s 13351} 13352 13353// SetType sets the Type field's value. 13354func (s *Subscriber) SetType(v string) *Subscriber { 13355 s.Type = &v 13356 return s 13357} 13358 13359// The values that are available for a tag. 13360// 13361// If Values and Key aren't specified, the ABSENT MatchOption is applied to 13362// all tags. That is, it's filtered on resources with no tags. 13363// 13364// If Values is provided and Key isn't specified, the ABSENT MatchOption is 13365// applied to the tag Key only. That is, it's filtered on resources without 13366// the given tag key. 13367type TagValues struct { 13368 _ struct{} `type:"structure"` 13369 13370 // The key for the tag. 13371 Key *string `type:"string"` 13372 13373 // The match options that you can use to filter your results. MatchOptions is 13374 // only applicable for actions related to Cost Category. The default values 13375 // for MatchOptions are EQUALS and CASE_SENSITIVE. 13376 MatchOptions []*string `type:"list"` 13377 13378 // The specific value of the tag. 13379 Values []*string `type:"list"` 13380} 13381 13382// String returns the string representation. 13383// 13384// API parameter values that are decorated as "sensitive" in the API will not 13385// be included in the string output. The member name will be present, but the 13386// value will be replaced with "sensitive". 13387func (s TagValues) String() string { 13388 return awsutil.Prettify(s) 13389} 13390 13391// GoString returns the string representation. 13392// 13393// API parameter values that are decorated as "sensitive" in the API will not 13394// be included in the string output. The member name will be present, but the 13395// value will be replaced with "sensitive". 13396func (s TagValues) GoString() string { 13397 return s.String() 13398} 13399 13400// SetKey sets the Key field's value. 13401func (s *TagValues) SetKey(v string) *TagValues { 13402 s.Key = &v 13403 return s 13404} 13405 13406// SetMatchOptions sets the MatchOptions field's value. 13407func (s *TagValues) SetMatchOptions(v []*string) *TagValues { 13408 s.MatchOptions = v 13409 return s 13410} 13411 13412// SetValues sets the Values field's value. 13413func (s *TagValues) SetValues(v []*string) *TagValues { 13414 s.Values = v 13415 return s 13416} 13417 13418// Details on recommended instance. 13419type TargetInstance struct { 13420 _ struct{} `type:"structure"` 13421 13422 // The currency code that Amazon Web Services used to calculate the costs for 13423 // this instance. 13424 CurrencyCode *string `type:"string"` 13425 13426 // Determines whether this recommendation is the defaulted Amazon Web Services 13427 // recommendation. 13428 DefaultTargetInstance *bool `type:"boolean"` 13429 13430 // The expected cost to operate this instance type on a monthly basis. 13431 EstimatedMonthlyCost *string `type:"string"` 13432 13433 // The estimated savings that result from modification, on a monthly basis. 13434 EstimatedMonthlySavings *string `type:"string"` 13435 13436 // The expected utilization metrics for target instance type. 13437 ExpectedResourceUtilization *ResourceUtilization `type:"structure"` 13438 13439 // Explains the actions you might need to take in order to successfully migrate 13440 // your workloads from the current instance type to the recommended instance 13441 // type. 13442 PlatformDifferences []*string `type:"list"` 13443 13444 // Details on the target instance type. 13445 ResourceDetails *ResourceDetails `type:"structure"` 13446} 13447 13448// String returns the string representation. 13449// 13450// API parameter values that are decorated as "sensitive" in the API will not 13451// be included in the string output. The member name will be present, but the 13452// value will be replaced with "sensitive". 13453func (s TargetInstance) String() string { 13454 return awsutil.Prettify(s) 13455} 13456 13457// GoString returns the string representation. 13458// 13459// API parameter values that are decorated as "sensitive" in the API will not 13460// be included in the string output. The member name will be present, but the 13461// value will be replaced with "sensitive". 13462func (s TargetInstance) GoString() string { 13463 return s.String() 13464} 13465 13466// SetCurrencyCode sets the CurrencyCode field's value. 13467func (s *TargetInstance) SetCurrencyCode(v string) *TargetInstance { 13468 s.CurrencyCode = &v 13469 return s 13470} 13471 13472// SetDefaultTargetInstance sets the DefaultTargetInstance field's value. 13473func (s *TargetInstance) SetDefaultTargetInstance(v bool) *TargetInstance { 13474 s.DefaultTargetInstance = &v 13475 return s 13476} 13477 13478// SetEstimatedMonthlyCost sets the EstimatedMonthlyCost field's value. 13479func (s *TargetInstance) SetEstimatedMonthlyCost(v string) *TargetInstance { 13480 s.EstimatedMonthlyCost = &v 13481 return s 13482} 13483 13484// SetEstimatedMonthlySavings sets the EstimatedMonthlySavings field's value. 13485func (s *TargetInstance) SetEstimatedMonthlySavings(v string) *TargetInstance { 13486 s.EstimatedMonthlySavings = &v 13487 return s 13488} 13489 13490// SetExpectedResourceUtilization sets the ExpectedResourceUtilization field's value. 13491func (s *TargetInstance) SetExpectedResourceUtilization(v *ResourceUtilization) *TargetInstance { 13492 s.ExpectedResourceUtilization = v 13493 return s 13494} 13495 13496// SetPlatformDifferences sets the PlatformDifferences field's value. 13497func (s *TargetInstance) SetPlatformDifferences(v []*string) *TargetInstance { 13498 s.PlatformDifferences = v 13499 return s 13500} 13501 13502// SetResourceDetails sets the ResourceDetails field's value. 13503func (s *TargetInstance) SetResourceDetails(v *ResourceDetails) *TargetInstance { 13504 s.ResourceDetails = v 13505 return s 13506} 13507 13508// Details on termination recommendation. 13509type TerminateRecommendationDetail struct { 13510 _ struct{} `type:"structure"` 13511 13512 // The currency code that Amazon Web Services used to calculate the costs for 13513 // this instance. 13514 CurrencyCode *string `type:"string"` 13515 13516 // The estimated savings that result from modification, on a monthly basis. 13517 EstimatedMonthlySavings *string `type:"string"` 13518} 13519 13520// String returns the string representation. 13521// 13522// API parameter values that are decorated as "sensitive" in the API will not 13523// be included in the string output. The member name will be present, but the 13524// value will be replaced with "sensitive". 13525func (s TerminateRecommendationDetail) String() string { 13526 return awsutil.Prettify(s) 13527} 13528 13529// GoString returns the string representation. 13530// 13531// API parameter values that are decorated as "sensitive" in the API will not 13532// be included in the string output. The member name will be present, but the 13533// value will be replaced with "sensitive". 13534func (s TerminateRecommendationDetail) GoString() string { 13535 return s.String() 13536} 13537 13538// SetCurrencyCode sets the CurrencyCode field's value. 13539func (s *TerminateRecommendationDetail) SetCurrencyCode(v string) *TerminateRecommendationDetail { 13540 s.CurrencyCode = &v 13541 return s 13542} 13543 13544// SetEstimatedMonthlySavings sets the EstimatedMonthlySavings field's value. 13545func (s *TerminateRecommendationDetail) SetEstimatedMonthlySavings(v string) *TerminateRecommendationDetail { 13546 s.EstimatedMonthlySavings = &v 13547 return s 13548} 13549 13550// Filters cost anomalies based on the total impact. 13551type TotalImpactFilter struct { 13552 _ struct{} `type:"structure"` 13553 13554 // The upper bound dollar value that's used in the filter. 13555 EndValue *float64 `type:"double"` 13556 13557 // The comparing value that's used in the filter. 13558 // 13559 // NumericOperator is a required field 13560 NumericOperator *string `type:"string" required:"true" enum:"NumericOperator"` 13561 13562 // The lower bound dollar value that's used in the filter. 13563 // 13564 // StartValue is a required field 13565 StartValue *float64 `type:"double" required:"true"` 13566} 13567 13568// String returns the string representation. 13569// 13570// API parameter values that are decorated as "sensitive" in the API will not 13571// be included in the string output. The member name will be present, but the 13572// value will be replaced with "sensitive". 13573func (s TotalImpactFilter) String() string { 13574 return awsutil.Prettify(s) 13575} 13576 13577// GoString returns the string representation. 13578// 13579// API parameter values that are decorated as "sensitive" in the API will not 13580// be included in the string output. The member name will be present, but the 13581// value will be replaced with "sensitive". 13582func (s TotalImpactFilter) GoString() string { 13583 return s.String() 13584} 13585 13586// Validate inspects the fields of the type to determine if they are valid. 13587func (s *TotalImpactFilter) Validate() error { 13588 invalidParams := request.ErrInvalidParams{Context: "TotalImpactFilter"} 13589 if s.NumericOperator == nil { 13590 invalidParams.Add(request.NewErrParamRequired("NumericOperator")) 13591 } 13592 if s.StartValue == nil { 13593 invalidParams.Add(request.NewErrParamRequired("StartValue")) 13594 } 13595 13596 if invalidParams.Len() > 0 { 13597 return invalidParams 13598 } 13599 return nil 13600} 13601 13602// SetEndValue sets the EndValue field's value. 13603func (s *TotalImpactFilter) SetEndValue(v float64) *TotalImpactFilter { 13604 s.EndValue = &v 13605 return s 13606} 13607 13608// SetNumericOperator sets the NumericOperator field's value. 13609func (s *TotalImpactFilter) SetNumericOperator(v string) *TotalImpactFilter { 13610 s.NumericOperator = &v 13611 return s 13612} 13613 13614// SetStartValue sets the StartValue field's value. 13615func (s *TotalImpactFilter) SetStartValue(v float64) *TotalImpactFilter { 13616 s.StartValue = &v 13617 return s 13618} 13619 13620// The cost anomaly monitor does not exist for the account. 13621type UnknownMonitorException struct { 13622 _ struct{} `type:"structure"` 13623 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 13624 13625 Message_ *string `locationName:"Message" type:"string"` 13626} 13627 13628// String returns the string representation. 13629// 13630// API parameter values that are decorated as "sensitive" in the API will not 13631// be included in the string output. The member name will be present, but the 13632// value will be replaced with "sensitive". 13633func (s UnknownMonitorException) String() string { 13634 return awsutil.Prettify(s) 13635} 13636 13637// GoString returns the string representation. 13638// 13639// API parameter values that are decorated as "sensitive" in the API will not 13640// be included in the string output. The member name will be present, but the 13641// value will be replaced with "sensitive". 13642func (s UnknownMonitorException) GoString() string { 13643 return s.String() 13644} 13645 13646func newErrorUnknownMonitorException(v protocol.ResponseMetadata) error { 13647 return &UnknownMonitorException{ 13648 RespMetadata: v, 13649 } 13650} 13651 13652// Code returns the exception type name. 13653func (s *UnknownMonitorException) Code() string { 13654 return "UnknownMonitorException" 13655} 13656 13657// Message returns the exception's message. 13658func (s *UnknownMonitorException) Message() string { 13659 if s.Message_ != nil { 13660 return *s.Message_ 13661 } 13662 return "" 13663} 13664 13665// OrigErr always returns nil, satisfies awserr.Error interface. 13666func (s *UnknownMonitorException) OrigErr() error { 13667 return nil 13668} 13669 13670func (s *UnknownMonitorException) Error() string { 13671 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 13672} 13673 13674// Status code returns the HTTP status code for the request's response error. 13675func (s *UnknownMonitorException) StatusCode() int { 13676 return s.RespMetadata.StatusCode 13677} 13678 13679// RequestID returns the service's response RequestID for request. 13680func (s *UnknownMonitorException) RequestID() string { 13681 return s.RespMetadata.RequestID 13682} 13683 13684// The cost anomaly subscription does not exist for the account. 13685type UnknownSubscriptionException struct { 13686 _ struct{} `type:"structure"` 13687 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 13688 13689 Message_ *string `locationName:"Message" type:"string"` 13690} 13691 13692// String returns the string representation. 13693// 13694// API parameter values that are decorated as "sensitive" in the API will not 13695// be included in the string output. The member name will be present, but the 13696// value will be replaced with "sensitive". 13697func (s UnknownSubscriptionException) String() string { 13698 return awsutil.Prettify(s) 13699} 13700 13701// GoString returns the string representation. 13702// 13703// API parameter values that are decorated as "sensitive" in the API will not 13704// be included in the string output. The member name will be present, but the 13705// value will be replaced with "sensitive". 13706func (s UnknownSubscriptionException) GoString() string { 13707 return s.String() 13708} 13709 13710func newErrorUnknownSubscriptionException(v protocol.ResponseMetadata) error { 13711 return &UnknownSubscriptionException{ 13712 RespMetadata: v, 13713 } 13714} 13715 13716// Code returns the exception type name. 13717func (s *UnknownSubscriptionException) Code() string { 13718 return "UnknownSubscriptionException" 13719} 13720 13721// Message returns the exception's message. 13722func (s *UnknownSubscriptionException) Message() string { 13723 if s.Message_ != nil { 13724 return *s.Message_ 13725 } 13726 return "" 13727} 13728 13729// OrigErr always returns nil, satisfies awserr.Error interface. 13730func (s *UnknownSubscriptionException) OrigErr() error { 13731 return nil 13732} 13733 13734func (s *UnknownSubscriptionException) Error() string { 13735 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 13736} 13737 13738// Status code returns the HTTP status code for the request's response error. 13739func (s *UnknownSubscriptionException) StatusCode() int { 13740 return s.RespMetadata.StatusCode 13741} 13742 13743// RequestID returns the service's response RequestID for request. 13744func (s *UnknownSubscriptionException) RequestID() string { 13745 return s.RespMetadata.RequestID 13746} 13747 13748// Cost Explorer was unable to identify the usage unit. Provide UsageType/UsageTypeGroup 13749// filter selections that contain matching units, for example: hours. 13750type UnresolvableUsageUnitException struct { 13751 _ struct{} `type:"structure"` 13752 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 13753 13754 Message_ *string `locationName:"Message" type:"string"` 13755} 13756 13757// String returns the string representation. 13758// 13759// API parameter values that are decorated as "sensitive" in the API will not 13760// be included in the string output. The member name will be present, but the 13761// value will be replaced with "sensitive". 13762func (s UnresolvableUsageUnitException) String() string { 13763 return awsutil.Prettify(s) 13764} 13765 13766// GoString returns the string representation. 13767// 13768// API parameter values that are decorated as "sensitive" in the API will not 13769// be included in the string output. The member name will be present, but the 13770// value will be replaced with "sensitive". 13771func (s UnresolvableUsageUnitException) GoString() string { 13772 return s.String() 13773} 13774 13775func newErrorUnresolvableUsageUnitException(v protocol.ResponseMetadata) error { 13776 return &UnresolvableUsageUnitException{ 13777 RespMetadata: v, 13778 } 13779} 13780 13781// Code returns the exception type name. 13782func (s *UnresolvableUsageUnitException) Code() string { 13783 return "UnresolvableUsageUnitException" 13784} 13785 13786// Message returns the exception's message. 13787func (s *UnresolvableUsageUnitException) Message() string { 13788 if s.Message_ != nil { 13789 return *s.Message_ 13790 } 13791 return "" 13792} 13793 13794// OrigErr always returns nil, satisfies awserr.Error interface. 13795func (s *UnresolvableUsageUnitException) OrigErr() error { 13796 return nil 13797} 13798 13799func (s *UnresolvableUsageUnitException) Error() string { 13800 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 13801} 13802 13803// Status code returns the HTTP status code for the request's response error. 13804func (s *UnresolvableUsageUnitException) StatusCode() int { 13805 return s.RespMetadata.StatusCode 13806} 13807 13808// RequestID returns the service's response RequestID for request. 13809func (s *UnresolvableUsageUnitException) RequestID() string { 13810 return s.RespMetadata.RequestID 13811} 13812 13813type UpdateAnomalyMonitorInput struct { 13814 _ struct{} `type:"structure"` 13815 13816 // Cost anomaly monitor Amazon Resource Names (ARNs). 13817 // 13818 // MonitorArn is a required field 13819 MonitorArn *string `type:"string" required:"true"` 13820 13821 // The new name for the cost anomaly monitor. 13822 MonitorName *string `type:"string"` 13823} 13824 13825// String returns the string representation. 13826// 13827// API parameter values that are decorated as "sensitive" in the API will not 13828// be included in the string output. The member name will be present, but the 13829// value will be replaced with "sensitive". 13830func (s UpdateAnomalyMonitorInput) String() string { 13831 return awsutil.Prettify(s) 13832} 13833 13834// GoString returns the string representation. 13835// 13836// API parameter values that are decorated as "sensitive" in the API will not 13837// be included in the string output. The member name will be present, but the 13838// value will be replaced with "sensitive". 13839func (s UpdateAnomalyMonitorInput) GoString() string { 13840 return s.String() 13841} 13842 13843// Validate inspects the fields of the type to determine if they are valid. 13844func (s *UpdateAnomalyMonitorInput) Validate() error { 13845 invalidParams := request.ErrInvalidParams{Context: "UpdateAnomalyMonitorInput"} 13846 if s.MonitorArn == nil { 13847 invalidParams.Add(request.NewErrParamRequired("MonitorArn")) 13848 } 13849 13850 if invalidParams.Len() > 0 { 13851 return invalidParams 13852 } 13853 return nil 13854} 13855 13856// SetMonitorArn sets the MonitorArn field's value. 13857func (s *UpdateAnomalyMonitorInput) SetMonitorArn(v string) *UpdateAnomalyMonitorInput { 13858 s.MonitorArn = &v 13859 return s 13860} 13861 13862// SetMonitorName sets the MonitorName field's value. 13863func (s *UpdateAnomalyMonitorInput) SetMonitorName(v string) *UpdateAnomalyMonitorInput { 13864 s.MonitorName = &v 13865 return s 13866} 13867 13868type UpdateAnomalyMonitorOutput struct { 13869 _ struct{} `type:"structure"` 13870 13871 // A cost anomaly monitor ARN. 13872 // 13873 // MonitorArn is a required field 13874 MonitorArn *string `type:"string" required:"true"` 13875} 13876 13877// String returns the string representation. 13878// 13879// API parameter values that are decorated as "sensitive" in the API will not 13880// be included in the string output. The member name will be present, but the 13881// value will be replaced with "sensitive". 13882func (s UpdateAnomalyMonitorOutput) String() string { 13883 return awsutil.Prettify(s) 13884} 13885 13886// GoString returns the string representation. 13887// 13888// API parameter values that are decorated as "sensitive" in the API will not 13889// be included in the string output. The member name will be present, but the 13890// value will be replaced with "sensitive". 13891func (s UpdateAnomalyMonitorOutput) GoString() string { 13892 return s.String() 13893} 13894 13895// SetMonitorArn sets the MonitorArn field's value. 13896func (s *UpdateAnomalyMonitorOutput) SetMonitorArn(v string) *UpdateAnomalyMonitorOutput { 13897 s.MonitorArn = &v 13898 return s 13899} 13900 13901type UpdateAnomalySubscriptionInput struct { 13902 _ struct{} `type:"structure"` 13903 13904 // The update to the frequency value that subscribers receive notifications. 13905 Frequency *string `type:"string" enum:"AnomalySubscriptionFrequency"` 13906 13907 // A list of cost anomaly monitor ARNs. 13908 MonitorArnList []*string `type:"list"` 13909 13910 // The update to the subscriber list. 13911 Subscribers []*Subscriber `type:"list"` 13912 13913 // A cost anomaly subscription Amazon Resource Name (ARN). 13914 // 13915 // SubscriptionArn is a required field 13916 SubscriptionArn *string `type:"string" required:"true"` 13917 13918 // The new name of the subscription. 13919 SubscriptionName *string `type:"string"` 13920 13921 // The update to the threshold value for receiving notifications. 13922 Threshold *float64 `type:"double"` 13923} 13924 13925// String returns the string representation. 13926// 13927// API parameter values that are decorated as "sensitive" in the API will not 13928// be included in the string output. The member name will be present, but the 13929// value will be replaced with "sensitive". 13930func (s UpdateAnomalySubscriptionInput) String() string { 13931 return awsutil.Prettify(s) 13932} 13933 13934// GoString returns the string representation. 13935// 13936// API parameter values that are decorated as "sensitive" in the API will not 13937// be included in the string output. The member name will be present, but the 13938// value will be replaced with "sensitive". 13939func (s UpdateAnomalySubscriptionInput) GoString() string { 13940 return s.String() 13941} 13942 13943// Validate inspects the fields of the type to determine if they are valid. 13944func (s *UpdateAnomalySubscriptionInput) Validate() error { 13945 invalidParams := request.ErrInvalidParams{Context: "UpdateAnomalySubscriptionInput"} 13946 if s.SubscriptionArn == nil { 13947 invalidParams.Add(request.NewErrParamRequired("SubscriptionArn")) 13948 } 13949 if s.Subscribers != nil { 13950 for i, v := range s.Subscribers { 13951 if v == nil { 13952 continue 13953 } 13954 if err := v.Validate(); err != nil { 13955 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Subscribers", i), err.(request.ErrInvalidParams)) 13956 } 13957 } 13958 } 13959 13960 if invalidParams.Len() > 0 { 13961 return invalidParams 13962 } 13963 return nil 13964} 13965 13966// SetFrequency sets the Frequency field's value. 13967func (s *UpdateAnomalySubscriptionInput) SetFrequency(v string) *UpdateAnomalySubscriptionInput { 13968 s.Frequency = &v 13969 return s 13970} 13971 13972// SetMonitorArnList sets the MonitorArnList field's value. 13973func (s *UpdateAnomalySubscriptionInput) SetMonitorArnList(v []*string) *UpdateAnomalySubscriptionInput { 13974 s.MonitorArnList = v 13975 return s 13976} 13977 13978// SetSubscribers sets the Subscribers field's value. 13979func (s *UpdateAnomalySubscriptionInput) SetSubscribers(v []*Subscriber) *UpdateAnomalySubscriptionInput { 13980 s.Subscribers = v 13981 return s 13982} 13983 13984// SetSubscriptionArn sets the SubscriptionArn field's value. 13985func (s *UpdateAnomalySubscriptionInput) SetSubscriptionArn(v string) *UpdateAnomalySubscriptionInput { 13986 s.SubscriptionArn = &v 13987 return s 13988} 13989 13990// SetSubscriptionName sets the SubscriptionName field's value. 13991func (s *UpdateAnomalySubscriptionInput) SetSubscriptionName(v string) *UpdateAnomalySubscriptionInput { 13992 s.SubscriptionName = &v 13993 return s 13994} 13995 13996// SetThreshold sets the Threshold field's value. 13997func (s *UpdateAnomalySubscriptionInput) SetThreshold(v float64) *UpdateAnomalySubscriptionInput { 13998 s.Threshold = &v 13999 return s 14000} 14001 14002type UpdateAnomalySubscriptionOutput struct { 14003 _ struct{} `type:"structure"` 14004 14005 // A cost anomaly subscription ARN. 14006 // 14007 // SubscriptionArn is a required field 14008 SubscriptionArn *string `type:"string" required:"true"` 14009} 14010 14011// String returns the string representation. 14012// 14013// API parameter values that are decorated as "sensitive" in the API will not 14014// be included in the string output. The member name will be present, but the 14015// value will be replaced with "sensitive". 14016func (s UpdateAnomalySubscriptionOutput) String() string { 14017 return awsutil.Prettify(s) 14018} 14019 14020// GoString returns the string representation. 14021// 14022// API parameter values that are decorated as "sensitive" in the API will not 14023// be included in the string output. The member name will be present, but the 14024// value will be replaced with "sensitive". 14025func (s UpdateAnomalySubscriptionOutput) GoString() string { 14026 return s.String() 14027} 14028 14029// SetSubscriptionArn sets the SubscriptionArn field's value. 14030func (s *UpdateAnomalySubscriptionOutput) SetSubscriptionArn(v string) *UpdateAnomalySubscriptionOutput { 14031 s.SubscriptionArn = &v 14032 return s 14033} 14034 14035type UpdateCostCategoryDefinitionInput struct { 14036 _ struct{} `type:"structure"` 14037 14038 // The unique identifier for your Cost Category. 14039 // 14040 // CostCategoryArn is a required field 14041 CostCategoryArn *string `min:"20" type:"string" required:"true"` 14042 14043 // The default value for the cost category. 14044 DefaultValue *string `min:"1" type:"string"` 14045 14046 // The rule schema version in this particular Cost Category. 14047 // 14048 // RuleVersion is a required field 14049 RuleVersion *string `type:"string" required:"true" enum:"CostCategoryRuleVersion"` 14050 14051 // The Expression object used to categorize costs. For more information, see 14052 // CostCategoryRule (https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_CostCategoryRule.html). 14053 // 14054 // Rules is a required field 14055 Rules []*CostCategoryRule `min:"1" type:"list" required:"true"` 14056 14057 // The split charge rules used to allocate your charges between your Cost Category 14058 // values. 14059 SplitChargeRules []*CostCategorySplitChargeRule `min:"1" type:"list"` 14060} 14061 14062// String returns the string representation. 14063// 14064// API parameter values that are decorated as "sensitive" in the API will not 14065// be included in the string output. The member name will be present, but the 14066// value will be replaced with "sensitive". 14067func (s UpdateCostCategoryDefinitionInput) String() string { 14068 return awsutil.Prettify(s) 14069} 14070 14071// GoString returns the string representation. 14072// 14073// API parameter values that are decorated as "sensitive" in the API will not 14074// be included in the string output. The member name will be present, but the 14075// value will be replaced with "sensitive". 14076func (s UpdateCostCategoryDefinitionInput) GoString() string { 14077 return s.String() 14078} 14079 14080// Validate inspects the fields of the type to determine if they are valid. 14081func (s *UpdateCostCategoryDefinitionInput) Validate() error { 14082 invalidParams := request.ErrInvalidParams{Context: "UpdateCostCategoryDefinitionInput"} 14083 if s.CostCategoryArn == nil { 14084 invalidParams.Add(request.NewErrParamRequired("CostCategoryArn")) 14085 } 14086 if s.CostCategoryArn != nil && len(*s.CostCategoryArn) < 20 { 14087 invalidParams.Add(request.NewErrParamMinLen("CostCategoryArn", 20)) 14088 } 14089 if s.DefaultValue != nil && len(*s.DefaultValue) < 1 { 14090 invalidParams.Add(request.NewErrParamMinLen("DefaultValue", 1)) 14091 } 14092 if s.RuleVersion == nil { 14093 invalidParams.Add(request.NewErrParamRequired("RuleVersion")) 14094 } 14095 if s.Rules == nil { 14096 invalidParams.Add(request.NewErrParamRequired("Rules")) 14097 } 14098 if s.Rules != nil && len(s.Rules) < 1 { 14099 invalidParams.Add(request.NewErrParamMinLen("Rules", 1)) 14100 } 14101 if s.SplitChargeRules != nil && len(s.SplitChargeRules) < 1 { 14102 invalidParams.Add(request.NewErrParamMinLen("SplitChargeRules", 1)) 14103 } 14104 if s.Rules != nil { 14105 for i, v := range s.Rules { 14106 if v == nil { 14107 continue 14108 } 14109 if err := v.Validate(); err != nil { 14110 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Rules", i), err.(request.ErrInvalidParams)) 14111 } 14112 } 14113 } 14114 if s.SplitChargeRules != nil { 14115 for i, v := range s.SplitChargeRules { 14116 if v == nil { 14117 continue 14118 } 14119 if err := v.Validate(); err != nil { 14120 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "SplitChargeRules", i), err.(request.ErrInvalidParams)) 14121 } 14122 } 14123 } 14124 14125 if invalidParams.Len() > 0 { 14126 return invalidParams 14127 } 14128 return nil 14129} 14130 14131// SetCostCategoryArn sets the CostCategoryArn field's value. 14132func (s *UpdateCostCategoryDefinitionInput) SetCostCategoryArn(v string) *UpdateCostCategoryDefinitionInput { 14133 s.CostCategoryArn = &v 14134 return s 14135} 14136 14137// SetDefaultValue sets the DefaultValue field's value. 14138func (s *UpdateCostCategoryDefinitionInput) SetDefaultValue(v string) *UpdateCostCategoryDefinitionInput { 14139 s.DefaultValue = &v 14140 return s 14141} 14142 14143// SetRuleVersion sets the RuleVersion field's value. 14144func (s *UpdateCostCategoryDefinitionInput) SetRuleVersion(v string) *UpdateCostCategoryDefinitionInput { 14145 s.RuleVersion = &v 14146 return s 14147} 14148 14149// SetRules sets the Rules field's value. 14150func (s *UpdateCostCategoryDefinitionInput) SetRules(v []*CostCategoryRule) *UpdateCostCategoryDefinitionInput { 14151 s.Rules = v 14152 return s 14153} 14154 14155// SetSplitChargeRules sets the SplitChargeRules field's value. 14156func (s *UpdateCostCategoryDefinitionInput) SetSplitChargeRules(v []*CostCategorySplitChargeRule) *UpdateCostCategoryDefinitionInput { 14157 s.SplitChargeRules = v 14158 return s 14159} 14160 14161type UpdateCostCategoryDefinitionOutput struct { 14162 _ struct{} `type:"structure"` 14163 14164 // The unique identifier for your Cost Category. 14165 CostCategoryArn *string `min:"20" type:"string"` 14166 14167 // The Cost Category's effective start date. 14168 EffectiveStart *string `min:"20" type:"string"` 14169} 14170 14171// String returns the string representation. 14172// 14173// API parameter values that are decorated as "sensitive" in the API will not 14174// be included in the string output. The member name will be present, but the 14175// value will be replaced with "sensitive". 14176func (s UpdateCostCategoryDefinitionOutput) String() string { 14177 return awsutil.Prettify(s) 14178} 14179 14180// GoString returns the string representation. 14181// 14182// API parameter values that are decorated as "sensitive" in the API will not 14183// be included in the string output. The member name will be present, but the 14184// value will be replaced with "sensitive". 14185func (s UpdateCostCategoryDefinitionOutput) GoString() string { 14186 return s.String() 14187} 14188 14189// SetCostCategoryArn sets the CostCategoryArn field's value. 14190func (s *UpdateCostCategoryDefinitionOutput) SetCostCategoryArn(v string) *UpdateCostCategoryDefinitionOutput { 14191 s.CostCategoryArn = &v 14192 return s 14193} 14194 14195// SetEffectiveStart sets the EffectiveStart field's value. 14196func (s *UpdateCostCategoryDefinitionOutput) SetEffectiveStart(v string) *UpdateCostCategoryDefinitionOutput { 14197 s.EffectiveStart = &v 14198 return s 14199} 14200 14201// The amount of utilization, in hours. 14202type UtilizationByTime struct { 14203 _ struct{} `type:"structure"` 14204 14205 // The groups that this utilization result uses. 14206 Groups []*ReservationUtilizationGroup `type:"list"` 14207 14208 // The period of time that this utilization was used for. 14209 TimePeriod *DateInterval `type:"structure"` 14210 14211 // The total number of reservation hours that were used. 14212 Total *ReservationAggregates `type:"structure"` 14213} 14214 14215// String returns the string representation. 14216// 14217// API parameter values that are decorated as "sensitive" in the API will not 14218// be included in the string output. The member name will be present, but the 14219// value will be replaced with "sensitive". 14220func (s UtilizationByTime) String() string { 14221 return awsutil.Prettify(s) 14222} 14223 14224// GoString returns the string representation. 14225// 14226// API parameter values that are decorated as "sensitive" in the API will not 14227// be included in the string output. The member name will be present, but the 14228// value will be replaced with "sensitive". 14229func (s UtilizationByTime) GoString() string { 14230 return s.String() 14231} 14232 14233// SetGroups sets the Groups field's value. 14234func (s *UtilizationByTime) SetGroups(v []*ReservationUtilizationGroup) *UtilizationByTime { 14235 s.Groups = v 14236 return s 14237} 14238 14239// SetTimePeriod sets the TimePeriod field's value. 14240func (s *UtilizationByTime) SetTimePeriod(v *DateInterval) *UtilizationByTime { 14241 s.TimePeriod = v 14242 return s 14243} 14244 14245// SetTotal sets the Total field's value. 14246func (s *UtilizationByTime) SetTotal(v *ReservationAggregates) *UtilizationByTime { 14247 s.Total = v 14248 return s 14249} 14250 14251const ( 14252 // AccountScopePayer is a AccountScope enum value 14253 AccountScopePayer = "PAYER" 14254 14255 // AccountScopeLinked is a AccountScope enum value 14256 AccountScopeLinked = "LINKED" 14257) 14258 14259// AccountScope_Values returns all elements of the AccountScope enum 14260func AccountScope_Values() []string { 14261 return []string{ 14262 AccountScopePayer, 14263 AccountScopeLinked, 14264 } 14265} 14266 14267const ( 14268 // AnomalyFeedbackTypeYes is a AnomalyFeedbackType enum value 14269 AnomalyFeedbackTypeYes = "YES" 14270 14271 // AnomalyFeedbackTypeNo is a AnomalyFeedbackType enum value 14272 AnomalyFeedbackTypeNo = "NO" 14273 14274 // AnomalyFeedbackTypePlannedActivity is a AnomalyFeedbackType enum value 14275 AnomalyFeedbackTypePlannedActivity = "PLANNED_ACTIVITY" 14276) 14277 14278// AnomalyFeedbackType_Values returns all elements of the AnomalyFeedbackType enum 14279func AnomalyFeedbackType_Values() []string { 14280 return []string{ 14281 AnomalyFeedbackTypeYes, 14282 AnomalyFeedbackTypeNo, 14283 AnomalyFeedbackTypePlannedActivity, 14284 } 14285} 14286 14287const ( 14288 // AnomalySubscriptionFrequencyDaily is a AnomalySubscriptionFrequency enum value 14289 AnomalySubscriptionFrequencyDaily = "DAILY" 14290 14291 // AnomalySubscriptionFrequencyImmediate is a AnomalySubscriptionFrequency enum value 14292 AnomalySubscriptionFrequencyImmediate = "IMMEDIATE" 14293 14294 // AnomalySubscriptionFrequencyWeekly is a AnomalySubscriptionFrequency enum value 14295 AnomalySubscriptionFrequencyWeekly = "WEEKLY" 14296) 14297 14298// AnomalySubscriptionFrequency_Values returns all elements of the AnomalySubscriptionFrequency enum 14299func AnomalySubscriptionFrequency_Values() []string { 14300 return []string{ 14301 AnomalySubscriptionFrequencyDaily, 14302 AnomalySubscriptionFrequencyImmediate, 14303 AnomalySubscriptionFrequencyWeekly, 14304 } 14305} 14306 14307const ( 14308 // ContextCostAndUsage is a Context enum value 14309 ContextCostAndUsage = "COST_AND_USAGE" 14310 14311 // ContextReservations is a Context enum value 14312 ContextReservations = "RESERVATIONS" 14313 14314 // ContextSavingsPlans is a Context enum value 14315 ContextSavingsPlans = "SAVINGS_PLANS" 14316) 14317 14318// Context_Values returns all elements of the Context enum 14319func Context_Values() []string { 14320 return []string{ 14321 ContextCostAndUsage, 14322 ContextReservations, 14323 ContextSavingsPlans, 14324 } 14325} 14326 14327const ( 14328 // CostCategoryInheritedValueDimensionNameLinkedAccountName is a CostCategoryInheritedValueDimensionName enum value 14329 CostCategoryInheritedValueDimensionNameLinkedAccountName = "LINKED_ACCOUNT_NAME" 14330 14331 // CostCategoryInheritedValueDimensionNameTag is a CostCategoryInheritedValueDimensionName enum value 14332 CostCategoryInheritedValueDimensionNameTag = "TAG" 14333) 14334 14335// CostCategoryInheritedValueDimensionName_Values returns all elements of the CostCategoryInheritedValueDimensionName enum 14336func CostCategoryInheritedValueDimensionName_Values() []string { 14337 return []string{ 14338 CostCategoryInheritedValueDimensionNameLinkedAccountName, 14339 CostCategoryInheritedValueDimensionNameTag, 14340 } 14341} 14342 14343const ( 14344 // CostCategoryRuleTypeRegular is a CostCategoryRuleType enum value 14345 CostCategoryRuleTypeRegular = "REGULAR" 14346 14347 // CostCategoryRuleTypeInheritedValue is a CostCategoryRuleType enum value 14348 CostCategoryRuleTypeInheritedValue = "INHERITED_VALUE" 14349) 14350 14351// CostCategoryRuleType_Values returns all elements of the CostCategoryRuleType enum 14352func CostCategoryRuleType_Values() []string { 14353 return []string{ 14354 CostCategoryRuleTypeRegular, 14355 CostCategoryRuleTypeInheritedValue, 14356 } 14357} 14358 14359// The rule schema version in this particular Cost Category. 14360const ( 14361 // CostCategoryRuleVersionCostCategoryExpressionV1 is a CostCategoryRuleVersion enum value 14362 CostCategoryRuleVersionCostCategoryExpressionV1 = "CostCategoryExpression.v1" 14363) 14364 14365// CostCategoryRuleVersion_Values returns all elements of the CostCategoryRuleVersion enum 14366func CostCategoryRuleVersion_Values() []string { 14367 return []string{ 14368 CostCategoryRuleVersionCostCategoryExpressionV1, 14369 } 14370} 14371 14372const ( 14373 // CostCategorySplitChargeMethodFixed is a CostCategorySplitChargeMethod enum value 14374 CostCategorySplitChargeMethodFixed = "FIXED" 14375 14376 // CostCategorySplitChargeMethodProportional is a CostCategorySplitChargeMethod enum value 14377 CostCategorySplitChargeMethodProportional = "PROPORTIONAL" 14378 14379 // CostCategorySplitChargeMethodEven is a CostCategorySplitChargeMethod enum value 14380 CostCategorySplitChargeMethodEven = "EVEN" 14381) 14382 14383// CostCategorySplitChargeMethod_Values returns all elements of the CostCategorySplitChargeMethod enum 14384func CostCategorySplitChargeMethod_Values() []string { 14385 return []string{ 14386 CostCategorySplitChargeMethodFixed, 14387 CostCategorySplitChargeMethodProportional, 14388 CostCategorySplitChargeMethodEven, 14389 } 14390} 14391 14392const ( 14393 // CostCategorySplitChargeRuleParameterTypeAllocationPercentages is a CostCategorySplitChargeRuleParameterType enum value 14394 CostCategorySplitChargeRuleParameterTypeAllocationPercentages = "ALLOCATION_PERCENTAGES" 14395) 14396 14397// CostCategorySplitChargeRuleParameterType_Values returns all elements of the CostCategorySplitChargeRuleParameterType enum 14398func CostCategorySplitChargeRuleParameterType_Values() []string { 14399 return []string{ 14400 CostCategorySplitChargeRuleParameterTypeAllocationPercentages, 14401 } 14402} 14403 14404const ( 14405 // CostCategoryStatusProcessing is a CostCategoryStatus enum value 14406 CostCategoryStatusProcessing = "PROCESSING" 14407 14408 // CostCategoryStatusApplied is a CostCategoryStatus enum value 14409 CostCategoryStatusApplied = "APPLIED" 14410) 14411 14412// CostCategoryStatus_Values returns all elements of the CostCategoryStatus enum 14413func CostCategoryStatus_Values() []string { 14414 return []string{ 14415 CostCategoryStatusProcessing, 14416 CostCategoryStatusApplied, 14417 } 14418} 14419 14420const ( 14421 // CostCategoryStatusComponentCostExplorer is a CostCategoryStatusComponent enum value 14422 CostCategoryStatusComponentCostExplorer = "COST_EXPLORER" 14423) 14424 14425// CostCategoryStatusComponent_Values returns all elements of the CostCategoryStatusComponent enum 14426func CostCategoryStatusComponent_Values() []string { 14427 return []string{ 14428 CostCategoryStatusComponentCostExplorer, 14429 } 14430} 14431 14432const ( 14433 // DimensionAz is a Dimension enum value 14434 DimensionAz = "AZ" 14435 14436 // DimensionInstanceType is a Dimension enum value 14437 DimensionInstanceType = "INSTANCE_TYPE" 14438 14439 // DimensionLinkedAccount is a Dimension enum value 14440 DimensionLinkedAccount = "LINKED_ACCOUNT" 14441 14442 // DimensionLinkedAccountName is a Dimension enum value 14443 DimensionLinkedAccountName = "LINKED_ACCOUNT_NAME" 14444 14445 // DimensionOperation is a Dimension enum value 14446 DimensionOperation = "OPERATION" 14447 14448 // DimensionPurchaseType is a Dimension enum value 14449 DimensionPurchaseType = "PURCHASE_TYPE" 14450 14451 // DimensionRegion is a Dimension enum value 14452 DimensionRegion = "REGION" 14453 14454 // DimensionService is a Dimension enum value 14455 DimensionService = "SERVICE" 14456 14457 // DimensionServiceCode is a Dimension enum value 14458 DimensionServiceCode = "SERVICE_CODE" 14459 14460 // DimensionUsageType is a Dimension enum value 14461 DimensionUsageType = "USAGE_TYPE" 14462 14463 // DimensionUsageTypeGroup is a Dimension enum value 14464 DimensionUsageTypeGroup = "USAGE_TYPE_GROUP" 14465 14466 // DimensionRecordType is a Dimension enum value 14467 DimensionRecordType = "RECORD_TYPE" 14468 14469 // DimensionOperatingSystem is a Dimension enum value 14470 DimensionOperatingSystem = "OPERATING_SYSTEM" 14471 14472 // DimensionTenancy is a Dimension enum value 14473 DimensionTenancy = "TENANCY" 14474 14475 // DimensionScope is a Dimension enum value 14476 DimensionScope = "SCOPE" 14477 14478 // DimensionPlatform is a Dimension enum value 14479 DimensionPlatform = "PLATFORM" 14480 14481 // DimensionSubscriptionId is a Dimension enum value 14482 DimensionSubscriptionId = "SUBSCRIPTION_ID" 14483 14484 // DimensionLegalEntityName is a Dimension enum value 14485 DimensionLegalEntityName = "LEGAL_ENTITY_NAME" 14486 14487 // DimensionDeploymentOption is a Dimension enum value 14488 DimensionDeploymentOption = "DEPLOYMENT_OPTION" 14489 14490 // DimensionDatabaseEngine is a Dimension enum value 14491 DimensionDatabaseEngine = "DATABASE_ENGINE" 14492 14493 // DimensionCacheEngine is a Dimension enum value 14494 DimensionCacheEngine = "CACHE_ENGINE" 14495 14496 // DimensionInstanceTypeFamily is a Dimension enum value 14497 DimensionInstanceTypeFamily = "INSTANCE_TYPE_FAMILY" 14498 14499 // DimensionBillingEntity is a Dimension enum value 14500 DimensionBillingEntity = "BILLING_ENTITY" 14501 14502 // DimensionReservationId is a Dimension enum value 14503 DimensionReservationId = "RESERVATION_ID" 14504 14505 // DimensionResourceId is a Dimension enum value 14506 DimensionResourceId = "RESOURCE_ID" 14507 14508 // DimensionRightsizingType is a Dimension enum value 14509 DimensionRightsizingType = "RIGHTSIZING_TYPE" 14510 14511 // DimensionSavingsPlansType is a Dimension enum value 14512 DimensionSavingsPlansType = "SAVINGS_PLANS_TYPE" 14513 14514 // DimensionSavingsPlanArn is a Dimension enum value 14515 DimensionSavingsPlanArn = "SAVINGS_PLAN_ARN" 14516 14517 // DimensionPaymentOption is a Dimension enum value 14518 DimensionPaymentOption = "PAYMENT_OPTION" 14519 14520 // DimensionAgreementEndDateTimeAfter is a Dimension enum value 14521 DimensionAgreementEndDateTimeAfter = "AGREEMENT_END_DATE_TIME_AFTER" 14522 14523 // DimensionAgreementEndDateTimeBefore is a Dimension enum value 14524 DimensionAgreementEndDateTimeBefore = "AGREEMENT_END_DATE_TIME_BEFORE" 14525) 14526 14527// Dimension_Values returns all elements of the Dimension enum 14528func Dimension_Values() []string { 14529 return []string{ 14530 DimensionAz, 14531 DimensionInstanceType, 14532 DimensionLinkedAccount, 14533 DimensionLinkedAccountName, 14534 DimensionOperation, 14535 DimensionPurchaseType, 14536 DimensionRegion, 14537 DimensionService, 14538 DimensionServiceCode, 14539 DimensionUsageType, 14540 DimensionUsageTypeGroup, 14541 DimensionRecordType, 14542 DimensionOperatingSystem, 14543 DimensionTenancy, 14544 DimensionScope, 14545 DimensionPlatform, 14546 DimensionSubscriptionId, 14547 DimensionLegalEntityName, 14548 DimensionDeploymentOption, 14549 DimensionDatabaseEngine, 14550 DimensionCacheEngine, 14551 DimensionInstanceTypeFamily, 14552 DimensionBillingEntity, 14553 DimensionReservationId, 14554 DimensionResourceId, 14555 DimensionRightsizingType, 14556 DimensionSavingsPlansType, 14557 DimensionSavingsPlanArn, 14558 DimensionPaymentOption, 14559 DimensionAgreementEndDateTimeAfter, 14560 DimensionAgreementEndDateTimeBefore, 14561 } 14562} 14563 14564const ( 14565 // FindingReasonCodeCpuOverProvisioned is a FindingReasonCode enum value 14566 FindingReasonCodeCpuOverProvisioned = "CPU_OVER_PROVISIONED" 14567 14568 // FindingReasonCodeCpuUnderProvisioned is a FindingReasonCode enum value 14569 FindingReasonCodeCpuUnderProvisioned = "CPU_UNDER_PROVISIONED" 14570 14571 // FindingReasonCodeMemoryOverProvisioned is a FindingReasonCode enum value 14572 FindingReasonCodeMemoryOverProvisioned = "MEMORY_OVER_PROVISIONED" 14573 14574 // FindingReasonCodeMemoryUnderProvisioned is a FindingReasonCode enum value 14575 FindingReasonCodeMemoryUnderProvisioned = "MEMORY_UNDER_PROVISIONED" 14576 14577 // FindingReasonCodeEbsThroughputOverProvisioned is a FindingReasonCode enum value 14578 FindingReasonCodeEbsThroughputOverProvisioned = "EBS_THROUGHPUT_OVER_PROVISIONED" 14579 14580 // FindingReasonCodeEbsThroughputUnderProvisioned is a FindingReasonCode enum value 14581 FindingReasonCodeEbsThroughputUnderProvisioned = "EBS_THROUGHPUT_UNDER_PROVISIONED" 14582 14583 // FindingReasonCodeEbsIopsOverProvisioned is a FindingReasonCode enum value 14584 FindingReasonCodeEbsIopsOverProvisioned = "EBS_IOPS_OVER_PROVISIONED" 14585 14586 // FindingReasonCodeEbsIopsUnderProvisioned is a FindingReasonCode enum value 14587 FindingReasonCodeEbsIopsUnderProvisioned = "EBS_IOPS_UNDER_PROVISIONED" 14588 14589 // FindingReasonCodeNetworkBandwidthOverProvisioned is a FindingReasonCode enum value 14590 FindingReasonCodeNetworkBandwidthOverProvisioned = "NETWORK_BANDWIDTH_OVER_PROVISIONED" 14591 14592 // FindingReasonCodeNetworkBandwidthUnderProvisioned is a FindingReasonCode enum value 14593 FindingReasonCodeNetworkBandwidthUnderProvisioned = "NETWORK_BANDWIDTH_UNDER_PROVISIONED" 14594 14595 // FindingReasonCodeNetworkPpsOverProvisioned is a FindingReasonCode enum value 14596 FindingReasonCodeNetworkPpsOverProvisioned = "NETWORK_PPS_OVER_PROVISIONED" 14597 14598 // FindingReasonCodeNetworkPpsUnderProvisioned is a FindingReasonCode enum value 14599 FindingReasonCodeNetworkPpsUnderProvisioned = "NETWORK_PPS_UNDER_PROVISIONED" 14600 14601 // FindingReasonCodeDiskIopsOverProvisioned is a FindingReasonCode enum value 14602 FindingReasonCodeDiskIopsOverProvisioned = "DISK_IOPS_OVER_PROVISIONED" 14603 14604 // FindingReasonCodeDiskIopsUnderProvisioned is a FindingReasonCode enum value 14605 FindingReasonCodeDiskIopsUnderProvisioned = "DISK_IOPS_UNDER_PROVISIONED" 14606 14607 // FindingReasonCodeDiskThroughputOverProvisioned is a FindingReasonCode enum value 14608 FindingReasonCodeDiskThroughputOverProvisioned = "DISK_THROUGHPUT_OVER_PROVISIONED" 14609 14610 // FindingReasonCodeDiskThroughputUnderProvisioned is a FindingReasonCode enum value 14611 FindingReasonCodeDiskThroughputUnderProvisioned = "DISK_THROUGHPUT_UNDER_PROVISIONED" 14612) 14613 14614// FindingReasonCode_Values returns all elements of the FindingReasonCode enum 14615func FindingReasonCode_Values() []string { 14616 return []string{ 14617 FindingReasonCodeCpuOverProvisioned, 14618 FindingReasonCodeCpuUnderProvisioned, 14619 FindingReasonCodeMemoryOverProvisioned, 14620 FindingReasonCodeMemoryUnderProvisioned, 14621 FindingReasonCodeEbsThroughputOverProvisioned, 14622 FindingReasonCodeEbsThroughputUnderProvisioned, 14623 FindingReasonCodeEbsIopsOverProvisioned, 14624 FindingReasonCodeEbsIopsUnderProvisioned, 14625 FindingReasonCodeNetworkBandwidthOverProvisioned, 14626 FindingReasonCodeNetworkBandwidthUnderProvisioned, 14627 FindingReasonCodeNetworkPpsOverProvisioned, 14628 FindingReasonCodeNetworkPpsUnderProvisioned, 14629 FindingReasonCodeDiskIopsOverProvisioned, 14630 FindingReasonCodeDiskIopsUnderProvisioned, 14631 FindingReasonCodeDiskThroughputOverProvisioned, 14632 FindingReasonCodeDiskThroughputUnderProvisioned, 14633 } 14634} 14635 14636const ( 14637 // GranularityDaily is a Granularity enum value 14638 GranularityDaily = "DAILY" 14639 14640 // GranularityMonthly is a Granularity enum value 14641 GranularityMonthly = "MONTHLY" 14642 14643 // GranularityHourly is a Granularity enum value 14644 GranularityHourly = "HOURLY" 14645) 14646 14647// Granularity_Values returns all elements of the Granularity enum 14648func Granularity_Values() []string { 14649 return []string{ 14650 GranularityDaily, 14651 GranularityMonthly, 14652 GranularityHourly, 14653 } 14654} 14655 14656const ( 14657 // GroupDefinitionTypeDimension is a GroupDefinitionType enum value 14658 GroupDefinitionTypeDimension = "DIMENSION" 14659 14660 // GroupDefinitionTypeTag is a GroupDefinitionType enum value 14661 GroupDefinitionTypeTag = "TAG" 14662 14663 // GroupDefinitionTypeCostCategory is a GroupDefinitionType enum value 14664 GroupDefinitionTypeCostCategory = "COST_CATEGORY" 14665) 14666 14667// GroupDefinitionType_Values returns all elements of the GroupDefinitionType enum 14668func GroupDefinitionType_Values() []string { 14669 return []string{ 14670 GroupDefinitionTypeDimension, 14671 GroupDefinitionTypeTag, 14672 GroupDefinitionTypeCostCategory, 14673 } 14674} 14675 14676const ( 14677 // LookbackPeriodInDaysSevenDays is a LookbackPeriodInDays enum value 14678 LookbackPeriodInDaysSevenDays = "SEVEN_DAYS" 14679 14680 // LookbackPeriodInDaysThirtyDays is a LookbackPeriodInDays enum value 14681 LookbackPeriodInDaysThirtyDays = "THIRTY_DAYS" 14682 14683 // LookbackPeriodInDaysSixtyDays is a LookbackPeriodInDays enum value 14684 LookbackPeriodInDaysSixtyDays = "SIXTY_DAYS" 14685) 14686 14687// LookbackPeriodInDays_Values returns all elements of the LookbackPeriodInDays enum 14688func LookbackPeriodInDays_Values() []string { 14689 return []string{ 14690 LookbackPeriodInDaysSevenDays, 14691 LookbackPeriodInDaysThirtyDays, 14692 LookbackPeriodInDaysSixtyDays, 14693 } 14694} 14695 14696const ( 14697 // MatchOptionEquals is a MatchOption enum value 14698 MatchOptionEquals = "EQUALS" 14699 14700 // MatchOptionAbsent is a MatchOption enum value 14701 MatchOptionAbsent = "ABSENT" 14702 14703 // MatchOptionStartsWith is a MatchOption enum value 14704 MatchOptionStartsWith = "STARTS_WITH" 14705 14706 // MatchOptionEndsWith is a MatchOption enum value 14707 MatchOptionEndsWith = "ENDS_WITH" 14708 14709 // MatchOptionContains is a MatchOption enum value 14710 MatchOptionContains = "CONTAINS" 14711 14712 // MatchOptionCaseSensitive is a MatchOption enum value 14713 MatchOptionCaseSensitive = "CASE_SENSITIVE" 14714 14715 // MatchOptionCaseInsensitive is a MatchOption enum value 14716 MatchOptionCaseInsensitive = "CASE_INSENSITIVE" 14717) 14718 14719// MatchOption_Values returns all elements of the MatchOption enum 14720func MatchOption_Values() []string { 14721 return []string{ 14722 MatchOptionEquals, 14723 MatchOptionAbsent, 14724 MatchOptionStartsWith, 14725 MatchOptionEndsWith, 14726 MatchOptionContains, 14727 MatchOptionCaseSensitive, 14728 MatchOptionCaseInsensitive, 14729 } 14730} 14731 14732const ( 14733 // MetricBlendedCost is a Metric enum value 14734 MetricBlendedCost = "BLENDED_COST" 14735 14736 // MetricUnblendedCost is a Metric enum value 14737 MetricUnblendedCost = "UNBLENDED_COST" 14738 14739 // MetricAmortizedCost is a Metric enum value 14740 MetricAmortizedCost = "AMORTIZED_COST" 14741 14742 // MetricNetUnblendedCost is a Metric enum value 14743 MetricNetUnblendedCost = "NET_UNBLENDED_COST" 14744 14745 // MetricNetAmortizedCost is a Metric enum value 14746 MetricNetAmortizedCost = "NET_AMORTIZED_COST" 14747 14748 // MetricUsageQuantity is a Metric enum value 14749 MetricUsageQuantity = "USAGE_QUANTITY" 14750 14751 // MetricNormalizedUsageAmount is a Metric enum value 14752 MetricNormalizedUsageAmount = "NORMALIZED_USAGE_AMOUNT" 14753) 14754 14755// Metric_Values returns all elements of the Metric enum 14756func Metric_Values() []string { 14757 return []string{ 14758 MetricBlendedCost, 14759 MetricUnblendedCost, 14760 MetricAmortizedCost, 14761 MetricNetUnblendedCost, 14762 MetricNetAmortizedCost, 14763 MetricUsageQuantity, 14764 MetricNormalizedUsageAmount, 14765 } 14766} 14767 14768const ( 14769 // MonitorDimensionService is a MonitorDimension enum value 14770 MonitorDimensionService = "SERVICE" 14771) 14772 14773// MonitorDimension_Values returns all elements of the MonitorDimension enum 14774func MonitorDimension_Values() []string { 14775 return []string{ 14776 MonitorDimensionService, 14777 } 14778} 14779 14780const ( 14781 // MonitorTypeDimensional is a MonitorType enum value 14782 MonitorTypeDimensional = "DIMENSIONAL" 14783 14784 // MonitorTypeCustom is a MonitorType enum value 14785 MonitorTypeCustom = "CUSTOM" 14786) 14787 14788// MonitorType_Values returns all elements of the MonitorType enum 14789func MonitorType_Values() []string { 14790 return []string{ 14791 MonitorTypeDimensional, 14792 MonitorTypeCustom, 14793 } 14794} 14795 14796const ( 14797 // NumericOperatorEqual is a NumericOperator enum value 14798 NumericOperatorEqual = "EQUAL" 14799 14800 // NumericOperatorGreaterThanOrEqual is a NumericOperator enum value 14801 NumericOperatorGreaterThanOrEqual = "GREATER_THAN_OR_EQUAL" 14802 14803 // NumericOperatorLessThanOrEqual is a NumericOperator enum value 14804 NumericOperatorLessThanOrEqual = "LESS_THAN_OR_EQUAL" 14805 14806 // NumericOperatorGreaterThan is a NumericOperator enum value 14807 NumericOperatorGreaterThan = "GREATER_THAN" 14808 14809 // NumericOperatorLessThan is a NumericOperator enum value 14810 NumericOperatorLessThan = "LESS_THAN" 14811 14812 // NumericOperatorBetween is a NumericOperator enum value 14813 NumericOperatorBetween = "BETWEEN" 14814) 14815 14816// NumericOperator_Values returns all elements of the NumericOperator enum 14817func NumericOperator_Values() []string { 14818 return []string{ 14819 NumericOperatorEqual, 14820 NumericOperatorGreaterThanOrEqual, 14821 NumericOperatorLessThanOrEqual, 14822 NumericOperatorGreaterThan, 14823 NumericOperatorLessThan, 14824 NumericOperatorBetween, 14825 } 14826} 14827 14828const ( 14829 // OfferingClassStandard is a OfferingClass enum value 14830 OfferingClassStandard = "STANDARD" 14831 14832 // OfferingClassConvertible is a OfferingClass enum value 14833 OfferingClassConvertible = "CONVERTIBLE" 14834) 14835 14836// OfferingClass_Values returns all elements of the OfferingClass enum 14837func OfferingClass_Values() []string { 14838 return []string{ 14839 OfferingClassStandard, 14840 OfferingClassConvertible, 14841 } 14842} 14843 14844const ( 14845 // PaymentOptionNoUpfront is a PaymentOption enum value 14846 PaymentOptionNoUpfront = "NO_UPFRONT" 14847 14848 // PaymentOptionPartialUpfront is a PaymentOption enum value 14849 PaymentOptionPartialUpfront = "PARTIAL_UPFRONT" 14850 14851 // PaymentOptionAllUpfront is a PaymentOption enum value 14852 PaymentOptionAllUpfront = "ALL_UPFRONT" 14853 14854 // PaymentOptionLightUtilization is a PaymentOption enum value 14855 PaymentOptionLightUtilization = "LIGHT_UTILIZATION" 14856 14857 // PaymentOptionMediumUtilization is a PaymentOption enum value 14858 PaymentOptionMediumUtilization = "MEDIUM_UTILIZATION" 14859 14860 // PaymentOptionHeavyUtilization is a PaymentOption enum value 14861 PaymentOptionHeavyUtilization = "HEAVY_UTILIZATION" 14862) 14863 14864// PaymentOption_Values returns all elements of the PaymentOption enum 14865func PaymentOption_Values() []string { 14866 return []string{ 14867 PaymentOptionNoUpfront, 14868 PaymentOptionPartialUpfront, 14869 PaymentOptionAllUpfront, 14870 PaymentOptionLightUtilization, 14871 PaymentOptionMediumUtilization, 14872 PaymentOptionHeavyUtilization, 14873 } 14874} 14875 14876const ( 14877 // PlatformDifferenceHypervisor is a PlatformDifference enum value 14878 PlatformDifferenceHypervisor = "HYPERVISOR" 14879 14880 // PlatformDifferenceNetworkInterface is a PlatformDifference enum value 14881 PlatformDifferenceNetworkInterface = "NETWORK_INTERFACE" 14882 14883 // PlatformDifferenceStorageInterface is a PlatformDifference enum value 14884 PlatformDifferenceStorageInterface = "STORAGE_INTERFACE" 14885 14886 // PlatformDifferenceInstanceStoreAvailability is a PlatformDifference enum value 14887 PlatformDifferenceInstanceStoreAvailability = "INSTANCE_STORE_AVAILABILITY" 14888 14889 // PlatformDifferenceVirtualizationType is a PlatformDifference enum value 14890 PlatformDifferenceVirtualizationType = "VIRTUALIZATION_TYPE" 14891) 14892 14893// PlatformDifference_Values returns all elements of the PlatformDifference enum 14894func PlatformDifference_Values() []string { 14895 return []string{ 14896 PlatformDifferenceHypervisor, 14897 PlatformDifferenceNetworkInterface, 14898 PlatformDifferenceStorageInterface, 14899 PlatformDifferenceInstanceStoreAvailability, 14900 PlatformDifferenceVirtualizationType, 14901 } 14902} 14903 14904const ( 14905 // RecommendationTargetSameInstanceFamily is a RecommendationTarget enum value 14906 RecommendationTargetSameInstanceFamily = "SAME_INSTANCE_FAMILY" 14907 14908 // RecommendationTargetCrossInstanceFamily is a RecommendationTarget enum value 14909 RecommendationTargetCrossInstanceFamily = "CROSS_INSTANCE_FAMILY" 14910) 14911 14912// RecommendationTarget_Values returns all elements of the RecommendationTarget enum 14913func RecommendationTarget_Values() []string { 14914 return []string{ 14915 RecommendationTargetSameInstanceFamily, 14916 RecommendationTargetCrossInstanceFamily, 14917 } 14918} 14919 14920const ( 14921 // RightsizingTypeTerminate is a RightsizingType enum value 14922 RightsizingTypeTerminate = "TERMINATE" 14923 14924 // RightsizingTypeModify is a RightsizingType enum value 14925 RightsizingTypeModify = "MODIFY" 14926) 14927 14928// RightsizingType_Values returns all elements of the RightsizingType enum 14929func RightsizingType_Values() []string { 14930 return []string{ 14931 RightsizingTypeTerminate, 14932 RightsizingTypeModify, 14933 } 14934} 14935 14936const ( 14937 // SavingsPlansDataTypeAttributes is a SavingsPlansDataType enum value 14938 SavingsPlansDataTypeAttributes = "ATTRIBUTES" 14939 14940 // SavingsPlansDataTypeUtilization is a SavingsPlansDataType enum value 14941 SavingsPlansDataTypeUtilization = "UTILIZATION" 14942 14943 // SavingsPlansDataTypeAmortizedCommitment is a SavingsPlansDataType enum value 14944 SavingsPlansDataTypeAmortizedCommitment = "AMORTIZED_COMMITMENT" 14945 14946 // SavingsPlansDataTypeSavings is a SavingsPlansDataType enum value 14947 SavingsPlansDataTypeSavings = "SAVINGS" 14948) 14949 14950// SavingsPlansDataType_Values returns all elements of the SavingsPlansDataType enum 14951func SavingsPlansDataType_Values() []string { 14952 return []string{ 14953 SavingsPlansDataTypeAttributes, 14954 SavingsPlansDataTypeUtilization, 14955 SavingsPlansDataTypeAmortizedCommitment, 14956 SavingsPlansDataTypeSavings, 14957 } 14958} 14959 14960const ( 14961 // SortOrderAscending is a SortOrder enum value 14962 SortOrderAscending = "ASCENDING" 14963 14964 // SortOrderDescending is a SortOrder enum value 14965 SortOrderDescending = "DESCENDING" 14966) 14967 14968// SortOrder_Values returns all elements of the SortOrder enum 14969func SortOrder_Values() []string { 14970 return []string{ 14971 SortOrderAscending, 14972 SortOrderDescending, 14973 } 14974} 14975 14976const ( 14977 // SubscriberStatusConfirmed is a SubscriberStatus enum value 14978 SubscriberStatusConfirmed = "CONFIRMED" 14979 14980 // SubscriberStatusDeclined is a SubscriberStatus enum value 14981 SubscriberStatusDeclined = "DECLINED" 14982) 14983 14984// SubscriberStatus_Values returns all elements of the SubscriberStatus enum 14985func SubscriberStatus_Values() []string { 14986 return []string{ 14987 SubscriberStatusConfirmed, 14988 SubscriberStatusDeclined, 14989 } 14990} 14991 14992const ( 14993 // SubscriberTypeEmail is a SubscriberType enum value 14994 SubscriberTypeEmail = "EMAIL" 14995 14996 // SubscriberTypeSns is a SubscriberType enum value 14997 SubscriberTypeSns = "SNS" 14998) 14999 15000// SubscriberType_Values returns all elements of the SubscriberType enum 15001func SubscriberType_Values() []string { 15002 return []string{ 15003 SubscriberTypeEmail, 15004 SubscriberTypeSns, 15005 } 15006} 15007 15008const ( 15009 // SupportedSavingsPlansTypeComputeSp is a SupportedSavingsPlansType enum value 15010 SupportedSavingsPlansTypeComputeSp = "COMPUTE_SP" 15011 15012 // SupportedSavingsPlansTypeEc2InstanceSp is a SupportedSavingsPlansType enum value 15013 SupportedSavingsPlansTypeEc2InstanceSp = "EC2_INSTANCE_SP" 15014 15015 // SupportedSavingsPlansTypeSagemakerSp is a SupportedSavingsPlansType enum value 15016 SupportedSavingsPlansTypeSagemakerSp = "SAGEMAKER_SP" 15017) 15018 15019// SupportedSavingsPlansType_Values returns all elements of the SupportedSavingsPlansType enum 15020func SupportedSavingsPlansType_Values() []string { 15021 return []string{ 15022 SupportedSavingsPlansTypeComputeSp, 15023 SupportedSavingsPlansTypeEc2InstanceSp, 15024 SupportedSavingsPlansTypeSagemakerSp, 15025 } 15026} 15027 15028const ( 15029 // TermInYearsOneYear is a TermInYears enum value 15030 TermInYearsOneYear = "ONE_YEAR" 15031 15032 // TermInYearsThreeYears is a TermInYears enum value 15033 TermInYearsThreeYears = "THREE_YEARS" 15034) 15035 15036// TermInYears_Values returns all elements of the TermInYears enum 15037func TermInYears_Values() []string { 15038 return []string{ 15039 TermInYearsOneYear, 15040 TermInYearsThreeYears, 15041 } 15042} 15043