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 2909func (s Anomaly) String() string { 2910 return awsutil.Prettify(s) 2911} 2912 2913// GoString returns the string representation 2914func (s Anomaly) GoString() string { 2915 return s.String() 2916} 2917 2918// SetAnomalyEndDate sets the AnomalyEndDate field's value. 2919func (s *Anomaly) SetAnomalyEndDate(v string) *Anomaly { 2920 s.AnomalyEndDate = &v 2921 return s 2922} 2923 2924// SetAnomalyId sets the AnomalyId field's value. 2925func (s *Anomaly) SetAnomalyId(v string) *Anomaly { 2926 s.AnomalyId = &v 2927 return s 2928} 2929 2930// SetAnomalyScore sets the AnomalyScore field's value. 2931func (s *Anomaly) SetAnomalyScore(v *AnomalyScore) *Anomaly { 2932 s.AnomalyScore = v 2933 return s 2934} 2935 2936// SetAnomalyStartDate sets the AnomalyStartDate field's value. 2937func (s *Anomaly) SetAnomalyStartDate(v string) *Anomaly { 2938 s.AnomalyStartDate = &v 2939 return s 2940} 2941 2942// SetDimensionValue sets the DimensionValue field's value. 2943func (s *Anomaly) SetDimensionValue(v string) *Anomaly { 2944 s.DimensionValue = &v 2945 return s 2946} 2947 2948// SetFeedback sets the Feedback field's value. 2949func (s *Anomaly) SetFeedback(v string) *Anomaly { 2950 s.Feedback = &v 2951 return s 2952} 2953 2954// SetImpact sets the Impact field's value. 2955func (s *Anomaly) SetImpact(v *Impact) *Anomaly { 2956 s.Impact = v 2957 return s 2958} 2959 2960// SetMonitorArn sets the MonitorArn field's value. 2961func (s *Anomaly) SetMonitorArn(v string) *Anomaly { 2962 s.MonitorArn = &v 2963 return s 2964} 2965 2966// SetRootCauses sets the RootCauses field's value. 2967func (s *Anomaly) SetRootCauses(v []*RootCause) *Anomaly { 2968 s.RootCauses = v 2969 return s 2970} 2971 2972// The time period for an anomaly. 2973type AnomalyDateInterval struct { 2974 _ struct{} `type:"structure"` 2975 2976 // The last date an anomaly was observed. 2977 EndDate *string `type:"string"` 2978 2979 // The first date an anomaly was observed. 2980 // 2981 // StartDate is a required field 2982 StartDate *string `type:"string" required:"true"` 2983} 2984 2985// String returns the string representation 2986func (s AnomalyDateInterval) String() string { 2987 return awsutil.Prettify(s) 2988} 2989 2990// GoString returns the string representation 2991func (s AnomalyDateInterval) GoString() string { 2992 return s.String() 2993} 2994 2995// Validate inspects the fields of the type to determine if they are valid. 2996func (s *AnomalyDateInterval) Validate() error { 2997 invalidParams := request.ErrInvalidParams{Context: "AnomalyDateInterval"} 2998 if s.StartDate == nil { 2999 invalidParams.Add(request.NewErrParamRequired("StartDate")) 3000 } 3001 3002 if invalidParams.Len() > 0 { 3003 return invalidParams 3004 } 3005 return nil 3006} 3007 3008// SetEndDate sets the EndDate field's value. 3009func (s *AnomalyDateInterval) SetEndDate(v string) *AnomalyDateInterval { 3010 s.EndDate = &v 3011 return s 3012} 3013 3014// SetStartDate sets the StartDate field's value. 3015func (s *AnomalyDateInterval) SetStartDate(v string) *AnomalyDateInterval { 3016 s.StartDate = &v 3017 return s 3018} 3019 3020// This object continuously inspects your account's cost data for anomalies. 3021// It's based on MonitorType and MonitorSpecification. The content consists 3022// of detailed metadata and the current status of the monitor object. 3023type AnomalyMonitor struct { 3024 _ struct{} `type:"structure"` 3025 3026 // The date when the monitor was created. 3027 CreationDate *string `type:"string"` 3028 3029 // The value for evaluated dimensions. 3030 DimensionalValueCount *int64 `type:"integer"` 3031 3032 // The date when the monitor last evaluated for anomalies. 3033 LastEvaluatedDate *string `type:"string"` 3034 3035 // The date when the monitor was last updated. 3036 LastUpdatedDate *string `type:"string"` 3037 3038 // The Amazon Resource Name (ARN) value. 3039 MonitorArn *string `type:"string"` 3040 3041 // The dimensions to evaluate. 3042 MonitorDimension *string `type:"string" enum:"MonitorDimension"` 3043 3044 // The name of the monitor. 3045 // 3046 // MonitorName is a required field 3047 MonitorName *string `type:"string" required:"true"` 3048 3049 // Use Expression to filter by cost or by usage. There are two patterns: 3050 // 3051 // * Simple dimension values - You can set the dimension name and values 3052 // for the filters that you plan to use. For example, you can filter for 3053 // REGION==us-east-1 OR REGION==us-west-1. For GetRightsizingRecommendation, 3054 // the Region is a full name (for example, REGION==US East (N. Virginia). 3055 // The Expression example is as follows: { "Dimensions": { "Key": "REGION", 3056 // "Values": [ "us-east-1", “us-west-1” ] } } The list of dimension values 3057 // are OR'd together to retrieve cost or usage data. You can create Expression 3058 // and DimensionValues objects using either with* methods or set* methods 3059 // in multiple lines. 3060 // 3061 // * Compound dimension values with logical operations - You can use multiple 3062 // Expression types and the logical operators AND/OR/NOT to create a list 3063 // of one or more Expression objects. By doing this, you can filter on more 3064 // advanced options. For example, you can filter on ((REGION == us-east-1 3065 // OR REGION == us-west-1) OR (TAG.Type == Type1)) AND (USAGE_TYPE != DataTransfer). 3066 // The Expression for that is as follows: { "And": [ {"Or": [ {"Dimensions": 3067 // { "Key": "REGION", "Values": [ "us-east-1", "us-west-1" ] }}, {"Tags": 3068 // { "Key": "TagName", "Values": ["Value1"] } } ]}, {"Not": {"Dimensions": 3069 // { "Key": "USAGE_TYPE", "Values": ["DataTransfer"] }}} ] } Because each 3070 // Expression can have only one operator, the service returns an error if 3071 // more than one is specified. The following example shows an Expression 3072 // object that creates an error. { "And": [ ... ], "DimensionValues": { "Dimension": 3073 // "USAGE_TYPE", "Values": [ "DataTransfer" ] } } 3074 // 3075 // For the GetRightsizingRecommendation action, a combination of OR and NOT 3076 // isn't supported. OR isn't supported between different dimensions, or dimensions 3077 // and tags. NOT operators aren't supported. Dimensions are also limited to 3078 // LINKED_ACCOUNT, REGION, or RIGHTSIZING_TYPE. 3079 // 3080 // For the GetReservationPurchaseRecommendation action, only NOT is supported. 3081 // AND and OR aren't supported. Dimensions are limited to LINKED_ACCOUNT. 3082 MonitorSpecification *Expression `type:"structure"` 3083 3084 // The possible type values. 3085 // 3086 // MonitorType is a required field 3087 MonitorType *string `type:"string" required:"true" enum:"MonitorType"` 3088} 3089 3090// String returns the string representation 3091func (s AnomalyMonitor) String() string { 3092 return awsutil.Prettify(s) 3093} 3094 3095// GoString returns the string representation 3096func (s AnomalyMonitor) GoString() string { 3097 return s.String() 3098} 3099 3100// Validate inspects the fields of the type to determine if they are valid. 3101func (s *AnomalyMonitor) Validate() error { 3102 invalidParams := request.ErrInvalidParams{Context: "AnomalyMonitor"} 3103 if s.MonitorName == nil { 3104 invalidParams.Add(request.NewErrParamRequired("MonitorName")) 3105 } 3106 if s.MonitorType == nil { 3107 invalidParams.Add(request.NewErrParamRequired("MonitorType")) 3108 } 3109 if s.MonitorSpecification != nil { 3110 if err := s.MonitorSpecification.Validate(); err != nil { 3111 invalidParams.AddNested("MonitorSpecification", err.(request.ErrInvalidParams)) 3112 } 3113 } 3114 3115 if invalidParams.Len() > 0 { 3116 return invalidParams 3117 } 3118 return nil 3119} 3120 3121// SetCreationDate sets the CreationDate field's value. 3122func (s *AnomalyMonitor) SetCreationDate(v string) *AnomalyMonitor { 3123 s.CreationDate = &v 3124 return s 3125} 3126 3127// SetDimensionalValueCount sets the DimensionalValueCount field's value. 3128func (s *AnomalyMonitor) SetDimensionalValueCount(v int64) *AnomalyMonitor { 3129 s.DimensionalValueCount = &v 3130 return s 3131} 3132 3133// SetLastEvaluatedDate sets the LastEvaluatedDate field's value. 3134func (s *AnomalyMonitor) SetLastEvaluatedDate(v string) *AnomalyMonitor { 3135 s.LastEvaluatedDate = &v 3136 return s 3137} 3138 3139// SetLastUpdatedDate sets the LastUpdatedDate field's value. 3140func (s *AnomalyMonitor) SetLastUpdatedDate(v string) *AnomalyMonitor { 3141 s.LastUpdatedDate = &v 3142 return s 3143} 3144 3145// SetMonitorArn sets the MonitorArn field's value. 3146func (s *AnomalyMonitor) SetMonitorArn(v string) *AnomalyMonitor { 3147 s.MonitorArn = &v 3148 return s 3149} 3150 3151// SetMonitorDimension sets the MonitorDimension field's value. 3152func (s *AnomalyMonitor) SetMonitorDimension(v string) *AnomalyMonitor { 3153 s.MonitorDimension = &v 3154 return s 3155} 3156 3157// SetMonitorName sets the MonitorName field's value. 3158func (s *AnomalyMonitor) SetMonitorName(v string) *AnomalyMonitor { 3159 s.MonitorName = &v 3160 return s 3161} 3162 3163// SetMonitorSpecification sets the MonitorSpecification field's value. 3164func (s *AnomalyMonitor) SetMonitorSpecification(v *Expression) *AnomalyMonitor { 3165 s.MonitorSpecification = v 3166 return s 3167} 3168 3169// SetMonitorType sets the MonitorType field's value. 3170func (s *AnomalyMonitor) SetMonitorType(v string) *AnomalyMonitor { 3171 s.MonitorType = &v 3172 return s 3173} 3174 3175// Quantifies the anomaly. The higher score means that it's more anomalous. 3176type AnomalyScore struct { 3177 _ struct{} `type:"structure"` 3178 3179 // The last observed score. 3180 // 3181 // CurrentScore is a required field 3182 CurrentScore *float64 `type:"double" required:"true"` 3183 3184 // The maximum score that's observed during the AnomalyDateInterval. 3185 // 3186 // MaxScore is a required field 3187 MaxScore *float64 `type:"double" required:"true"` 3188} 3189 3190// String returns the string representation 3191func (s AnomalyScore) String() string { 3192 return awsutil.Prettify(s) 3193} 3194 3195// GoString returns the string representation 3196func (s AnomalyScore) GoString() string { 3197 return s.String() 3198} 3199 3200// SetCurrentScore sets the CurrentScore field's value. 3201func (s *AnomalyScore) SetCurrentScore(v float64) *AnomalyScore { 3202 s.CurrentScore = &v 3203 return s 3204} 3205 3206// SetMaxScore sets the MaxScore field's value. 3207func (s *AnomalyScore) SetMaxScore(v float64) *AnomalyScore { 3208 s.MaxScore = &v 3209 return s 3210} 3211 3212// The association between a monitor, threshold, and list of subscribers used 3213// to deliver notifications about anomalies detected by a monitor that exceeds 3214// a threshold. The content consists of the detailed metadata and the current 3215// status of the AnomalySubscription object. 3216type AnomalySubscription struct { 3217 _ struct{} `type:"structure"` 3218 3219 // Your unique account identifier. 3220 AccountId *string `type:"string"` 3221 3222 // The frequency that anomaly reports are sent over email. 3223 // 3224 // Frequency is a required field 3225 Frequency *string `type:"string" required:"true" enum:"AnomalySubscriptionFrequency"` 3226 3227 // A list of cost anomaly monitors. 3228 // 3229 // MonitorArnList is a required field 3230 MonitorArnList []*string `type:"list" required:"true"` 3231 3232 // A list of subscribers to notify. 3233 // 3234 // Subscribers is a required field 3235 Subscribers []*Subscriber `type:"list" required:"true"` 3236 3237 // The AnomalySubscription Amazon Resource Name (ARN). 3238 SubscriptionArn *string `type:"string"` 3239 3240 // The name for the subscription. 3241 // 3242 // SubscriptionName is a required field 3243 SubscriptionName *string `type:"string" required:"true"` 3244 3245 // The dollar value that triggers a notification if the threshold is exceeded. 3246 // 3247 // Threshold is a required field 3248 Threshold *float64 `type:"double" required:"true"` 3249} 3250 3251// String returns the string representation 3252func (s AnomalySubscription) String() string { 3253 return awsutil.Prettify(s) 3254} 3255 3256// GoString returns the string representation 3257func (s AnomalySubscription) GoString() string { 3258 return s.String() 3259} 3260 3261// Validate inspects the fields of the type to determine if they are valid. 3262func (s *AnomalySubscription) Validate() error { 3263 invalidParams := request.ErrInvalidParams{Context: "AnomalySubscription"} 3264 if s.Frequency == nil { 3265 invalidParams.Add(request.NewErrParamRequired("Frequency")) 3266 } 3267 if s.MonitorArnList == nil { 3268 invalidParams.Add(request.NewErrParamRequired("MonitorArnList")) 3269 } 3270 if s.Subscribers == nil { 3271 invalidParams.Add(request.NewErrParamRequired("Subscribers")) 3272 } 3273 if s.SubscriptionName == nil { 3274 invalidParams.Add(request.NewErrParamRequired("SubscriptionName")) 3275 } 3276 if s.Threshold == nil { 3277 invalidParams.Add(request.NewErrParamRequired("Threshold")) 3278 } 3279 if s.Subscribers != nil { 3280 for i, v := range s.Subscribers { 3281 if v == nil { 3282 continue 3283 } 3284 if err := v.Validate(); err != nil { 3285 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Subscribers", i), err.(request.ErrInvalidParams)) 3286 } 3287 } 3288 } 3289 3290 if invalidParams.Len() > 0 { 3291 return invalidParams 3292 } 3293 return nil 3294} 3295 3296// SetAccountId sets the AccountId field's value. 3297func (s *AnomalySubscription) SetAccountId(v string) *AnomalySubscription { 3298 s.AccountId = &v 3299 return s 3300} 3301 3302// SetFrequency sets the Frequency field's value. 3303func (s *AnomalySubscription) SetFrequency(v string) *AnomalySubscription { 3304 s.Frequency = &v 3305 return s 3306} 3307 3308// SetMonitorArnList sets the MonitorArnList field's value. 3309func (s *AnomalySubscription) SetMonitorArnList(v []*string) *AnomalySubscription { 3310 s.MonitorArnList = v 3311 return s 3312} 3313 3314// SetSubscribers sets the Subscribers field's value. 3315func (s *AnomalySubscription) SetSubscribers(v []*Subscriber) *AnomalySubscription { 3316 s.Subscribers = v 3317 return s 3318} 3319 3320// SetSubscriptionArn sets the SubscriptionArn field's value. 3321func (s *AnomalySubscription) SetSubscriptionArn(v string) *AnomalySubscription { 3322 s.SubscriptionArn = &v 3323 return s 3324} 3325 3326// SetSubscriptionName sets the SubscriptionName field's value. 3327func (s *AnomalySubscription) SetSubscriptionName(v string) *AnomalySubscription { 3328 s.SubscriptionName = &v 3329 return s 3330} 3331 3332// SetThreshold sets the Threshold field's value. 3333func (s *AnomalySubscription) SetThreshold(v float64) *AnomalySubscription { 3334 s.Threshold = &v 3335 return s 3336} 3337 3338// The requested report expired. Update the date interval and try again. 3339type BillExpirationException struct { 3340 _ struct{} `type:"structure"` 3341 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 3342 3343 Message_ *string `locationName:"Message" type:"string"` 3344} 3345 3346// String returns the string representation 3347func (s BillExpirationException) String() string { 3348 return awsutil.Prettify(s) 3349} 3350 3351// GoString returns the string representation 3352func (s BillExpirationException) GoString() string { 3353 return s.String() 3354} 3355 3356func newErrorBillExpirationException(v protocol.ResponseMetadata) error { 3357 return &BillExpirationException{ 3358 RespMetadata: v, 3359 } 3360} 3361 3362// Code returns the exception type name. 3363func (s *BillExpirationException) Code() string { 3364 return "BillExpirationException" 3365} 3366 3367// Message returns the exception's message. 3368func (s *BillExpirationException) Message() string { 3369 if s.Message_ != nil { 3370 return *s.Message_ 3371 } 3372 return "" 3373} 3374 3375// OrigErr always returns nil, satisfies awserr.Error interface. 3376func (s *BillExpirationException) OrigErr() error { 3377 return nil 3378} 3379 3380func (s *BillExpirationException) Error() string { 3381 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 3382} 3383 3384// Status code returns the HTTP status code for the request's response error. 3385func (s *BillExpirationException) StatusCode() int { 3386 return s.RespMetadata.StatusCode 3387} 3388 3389// RequestID returns the service's response RequestID for request. 3390func (s *BillExpirationException) RequestID() string { 3391 return s.RespMetadata.RequestID 3392} 3393 3394// The structure of Cost Categories. This includes detailed metadata and the 3395// set of rules for the CostCategory object. 3396type CostCategory struct { 3397 _ struct{} `type:"structure"` 3398 3399 // The unique identifier for your Cost Category. 3400 // 3401 // CostCategoryArn is a required field 3402 CostCategoryArn *string `min:"20" type:"string" required:"true"` 3403 3404 // The default value for the cost category. 3405 DefaultValue *string `min:"1" type:"string"` 3406 3407 // The effective end data of your Cost Category. 3408 EffectiveEnd *string `min:"20" type:"string"` 3409 3410 // The effective state data of your Cost Category. 3411 // 3412 // EffectiveStart is a required field 3413 EffectiveStart *string `min:"20" type:"string" required:"true"` 3414 3415 // The unique name of the Cost Category. 3416 // 3417 // Name is a required field 3418 Name *string `min:"1" type:"string" required:"true"` 3419 3420 // The list of processing statuses for Cost Management products for a specific 3421 // cost category. 3422 ProcessingStatus []*CostCategoryProcessingStatus `type:"list"` 3423 3424 // The rule schema version in this particular Cost Category. 3425 // 3426 // RuleVersion is a required field 3427 RuleVersion *string `type:"string" required:"true" enum:"CostCategoryRuleVersion"` 3428 3429 // The rules are processed in order. If there are multiple rules that match 3430 // the line item, then the first rule to match is used to determine that Cost 3431 // Category value. 3432 // 3433 // Rules is a required field 3434 Rules []*CostCategoryRule `min:"1" type:"list" required:"true"` 3435 3436 // The split charge rules that are used to allocate your charges between your 3437 // Cost Category values. 3438 SplitChargeRules []*CostCategorySplitChargeRule `min:"1" type:"list"` 3439} 3440 3441// String returns the string representation 3442func (s CostCategory) String() string { 3443 return awsutil.Prettify(s) 3444} 3445 3446// GoString returns the string representation 3447func (s CostCategory) GoString() string { 3448 return s.String() 3449} 3450 3451// SetCostCategoryArn sets the CostCategoryArn field's value. 3452func (s *CostCategory) SetCostCategoryArn(v string) *CostCategory { 3453 s.CostCategoryArn = &v 3454 return s 3455} 3456 3457// SetDefaultValue sets the DefaultValue field's value. 3458func (s *CostCategory) SetDefaultValue(v string) *CostCategory { 3459 s.DefaultValue = &v 3460 return s 3461} 3462 3463// SetEffectiveEnd sets the EffectiveEnd field's value. 3464func (s *CostCategory) SetEffectiveEnd(v string) *CostCategory { 3465 s.EffectiveEnd = &v 3466 return s 3467} 3468 3469// SetEffectiveStart sets the EffectiveStart field's value. 3470func (s *CostCategory) SetEffectiveStart(v string) *CostCategory { 3471 s.EffectiveStart = &v 3472 return s 3473} 3474 3475// SetName sets the Name field's value. 3476func (s *CostCategory) SetName(v string) *CostCategory { 3477 s.Name = &v 3478 return s 3479} 3480 3481// SetProcessingStatus sets the ProcessingStatus field's value. 3482func (s *CostCategory) SetProcessingStatus(v []*CostCategoryProcessingStatus) *CostCategory { 3483 s.ProcessingStatus = v 3484 return s 3485} 3486 3487// SetRuleVersion sets the RuleVersion field's value. 3488func (s *CostCategory) SetRuleVersion(v string) *CostCategory { 3489 s.RuleVersion = &v 3490 return s 3491} 3492 3493// SetRules sets the Rules field's value. 3494func (s *CostCategory) SetRules(v []*CostCategoryRule) *CostCategory { 3495 s.Rules = v 3496 return s 3497} 3498 3499// SetSplitChargeRules sets the SplitChargeRules field's value. 3500func (s *CostCategory) SetSplitChargeRules(v []*CostCategorySplitChargeRule) *CostCategory { 3501 s.SplitChargeRules = v 3502 return s 3503} 3504 3505// When creating or updating a cost category, you can define the CostCategoryRule 3506// rule type as INHERITED_VALUE. This rule type adds the flexibility of defining 3507// a rule that dynamically inherits the cost category value from the dimension 3508// value defined by CostCategoryInheritedValueDimension. For example, if you 3509// want to dynamically group costs that are based on the value of a specific 3510// tag key, first choose an inherited value rule type, then choose the tag dimension 3511// and specify the tag key to use. 3512type CostCategoryInheritedValueDimension struct { 3513 _ struct{} `type:"structure"` 3514 3515 // The key to extract cost category values. 3516 DimensionKey *string `type:"string"` 3517 3518 // The name of the dimension that's used to group costs. 3519 // 3520 // If you specify LINKED_ACCOUNT_NAME, the cost category value is based on account 3521 // name. If you specify TAG, the cost category value will be based on the value 3522 // of the specified tag key. 3523 DimensionName *string `type:"string" enum:"CostCategoryInheritedValueDimensionName"` 3524} 3525 3526// String returns the string representation 3527func (s CostCategoryInheritedValueDimension) String() string { 3528 return awsutil.Prettify(s) 3529} 3530 3531// GoString returns the string representation 3532func (s CostCategoryInheritedValueDimension) GoString() string { 3533 return s.String() 3534} 3535 3536// SetDimensionKey sets the DimensionKey field's value. 3537func (s *CostCategoryInheritedValueDimension) SetDimensionKey(v string) *CostCategoryInheritedValueDimension { 3538 s.DimensionKey = &v 3539 return s 3540} 3541 3542// SetDimensionName sets the DimensionName field's value. 3543func (s *CostCategoryInheritedValueDimension) SetDimensionName(v string) *CostCategoryInheritedValueDimension { 3544 s.DimensionName = &v 3545 return s 3546} 3547 3548// The list of processing statuses for Cost Management products for a specific 3549// cost category. 3550type CostCategoryProcessingStatus struct { 3551 _ struct{} `type:"structure"` 3552 3553 // The Cost Management product name of the applied status. 3554 Component *string `type:"string" enum:"CostCategoryStatusComponent"` 3555 3556 // The process status for a specific cost category. 3557 Status *string `type:"string" enum:"CostCategoryStatus"` 3558} 3559 3560// String returns the string representation 3561func (s CostCategoryProcessingStatus) String() string { 3562 return awsutil.Prettify(s) 3563} 3564 3565// GoString returns the string representation 3566func (s CostCategoryProcessingStatus) GoString() string { 3567 return s.String() 3568} 3569 3570// SetComponent sets the Component field's value. 3571func (s *CostCategoryProcessingStatus) SetComponent(v string) *CostCategoryProcessingStatus { 3572 s.Component = &v 3573 return s 3574} 3575 3576// SetStatus sets the Status field's value. 3577func (s *CostCategoryProcessingStatus) SetStatus(v string) *CostCategoryProcessingStatus { 3578 s.Status = &v 3579 return s 3580} 3581 3582// A reference to a Cost Category containing only enough information to identify 3583// the Cost Category. 3584// 3585// You can use this information to retrieve the full Cost Category information 3586// using DescribeCostCategory. 3587type CostCategoryReference struct { 3588 _ struct{} `type:"structure"` 3589 3590 // The unique identifier for your Cost Category. 3591 CostCategoryArn *string `min:"20" type:"string"` 3592 3593 // The default value for the cost category. 3594 DefaultValue *string `min:"1" type:"string"` 3595 3596 // The Cost Category's effective end date. 3597 EffectiveEnd *string `min:"20" type:"string"` 3598 3599 // The Cost Category's effective start date. 3600 EffectiveStart *string `min:"20" type:"string"` 3601 3602 // The unique name of the Cost Category. 3603 Name *string `min:"1" type:"string"` 3604 3605 // The number of rules that are associated with a specific Cost Category. 3606 NumberOfRules *int64 `type:"integer"` 3607 3608 // The list of processing statuses for Cost Management products for a specific 3609 // cost category. 3610 ProcessingStatus []*CostCategoryProcessingStatus `type:"list"` 3611 3612 // A list of unique cost category values in a specific cost category. 3613 Values []*string `type:"list"` 3614} 3615 3616// String returns the string representation 3617func (s CostCategoryReference) String() string { 3618 return awsutil.Prettify(s) 3619} 3620 3621// GoString returns the string representation 3622func (s CostCategoryReference) GoString() string { 3623 return s.String() 3624} 3625 3626// SetCostCategoryArn sets the CostCategoryArn field's value. 3627func (s *CostCategoryReference) SetCostCategoryArn(v string) *CostCategoryReference { 3628 s.CostCategoryArn = &v 3629 return s 3630} 3631 3632// SetDefaultValue sets the DefaultValue field's value. 3633func (s *CostCategoryReference) SetDefaultValue(v string) *CostCategoryReference { 3634 s.DefaultValue = &v 3635 return s 3636} 3637 3638// SetEffectiveEnd sets the EffectiveEnd field's value. 3639func (s *CostCategoryReference) SetEffectiveEnd(v string) *CostCategoryReference { 3640 s.EffectiveEnd = &v 3641 return s 3642} 3643 3644// SetEffectiveStart sets the EffectiveStart field's value. 3645func (s *CostCategoryReference) SetEffectiveStart(v string) *CostCategoryReference { 3646 s.EffectiveStart = &v 3647 return s 3648} 3649 3650// SetName sets the Name field's value. 3651func (s *CostCategoryReference) SetName(v string) *CostCategoryReference { 3652 s.Name = &v 3653 return s 3654} 3655 3656// SetNumberOfRules sets the NumberOfRules field's value. 3657func (s *CostCategoryReference) SetNumberOfRules(v int64) *CostCategoryReference { 3658 s.NumberOfRules = &v 3659 return s 3660} 3661 3662// SetProcessingStatus sets the ProcessingStatus field's value. 3663func (s *CostCategoryReference) SetProcessingStatus(v []*CostCategoryProcessingStatus) *CostCategoryReference { 3664 s.ProcessingStatus = v 3665 return s 3666} 3667 3668// SetValues sets the Values field's value. 3669func (s *CostCategoryReference) SetValues(v []*string) *CostCategoryReference { 3670 s.Values = v 3671 return s 3672} 3673 3674// Rules are processed in order. If there are multiple rules that match the 3675// line item, then the first rule to match is used to determine that Cost Category 3676// value. 3677type CostCategoryRule struct { 3678 _ struct{} `type:"structure"` 3679 3680 // The value the line item is categorized as if the line item contains the matched 3681 // dimension. 3682 InheritedValue *CostCategoryInheritedValueDimension `type:"structure"` 3683 3684 // An Expression (https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_Expression.html) 3685 // object used to categorize costs. This supports dimensions, tags, and nested 3686 // expressions. Currently the only dimensions supported are LINKED_ACCOUNT, 3687 // SERVICE_CODE, RECORD_TYPE, and LINKED_ACCOUNT_NAME. 3688 // 3689 // Root level OR isn't supported. We recommend that you create a separate rule 3690 // instead. 3691 // 3692 // RECORD_TYPE is a dimension used for Cost Explorer APIs, and is also supported 3693 // for Cost Category expressions. This dimension uses different terms, depending 3694 // on whether you're using the console or API/JSON editor. For a detailed comparison, 3695 // see Term Comparisons (https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/manage-cost-categories.html#cost-categories-terms) 3696 // in the Billing and Cost Management User Guide. 3697 Rule *Expression `type:"structure"` 3698 3699 // You can define the CostCategoryRule rule type as either REGULAR or INHERITED_VALUE. 3700 // The INHERITED_VALUE rule type adds the flexibility of defining a rule that 3701 // dynamically inherits the cost category value from the dimension value defined 3702 // by CostCategoryInheritedValueDimension. For example, if you want to dynamically 3703 // group costs based on the value of a specific tag key, first choose an inherited 3704 // value rule type, then choose the tag dimension and specify the tag key to 3705 // use. 3706 Type *string `type:"string" enum:"CostCategoryRuleType"` 3707 3708 // The default value for the cost category. 3709 Value *string `min:"1" type:"string"` 3710} 3711 3712// String returns the string representation 3713func (s CostCategoryRule) String() string { 3714 return awsutil.Prettify(s) 3715} 3716 3717// GoString returns the string representation 3718func (s CostCategoryRule) GoString() string { 3719 return s.String() 3720} 3721 3722// Validate inspects the fields of the type to determine if they are valid. 3723func (s *CostCategoryRule) Validate() error { 3724 invalidParams := request.ErrInvalidParams{Context: "CostCategoryRule"} 3725 if s.Value != nil && len(*s.Value) < 1 { 3726 invalidParams.Add(request.NewErrParamMinLen("Value", 1)) 3727 } 3728 if s.Rule != nil { 3729 if err := s.Rule.Validate(); err != nil { 3730 invalidParams.AddNested("Rule", err.(request.ErrInvalidParams)) 3731 } 3732 } 3733 3734 if invalidParams.Len() > 0 { 3735 return invalidParams 3736 } 3737 return nil 3738} 3739 3740// SetInheritedValue sets the InheritedValue field's value. 3741func (s *CostCategoryRule) SetInheritedValue(v *CostCategoryInheritedValueDimension) *CostCategoryRule { 3742 s.InheritedValue = v 3743 return s 3744} 3745 3746// SetRule sets the Rule field's value. 3747func (s *CostCategoryRule) SetRule(v *Expression) *CostCategoryRule { 3748 s.Rule = v 3749 return s 3750} 3751 3752// SetType sets the Type field's value. 3753func (s *CostCategoryRule) SetType(v string) *CostCategoryRule { 3754 s.Type = &v 3755 return s 3756} 3757 3758// SetValue sets the Value field's value. 3759func (s *CostCategoryRule) SetValue(v string) *CostCategoryRule { 3760 s.Value = &v 3761 return s 3762} 3763 3764// Use the split charge rule to split the cost of one Cost Category value across 3765// several other target values. 3766type CostCategorySplitChargeRule struct { 3767 _ struct{} `type:"structure"` 3768 3769 // The method that's used to define how to split your source costs across your 3770 // targets. 3771 // 3772 // Proportional - Allocates charges across your targets based on the proportional 3773 // weighted cost of each target. 3774 // 3775 // Fixed - Allocates charges across your targets based on your defined allocation 3776 // percentage. 3777 // 3778 // >Even - Allocates costs evenly across all targets. 3779 // 3780 // Method is a required field 3781 Method *string `type:"string" required:"true" enum:"CostCategorySplitChargeMethod"` 3782 3783 // The parameters for a split charge method. This is only required for the FIXED 3784 // method. 3785 Parameters []*CostCategorySplitChargeRuleParameter `min:"1" type:"list"` 3786 3787 // The Cost Category value that you want to split. That value can't be used 3788 // as a source or a target in other split charge rules. To indicate uncategorized 3789 // costs, you can use an empty string as the source. 3790 // 3791 // Source is a required field 3792 Source *string `type:"string" required:"true"` 3793 3794 // The Cost Category values that you want to split costs across. These values 3795 // can't be used as a source in other split charge rules. 3796 // 3797 // Targets is a required field 3798 Targets []*string `min:"1" type:"list" required:"true"` 3799} 3800 3801// String returns the string representation 3802func (s CostCategorySplitChargeRule) String() string { 3803 return awsutil.Prettify(s) 3804} 3805 3806// GoString returns the string representation 3807func (s CostCategorySplitChargeRule) GoString() string { 3808 return s.String() 3809} 3810 3811// Validate inspects the fields of the type to determine if they are valid. 3812func (s *CostCategorySplitChargeRule) Validate() error { 3813 invalidParams := request.ErrInvalidParams{Context: "CostCategorySplitChargeRule"} 3814 if s.Method == nil { 3815 invalidParams.Add(request.NewErrParamRequired("Method")) 3816 } 3817 if s.Parameters != nil && len(s.Parameters) < 1 { 3818 invalidParams.Add(request.NewErrParamMinLen("Parameters", 1)) 3819 } 3820 if s.Source == nil { 3821 invalidParams.Add(request.NewErrParamRequired("Source")) 3822 } 3823 if s.Targets == nil { 3824 invalidParams.Add(request.NewErrParamRequired("Targets")) 3825 } 3826 if s.Targets != nil && len(s.Targets) < 1 { 3827 invalidParams.Add(request.NewErrParamMinLen("Targets", 1)) 3828 } 3829 if s.Parameters != nil { 3830 for i, v := range s.Parameters { 3831 if v == nil { 3832 continue 3833 } 3834 if err := v.Validate(); err != nil { 3835 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Parameters", i), err.(request.ErrInvalidParams)) 3836 } 3837 } 3838 } 3839 3840 if invalidParams.Len() > 0 { 3841 return invalidParams 3842 } 3843 return nil 3844} 3845 3846// SetMethod sets the Method field's value. 3847func (s *CostCategorySplitChargeRule) SetMethod(v string) *CostCategorySplitChargeRule { 3848 s.Method = &v 3849 return s 3850} 3851 3852// SetParameters sets the Parameters field's value. 3853func (s *CostCategorySplitChargeRule) SetParameters(v []*CostCategorySplitChargeRuleParameter) *CostCategorySplitChargeRule { 3854 s.Parameters = v 3855 return s 3856} 3857 3858// SetSource sets the Source field's value. 3859func (s *CostCategorySplitChargeRule) SetSource(v string) *CostCategorySplitChargeRule { 3860 s.Source = &v 3861 return s 3862} 3863 3864// SetTargets sets the Targets field's value. 3865func (s *CostCategorySplitChargeRule) SetTargets(v []*string) *CostCategorySplitChargeRule { 3866 s.Targets = v 3867 return s 3868} 3869 3870// The parameters for a split charge method. 3871type CostCategorySplitChargeRuleParameter struct { 3872 _ struct{} `type:"structure"` 3873 3874 // The parameter type. 3875 // 3876 // Type is a required field 3877 Type *string `type:"string" required:"true" enum:"CostCategorySplitChargeRuleParameterType"` 3878 3879 // The parameter values. 3880 // 3881 // Values is a required field 3882 Values []*string `min:"1" type:"list" required:"true"` 3883} 3884 3885// String returns the string representation 3886func (s CostCategorySplitChargeRuleParameter) String() string { 3887 return awsutil.Prettify(s) 3888} 3889 3890// GoString returns the string representation 3891func (s CostCategorySplitChargeRuleParameter) GoString() string { 3892 return s.String() 3893} 3894 3895// Validate inspects the fields of the type to determine if they are valid. 3896func (s *CostCategorySplitChargeRuleParameter) Validate() error { 3897 invalidParams := request.ErrInvalidParams{Context: "CostCategorySplitChargeRuleParameter"} 3898 if s.Type == nil { 3899 invalidParams.Add(request.NewErrParamRequired("Type")) 3900 } 3901 if s.Values == nil { 3902 invalidParams.Add(request.NewErrParamRequired("Values")) 3903 } 3904 if s.Values != nil && len(s.Values) < 1 { 3905 invalidParams.Add(request.NewErrParamMinLen("Values", 1)) 3906 } 3907 3908 if invalidParams.Len() > 0 { 3909 return invalidParams 3910 } 3911 return nil 3912} 3913 3914// SetType sets the Type field's value. 3915func (s *CostCategorySplitChargeRuleParameter) SetType(v string) *CostCategorySplitChargeRuleParameter { 3916 s.Type = &v 3917 return s 3918} 3919 3920// SetValues sets the Values field's value. 3921func (s *CostCategorySplitChargeRuleParameter) SetValues(v []*string) *CostCategorySplitChargeRuleParameter { 3922 s.Values = v 3923 return s 3924} 3925 3926// The Cost Categories values used for filtering the costs. 3927// 3928// If Values and Key are not specified, the ABSENT MatchOption is applied to 3929// all Cost Categories. That is, it filters on resources that aren't mapped 3930// to any Cost Categories. 3931// 3932// If Values is provided and Key isn't specified, the ABSENT MatchOption is 3933// applied to the Cost Categories Key only. That is, it filters on resources 3934// without the given Cost Categories key. 3935type CostCategoryValues struct { 3936 _ struct{} `type:"structure"` 3937 3938 // The unique name of the Cost Category. 3939 Key *string `min:"1" type:"string"` 3940 3941 // The match options that you can use to filter your results. MatchOptions is 3942 // only applicable for actions related to cost category. The default values 3943 // for MatchOptions is EQUALS and CASE_SENSITIVE. 3944 MatchOptions []*string `type:"list"` 3945 3946 // The specific value of the Cost Category. 3947 Values []*string `type:"list"` 3948} 3949 3950// String returns the string representation 3951func (s CostCategoryValues) String() string { 3952 return awsutil.Prettify(s) 3953} 3954 3955// GoString returns the string representation 3956func (s CostCategoryValues) GoString() string { 3957 return s.String() 3958} 3959 3960// Validate inspects the fields of the type to determine if they are valid. 3961func (s *CostCategoryValues) Validate() error { 3962 invalidParams := request.ErrInvalidParams{Context: "CostCategoryValues"} 3963 if s.Key != nil && len(*s.Key) < 1 { 3964 invalidParams.Add(request.NewErrParamMinLen("Key", 1)) 3965 } 3966 3967 if invalidParams.Len() > 0 { 3968 return invalidParams 3969 } 3970 return nil 3971} 3972 3973// SetKey sets the Key field's value. 3974func (s *CostCategoryValues) SetKey(v string) *CostCategoryValues { 3975 s.Key = &v 3976 return s 3977} 3978 3979// SetMatchOptions sets the MatchOptions field's value. 3980func (s *CostCategoryValues) SetMatchOptions(v []*string) *CostCategoryValues { 3981 s.MatchOptions = v 3982 return s 3983} 3984 3985// SetValues sets the Values field's value. 3986func (s *CostCategoryValues) SetValues(v []*string) *CostCategoryValues { 3987 s.Values = v 3988 return s 3989} 3990 3991// The amount of instance usage that a reservation covered. 3992type Coverage struct { 3993 _ struct{} `type:"structure"` 3994 3995 // The amount of cost that the reservation covered. 3996 CoverageCost *CoverageCost `type:"structure"` 3997 3998 // The amount of instance usage that the reservation covered, in hours. 3999 CoverageHours *CoverageHours `type:"structure"` 4000 4001 // The amount of instance usage that the reservation covered, in normalized 4002 // units. 4003 CoverageNormalizedUnits *CoverageNormalizedUnits `type:"structure"` 4004} 4005 4006// String returns the string representation 4007func (s Coverage) String() string { 4008 return awsutil.Prettify(s) 4009} 4010 4011// GoString returns the string representation 4012func (s Coverage) GoString() string { 4013 return s.String() 4014} 4015 4016// SetCoverageCost sets the CoverageCost field's value. 4017func (s *Coverage) SetCoverageCost(v *CoverageCost) *Coverage { 4018 s.CoverageCost = v 4019 return s 4020} 4021 4022// SetCoverageHours sets the CoverageHours field's value. 4023func (s *Coverage) SetCoverageHours(v *CoverageHours) *Coverage { 4024 s.CoverageHours = v 4025 return s 4026} 4027 4028// SetCoverageNormalizedUnits sets the CoverageNormalizedUnits field's value. 4029func (s *Coverage) SetCoverageNormalizedUnits(v *CoverageNormalizedUnits) *Coverage { 4030 s.CoverageNormalizedUnits = v 4031 return s 4032} 4033 4034// Reservation coverage for a specified period, in hours. 4035type CoverageByTime struct { 4036 _ struct{} `type:"structure"` 4037 4038 // The groups of instances that the reservation covered. 4039 Groups []*ReservationCoverageGroup `type:"list"` 4040 4041 // The period that this coverage was used over. 4042 TimePeriod *DateInterval `type:"structure"` 4043 4044 // The total reservation coverage, in hours. 4045 Total *Coverage `type:"structure"` 4046} 4047 4048// String returns the string representation 4049func (s CoverageByTime) String() string { 4050 return awsutil.Prettify(s) 4051} 4052 4053// GoString returns the string representation 4054func (s CoverageByTime) GoString() string { 4055 return s.String() 4056} 4057 4058// SetGroups sets the Groups field's value. 4059func (s *CoverageByTime) SetGroups(v []*ReservationCoverageGroup) *CoverageByTime { 4060 s.Groups = v 4061 return s 4062} 4063 4064// SetTimePeriod sets the TimePeriod field's value. 4065func (s *CoverageByTime) SetTimePeriod(v *DateInterval) *CoverageByTime { 4066 s.TimePeriod = v 4067 return s 4068} 4069 4070// SetTotal sets the Total field's value. 4071func (s *CoverageByTime) SetTotal(v *Coverage) *CoverageByTime { 4072 s.Total = v 4073 return s 4074} 4075 4076// How much it costs to run an instance. 4077type CoverageCost struct { 4078 _ struct{} `type:"structure"` 4079 4080 // How much an On-Demand Instance costs. 4081 OnDemandCost *string `type:"string"` 4082} 4083 4084// String returns the string representation 4085func (s CoverageCost) String() string { 4086 return awsutil.Prettify(s) 4087} 4088 4089// GoString returns the string representation 4090func (s CoverageCost) GoString() string { 4091 return s.String() 4092} 4093 4094// SetOnDemandCost sets the OnDemandCost field's value. 4095func (s *CoverageCost) SetOnDemandCost(v string) *CoverageCost { 4096 s.OnDemandCost = &v 4097 return s 4098} 4099 4100// How long a running instance either used a reservation or was On-Demand. 4101type CoverageHours struct { 4102 _ struct{} `type:"structure"` 4103 4104 // The percentage of instance hours that a reservation covered. 4105 CoverageHoursPercentage *string `type:"string"` 4106 4107 // The number of instance running hours that On-Demand Instances covered. 4108 OnDemandHours *string `type:"string"` 4109 4110 // The number of instance running hours that reservations covered. 4111 ReservedHours *string `type:"string"` 4112 4113 // The total instance usage, in hours. 4114 TotalRunningHours *string `type:"string"` 4115} 4116 4117// String returns the string representation 4118func (s CoverageHours) String() string { 4119 return awsutil.Prettify(s) 4120} 4121 4122// GoString returns the string representation 4123func (s CoverageHours) GoString() string { 4124 return s.String() 4125} 4126 4127// SetCoverageHoursPercentage sets the CoverageHoursPercentage field's value. 4128func (s *CoverageHours) SetCoverageHoursPercentage(v string) *CoverageHours { 4129 s.CoverageHoursPercentage = &v 4130 return s 4131} 4132 4133// SetOnDemandHours sets the OnDemandHours field's value. 4134func (s *CoverageHours) SetOnDemandHours(v string) *CoverageHours { 4135 s.OnDemandHours = &v 4136 return s 4137} 4138 4139// SetReservedHours sets the ReservedHours field's value. 4140func (s *CoverageHours) SetReservedHours(v string) *CoverageHours { 4141 s.ReservedHours = &v 4142 return s 4143} 4144 4145// SetTotalRunningHours sets the TotalRunningHours field's value. 4146func (s *CoverageHours) SetTotalRunningHours(v string) *CoverageHours { 4147 s.TotalRunningHours = &v 4148 return s 4149} 4150 4151// The amount of instance usage, in normalized units. You can use normalized 4152// units to see your EC2 usage for multiple sizes of instances in a uniform 4153// way. For example, suppose that you run an xlarge instance and a 2xlarge instance. 4154// If you run both instances for the same amount of time, the 2xlarge instance 4155// uses twice as much of your reservation as the xlarge instance, even though 4156// both instances show only one instance-hour. When you use normalized units 4157// instead of instance-hours, the xlarge instance used 8 normalized units, and 4158// the 2xlarge instance used 16 normalized units. 4159// 4160// For more information, see Modifying Reserved Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-modifying.html) 4161// in the Amazon Elastic Compute Cloud User Guide for Linux Instances. 4162type CoverageNormalizedUnits struct { 4163 _ struct{} `type:"structure"` 4164 4165 // The percentage of your used instance normalized units that a reservation 4166 // covers. 4167 CoverageNormalizedUnitsPercentage *string `type:"string"` 4168 4169 // The number of normalized units that are covered by On-Demand Instances instead 4170 // of a reservation. 4171 OnDemandNormalizedUnits *string `type:"string"` 4172 4173 // The number of normalized units that a reservation covers. 4174 ReservedNormalizedUnits *string `type:"string"` 4175 4176 // The total number of normalized units that you used. 4177 TotalRunningNormalizedUnits *string `type:"string"` 4178} 4179 4180// String returns the string representation 4181func (s CoverageNormalizedUnits) String() string { 4182 return awsutil.Prettify(s) 4183} 4184 4185// GoString returns the string representation 4186func (s CoverageNormalizedUnits) GoString() string { 4187 return s.String() 4188} 4189 4190// SetCoverageNormalizedUnitsPercentage sets the CoverageNormalizedUnitsPercentage field's value. 4191func (s *CoverageNormalizedUnits) SetCoverageNormalizedUnitsPercentage(v string) *CoverageNormalizedUnits { 4192 s.CoverageNormalizedUnitsPercentage = &v 4193 return s 4194} 4195 4196// SetOnDemandNormalizedUnits sets the OnDemandNormalizedUnits field's value. 4197func (s *CoverageNormalizedUnits) SetOnDemandNormalizedUnits(v string) *CoverageNormalizedUnits { 4198 s.OnDemandNormalizedUnits = &v 4199 return s 4200} 4201 4202// SetReservedNormalizedUnits sets the ReservedNormalizedUnits field's value. 4203func (s *CoverageNormalizedUnits) SetReservedNormalizedUnits(v string) *CoverageNormalizedUnits { 4204 s.ReservedNormalizedUnits = &v 4205 return s 4206} 4207 4208// SetTotalRunningNormalizedUnits sets the TotalRunningNormalizedUnits field's value. 4209func (s *CoverageNormalizedUnits) SetTotalRunningNormalizedUnits(v string) *CoverageNormalizedUnits { 4210 s.TotalRunningNormalizedUnits = &v 4211 return s 4212} 4213 4214type CreateAnomalyMonitorInput struct { 4215 _ struct{} `type:"structure"` 4216 4217 // The cost anomaly detection monitor object that you want to create. 4218 // 4219 // AnomalyMonitor is a required field 4220 AnomalyMonitor *AnomalyMonitor `type:"structure" required:"true"` 4221} 4222 4223// String returns the string representation 4224func (s CreateAnomalyMonitorInput) String() string { 4225 return awsutil.Prettify(s) 4226} 4227 4228// GoString returns the string representation 4229func (s CreateAnomalyMonitorInput) GoString() string { 4230 return s.String() 4231} 4232 4233// Validate inspects the fields of the type to determine if they are valid. 4234func (s *CreateAnomalyMonitorInput) Validate() error { 4235 invalidParams := request.ErrInvalidParams{Context: "CreateAnomalyMonitorInput"} 4236 if s.AnomalyMonitor == nil { 4237 invalidParams.Add(request.NewErrParamRequired("AnomalyMonitor")) 4238 } 4239 if s.AnomalyMonitor != nil { 4240 if err := s.AnomalyMonitor.Validate(); err != nil { 4241 invalidParams.AddNested("AnomalyMonitor", err.(request.ErrInvalidParams)) 4242 } 4243 } 4244 4245 if invalidParams.Len() > 0 { 4246 return invalidParams 4247 } 4248 return nil 4249} 4250 4251// SetAnomalyMonitor sets the AnomalyMonitor field's value. 4252func (s *CreateAnomalyMonitorInput) SetAnomalyMonitor(v *AnomalyMonitor) *CreateAnomalyMonitorInput { 4253 s.AnomalyMonitor = v 4254 return s 4255} 4256 4257type CreateAnomalyMonitorOutput struct { 4258 _ struct{} `type:"structure"` 4259 4260 // The unique identifier of your newly created cost anomaly detection monitor. 4261 // 4262 // MonitorArn is a required field 4263 MonitorArn *string `type:"string" required:"true"` 4264} 4265 4266// String returns the string representation 4267func (s CreateAnomalyMonitorOutput) String() string { 4268 return awsutil.Prettify(s) 4269} 4270 4271// GoString returns the string representation 4272func (s CreateAnomalyMonitorOutput) GoString() string { 4273 return s.String() 4274} 4275 4276// SetMonitorArn sets the MonitorArn field's value. 4277func (s *CreateAnomalyMonitorOutput) SetMonitorArn(v string) *CreateAnomalyMonitorOutput { 4278 s.MonitorArn = &v 4279 return s 4280} 4281 4282type CreateAnomalySubscriptionInput struct { 4283 _ struct{} `type:"structure"` 4284 4285 // The cost anomaly subscription object that you want to create. 4286 // 4287 // AnomalySubscription is a required field 4288 AnomalySubscription *AnomalySubscription `type:"structure" required:"true"` 4289} 4290 4291// String returns the string representation 4292func (s CreateAnomalySubscriptionInput) String() string { 4293 return awsutil.Prettify(s) 4294} 4295 4296// GoString returns the string representation 4297func (s CreateAnomalySubscriptionInput) GoString() string { 4298 return s.String() 4299} 4300 4301// Validate inspects the fields of the type to determine if they are valid. 4302func (s *CreateAnomalySubscriptionInput) Validate() error { 4303 invalidParams := request.ErrInvalidParams{Context: "CreateAnomalySubscriptionInput"} 4304 if s.AnomalySubscription == nil { 4305 invalidParams.Add(request.NewErrParamRequired("AnomalySubscription")) 4306 } 4307 if s.AnomalySubscription != nil { 4308 if err := s.AnomalySubscription.Validate(); err != nil { 4309 invalidParams.AddNested("AnomalySubscription", err.(request.ErrInvalidParams)) 4310 } 4311 } 4312 4313 if invalidParams.Len() > 0 { 4314 return invalidParams 4315 } 4316 return nil 4317} 4318 4319// SetAnomalySubscription sets the AnomalySubscription field's value. 4320func (s *CreateAnomalySubscriptionInput) SetAnomalySubscription(v *AnomalySubscription) *CreateAnomalySubscriptionInput { 4321 s.AnomalySubscription = v 4322 return s 4323} 4324 4325type CreateAnomalySubscriptionOutput struct { 4326 _ struct{} `type:"structure"` 4327 4328 // The unique identifier of your newly created cost anomaly subscription. 4329 // 4330 // SubscriptionArn is a required field 4331 SubscriptionArn *string `type:"string" required:"true"` 4332} 4333 4334// String returns the string representation 4335func (s CreateAnomalySubscriptionOutput) String() string { 4336 return awsutil.Prettify(s) 4337} 4338 4339// GoString returns the string representation 4340func (s CreateAnomalySubscriptionOutput) GoString() string { 4341 return s.String() 4342} 4343 4344// SetSubscriptionArn sets the SubscriptionArn field's value. 4345func (s *CreateAnomalySubscriptionOutput) SetSubscriptionArn(v string) *CreateAnomalySubscriptionOutput { 4346 s.SubscriptionArn = &v 4347 return s 4348} 4349 4350type CreateCostCategoryDefinitionInput struct { 4351 _ struct{} `type:"structure"` 4352 4353 // The default value for the cost category. 4354 DefaultValue *string `min:"1" type:"string"` 4355 4356 // The unique name of the Cost Category. 4357 // 4358 // Name is a required field 4359 Name *string `min:"1" type:"string" required:"true"` 4360 4361 // The rule schema version in this particular Cost Category. 4362 // 4363 // RuleVersion is a required field 4364 RuleVersion *string `type:"string" required:"true" enum:"CostCategoryRuleVersion"` 4365 4366 // The Cost Category rules used to categorize costs. For more information, see 4367 // CostCategoryRule (https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_CostCategoryRule.html). 4368 // 4369 // Rules is a required field 4370 Rules []*CostCategoryRule `min:"1" type:"list" required:"true"` 4371 4372 // The split charge rules used to allocate your charges between your Cost Category 4373 // values. 4374 SplitChargeRules []*CostCategorySplitChargeRule `min:"1" type:"list"` 4375} 4376 4377// String returns the string representation 4378func (s CreateCostCategoryDefinitionInput) String() string { 4379 return awsutil.Prettify(s) 4380} 4381 4382// GoString returns the string representation 4383func (s CreateCostCategoryDefinitionInput) GoString() string { 4384 return s.String() 4385} 4386 4387// Validate inspects the fields of the type to determine if they are valid. 4388func (s *CreateCostCategoryDefinitionInput) Validate() error { 4389 invalidParams := request.ErrInvalidParams{Context: "CreateCostCategoryDefinitionInput"} 4390 if s.DefaultValue != nil && len(*s.DefaultValue) < 1 { 4391 invalidParams.Add(request.NewErrParamMinLen("DefaultValue", 1)) 4392 } 4393 if s.Name == nil { 4394 invalidParams.Add(request.NewErrParamRequired("Name")) 4395 } 4396 if s.Name != nil && len(*s.Name) < 1 { 4397 invalidParams.Add(request.NewErrParamMinLen("Name", 1)) 4398 } 4399 if s.RuleVersion == nil { 4400 invalidParams.Add(request.NewErrParamRequired("RuleVersion")) 4401 } 4402 if s.Rules == nil { 4403 invalidParams.Add(request.NewErrParamRequired("Rules")) 4404 } 4405 if s.Rules != nil && len(s.Rules) < 1 { 4406 invalidParams.Add(request.NewErrParamMinLen("Rules", 1)) 4407 } 4408 if s.SplitChargeRules != nil && len(s.SplitChargeRules) < 1 { 4409 invalidParams.Add(request.NewErrParamMinLen("SplitChargeRules", 1)) 4410 } 4411 if s.Rules != nil { 4412 for i, v := range s.Rules { 4413 if v == nil { 4414 continue 4415 } 4416 if err := v.Validate(); err != nil { 4417 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Rules", i), err.(request.ErrInvalidParams)) 4418 } 4419 } 4420 } 4421 if s.SplitChargeRules != nil { 4422 for i, v := range s.SplitChargeRules { 4423 if v == nil { 4424 continue 4425 } 4426 if err := v.Validate(); err != nil { 4427 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "SplitChargeRules", i), err.(request.ErrInvalidParams)) 4428 } 4429 } 4430 } 4431 4432 if invalidParams.Len() > 0 { 4433 return invalidParams 4434 } 4435 return nil 4436} 4437 4438// SetDefaultValue sets the DefaultValue field's value. 4439func (s *CreateCostCategoryDefinitionInput) SetDefaultValue(v string) *CreateCostCategoryDefinitionInput { 4440 s.DefaultValue = &v 4441 return s 4442} 4443 4444// SetName sets the Name field's value. 4445func (s *CreateCostCategoryDefinitionInput) SetName(v string) *CreateCostCategoryDefinitionInput { 4446 s.Name = &v 4447 return s 4448} 4449 4450// SetRuleVersion sets the RuleVersion field's value. 4451func (s *CreateCostCategoryDefinitionInput) SetRuleVersion(v string) *CreateCostCategoryDefinitionInput { 4452 s.RuleVersion = &v 4453 return s 4454} 4455 4456// SetRules sets the Rules field's value. 4457func (s *CreateCostCategoryDefinitionInput) SetRules(v []*CostCategoryRule) *CreateCostCategoryDefinitionInput { 4458 s.Rules = v 4459 return s 4460} 4461 4462// SetSplitChargeRules sets the SplitChargeRules field's value. 4463func (s *CreateCostCategoryDefinitionInput) SetSplitChargeRules(v []*CostCategorySplitChargeRule) *CreateCostCategoryDefinitionInput { 4464 s.SplitChargeRules = v 4465 return s 4466} 4467 4468type CreateCostCategoryDefinitionOutput struct { 4469 _ struct{} `type:"structure"` 4470 4471 // The unique identifier for your newly created Cost Category. 4472 CostCategoryArn *string `min:"20" type:"string"` 4473 4474 // The Cost Category's effective start date. 4475 EffectiveStart *string `min:"20" type:"string"` 4476} 4477 4478// String returns the string representation 4479func (s CreateCostCategoryDefinitionOutput) String() string { 4480 return awsutil.Prettify(s) 4481} 4482 4483// GoString returns the string representation 4484func (s CreateCostCategoryDefinitionOutput) GoString() string { 4485 return s.String() 4486} 4487 4488// SetCostCategoryArn sets the CostCategoryArn field's value. 4489func (s *CreateCostCategoryDefinitionOutput) SetCostCategoryArn(v string) *CreateCostCategoryDefinitionOutput { 4490 s.CostCategoryArn = &v 4491 return s 4492} 4493 4494// SetEffectiveStart sets the EffectiveStart field's value. 4495func (s *CreateCostCategoryDefinitionOutput) SetEffectiveStart(v string) *CreateCostCategoryDefinitionOutput { 4496 s.EffectiveStart = &v 4497 return s 4498} 4499 4500// Context about the current instance. 4501type CurrentInstance struct { 4502 _ struct{} `type:"structure"` 4503 4504 // The currency code that Amazon Web Services used to calculate the costs for 4505 // this instance. 4506 CurrencyCode *string `type:"string"` 4507 4508 // The name that you given an instance. This field shows as blank if you haven't 4509 // given the instance a name. 4510 InstanceName *string `type:"string"` 4511 4512 // The current On-Demand cost of operating this instance on a monthly basis. 4513 MonthlyCost *string `type:"string"` 4514 4515 // The number of hours during the lookback period that's billed at On-Demand 4516 // rates. 4517 OnDemandHoursInLookbackPeriod *string `type:"string"` 4518 4519 // The number of hours during the lookback period that's covered by reservations. 4520 ReservationCoveredHoursInLookbackPeriod *string `type:"string"` 4521 4522 // Details about the resource and utilization. 4523 ResourceDetails *ResourceDetails `type:"structure"` 4524 4525 // Resource ID of the current instance. 4526 ResourceId *string `type:"string"` 4527 4528 // Utilization information of the current instance during the lookback period. 4529 ResourceUtilization *ResourceUtilization `type:"structure"` 4530 4531 // The number of hours during the lookback period that's covered by Savings 4532 // Plans. 4533 SavingsPlansCoveredHoursInLookbackPeriod *string `type:"string"` 4534 4535 // Cost allocation resource tags that are applied to the instance. 4536 Tags []*TagValues `type:"list"` 4537 4538 // The total number of hours that the instance ran during the lookback period. 4539 TotalRunningHoursInLookbackPeriod *string `type:"string"` 4540} 4541 4542// String returns the string representation 4543func (s CurrentInstance) String() string { 4544 return awsutil.Prettify(s) 4545} 4546 4547// GoString returns the string representation 4548func (s CurrentInstance) GoString() string { 4549 return s.String() 4550} 4551 4552// SetCurrencyCode sets the CurrencyCode field's value. 4553func (s *CurrentInstance) SetCurrencyCode(v string) *CurrentInstance { 4554 s.CurrencyCode = &v 4555 return s 4556} 4557 4558// SetInstanceName sets the InstanceName field's value. 4559func (s *CurrentInstance) SetInstanceName(v string) *CurrentInstance { 4560 s.InstanceName = &v 4561 return s 4562} 4563 4564// SetMonthlyCost sets the MonthlyCost field's value. 4565func (s *CurrentInstance) SetMonthlyCost(v string) *CurrentInstance { 4566 s.MonthlyCost = &v 4567 return s 4568} 4569 4570// SetOnDemandHoursInLookbackPeriod sets the OnDemandHoursInLookbackPeriod field's value. 4571func (s *CurrentInstance) SetOnDemandHoursInLookbackPeriod(v string) *CurrentInstance { 4572 s.OnDemandHoursInLookbackPeriod = &v 4573 return s 4574} 4575 4576// SetReservationCoveredHoursInLookbackPeriod sets the ReservationCoveredHoursInLookbackPeriod field's value. 4577func (s *CurrentInstance) SetReservationCoveredHoursInLookbackPeriod(v string) *CurrentInstance { 4578 s.ReservationCoveredHoursInLookbackPeriod = &v 4579 return s 4580} 4581 4582// SetResourceDetails sets the ResourceDetails field's value. 4583func (s *CurrentInstance) SetResourceDetails(v *ResourceDetails) *CurrentInstance { 4584 s.ResourceDetails = v 4585 return s 4586} 4587 4588// SetResourceId sets the ResourceId field's value. 4589func (s *CurrentInstance) SetResourceId(v string) *CurrentInstance { 4590 s.ResourceId = &v 4591 return s 4592} 4593 4594// SetResourceUtilization sets the ResourceUtilization field's value. 4595func (s *CurrentInstance) SetResourceUtilization(v *ResourceUtilization) *CurrentInstance { 4596 s.ResourceUtilization = v 4597 return s 4598} 4599 4600// SetSavingsPlansCoveredHoursInLookbackPeriod sets the SavingsPlansCoveredHoursInLookbackPeriod field's value. 4601func (s *CurrentInstance) SetSavingsPlansCoveredHoursInLookbackPeriod(v string) *CurrentInstance { 4602 s.SavingsPlansCoveredHoursInLookbackPeriod = &v 4603 return s 4604} 4605 4606// SetTags sets the Tags field's value. 4607func (s *CurrentInstance) SetTags(v []*TagValues) *CurrentInstance { 4608 s.Tags = v 4609 return s 4610} 4611 4612// SetTotalRunningHoursInLookbackPeriod sets the TotalRunningHoursInLookbackPeriod field's value. 4613func (s *CurrentInstance) SetTotalRunningHoursInLookbackPeriod(v string) *CurrentInstance { 4614 s.TotalRunningHoursInLookbackPeriod = &v 4615 return s 4616} 4617 4618// The requested data is unavailable. 4619type DataUnavailableException struct { 4620 _ struct{} `type:"structure"` 4621 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 4622 4623 Message_ *string `locationName:"Message" type:"string"` 4624} 4625 4626// String returns the string representation 4627func (s DataUnavailableException) String() string { 4628 return awsutil.Prettify(s) 4629} 4630 4631// GoString returns the string representation 4632func (s DataUnavailableException) GoString() string { 4633 return s.String() 4634} 4635 4636func newErrorDataUnavailableException(v protocol.ResponseMetadata) error { 4637 return &DataUnavailableException{ 4638 RespMetadata: v, 4639 } 4640} 4641 4642// Code returns the exception type name. 4643func (s *DataUnavailableException) Code() string { 4644 return "DataUnavailableException" 4645} 4646 4647// Message returns the exception's message. 4648func (s *DataUnavailableException) Message() string { 4649 if s.Message_ != nil { 4650 return *s.Message_ 4651 } 4652 return "" 4653} 4654 4655// OrigErr always returns nil, satisfies awserr.Error interface. 4656func (s *DataUnavailableException) OrigErr() error { 4657 return nil 4658} 4659 4660func (s *DataUnavailableException) Error() string { 4661 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 4662} 4663 4664// Status code returns the HTTP status code for the request's response error. 4665func (s *DataUnavailableException) StatusCode() int { 4666 return s.RespMetadata.StatusCode 4667} 4668 4669// RequestID returns the service's response RequestID for request. 4670func (s *DataUnavailableException) RequestID() string { 4671 return s.RespMetadata.RequestID 4672} 4673 4674// The time period of the request. 4675type DateInterval struct { 4676 _ struct{} `type:"structure"` 4677 4678 // The end of the time period. The end date is exclusive. For example, if end 4679 // is 2017-05-01, Amazon Web Services retrieves cost and usage data from the 4680 // start date up to, but not including, 2017-05-01. 4681 // 4682 // End is a required field 4683 End *string `type:"string" required:"true"` 4684 4685 // The beginning of the time period. The start date is inclusive. For example, 4686 // if start is 2017-01-01, Amazon Web Services retrieves cost and usage data 4687 // starting at 2017-01-01 up to the end date. The start date must be equal to 4688 // or no later than the current date to avoid a validation error. 4689 // 4690 // Start is a required field 4691 Start *string `type:"string" required:"true"` 4692} 4693 4694// String returns the string representation 4695func (s DateInterval) String() string { 4696 return awsutil.Prettify(s) 4697} 4698 4699// GoString returns the string representation 4700func (s DateInterval) GoString() string { 4701 return s.String() 4702} 4703 4704// Validate inspects the fields of the type to determine if they are valid. 4705func (s *DateInterval) Validate() error { 4706 invalidParams := request.ErrInvalidParams{Context: "DateInterval"} 4707 if s.End == nil { 4708 invalidParams.Add(request.NewErrParamRequired("End")) 4709 } 4710 if s.Start == nil { 4711 invalidParams.Add(request.NewErrParamRequired("Start")) 4712 } 4713 4714 if invalidParams.Len() > 0 { 4715 return invalidParams 4716 } 4717 return nil 4718} 4719 4720// SetEnd sets the End field's value. 4721func (s *DateInterval) SetEnd(v string) *DateInterval { 4722 s.End = &v 4723 return s 4724} 4725 4726// SetStart sets the Start field's value. 4727func (s *DateInterval) SetStart(v string) *DateInterval { 4728 s.Start = &v 4729 return s 4730} 4731 4732type DeleteAnomalyMonitorInput struct { 4733 _ struct{} `type:"structure"` 4734 4735 // The unique identifier of the cost anomaly monitor that you want to delete. 4736 // 4737 // MonitorArn is a required field 4738 MonitorArn *string `type:"string" required:"true"` 4739} 4740 4741// String returns the string representation 4742func (s DeleteAnomalyMonitorInput) String() string { 4743 return awsutil.Prettify(s) 4744} 4745 4746// GoString returns the string representation 4747func (s DeleteAnomalyMonitorInput) GoString() string { 4748 return s.String() 4749} 4750 4751// Validate inspects the fields of the type to determine if they are valid. 4752func (s *DeleteAnomalyMonitorInput) Validate() error { 4753 invalidParams := request.ErrInvalidParams{Context: "DeleteAnomalyMonitorInput"} 4754 if s.MonitorArn == nil { 4755 invalidParams.Add(request.NewErrParamRequired("MonitorArn")) 4756 } 4757 4758 if invalidParams.Len() > 0 { 4759 return invalidParams 4760 } 4761 return nil 4762} 4763 4764// SetMonitorArn sets the MonitorArn field's value. 4765func (s *DeleteAnomalyMonitorInput) SetMonitorArn(v string) *DeleteAnomalyMonitorInput { 4766 s.MonitorArn = &v 4767 return s 4768} 4769 4770type DeleteAnomalyMonitorOutput struct { 4771 _ struct{} `type:"structure"` 4772} 4773 4774// String returns the string representation 4775func (s DeleteAnomalyMonitorOutput) String() string { 4776 return awsutil.Prettify(s) 4777} 4778 4779// GoString returns the string representation 4780func (s DeleteAnomalyMonitorOutput) GoString() string { 4781 return s.String() 4782} 4783 4784type DeleteAnomalySubscriptionInput struct { 4785 _ struct{} `type:"structure"` 4786 4787 // The unique identifier of the cost anomaly subscription that you want to delete. 4788 // 4789 // SubscriptionArn is a required field 4790 SubscriptionArn *string `type:"string" required:"true"` 4791} 4792 4793// String returns the string representation 4794func (s DeleteAnomalySubscriptionInput) String() string { 4795 return awsutil.Prettify(s) 4796} 4797 4798// GoString returns the string representation 4799func (s DeleteAnomalySubscriptionInput) GoString() string { 4800 return s.String() 4801} 4802 4803// Validate inspects the fields of the type to determine if they are valid. 4804func (s *DeleteAnomalySubscriptionInput) Validate() error { 4805 invalidParams := request.ErrInvalidParams{Context: "DeleteAnomalySubscriptionInput"} 4806 if s.SubscriptionArn == nil { 4807 invalidParams.Add(request.NewErrParamRequired("SubscriptionArn")) 4808 } 4809 4810 if invalidParams.Len() > 0 { 4811 return invalidParams 4812 } 4813 return nil 4814} 4815 4816// SetSubscriptionArn sets the SubscriptionArn field's value. 4817func (s *DeleteAnomalySubscriptionInput) SetSubscriptionArn(v string) *DeleteAnomalySubscriptionInput { 4818 s.SubscriptionArn = &v 4819 return s 4820} 4821 4822type DeleteAnomalySubscriptionOutput struct { 4823 _ struct{} `type:"structure"` 4824} 4825 4826// String returns the string representation 4827func (s DeleteAnomalySubscriptionOutput) String() string { 4828 return awsutil.Prettify(s) 4829} 4830 4831// GoString returns the string representation 4832func (s DeleteAnomalySubscriptionOutput) GoString() string { 4833 return s.String() 4834} 4835 4836type DeleteCostCategoryDefinitionInput struct { 4837 _ struct{} `type:"structure"` 4838 4839 // The unique identifier for your Cost Category. 4840 // 4841 // CostCategoryArn is a required field 4842 CostCategoryArn *string `min:"20" type:"string" required:"true"` 4843} 4844 4845// String returns the string representation 4846func (s DeleteCostCategoryDefinitionInput) String() string { 4847 return awsutil.Prettify(s) 4848} 4849 4850// GoString returns the string representation 4851func (s DeleteCostCategoryDefinitionInput) GoString() string { 4852 return s.String() 4853} 4854 4855// Validate inspects the fields of the type to determine if they are valid. 4856func (s *DeleteCostCategoryDefinitionInput) Validate() error { 4857 invalidParams := request.ErrInvalidParams{Context: "DeleteCostCategoryDefinitionInput"} 4858 if s.CostCategoryArn == nil { 4859 invalidParams.Add(request.NewErrParamRequired("CostCategoryArn")) 4860 } 4861 if s.CostCategoryArn != nil && len(*s.CostCategoryArn) < 20 { 4862 invalidParams.Add(request.NewErrParamMinLen("CostCategoryArn", 20)) 4863 } 4864 4865 if invalidParams.Len() > 0 { 4866 return invalidParams 4867 } 4868 return nil 4869} 4870 4871// SetCostCategoryArn sets the CostCategoryArn field's value. 4872func (s *DeleteCostCategoryDefinitionInput) SetCostCategoryArn(v string) *DeleteCostCategoryDefinitionInput { 4873 s.CostCategoryArn = &v 4874 return s 4875} 4876 4877type DeleteCostCategoryDefinitionOutput struct { 4878 _ struct{} `type:"structure"` 4879 4880 // The unique identifier for your Cost Category. 4881 CostCategoryArn *string `min:"20" type:"string"` 4882 4883 // The effective end date of the Cost Category as a result of deleting it. No 4884 // costs after this date will be categorized by the deleted Cost Category. 4885 EffectiveEnd *string `min:"20" type:"string"` 4886} 4887 4888// String returns the string representation 4889func (s DeleteCostCategoryDefinitionOutput) String() string { 4890 return awsutil.Prettify(s) 4891} 4892 4893// GoString returns the string representation 4894func (s DeleteCostCategoryDefinitionOutput) GoString() string { 4895 return s.String() 4896} 4897 4898// SetCostCategoryArn sets the CostCategoryArn field's value. 4899func (s *DeleteCostCategoryDefinitionOutput) SetCostCategoryArn(v string) *DeleteCostCategoryDefinitionOutput { 4900 s.CostCategoryArn = &v 4901 return s 4902} 4903 4904// SetEffectiveEnd sets the EffectiveEnd field's value. 4905func (s *DeleteCostCategoryDefinitionOutput) SetEffectiveEnd(v string) *DeleteCostCategoryDefinitionOutput { 4906 s.EffectiveEnd = &v 4907 return s 4908} 4909 4910type DescribeCostCategoryDefinitionInput struct { 4911 _ struct{} `type:"structure"` 4912 4913 // The unique identifier for your Cost Category. 4914 // 4915 // CostCategoryArn is a required field 4916 CostCategoryArn *string `min:"20" type:"string" required:"true"` 4917 4918 // The date when the Cost Category was effective. 4919 EffectiveOn *string `min:"20" type:"string"` 4920} 4921 4922// String returns the string representation 4923func (s DescribeCostCategoryDefinitionInput) String() string { 4924 return awsutil.Prettify(s) 4925} 4926 4927// GoString returns the string representation 4928func (s DescribeCostCategoryDefinitionInput) GoString() string { 4929 return s.String() 4930} 4931 4932// Validate inspects the fields of the type to determine if they are valid. 4933func (s *DescribeCostCategoryDefinitionInput) Validate() error { 4934 invalidParams := request.ErrInvalidParams{Context: "DescribeCostCategoryDefinitionInput"} 4935 if s.CostCategoryArn == nil { 4936 invalidParams.Add(request.NewErrParamRequired("CostCategoryArn")) 4937 } 4938 if s.CostCategoryArn != nil && len(*s.CostCategoryArn) < 20 { 4939 invalidParams.Add(request.NewErrParamMinLen("CostCategoryArn", 20)) 4940 } 4941 if s.EffectiveOn != nil && len(*s.EffectiveOn) < 20 { 4942 invalidParams.Add(request.NewErrParamMinLen("EffectiveOn", 20)) 4943 } 4944 4945 if invalidParams.Len() > 0 { 4946 return invalidParams 4947 } 4948 return nil 4949} 4950 4951// SetCostCategoryArn sets the CostCategoryArn field's value. 4952func (s *DescribeCostCategoryDefinitionInput) SetCostCategoryArn(v string) *DescribeCostCategoryDefinitionInput { 4953 s.CostCategoryArn = &v 4954 return s 4955} 4956 4957// SetEffectiveOn sets the EffectiveOn field's value. 4958func (s *DescribeCostCategoryDefinitionInput) SetEffectiveOn(v string) *DescribeCostCategoryDefinitionInput { 4959 s.EffectiveOn = &v 4960 return s 4961} 4962 4963type DescribeCostCategoryDefinitionOutput struct { 4964 _ struct{} `type:"structure"` 4965 4966 // The structure of Cost Categories. This includes detailed metadata and the 4967 // set of rules for the CostCategory object. 4968 CostCategory *CostCategory `type:"structure"` 4969} 4970 4971// String returns the string representation 4972func (s DescribeCostCategoryDefinitionOutput) String() string { 4973 return awsutil.Prettify(s) 4974} 4975 4976// GoString returns the string representation 4977func (s DescribeCostCategoryDefinitionOutput) GoString() string { 4978 return s.String() 4979} 4980 4981// SetCostCategory sets the CostCategory field's value. 4982func (s *DescribeCostCategoryDefinitionOutput) SetCostCategory(v *CostCategory) *DescribeCostCategoryDefinitionOutput { 4983 s.CostCategory = v 4984 return s 4985} 4986 4987// The metadata that you can use to filter and group your results. You can use 4988// GetDimensionValues to find specific values. 4989type DimensionValues struct { 4990 _ struct{} `type:"structure"` 4991 4992 // The names of the metadata types that you can use to filter and group your 4993 // results. For example, AZ returns a list of Availability Zones. 4994 Key *string `type:"string" enum:"Dimension"` 4995 4996 // The match options that you can use to filter your results. MatchOptions is 4997 // only applicable for actions related to Cost Category. The default values 4998 // for MatchOptions are EQUALS and CASE_SENSITIVE. 4999 MatchOptions []*string `type:"list"` 5000 5001 // The metadata values that you can use to filter and group your results. You 5002 // can use GetDimensionValues to find specific values. 5003 Values []*string `type:"list"` 5004} 5005 5006// String returns the string representation 5007func (s DimensionValues) String() string { 5008 return awsutil.Prettify(s) 5009} 5010 5011// GoString returns the string representation 5012func (s DimensionValues) GoString() string { 5013 return s.String() 5014} 5015 5016// SetKey sets the Key field's value. 5017func (s *DimensionValues) SetKey(v string) *DimensionValues { 5018 s.Key = &v 5019 return s 5020} 5021 5022// SetMatchOptions sets the MatchOptions field's value. 5023func (s *DimensionValues) SetMatchOptions(v []*string) *DimensionValues { 5024 s.MatchOptions = v 5025 return s 5026} 5027 5028// SetValues sets the Values field's value. 5029func (s *DimensionValues) SetValues(v []*string) *DimensionValues { 5030 s.Values = v 5031 return s 5032} 5033 5034// The metadata of a specific type that you can use to filter and group your 5035// results. You can use GetDimensionValues to find specific values. 5036type DimensionValuesWithAttributes struct { 5037 _ struct{} `type:"structure"` 5038 5039 // The attribute that applies to a specific Dimension. 5040 Attributes map[string]*string `type:"map"` 5041 5042 // The value of a dimension with a specific attribute. 5043 Value *string `type:"string"` 5044} 5045 5046// String returns the string representation 5047func (s DimensionValuesWithAttributes) String() string { 5048 return awsutil.Prettify(s) 5049} 5050 5051// GoString returns the string representation 5052func (s DimensionValuesWithAttributes) GoString() string { 5053 return s.String() 5054} 5055 5056// SetAttributes sets the Attributes field's value. 5057func (s *DimensionValuesWithAttributes) SetAttributes(v map[string]*string) *DimensionValuesWithAttributes { 5058 s.Attributes = v 5059 return s 5060} 5061 5062// SetValue sets the Value field's value. 5063func (s *DimensionValuesWithAttributes) SetValue(v string) *DimensionValuesWithAttributes { 5064 s.Value = &v 5065 return s 5066} 5067 5068// The field that contains a list of disk (local storage) metrics that are associated 5069// with the current instance. 5070type DiskResourceUtilization struct { 5071 _ struct{} `type:"structure"` 5072 5073 // The maximum read throughput operations per second. 5074 DiskReadBytesPerSecond *string `type:"string"` 5075 5076 // The maximum number of read operations per second. 5077 DiskReadOpsPerSecond *string `type:"string"` 5078 5079 // The maximum write throughput operations per second. 5080 DiskWriteBytesPerSecond *string `type:"string"` 5081 5082 // The maximum number of write operations per second. 5083 DiskWriteOpsPerSecond *string `type:"string"` 5084} 5085 5086// String returns the string representation 5087func (s DiskResourceUtilization) String() string { 5088 return awsutil.Prettify(s) 5089} 5090 5091// GoString returns the string representation 5092func (s DiskResourceUtilization) GoString() string { 5093 return s.String() 5094} 5095 5096// SetDiskReadBytesPerSecond sets the DiskReadBytesPerSecond field's value. 5097func (s *DiskResourceUtilization) SetDiskReadBytesPerSecond(v string) *DiskResourceUtilization { 5098 s.DiskReadBytesPerSecond = &v 5099 return s 5100} 5101 5102// SetDiskReadOpsPerSecond sets the DiskReadOpsPerSecond field's value. 5103func (s *DiskResourceUtilization) SetDiskReadOpsPerSecond(v string) *DiskResourceUtilization { 5104 s.DiskReadOpsPerSecond = &v 5105 return s 5106} 5107 5108// SetDiskWriteBytesPerSecond sets the DiskWriteBytesPerSecond field's value. 5109func (s *DiskResourceUtilization) SetDiskWriteBytesPerSecond(v string) *DiskResourceUtilization { 5110 s.DiskWriteBytesPerSecond = &v 5111 return s 5112} 5113 5114// SetDiskWriteOpsPerSecond sets the DiskWriteOpsPerSecond field's value. 5115func (s *DiskResourceUtilization) SetDiskWriteOpsPerSecond(v string) *DiskResourceUtilization { 5116 s.DiskWriteOpsPerSecond = &v 5117 return s 5118} 5119 5120// The EBS field that contains a list of EBS metrics that are associated with 5121// the current instance. 5122type EBSResourceUtilization struct { 5123 _ struct{} `type:"structure"` 5124 5125 // The maximum size of read operations per second 5126 EbsReadBytesPerSecond *string `type:"string"` 5127 5128 // The maximum number of read operations per second. 5129 EbsReadOpsPerSecond *string `type:"string"` 5130 5131 // The maximum size of write operations per second. 5132 EbsWriteBytesPerSecond *string `type:"string"` 5133 5134 // The maximum number of write operations per second. 5135 EbsWriteOpsPerSecond *string `type:"string"` 5136} 5137 5138// String returns the string representation 5139func (s EBSResourceUtilization) String() string { 5140 return awsutil.Prettify(s) 5141} 5142 5143// GoString returns the string representation 5144func (s EBSResourceUtilization) GoString() string { 5145 return s.String() 5146} 5147 5148// SetEbsReadBytesPerSecond sets the EbsReadBytesPerSecond field's value. 5149func (s *EBSResourceUtilization) SetEbsReadBytesPerSecond(v string) *EBSResourceUtilization { 5150 s.EbsReadBytesPerSecond = &v 5151 return s 5152} 5153 5154// SetEbsReadOpsPerSecond sets the EbsReadOpsPerSecond field's value. 5155func (s *EBSResourceUtilization) SetEbsReadOpsPerSecond(v string) *EBSResourceUtilization { 5156 s.EbsReadOpsPerSecond = &v 5157 return s 5158} 5159 5160// SetEbsWriteBytesPerSecond sets the EbsWriteBytesPerSecond field's value. 5161func (s *EBSResourceUtilization) SetEbsWriteBytesPerSecond(v string) *EBSResourceUtilization { 5162 s.EbsWriteBytesPerSecond = &v 5163 return s 5164} 5165 5166// SetEbsWriteOpsPerSecond sets the EbsWriteOpsPerSecond field's value. 5167func (s *EBSResourceUtilization) SetEbsWriteOpsPerSecond(v string) *EBSResourceUtilization { 5168 s.EbsWriteOpsPerSecond = &v 5169 return s 5170} 5171 5172// Details about the Amazon EC2 instances that Amazon Web Services recommends 5173// that you purchase. 5174type EC2InstanceDetails struct { 5175 _ struct{} `type:"structure"` 5176 5177 // The Availability Zone of the recommended reservation. 5178 AvailabilityZone *string `type:"string"` 5179 5180 // Determines whether the recommendation is for a current-generation instance. 5181 CurrentGeneration *bool `type:"boolean"` 5182 5183 // The instance family of the recommended reservation. 5184 Family *string `type:"string"` 5185 5186 // The type of instance that Amazon Web Services recommends. 5187 InstanceType *string `type:"string"` 5188 5189 // The platform of the recommended reservation. The platform is the specific 5190 // combination of operating system, license model, and software on an instance. 5191 Platform *string `type:"string"` 5192 5193 // The Amazon Web Services Region of the recommended reservation. 5194 Region *string `type:"string"` 5195 5196 // Determines whether the recommended reservation is size flexible. 5197 SizeFlexEligible *bool `type:"boolean"` 5198 5199 // Determines whether the recommended reservation is dedicated or shared. 5200 Tenancy *string `type:"string"` 5201} 5202 5203// String returns the string representation 5204func (s EC2InstanceDetails) String() string { 5205 return awsutil.Prettify(s) 5206} 5207 5208// GoString returns the string representation 5209func (s EC2InstanceDetails) GoString() string { 5210 return s.String() 5211} 5212 5213// SetAvailabilityZone sets the AvailabilityZone field's value. 5214func (s *EC2InstanceDetails) SetAvailabilityZone(v string) *EC2InstanceDetails { 5215 s.AvailabilityZone = &v 5216 return s 5217} 5218 5219// SetCurrentGeneration sets the CurrentGeneration field's value. 5220func (s *EC2InstanceDetails) SetCurrentGeneration(v bool) *EC2InstanceDetails { 5221 s.CurrentGeneration = &v 5222 return s 5223} 5224 5225// SetFamily sets the Family field's value. 5226func (s *EC2InstanceDetails) SetFamily(v string) *EC2InstanceDetails { 5227 s.Family = &v 5228 return s 5229} 5230 5231// SetInstanceType sets the InstanceType field's value. 5232func (s *EC2InstanceDetails) SetInstanceType(v string) *EC2InstanceDetails { 5233 s.InstanceType = &v 5234 return s 5235} 5236 5237// SetPlatform sets the Platform field's value. 5238func (s *EC2InstanceDetails) SetPlatform(v string) *EC2InstanceDetails { 5239 s.Platform = &v 5240 return s 5241} 5242 5243// SetRegion sets the Region field's value. 5244func (s *EC2InstanceDetails) SetRegion(v string) *EC2InstanceDetails { 5245 s.Region = &v 5246 return s 5247} 5248 5249// SetSizeFlexEligible sets the SizeFlexEligible field's value. 5250func (s *EC2InstanceDetails) SetSizeFlexEligible(v bool) *EC2InstanceDetails { 5251 s.SizeFlexEligible = &v 5252 return s 5253} 5254 5255// SetTenancy sets the Tenancy field's value. 5256func (s *EC2InstanceDetails) SetTenancy(v string) *EC2InstanceDetails { 5257 s.Tenancy = &v 5258 return s 5259} 5260 5261// Details on the Amazon EC2 Resource. 5262type EC2ResourceDetails struct { 5263 _ struct{} `type:"structure"` 5264 5265 // The hourly public On-Demand rate for the instance type. 5266 HourlyOnDemandRate *string `type:"string"` 5267 5268 // The type of Amazon Web Services instance. 5269 InstanceType *string `type:"string"` 5270 5271 // The memory capacity of the Amazon Web Services instance. 5272 Memory *string `type:"string"` 5273 5274 // The network performance capacity of the Amazon Web Services instance. 5275 NetworkPerformance *string `type:"string"` 5276 5277 // The platform of the Amazon Web Services instance. The platform is the specific 5278 // combination of operating system, license model, and software on an instance. 5279 Platform *string `type:"string"` 5280 5281 // The Amazon Web Services Region of the instance. 5282 Region *string `type:"string"` 5283 5284 // The SKU of the product. 5285 Sku *string `type:"string"` 5286 5287 // The disk storage of the Amazon Web Services instance. This doesn't include 5288 // EBS storage. 5289 Storage *string `type:"string"` 5290 5291 // The number of VCPU cores in the Amazon Web Services instance type. 5292 Vcpu *string `type:"string"` 5293} 5294 5295// String returns the string representation 5296func (s EC2ResourceDetails) String() string { 5297 return awsutil.Prettify(s) 5298} 5299 5300// GoString returns the string representation 5301func (s EC2ResourceDetails) GoString() string { 5302 return s.String() 5303} 5304 5305// SetHourlyOnDemandRate sets the HourlyOnDemandRate field's value. 5306func (s *EC2ResourceDetails) SetHourlyOnDemandRate(v string) *EC2ResourceDetails { 5307 s.HourlyOnDemandRate = &v 5308 return s 5309} 5310 5311// SetInstanceType sets the InstanceType field's value. 5312func (s *EC2ResourceDetails) SetInstanceType(v string) *EC2ResourceDetails { 5313 s.InstanceType = &v 5314 return s 5315} 5316 5317// SetMemory sets the Memory field's value. 5318func (s *EC2ResourceDetails) SetMemory(v string) *EC2ResourceDetails { 5319 s.Memory = &v 5320 return s 5321} 5322 5323// SetNetworkPerformance sets the NetworkPerformance field's value. 5324func (s *EC2ResourceDetails) SetNetworkPerformance(v string) *EC2ResourceDetails { 5325 s.NetworkPerformance = &v 5326 return s 5327} 5328 5329// SetPlatform sets the Platform field's value. 5330func (s *EC2ResourceDetails) SetPlatform(v string) *EC2ResourceDetails { 5331 s.Platform = &v 5332 return s 5333} 5334 5335// SetRegion sets the Region field's value. 5336func (s *EC2ResourceDetails) SetRegion(v string) *EC2ResourceDetails { 5337 s.Region = &v 5338 return s 5339} 5340 5341// SetSku sets the Sku field's value. 5342func (s *EC2ResourceDetails) SetSku(v string) *EC2ResourceDetails { 5343 s.Sku = &v 5344 return s 5345} 5346 5347// SetStorage sets the Storage field's value. 5348func (s *EC2ResourceDetails) SetStorage(v string) *EC2ResourceDetails { 5349 s.Storage = &v 5350 return s 5351} 5352 5353// SetVcpu sets the Vcpu field's value. 5354func (s *EC2ResourceDetails) SetVcpu(v string) *EC2ResourceDetails { 5355 s.Vcpu = &v 5356 return s 5357} 5358 5359// Utilization metrics of the instance. 5360type EC2ResourceUtilization struct { 5361 _ struct{} `type:"structure"` 5362 5363 // The field that contains a list of disk (local storage) metrics that are associated 5364 // with the current instance. 5365 DiskResourceUtilization *DiskResourceUtilization `type:"structure"` 5366 5367 // The EBS field that contains a list of EBS metrics that are associated with 5368 // the current instance. 5369 EBSResourceUtilization *EBSResourceUtilization `type:"structure"` 5370 5371 // The maximum observed or expected CPU utilization of the instance. 5372 MaxCpuUtilizationPercentage *string `type:"string"` 5373 5374 // The maximum observed or expected memory utilization of the instance. 5375 MaxMemoryUtilizationPercentage *string `type:"string"` 5376 5377 // The maximum observed or expected storage utilization of the instance. This 5378 // doesn't include EBS storage. 5379 MaxStorageUtilizationPercentage *string `type:"string"` 5380 5381 // The network field that contains a list of network metrics that are associated 5382 // with the current instance. 5383 NetworkResourceUtilization *NetworkResourceUtilization `type:"structure"` 5384} 5385 5386// String returns the string representation 5387func (s EC2ResourceUtilization) String() string { 5388 return awsutil.Prettify(s) 5389} 5390 5391// GoString returns the string representation 5392func (s EC2ResourceUtilization) GoString() string { 5393 return s.String() 5394} 5395 5396// SetDiskResourceUtilization sets the DiskResourceUtilization field's value. 5397func (s *EC2ResourceUtilization) SetDiskResourceUtilization(v *DiskResourceUtilization) *EC2ResourceUtilization { 5398 s.DiskResourceUtilization = v 5399 return s 5400} 5401 5402// SetEBSResourceUtilization sets the EBSResourceUtilization field's value. 5403func (s *EC2ResourceUtilization) SetEBSResourceUtilization(v *EBSResourceUtilization) *EC2ResourceUtilization { 5404 s.EBSResourceUtilization = v 5405 return s 5406} 5407 5408// SetMaxCpuUtilizationPercentage sets the MaxCpuUtilizationPercentage field's value. 5409func (s *EC2ResourceUtilization) SetMaxCpuUtilizationPercentage(v string) *EC2ResourceUtilization { 5410 s.MaxCpuUtilizationPercentage = &v 5411 return s 5412} 5413 5414// SetMaxMemoryUtilizationPercentage sets the MaxMemoryUtilizationPercentage field's value. 5415func (s *EC2ResourceUtilization) SetMaxMemoryUtilizationPercentage(v string) *EC2ResourceUtilization { 5416 s.MaxMemoryUtilizationPercentage = &v 5417 return s 5418} 5419 5420// SetMaxStorageUtilizationPercentage sets the MaxStorageUtilizationPercentage field's value. 5421func (s *EC2ResourceUtilization) SetMaxStorageUtilizationPercentage(v string) *EC2ResourceUtilization { 5422 s.MaxStorageUtilizationPercentage = &v 5423 return s 5424} 5425 5426// SetNetworkResourceUtilization sets the NetworkResourceUtilization field's value. 5427func (s *EC2ResourceUtilization) SetNetworkResourceUtilization(v *NetworkResourceUtilization) *EC2ResourceUtilization { 5428 s.NetworkResourceUtilization = v 5429 return s 5430} 5431 5432// The Amazon EC2 hardware specifications that you want Amazon Web Services 5433// to provide recommendations for. 5434type EC2Specification struct { 5435 _ struct{} `type:"structure"` 5436 5437 // Indicates whether you want a recommendation for standard or convertible reservations. 5438 OfferingClass *string `type:"string" enum:"OfferingClass"` 5439} 5440 5441// String returns the string representation 5442func (s EC2Specification) String() string { 5443 return awsutil.Prettify(s) 5444} 5445 5446// GoString returns the string representation 5447func (s EC2Specification) GoString() string { 5448 return s.String() 5449} 5450 5451// SetOfferingClass sets the OfferingClass field's value. 5452func (s *EC2Specification) SetOfferingClass(v string) *EC2Specification { 5453 s.OfferingClass = &v 5454 return s 5455} 5456 5457// Details about the Amazon ES instances that Amazon Web Services recommends 5458// that you purchase. 5459type ESInstanceDetails struct { 5460 _ struct{} `type:"structure"` 5461 5462 // Determines whether the recommendation is for a current-generation instance. 5463 CurrentGeneration *bool `type:"boolean"` 5464 5465 // The class of instance that Amazon Web Services recommends. 5466 InstanceClass *string `type:"string"` 5467 5468 // The size of instance that Amazon Web Services recommends. 5469 InstanceSize *string `type:"string"` 5470 5471 // The Amazon Web Services Region of the recommended reservation. 5472 Region *string `type:"string"` 5473 5474 // Determines whether the recommended reservation is size flexible. 5475 SizeFlexEligible *bool `type:"boolean"` 5476} 5477 5478// String returns the string representation 5479func (s ESInstanceDetails) String() string { 5480 return awsutil.Prettify(s) 5481} 5482 5483// GoString returns the string representation 5484func (s ESInstanceDetails) GoString() string { 5485 return s.String() 5486} 5487 5488// SetCurrentGeneration sets the CurrentGeneration field's value. 5489func (s *ESInstanceDetails) SetCurrentGeneration(v bool) *ESInstanceDetails { 5490 s.CurrentGeneration = &v 5491 return s 5492} 5493 5494// SetInstanceClass sets the InstanceClass field's value. 5495func (s *ESInstanceDetails) SetInstanceClass(v string) *ESInstanceDetails { 5496 s.InstanceClass = &v 5497 return s 5498} 5499 5500// SetInstanceSize sets the InstanceSize field's value. 5501func (s *ESInstanceDetails) SetInstanceSize(v string) *ESInstanceDetails { 5502 s.InstanceSize = &v 5503 return s 5504} 5505 5506// SetRegion sets the Region field's value. 5507func (s *ESInstanceDetails) SetRegion(v string) *ESInstanceDetails { 5508 s.Region = &v 5509 return s 5510} 5511 5512// SetSizeFlexEligible sets the SizeFlexEligible field's value. 5513func (s *ESInstanceDetails) SetSizeFlexEligible(v bool) *ESInstanceDetails { 5514 s.SizeFlexEligible = &v 5515 return s 5516} 5517 5518// Details about the Amazon ElastiCache instances that Amazon Web Services recommends 5519// that you purchase. 5520type ElastiCacheInstanceDetails struct { 5521 _ struct{} `type:"structure"` 5522 5523 // Determines whether the recommendation is for a current generation instance. 5524 CurrentGeneration *bool `type:"boolean"` 5525 5526 // The instance family of the recommended reservation. 5527 Family *string `type:"string"` 5528 5529 // The type of node that Amazon Web Services recommends. 5530 NodeType *string `type:"string"` 5531 5532 // The description of the recommended reservation. 5533 ProductDescription *string `type:"string"` 5534 5535 // The Amazon Web Services Region of the recommended reservation. 5536 Region *string `type:"string"` 5537 5538 // Determines whether the recommended reservation is size flexible. 5539 SizeFlexEligible *bool `type:"boolean"` 5540} 5541 5542// String returns the string representation 5543func (s ElastiCacheInstanceDetails) String() string { 5544 return awsutil.Prettify(s) 5545} 5546 5547// GoString returns the string representation 5548func (s ElastiCacheInstanceDetails) GoString() string { 5549 return s.String() 5550} 5551 5552// SetCurrentGeneration sets the CurrentGeneration field's value. 5553func (s *ElastiCacheInstanceDetails) SetCurrentGeneration(v bool) *ElastiCacheInstanceDetails { 5554 s.CurrentGeneration = &v 5555 return s 5556} 5557 5558// SetFamily sets the Family field's value. 5559func (s *ElastiCacheInstanceDetails) SetFamily(v string) *ElastiCacheInstanceDetails { 5560 s.Family = &v 5561 return s 5562} 5563 5564// SetNodeType sets the NodeType field's value. 5565func (s *ElastiCacheInstanceDetails) SetNodeType(v string) *ElastiCacheInstanceDetails { 5566 s.NodeType = &v 5567 return s 5568} 5569 5570// SetProductDescription sets the ProductDescription field's value. 5571func (s *ElastiCacheInstanceDetails) SetProductDescription(v string) *ElastiCacheInstanceDetails { 5572 s.ProductDescription = &v 5573 return s 5574} 5575 5576// SetRegion sets the Region field's value. 5577func (s *ElastiCacheInstanceDetails) SetRegion(v string) *ElastiCacheInstanceDetails { 5578 s.Region = &v 5579 return s 5580} 5581 5582// SetSizeFlexEligible sets the SizeFlexEligible field's value. 5583func (s *ElastiCacheInstanceDetails) SetSizeFlexEligible(v bool) *ElastiCacheInstanceDetails { 5584 s.SizeFlexEligible = &v 5585 return s 5586} 5587 5588// Use Expression to filter by cost or by usage. There are two patterns: 5589// 5590// * Simple dimension values - You can set the dimension name and values 5591// for the filters that you plan to use. For example, you can filter for 5592// REGION==us-east-1 OR REGION==us-west-1. For GetRightsizingRecommendation, 5593// the Region is a full name (for example, REGION==US East (N. Virginia). 5594// The Expression example is as follows: { "Dimensions": { "Key": "REGION", 5595// "Values": [ "us-east-1", “us-west-1” ] } } The list of dimension values 5596// are OR'd together to retrieve cost or usage data. You can create Expression 5597// and DimensionValues objects using either with* methods or set* methods 5598// in multiple lines. 5599// 5600// * Compound dimension values with logical operations - You can use multiple 5601// Expression types and the logical operators AND/OR/NOT to create a list 5602// of one or more Expression objects. By doing this, you can filter on more 5603// advanced options. For example, you can filter on ((REGION == us-east-1 5604// OR REGION == us-west-1) OR (TAG.Type == Type1)) AND (USAGE_TYPE != DataTransfer). 5605// The Expression for that is as follows: { "And": [ {"Or": [ {"Dimensions": 5606// { "Key": "REGION", "Values": [ "us-east-1", "us-west-1" ] }}, {"Tags": 5607// { "Key": "TagName", "Values": ["Value1"] } } ]}, {"Not": {"Dimensions": 5608// { "Key": "USAGE_TYPE", "Values": ["DataTransfer"] }}} ] } Because each 5609// Expression can have only one operator, the service returns an error if 5610// more than one is specified. The following example shows an Expression 5611// object that creates an error. { "And": [ ... ], "DimensionValues": { "Dimension": 5612// "USAGE_TYPE", "Values": [ "DataTransfer" ] } } 5613// 5614// For the GetRightsizingRecommendation action, a combination of OR and NOT 5615// isn't supported. OR isn't supported between different dimensions, or dimensions 5616// and tags. NOT operators aren't supported. Dimensions are also limited to 5617// LINKED_ACCOUNT, REGION, or RIGHTSIZING_TYPE. 5618// 5619// For the GetReservationPurchaseRecommendation action, only NOT is supported. 5620// AND and OR aren't supported. Dimensions are limited to LINKED_ACCOUNT. 5621type Expression struct { 5622 _ struct{} `type:"structure"` 5623 5624 // Return results that match both Dimension objects. 5625 And []*Expression `type:"list"` 5626 5627 // The filter that's based on CostCategory values. 5628 CostCategories *CostCategoryValues `type:"structure"` 5629 5630 // The specific Dimension to use for Expression. 5631 Dimensions *DimensionValues `type:"structure"` 5632 5633 // Return results that don't match a Dimension object. 5634 Not *Expression `type:"structure"` 5635 5636 // Return results that match either Dimension object. 5637 Or []*Expression `type:"list"` 5638 5639 // The specific Tag to use for Expression. 5640 Tags *TagValues `type:"structure"` 5641} 5642 5643// String returns the string representation 5644func (s Expression) String() string { 5645 return awsutil.Prettify(s) 5646} 5647 5648// GoString returns the string representation 5649func (s Expression) GoString() string { 5650 return s.String() 5651} 5652 5653// Validate inspects the fields of the type to determine if they are valid. 5654func (s *Expression) Validate() error { 5655 invalidParams := request.ErrInvalidParams{Context: "Expression"} 5656 if s.CostCategories != nil { 5657 if err := s.CostCategories.Validate(); err != nil { 5658 invalidParams.AddNested("CostCategories", err.(request.ErrInvalidParams)) 5659 } 5660 } 5661 if s.Not != nil { 5662 if err := s.Not.Validate(); err != nil { 5663 invalidParams.AddNested("Not", err.(request.ErrInvalidParams)) 5664 } 5665 } 5666 if s.Or != nil { 5667 for i, v := range s.Or { 5668 if v == nil { 5669 continue 5670 } 5671 if err := v.Validate(); err != nil { 5672 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Or", i), err.(request.ErrInvalidParams)) 5673 } 5674 } 5675 } 5676 5677 if invalidParams.Len() > 0 { 5678 return invalidParams 5679 } 5680 return nil 5681} 5682 5683// SetAnd sets the And field's value. 5684func (s *Expression) SetAnd(v []*Expression) *Expression { 5685 s.And = v 5686 return s 5687} 5688 5689// SetCostCategories sets the CostCategories field's value. 5690func (s *Expression) SetCostCategories(v *CostCategoryValues) *Expression { 5691 s.CostCategories = v 5692 return s 5693} 5694 5695// SetDimensions sets the Dimensions field's value. 5696func (s *Expression) SetDimensions(v *DimensionValues) *Expression { 5697 s.Dimensions = v 5698 return s 5699} 5700 5701// SetNot sets the Not field's value. 5702func (s *Expression) SetNot(v *Expression) *Expression { 5703 s.Not = v 5704 return s 5705} 5706 5707// SetOr sets the Or field's value. 5708func (s *Expression) SetOr(v []*Expression) *Expression { 5709 s.Or = v 5710 return s 5711} 5712 5713// SetTags sets the Tags field's value. 5714func (s *Expression) SetTags(v *TagValues) *Expression { 5715 s.Tags = v 5716 return s 5717} 5718 5719// The forecast that's created for your query. 5720type ForecastResult struct { 5721 _ struct{} `type:"structure"` 5722 5723 // The mean value of the forecast. 5724 MeanValue *string `type:"string"` 5725 5726 // The lower limit for the prediction interval. 5727 PredictionIntervalLowerBound *string `type:"string"` 5728 5729 // The upper limit for the prediction interval. 5730 PredictionIntervalUpperBound *string `type:"string"` 5731 5732 // The period of time that the forecast covers. 5733 TimePeriod *DateInterval `type:"structure"` 5734} 5735 5736// String returns the string representation 5737func (s ForecastResult) String() string { 5738 return awsutil.Prettify(s) 5739} 5740 5741// GoString returns the string representation 5742func (s ForecastResult) GoString() string { 5743 return s.String() 5744} 5745 5746// SetMeanValue sets the MeanValue field's value. 5747func (s *ForecastResult) SetMeanValue(v string) *ForecastResult { 5748 s.MeanValue = &v 5749 return s 5750} 5751 5752// SetPredictionIntervalLowerBound sets the PredictionIntervalLowerBound field's value. 5753func (s *ForecastResult) SetPredictionIntervalLowerBound(v string) *ForecastResult { 5754 s.PredictionIntervalLowerBound = &v 5755 return s 5756} 5757 5758// SetPredictionIntervalUpperBound sets the PredictionIntervalUpperBound field's value. 5759func (s *ForecastResult) SetPredictionIntervalUpperBound(v string) *ForecastResult { 5760 s.PredictionIntervalUpperBound = &v 5761 return s 5762} 5763 5764// SetTimePeriod sets the TimePeriod field's value. 5765func (s *ForecastResult) SetTimePeriod(v *DateInterval) *ForecastResult { 5766 s.TimePeriod = v 5767 return s 5768} 5769 5770type GetAnomaliesInput struct { 5771 _ struct{} `type:"structure"` 5772 5773 // Assigns the start and end dates for retrieving cost anomalies. The returned 5774 // anomaly object will have an AnomalyEndDate in the specified time range. 5775 // 5776 // DateInterval is a required field 5777 DateInterval *AnomalyDateInterval `type:"structure" required:"true"` 5778 5779 // Filters anomaly results by the feedback field on the anomaly object. 5780 Feedback *string `type:"string" enum:"AnomalyFeedbackType"` 5781 5782 // The number of entries a paginated response contains. 5783 MaxResults *int64 `type:"integer"` 5784 5785 // Retrieves all of the cost anomalies detected for a specific cost anomaly 5786 // monitor Amazon Resource Name (ARN). 5787 MonitorArn *string `type:"string"` 5788 5789 // The token to retrieve the next set of results. Amazon Web Services provides 5790 // the token when the response from a previous call has more results than the 5791 // maximum page size. 5792 NextPageToken *string `type:"string"` 5793 5794 // Filters anomaly results by the total impact field on the anomaly object. 5795 // For example, you can filter anomalies GREATER_THAN 200.00 to retrieve anomalies, 5796 // with an estimated dollar impact greater than 200. 5797 TotalImpact *TotalImpactFilter `type:"structure"` 5798} 5799 5800// String returns the string representation 5801func (s GetAnomaliesInput) String() string { 5802 return awsutil.Prettify(s) 5803} 5804 5805// GoString returns the string representation 5806func (s GetAnomaliesInput) GoString() string { 5807 return s.String() 5808} 5809 5810// Validate inspects the fields of the type to determine if they are valid. 5811func (s *GetAnomaliesInput) Validate() error { 5812 invalidParams := request.ErrInvalidParams{Context: "GetAnomaliesInput"} 5813 if s.DateInterval == nil { 5814 invalidParams.Add(request.NewErrParamRequired("DateInterval")) 5815 } 5816 if s.DateInterval != nil { 5817 if err := s.DateInterval.Validate(); err != nil { 5818 invalidParams.AddNested("DateInterval", err.(request.ErrInvalidParams)) 5819 } 5820 } 5821 if s.TotalImpact != nil { 5822 if err := s.TotalImpact.Validate(); err != nil { 5823 invalidParams.AddNested("TotalImpact", err.(request.ErrInvalidParams)) 5824 } 5825 } 5826 5827 if invalidParams.Len() > 0 { 5828 return invalidParams 5829 } 5830 return nil 5831} 5832 5833// SetDateInterval sets the DateInterval field's value. 5834func (s *GetAnomaliesInput) SetDateInterval(v *AnomalyDateInterval) *GetAnomaliesInput { 5835 s.DateInterval = v 5836 return s 5837} 5838 5839// SetFeedback sets the Feedback field's value. 5840func (s *GetAnomaliesInput) SetFeedback(v string) *GetAnomaliesInput { 5841 s.Feedback = &v 5842 return s 5843} 5844 5845// SetMaxResults sets the MaxResults field's value. 5846func (s *GetAnomaliesInput) SetMaxResults(v int64) *GetAnomaliesInput { 5847 s.MaxResults = &v 5848 return s 5849} 5850 5851// SetMonitorArn sets the MonitorArn field's value. 5852func (s *GetAnomaliesInput) SetMonitorArn(v string) *GetAnomaliesInput { 5853 s.MonitorArn = &v 5854 return s 5855} 5856 5857// SetNextPageToken sets the NextPageToken field's value. 5858func (s *GetAnomaliesInput) SetNextPageToken(v string) *GetAnomaliesInput { 5859 s.NextPageToken = &v 5860 return s 5861} 5862 5863// SetTotalImpact sets the TotalImpact field's value. 5864func (s *GetAnomaliesInput) SetTotalImpact(v *TotalImpactFilter) *GetAnomaliesInput { 5865 s.TotalImpact = v 5866 return s 5867} 5868 5869type GetAnomaliesOutput struct { 5870 _ struct{} `type:"structure"` 5871 5872 // A list of cost anomalies. 5873 // 5874 // Anomalies is a required field 5875 Anomalies []*Anomaly `type:"list" required:"true"` 5876 5877 // The token to retrieve the next set of results. Amazon Web Services provides 5878 // the token when the response from a previous call has more results than the 5879 // maximum page size. 5880 NextPageToken *string `type:"string"` 5881} 5882 5883// String returns the string representation 5884func (s GetAnomaliesOutput) String() string { 5885 return awsutil.Prettify(s) 5886} 5887 5888// GoString returns the string representation 5889func (s GetAnomaliesOutput) GoString() string { 5890 return s.String() 5891} 5892 5893// SetAnomalies sets the Anomalies field's value. 5894func (s *GetAnomaliesOutput) SetAnomalies(v []*Anomaly) *GetAnomaliesOutput { 5895 s.Anomalies = v 5896 return s 5897} 5898 5899// SetNextPageToken sets the NextPageToken field's value. 5900func (s *GetAnomaliesOutput) SetNextPageToken(v string) *GetAnomaliesOutput { 5901 s.NextPageToken = &v 5902 return s 5903} 5904 5905type GetAnomalyMonitorsInput struct { 5906 _ struct{} `type:"structure"` 5907 5908 // The number of entries that a paginated response contains. 5909 MaxResults *int64 `type:"integer"` 5910 5911 // A list of cost anomaly monitor ARNs. 5912 MonitorArnList []*string `type:"list"` 5913 5914 // The token to retrieve the next set of results. Amazon Web Services provides 5915 // the token when the response from a previous call has more results than the 5916 // maximum page size. 5917 NextPageToken *string `type:"string"` 5918} 5919 5920// String returns the string representation 5921func (s GetAnomalyMonitorsInput) String() string { 5922 return awsutil.Prettify(s) 5923} 5924 5925// GoString returns the string representation 5926func (s GetAnomalyMonitorsInput) GoString() string { 5927 return s.String() 5928} 5929 5930// SetMaxResults sets the MaxResults field's value. 5931func (s *GetAnomalyMonitorsInput) SetMaxResults(v int64) *GetAnomalyMonitorsInput { 5932 s.MaxResults = &v 5933 return s 5934} 5935 5936// SetMonitorArnList sets the MonitorArnList field's value. 5937func (s *GetAnomalyMonitorsInput) SetMonitorArnList(v []*string) *GetAnomalyMonitorsInput { 5938 s.MonitorArnList = v 5939 return s 5940} 5941 5942// SetNextPageToken sets the NextPageToken field's value. 5943func (s *GetAnomalyMonitorsInput) SetNextPageToken(v string) *GetAnomalyMonitorsInput { 5944 s.NextPageToken = &v 5945 return s 5946} 5947 5948type GetAnomalyMonitorsOutput struct { 5949 _ struct{} `type:"structure"` 5950 5951 // A list of cost anomaly monitors that includes the detailed metadata for each 5952 // monitor. 5953 // 5954 // AnomalyMonitors is a required field 5955 AnomalyMonitors []*AnomalyMonitor `type:"list" required:"true"` 5956 5957 // The token to retrieve the next set of results. Amazon Web Services provides 5958 // the token when the response from a previous call has more results than the 5959 // maximum page size. 5960 NextPageToken *string `type:"string"` 5961} 5962 5963// String returns the string representation 5964func (s GetAnomalyMonitorsOutput) String() string { 5965 return awsutil.Prettify(s) 5966} 5967 5968// GoString returns the string representation 5969func (s GetAnomalyMonitorsOutput) GoString() string { 5970 return s.String() 5971} 5972 5973// SetAnomalyMonitors sets the AnomalyMonitors field's value. 5974func (s *GetAnomalyMonitorsOutput) SetAnomalyMonitors(v []*AnomalyMonitor) *GetAnomalyMonitorsOutput { 5975 s.AnomalyMonitors = v 5976 return s 5977} 5978 5979// SetNextPageToken sets the NextPageToken field's value. 5980func (s *GetAnomalyMonitorsOutput) SetNextPageToken(v string) *GetAnomalyMonitorsOutput { 5981 s.NextPageToken = &v 5982 return s 5983} 5984 5985type GetAnomalySubscriptionsInput struct { 5986 _ struct{} `type:"structure"` 5987 5988 // The number of entries a paginated response contains. 5989 MaxResults *int64 `type:"integer"` 5990 5991 // Cost anomaly monitor ARNs. 5992 MonitorArn *string `type:"string"` 5993 5994 // The token to retrieve the next set of results. Amazon Web Services provides 5995 // the token when the response from a previous call has more results than the 5996 // maximum page size. 5997 NextPageToken *string `type:"string"` 5998 5999 // A list of cost anomaly subscription ARNs. 6000 SubscriptionArnList []*string `type:"list"` 6001} 6002 6003// String returns the string representation 6004func (s GetAnomalySubscriptionsInput) String() string { 6005 return awsutil.Prettify(s) 6006} 6007 6008// GoString returns the string representation 6009func (s GetAnomalySubscriptionsInput) GoString() string { 6010 return s.String() 6011} 6012 6013// SetMaxResults sets the MaxResults field's value. 6014func (s *GetAnomalySubscriptionsInput) SetMaxResults(v int64) *GetAnomalySubscriptionsInput { 6015 s.MaxResults = &v 6016 return s 6017} 6018 6019// SetMonitorArn sets the MonitorArn field's value. 6020func (s *GetAnomalySubscriptionsInput) SetMonitorArn(v string) *GetAnomalySubscriptionsInput { 6021 s.MonitorArn = &v 6022 return s 6023} 6024 6025// SetNextPageToken sets the NextPageToken field's value. 6026func (s *GetAnomalySubscriptionsInput) SetNextPageToken(v string) *GetAnomalySubscriptionsInput { 6027 s.NextPageToken = &v 6028 return s 6029} 6030 6031// SetSubscriptionArnList sets the SubscriptionArnList field's value. 6032func (s *GetAnomalySubscriptionsInput) SetSubscriptionArnList(v []*string) *GetAnomalySubscriptionsInput { 6033 s.SubscriptionArnList = v 6034 return s 6035} 6036 6037type GetAnomalySubscriptionsOutput struct { 6038 _ struct{} `type:"structure"` 6039 6040 // A list of cost anomaly subscriptions that includes the detailed metadata 6041 // for each one. 6042 // 6043 // AnomalySubscriptions is a required field 6044 AnomalySubscriptions []*AnomalySubscription `type:"list" required:"true"` 6045 6046 // The token to retrieve the next set of results. Amazon Web Services provides 6047 // the token when the response from a previous call has more results than the 6048 // maximum page size. 6049 NextPageToken *string `type:"string"` 6050} 6051 6052// String returns the string representation 6053func (s GetAnomalySubscriptionsOutput) String() string { 6054 return awsutil.Prettify(s) 6055} 6056 6057// GoString returns the string representation 6058func (s GetAnomalySubscriptionsOutput) GoString() string { 6059 return s.String() 6060} 6061 6062// SetAnomalySubscriptions sets the AnomalySubscriptions field's value. 6063func (s *GetAnomalySubscriptionsOutput) SetAnomalySubscriptions(v []*AnomalySubscription) *GetAnomalySubscriptionsOutput { 6064 s.AnomalySubscriptions = v 6065 return s 6066} 6067 6068// SetNextPageToken sets the NextPageToken field's value. 6069func (s *GetAnomalySubscriptionsOutput) SetNextPageToken(v string) *GetAnomalySubscriptionsOutput { 6070 s.NextPageToken = &v 6071 return s 6072} 6073 6074type GetCostAndUsageInput struct { 6075 _ struct{} `type:"structure"` 6076 6077 // Filters Amazon Web Services costs by different dimensions. For example, you 6078 // can specify SERVICE and LINKED_ACCOUNT and get the costs that are associated 6079 // with that account's usage of that service. You can nest Expression objects 6080 // to define any combination of dimension filters. For more information, see 6081 // Expression (https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_Expression.html). 6082 Filter *Expression `type:"structure"` 6083 6084 // Sets the Amazon Web Services cost granularity to MONTHLY or DAILY, or HOURLY. 6085 // If Granularity isn't set, the response object doesn't include the Granularity, 6086 // either MONTHLY or DAILY, or HOURLY. 6087 // 6088 // Granularity is a required field 6089 Granularity *string `type:"string" required:"true" enum:"Granularity"` 6090 6091 // You can group Amazon Web Services costs using up to two different groups, 6092 // either dimensions, tag keys, cost categories, or any two group by types. 6093 // 6094 // Valid values for the DIMENSION type are AZ, INSTANCE_TYPE, LEGAL_ENTITY_NAME, 6095 // LINKED_ACCOUNT, OPERATION, PLATFORM, PURCHASE_TYPE, SERVICE, TENANCY, RECORD_TYPE, 6096 // and USAGE_TYPE. 6097 // 6098 // When you group by the TAG type and include a valid tag key, you get all tag 6099 // values, including empty strings. 6100 GroupBy []*GroupDefinition `type:"list"` 6101 6102 // Which metrics are returned in the query. For more information about blended 6103 // and unblended rates, see Why does the "blended" annotation appear on some 6104 // line items in my bill? (http://aws.amazon.com/premiumsupport/knowledge-center/blended-rates-intro/). 6105 // 6106 // Valid values are AmortizedCost, BlendedCost, NetAmortizedCost, NetUnblendedCost, 6107 // NormalizedUsageAmount, UnblendedCost, and UsageQuantity. 6108 // 6109 // If you return the UsageQuantity metric, the service aggregates all usage 6110 // numbers without taking into account the units. For example, if you aggregate 6111 // usageQuantity across all of Amazon EC2, the results aren't meaningful because 6112 // Amazon EC2 compute hours and data transfer are measured in different units 6113 // (for example, hours and GB). To get more meaningful UsageQuantity metrics, 6114 // filter by UsageType or UsageTypeGroups. 6115 // 6116 // Metrics is required for GetCostAndUsage requests. 6117 // 6118 // Metrics is a required field 6119 Metrics []*string `type:"list" required:"true"` 6120 6121 // The token to retrieve the next set of results. Amazon Web Services provides 6122 // the token when the response from a previous call has more results than the 6123 // maximum page size. 6124 NextPageToken *string `type:"string"` 6125 6126 // Sets the start date and end date for retrieving Amazon Web Services costs. 6127 // The start date is inclusive, but the end date is exclusive. For example, 6128 // if start is 2017-01-01 and end is 2017-05-01, then the cost and usage data 6129 // is retrieved from 2017-01-01 up to and including 2017-04-30 but not including 6130 // 2017-05-01. 6131 // 6132 // TimePeriod is a required field 6133 TimePeriod *DateInterval `type:"structure" required:"true"` 6134} 6135 6136// String returns the string representation 6137func (s GetCostAndUsageInput) String() string { 6138 return awsutil.Prettify(s) 6139} 6140 6141// GoString returns the string representation 6142func (s GetCostAndUsageInput) GoString() string { 6143 return s.String() 6144} 6145 6146// Validate inspects the fields of the type to determine if they are valid. 6147func (s *GetCostAndUsageInput) Validate() error { 6148 invalidParams := request.ErrInvalidParams{Context: "GetCostAndUsageInput"} 6149 if s.Granularity == nil { 6150 invalidParams.Add(request.NewErrParamRequired("Granularity")) 6151 } 6152 if s.Metrics == nil { 6153 invalidParams.Add(request.NewErrParamRequired("Metrics")) 6154 } 6155 if s.TimePeriod == nil { 6156 invalidParams.Add(request.NewErrParamRequired("TimePeriod")) 6157 } 6158 if s.Filter != nil { 6159 if err := s.Filter.Validate(); err != nil { 6160 invalidParams.AddNested("Filter", err.(request.ErrInvalidParams)) 6161 } 6162 } 6163 if s.TimePeriod != nil { 6164 if err := s.TimePeriod.Validate(); err != nil { 6165 invalidParams.AddNested("TimePeriod", err.(request.ErrInvalidParams)) 6166 } 6167 } 6168 6169 if invalidParams.Len() > 0 { 6170 return invalidParams 6171 } 6172 return nil 6173} 6174 6175// SetFilter sets the Filter field's value. 6176func (s *GetCostAndUsageInput) SetFilter(v *Expression) *GetCostAndUsageInput { 6177 s.Filter = v 6178 return s 6179} 6180 6181// SetGranularity sets the Granularity field's value. 6182func (s *GetCostAndUsageInput) SetGranularity(v string) *GetCostAndUsageInput { 6183 s.Granularity = &v 6184 return s 6185} 6186 6187// SetGroupBy sets the GroupBy field's value. 6188func (s *GetCostAndUsageInput) SetGroupBy(v []*GroupDefinition) *GetCostAndUsageInput { 6189 s.GroupBy = v 6190 return s 6191} 6192 6193// SetMetrics sets the Metrics field's value. 6194func (s *GetCostAndUsageInput) SetMetrics(v []*string) *GetCostAndUsageInput { 6195 s.Metrics = v 6196 return s 6197} 6198 6199// SetNextPageToken sets the NextPageToken field's value. 6200func (s *GetCostAndUsageInput) SetNextPageToken(v string) *GetCostAndUsageInput { 6201 s.NextPageToken = &v 6202 return s 6203} 6204 6205// SetTimePeriod sets the TimePeriod field's value. 6206func (s *GetCostAndUsageInput) SetTimePeriod(v *DateInterval) *GetCostAndUsageInput { 6207 s.TimePeriod = v 6208 return s 6209} 6210 6211type GetCostAndUsageOutput struct { 6212 _ struct{} `type:"structure"` 6213 6214 // The attributes that apply to a specific dimension value. For example, if 6215 // the value is a linked account, the attribute is that account name. 6216 DimensionValueAttributes []*DimensionValuesWithAttributes `type:"list"` 6217 6218 // The groups that are specified by the Filter or GroupBy parameters in the 6219 // request. 6220 GroupDefinitions []*GroupDefinition `type:"list"` 6221 6222 // The token for the next set of retrievable results. Amazon Web Services provides 6223 // the token when the response from a previous call has more results than the 6224 // maximum page size. 6225 NextPageToken *string `type:"string"` 6226 6227 // The time period that's covered by the results in the response. 6228 ResultsByTime []*ResultByTime `type:"list"` 6229} 6230 6231// String returns the string representation 6232func (s GetCostAndUsageOutput) String() string { 6233 return awsutil.Prettify(s) 6234} 6235 6236// GoString returns the string representation 6237func (s GetCostAndUsageOutput) GoString() string { 6238 return s.String() 6239} 6240 6241// SetDimensionValueAttributes sets the DimensionValueAttributes field's value. 6242func (s *GetCostAndUsageOutput) SetDimensionValueAttributes(v []*DimensionValuesWithAttributes) *GetCostAndUsageOutput { 6243 s.DimensionValueAttributes = v 6244 return s 6245} 6246 6247// SetGroupDefinitions sets the GroupDefinitions field's value. 6248func (s *GetCostAndUsageOutput) SetGroupDefinitions(v []*GroupDefinition) *GetCostAndUsageOutput { 6249 s.GroupDefinitions = v 6250 return s 6251} 6252 6253// SetNextPageToken sets the NextPageToken field's value. 6254func (s *GetCostAndUsageOutput) SetNextPageToken(v string) *GetCostAndUsageOutput { 6255 s.NextPageToken = &v 6256 return s 6257} 6258 6259// SetResultsByTime sets the ResultsByTime field's value. 6260func (s *GetCostAndUsageOutput) SetResultsByTime(v []*ResultByTime) *GetCostAndUsageOutput { 6261 s.ResultsByTime = v 6262 return s 6263} 6264 6265type GetCostAndUsageWithResourcesInput struct { 6266 _ struct{} `type:"structure"` 6267 6268 // Filters Amazon Web Services costs by different dimensions. For example, you 6269 // can specify SERVICE and LINKED_ACCOUNT and get the costs that are associated 6270 // with that account's usage of that service. You can nest Expression objects 6271 // to define any combination of dimension filters. For more information, see 6272 // Expression (https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_Expression.html). 6273 // 6274 // The GetCostAndUsageWithResources operation requires that you either group 6275 // by or filter by a ResourceId. It requires the Expression (https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_Expression.html) 6276 // "SERVICE = Amazon Elastic Compute Cloud - Compute" in the filter. 6277 // 6278 // Filter is a required field 6279 Filter *Expression `type:"structure" required:"true"` 6280 6281 // Sets the Amazon Web Services cost granularity to MONTHLY, DAILY, or HOURLY. 6282 // If Granularity isn't set, the response object doesn't include the Granularity, 6283 // MONTHLY, DAILY, or HOURLY. 6284 // 6285 // Granularity is a required field 6286 Granularity *string `type:"string" required:"true" enum:"Granularity"` 6287 6288 // You can group Amazon Web Services costs using up to two different groups: 6289 // DIMENSION, TAG, COST_CATEGORY. 6290 GroupBy []*GroupDefinition `type:"list"` 6291 6292 // Which metrics are returned in the query. For more information about blended 6293 // and unblended rates, see Why does the "blended" annotation appear on some 6294 // line items in my bill? (http://aws.amazon.com/premiumsupport/knowledge-center/blended-rates-intro/). 6295 // 6296 // Valid values are AmortizedCost, BlendedCost, NetAmortizedCost, NetUnblendedCost, 6297 // NormalizedUsageAmount, UnblendedCost, and UsageQuantity. 6298 // 6299 // If you return the UsageQuantity metric, the service aggregates all usage 6300 // numbers without taking the units into account. For example, if you aggregate 6301 // usageQuantity across all of Amazon EC2, the results aren't meaningful because 6302 // Amazon EC2 compute hours and data transfer are measured in different units 6303 // (for example, hours vs. GB). To get more meaningful UsageQuantity metrics, 6304 // filter by UsageType or UsageTypeGroups. 6305 // 6306 // Metrics is required for GetCostAndUsageWithResources requests. 6307 Metrics []*string `type:"list"` 6308 6309 // The token to retrieve the next set of results. Amazon Web Services provides 6310 // the token when the response from a previous call has more results than the 6311 // maximum page size. 6312 NextPageToken *string `type:"string"` 6313 6314 // Sets the start and end dates for retrieving Amazon Web Services costs. The 6315 // range must be within the last 14 days (the start date cannot be earlier than 6316 // 14 days ago). The start date is inclusive, but the end date is exclusive. 6317 // For example, if start is 2017-01-01 and end is 2017-05-01, then the cost 6318 // and usage data is retrieved from 2017-01-01 up to and including 2017-04-30 6319 // but not including 2017-05-01. 6320 // 6321 // TimePeriod is a required field 6322 TimePeriod *DateInterval `type:"structure" required:"true"` 6323} 6324 6325// String returns the string representation 6326func (s GetCostAndUsageWithResourcesInput) String() string { 6327 return awsutil.Prettify(s) 6328} 6329 6330// GoString returns the string representation 6331func (s GetCostAndUsageWithResourcesInput) GoString() string { 6332 return s.String() 6333} 6334 6335// Validate inspects the fields of the type to determine if they are valid. 6336func (s *GetCostAndUsageWithResourcesInput) Validate() error { 6337 invalidParams := request.ErrInvalidParams{Context: "GetCostAndUsageWithResourcesInput"} 6338 if s.Filter == nil { 6339 invalidParams.Add(request.NewErrParamRequired("Filter")) 6340 } 6341 if s.Granularity == nil { 6342 invalidParams.Add(request.NewErrParamRequired("Granularity")) 6343 } 6344 if s.TimePeriod == nil { 6345 invalidParams.Add(request.NewErrParamRequired("TimePeriod")) 6346 } 6347 if s.Filter != nil { 6348 if err := s.Filter.Validate(); err != nil { 6349 invalidParams.AddNested("Filter", err.(request.ErrInvalidParams)) 6350 } 6351 } 6352 if s.TimePeriod != nil { 6353 if err := s.TimePeriod.Validate(); err != nil { 6354 invalidParams.AddNested("TimePeriod", err.(request.ErrInvalidParams)) 6355 } 6356 } 6357 6358 if invalidParams.Len() > 0 { 6359 return invalidParams 6360 } 6361 return nil 6362} 6363 6364// SetFilter sets the Filter field's value. 6365func (s *GetCostAndUsageWithResourcesInput) SetFilter(v *Expression) *GetCostAndUsageWithResourcesInput { 6366 s.Filter = v 6367 return s 6368} 6369 6370// SetGranularity sets the Granularity field's value. 6371func (s *GetCostAndUsageWithResourcesInput) SetGranularity(v string) *GetCostAndUsageWithResourcesInput { 6372 s.Granularity = &v 6373 return s 6374} 6375 6376// SetGroupBy sets the GroupBy field's value. 6377func (s *GetCostAndUsageWithResourcesInput) SetGroupBy(v []*GroupDefinition) *GetCostAndUsageWithResourcesInput { 6378 s.GroupBy = v 6379 return s 6380} 6381 6382// SetMetrics sets the Metrics field's value. 6383func (s *GetCostAndUsageWithResourcesInput) SetMetrics(v []*string) *GetCostAndUsageWithResourcesInput { 6384 s.Metrics = v 6385 return s 6386} 6387 6388// SetNextPageToken sets the NextPageToken field's value. 6389func (s *GetCostAndUsageWithResourcesInput) SetNextPageToken(v string) *GetCostAndUsageWithResourcesInput { 6390 s.NextPageToken = &v 6391 return s 6392} 6393 6394// SetTimePeriod sets the TimePeriod field's value. 6395func (s *GetCostAndUsageWithResourcesInput) SetTimePeriod(v *DateInterval) *GetCostAndUsageWithResourcesInput { 6396 s.TimePeriod = v 6397 return s 6398} 6399 6400type GetCostAndUsageWithResourcesOutput struct { 6401 _ struct{} `type:"structure"` 6402 6403 // The attributes that apply to a specific dimension value. For example, if 6404 // the value is a linked account, the attribute is that account name. 6405 DimensionValueAttributes []*DimensionValuesWithAttributes `type:"list"` 6406 6407 // The groups that are specified by the Filter or GroupBy parameters in the 6408 // request. 6409 GroupDefinitions []*GroupDefinition `type:"list"` 6410 6411 // The token for the next set of retrievable results. Amazon Web Services provides 6412 // the token when the response from a previous call has more results than the 6413 // maximum page size. 6414 NextPageToken *string `type:"string"` 6415 6416 // The time period that is covered by the results in the response. 6417 ResultsByTime []*ResultByTime `type:"list"` 6418} 6419 6420// String returns the string representation 6421func (s GetCostAndUsageWithResourcesOutput) String() string { 6422 return awsutil.Prettify(s) 6423} 6424 6425// GoString returns the string representation 6426func (s GetCostAndUsageWithResourcesOutput) GoString() string { 6427 return s.String() 6428} 6429 6430// SetDimensionValueAttributes sets the DimensionValueAttributes field's value. 6431func (s *GetCostAndUsageWithResourcesOutput) SetDimensionValueAttributes(v []*DimensionValuesWithAttributes) *GetCostAndUsageWithResourcesOutput { 6432 s.DimensionValueAttributes = v 6433 return s 6434} 6435 6436// SetGroupDefinitions sets the GroupDefinitions field's value. 6437func (s *GetCostAndUsageWithResourcesOutput) SetGroupDefinitions(v []*GroupDefinition) *GetCostAndUsageWithResourcesOutput { 6438 s.GroupDefinitions = v 6439 return s 6440} 6441 6442// SetNextPageToken sets the NextPageToken field's value. 6443func (s *GetCostAndUsageWithResourcesOutput) SetNextPageToken(v string) *GetCostAndUsageWithResourcesOutput { 6444 s.NextPageToken = &v 6445 return s 6446} 6447 6448// SetResultsByTime sets the ResultsByTime field's value. 6449func (s *GetCostAndUsageWithResourcesOutput) SetResultsByTime(v []*ResultByTime) *GetCostAndUsageWithResourcesOutput { 6450 s.ResultsByTime = v 6451 return s 6452} 6453 6454type GetCostCategoriesInput struct { 6455 _ struct{} `type:"structure"` 6456 6457 // The unique name of the Cost Category. 6458 CostCategoryName *string `min:"1" type:"string"` 6459 6460 // Use Expression to filter by cost or by usage. There are two patterns: 6461 // 6462 // * Simple dimension values - You can set the dimension name and values 6463 // for the filters that you plan to use. For example, you can filter for 6464 // REGION==us-east-1 OR REGION==us-west-1. For GetRightsizingRecommendation, 6465 // the Region is a full name (for example, REGION==US East (N. Virginia). 6466 // The Expression example is as follows: { "Dimensions": { "Key": "REGION", 6467 // "Values": [ "us-east-1", “us-west-1” ] } } The list of dimension values 6468 // are OR'd together to retrieve cost or usage data. You can create Expression 6469 // and DimensionValues objects using either with* methods or set* methods 6470 // in multiple lines. 6471 // 6472 // * Compound dimension values with logical operations - You can use multiple 6473 // Expression types and the logical operators AND/OR/NOT to create a list 6474 // of one or more Expression objects. By doing this, you can filter on more 6475 // advanced options. For example, you can filter on ((REGION == us-east-1 6476 // OR REGION == us-west-1) OR (TAG.Type == Type1)) AND (USAGE_TYPE != DataTransfer). 6477 // The Expression for that is as follows: { "And": [ {"Or": [ {"Dimensions": 6478 // { "Key": "REGION", "Values": [ "us-east-1", "us-west-1" ] }}, {"Tags": 6479 // { "Key": "TagName", "Values": ["Value1"] } } ]}, {"Not": {"Dimensions": 6480 // { "Key": "USAGE_TYPE", "Values": ["DataTransfer"] }}} ] } Because each 6481 // Expression can have only one operator, the service returns an error if 6482 // more than one is specified. The following example shows an Expression 6483 // object that creates an error. { "And": [ ... ], "DimensionValues": { "Dimension": 6484 // "USAGE_TYPE", "Values": [ "DataTransfer" ] } } 6485 // 6486 // For the GetRightsizingRecommendation action, a combination of OR and NOT 6487 // isn't supported. OR isn't supported between different dimensions, or dimensions 6488 // and tags. NOT operators aren't supported. Dimensions are also limited to 6489 // LINKED_ACCOUNT, REGION, or RIGHTSIZING_TYPE. 6490 // 6491 // For the GetReservationPurchaseRecommendation action, only NOT is supported. 6492 // AND and OR aren't supported. Dimensions are limited to LINKED_ACCOUNT. 6493 Filter *Expression `type:"structure"` 6494 6495 // This field is only used when SortBy is provided in the request. 6496 // 6497 // The maximum number of objects that to be returned for this request. If MaxResults 6498 // is not specified with SortBy, the request will return 1000 results as the 6499 // default value for this parameter. 6500 // 6501 // For GetCostCategories, MaxResults has an upper limit of 1000. 6502 MaxResults *int64 `min:"1" type:"integer"` 6503 6504 // If the number of objects that are still available for retrieval exceeds the 6505 // limit, Amazon Web Services returns a NextPageToken value in the response. 6506 // To retrieve the next batch of objects, provide the NextPageToken from the 6507 // prior call in your next request. 6508 NextPageToken *string `type:"string"` 6509 6510 // The value that you want to search the filter values for. 6511 // 6512 // If you do not specify a CostCategoryName, SearchString will be used to filter 6513 // Cost Category names that match the SearchString pattern. If you do specifiy 6514 // a CostCategoryName, SearchString will be used to filter Cost Category values 6515 // that match the SearchString pattern. 6516 SearchString *string `type:"string"` 6517 6518 // The value by which you want to sort the data. 6519 // 6520 // The key represents cost and usage metrics. The following values are supported: 6521 // 6522 // * BlendedCost 6523 // 6524 // * UnblendedCost 6525 // 6526 // * AmortizedCost 6527 // 6528 // * NetAmortizedCost 6529 // 6530 // * NetUnblendedCost 6531 // 6532 // * UsageQuantity 6533 // 6534 // * NormalizedUsageAmount 6535 // 6536 // Supported values for SortOrder are ASCENDING or DESCENDING. 6537 // 6538 // When using SortBy, NextPageToken and SearchString are not supported. 6539 SortBy []*SortDefinition `type:"list"` 6540 6541 // The time period of the request. 6542 // 6543 // TimePeriod is a required field 6544 TimePeriod *DateInterval `type:"structure" required:"true"` 6545} 6546 6547// String returns the string representation 6548func (s GetCostCategoriesInput) String() string { 6549 return awsutil.Prettify(s) 6550} 6551 6552// GoString returns the string representation 6553func (s GetCostCategoriesInput) GoString() string { 6554 return s.String() 6555} 6556 6557// Validate inspects the fields of the type to determine if they are valid. 6558func (s *GetCostCategoriesInput) Validate() error { 6559 invalidParams := request.ErrInvalidParams{Context: "GetCostCategoriesInput"} 6560 if s.CostCategoryName != nil && len(*s.CostCategoryName) < 1 { 6561 invalidParams.Add(request.NewErrParamMinLen("CostCategoryName", 1)) 6562 } 6563 if s.MaxResults != nil && *s.MaxResults < 1 { 6564 invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) 6565 } 6566 if s.TimePeriod == nil { 6567 invalidParams.Add(request.NewErrParamRequired("TimePeriod")) 6568 } 6569 if s.Filter != nil { 6570 if err := s.Filter.Validate(); err != nil { 6571 invalidParams.AddNested("Filter", err.(request.ErrInvalidParams)) 6572 } 6573 } 6574 if s.SortBy != nil { 6575 for i, v := range s.SortBy { 6576 if v == nil { 6577 continue 6578 } 6579 if err := v.Validate(); err != nil { 6580 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "SortBy", i), err.(request.ErrInvalidParams)) 6581 } 6582 } 6583 } 6584 if s.TimePeriod != nil { 6585 if err := s.TimePeriod.Validate(); err != nil { 6586 invalidParams.AddNested("TimePeriod", err.(request.ErrInvalidParams)) 6587 } 6588 } 6589 6590 if invalidParams.Len() > 0 { 6591 return invalidParams 6592 } 6593 return nil 6594} 6595 6596// SetCostCategoryName sets the CostCategoryName field's value. 6597func (s *GetCostCategoriesInput) SetCostCategoryName(v string) *GetCostCategoriesInput { 6598 s.CostCategoryName = &v 6599 return s 6600} 6601 6602// SetFilter sets the Filter field's value. 6603func (s *GetCostCategoriesInput) SetFilter(v *Expression) *GetCostCategoriesInput { 6604 s.Filter = v 6605 return s 6606} 6607 6608// SetMaxResults sets the MaxResults field's value. 6609func (s *GetCostCategoriesInput) SetMaxResults(v int64) *GetCostCategoriesInput { 6610 s.MaxResults = &v 6611 return s 6612} 6613 6614// SetNextPageToken sets the NextPageToken field's value. 6615func (s *GetCostCategoriesInput) SetNextPageToken(v string) *GetCostCategoriesInput { 6616 s.NextPageToken = &v 6617 return s 6618} 6619 6620// SetSearchString sets the SearchString field's value. 6621func (s *GetCostCategoriesInput) SetSearchString(v string) *GetCostCategoriesInput { 6622 s.SearchString = &v 6623 return s 6624} 6625 6626// SetSortBy sets the SortBy field's value. 6627func (s *GetCostCategoriesInput) SetSortBy(v []*SortDefinition) *GetCostCategoriesInput { 6628 s.SortBy = v 6629 return s 6630} 6631 6632// SetTimePeriod sets the TimePeriod field's value. 6633func (s *GetCostCategoriesInput) SetTimePeriod(v *DateInterval) *GetCostCategoriesInput { 6634 s.TimePeriod = v 6635 return s 6636} 6637 6638type GetCostCategoriesOutput struct { 6639 _ struct{} `type:"structure"` 6640 6641 // The names of the Cost Categories. 6642 CostCategoryNames []*string `type:"list"` 6643 6644 // The Cost Category values. 6645 // 6646 // CostCategoryValues are not returned if CostCategoryName is not specified 6647 // in the request. 6648 CostCategoryValues []*string `type:"list"` 6649 6650 // If the number of objects that are still available for retrieval exceeds the 6651 // limit, Amazon Web Services returns a NextPageToken value in the response. 6652 // To retrieve the next batch of objects, provide the marker from the prior 6653 // call in your next request. 6654 NextPageToken *string `type:"string"` 6655 6656 // The number of objects returned. 6657 // 6658 // ReturnSize is a required field 6659 ReturnSize *int64 `type:"integer" required:"true"` 6660 6661 // The total number of objects. 6662 // 6663 // TotalSize is a required field 6664 TotalSize *int64 `type:"integer" required:"true"` 6665} 6666 6667// String returns the string representation 6668func (s GetCostCategoriesOutput) String() string { 6669 return awsutil.Prettify(s) 6670} 6671 6672// GoString returns the string representation 6673func (s GetCostCategoriesOutput) GoString() string { 6674 return s.String() 6675} 6676 6677// SetCostCategoryNames sets the CostCategoryNames field's value. 6678func (s *GetCostCategoriesOutput) SetCostCategoryNames(v []*string) *GetCostCategoriesOutput { 6679 s.CostCategoryNames = v 6680 return s 6681} 6682 6683// SetCostCategoryValues sets the CostCategoryValues field's value. 6684func (s *GetCostCategoriesOutput) SetCostCategoryValues(v []*string) *GetCostCategoriesOutput { 6685 s.CostCategoryValues = v 6686 return s 6687} 6688 6689// SetNextPageToken sets the NextPageToken field's value. 6690func (s *GetCostCategoriesOutput) SetNextPageToken(v string) *GetCostCategoriesOutput { 6691 s.NextPageToken = &v 6692 return s 6693} 6694 6695// SetReturnSize sets the ReturnSize field's value. 6696func (s *GetCostCategoriesOutput) SetReturnSize(v int64) *GetCostCategoriesOutput { 6697 s.ReturnSize = &v 6698 return s 6699} 6700 6701// SetTotalSize sets the TotalSize field's value. 6702func (s *GetCostCategoriesOutput) SetTotalSize(v int64) *GetCostCategoriesOutput { 6703 s.TotalSize = &v 6704 return s 6705} 6706 6707type GetCostForecastInput struct { 6708 _ struct{} `type:"structure"` 6709 6710 // The filters that you want to use to filter your forecast. The GetCostForecast 6711 // API supports filtering by the following dimensions: 6712 // 6713 // * AZ 6714 // 6715 // * INSTANCE_TYPE 6716 // 6717 // * LINKED_ACCOUNT 6718 // 6719 // * LINKED_ACCOUNT_NAME 6720 // 6721 // * OPERATION 6722 // 6723 // * PURCHASE_TYPE 6724 // 6725 // * REGION 6726 // 6727 // * SERVICE 6728 // 6729 // * USAGE_TYPE 6730 // 6731 // * USAGE_TYPE_GROUP 6732 // 6733 // * RECORD_TYPE 6734 // 6735 // * OPERATING_SYSTEM 6736 // 6737 // * TENANCY 6738 // 6739 // * SCOPE 6740 // 6741 // * PLATFORM 6742 // 6743 // * SUBSCRIPTION_ID 6744 // 6745 // * LEGAL_ENTITY_NAME 6746 // 6747 // * DEPLOYMENT_OPTION 6748 // 6749 // * DATABASE_ENGINE 6750 // 6751 // * INSTANCE_TYPE_FAMILY 6752 // 6753 // * BILLING_ENTITY 6754 // 6755 // * RESERVATION_ID 6756 // 6757 // * SAVINGS_PLAN_ARN 6758 Filter *Expression `type:"structure"` 6759 6760 // How granular you want the forecast to be. You can get 3 months of DAILY forecasts 6761 // or 12 months of MONTHLY forecasts. 6762 // 6763 // The GetCostForecast operation supports only DAILY and MONTHLY granularities. 6764 // 6765 // Granularity is a required field 6766 Granularity *string `type:"string" required:"true" enum:"Granularity"` 6767 6768 // Which metric Cost Explorer uses to create your forecast. For more information 6769 // about blended and unblended rates, see Why does the "blended" annotation 6770 // appear on some line items in my bill? (http://aws.amazon.com/premiumsupport/knowledge-center/blended-rates-intro/). 6771 // 6772 // Valid values for a GetCostForecast call are the following: 6773 // 6774 // * AMORTIZED_COST 6775 // 6776 // * BLENDED_COST 6777 // 6778 // * NET_AMORTIZED_COST 6779 // 6780 // * NET_UNBLENDED_COST 6781 // 6782 // * UNBLENDED_COST 6783 // 6784 // Metric is a required field 6785 Metric *string `type:"string" required:"true" enum:"Metric"` 6786 6787 // Cost Explorer always returns the mean forecast as a single point. You can 6788 // request a prediction interval around the mean by specifying a confidence 6789 // level. The higher the confidence level, the more confident Cost Explorer 6790 // is about the actual value falling in the prediction interval. Higher confidence 6791 // levels result in wider prediction intervals. 6792 PredictionIntervalLevel *int64 `min:"51" type:"integer"` 6793 6794 // The period of time that you want the forecast to cover. The start date must 6795 // be equal to or no later than the current date to avoid a validation error. 6796 // 6797 // TimePeriod is a required field 6798 TimePeriod *DateInterval `type:"structure" required:"true"` 6799} 6800 6801// String returns the string representation 6802func (s GetCostForecastInput) String() string { 6803 return awsutil.Prettify(s) 6804} 6805 6806// GoString returns the string representation 6807func (s GetCostForecastInput) GoString() string { 6808 return s.String() 6809} 6810 6811// Validate inspects the fields of the type to determine if they are valid. 6812func (s *GetCostForecastInput) Validate() error { 6813 invalidParams := request.ErrInvalidParams{Context: "GetCostForecastInput"} 6814 if s.Granularity == nil { 6815 invalidParams.Add(request.NewErrParamRequired("Granularity")) 6816 } 6817 if s.Metric == nil { 6818 invalidParams.Add(request.NewErrParamRequired("Metric")) 6819 } 6820 if s.PredictionIntervalLevel != nil && *s.PredictionIntervalLevel < 51 { 6821 invalidParams.Add(request.NewErrParamMinValue("PredictionIntervalLevel", 51)) 6822 } 6823 if s.TimePeriod == nil { 6824 invalidParams.Add(request.NewErrParamRequired("TimePeriod")) 6825 } 6826 if s.Filter != nil { 6827 if err := s.Filter.Validate(); err != nil { 6828 invalidParams.AddNested("Filter", err.(request.ErrInvalidParams)) 6829 } 6830 } 6831 if s.TimePeriod != nil { 6832 if err := s.TimePeriod.Validate(); err != nil { 6833 invalidParams.AddNested("TimePeriod", err.(request.ErrInvalidParams)) 6834 } 6835 } 6836 6837 if invalidParams.Len() > 0 { 6838 return invalidParams 6839 } 6840 return nil 6841} 6842 6843// SetFilter sets the Filter field's value. 6844func (s *GetCostForecastInput) SetFilter(v *Expression) *GetCostForecastInput { 6845 s.Filter = v 6846 return s 6847} 6848 6849// SetGranularity sets the Granularity field's value. 6850func (s *GetCostForecastInput) SetGranularity(v string) *GetCostForecastInput { 6851 s.Granularity = &v 6852 return s 6853} 6854 6855// SetMetric sets the Metric field's value. 6856func (s *GetCostForecastInput) SetMetric(v string) *GetCostForecastInput { 6857 s.Metric = &v 6858 return s 6859} 6860 6861// SetPredictionIntervalLevel sets the PredictionIntervalLevel field's value. 6862func (s *GetCostForecastInput) SetPredictionIntervalLevel(v int64) *GetCostForecastInput { 6863 s.PredictionIntervalLevel = &v 6864 return s 6865} 6866 6867// SetTimePeriod sets the TimePeriod field's value. 6868func (s *GetCostForecastInput) SetTimePeriod(v *DateInterval) *GetCostForecastInput { 6869 s.TimePeriod = v 6870 return s 6871} 6872 6873type GetCostForecastOutput struct { 6874 _ struct{} `type:"structure"` 6875 6876 // The forecasts for your query, in order. For DAILY forecasts, this is a list 6877 // of days. For MONTHLY forecasts, this is a list of months. 6878 ForecastResultsByTime []*ForecastResult `type:"list"` 6879 6880 // How much you are forecasted to spend over the forecast period, in USD. 6881 Total *MetricValue `type:"structure"` 6882} 6883 6884// String returns the string representation 6885func (s GetCostForecastOutput) String() string { 6886 return awsutil.Prettify(s) 6887} 6888 6889// GoString returns the string representation 6890func (s GetCostForecastOutput) GoString() string { 6891 return s.String() 6892} 6893 6894// SetForecastResultsByTime sets the ForecastResultsByTime field's value. 6895func (s *GetCostForecastOutput) SetForecastResultsByTime(v []*ForecastResult) *GetCostForecastOutput { 6896 s.ForecastResultsByTime = v 6897 return s 6898} 6899 6900// SetTotal sets the Total field's value. 6901func (s *GetCostForecastOutput) SetTotal(v *MetricValue) *GetCostForecastOutput { 6902 s.Total = v 6903 return s 6904} 6905 6906type GetDimensionValuesInput struct { 6907 _ struct{} `type:"structure"` 6908 6909 // The context for the call to GetDimensionValues. This can be RESERVATIONS 6910 // or COST_AND_USAGE. The default value is COST_AND_USAGE. If the context is 6911 // set to RESERVATIONS, the resulting dimension values can be used in the GetReservationUtilization 6912 // operation. If the context is set to COST_AND_USAGE, the resulting dimension 6913 // values can be used in the GetCostAndUsage operation. 6914 // 6915 // If you set the context to COST_AND_USAGE, you can use the following dimensions 6916 // for searching: 6917 // 6918 // * AZ - The Availability Zone. An example is us-east-1a. 6919 // 6920 // * DATABASE_ENGINE - The Amazon Relational Database Service database. Examples 6921 // are Aurora or MySQL. 6922 // 6923 // * INSTANCE_TYPE - The type of Amazon EC2 instance. An example is m4.xlarge. 6924 // 6925 // * LEGAL_ENTITY_NAME - The name of the organization that sells you Amazon 6926 // Web Services services, such as Amazon Web Services. 6927 // 6928 // * LINKED_ACCOUNT - The description in the attribute map that includes 6929 // the full name of the member account. The value field contains the Amazon 6930 // Web Services ID of the member account. 6931 // 6932 // * OPERATING_SYSTEM - The operating system. Examples are Windows or Linux. 6933 // 6934 // * OPERATION - The action performed. Examples include RunInstance and CreateBucket. 6935 // 6936 // * PLATFORM - The Amazon EC2 operating system. Examples are Windows or 6937 // Linux. 6938 // 6939 // * PURCHASE_TYPE - The reservation type of the purchase to which this usage 6940 // is related. Examples include On-Demand Instances and Standard Reserved 6941 // Instances. 6942 // 6943 // * SERVICE - The Amazon Web Services service such as Amazon DynamoDB. 6944 // 6945 // * USAGE_TYPE - The type of usage. An example is DataTransfer-In-Bytes. 6946 // The response for the GetDimensionValues operation includes a unit attribute. 6947 // Examples include GB and Hrs. 6948 // 6949 // * USAGE_TYPE_GROUP - The grouping of common usage types. An example is 6950 // Amazon EC2: CloudWatch – Alarms. The response for this operation includes 6951 // a unit attribute. 6952 // 6953 // * REGION - The Amazon Web Services Region. 6954 // 6955 // * RECORD_TYPE - The different types of charges such as RI fees, usage 6956 // costs, tax refunds, and credits. 6957 // 6958 // * RESOURCE_ID - The unique identifier of the resource. ResourceId is an 6959 // opt-in feature only available for last 14 days for EC2-Compute Service. 6960 // 6961 // If you set the context to RESERVATIONS, you can use the following dimensions 6962 // for searching: 6963 // 6964 // * AZ - The Availability Zone. An example is us-east-1a. 6965 // 6966 // * CACHE_ENGINE - The Amazon ElastiCache operating system. Examples are 6967 // Windows or Linux. 6968 // 6969 // * DEPLOYMENT_OPTION - The scope of Amazon Relational Database Service 6970 // deployments. Valid values are SingleAZ and MultiAZ. 6971 // 6972 // * INSTANCE_TYPE - The type of Amazon EC2 instance. An example is m4.xlarge. 6973 // 6974 // * LINKED_ACCOUNT - The description in the attribute map that includes 6975 // the full name of the member account. The value field contains the Amazon 6976 // Web Services ID of the member account. 6977 // 6978 // * PLATFORM - The Amazon EC2 operating system. Examples are Windows or 6979 // Linux. 6980 // 6981 // * REGION - The Amazon Web Services Region. 6982 // 6983 // * SCOPE (Utilization only) - The scope of a Reserved Instance (RI). Values 6984 // are regional or a single Availability Zone. 6985 // 6986 // * TAG (Coverage only) - The tags that are associated with a Reserved Instance 6987 // (RI). 6988 // 6989 // * TENANCY - The tenancy of a resource. Examples are shared or dedicated. 6990 // 6991 // If you set the context to SAVINGS_PLANS, you can use the following dimensions 6992 // for searching: 6993 // 6994 // * SAVINGS_PLANS_TYPE - Type of Savings Plans (EC2 Instance or Compute) 6995 // 6996 // * PAYMENT_OPTION - Payment option for the given Savings Plans (for example, 6997 // All Upfront) 6998 // 6999 // * REGION - The Amazon Web Services Region. 7000 // 7001 // * INSTANCE_TYPE_FAMILY - The family of instances (For example, m5) 7002 // 7003 // * LINKED_ACCOUNT - The description in the attribute map that includes 7004 // the full name of the member account. The value field contains the Amazon 7005 // Web Services ID of the member account. 7006 // 7007 // * SAVINGS_PLAN_ARN - The unique identifier for your Savings Plan 7008 Context *string `type:"string" enum:"Context"` 7009 7010 // The name of the dimension. Each Dimension is available for a different Context. 7011 // For more information, see Context. 7012 // 7013 // Dimension is a required field 7014 Dimension *string `type:"string" required:"true" enum:"Dimension"` 7015 7016 // Use Expression to filter by cost or by usage. There are two patterns: 7017 // 7018 // * Simple dimension values - You can set the dimension name and values 7019 // for the filters that you plan to use. For example, you can filter for 7020 // REGION==us-east-1 OR REGION==us-west-1. For GetRightsizingRecommendation, 7021 // the Region is a full name (for example, REGION==US East (N. Virginia). 7022 // The Expression example is as follows: { "Dimensions": { "Key": "REGION", 7023 // "Values": [ "us-east-1", “us-west-1” ] } } The list of dimension values 7024 // are OR'd together to retrieve cost or usage data. You can create Expression 7025 // and DimensionValues objects using either with* methods or set* methods 7026 // in multiple lines. 7027 // 7028 // * Compound dimension values with logical operations - You can use multiple 7029 // Expression types and the logical operators AND/OR/NOT to create a list 7030 // of one or more Expression objects. By doing this, you can filter on more 7031 // advanced options. For example, you can filter on ((REGION == us-east-1 7032 // OR REGION == us-west-1) OR (TAG.Type == Type1)) AND (USAGE_TYPE != DataTransfer). 7033 // The Expression for that is as follows: { "And": [ {"Or": [ {"Dimensions": 7034 // { "Key": "REGION", "Values": [ "us-east-1", "us-west-1" ] }}, {"Tags": 7035 // { "Key": "TagName", "Values": ["Value1"] } } ]}, {"Not": {"Dimensions": 7036 // { "Key": "USAGE_TYPE", "Values": ["DataTransfer"] }}} ] } Because each 7037 // Expression can have only one operator, the service returns an error if 7038 // more than one is specified. The following example shows an Expression 7039 // object that creates an error. { "And": [ ... ], "DimensionValues": { "Dimension": 7040 // "USAGE_TYPE", "Values": [ "DataTransfer" ] } } 7041 // 7042 // For the GetRightsizingRecommendation action, a combination of OR and NOT 7043 // isn't supported. OR isn't supported between different dimensions, or dimensions 7044 // and tags. NOT operators aren't supported. Dimensions are also limited to 7045 // LINKED_ACCOUNT, REGION, or RIGHTSIZING_TYPE. 7046 // 7047 // For the GetReservationPurchaseRecommendation action, only NOT is supported. 7048 // AND and OR aren't supported. Dimensions are limited to LINKED_ACCOUNT. 7049 Filter *Expression `type:"structure"` 7050 7051 // This field is only used when SortBy is provided in the request. The maximum 7052 // number of objects that to be returned for this request. If MaxResults is 7053 // not specified with SortBy, the request will return 1000 results as the default 7054 // value for this parameter. 7055 // 7056 // For GetDimensionValues, MaxResults has an upper limit of 1000. 7057 MaxResults *int64 `min:"1" type:"integer"` 7058 7059 // The token to retrieve the next set of results. Amazon Web Services provides 7060 // the token when the response from a previous call has more results than the 7061 // maximum page size. 7062 NextPageToken *string `type:"string"` 7063 7064 // The value that you want to search the filter values for. 7065 SearchString *string `type:"string"` 7066 7067 // The value by which you want to sort the data. 7068 // 7069 // The key represents cost and usage metrics. The following values are supported: 7070 // 7071 // * BlendedCost 7072 // 7073 // * UnblendedCost 7074 // 7075 // * AmortizedCost 7076 // 7077 // * NetAmortizedCost 7078 // 7079 // * NetUnblendedCost 7080 // 7081 // * UsageQuantity 7082 // 7083 // * NormalizedUsageAmount 7084 // 7085 // Supported values for SortOrder are ASCENDING or DESCENDING. 7086 // 7087 // When you specify a SortBy paramater, the context must be COST_AND_USAGE. 7088 // Further, when using SortBy, NextPageToken and SearchString are not supported. 7089 SortBy []*SortDefinition `type:"list"` 7090 7091 // The start date and end date for retrieving the dimension values. The start 7092 // date is inclusive, but the end date is exclusive. For example, if start is 7093 // 2017-01-01 and end is 2017-05-01, then the cost and usage data is retrieved 7094 // from 2017-01-01 up to and including 2017-04-30 but not including 2017-05-01. 7095 // 7096 // TimePeriod is a required field 7097 TimePeriod *DateInterval `type:"structure" required:"true"` 7098} 7099 7100// String returns the string representation 7101func (s GetDimensionValuesInput) String() string { 7102 return awsutil.Prettify(s) 7103} 7104 7105// GoString returns the string representation 7106func (s GetDimensionValuesInput) GoString() string { 7107 return s.String() 7108} 7109 7110// Validate inspects the fields of the type to determine if they are valid. 7111func (s *GetDimensionValuesInput) Validate() error { 7112 invalidParams := request.ErrInvalidParams{Context: "GetDimensionValuesInput"} 7113 if s.Dimension == nil { 7114 invalidParams.Add(request.NewErrParamRequired("Dimension")) 7115 } 7116 if s.MaxResults != nil && *s.MaxResults < 1 { 7117 invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) 7118 } 7119 if s.TimePeriod == nil { 7120 invalidParams.Add(request.NewErrParamRequired("TimePeriod")) 7121 } 7122 if s.Filter != nil { 7123 if err := s.Filter.Validate(); err != nil { 7124 invalidParams.AddNested("Filter", err.(request.ErrInvalidParams)) 7125 } 7126 } 7127 if s.SortBy != nil { 7128 for i, v := range s.SortBy { 7129 if v == nil { 7130 continue 7131 } 7132 if err := v.Validate(); err != nil { 7133 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "SortBy", i), err.(request.ErrInvalidParams)) 7134 } 7135 } 7136 } 7137 if s.TimePeriod != nil { 7138 if err := s.TimePeriod.Validate(); err != nil { 7139 invalidParams.AddNested("TimePeriod", err.(request.ErrInvalidParams)) 7140 } 7141 } 7142 7143 if invalidParams.Len() > 0 { 7144 return invalidParams 7145 } 7146 return nil 7147} 7148 7149// SetContext sets the Context field's value. 7150func (s *GetDimensionValuesInput) SetContext(v string) *GetDimensionValuesInput { 7151 s.Context = &v 7152 return s 7153} 7154 7155// SetDimension sets the Dimension field's value. 7156func (s *GetDimensionValuesInput) SetDimension(v string) *GetDimensionValuesInput { 7157 s.Dimension = &v 7158 return s 7159} 7160 7161// SetFilter sets the Filter field's value. 7162func (s *GetDimensionValuesInput) SetFilter(v *Expression) *GetDimensionValuesInput { 7163 s.Filter = v 7164 return s 7165} 7166 7167// SetMaxResults sets the MaxResults field's value. 7168func (s *GetDimensionValuesInput) SetMaxResults(v int64) *GetDimensionValuesInput { 7169 s.MaxResults = &v 7170 return s 7171} 7172 7173// SetNextPageToken sets the NextPageToken field's value. 7174func (s *GetDimensionValuesInput) SetNextPageToken(v string) *GetDimensionValuesInput { 7175 s.NextPageToken = &v 7176 return s 7177} 7178 7179// SetSearchString sets the SearchString field's value. 7180func (s *GetDimensionValuesInput) SetSearchString(v string) *GetDimensionValuesInput { 7181 s.SearchString = &v 7182 return s 7183} 7184 7185// SetSortBy sets the SortBy field's value. 7186func (s *GetDimensionValuesInput) SetSortBy(v []*SortDefinition) *GetDimensionValuesInput { 7187 s.SortBy = v 7188 return s 7189} 7190 7191// SetTimePeriod sets the TimePeriod field's value. 7192func (s *GetDimensionValuesInput) SetTimePeriod(v *DateInterval) *GetDimensionValuesInput { 7193 s.TimePeriod = v 7194 return s 7195} 7196 7197type GetDimensionValuesOutput struct { 7198 _ struct{} `type:"structure"` 7199 7200 // The filters that you used to filter your request. Some dimensions are available 7201 // only for a specific context. 7202 // 7203 // If you set the context to COST_AND_USAGE, you can use the following dimensions 7204 // for searching: 7205 // 7206 // * AZ - The Availability Zone. An example is us-east-1a. 7207 // 7208 // * DATABASE_ENGINE - The Amazon Relational Database Service database. Examples 7209 // are Aurora or MySQL. 7210 // 7211 // * INSTANCE_TYPE - The type of Amazon EC2 instance. An example is m4.xlarge. 7212 // 7213 // * LEGAL_ENTITY_NAME - The name of the organization that sells you Amazon 7214 // Web Services services, such as Amazon Web Services. 7215 // 7216 // * LINKED_ACCOUNT - The description in the attribute map that includes 7217 // the full name of the member account. The value field contains the Amazon 7218 // Web Services ID of the member account. 7219 // 7220 // * OPERATING_SYSTEM - The operating system. Examples are Windows or Linux. 7221 // 7222 // * OPERATION - The action performed. Examples include RunInstance and CreateBucket. 7223 // 7224 // * PLATFORM - The Amazon EC2 operating system. Examples are Windows or 7225 // Linux. 7226 // 7227 // * PURCHASE_TYPE - The reservation type of the purchase to which this usage 7228 // is related. Examples include On-Demand Instances and Standard Reserved 7229 // Instances. 7230 // 7231 // * SERVICE - The Amazon Web Services service such as Amazon DynamoDB. 7232 // 7233 // * USAGE_TYPE - The type of usage. An example is DataTransfer-In-Bytes. 7234 // The response for the GetDimensionValues operation includes a unit attribute. 7235 // Examples include GB and Hrs. 7236 // 7237 // * USAGE_TYPE_GROUP - The grouping of common usage types. An example is 7238 // Amazon EC2: CloudWatch – Alarms. The response for this operation includes 7239 // a unit attribute. 7240 // 7241 // * RECORD_TYPE - The different types of charges such as RI fees, usage 7242 // costs, tax refunds, and credits. 7243 // 7244 // * RESOURCE_ID - The unique identifier of the resource. ResourceId is an 7245 // opt-in feature only available for last 14 days for EC2-Compute Service. 7246 // 7247 // If you set the context to RESERVATIONS, you can use the following dimensions 7248 // for searching: 7249 // 7250 // * AZ - The Availability Zone. An example is us-east-1a. 7251 // 7252 // * CACHE_ENGINE - The Amazon ElastiCache operating system. Examples are 7253 // Windows or Linux. 7254 // 7255 // * DEPLOYMENT_OPTION - The scope of Amazon Relational Database Service 7256 // deployments. Valid values are SingleAZ and MultiAZ. 7257 // 7258 // * INSTANCE_TYPE - The type of Amazon EC2 instance. An example is m4.xlarge. 7259 // 7260 // * LINKED_ACCOUNT - The description in the attribute map that includes 7261 // the full name of the member account. The value field contains the Amazon 7262 // Web Services ID of the member account. 7263 // 7264 // * PLATFORM - The Amazon EC2 operating system. Examples are Windows or 7265 // Linux. 7266 // 7267 // * REGION - The Amazon Web Services Region. 7268 // 7269 // * SCOPE (Utilization only) - The scope of a Reserved Instance (RI). Values 7270 // are regional or a single Availability Zone. 7271 // 7272 // * TAG (Coverage only) - The tags that are associated with a Reserved Instance 7273 // (RI). 7274 // 7275 // * TENANCY - The tenancy of a resource. Examples are shared or dedicated. 7276 // 7277 // If you set the context to SAVINGS_PLANS, you can use the following dimensions 7278 // for searching: 7279 // 7280 // * SAVINGS_PLANS_TYPE - Type of Savings Plans (EC2 Instance or Compute) 7281 // 7282 // * PAYMENT_OPTION - Payment option for the given Savings Plans (for example, 7283 // All Upfront) 7284 // 7285 // * REGION - The Amazon Web Services Region. 7286 // 7287 // * INSTANCE_TYPE_FAMILY - The family of instances (For example, m5) 7288 // 7289 // * LINKED_ACCOUNT - The description in the attribute map that includes 7290 // the full name of the member account. The value field contains the Amazon 7291 // Web Services ID of the member account. 7292 // 7293 // * SAVINGS_PLAN_ARN - The unique identifier for your Savings Plan 7294 // 7295 // DimensionValues is a required field 7296 DimensionValues []*DimensionValuesWithAttributes `type:"list" required:"true"` 7297 7298 // The token for the next set of retrievable results. Amazon Web Services provides 7299 // the token when the response from a previous call has more results than the 7300 // maximum page size. 7301 NextPageToken *string `type:"string"` 7302 7303 // The number of results that Amazon Web Services returned at one time. 7304 // 7305 // ReturnSize is a required field 7306 ReturnSize *int64 `type:"integer" required:"true"` 7307 7308 // The total number of search results. 7309 // 7310 // TotalSize is a required field 7311 TotalSize *int64 `type:"integer" required:"true"` 7312} 7313 7314// String returns the string representation 7315func (s GetDimensionValuesOutput) String() string { 7316 return awsutil.Prettify(s) 7317} 7318 7319// GoString returns the string representation 7320func (s GetDimensionValuesOutput) GoString() string { 7321 return s.String() 7322} 7323 7324// SetDimensionValues sets the DimensionValues field's value. 7325func (s *GetDimensionValuesOutput) SetDimensionValues(v []*DimensionValuesWithAttributes) *GetDimensionValuesOutput { 7326 s.DimensionValues = v 7327 return s 7328} 7329 7330// SetNextPageToken sets the NextPageToken field's value. 7331func (s *GetDimensionValuesOutput) SetNextPageToken(v string) *GetDimensionValuesOutput { 7332 s.NextPageToken = &v 7333 return s 7334} 7335 7336// SetReturnSize sets the ReturnSize field's value. 7337func (s *GetDimensionValuesOutput) SetReturnSize(v int64) *GetDimensionValuesOutput { 7338 s.ReturnSize = &v 7339 return s 7340} 7341 7342// SetTotalSize sets the TotalSize field's value. 7343func (s *GetDimensionValuesOutput) SetTotalSize(v int64) *GetDimensionValuesOutput { 7344 s.TotalSize = &v 7345 return s 7346} 7347 7348// You can use the following request parameters to query for how much of your 7349// instance usage a reservation covered. 7350type GetReservationCoverageInput struct { 7351 _ struct{} `type:"structure"` 7352 7353 // Filters utilization data by dimensions. You can filter by the following dimensions: 7354 // 7355 // * AZ 7356 // 7357 // * CACHE_ENGINE 7358 // 7359 // * DATABASE_ENGINE 7360 // 7361 // * DEPLOYMENT_OPTION 7362 // 7363 // * INSTANCE_TYPE 7364 // 7365 // * LINKED_ACCOUNT 7366 // 7367 // * OPERATING_SYSTEM 7368 // 7369 // * PLATFORM 7370 // 7371 // * REGION 7372 // 7373 // * SERVICE 7374 // 7375 // * TAG 7376 // 7377 // * TENANCY 7378 // 7379 // GetReservationCoverage uses the same Expression (https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_Expression.html) 7380 // object as the other operations, but only AND is supported among each dimension. 7381 // You can nest only one level deep. If there are multiple values for a dimension, 7382 // they are OR'd together. 7383 // 7384 // If you don't provide a SERVICE filter, Cost Explorer defaults to EC2. 7385 // 7386 // Cost category is also supported. 7387 Filter *Expression `type:"structure"` 7388 7389 // The granularity of the Amazon Web Services cost data for the reservation. 7390 // Valid values are MONTHLY and DAILY. 7391 // 7392 // If GroupBy is set, Granularity can't be set. If Granularity isn't set, the 7393 // response object doesn't include Granularity, either MONTHLY or DAILY. 7394 // 7395 // The GetReservationCoverage operation supports only DAILY and MONTHLY granularities. 7396 Granularity *string `type:"string" enum:"Granularity"` 7397 7398 // You can group the data by the following attributes: 7399 // 7400 // * AZ 7401 // 7402 // * CACHE_ENGINE 7403 // 7404 // * DATABASE_ENGINE 7405 // 7406 // * DEPLOYMENT_OPTION 7407 // 7408 // * INSTANCE_TYPE 7409 // 7410 // * LINKED_ACCOUNT 7411 // 7412 // * OPERATING_SYSTEM 7413 // 7414 // * PLATFORM 7415 // 7416 // * REGION 7417 // 7418 // * TENANCY 7419 GroupBy []*GroupDefinition `type:"list"` 7420 7421 // The maximum number of objects that you returned for this request. If more 7422 // objects are available, in the response, Amazon Web Services provides a NextPageToken 7423 // value that you can use in a subsequent call to get the next batch of objects. 7424 MaxResults *int64 `min:"1" type:"integer"` 7425 7426 // The measurement that you want your reservation coverage reported in. 7427 // 7428 // Valid values are Hour, Unit, and Cost. You can use multiple values in a request. 7429 Metrics []*string `type:"list"` 7430 7431 // The token to retrieve the next set of results. Amazon Web Services provides 7432 // the token when the response from a previous call has more results than the 7433 // maximum page size. 7434 NextPageToken *string `type:"string"` 7435 7436 // The value by which you want to sort the data. 7437 // 7438 // The following values are supported for Key: 7439 // 7440 // * OnDemandCost 7441 // 7442 // * CoverageHoursPercentage 7443 // 7444 // * OnDemandHours 7445 // 7446 // * ReservedHours 7447 // 7448 // * TotalRunningHours 7449 // 7450 // * CoverageNormalizedUnitsPercentage 7451 // 7452 // * OnDemandNormalizedUnits 7453 // 7454 // * ReservedNormalizedUnits 7455 // 7456 // * TotalRunningNormalizedUnits 7457 // 7458 // * Time 7459 // 7460 // Supported values for SortOrder are ASCENDING or DESCENDING. 7461 SortBy *SortDefinition `type:"structure"` 7462 7463 // The start and end dates of the period that you want to retrieve data about 7464 // reservation coverage for. You can retrieve data for a maximum of 13 months: 7465 // the last 12 months and the current month. The start date is inclusive, but 7466 // the end date is exclusive. For example, if start is 2017-01-01 and end is 7467 // 2017-05-01, then the cost and usage data is retrieved from 2017-01-01 up 7468 // to and including 2017-04-30 but not including 2017-05-01. 7469 // 7470 // TimePeriod is a required field 7471 TimePeriod *DateInterval `type:"structure" required:"true"` 7472} 7473 7474// String returns the string representation 7475func (s GetReservationCoverageInput) String() string { 7476 return awsutil.Prettify(s) 7477} 7478 7479// GoString returns the string representation 7480func (s GetReservationCoverageInput) GoString() string { 7481 return s.String() 7482} 7483 7484// Validate inspects the fields of the type to determine if they are valid. 7485func (s *GetReservationCoverageInput) Validate() error { 7486 invalidParams := request.ErrInvalidParams{Context: "GetReservationCoverageInput"} 7487 if s.MaxResults != nil && *s.MaxResults < 1 { 7488 invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) 7489 } 7490 if s.TimePeriod == nil { 7491 invalidParams.Add(request.NewErrParamRequired("TimePeriod")) 7492 } 7493 if s.Filter != nil { 7494 if err := s.Filter.Validate(); err != nil { 7495 invalidParams.AddNested("Filter", err.(request.ErrInvalidParams)) 7496 } 7497 } 7498 if s.SortBy != nil { 7499 if err := s.SortBy.Validate(); err != nil { 7500 invalidParams.AddNested("SortBy", err.(request.ErrInvalidParams)) 7501 } 7502 } 7503 if s.TimePeriod != nil { 7504 if err := s.TimePeriod.Validate(); err != nil { 7505 invalidParams.AddNested("TimePeriod", err.(request.ErrInvalidParams)) 7506 } 7507 } 7508 7509 if invalidParams.Len() > 0 { 7510 return invalidParams 7511 } 7512 return nil 7513} 7514 7515// SetFilter sets the Filter field's value. 7516func (s *GetReservationCoverageInput) SetFilter(v *Expression) *GetReservationCoverageInput { 7517 s.Filter = v 7518 return s 7519} 7520 7521// SetGranularity sets the Granularity field's value. 7522func (s *GetReservationCoverageInput) SetGranularity(v string) *GetReservationCoverageInput { 7523 s.Granularity = &v 7524 return s 7525} 7526 7527// SetGroupBy sets the GroupBy field's value. 7528func (s *GetReservationCoverageInput) SetGroupBy(v []*GroupDefinition) *GetReservationCoverageInput { 7529 s.GroupBy = v 7530 return s 7531} 7532 7533// SetMaxResults sets the MaxResults field's value. 7534func (s *GetReservationCoverageInput) SetMaxResults(v int64) *GetReservationCoverageInput { 7535 s.MaxResults = &v 7536 return s 7537} 7538 7539// SetMetrics sets the Metrics field's value. 7540func (s *GetReservationCoverageInput) SetMetrics(v []*string) *GetReservationCoverageInput { 7541 s.Metrics = v 7542 return s 7543} 7544 7545// SetNextPageToken sets the NextPageToken field's value. 7546func (s *GetReservationCoverageInput) SetNextPageToken(v string) *GetReservationCoverageInput { 7547 s.NextPageToken = &v 7548 return s 7549} 7550 7551// SetSortBy sets the SortBy field's value. 7552func (s *GetReservationCoverageInput) SetSortBy(v *SortDefinition) *GetReservationCoverageInput { 7553 s.SortBy = v 7554 return s 7555} 7556 7557// SetTimePeriod sets the TimePeriod field's value. 7558func (s *GetReservationCoverageInput) SetTimePeriod(v *DateInterval) *GetReservationCoverageInput { 7559 s.TimePeriod = v 7560 return s 7561} 7562 7563type GetReservationCoverageOutput struct { 7564 _ struct{} `type:"structure"` 7565 7566 // The amount of time that your reservations covered. 7567 // 7568 // CoveragesByTime is a required field 7569 CoveragesByTime []*CoverageByTime `type:"list" required:"true"` 7570 7571 // The token for the next set of retrievable results. Amazon Web Services provides 7572 // the token when the response from a previous call has more results than the 7573 // maximum page size. 7574 NextPageToken *string `type:"string"` 7575 7576 // The total amount of instance usage that a reservation covered. 7577 Total *Coverage `type:"structure"` 7578} 7579 7580// String returns the string representation 7581func (s GetReservationCoverageOutput) String() string { 7582 return awsutil.Prettify(s) 7583} 7584 7585// GoString returns the string representation 7586func (s GetReservationCoverageOutput) GoString() string { 7587 return s.String() 7588} 7589 7590// SetCoveragesByTime sets the CoveragesByTime field's value. 7591func (s *GetReservationCoverageOutput) SetCoveragesByTime(v []*CoverageByTime) *GetReservationCoverageOutput { 7592 s.CoveragesByTime = v 7593 return s 7594} 7595 7596// SetNextPageToken sets the NextPageToken field's value. 7597func (s *GetReservationCoverageOutput) SetNextPageToken(v string) *GetReservationCoverageOutput { 7598 s.NextPageToken = &v 7599 return s 7600} 7601 7602// SetTotal sets the Total field's value. 7603func (s *GetReservationCoverageOutput) SetTotal(v *Coverage) *GetReservationCoverageOutput { 7604 s.Total = v 7605 return s 7606} 7607 7608type GetReservationPurchaseRecommendationInput struct { 7609 _ struct{} `type:"structure"` 7610 7611 // The account ID that is associated with the recommendation. 7612 AccountId *string `type:"string"` 7613 7614 // The account scope that you want your recommendations for. Amazon Web Services 7615 // calculates recommendations including the management account and member accounts 7616 // if the value is set to PAYER. If the value is LINKED, recommendations are 7617 // calculated for individual member accounts only. 7618 AccountScope *string `type:"string" enum:"AccountScope"` 7619 7620 // Use Expression to filter by cost or by usage. There are two patterns: 7621 // 7622 // * Simple dimension values - You can set the dimension name and values 7623 // for the filters that you plan to use. For example, you can filter for 7624 // REGION==us-east-1 OR REGION==us-west-1. For GetRightsizingRecommendation, 7625 // the Region is a full name (for example, REGION==US East (N. Virginia). 7626 // The Expression example is as follows: { "Dimensions": { "Key": "REGION", 7627 // "Values": [ "us-east-1", “us-west-1” ] } } The list of dimension values 7628 // are OR'd together to retrieve cost or usage data. You can create Expression 7629 // and DimensionValues objects using either with* methods or set* methods 7630 // in multiple lines. 7631 // 7632 // * Compound dimension values with logical operations - You can use multiple 7633 // Expression types and the logical operators AND/OR/NOT to create a list 7634 // of one or more Expression objects. By doing this, you can filter on more 7635 // advanced options. For example, you can filter on ((REGION == us-east-1 7636 // OR REGION == us-west-1) OR (TAG.Type == Type1)) AND (USAGE_TYPE != DataTransfer). 7637 // The Expression for that is as follows: { "And": [ {"Or": [ {"Dimensions": 7638 // { "Key": "REGION", "Values": [ "us-east-1", "us-west-1" ] }}, {"Tags": 7639 // { "Key": "TagName", "Values": ["Value1"] } } ]}, {"Not": {"Dimensions": 7640 // { "Key": "USAGE_TYPE", "Values": ["DataTransfer"] }}} ] } Because each 7641 // Expression can have only one operator, the service returns an error if 7642 // more than one is specified. The following example shows an Expression 7643 // object that creates an error. { "And": [ ... ], "DimensionValues": { "Dimension": 7644 // "USAGE_TYPE", "Values": [ "DataTransfer" ] } } 7645 // 7646 // For the GetRightsizingRecommendation action, a combination of OR and NOT 7647 // isn't supported. OR isn't supported between different dimensions, or dimensions 7648 // and tags. NOT operators aren't supported. Dimensions are also limited to 7649 // LINKED_ACCOUNT, REGION, or RIGHTSIZING_TYPE. 7650 // 7651 // For the GetReservationPurchaseRecommendation action, only NOT is supported. 7652 // AND and OR aren't supported. Dimensions are limited to LINKED_ACCOUNT. 7653 Filter *Expression `type:"structure"` 7654 7655 // The number of previous days that you want Amazon Web Services to consider 7656 // when it calculates your recommendations. 7657 LookbackPeriodInDays *string `type:"string" enum:"LookbackPeriodInDays"` 7658 7659 // The pagination token that indicates the next set of results that you want 7660 // to retrieve. 7661 NextPageToken *string `type:"string"` 7662 7663 // The number of recommendations that you want returned in a single response 7664 // object. 7665 PageSize *int64 `type:"integer"` 7666 7667 // The reservation purchase option that you want recommendations for. 7668 PaymentOption *string `type:"string" enum:"PaymentOption"` 7669 7670 // The specific service that you want recommendations for. 7671 // 7672 // Service is a required field 7673 Service *string `type:"string" required:"true"` 7674 7675 // The hardware specifications for the service instances that you want recommendations 7676 // for, such as standard or convertible Amazon EC2 instances. 7677 ServiceSpecification *ServiceSpecification `type:"structure"` 7678 7679 // The reservation term that you want recommendations for. 7680 TermInYears *string `type:"string" enum:"TermInYears"` 7681} 7682 7683// String returns the string representation 7684func (s GetReservationPurchaseRecommendationInput) String() string { 7685 return awsutil.Prettify(s) 7686} 7687 7688// GoString returns the string representation 7689func (s GetReservationPurchaseRecommendationInput) GoString() string { 7690 return s.String() 7691} 7692 7693// Validate inspects the fields of the type to determine if they are valid. 7694func (s *GetReservationPurchaseRecommendationInput) Validate() error { 7695 invalidParams := request.ErrInvalidParams{Context: "GetReservationPurchaseRecommendationInput"} 7696 if s.Service == nil { 7697 invalidParams.Add(request.NewErrParamRequired("Service")) 7698 } 7699 if s.Filter != nil { 7700 if err := s.Filter.Validate(); err != nil { 7701 invalidParams.AddNested("Filter", err.(request.ErrInvalidParams)) 7702 } 7703 } 7704 7705 if invalidParams.Len() > 0 { 7706 return invalidParams 7707 } 7708 return nil 7709} 7710 7711// SetAccountId sets the AccountId field's value. 7712func (s *GetReservationPurchaseRecommendationInput) SetAccountId(v string) *GetReservationPurchaseRecommendationInput { 7713 s.AccountId = &v 7714 return s 7715} 7716 7717// SetAccountScope sets the AccountScope field's value. 7718func (s *GetReservationPurchaseRecommendationInput) SetAccountScope(v string) *GetReservationPurchaseRecommendationInput { 7719 s.AccountScope = &v 7720 return s 7721} 7722 7723// SetFilter sets the Filter field's value. 7724func (s *GetReservationPurchaseRecommendationInput) SetFilter(v *Expression) *GetReservationPurchaseRecommendationInput { 7725 s.Filter = v 7726 return s 7727} 7728 7729// SetLookbackPeriodInDays sets the LookbackPeriodInDays field's value. 7730func (s *GetReservationPurchaseRecommendationInput) SetLookbackPeriodInDays(v string) *GetReservationPurchaseRecommendationInput { 7731 s.LookbackPeriodInDays = &v 7732 return s 7733} 7734 7735// SetNextPageToken sets the NextPageToken field's value. 7736func (s *GetReservationPurchaseRecommendationInput) SetNextPageToken(v string) *GetReservationPurchaseRecommendationInput { 7737 s.NextPageToken = &v 7738 return s 7739} 7740 7741// SetPageSize sets the PageSize field's value. 7742func (s *GetReservationPurchaseRecommendationInput) SetPageSize(v int64) *GetReservationPurchaseRecommendationInput { 7743 s.PageSize = &v 7744 return s 7745} 7746 7747// SetPaymentOption sets the PaymentOption field's value. 7748func (s *GetReservationPurchaseRecommendationInput) SetPaymentOption(v string) *GetReservationPurchaseRecommendationInput { 7749 s.PaymentOption = &v 7750 return s 7751} 7752 7753// SetService sets the Service field's value. 7754func (s *GetReservationPurchaseRecommendationInput) SetService(v string) *GetReservationPurchaseRecommendationInput { 7755 s.Service = &v 7756 return s 7757} 7758 7759// SetServiceSpecification sets the ServiceSpecification field's value. 7760func (s *GetReservationPurchaseRecommendationInput) SetServiceSpecification(v *ServiceSpecification) *GetReservationPurchaseRecommendationInput { 7761 s.ServiceSpecification = v 7762 return s 7763} 7764 7765// SetTermInYears sets the TermInYears field's value. 7766func (s *GetReservationPurchaseRecommendationInput) SetTermInYears(v string) *GetReservationPurchaseRecommendationInput { 7767 s.TermInYears = &v 7768 return s 7769} 7770 7771type GetReservationPurchaseRecommendationOutput struct { 7772 _ struct{} `type:"structure"` 7773 7774 // Information about this specific recommendation call, such as the time stamp 7775 // for when Cost Explorer generated this recommendation. 7776 Metadata *ReservationPurchaseRecommendationMetadata `type:"structure"` 7777 7778 // The pagination token for the next set of retrievable results. 7779 NextPageToken *string `type:"string"` 7780 7781 // Recommendations for reservations to purchase. 7782 Recommendations []*ReservationPurchaseRecommendation `type:"list"` 7783} 7784 7785// String returns the string representation 7786func (s GetReservationPurchaseRecommendationOutput) String() string { 7787 return awsutil.Prettify(s) 7788} 7789 7790// GoString returns the string representation 7791func (s GetReservationPurchaseRecommendationOutput) GoString() string { 7792 return s.String() 7793} 7794 7795// SetMetadata sets the Metadata field's value. 7796func (s *GetReservationPurchaseRecommendationOutput) SetMetadata(v *ReservationPurchaseRecommendationMetadata) *GetReservationPurchaseRecommendationOutput { 7797 s.Metadata = v 7798 return s 7799} 7800 7801// SetNextPageToken sets the NextPageToken field's value. 7802func (s *GetReservationPurchaseRecommendationOutput) SetNextPageToken(v string) *GetReservationPurchaseRecommendationOutput { 7803 s.NextPageToken = &v 7804 return s 7805} 7806 7807// SetRecommendations sets the Recommendations field's value. 7808func (s *GetReservationPurchaseRecommendationOutput) SetRecommendations(v []*ReservationPurchaseRecommendation) *GetReservationPurchaseRecommendationOutput { 7809 s.Recommendations = v 7810 return s 7811} 7812 7813type GetReservationUtilizationInput struct { 7814 _ struct{} `type:"structure"` 7815 7816 // Filters utilization data by dimensions. You can filter by the following dimensions: 7817 // 7818 // * AZ 7819 // 7820 // * CACHE_ENGINE 7821 // 7822 // * DEPLOYMENT_OPTION 7823 // 7824 // * INSTANCE_TYPE 7825 // 7826 // * LINKED_ACCOUNT 7827 // 7828 // * OPERATING_SYSTEM 7829 // 7830 // * PLATFORM 7831 // 7832 // * REGION 7833 // 7834 // * SERVICE 7835 // 7836 // * SCOPE 7837 // 7838 // * TENANCY 7839 // 7840 // GetReservationUtilization uses the same Expression (https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_Expression.html) 7841 // object as the other operations, but only AND is supported among each dimension, 7842 // and nesting is supported up to only one level deep. If there are multiple 7843 // values for a dimension, they are OR'd together. 7844 Filter *Expression `type:"structure"` 7845 7846 // If GroupBy is set, Granularity can't be set. If Granularity isn't set, the 7847 // response object doesn't include Granularity, either MONTHLY or DAILY. If 7848 // both GroupBy and Granularity aren't set, GetReservationUtilization defaults 7849 // to DAILY. 7850 // 7851 // The GetReservationUtilization operation supports only DAILY and MONTHLY granularities. 7852 Granularity *string `type:"string" enum:"Granularity"` 7853 7854 // Groups only by SUBSCRIPTION_ID. Metadata is included. 7855 GroupBy []*GroupDefinition `type:"list"` 7856 7857 // The maximum number of objects that you returned for this request. If more 7858 // objects are available, in the response, Amazon Web Services provides a NextPageToken 7859 // value that you can use in a subsequent call to get the next batch of objects. 7860 MaxResults *int64 `min:"1" type:"integer"` 7861 7862 // The token to retrieve the next set of results. Amazon Web Services provides 7863 // the token when the response from a previous call has more results than the 7864 // maximum page size. 7865 NextPageToken *string `type:"string"` 7866 7867 // The value by which you want to sort the data. 7868 // 7869 // The following values are supported for Key: 7870 // 7871 // * UtilizationPercentage 7872 // 7873 // * UtilizationPercentageInUnits 7874 // 7875 // * PurchasedHours 7876 // 7877 // * PurchasedUnits 7878 // 7879 // * TotalActualHours 7880 // 7881 // * TotalActualUnits 7882 // 7883 // * UnusedHours 7884 // 7885 // * UnusedUnits 7886 // 7887 // * OnDemandCostOfRIHoursUsed 7888 // 7889 // * NetRISavings 7890 // 7891 // * TotalPotentialRISavings 7892 // 7893 // * AmortizedUpfrontFee 7894 // 7895 // * AmortizedRecurringFee 7896 // 7897 // * TotalAmortizedFee 7898 // 7899 // * RICostForUnusedHours 7900 // 7901 // * RealizedSavings 7902 // 7903 // * UnrealizedSavings 7904 // 7905 // Supported values for SortOrder are ASCENDING or DESCENDING. 7906 SortBy *SortDefinition `type:"structure"` 7907 7908 // Sets the start and end dates for retrieving RI utilization. The start date 7909 // is inclusive, but the end date is exclusive. For example, if start is 2017-01-01 7910 // and end is 2017-05-01, then the cost and usage data is retrieved from 2017-01-01 7911 // up to and including 2017-04-30 but not including 2017-05-01. 7912 // 7913 // TimePeriod is a required field 7914 TimePeriod *DateInterval `type:"structure" required:"true"` 7915} 7916 7917// String returns the string representation 7918func (s GetReservationUtilizationInput) String() string { 7919 return awsutil.Prettify(s) 7920} 7921 7922// GoString returns the string representation 7923func (s GetReservationUtilizationInput) GoString() string { 7924 return s.String() 7925} 7926 7927// Validate inspects the fields of the type to determine if they are valid. 7928func (s *GetReservationUtilizationInput) Validate() error { 7929 invalidParams := request.ErrInvalidParams{Context: "GetReservationUtilizationInput"} 7930 if s.MaxResults != nil && *s.MaxResults < 1 { 7931 invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) 7932 } 7933 if s.TimePeriod == nil { 7934 invalidParams.Add(request.NewErrParamRequired("TimePeriod")) 7935 } 7936 if s.Filter != nil { 7937 if err := s.Filter.Validate(); err != nil { 7938 invalidParams.AddNested("Filter", err.(request.ErrInvalidParams)) 7939 } 7940 } 7941 if s.SortBy != nil { 7942 if err := s.SortBy.Validate(); err != nil { 7943 invalidParams.AddNested("SortBy", err.(request.ErrInvalidParams)) 7944 } 7945 } 7946 if s.TimePeriod != nil { 7947 if err := s.TimePeriod.Validate(); err != nil { 7948 invalidParams.AddNested("TimePeriod", err.(request.ErrInvalidParams)) 7949 } 7950 } 7951 7952 if invalidParams.Len() > 0 { 7953 return invalidParams 7954 } 7955 return nil 7956} 7957 7958// SetFilter sets the Filter field's value. 7959func (s *GetReservationUtilizationInput) SetFilter(v *Expression) *GetReservationUtilizationInput { 7960 s.Filter = v 7961 return s 7962} 7963 7964// SetGranularity sets the Granularity field's value. 7965func (s *GetReservationUtilizationInput) SetGranularity(v string) *GetReservationUtilizationInput { 7966 s.Granularity = &v 7967 return s 7968} 7969 7970// SetGroupBy sets the GroupBy field's value. 7971func (s *GetReservationUtilizationInput) SetGroupBy(v []*GroupDefinition) *GetReservationUtilizationInput { 7972 s.GroupBy = v 7973 return s 7974} 7975 7976// SetMaxResults sets the MaxResults field's value. 7977func (s *GetReservationUtilizationInput) SetMaxResults(v int64) *GetReservationUtilizationInput { 7978 s.MaxResults = &v 7979 return s 7980} 7981 7982// SetNextPageToken sets the NextPageToken field's value. 7983func (s *GetReservationUtilizationInput) SetNextPageToken(v string) *GetReservationUtilizationInput { 7984 s.NextPageToken = &v 7985 return s 7986} 7987 7988// SetSortBy sets the SortBy field's value. 7989func (s *GetReservationUtilizationInput) SetSortBy(v *SortDefinition) *GetReservationUtilizationInput { 7990 s.SortBy = v 7991 return s 7992} 7993 7994// SetTimePeriod sets the TimePeriod field's value. 7995func (s *GetReservationUtilizationInput) SetTimePeriod(v *DateInterval) *GetReservationUtilizationInput { 7996 s.TimePeriod = v 7997 return s 7998} 7999 8000type GetReservationUtilizationOutput struct { 8001 _ struct{} `type:"structure"` 8002 8003 // The token for the next set of retrievable results. Amazon Web Services provides 8004 // the token when the response from a previous call has more results than the 8005 // maximum page size. 8006 NextPageToken *string `type:"string"` 8007 8008 // The total amount of time that you used your RIs. 8009 Total *ReservationAggregates `type:"structure"` 8010 8011 // The amount of time that you used your RIs. 8012 // 8013 // UtilizationsByTime is a required field 8014 UtilizationsByTime []*UtilizationByTime `type:"list" required:"true"` 8015} 8016 8017// String returns the string representation 8018func (s GetReservationUtilizationOutput) String() string { 8019 return awsutil.Prettify(s) 8020} 8021 8022// GoString returns the string representation 8023func (s GetReservationUtilizationOutput) GoString() string { 8024 return s.String() 8025} 8026 8027// SetNextPageToken sets the NextPageToken field's value. 8028func (s *GetReservationUtilizationOutput) SetNextPageToken(v string) *GetReservationUtilizationOutput { 8029 s.NextPageToken = &v 8030 return s 8031} 8032 8033// SetTotal sets the Total field's value. 8034func (s *GetReservationUtilizationOutput) SetTotal(v *ReservationAggregates) *GetReservationUtilizationOutput { 8035 s.Total = v 8036 return s 8037} 8038 8039// SetUtilizationsByTime sets the UtilizationsByTime field's value. 8040func (s *GetReservationUtilizationOutput) SetUtilizationsByTime(v []*UtilizationByTime) *GetReservationUtilizationOutput { 8041 s.UtilizationsByTime = v 8042 return s 8043} 8044 8045type GetRightsizingRecommendationInput struct { 8046 _ struct{} `type:"structure"` 8047 8048 // Enables you to customize recommendations across two attributes. You can choose 8049 // to view recommendations for instances within the same instance families or 8050 // across different instance families. You can also choose to view your estimated 8051 // savings associated with recommendations with consideration of existing Savings 8052 // Plans or RI benefits, or neither. 8053 Configuration *RightsizingRecommendationConfiguration `type:"structure"` 8054 8055 // Use Expression to filter by cost or by usage. There are two patterns: 8056 // 8057 // * Simple dimension values - You can set the dimension name and values 8058 // for the filters that you plan to use. For example, you can filter for 8059 // REGION==us-east-1 OR REGION==us-west-1. For GetRightsizingRecommendation, 8060 // the Region is a full name (for example, REGION==US East (N. Virginia). 8061 // The Expression example is as follows: { "Dimensions": { "Key": "REGION", 8062 // "Values": [ "us-east-1", “us-west-1” ] } } The list of dimension values 8063 // are OR'd together to retrieve cost or usage data. You can create Expression 8064 // and DimensionValues objects using either with* methods or set* methods 8065 // in multiple lines. 8066 // 8067 // * Compound dimension values with logical operations - You can use multiple 8068 // Expression types and the logical operators AND/OR/NOT to create a list 8069 // of one or more Expression objects. By doing this, you can filter on more 8070 // advanced options. For example, you can filter on ((REGION == us-east-1 8071 // OR REGION == us-west-1) OR (TAG.Type == Type1)) AND (USAGE_TYPE != DataTransfer). 8072 // The Expression for that is as follows: { "And": [ {"Or": [ {"Dimensions": 8073 // { "Key": "REGION", "Values": [ "us-east-1", "us-west-1" ] }}, {"Tags": 8074 // { "Key": "TagName", "Values": ["Value1"] } } ]}, {"Not": {"Dimensions": 8075 // { "Key": "USAGE_TYPE", "Values": ["DataTransfer"] }}} ] } Because each 8076 // Expression can have only one operator, the service returns an error if 8077 // more than one is specified. The following example shows an Expression 8078 // object that creates an error. { "And": [ ... ], "DimensionValues": { "Dimension": 8079 // "USAGE_TYPE", "Values": [ "DataTransfer" ] } } 8080 // 8081 // For the GetRightsizingRecommendation action, a combination of OR and NOT 8082 // isn't supported. OR isn't supported between different dimensions, or dimensions 8083 // and tags. NOT operators aren't supported. Dimensions are also limited to 8084 // LINKED_ACCOUNT, REGION, or RIGHTSIZING_TYPE. 8085 // 8086 // For the GetReservationPurchaseRecommendation action, only NOT is supported. 8087 // AND and OR aren't supported. Dimensions are limited to LINKED_ACCOUNT. 8088 Filter *Expression `type:"structure"` 8089 8090 // The pagination token that indicates the next set of results that you want 8091 // to retrieve. 8092 NextPageToken *string `type:"string"` 8093 8094 // The number of recommendations that you want returned in a single response 8095 // object. 8096 PageSize *int64 `type:"integer"` 8097 8098 // The specific service that you want recommendations for. The only valid value 8099 // for GetRightsizingRecommendation is "AmazonEC2". 8100 // 8101 // Service is a required field 8102 Service *string `type:"string" required:"true"` 8103} 8104 8105// String returns the string representation 8106func (s GetRightsizingRecommendationInput) String() string { 8107 return awsutil.Prettify(s) 8108} 8109 8110// GoString returns the string representation 8111func (s GetRightsizingRecommendationInput) GoString() string { 8112 return s.String() 8113} 8114 8115// Validate inspects the fields of the type to determine if they are valid. 8116func (s *GetRightsizingRecommendationInput) Validate() error { 8117 invalidParams := request.ErrInvalidParams{Context: "GetRightsizingRecommendationInput"} 8118 if s.Service == nil { 8119 invalidParams.Add(request.NewErrParamRequired("Service")) 8120 } 8121 if s.Configuration != nil { 8122 if err := s.Configuration.Validate(); err != nil { 8123 invalidParams.AddNested("Configuration", err.(request.ErrInvalidParams)) 8124 } 8125 } 8126 if s.Filter != nil { 8127 if err := s.Filter.Validate(); err != nil { 8128 invalidParams.AddNested("Filter", err.(request.ErrInvalidParams)) 8129 } 8130 } 8131 8132 if invalidParams.Len() > 0 { 8133 return invalidParams 8134 } 8135 return nil 8136} 8137 8138// SetConfiguration sets the Configuration field's value. 8139func (s *GetRightsizingRecommendationInput) SetConfiguration(v *RightsizingRecommendationConfiguration) *GetRightsizingRecommendationInput { 8140 s.Configuration = v 8141 return s 8142} 8143 8144// SetFilter sets the Filter field's value. 8145func (s *GetRightsizingRecommendationInput) SetFilter(v *Expression) *GetRightsizingRecommendationInput { 8146 s.Filter = v 8147 return s 8148} 8149 8150// SetNextPageToken sets the NextPageToken field's value. 8151func (s *GetRightsizingRecommendationInput) SetNextPageToken(v string) *GetRightsizingRecommendationInput { 8152 s.NextPageToken = &v 8153 return s 8154} 8155 8156// SetPageSize sets the PageSize field's value. 8157func (s *GetRightsizingRecommendationInput) SetPageSize(v int64) *GetRightsizingRecommendationInput { 8158 s.PageSize = &v 8159 return s 8160} 8161 8162// SetService sets the Service field's value. 8163func (s *GetRightsizingRecommendationInput) SetService(v string) *GetRightsizingRecommendationInput { 8164 s.Service = &v 8165 return s 8166} 8167 8168type GetRightsizingRecommendationOutput struct { 8169 _ struct{} `type:"structure"` 8170 8171 // Enables you to customize recommendations across two attributes. You can choose 8172 // to view recommendations for instances within the same instance families or 8173 // across different instance families. You can also choose to view your estimated 8174 // savings associated with recommendations with consideration of existing Savings 8175 // Plans or RI benefits, or neither. 8176 Configuration *RightsizingRecommendationConfiguration `type:"structure"` 8177 8178 // Information regarding this specific recommendation set. 8179 Metadata *RightsizingRecommendationMetadata `type:"structure"` 8180 8181 // The token to retrieve the next set of results. 8182 NextPageToken *string `type:"string"` 8183 8184 // Recommendations to rightsize resources. 8185 RightsizingRecommendations []*RightsizingRecommendation `type:"list"` 8186 8187 // Summary of this recommendation set. 8188 Summary *RightsizingRecommendationSummary `type:"structure"` 8189} 8190 8191// String returns the string representation 8192func (s GetRightsizingRecommendationOutput) String() string { 8193 return awsutil.Prettify(s) 8194} 8195 8196// GoString returns the string representation 8197func (s GetRightsizingRecommendationOutput) GoString() string { 8198 return s.String() 8199} 8200 8201// SetConfiguration sets the Configuration field's value. 8202func (s *GetRightsizingRecommendationOutput) SetConfiguration(v *RightsizingRecommendationConfiguration) *GetRightsizingRecommendationOutput { 8203 s.Configuration = v 8204 return s 8205} 8206 8207// SetMetadata sets the Metadata field's value. 8208func (s *GetRightsizingRecommendationOutput) SetMetadata(v *RightsizingRecommendationMetadata) *GetRightsizingRecommendationOutput { 8209 s.Metadata = v 8210 return s 8211} 8212 8213// SetNextPageToken sets the NextPageToken field's value. 8214func (s *GetRightsizingRecommendationOutput) SetNextPageToken(v string) *GetRightsizingRecommendationOutput { 8215 s.NextPageToken = &v 8216 return s 8217} 8218 8219// SetRightsizingRecommendations sets the RightsizingRecommendations field's value. 8220func (s *GetRightsizingRecommendationOutput) SetRightsizingRecommendations(v []*RightsizingRecommendation) *GetRightsizingRecommendationOutput { 8221 s.RightsizingRecommendations = v 8222 return s 8223} 8224 8225// SetSummary sets the Summary field's value. 8226func (s *GetRightsizingRecommendationOutput) SetSummary(v *RightsizingRecommendationSummary) *GetRightsizingRecommendationOutput { 8227 s.Summary = v 8228 return s 8229} 8230 8231type GetSavingsPlansCoverageInput struct { 8232 _ struct{} `type:"structure"` 8233 8234 // Filters Savings Plans coverage data by dimensions. You can filter data for 8235 // Savings Plans usage with the following dimensions: 8236 // 8237 // * LINKED_ACCOUNT 8238 // 8239 // * REGION 8240 // 8241 // * SERVICE 8242 // 8243 // * INSTANCE_FAMILY 8244 // 8245 // GetSavingsPlansCoverage uses the same Expression (https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_Expression.html) 8246 // object as the other operations, but only AND is supported among each dimension. 8247 // If there are multiple values for a dimension, they are OR'd together. 8248 // 8249 // Cost category is also supported. 8250 Filter *Expression `type:"structure"` 8251 8252 // The granularity of the Amazon Web Services cost data for your Savings Plans. 8253 // Granularity can't be set if GroupBy is set. 8254 // 8255 // The GetSavingsPlansCoverage operation supports only DAILY and MONTHLY granularities. 8256 Granularity *string `type:"string" enum:"Granularity"` 8257 8258 // You can group the data using the attributes INSTANCE_FAMILY, REGION, or SERVICE. 8259 GroupBy []*GroupDefinition `type:"list"` 8260 8261 // The number of items to be returned in a response. The default is 20, with 8262 // a minimum value of 1. 8263 MaxResults *int64 `min:"1" type:"integer"` 8264 8265 // The measurement that you want your Savings Plans coverage reported in. The 8266 // only valid value is SpendCoveredBySavingsPlans. 8267 Metrics []*string `type:"list"` 8268 8269 // The token to retrieve the next set of results. Amazon Web Services provides 8270 // the token when the response from a previous call has more results than the 8271 // maximum page size. 8272 NextToken *string `type:"string"` 8273 8274 // The value by which you want to sort the data. 8275 // 8276 // The following values are supported for Key: 8277 // 8278 // * SpendCoveredBySavingsPlan 8279 // 8280 // * OnDemandCost 8281 // 8282 // * CoveragePercentage 8283 // 8284 // * TotalCost 8285 // 8286 // * InstanceFamily 8287 // 8288 // * Region 8289 // 8290 // * Service 8291 // 8292 // Supported values for SortOrder are ASCENDING or DESCENDING. 8293 SortBy *SortDefinition `type:"structure"` 8294 8295 // The time period that you want the usage and costs for. The Start date must 8296 // be within 13 months. The End date must be after the Start date, and before 8297 // the current date. Future dates can't be used as an End date. 8298 // 8299 // TimePeriod is a required field 8300 TimePeriod *DateInterval `type:"structure" required:"true"` 8301} 8302 8303// String returns the string representation 8304func (s GetSavingsPlansCoverageInput) String() string { 8305 return awsutil.Prettify(s) 8306} 8307 8308// GoString returns the string representation 8309func (s GetSavingsPlansCoverageInput) GoString() string { 8310 return s.String() 8311} 8312 8313// Validate inspects the fields of the type to determine if they are valid. 8314func (s *GetSavingsPlansCoverageInput) Validate() error { 8315 invalidParams := request.ErrInvalidParams{Context: "GetSavingsPlansCoverageInput"} 8316 if s.MaxResults != nil && *s.MaxResults < 1 { 8317 invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) 8318 } 8319 if s.TimePeriod == nil { 8320 invalidParams.Add(request.NewErrParamRequired("TimePeriod")) 8321 } 8322 if s.Filter != nil { 8323 if err := s.Filter.Validate(); err != nil { 8324 invalidParams.AddNested("Filter", err.(request.ErrInvalidParams)) 8325 } 8326 } 8327 if s.SortBy != nil { 8328 if err := s.SortBy.Validate(); err != nil { 8329 invalidParams.AddNested("SortBy", err.(request.ErrInvalidParams)) 8330 } 8331 } 8332 if s.TimePeriod != nil { 8333 if err := s.TimePeriod.Validate(); err != nil { 8334 invalidParams.AddNested("TimePeriod", err.(request.ErrInvalidParams)) 8335 } 8336 } 8337 8338 if invalidParams.Len() > 0 { 8339 return invalidParams 8340 } 8341 return nil 8342} 8343 8344// SetFilter sets the Filter field's value. 8345func (s *GetSavingsPlansCoverageInput) SetFilter(v *Expression) *GetSavingsPlansCoverageInput { 8346 s.Filter = v 8347 return s 8348} 8349 8350// SetGranularity sets the Granularity field's value. 8351func (s *GetSavingsPlansCoverageInput) SetGranularity(v string) *GetSavingsPlansCoverageInput { 8352 s.Granularity = &v 8353 return s 8354} 8355 8356// SetGroupBy sets the GroupBy field's value. 8357func (s *GetSavingsPlansCoverageInput) SetGroupBy(v []*GroupDefinition) *GetSavingsPlansCoverageInput { 8358 s.GroupBy = v 8359 return s 8360} 8361 8362// SetMaxResults sets the MaxResults field's value. 8363func (s *GetSavingsPlansCoverageInput) SetMaxResults(v int64) *GetSavingsPlansCoverageInput { 8364 s.MaxResults = &v 8365 return s 8366} 8367 8368// SetMetrics sets the Metrics field's value. 8369func (s *GetSavingsPlansCoverageInput) SetMetrics(v []*string) *GetSavingsPlansCoverageInput { 8370 s.Metrics = v 8371 return s 8372} 8373 8374// SetNextToken sets the NextToken field's value. 8375func (s *GetSavingsPlansCoverageInput) SetNextToken(v string) *GetSavingsPlansCoverageInput { 8376 s.NextToken = &v 8377 return s 8378} 8379 8380// SetSortBy sets the SortBy field's value. 8381func (s *GetSavingsPlansCoverageInput) SetSortBy(v *SortDefinition) *GetSavingsPlansCoverageInput { 8382 s.SortBy = v 8383 return s 8384} 8385 8386// SetTimePeriod sets the TimePeriod field's value. 8387func (s *GetSavingsPlansCoverageInput) SetTimePeriod(v *DateInterval) *GetSavingsPlansCoverageInput { 8388 s.TimePeriod = v 8389 return s 8390} 8391 8392type GetSavingsPlansCoverageOutput struct { 8393 _ struct{} `type:"structure"` 8394 8395 // The token to retrieve the next set of results. Amazon Web Services provides 8396 // the token when the response from a previous call has more results than the 8397 // maximum page size. 8398 NextToken *string `type:"string"` 8399 8400 // The amount of spend that your Savings Plans covered. 8401 // 8402 // SavingsPlansCoverages is a required field 8403 SavingsPlansCoverages []*SavingsPlansCoverage `type:"list" required:"true"` 8404} 8405 8406// String returns the string representation 8407func (s GetSavingsPlansCoverageOutput) String() string { 8408 return awsutil.Prettify(s) 8409} 8410 8411// GoString returns the string representation 8412func (s GetSavingsPlansCoverageOutput) GoString() string { 8413 return s.String() 8414} 8415 8416// SetNextToken sets the NextToken field's value. 8417func (s *GetSavingsPlansCoverageOutput) SetNextToken(v string) *GetSavingsPlansCoverageOutput { 8418 s.NextToken = &v 8419 return s 8420} 8421 8422// SetSavingsPlansCoverages sets the SavingsPlansCoverages field's value. 8423func (s *GetSavingsPlansCoverageOutput) SetSavingsPlansCoverages(v []*SavingsPlansCoverage) *GetSavingsPlansCoverageOutput { 8424 s.SavingsPlansCoverages = v 8425 return s 8426} 8427 8428type GetSavingsPlansPurchaseRecommendationInput struct { 8429 _ struct{} `type:"structure"` 8430 8431 // The account scope that you want your recommendations for. Amazon Web Services 8432 // calculates recommendations including the management account and member accounts 8433 // if the value is set to PAYER. If the value is LINKED, recommendations are 8434 // calculated for individual member accounts only. 8435 AccountScope *string `type:"string" enum:"AccountScope"` 8436 8437 // You can filter your recommendations by Account ID with the LINKED_ACCOUNT 8438 // dimension. To filter your recommendations by Account ID, specify Key as LINKED_ACCOUNT 8439 // and Value as the comma-separated Acount ID(s) for which you want to see Savings 8440 // Plans purchase recommendations. 8441 // 8442 // For GetSavingsPlansPurchaseRecommendation, the Filter does not include CostCategories 8443 // or Tags. It only includes Dimensions. With Dimensions, Key must be LINKED_ACCOUNT 8444 // and Value can be a single Account ID or multiple comma-separated Account 8445 // IDs for which you want to see Savings Plans Purchase Recommendations. AND 8446 // and OR operators are not supported. 8447 Filter *Expression `type:"structure"` 8448 8449 // The lookback period used to generate the recommendation. 8450 // 8451 // LookbackPeriodInDays is a required field 8452 LookbackPeriodInDays *string `type:"string" required:"true" enum:"LookbackPeriodInDays"` 8453 8454 // The token to retrieve the next set of results. Amazon Web Services provides 8455 // the token when the response from a previous call has more results than the 8456 // maximum page size. 8457 NextPageToken *string `type:"string"` 8458 8459 // The number of recommendations that you want returned in a single response 8460 // object. 8461 PageSize *int64 `type:"integer"` 8462 8463 // The payment option used to generate these recommendations. 8464 // 8465 // PaymentOption is a required field 8466 PaymentOption *string `type:"string" required:"true" enum:"PaymentOption"` 8467 8468 // The Savings Plans recommendation type requested. 8469 // 8470 // SavingsPlansType is a required field 8471 SavingsPlansType *string `type:"string" required:"true" enum:"SupportedSavingsPlansType"` 8472 8473 // The savings plan recommendation term used to generate these recommendations. 8474 // 8475 // TermInYears is a required field 8476 TermInYears *string `type:"string" required:"true" enum:"TermInYears"` 8477} 8478 8479// String returns the string representation 8480func (s GetSavingsPlansPurchaseRecommendationInput) String() string { 8481 return awsutil.Prettify(s) 8482} 8483 8484// GoString returns the string representation 8485func (s GetSavingsPlansPurchaseRecommendationInput) GoString() string { 8486 return s.String() 8487} 8488 8489// Validate inspects the fields of the type to determine if they are valid. 8490func (s *GetSavingsPlansPurchaseRecommendationInput) Validate() error { 8491 invalidParams := request.ErrInvalidParams{Context: "GetSavingsPlansPurchaseRecommendationInput"} 8492 if s.LookbackPeriodInDays == nil { 8493 invalidParams.Add(request.NewErrParamRequired("LookbackPeriodInDays")) 8494 } 8495 if s.PaymentOption == nil { 8496 invalidParams.Add(request.NewErrParamRequired("PaymentOption")) 8497 } 8498 if s.SavingsPlansType == nil { 8499 invalidParams.Add(request.NewErrParamRequired("SavingsPlansType")) 8500 } 8501 if s.TermInYears == nil { 8502 invalidParams.Add(request.NewErrParamRequired("TermInYears")) 8503 } 8504 if s.Filter != nil { 8505 if err := s.Filter.Validate(); err != nil { 8506 invalidParams.AddNested("Filter", err.(request.ErrInvalidParams)) 8507 } 8508 } 8509 8510 if invalidParams.Len() > 0 { 8511 return invalidParams 8512 } 8513 return nil 8514} 8515 8516// SetAccountScope sets the AccountScope field's value. 8517func (s *GetSavingsPlansPurchaseRecommendationInput) SetAccountScope(v string) *GetSavingsPlansPurchaseRecommendationInput { 8518 s.AccountScope = &v 8519 return s 8520} 8521 8522// SetFilter sets the Filter field's value. 8523func (s *GetSavingsPlansPurchaseRecommendationInput) SetFilter(v *Expression) *GetSavingsPlansPurchaseRecommendationInput { 8524 s.Filter = v 8525 return s 8526} 8527 8528// SetLookbackPeriodInDays sets the LookbackPeriodInDays field's value. 8529func (s *GetSavingsPlansPurchaseRecommendationInput) SetLookbackPeriodInDays(v string) *GetSavingsPlansPurchaseRecommendationInput { 8530 s.LookbackPeriodInDays = &v 8531 return s 8532} 8533 8534// SetNextPageToken sets the NextPageToken field's value. 8535func (s *GetSavingsPlansPurchaseRecommendationInput) SetNextPageToken(v string) *GetSavingsPlansPurchaseRecommendationInput { 8536 s.NextPageToken = &v 8537 return s 8538} 8539 8540// SetPageSize sets the PageSize field's value. 8541func (s *GetSavingsPlansPurchaseRecommendationInput) SetPageSize(v int64) *GetSavingsPlansPurchaseRecommendationInput { 8542 s.PageSize = &v 8543 return s 8544} 8545 8546// SetPaymentOption sets the PaymentOption field's value. 8547func (s *GetSavingsPlansPurchaseRecommendationInput) SetPaymentOption(v string) *GetSavingsPlansPurchaseRecommendationInput { 8548 s.PaymentOption = &v 8549 return s 8550} 8551 8552// SetSavingsPlansType sets the SavingsPlansType field's value. 8553func (s *GetSavingsPlansPurchaseRecommendationInput) SetSavingsPlansType(v string) *GetSavingsPlansPurchaseRecommendationInput { 8554 s.SavingsPlansType = &v 8555 return s 8556} 8557 8558// SetTermInYears sets the TermInYears field's value. 8559func (s *GetSavingsPlansPurchaseRecommendationInput) SetTermInYears(v string) *GetSavingsPlansPurchaseRecommendationInput { 8560 s.TermInYears = &v 8561 return s 8562} 8563 8564type GetSavingsPlansPurchaseRecommendationOutput struct { 8565 _ struct{} `type:"structure"` 8566 8567 // Information regarding this specific recommendation set. 8568 Metadata *SavingsPlansPurchaseRecommendationMetadata `type:"structure"` 8569 8570 // The token for the next set of retrievable results. Amazon Web Services provides 8571 // the token when the response from a previous call has more results than the 8572 // maximum page size. 8573 NextPageToken *string `type:"string"` 8574 8575 // Contains your request parameters, Savings Plan Recommendations Summary, and 8576 // Details. 8577 SavingsPlansPurchaseRecommendation *SavingsPlansPurchaseRecommendation `type:"structure"` 8578} 8579 8580// String returns the string representation 8581func (s GetSavingsPlansPurchaseRecommendationOutput) String() string { 8582 return awsutil.Prettify(s) 8583} 8584 8585// GoString returns the string representation 8586func (s GetSavingsPlansPurchaseRecommendationOutput) GoString() string { 8587 return s.String() 8588} 8589 8590// SetMetadata sets the Metadata field's value. 8591func (s *GetSavingsPlansPurchaseRecommendationOutput) SetMetadata(v *SavingsPlansPurchaseRecommendationMetadata) *GetSavingsPlansPurchaseRecommendationOutput { 8592 s.Metadata = v 8593 return s 8594} 8595 8596// SetNextPageToken sets the NextPageToken field's value. 8597func (s *GetSavingsPlansPurchaseRecommendationOutput) SetNextPageToken(v string) *GetSavingsPlansPurchaseRecommendationOutput { 8598 s.NextPageToken = &v 8599 return s 8600} 8601 8602// SetSavingsPlansPurchaseRecommendation sets the SavingsPlansPurchaseRecommendation field's value. 8603func (s *GetSavingsPlansPurchaseRecommendationOutput) SetSavingsPlansPurchaseRecommendation(v *SavingsPlansPurchaseRecommendation) *GetSavingsPlansPurchaseRecommendationOutput { 8604 s.SavingsPlansPurchaseRecommendation = v 8605 return s 8606} 8607 8608type GetSavingsPlansUtilizationDetailsInput struct { 8609 _ struct{} `type:"structure"` 8610 8611 // The data type. 8612 DataType []*string `type:"list"` 8613 8614 // Filters Savings Plans utilization coverage data for active Savings Plans 8615 // dimensions. You can filter data with the following dimensions: 8616 // 8617 // * LINKED_ACCOUNT 8618 // 8619 // * SAVINGS_PLAN_ARN 8620 // 8621 // * REGION 8622 // 8623 // * PAYMENT_OPTION 8624 // 8625 // * INSTANCE_TYPE_FAMILY 8626 // 8627 // GetSavingsPlansUtilizationDetails uses the same Expression (https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_Expression.html) 8628 // object as the other operations, but only AND is supported among each dimension. 8629 Filter *Expression `type:"structure"` 8630 8631 // The number of items to be returned in a response. The default is 20, with 8632 // a minimum value of 1. 8633 MaxResults *int64 `min:"1" type:"integer"` 8634 8635 // The token to retrieve the next set of results. Amazon Web Services provides 8636 // the token when the response from a previous call has more results than the 8637 // maximum page size. 8638 NextToken *string `type:"string"` 8639 8640 // The value by which you want to sort the data. 8641 // 8642 // The following values are supported for Key: 8643 // 8644 // * UtilizationPercentage 8645 // 8646 // * TotalCommitment 8647 // 8648 // * UsedCommitment 8649 // 8650 // * UnusedCommitment 8651 // 8652 // * NetSavings 8653 // 8654 // * AmortizedRecurringCommitment 8655 // 8656 // * AmortizedUpfrontCommitment 8657 // 8658 // Supported values for SortOrder are ASCENDING or DESCENDING. 8659 SortBy *SortDefinition `type:"structure"` 8660 8661 // The time period that you want the usage and costs for. The Start date must 8662 // be within 13 months. The End date must be after the Start date, and before 8663 // the current date. Future dates can't be used as an End date. 8664 // 8665 // TimePeriod is a required field 8666 TimePeriod *DateInterval `type:"structure" required:"true"` 8667} 8668 8669// String returns the string representation 8670func (s GetSavingsPlansUtilizationDetailsInput) String() string { 8671 return awsutil.Prettify(s) 8672} 8673 8674// GoString returns the string representation 8675func (s GetSavingsPlansUtilizationDetailsInput) GoString() string { 8676 return s.String() 8677} 8678 8679// Validate inspects the fields of the type to determine if they are valid. 8680func (s *GetSavingsPlansUtilizationDetailsInput) Validate() error { 8681 invalidParams := request.ErrInvalidParams{Context: "GetSavingsPlansUtilizationDetailsInput"} 8682 if s.MaxResults != nil && *s.MaxResults < 1 { 8683 invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) 8684 } 8685 if s.TimePeriod == nil { 8686 invalidParams.Add(request.NewErrParamRequired("TimePeriod")) 8687 } 8688 if s.Filter != nil { 8689 if err := s.Filter.Validate(); err != nil { 8690 invalidParams.AddNested("Filter", err.(request.ErrInvalidParams)) 8691 } 8692 } 8693 if s.SortBy != nil { 8694 if err := s.SortBy.Validate(); err != nil { 8695 invalidParams.AddNested("SortBy", err.(request.ErrInvalidParams)) 8696 } 8697 } 8698 if s.TimePeriod != nil { 8699 if err := s.TimePeriod.Validate(); err != nil { 8700 invalidParams.AddNested("TimePeriod", err.(request.ErrInvalidParams)) 8701 } 8702 } 8703 8704 if invalidParams.Len() > 0 { 8705 return invalidParams 8706 } 8707 return nil 8708} 8709 8710// SetDataType sets the DataType field's value. 8711func (s *GetSavingsPlansUtilizationDetailsInput) SetDataType(v []*string) *GetSavingsPlansUtilizationDetailsInput { 8712 s.DataType = v 8713 return s 8714} 8715 8716// SetFilter sets the Filter field's value. 8717func (s *GetSavingsPlansUtilizationDetailsInput) SetFilter(v *Expression) *GetSavingsPlansUtilizationDetailsInput { 8718 s.Filter = v 8719 return s 8720} 8721 8722// SetMaxResults sets the MaxResults field's value. 8723func (s *GetSavingsPlansUtilizationDetailsInput) SetMaxResults(v int64) *GetSavingsPlansUtilizationDetailsInput { 8724 s.MaxResults = &v 8725 return s 8726} 8727 8728// SetNextToken sets the NextToken field's value. 8729func (s *GetSavingsPlansUtilizationDetailsInput) SetNextToken(v string) *GetSavingsPlansUtilizationDetailsInput { 8730 s.NextToken = &v 8731 return s 8732} 8733 8734// SetSortBy sets the SortBy field's value. 8735func (s *GetSavingsPlansUtilizationDetailsInput) SetSortBy(v *SortDefinition) *GetSavingsPlansUtilizationDetailsInput { 8736 s.SortBy = v 8737 return s 8738} 8739 8740// SetTimePeriod sets the TimePeriod field's value. 8741func (s *GetSavingsPlansUtilizationDetailsInput) SetTimePeriod(v *DateInterval) *GetSavingsPlansUtilizationDetailsInput { 8742 s.TimePeriod = v 8743 return s 8744} 8745 8746type GetSavingsPlansUtilizationDetailsOutput struct { 8747 _ struct{} `type:"structure"` 8748 8749 // The token to retrieve the next set of results. Amazon Web Services provides 8750 // the token when the response from a previous call has more results than the 8751 // maximum page size. 8752 NextToken *string `type:"string"` 8753 8754 // Retrieves a single daily or monthly Savings Plans utilization rate and details 8755 // for your account. 8756 // 8757 // SavingsPlansUtilizationDetails is a required field 8758 SavingsPlansUtilizationDetails []*SavingsPlansUtilizationDetail `type:"list" required:"true"` 8759 8760 // The time period of the request. 8761 // 8762 // TimePeriod is a required field 8763 TimePeriod *DateInterval `type:"structure" required:"true"` 8764 8765 // The total Savings Plans utilization, regardless of time period. 8766 Total *SavingsPlansUtilizationAggregates `type:"structure"` 8767} 8768 8769// String returns the string representation 8770func (s GetSavingsPlansUtilizationDetailsOutput) String() string { 8771 return awsutil.Prettify(s) 8772} 8773 8774// GoString returns the string representation 8775func (s GetSavingsPlansUtilizationDetailsOutput) GoString() string { 8776 return s.String() 8777} 8778 8779// SetNextToken sets the NextToken field's value. 8780func (s *GetSavingsPlansUtilizationDetailsOutput) SetNextToken(v string) *GetSavingsPlansUtilizationDetailsOutput { 8781 s.NextToken = &v 8782 return s 8783} 8784 8785// SetSavingsPlansUtilizationDetails sets the SavingsPlansUtilizationDetails field's value. 8786func (s *GetSavingsPlansUtilizationDetailsOutput) SetSavingsPlansUtilizationDetails(v []*SavingsPlansUtilizationDetail) *GetSavingsPlansUtilizationDetailsOutput { 8787 s.SavingsPlansUtilizationDetails = v 8788 return s 8789} 8790 8791// SetTimePeriod sets the TimePeriod field's value. 8792func (s *GetSavingsPlansUtilizationDetailsOutput) SetTimePeriod(v *DateInterval) *GetSavingsPlansUtilizationDetailsOutput { 8793 s.TimePeriod = v 8794 return s 8795} 8796 8797// SetTotal sets the Total field's value. 8798func (s *GetSavingsPlansUtilizationDetailsOutput) SetTotal(v *SavingsPlansUtilizationAggregates) *GetSavingsPlansUtilizationDetailsOutput { 8799 s.Total = v 8800 return s 8801} 8802 8803type GetSavingsPlansUtilizationInput struct { 8804 _ struct{} `type:"structure"` 8805 8806 // Filters Savings Plans utilization coverage data for active Savings Plans 8807 // dimensions. You can filter data with the following dimensions: 8808 // 8809 // * LINKED_ACCOUNT 8810 // 8811 // * SAVINGS_PLAN_ARN 8812 // 8813 // * SAVINGS_PLANS_TYPE 8814 // 8815 // * REGION 8816 // 8817 // * PAYMENT_OPTION 8818 // 8819 // * INSTANCE_TYPE_FAMILY 8820 // 8821 // GetSavingsPlansUtilization 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 Filter *Expression `type:"structure"` 8824 8825 // The granularity of the Amazon Web Services utillization data for your Savings 8826 // Plans. 8827 // 8828 // The GetSavingsPlansUtilization operation supports only DAILY and MONTHLY 8829 // granularities. 8830 Granularity *string `type:"string" enum:"Granularity"` 8831 8832 // The value by which you want to sort the data. 8833 // 8834 // The following values are supported for Key: 8835 // 8836 // * UtilizationPercentage 8837 // 8838 // * TotalCommitment 8839 // 8840 // * UsedCommitment 8841 // 8842 // * UnusedCommitment 8843 // 8844 // * NetSavings 8845 // 8846 // Supported values for SortOrder are ASCENDING or DESCENDING. 8847 SortBy *SortDefinition `type:"structure"` 8848 8849 // The time period that you want the usage and costs for. The Start date must 8850 // be within 13 months. The End date must be after the Start date, and before 8851 // the current date. Future dates can't be used as an End date. 8852 // 8853 // TimePeriod is a required field 8854 TimePeriod *DateInterval `type:"structure" required:"true"` 8855} 8856 8857// String returns the string representation 8858func (s GetSavingsPlansUtilizationInput) String() string { 8859 return awsutil.Prettify(s) 8860} 8861 8862// GoString returns the string representation 8863func (s GetSavingsPlansUtilizationInput) GoString() string { 8864 return s.String() 8865} 8866 8867// Validate inspects the fields of the type to determine if they are valid. 8868func (s *GetSavingsPlansUtilizationInput) Validate() error { 8869 invalidParams := request.ErrInvalidParams{Context: "GetSavingsPlansUtilizationInput"} 8870 if s.TimePeriod == nil { 8871 invalidParams.Add(request.NewErrParamRequired("TimePeriod")) 8872 } 8873 if s.Filter != nil { 8874 if err := s.Filter.Validate(); err != nil { 8875 invalidParams.AddNested("Filter", err.(request.ErrInvalidParams)) 8876 } 8877 } 8878 if s.SortBy != nil { 8879 if err := s.SortBy.Validate(); err != nil { 8880 invalidParams.AddNested("SortBy", err.(request.ErrInvalidParams)) 8881 } 8882 } 8883 if s.TimePeriod != nil { 8884 if err := s.TimePeriod.Validate(); err != nil { 8885 invalidParams.AddNested("TimePeriod", err.(request.ErrInvalidParams)) 8886 } 8887 } 8888 8889 if invalidParams.Len() > 0 { 8890 return invalidParams 8891 } 8892 return nil 8893} 8894 8895// SetFilter sets the Filter field's value. 8896func (s *GetSavingsPlansUtilizationInput) SetFilter(v *Expression) *GetSavingsPlansUtilizationInput { 8897 s.Filter = v 8898 return s 8899} 8900 8901// SetGranularity sets the Granularity field's value. 8902func (s *GetSavingsPlansUtilizationInput) SetGranularity(v string) *GetSavingsPlansUtilizationInput { 8903 s.Granularity = &v 8904 return s 8905} 8906 8907// SetSortBy sets the SortBy field's value. 8908func (s *GetSavingsPlansUtilizationInput) SetSortBy(v *SortDefinition) *GetSavingsPlansUtilizationInput { 8909 s.SortBy = v 8910 return s 8911} 8912 8913// SetTimePeriod sets the TimePeriod field's value. 8914func (s *GetSavingsPlansUtilizationInput) SetTimePeriod(v *DateInterval) *GetSavingsPlansUtilizationInput { 8915 s.TimePeriod = v 8916 return s 8917} 8918 8919type GetSavingsPlansUtilizationOutput struct { 8920 _ struct{} `type:"structure"` 8921 8922 // The amount of cost/commitment you used your Savings Plans. This allows you 8923 // to specify date ranges. 8924 SavingsPlansUtilizationsByTime []*SavingsPlansUtilizationByTime `type:"list"` 8925 8926 // The total amount of cost/commitment that you used your Savings Plans, regardless 8927 // of date ranges. 8928 // 8929 // Total is a required field 8930 Total *SavingsPlansUtilizationAggregates `type:"structure" required:"true"` 8931} 8932 8933// String returns the string representation 8934func (s GetSavingsPlansUtilizationOutput) String() string { 8935 return awsutil.Prettify(s) 8936} 8937 8938// GoString returns the string representation 8939func (s GetSavingsPlansUtilizationOutput) GoString() string { 8940 return s.String() 8941} 8942 8943// SetSavingsPlansUtilizationsByTime sets the SavingsPlansUtilizationsByTime field's value. 8944func (s *GetSavingsPlansUtilizationOutput) SetSavingsPlansUtilizationsByTime(v []*SavingsPlansUtilizationByTime) *GetSavingsPlansUtilizationOutput { 8945 s.SavingsPlansUtilizationsByTime = v 8946 return s 8947} 8948 8949// SetTotal sets the Total field's value. 8950func (s *GetSavingsPlansUtilizationOutput) SetTotal(v *SavingsPlansUtilizationAggregates) *GetSavingsPlansUtilizationOutput { 8951 s.Total = v 8952 return s 8953} 8954 8955type GetTagsInput struct { 8956 _ struct{} `type:"structure"` 8957 8958 // Use Expression to filter by cost or by usage. There are two patterns: 8959 // 8960 // * Simple dimension values - You can set the dimension name and values 8961 // for the filters that you plan to use. For example, you can filter for 8962 // REGION==us-east-1 OR REGION==us-west-1. For GetRightsizingRecommendation, 8963 // the Region is a full name (for example, REGION==US East (N. Virginia). 8964 // The Expression example is as follows: { "Dimensions": { "Key": "REGION", 8965 // "Values": [ "us-east-1", “us-west-1” ] } } The list of dimension values 8966 // are OR'd together to retrieve cost or usage data. You can create Expression 8967 // and DimensionValues objects using either with* methods or set* methods 8968 // in multiple lines. 8969 // 8970 // * Compound dimension values with logical operations - You can use multiple 8971 // Expression types and the logical operators AND/OR/NOT to create a list 8972 // of one or more Expression objects. By doing this, you can filter on more 8973 // advanced options. For example, you can filter on ((REGION == us-east-1 8974 // OR REGION == us-west-1) OR (TAG.Type == Type1)) AND (USAGE_TYPE != DataTransfer). 8975 // The Expression for that is as follows: { "And": [ {"Or": [ {"Dimensions": 8976 // { "Key": "REGION", "Values": [ "us-east-1", "us-west-1" ] }}, {"Tags": 8977 // { "Key": "TagName", "Values": ["Value1"] } } ]}, {"Not": {"Dimensions": 8978 // { "Key": "USAGE_TYPE", "Values": ["DataTransfer"] }}} ] } Because each 8979 // Expression can have only one operator, the service returns an error if 8980 // more than one is specified. The following example shows an Expression 8981 // object that creates an error. { "And": [ ... ], "DimensionValues": { "Dimension": 8982 // "USAGE_TYPE", "Values": [ "DataTransfer" ] } } 8983 // 8984 // For the GetRightsizingRecommendation action, a combination of OR and NOT 8985 // isn't supported. OR isn't supported between different dimensions, or dimensions 8986 // and tags. NOT operators aren't supported. Dimensions are also limited to 8987 // LINKED_ACCOUNT, REGION, or RIGHTSIZING_TYPE. 8988 // 8989 // For the GetReservationPurchaseRecommendation action, only NOT is supported. 8990 // AND and OR aren't supported. Dimensions are limited to LINKED_ACCOUNT. 8991 Filter *Expression `type:"structure"` 8992 8993 // This field is only used when SortBy is provided in the request. The maximum 8994 // number of objects that to be returned for this request. If MaxResults is 8995 // not specified with SortBy, the request will return 1000 results as the default 8996 // value for this parameter. 8997 // 8998 // For GetTags, MaxResults has an upper limit of 1000. 8999 MaxResults *int64 `min:"1" type:"integer"` 9000 9001 // The token to retrieve the next set of results. Amazon Web Services provides 9002 // the token when the response from a previous call has more results than the 9003 // maximum page size. 9004 NextPageToken *string `type:"string"` 9005 9006 // The value that you want to search for. 9007 SearchString *string `type:"string"` 9008 9009 // The value by which you want to sort the data. 9010 // 9011 // The key represents cost and usage metrics. The following values are supported: 9012 // 9013 // * BlendedCost 9014 // 9015 // * UnblendedCost 9016 // 9017 // * AmortizedCost 9018 // 9019 // * NetAmortizedCost 9020 // 9021 // * NetUnblendedCost 9022 // 9023 // * UsageQuantity 9024 // 9025 // * NormalizedUsageAmount 9026 // 9027 // Supported values for SortOrder are ASCENDING or DESCENDING. 9028 // 9029 // When using SortBy, NextPageToken and SearchString are not supported. 9030 SortBy []*SortDefinition `type:"list"` 9031 9032 // The key of the tag that you want to return values for. 9033 TagKey *string `type:"string"` 9034 9035 // The start and end dates for retrieving the dimension values. The start date 9036 // is inclusive, but the end date is exclusive. For example, if start is 2017-01-01 9037 // and end is 2017-05-01, then the cost and usage data is retrieved from 2017-01-01 9038 // up to and including 2017-04-30 but not including 2017-05-01. 9039 // 9040 // TimePeriod is a required field 9041 TimePeriod *DateInterval `type:"structure" required:"true"` 9042} 9043 9044// String returns the string representation 9045func (s GetTagsInput) String() string { 9046 return awsutil.Prettify(s) 9047} 9048 9049// GoString returns the string representation 9050func (s GetTagsInput) GoString() string { 9051 return s.String() 9052} 9053 9054// Validate inspects the fields of the type to determine if they are valid. 9055func (s *GetTagsInput) Validate() error { 9056 invalidParams := request.ErrInvalidParams{Context: "GetTagsInput"} 9057 if s.MaxResults != nil && *s.MaxResults < 1 { 9058 invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) 9059 } 9060 if s.TimePeriod == nil { 9061 invalidParams.Add(request.NewErrParamRequired("TimePeriod")) 9062 } 9063 if s.Filter != nil { 9064 if err := s.Filter.Validate(); err != nil { 9065 invalidParams.AddNested("Filter", err.(request.ErrInvalidParams)) 9066 } 9067 } 9068 if s.SortBy != nil { 9069 for i, v := range s.SortBy { 9070 if v == nil { 9071 continue 9072 } 9073 if err := v.Validate(); err != nil { 9074 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "SortBy", i), err.(request.ErrInvalidParams)) 9075 } 9076 } 9077 } 9078 if s.TimePeriod != nil { 9079 if err := s.TimePeriod.Validate(); err != nil { 9080 invalidParams.AddNested("TimePeriod", err.(request.ErrInvalidParams)) 9081 } 9082 } 9083 9084 if invalidParams.Len() > 0 { 9085 return invalidParams 9086 } 9087 return nil 9088} 9089 9090// SetFilter sets the Filter field's value. 9091func (s *GetTagsInput) SetFilter(v *Expression) *GetTagsInput { 9092 s.Filter = v 9093 return s 9094} 9095 9096// SetMaxResults sets the MaxResults field's value. 9097func (s *GetTagsInput) SetMaxResults(v int64) *GetTagsInput { 9098 s.MaxResults = &v 9099 return s 9100} 9101 9102// SetNextPageToken sets the NextPageToken field's value. 9103func (s *GetTagsInput) SetNextPageToken(v string) *GetTagsInput { 9104 s.NextPageToken = &v 9105 return s 9106} 9107 9108// SetSearchString sets the SearchString field's value. 9109func (s *GetTagsInput) SetSearchString(v string) *GetTagsInput { 9110 s.SearchString = &v 9111 return s 9112} 9113 9114// SetSortBy sets the SortBy field's value. 9115func (s *GetTagsInput) SetSortBy(v []*SortDefinition) *GetTagsInput { 9116 s.SortBy = v 9117 return s 9118} 9119 9120// SetTagKey sets the TagKey field's value. 9121func (s *GetTagsInput) SetTagKey(v string) *GetTagsInput { 9122 s.TagKey = &v 9123 return s 9124} 9125 9126// SetTimePeriod sets the TimePeriod field's value. 9127func (s *GetTagsInput) SetTimePeriod(v *DateInterval) *GetTagsInput { 9128 s.TimePeriod = v 9129 return s 9130} 9131 9132type GetTagsOutput struct { 9133 _ struct{} `type:"structure"` 9134 9135 // The token for the next set of retrievable results. Amazon Web Services provides 9136 // the token when the response from a previous call has more results than the 9137 // maximum page size. 9138 NextPageToken *string `type:"string"` 9139 9140 // The number of query results that Amazon Web Services returns at a time. 9141 // 9142 // ReturnSize is a required field 9143 ReturnSize *int64 `type:"integer" required:"true"` 9144 9145 // The tags that match your request. 9146 // 9147 // Tags is a required field 9148 Tags []*string `type:"list" required:"true"` 9149 9150 // The total number of query results. 9151 // 9152 // TotalSize is a required field 9153 TotalSize *int64 `type:"integer" required:"true"` 9154} 9155 9156// String returns the string representation 9157func (s GetTagsOutput) String() string { 9158 return awsutil.Prettify(s) 9159} 9160 9161// GoString returns the string representation 9162func (s GetTagsOutput) GoString() string { 9163 return s.String() 9164} 9165 9166// SetNextPageToken sets the NextPageToken field's value. 9167func (s *GetTagsOutput) SetNextPageToken(v string) *GetTagsOutput { 9168 s.NextPageToken = &v 9169 return s 9170} 9171 9172// SetReturnSize sets the ReturnSize field's value. 9173func (s *GetTagsOutput) SetReturnSize(v int64) *GetTagsOutput { 9174 s.ReturnSize = &v 9175 return s 9176} 9177 9178// SetTags sets the Tags field's value. 9179func (s *GetTagsOutput) SetTags(v []*string) *GetTagsOutput { 9180 s.Tags = v 9181 return s 9182} 9183 9184// SetTotalSize sets the TotalSize field's value. 9185func (s *GetTagsOutput) SetTotalSize(v int64) *GetTagsOutput { 9186 s.TotalSize = &v 9187 return s 9188} 9189 9190type GetUsageForecastInput struct { 9191 _ struct{} `type:"structure"` 9192 9193 // The filters that you want to use to filter your forecast. The GetUsageForecast 9194 // API supports filtering by the following dimensions: 9195 // 9196 // * AZ 9197 // 9198 // * INSTANCE_TYPE 9199 // 9200 // * LINKED_ACCOUNT 9201 // 9202 // * LINKED_ACCOUNT_NAME 9203 // 9204 // * OPERATION 9205 // 9206 // * PURCHASE_TYPE 9207 // 9208 // * REGION 9209 // 9210 // * SERVICE 9211 // 9212 // * USAGE_TYPE 9213 // 9214 // * USAGE_TYPE_GROUP 9215 // 9216 // * RECORD_TYPE 9217 // 9218 // * OPERATING_SYSTEM 9219 // 9220 // * TENANCY 9221 // 9222 // * SCOPE 9223 // 9224 // * PLATFORM 9225 // 9226 // * SUBSCRIPTION_ID 9227 // 9228 // * LEGAL_ENTITY_NAME 9229 // 9230 // * DEPLOYMENT_OPTION 9231 // 9232 // * DATABASE_ENGINE 9233 // 9234 // * INSTANCE_TYPE_FAMILY 9235 // 9236 // * BILLING_ENTITY 9237 // 9238 // * RESERVATION_ID 9239 // 9240 // * SAVINGS_PLAN_ARN 9241 Filter *Expression `type:"structure"` 9242 9243 // How granular you want the forecast to be. You can get 3 months of DAILY forecasts 9244 // or 12 months of MONTHLY forecasts. 9245 // 9246 // The GetUsageForecast operation supports only DAILY and MONTHLY granularities. 9247 // 9248 // Granularity is a required field 9249 Granularity *string `type:"string" required:"true" enum:"Granularity"` 9250 9251 // Which metric Cost Explorer uses to create your forecast. 9252 // 9253 // Valid values for a GetUsageForecast call are the following: 9254 // 9255 // * USAGE_QUANTITY 9256 // 9257 // * NORMALIZED_USAGE_AMOUNT 9258 // 9259 // Metric is a required field 9260 Metric *string `type:"string" required:"true" enum:"Metric"` 9261 9262 // Cost Explorer always returns the mean forecast as a single point. You can 9263 // request a prediction interval around the mean by specifying a confidence 9264 // level. The higher the confidence level, the more confident Cost Explorer 9265 // is about the actual value falling in the prediction interval. Higher confidence 9266 // levels result in wider prediction intervals. 9267 PredictionIntervalLevel *int64 `min:"51" type:"integer"` 9268 9269 // The start and end dates of the period that you want to retrieve usage forecast 9270 // for. The start date is inclusive, but the end date is exclusive. For example, 9271 // if start is 2017-01-01 and end is 2017-05-01, then the cost and usage data 9272 // is retrieved from 2017-01-01 up to and including 2017-04-30 but not including 9273 // 2017-05-01. The start date must be equal to or later than the current date 9274 // to avoid a validation error. 9275 // 9276 // TimePeriod is a required field 9277 TimePeriod *DateInterval `type:"structure" required:"true"` 9278} 9279 9280// String returns the string representation 9281func (s GetUsageForecastInput) String() string { 9282 return awsutil.Prettify(s) 9283} 9284 9285// GoString returns the string representation 9286func (s GetUsageForecastInput) GoString() string { 9287 return s.String() 9288} 9289 9290// Validate inspects the fields of the type to determine if they are valid. 9291func (s *GetUsageForecastInput) Validate() error { 9292 invalidParams := request.ErrInvalidParams{Context: "GetUsageForecastInput"} 9293 if s.Granularity == nil { 9294 invalidParams.Add(request.NewErrParamRequired("Granularity")) 9295 } 9296 if s.Metric == nil { 9297 invalidParams.Add(request.NewErrParamRequired("Metric")) 9298 } 9299 if s.PredictionIntervalLevel != nil && *s.PredictionIntervalLevel < 51 { 9300 invalidParams.Add(request.NewErrParamMinValue("PredictionIntervalLevel", 51)) 9301 } 9302 if s.TimePeriod == nil { 9303 invalidParams.Add(request.NewErrParamRequired("TimePeriod")) 9304 } 9305 if s.Filter != nil { 9306 if err := s.Filter.Validate(); err != nil { 9307 invalidParams.AddNested("Filter", err.(request.ErrInvalidParams)) 9308 } 9309 } 9310 if s.TimePeriod != nil { 9311 if err := s.TimePeriod.Validate(); err != nil { 9312 invalidParams.AddNested("TimePeriod", err.(request.ErrInvalidParams)) 9313 } 9314 } 9315 9316 if invalidParams.Len() > 0 { 9317 return invalidParams 9318 } 9319 return nil 9320} 9321 9322// SetFilter sets the Filter field's value. 9323func (s *GetUsageForecastInput) SetFilter(v *Expression) *GetUsageForecastInput { 9324 s.Filter = v 9325 return s 9326} 9327 9328// SetGranularity sets the Granularity field's value. 9329func (s *GetUsageForecastInput) SetGranularity(v string) *GetUsageForecastInput { 9330 s.Granularity = &v 9331 return s 9332} 9333 9334// SetMetric sets the Metric field's value. 9335func (s *GetUsageForecastInput) SetMetric(v string) *GetUsageForecastInput { 9336 s.Metric = &v 9337 return s 9338} 9339 9340// SetPredictionIntervalLevel sets the PredictionIntervalLevel field's value. 9341func (s *GetUsageForecastInput) SetPredictionIntervalLevel(v int64) *GetUsageForecastInput { 9342 s.PredictionIntervalLevel = &v 9343 return s 9344} 9345 9346// SetTimePeriod sets the TimePeriod field's value. 9347func (s *GetUsageForecastInput) SetTimePeriod(v *DateInterval) *GetUsageForecastInput { 9348 s.TimePeriod = v 9349 return s 9350} 9351 9352type GetUsageForecastOutput struct { 9353 _ struct{} `type:"structure"` 9354 9355 // The forecasts for your query, in order. For DAILY forecasts, this is a list 9356 // of days. For MONTHLY forecasts, this is a list of months. 9357 ForecastResultsByTime []*ForecastResult `type:"list"` 9358 9359 // How much you're forecasted to use over the forecast period. 9360 Total *MetricValue `type:"structure"` 9361} 9362 9363// String returns the string representation 9364func (s GetUsageForecastOutput) String() string { 9365 return awsutil.Prettify(s) 9366} 9367 9368// GoString returns the string representation 9369func (s GetUsageForecastOutput) GoString() string { 9370 return s.String() 9371} 9372 9373// SetForecastResultsByTime sets the ForecastResultsByTime field's value. 9374func (s *GetUsageForecastOutput) SetForecastResultsByTime(v []*ForecastResult) *GetUsageForecastOutput { 9375 s.ForecastResultsByTime = v 9376 return s 9377} 9378 9379// SetTotal sets the Total field's value. 9380func (s *GetUsageForecastOutput) SetTotal(v *MetricValue) *GetUsageForecastOutput { 9381 s.Total = v 9382 return s 9383} 9384 9385// One level of grouped data in the results. 9386type Group struct { 9387 _ struct{} `type:"structure"` 9388 9389 // The keys that are included in this group. 9390 Keys []*string `type:"list"` 9391 9392 // The metrics that are included in this group. 9393 Metrics map[string]*MetricValue `type:"map"` 9394} 9395 9396// String returns the string representation 9397func (s Group) String() string { 9398 return awsutil.Prettify(s) 9399} 9400 9401// GoString returns the string representation 9402func (s Group) GoString() string { 9403 return s.String() 9404} 9405 9406// SetKeys sets the Keys field's value. 9407func (s *Group) SetKeys(v []*string) *Group { 9408 s.Keys = v 9409 return s 9410} 9411 9412// SetMetrics sets the Metrics field's value. 9413func (s *Group) SetMetrics(v map[string]*MetricValue) *Group { 9414 s.Metrics = v 9415 return s 9416} 9417 9418// Represents a group when you specify a group by criteria or in the response 9419// to a query with a specific grouping. 9420type GroupDefinition struct { 9421 _ struct{} `type:"structure"` 9422 9423 // The string that represents a key for a specified group. 9424 Key *string `type:"string"` 9425 9426 // The string that represents the type of group. 9427 Type *string `type:"string" enum:"GroupDefinitionType"` 9428} 9429 9430// String returns the string representation 9431func (s GroupDefinition) String() string { 9432 return awsutil.Prettify(s) 9433} 9434 9435// GoString returns the string representation 9436func (s GroupDefinition) GoString() string { 9437 return s.String() 9438} 9439 9440// SetKey sets the Key field's value. 9441func (s *GroupDefinition) SetKey(v string) *GroupDefinition { 9442 s.Key = &v 9443 return s 9444} 9445 9446// SetType sets the Type field's value. 9447func (s *GroupDefinition) SetType(v string) *GroupDefinition { 9448 s.Type = &v 9449 return s 9450} 9451 9452// The dollar value of the anomaly. 9453type Impact struct { 9454 _ struct{} `type:"structure"` 9455 9456 // The maximum dollar value that's observed for an anomaly. 9457 // 9458 // MaxImpact is a required field 9459 MaxImpact *float64 `type:"double" required:"true"` 9460 9461 // The cumulative dollar value that's observed for an anomaly. 9462 TotalImpact *float64 `type:"double"` 9463} 9464 9465// String returns the string representation 9466func (s Impact) String() string { 9467 return awsutil.Prettify(s) 9468} 9469 9470// GoString returns the string representation 9471func (s Impact) GoString() string { 9472 return s.String() 9473} 9474 9475// SetMaxImpact sets the MaxImpact field's value. 9476func (s *Impact) SetMaxImpact(v float64) *Impact { 9477 s.MaxImpact = &v 9478 return s 9479} 9480 9481// SetTotalImpact sets the TotalImpact field's value. 9482func (s *Impact) SetTotalImpact(v float64) *Impact { 9483 s.TotalImpact = &v 9484 return s 9485} 9486 9487// Details about the instances that Amazon Web Services recommends that you 9488// purchase. 9489type InstanceDetails struct { 9490 _ struct{} `type:"structure"` 9491 9492 // The Amazon EC2 instances that Amazon Web Services recommends that you purchase. 9493 EC2InstanceDetails *EC2InstanceDetails `type:"structure"` 9494 9495 // The Amazon ES instances that Amazon Web Services recommends that you purchase. 9496 ESInstanceDetails *ESInstanceDetails `type:"structure"` 9497 9498 // The ElastiCache instances that Amazon Web Services recommends that you purchase. 9499 ElastiCacheInstanceDetails *ElastiCacheInstanceDetails `type:"structure"` 9500 9501 // The Amazon RDS instances that Amazon Web Services recommends that you purchase. 9502 RDSInstanceDetails *RDSInstanceDetails `type:"structure"` 9503 9504 // The Amazon Redshift instances that Amazon Web Services recommends that you 9505 // purchase. 9506 RedshiftInstanceDetails *RedshiftInstanceDetails `type:"structure"` 9507} 9508 9509// String returns the string representation 9510func (s InstanceDetails) String() string { 9511 return awsutil.Prettify(s) 9512} 9513 9514// GoString returns the string representation 9515func (s InstanceDetails) GoString() string { 9516 return s.String() 9517} 9518 9519// SetEC2InstanceDetails sets the EC2InstanceDetails field's value. 9520func (s *InstanceDetails) SetEC2InstanceDetails(v *EC2InstanceDetails) *InstanceDetails { 9521 s.EC2InstanceDetails = v 9522 return s 9523} 9524 9525// SetESInstanceDetails sets the ESInstanceDetails field's value. 9526func (s *InstanceDetails) SetESInstanceDetails(v *ESInstanceDetails) *InstanceDetails { 9527 s.ESInstanceDetails = v 9528 return s 9529} 9530 9531// SetElastiCacheInstanceDetails sets the ElastiCacheInstanceDetails field's value. 9532func (s *InstanceDetails) SetElastiCacheInstanceDetails(v *ElastiCacheInstanceDetails) *InstanceDetails { 9533 s.ElastiCacheInstanceDetails = v 9534 return s 9535} 9536 9537// SetRDSInstanceDetails sets the RDSInstanceDetails field's value. 9538func (s *InstanceDetails) SetRDSInstanceDetails(v *RDSInstanceDetails) *InstanceDetails { 9539 s.RDSInstanceDetails = v 9540 return s 9541} 9542 9543// SetRedshiftInstanceDetails sets the RedshiftInstanceDetails field's value. 9544func (s *InstanceDetails) SetRedshiftInstanceDetails(v *RedshiftInstanceDetails) *InstanceDetails { 9545 s.RedshiftInstanceDetails = v 9546 return s 9547} 9548 9549// The pagination token is invalid. Try again without a pagination token. 9550type InvalidNextTokenException struct { 9551 _ struct{} `type:"structure"` 9552 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 9553 9554 Message_ *string `locationName:"Message" type:"string"` 9555} 9556 9557// String returns the string representation 9558func (s InvalidNextTokenException) String() string { 9559 return awsutil.Prettify(s) 9560} 9561 9562// GoString returns the string representation 9563func (s InvalidNextTokenException) GoString() string { 9564 return s.String() 9565} 9566 9567func newErrorInvalidNextTokenException(v protocol.ResponseMetadata) error { 9568 return &InvalidNextTokenException{ 9569 RespMetadata: v, 9570 } 9571} 9572 9573// Code returns the exception type name. 9574func (s *InvalidNextTokenException) Code() string { 9575 return "InvalidNextTokenException" 9576} 9577 9578// Message returns the exception's message. 9579func (s *InvalidNextTokenException) Message() string { 9580 if s.Message_ != nil { 9581 return *s.Message_ 9582 } 9583 return "" 9584} 9585 9586// OrigErr always returns nil, satisfies awserr.Error interface. 9587func (s *InvalidNextTokenException) OrigErr() error { 9588 return nil 9589} 9590 9591func (s *InvalidNextTokenException) Error() string { 9592 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 9593} 9594 9595// Status code returns the HTTP status code for the request's response error. 9596func (s *InvalidNextTokenException) StatusCode() int { 9597 return s.RespMetadata.StatusCode 9598} 9599 9600// RequestID returns the service's response RequestID for request. 9601func (s *InvalidNextTokenException) RequestID() string { 9602 return s.RespMetadata.RequestID 9603} 9604 9605// You made too many calls in a short period of time. Try again later. 9606type LimitExceededException struct { 9607 _ struct{} `type:"structure"` 9608 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 9609 9610 Message_ *string `locationName:"Message" type:"string"` 9611} 9612 9613// String returns the string representation 9614func (s LimitExceededException) String() string { 9615 return awsutil.Prettify(s) 9616} 9617 9618// GoString returns the string representation 9619func (s LimitExceededException) GoString() string { 9620 return s.String() 9621} 9622 9623func newErrorLimitExceededException(v protocol.ResponseMetadata) error { 9624 return &LimitExceededException{ 9625 RespMetadata: v, 9626 } 9627} 9628 9629// Code returns the exception type name. 9630func (s *LimitExceededException) Code() string { 9631 return "LimitExceededException" 9632} 9633 9634// Message returns the exception's message. 9635func (s *LimitExceededException) Message() string { 9636 if s.Message_ != nil { 9637 return *s.Message_ 9638 } 9639 return "" 9640} 9641 9642// OrigErr always returns nil, satisfies awserr.Error interface. 9643func (s *LimitExceededException) OrigErr() error { 9644 return nil 9645} 9646 9647func (s *LimitExceededException) Error() string { 9648 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 9649} 9650 9651// Status code returns the HTTP status code for the request's response error. 9652func (s *LimitExceededException) StatusCode() int { 9653 return s.RespMetadata.StatusCode 9654} 9655 9656// RequestID returns the service's response RequestID for request. 9657func (s *LimitExceededException) RequestID() string { 9658 return s.RespMetadata.RequestID 9659} 9660 9661type ListCostCategoryDefinitionsInput struct { 9662 _ struct{} `type:"structure"` 9663 9664 // The date when the Cost Category was effective. 9665 EffectiveOn *string `min:"20" type:"string"` 9666 9667 // The number of entries a paginated response contains. 9668 MaxResults *int64 `min:"1" type:"integer"` 9669 9670 // The token to retrieve the next set of results. Amazon Web Services provides 9671 // the token when the response from a previous call has more results than the 9672 // maximum page size. 9673 NextToken *string `type:"string"` 9674} 9675 9676// String returns the string representation 9677func (s ListCostCategoryDefinitionsInput) String() string { 9678 return awsutil.Prettify(s) 9679} 9680 9681// GoString returns the string representation 9682func (s ListCostCategoryDefinitionsInput) GoString() string { 9683 return s.String() 9684} 9685 9686// Validate inspects the fields of the type to determine if they are valid. 9687func (s *ListCostCategoryDefinitionsInput) Validate() error { 9688 invalidParams := request.ErrInvalidParams{Context: "ListCostCategoryDefinitionsInput"} 9689 if s.EffectiveOn != nil && len(*s.EffectiveOn) < 20 { 9690 invalidParams.Add(request.NewErrParamMinLen("EffectiveOn", 20)) 9691 } 9692 if s.MaxResults != nil && *s.MaxResults < 1 { 9693 invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) 9694 } 9695 9696 if invalidParams.Len() > 0 { 9697 return invalidParams 9698 } 9699 return nil 9700} 9701 9702// SetEffectiveOn sets the EffectiveOn field's value. 9703func (s *ListCostCategoryDefinitionsInput) SetEffectiveOn(v string) *ListCostCategoryDefinitionsInput { 9704 s.EffectiveOn = &v 9705 return s 9706} 9707 9708// SetMaxResults sets the MaxResults field's value. 9709func (s *ListCostCategoryDefinitionsInput) SetMaxResults(v int64) *ListCostCategoryDefinitionsInput { 9710 s.MaxResults = &v 9711 return s 9712} 9713 9714// SetNextToken sets the NextToken field's value. 9715func (s *ListCostCategoryDefinitionsInput) SetNextToken(v string) *ListCostCategoryDefinitionsInput { 9716 s.NextToken = &v 9717 return s 9718} 9719 9720type ListCostCategoryDefinitionsOutput struct { 9721 _ struct{} `type:"structure"` 9722 9723 // A reference to a Cost Category containing enough information to identify 9724 // the Cost Category. 9725 CostCategoryReferences []*CostCategoryReference `type:"list"` 9726 9727 // The token to retrieve the next set of results. Amazon Web Services provides 9728 // the token when the response from a previous call has more results than the 9729 // maximum page size. 9730 NextToken *string `type:"string"` 9731} 9732 9733// String returns the string representation 9734func (s ListCostCategoryDefinitionsOutput) String() string { 9735 return awsutil.Prettify(s) 9736} 9737 9738// GoString returns the string representation 9739func (s ListCostCategoryDefinitionsOutput) GoString() string { 9740 return s.String() 9741} 9742 9743// SetCostCategoryReferences sets the CostCategoryReferences field's value. 9744func (s *ListCostCategoryDefinitionsOutput) SetCostCategoryReferences(v []*CostCategoryReference) *ListCostCategoryDefinitionsOutput { 9745 s.CostCategoryReferences = v 9746 return s 9747} 9748 9749// SetNextToken sets the NextToken field's value. 9750func (s *ListCostCategoryDefinitionsOutput) SetNextToken(v string) *ListCostCategoryDefinitionsOutput { 9751 s.NextToken = &v 9752 return s 9753} 9754 9755// The aggregated value for a metric. 9756type MetricValue struct { 9757 _ struct{} `type:"structure"` 9758 9759 // The actual number that represents the metric. 9760 Amount *string `type:"string"` 9761 9762 // The unit that the metric is given in. 9763 Unit *string `type:"string"` 9764} 9765 9766// String returns the string representation 9767func (s MetricValue) String() string { 9768 return awsutil.Prettify(s) 9769} 9770 9771// GoString returns the string representation 9772func (s MetricValue) GoString() string { 9773 return s.String() 9774} 9775 9776// SetAmount sets the Amount field's value. 9777func (s *MetricValue) SetAmount(v string) *MetricValue { 9778 s.Amount = &v 9779 return s 9780} 9781 9782// SetUnit sets the Unit field's value. 9783func (s *MetricValue) SetUnit(v string) *MetricValue { 9784 s.Unit = &v 9785 return s 9786} 9787 9788// Details on the modification recommendation. 9789type ModifyRecommendationDetail struct { 9790 _ struct{} `type:"structure"` 9791 9792 // Determines whether this instance type is the Amazon Web Services default 9793 // recommendation. 9794 TargetInstances []*TargetInstance `type:"list"` 9795} 9796 9797// String returns the string representation 9798func (s ModifyRecommendationDetail) String() string { 9799 return awsutil.Prettify(s) 9800} 9801 9802// GoString returns the string representation 9803func (s ModifyRecommendationDetail) GoString() string { 9804 return s.String() 9805} 9806 9807// SetTargetInstances sets the TargetInstances field's value. 9808func (s *ModifyRecommendationDetail) SetTargetInstances(v []*TargetInstance) *ModifyRecommendationDetail { 9809 s.TargetInstances = v 9810 return s 9811} 9812 9813// The network field that contains a list of network metrics that are associated 9814// with the current instance. 9815type NetworkResourceUtilization struct { 9816 _ struct{} `type:"structure"` 9817 9818 // The network inbound throughput utilization measured in Bytes per second. 9819 NetworkInBytesPerSecond *string `type:"string"` 9820 9821 // The network outbound throughput utilization measured in Bytes per second. 9822 NetworkOutBytesPerSecond *string `type:"string"` 9823 9824 // The network ingress packets that are measured in packets per second. 9825 NetworkPacketsInPerSecond *string `type:"string"` 9826 9827 // The network outgress packets that are measured in packets per second. 9828 NetworkPacketsOutPerSecond *string `type:"string"` 9829} 9830 9831// String returns the string representation 9832func (s NetworkResourceUtilization) String() string { 9833 return awsutil.Prettify(s) 9834} 9835 9836// GoString returns the string representation 9837func (s NetworkResourceUtilization) GoString() string { 9838 return s.String() 9839} 9840 9841// SetNetworkInBytesPerSecond sets the NetworkInBytesPerSecond field's value. 9842func (s *NetworkResourceUtilization) SetNetworkInBytesPerSecond(v string) *NetworkResourceUtilization { 9843 s.NetworkInBytesPerSecond = &v 9844 return s 9845} 9846 9847// SetNetworkOutBytesPerSecond sets the NetworkOutBytesPerSecond field's value. 9848func (s *NetworkResourceUtilization) SetNetworkOutBytesPerSecond(v string) *NetworkResourceUtilization { 9849 s.NetworkOutBytesPerSecond = &v 9850 return s 9851} 9852 9853// SetNetworkPacketsInPerSecond sets the NetworkPacketsInPerSecond field's value. 9854func (s *NetworkResourceUtilization) SetNetworkPacketsInPerSecond(v string) *NetworkResourceUtilization { 9855 s.NetworkPacketsInPerSecond = &v 9856 return s 9857} 9858 9859// SetNetworkPacketsOutPerSecond sets the NetworkPacketsOutPerSecond field's value. 9860func (s *NetworkResourceUtilization) SetNetworkPacketsOutPerSecond(v string) *NetworkResourceUtilization { 9861 s.NetworkPacketsOutPerSecond = &v 9862 return s 9863} 9864 9865type ProvideAnomalyFeedbackInput struct { 9866 _ struct{} `type:"structure"` 9867 9868 // A cost anomaly ID. 9869 // 9870 // AnomalyId is a required field 9871 AnomalyId *string `type:"string" required:"true"` 9872 9873 // Describes whether the cost anomaly was a planned activity or you considered 9874 // it an anomaly. 9875 // 9876 // Feedback is a required field 9877 Feedback *string `type:"string" required:"true" enum:"AnomalyFeedbackType"` 9878} 9879 9880// String returns the string representation 9881func (s ProvideAnomalyFeedbackInput) String() string { 9882 return awsutil.Prettify(s) 9883} 9884 9885// GoString returns the string representation 9886func (s ProvideAnomalyFeedbackInput) GoString() string { 9887 return s.String() 9888} 9889 9890// Validate inspects the fields of the type to determine if they are valid. 9891func (s *ProvideAnomalyFeedbackInput) Validate() error { 9892 invalidParams := request.ErrInvalidParams{Context: "ProvideAnomalyFeedbackInput"} 9893 if s.AnomalyId == nil { 9894 invalidParams.Add(request.NewErrParamRequired("AnomalyId")) 9895 } 9896 if s.Feedback == nil { 9897 invalidParams.Add(request.NewErrParamRequired("Feedback")) 9898 } 9899 9900 if invalidParams.Len() > 0 { 9901 return invalidParams 9902 } 9903 return nil 9904} 9905 9906// SetAnomalyId sets the AnomalyId field's value. 9907func (s *ProvideAnomalyFeedbackInput) SetAnomalyId(v string) *ProvideAnomalyFeedbackInput { 9908 s.AnomalyId = &v 9909 return s 9910} 9911 9912// SetFeedback sets the Feedback field's value. 9913func (s *ProvideAnomalyFeedbackInput) SetFeedback(v string) *ProvideAnomalyFeedbackInput { 9914 s.Feedback = &v 9915 return s 9916} 9917 9918type ProvideAnomalyFeedbackOutput struct { 9919 _ struct{} `type:"structure"` 9920 9921 // The ID of the modified cost anomaly. 9922 // 9923 // AnomalyId is a required field 9924 AnomalyId *string `type:"string" required:"true"` 9925} 9926 9927// String returns the string representation 9928func (s ProvideAnomalyFeedbackOutput) String() string { 9929 return awsutil.Prettify(s) 9930} 9931 9932// GoString returns the string representation 9933func (s ProvideAnomalyFeedbackOutput) GoString() string { 9934 return s.String() 9935} 9936 9937// SetAnomalyId sets the AnomalyId field's value. 9938func (s *ProvideAnomalyFeedbackOutput) SetAnomalyId(v string) *ProvideAnomalyFeedbackOutput { 9939 s.AnomalyId = &v 9940 return s 9941} 9942 9943// Details about the Amazon RDS instances that Amazon Web Services recommends 9944// that you purchase. 9945type RDSInstanceDetails struct { 9946 _ struct{} `type:"structure"` 9947 9948 // Determines whether the recommendation is for a current-generation instance. 9949 CurrentGeneration *bool `type:"boolean"` 9950 9951 // The database edition that the recommended reservation supports. 9952 DatabaseEdition *string `type:"string"` 9953 9954 // The database engine that the recommended reservation supports. 9955 DatabaseEngine *string `type:"string"` 9956 9957 // Determines whether the recommendation is for a reservation in a single Availability 9958 // Zone or a reservation with a backup in a second Availability Zone. 9959 DeploymentOption *string `type:"string"` 9960 9961 // The instance family of the recommended reservation. 9962 Family *string `type:"string"` 9963 9964 // The type of instance that Amazon Web Services recommends. 9965 InstanceType *string `type:"string"` 9966 9967 // The license model that the recommended reservation supports. 9968 LicenseModel *string `type:"string"` 9969 9970 // The Amazon Web Services Region of the recommended reservation. 9971 Region *string `type:"string"` 9972 9973 // Determines whether the recommended reservation is size flexible. 9974 SizeFlexEligible *bool `type:"boolean"` 9975} 9976 9977// String returns the string representation 9978func (s RDSInstanceDetails) String() string { 9979 return awsutil.Prettify(s) 9980} 9981 9982// GoString returns the string representation 9983func (s RDSInstanceDetails) GoString() string { 9984 return s.String() 9985} 9986 9987// SetCurrentGeneration sets the CurrentGeneration field's value. 9988func (s *RDSInstanceDetails) SetCurrentGeneration(v bool) *RDSInstanceDetails { 9989 s.CurrentGeneration = &v 9990 return s 9991} 9992 9993// SetDatabaseEdition sets the DatabaseEdition field's value. 9994func (s *RDSInstanceDetails) SetDatabaseEdition(v string) *RDSInstanceDetails { 9995 s.DatabaseEdition = &v 9996 return s 9997} 9998 9999// SetDatabaseEngine sets the DatabaseEngine field's value. 10000func (s *RDSInstanceDetails) SetDatabaseEngine(v string) *RDSInstanceDetails { 10001 s.DatabaseEngine = &v 10002 return s 10003} 10004 10005// SetDeploymentOption sets the DeploymentOption field's value. 10006func (s *RDSInstanceDetails) SetDeploymentOption(v string) *RDSInstanceDetails { 10007 s.DeploymentOption = &v 10008 return s 10009} 10010 10011// SetFamily sets the Family field's value. 10012func (s *RDSInstanceDetails) SetFamily(v string) *RDSInstanceDetails { 10013 s.Family = &v 10014 return s 10015} 10016 10017// SetInstanceType sets the InstanceType field's value. 10018func (s *RDSInstanceDetails) SetInstanceType(v string) *RDSInstanceDetails { 10019 s.InstanceType = &v 10020 return s 10021} 10022 10023// SetLicenseModel sets the LicenseModel field's value. 10024func (s *RDSInstanceDetails) SetLicenseModel(v string) *RDSInstanceDetails { 10025 s.LicenseModel = &v 10026 return s 10027} 10028 10029// SetRegion sets the Region field's value. 10030func (s *RDSInstanceDetails) SetRegion(v string) *RDSInstanceDetails { 10031 s.Region = &v 10032 return s 10033} 10034 10035// SetSizeFlexEligible sets the SizeFlexEligible field's value. 10036func (s *RDSInstanceDetails) SetSizeFlexEligible(v bool) *RDSInstanceDetails { 10037 s.SizeFlexEligible = &v 10038 return s 10039} 10040 10041// Details about the Amazon Redshift instances that Amazon Web Services recommends 10042// that you purchase. 10043type RedshiftInstanceDetails struct { 10044 _ struct{} `type:"structure"` 10045 10046 // Determines whether the recommendation is for a current-generation instance. 10047 CurrentGeneration *bool `type:"boolean"` 10048 10049 // The instance family of the recommended reservation. 10050 Family *string `type:"string"` 10051 10052 // The type of node that Amazon Web Services recommends. 10053 NodeType *string `type:"string"` 10054 10055 // The Amazon Web Services Region of the recommended reservation. 10056 Region *string `type:"string"` 10057 10058 // Determines whether the recommended reservation is size flexible. 10059 SizeFlexEligible *bool `type:"boolean"` 10060} 10061 10062// String returns the string representation 10063func (s RedshiftInstanceDetails) String() string { 10064 return awsutil.Prettify(s) 10065} 10066 10067// GoString returns the string representation 10068func (s RedshiftInstanceDetails) GoString() string { 10069 return s.String() 10070} 10071 10072// SetCurrentGeneration sets the CurrentGeneration field's value. 10073func (s *RedshiftInstanceDetails) SetCurrentGeneration(v bool) *RedshiftInstanceDetails { 10074 s.CurrentGeneration = &v 10075 return s 10076} 10077 10078// SetFamily sets the Family field's value. 10079func (s *RedshiftInstanceDetails) SetFamily(v string) *RedshiftInstanceDetails { 10080 s.Family = &v 10081 return s 10082} 10083 10084// SetNodeType sets the NodeType field's value. 10085func (s *RedshiftInstanceDetails) SetNodeType(v string) *RedshiftInstanceDetails { 10086 s.NodeType = &v 10087 return s 10088} 10089 10090// SetRegion sets the Region field's value. 10091func (s *RedshiftInstanceDetails) SetRegion(v string) *RedshiftInstanceDetails { 10092 s.Region = &v 10093 return s 10094} 10095 10096// SetSizeFlexEligible sets the SizeFlexEligible field's value. 10097func (s *RedshiftInstanceDetails) SetSizeFlexEligible(v bool) *RedshiftInstanceDetails { 10098 s.SizeFlexEligible = &v 10099 return s 10100} 10101 10102// Your request parameters changed between pages. Try again with the old parameters 10103// or without a pagination token. 10104type RequestChangedException struct { 10105 _ struct{} `type:"structure"` 10106 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 10107 10108 Message_ *string `locationName:"Message" type:"string"` 10109} 10110 10111// String returns the string representation 10112func (s RequestChangedException) String() string { 10113 return awsutil.Prettify(s) 10114} 10115 10116// GoString returns the string representation 10117func (s RequestChangedException) GoString() string { 10118 return s.String() 10119} 10120 10121func newErrorRequestChangedException(v protocol.ResponseMetadata) error { 10122 return &RequestChangedException{ 10123 RespMetadata: v, 10124 } 10125} 10126 10127// Code returns the exception type name. 10128func (s *RequestChangedException) Code() string { 10129 return "RequestChangedException" 10130} 10131 10132// Message returns the exception's message. 10133func (s *RequestChangedException) Message() string { 10134 if s.Message_ != nil { 10135 return *s.Message_ 10136 } 10137 return "" 10138} 10139 10140// OrigErr always returns nil, satisfies awserr.Error interface. 10141func (s *RequestChangedException) OrigErr() error { 10142 return nil 10143} 10144 10145func (s *RequestChangedException) Error() string { 10146 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 10147} 10148 10149// Status code returns the HTTP status code for the request's response error. 10150func (s *RequestChangedException) StatusCode() int { 10151 return s.RespMetadata.StatusCode 10152} 10153 10154// RequestID returns the service's response RequestID for request. 10155func (s *RequestChangedException) RequestID() string { 10156 return s.RespMetadata.RequestID 10157} 10158 10159// The aggregated numbers for your reservation usage. 10160type ReservationAggregates struct { 10161 _ struct{} `type:"structure"` 10162 10163 // The monthly cost of your reservation. It's amortized over the reservation 10164 // period. 10165 AmortizedRecurringFee *string `type:"string"` 10166 10167 // The upfront cost of your reservation. It's amortized over the reservation 10168 // period. 10169 AmortizedUpfrontFee *string `type:"string"` 10170 10171 // How much you saved due to purchasing and utilizing reservation. Amazon Web 10172 // Services calculates this by subtracting TotalAmortizedFee from OnDemandCostOfRIHoursUsed. 10173 NetRISavings *string `type:"string"` 10174 10175 // How much your reservation costs if charged On-Demand rates. 10176 OnDemandCostOfRIHoursUsed *string `type:"string"` 10177 10178 // How many reservation hours that you purchased. 10179 PurchasedHours *string `type:"string"` 10180 10181 // The number of Amazon EC2 reservation hours that you purchased. It's converted 10182 // to normalized units. Normalized units are available only for Amazon EC2 usage 10183 // after November 11, 2017. 10184 PurchasedUnits *string `type:"string"` 10185 10186 // The cost of unused hours for your reservation. 10187 RICostForUnusedHours *string `type:"string"` 10188 10189 // The realized savings because of purchasing and using a reservation. 10190 RealizedSavings *string `type:"string"` 10191 10192 // The total number of reservation hours that you used. 10193 TotalActualHours *string `type:"string"` 10194 10195 // The total number of Amazon EC2 reservation hours that you used. It's converted 10196 // to normalized units. Normalized units are available only for Amazon EC2 usage 10197 // after November 11, 2017. 10198 TotalActualUnits *string `type:"string"` 10199 10200 // The total cost of your reservation. It's amortized over the reservation period. 10201 TotalAmortizedFee *string `type:"string"` 10202 10203 // How much you might save if you use your entire reservation. 10204 TotalPotentialRISavings *string `type:"string"` 10205 10206 // The unrealized savings because of purchasing and using a reservation. 10207 UnrealizedSavings *string `type:"string"` 10208 10209 // The number of reservation hours that you didn't use. 10210 UnusedHours *string `type:"string"` 10211 10212 // The number of Amazon EC2 reservation hours that you didn't use. It's converted 10213 // to normalized units. Normalized units are available only for Amazon EC2 usage 10214 // after November 11, 2017. 10215 UnusedUnits *string `type:"string"` 10216 10217 // The percentage of reservation time that you used. 10218 UtilizationPercentage *string `type:"string"` 10219 10220 // The percentage of Amazon EC2 reservation time that you used. It's converted 10221 // to normalized units. Normalized units are available only for Amazon EC2 usage 10222 // after November 11, 2017. 10223 UtilizationPercentageInUnits *string `type:"string"` 10224} 10225 10226// String returns the string representation 10227func (s ReservationAggregates) String() string { 10228 return awsutil.Prettify(s) 10229} 10230 10231// GoString returns the string representation 10232func (s ReservationAggregates) GoString() string { 10233 return s.String() 10234} 10235 10236// SetAmortizedRecurringFee sets the AmortizedRecurringFee field's value. 10237func (s *ReservationAggregates) SetAmortizedRecurringFee(v string) *ReservationAggregates { 10238 s.AmortizedRecurringFee = &v 10239 return s 10240} 10241 10242// SetAmortizedUpfrontFee sets the AmortizedUpfrontFee field's value. 10243func (s *ReservationAggregates) SetAmortizedUpfrontFee(v string) *ReservationAggregates { 10244 s.AmortizedUpfrontFee = &v 10245 return s 10246} 10247 10248// SetNetRISavings sets the NetRISavings field's value. 10249func (s *ReservationAggregates) SetNetRISavings(v string) *ReservationAggregates { 10250 s.NetRISavings = &v 10251 return s 10252} 10253 10254// SetOnDemandCostOfRIHoursUsed sets the OnDemandCostOfRIHoursUsed field's value. 10255func (s *ReservationAggregates) SetOnDemandCostOfRIHoursUsed(v string) *ReservationAggregates { 10256 s.OnDemandCostOfRIHoursUsed = &v 10257 return s 10258} 10259 10260// SetPurchasedHours sets the PurchasedHours field's value. 10261func (s *ReservationAggregates) SetPurchasedHours(v string) *ReservationAggregates { 10262 s.PurchasedHours = &v 10263 return s 10264} 10265 10266// SetPurchasedUnits sets the PurchasedUnits field's value. 10267func (s *ReservationAggregates) SetPurchasedUnits(v string) *ReservationAggregates { 10268 s.PurchasedUnits = &v 10269 return s 10270} 10271 10272// SetRICostForUnusedHours sets the RICostForUnusedHours field's value. 10273func (s *ReservationAggregates) SetRICostForUnusedHours(v string) *ReservationAggregates { 10274 s.RICostForUnusedHours = &v 10275 return s 10276} 10277 10278// SetRealizedSavings sets the RealizedSavings field's value. 10279func (s *ReservationAggregates) SetRealizedSavings(v string) *ReservationAggregates { 10280 s.RealizedSavings = &v 10281 return s 10282} 10283 10284// SetTotalActualHours sets the TotalActualHours field's value. 10285func (s *ReservationAggregates) SetTotalActualHours(v string) *ReservationAggregates { 10286 s.TotalActualHours = &v 10287 return s 10288} 10289 10290// SetTotalActualUnits sets the TotalActualUnits field's value. 10291func (s *ReservationAggregates) SetTotalActualUnits(v string) *ReservationAggregates { 10292 s.TotalActualUnits = &v 10293 return s 10294} 10295 10296// SetTotalAmortizedFee sets the TotalAmortizedFee field's value. 10297func (s *ReservationAggregates) SetTotalAmortizedFee(v string) *ReservationAggregates { 10298 s.TotalAmortizedFee = &v 10299 return s 10300} 10301 10302// SetTotalPotentialRISavings sets the TotalPotentialRISavings field's value. 10303func (s *ReservationAggregates) SetTotalPotentialRISavings(v string) *ReservationAggregates { 10304 s.TotalPotentialRISavings = &v 10305 return s 10306} 10307 10308// SetUnrealizedSavings sets the UnrealizedSavings field's value. 10309func (s *ReservationAggregates) SetUnrealizedSavings(v string) *ReservationAggregates { 10310 s.UnrealizedSavings = &v 10311 return s 10312} 10313 10314// SetUnusedHours sets the UnusedHours field's value. 10315func (s *ReservationAggregates) SetUnusedHours(v string) *ReservationAggregates { 10316 s.UnusedHours = &v 10317 return s 10318} 10319 10320// SetUnusedUnits sets the UnusedUnits field's value. 10321func (s *ReservationAggregates) SetUnusedUnits(v string) *ReservationAggregates { 10322 s.UnusedUnits = &v 10323 return s 10324} 10325 10326// SetUtilizationPercentage sets the UtilizationPercentage field's value. 10327func (s *ReservationAggregates) SetUtilizationPercentage(v string) *ReservationAggregates { 10328 s.UtilizationPercentage = &v 10329 return s 10330} 10331 10332// SetUtilizationPercentageInUnits sets the UtilizationPercentageInUnits field's value. 10333func (s *ReservationAggregates) SetUtilizationPercentageInUnits(v string) *ReservationAggregates { 10334 s.UtilizationPercentageInUnits = &v 10335 return s 10336} 10337 10338// A group of reservations that share a set of attributes. 10339type ReservationCoverageGroup struct { 10340 _ struct{} `type:"structure"` 10341 10342 // The attributes for this group of reservations. 10343 Attributes map[string]*string `type:"map"` 10344 10345 // How much instance usage this group of reservations covered. 10346 Coverage *Coverage `type:"structure"` 10347} 10348 10349// String returns the string representation 10350func (s ReservationCoverageGroup) String() string { 10351 return awsutil.Prettify(s) 10352} 10353 10354// GoString returns the string representation 10355func (s ReservationCoverageGroup) GoString() string { 10356 return s.String() 10357} 10358 10359// SetAttributes sets the Attributes field's value. 10360func (s *ReservationCoverageGroup) SetAttributes(v map[string]*string) *ReservationCoverageGroup { 10361 s.Attributes = v 10362 return s 10363} 10364 10365// SetCoverage sets the Coverage field's value. 10366func (s *ReservationCoverageGroup) SetCoverage(v *Coverage) *ReservationCoverageGroup { 10367 s.Coverage = v 10368 return s 10369} 10370 10371// A specific reservation that Amazon Web Services recommends for purchase. 10372type ReservationPurchaseRecommendation struct { 10373 _ struct{} `type:"structure"` 10374 10375 // The account scope that Amazon Web Services recommends that you purchase this 10376 // instance for. For example, you can purchase this reservation for an entire 10377 // organization in Amazon Web Services Organizations. 10378 AccountScope *string `type:"string" enum:"AccountScope"` 10379 10380 // How many days of previous usage that Amazon Web Services considers when making 10381 // this recommendation. 10382 LookbackPeriodInDays *string `type:"string" enum:"LookbackPeriodInDays"` 10383 10384 // The payment option for the reservation (for example, AllUpfront or NoUpfront). 10385 PaymentOption *string `type:"string" enum:"PaymentOption"` 10386 10387 // Details about the recommended purchases. 10388 RecommendationDetails []*ReservationPurchaseRecommendationDetail `type:"list"` 10389 10390 // A summary about the recommended purchase. 10391 RecommendationSummary *ReservationPurchaseRecommendationSummary `type:"structure"` 10392 10393 // Hardware specifications for the service that you want recommendations for. 10394 ServiceSpecification *ServiceSpecification `type:"structure"` 10395 10396 // The term of the reservation that you want recommendations for, in years. 10397 TermInYears *string `type:"string" enum:"TermInYears"` 10398} 10399 10400// String returns the string representation 10401func (s ReservationPurchaseRecommendation) String() string { 10402 return awsutil.Prettify(s) 10403} 10404 10405// GoString returns the string representation 10406func (s ReservationPurchaseRecommendation) GoString() string { 10407 return s.String() 10408} 10409 10410// SetAccountScope sets the AccountScope field's value. 10411func (s *ReservationPurchaseRecommendation) SetAccountScope(v string) *ReservationPurchaseRecommendation { 10412 s.AccountScope = &v 10413 return s 10414} 10415 10416// SetLookbackPeriodInDays sets the LookbackPeriodInDays field's value. 10417func (s *ReservationPurchaseRecommendation) SetLookbackPeriodInDays(v string) *ReservationPurchaseRecommendation { 10418 s.LookbackPeriodInDays = &v 10419 return s 10420} 10421 10422// SetPaymentOption sets the PaymentOption field's value. 10423func (s *ReservationPurchaseRecommendation) SetPaymentOption(v string) *ReservationPurchaseRecommendation { 10424 s.PaymentOption = &v 10425 return s 10426} 10427 10428// SetRecommendationDetails sets the RecommendationDetails field's value. 10429func (s *ReservationPurchaseRecommendation) SetRecommendationDetails(v []*ReservationPurchaseRecommendationDetail) *ReservationPurchaseRecommendation { 10430 s.RecommendationDetails = v 10431 return s 10432} 10433 10434// SetRecommendationSummary sets the RecommendationSummary field's value. 10435func (s *ReservationPurchaseRecommendation) SetRecommendationSummary(v *ReservationPurchaseRecommendationSummary) *ReservationPurchaseRecommendation { 10436 s.RecommendationSummary = v 10437 return s 10438} 10439 10440// SetServiceSpecification sets the ServiceSpecification field's value. 10441func (s *ReservationPurchaseRecommendation) SetServiceSpecification(v *ServiceSpecification) *ReservationPurchaseRecommendation { 10442 s.ServiceSpecification = v 10443 return s 10444} 10445 10446// SetTermInYears sets the TermInYears field's value. 10447func (s *ReservationPurchaseRecommendation) SetTermInYears(v string) *ReservationPurchaseRecommendation { 10448 s.TermInYears = &v 10449 return s 10450} 10451 10452// Details about your recommended reservation purchase. 10453type ReservationPurchaseRecommendationDetail struct { 10454 _ struct{} `type:"structure"` 10455 10456 // The account that this RI recommendation is for. 10457 AccountId *string `type:"string"` 10458 10459 // The average number of normalized units that you used in an hour during the 10460 // historical period. Amazon Web Services uses this to calculate your recommended 10461 // reservation purchases. 10462 AverageNormalizedUnitsUsedPerHour *string `type:"string"` 10463 10464 // The average number of instances that you used in an hour during the historical 10465 // period. Amazon Web Services uses this to calculate your recommended reservation 10466 // purchases. 10467 AverageNumberOfInstancesUsedPerHour *string `type:"string"` 10468 10469 // The average utilization of your instances. Amazon Web Services uses this 10470 // to calculate your recommended reservation purchases. 10471 AverageUtilization *string `type:"string"` 10472 10473 // The currency code that Amazon Web Services used to calculate the costs for 10474 // this instance. 10475 CurrencyCode *string `type:"string"` 10476 10477 // How long Amazon Web Services estimates that it takes for this instance to 10478 // start saving you money, in months. 10479 EstimatedBreakEvenInMonths *string `type:"string"` 10480 10481 // How much Amazon Web Services estimates that you spend on On-Demand Instances 10482 // in a month. 10483 EstimatedMonthlyOnDemandCost *string `type:"string"` 10484 10485 // How much Amazon Web Services estimates that this specific recommendation 10486 // could save you in a month. 10487 EstimatedMonthlySavingsAmount *string `type:"string"` 10488 10489 // How much Amazon Web Services estimates that this specific recommendation 10490 // could save you in a month, as a percentage of your overall costs. 10491 EstimatedMonthlySavingsPercentage *string `type:"string"` 10492 10493 // How much Amazon Web Services estimates that you would have spent for all 10494 // usage during the specified historical period if you had a reservation. 10495 EstimatedReservationCostForLookbackPeriod *string `type:"string"` 10496 10497 // Details about the instances that Amazon Web Services recommends that you 10498 // purchase. 10499 InstanceDetails *InstanceDetails `type:"structure"` 10500 10501 // The maximum number of normalized units that you used in an hour during the 10502 // historical period. Amazon Web Services uses this to calculate your recommended 10503 // reservation purchases. 10504 MaximumNormalizedUnitsUsedPerHour *string `type:"string"` 10505 10506 // The maximum number of instances that you used in an hour during the historical 10507 // period. Amazon Web Services uses this to calculate your recommended reservation 10508 // purchases. 10509 MaximumNumberOfInstancesUsedPerHour *string `type:"string"` 10510 10511 // The minimum number of normalized units that you used in an hour during the 10512 // historical period. Amazon Web Services uses this to calculate your recommended 10513 // reservation purchases. 10514 MinimumNormalizedUnitsUsedPerHour *string `type:"string"` 10515 10516 // The minimum number of instances that you used in an hour during the historical 10517 // period. Amazon Web Services uses this to calculate your recommended reservation 10518 // purchases. 10519 MinimumNumberOfInstancesUsedPerHour *string `type:"string"` 10520 10521 // The number of normalized units that Amazon Web Services recommends that you 10522 // purchase. 10523 RecommendedNormalizedUnitsToPurchase *string `type:"string"` 10524 10525 // The number of instances that Amazon Web Services recommends that you purchase. 10526 RecommendedNumberOfInstancesToPurchase *string `type:"string"` 10527 10528 // How much purchasing this instance costs you on a monthly basis. 10529 RecurringStandardMonthlyCost *string `type:"string"` 10530 10531 // How much purchasing this instance costs you upfront. 10532 UpfrontCost *string `type:"string"` 10533} 10534 10535// String returns the string representation 10536func (s ReservationPurchaseRecommendationDetail) String() string { 10537 return awsutil.Prettify(s) 10538} 10539 10540// GoString returns the string representation 10541func (s ReservationPurchaseRecommendationDetail) GoString() string { 10542 return s.String() 10543} 10544 10545// SetAccountId sets the AccountId field's value. 10546func (s *ReservationPurchaseRecommendationDetail) SetAccountId(v string) *ReservationPurchaseRecommendationDetail { 10547 s.AccountId = &v 10548 return s 10549} 10550 10551// SetAverageNormalizedUnitsUsedPerHour sets the AverageNormalizedUnitsUsedPerHour field's value. 10552func (s *ReservationPurchaseRecommendationDetail) SetAverageNormalizedUnitsUsedPerHour(v string) *ReservationPurchaseRecommendationDetail { 10553 s.AverageNormalizedUnitsUsedPerHour = &v 10554 return s 10555} 10556 10557// SetAverageNumberOfInstancesUsedPerHour sets the AverageNumberOfInstancesUsedPerHour field's value. 10558func (s *ReservationPurchaseRecommendationDetail) SetAverageNumberOfInstancesUsedPerHour(v string) *ReservationPurchaseRecommendationDetail { 10559 s.AverageNumberOfInstancesUsedPerHour = &v 10560 return s 10561} 10562 10563// SetAverageUtilization sets the AverageUtilization field's value. 10564func (s *ReservationPurchaseRecommendationDetail) SetAverageUtilization(v string) *ReservationPurchaseRecommendationDetail { 10565 s.AverageUtilization = &v 10566 return s 10567} 10568 10569// SetCurrencyCode sets the CurrencyCode field's value. 10570func (s *ReservationPurchaseRecommendationDetail) SetCurrencyCode(v string) *ReservationPurchaseRecommendationDetail { 10571 s.CurrencyCode = &v 10572 return s 10573} 10574 10575// SetEstimatedBreakEvenInMonths sets the EstimatedBreakEvenInMonths field's value. 10576func (s *ReservationPurchaseRecommendationDetail) SetEstimatedBreakEvenInMonths(v string) *ReservationPurchaseRecommendationDetail { 10577 s.EstimatedBreakEvenInMonths = &v 10578 return s 10579} 10580 10581// SetEstimatedMonthlyOnDemandCost sets the EstimatedMonthlyOnDemandCost field's value. 10582func (s *ReservationPurchaseRecommendationDetail) SetEstimatedMonthlyOnDemandCost(v string) *ReservationPurchaseRecommendationDetail { 10583 s.EstimatedMonthlyOnDemandCost = &v 10584 return s 10585} 10586 10587// SetEstimatedMonthlySavingsAmount sets the EstimatedMonthlySavingsAmount field's value. 10588func (s *ReservationPurchaseRecommendationDetail) SetEstimatedMonthlySavingsAmount(v string) *ReservationPurchaseRecommendationDetail { 10589 s.EstimatedMonthlySavingsAmount = &v 10590 return s 10591} 10592 10593// SetEstimatedMonthlySavingsPercentage sets the EstimatedMonthlySavingsPercentage field's value. 10594func (s *ReservationPurchaseRecommendationDetail) SetEstimatedMonthlySavingsPercentage(v string) *ReservationPurchaseRecommendationDetail { 10595 s.EstimatedMonthlySavingsPercentage = &v 10596 return s 10597} 10598 10599// SetEstimatedReservationCostForLookbackPeriod sets the EstimatedReservationCostForLookbackPeriod field's value. 10600func (s *ReservationPurchaseRecommendationDetail) SetEstimatedReservationCostForLookbackPeriod(v string) *ReservationPurchaseRecommendationDetail { 10601 s.EstimatedReservationCostForLookbackPeriod = &v 10602 return s 10603} 10604 10605// SetInstanceDetails sets the InstanceDetails field's value. 10606func (s *ReservationPurchaseRecommendationDetail) SetInstanceDetails(v *InstanceDetails) *ReservationPurchaseRecommendationDetail { 10607 s.InstanceDetails = v 10608 return s 10609} 10610 10611// SetMaximumNormalizedUnitsUsedPerHour sets the MaximumNormalizedUnitsUsedPerHour field's value. 10612func (s *ReservationPurchaseRecommendationDetail) SetMaximumNormalizedUnitsUsedPerHour(v string) *ReservationPurchaseRecommendationDetail { 10613 s.MaximumNormalizedUnitsUsedPerHour = &v 10614 return s 10615} 10616 10617// SetMaximumNumberOfInstancesUsedPerHour sets the MaximumNumberOfInstancesUsedPerHour field's value. 10618func (s *ReservationPurchaseRecommendationDetail) SetMaximumNumberOfInstancesUsedPerHour(v string) *ReservationPurchaseRecommendationDetail { 10619 s.MaximumNumberOfInstancesUsedPerHour = &v 10620 return s 10621} 10622 10623// SetMinimumNormalizedUnitsUsedPerHour sets the MinimumNormalizedUnitsUsedPerHour field's value. 10624func (s *ReservationPurchaseRecommendationDetail) SetMinimumNormalizedUnitsUsedPerHour(v string) *ReservationPurchaseRecommendationDetail { 10625 s.MinimumNormalizedUnitsUsedPerHour = &v 10626 return s 10627} 10628 10629// SetMinimumNumberOfInstancesUsedPerHour sets the MinimumNumberOfInstancesUsedPerHour field's value. 10630func (s *ReservationPurchaseRecommendationDetail) SetMinimumNumberOfInstancesUsedPerHour(v string) *ReservationPurchaseRecommendationDetail { 10631 s.MinimumNumberOfInstancesUsedPerHour = &v 10632 return s 10633} 10634 10635// SetRecommendedNormalizedUnitsToPurchase sets the RecommendedNormalizedUnitsToPurchase field's value. 10636func (s *ReservationPurchaseRecommendationDetail) SetRecommendedNormalizedUnitsToPurchase(v string) *ReservationPurchaseRecommendationDetail { 10637 s.RecommendedNormalizedUnitsToPurchase = &v 10638 return s 10639} 10640 10641// SetRecommendedNumberOfInstancesToPurchase sets the RecommendedNumberOfInstancesToPurchase field's value. 10642func (s *ReservationPurchaseRecommendationDetail) SetRecommendedNumberOfInstancesToPurchase(v string) *ReservationPurchaseRecommendationDetail { 10643 s.RecommendedNumberOfInstancesToPurchase = &v 10644 return s 10645} 10646 10647// SetRecurringStandardMonthlyCost sets the RecurringStandardMonthlyCost field's value. 10648func (s *ReservationPurchaseRecommendationDetail) SetRecurringStandardMonthlyCost(v string) *ReservationPurchaseRecommendationDetail { 10649 s.RecurringStandardMonthlyCost = &v 10650 return s 10651} 10652 10653// SetUpfrontCost sets the UpfrontCost field's value. 10654func (s *ReservationPurchaseRecommendationDetail) SetUpfrontCost(v string) *ReservationPurchaseRecommendationDetail { 10655 s.UpfrontCost = &v 10656 return s 10657} 10658 10659// Information about this specific recommendation, such as the timestamp for 10660// when Amazon Web Services made a specific recommendation. 10661type ReservationPurchaseRecommendationMetadata struct { 10662 _ struct{} `type:"structure"` 10663 10664 // The timestamp for when Amazon Web Services made this recommendation. 10665 GenerationTimestamp *string `type:"string"` 10666 10667 // The ID for this specific recommendation. 10668 RecommendationId *string `type:"string"` 10669} 10670 10671// String returns the string representation 10672func (s ReservationPurchaseRecommendationMetadata) String() string { 10673 return awsutil.Prettify(s) 10674} 10675 10676// GoString returns the string representation 10677func (s ReservationPurchaseRecommendationMetadata) GoString() string { 10678 return s.String() 10679} 10680 10681// SetGenerationTimestamp sets the GenerationTimestamp field's value. 10682func (s *ReservationPurchaseRecommendationMetadata) SetGenerationTimestamp(v string) *ReservationPurchaseRecommendationMetadata { 10683 s.GenerationTimestamp = &v 10684 return s 10685} 10686 10687// SetRecommendationId sets the RecommendationId field's value. 10688func (s *ReservationPurchaseRecommendationMetadata) SetRecommendationId(v string) *ReservationPurchaseRecommendationMetadata { 10689 s.RecommendationId = &v 10690 return s 10691} 10692 10693// A summary about this recommendation, such as the currency code, the amount 10694// that Amazon Web Services estimates that you could save, and the total amount 10695// of reservation to purchase. 10696type ReservationPurchaseRecommendationSummary struct { 10697 _ struct{} `type:"structure"` 10698 10699 // The currency code used for this recommendation. 10700 CurrencyCode *string `type:"string"` 10701 10702 // The total amount that Amazon Web Services estimates that this recommendation 10703 // could save you in a month. 10704 TotalEstimatedMonthlySavingsAmount *string `type:"string"` 10705 10706 // The total amount that Amazon Web Services estimates that this recommendation 10707 // could save you in a month, as a percentage of your costs. 10708 TotalEstimatedMonthlySavingsPercentage *string `type:"string"` 10709} 10710 10711// String returns the string representation 10712func (s ReservationPurchaseRecommendationSummary) String() string { 10713 return awsutil.Prettify(s) 10714} 10715 10716// GoString returns the string representation 10717func (s ReservationPurchaseRecommendationSummary) GoString() string { 10718 return s.String() 10719} 10720 10721// SetCurrencyCode sets the CurrencyCode field's value. 10722func (s *ReservationPurchaseRecommendationSummary) SetCurrencyCode(v string) *ReservationPurchaseRecommendationSummary { 10723 s.CurrencyCode = &v 10724 return s 10725} 10726 10727// SetTotalEstimatedMonthlySavingsAmount sets the TotalEstimatedMonthlySavingsAmount field's value. 10728func (s *ReservationPurchaseRecommendationSummary) SetTotalEstimatedMonthlySavingsAmount(v string) *ReservationPurchaseRecommendationSummary { 10729 s.TotalEstimatedMonthlySavingsAmount = &v 10730 return s 10731} 10732 10733// SetTotalEstimatedMonthlySavingsPercentage sets the TotalEstimatedMonthlySavingsPercentage field's value. 10734func (s *ReservationPurchaseRecommendationSummary) SetTotalEstimatedMonthlySavingsPercentage(v string) *ReservationPurchaseRecommendationSummary { 10735 s.TotalEstimatedMonthlySavingsPercentage = &v 10736 return s 10737} 10738 10739// A group of reservations that share a set of attributes. 10740type ReservationUtilizationGroup struct { 10741 _ struct{} `type:"structure"` 10742 10743 // The attributes for this group of reservations. 10744 Attributes map[string]*string `type:"map"` 10745 10746 // The key for a specific reservation attribute. 10747 Key *string `type:"string"` 10748 10749 // How much you used this group of reservations. 10750 Utilization *ReservationAggregates `type:"structure"` 10751 10752 // The value of a specific reservation attribute. 10753 Value *string `type:"string"` 10754} 10755 10756// String returns the string representation 10757func (s ReservationUtilizationGroup) String() string { 10758 return awsutil.Prettify(s) 10759} 10760 10761// GoString returns the string representation 10762func (s ReservationUtilizationGroup) GoString() string { 10763 return s.String() 10764} 10765 10766// SetAttributes sets the Attributes field's value. 10767func (s *ReservationUtilizationGroup) SetAttributes(v map[string]*string) *ReservationUtilizationGroup { 10768 s.Attributes = v 10769 return s 10770} 10771 10772// SetKey sets the Key field's value. 10773func (s *ReservationUtilizationGroup) SetKey(v string) *ReservationUtilizationGroup { 10774 s.Key = &v 10775 return s 10776} 10777 10778// SetUtilization sets the Utilization field's value. 10779func (s *ReservationUtilizationGroup) SetUtilization(v *ReservationAggregates) *ReservationUtilizationGroup { 10780 s.Utilization = v 10781 return s 10782} 10783 10784// SetValue sets the Value field's value. 10785func (s *ReservationUtilizationGroup) SetValue(v string) *ReservationUtilizationGroup { 10786 s.Value = &v 10787 return s 10788} 10789 10790// Details on the resource. 10791type ResourceDetails struct { 10792 _ struct{} `type:"structure"` 10793 10794 // Details on the Amazon EC2 resource. 10795 EC2ResourceDetails *EC2ResourceDetails `type:"structure"` 10796} 10797 10798// String returns the string representation 10799func (s ResourceDetails) String() string { 10800 return awsutil.Prettify(s) 10801} 10802 10803// GoString returns the string representation 10804func (s ResourceDetails) GoString() string { 10805 return s.String() 10806} 10807 10808// SetEC2ResourceDetails sets the EC2ResourceDetails field's value. 10809func (s *ResourceDetails) SetEC2ResourceDetails(v *EC2ResourceDetails) *ResourceDetails { 10810 s.EC2ResourceDetails = v 10811 return s 10812} 10813 10814// The specified ARN in the request doesn't exist. 10815type ResourceNotFoundException struct { 10816 _ struct{} `type:"structure"` 10817 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 10818 10819 Message_ *string `locationName:"Message" type:"string"` 10820} 10821 10822// String returns the string representation 10823func (s ResourceNotFoundException) String() string { 10824 return awsutil.Prettify(s) 10825} 10826 10827// GoString returns the string representation 10828func (s ResourceNotFoundException) GoString() string { 10829 return s.String() 10830} 10831 10832func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error { 10833 return &ResourceNotFoundException{ 10834 RespMetadata: v, 10835 } 10836} 10837 10838// Code returns the exception type name. 10839func (s *ResourceNotFoundException) Code() string { 10840 return "ResourceNotFoundException" 10841} 10842 10843// Message returns the exception's message. 10844func (s *ResourceNotFoundException) Message() string { 10845 if s.Message_ != nil { 10846 return *s.Message_ 10847 } 10848 return "" 10849} 10850 10851// OrigErr always returns nil, satisfies awserr.Error interface. 10852func (s *ResourceNotFoundException) OrigErr() error { 10853 return nil 10854} 10855 10856func (s *ResourceNotFoundException) Error() string { 10857 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 10858} 10859 10860// Status code returns the HTTP status code for the request's response error. 10861func (s *ResourceNotFoundException) StatusCode() int { 10862 return s.RespMetadata.StatusCode 10863} 10864 10865// RequestID returns the service's response RequestID for request. 10866func (s *ResourceNotFoundException) RequestID() string { 10867 return s.RespMetadata.RequestID 10868} 10869 10870// Resource utilization of current resource. 10871type ResourceUtilization struct { 10872 _ struct{} `type:"structure"` 10873 10874 // The utilization of current Amazon EC2 instance. 10875 EC2ResourceUtilization *EC2ResourceUtilization `type:"structure"` 10876} 10877 10878// String returns the string representation 10879func (s ResourceUtilization) String() string { 10880 return awsutil.Prettify(s) 10881} 10882 10883// GoString returns the string representation 10884func (s ResourceUtilization) GoString() string { 10885 return s.String() 10886} 10887 10888// SetEC2ResourceUtilization sets the EC2ResourceUtilization field's value. 10889func (s *ResourceUtilization) SetEC2ResourceUtilization(v *EC2ResourceUtilization) *ResourceUtilization { 10890 s.EC2ResourceUtilization = v 10891 return s 10892} 10893 10894// The result that's associated with a time period. 10895type ResultByTime struct { 10896 _ struct{} `type:"structure"` 10897 10898 // Determines whether the result is estimated. 10899 Estimated *bool `type:"boolean"` 10900 10901 // The groups that this time period includes. 10902 Groups []*Group `type:"list"` 10903 10904 // The time period that the result covers. 10905 TimePeriod *DateInterval `type:"structure"` 10906 10907 // The total amount of cost or usage accrued during the time period. 10908 Total map[string]*MetricValue `type:"map"` 10909} 10910 10911// String returns the string representation 10912func (s ResultByTime) String() string { 10913 return awsutil.Prettify(s) 10914} 10915 10916// GoString returns the string representation 10917func (s ResultByTime) GoString() string { 10918 return s.String() 10919} 10920 10921// SetEstimated sets the Estimated field's value. 10922func (s *ResultByTime) SetEstimated(v bool) *ResultByTime { 10923 s.Estimated = &v 10924 return s 10925} 10926 10927// SetGroups sets the Groups field's value. 10928func (s *ResultByTime) SetGroups(v []*Group) *ResultByTime { 10929 s.Groups = v 10930 return s 10931} 10932 10933// SetTimePeriod sets the TimePeriod field's value. 10934func (s *ResultByTime) SetTimePeriod(v *DateInterval) *ResultByTime { 10935 s.TimePeriod = v 10936 return s 10937} 10938 10939// SetTotal sets the Total field's value. 10940func (s *ResultByTime) SetTotal(v map[string]*MetricValue) *ResultByTime { 10941 s.Total = v 10942 return s 10943} 10944 10945// Recommendations to rightsize resources. 10946type RightsizingRecommendation struct { 10947 _ struct{} `type:"structure"` 10948 10949 // The account that this recommendation is for. 10950 AccountId *string `type:"string"` 10951 10952 // Context regarding the current instance. 10953 CurrentInstance *CurrentInstance `type:"structure"` 10954 10955 // The list of possible reasons why the recommendation is generated such as 10956 // under or over utilization of specific metrics (for example, CPU, Memory, 10957 // Network). 10958 FindingReasonCodes []*string `type:"list"` 10959 10960 // The details for the modification recommendations. 10961 ModifyRecommendationDetail *ModifyRecommendationDetail `type:"structure"` 10962 10963 // A recommendation to either terminate or modify the resource. 10964 RightsizingType *string `type:"string" enum:"RightsizingType"` 10965 10966 // The details for termination recommendations. 10967 TerminateRecommendationDetail *TerminateRecommendationDetail `type:"structure"` 10968} 10969 10970// String returns the string representation 10971func (s RightsizingRecommendation) String() string { 10972 return awsutil.Prettify(s) 10973} 10974 10975// GoString returns the string representation 10976func (s RightsizingRecommendation) GoString() string { 10977 return s.String() 10978} 10979 10980// SetAccountId sets the AccountId field's value. 10981func (s *RightsizingRecommendation) SetAccountId(v string) *RightsizingRecommendation { 10982 s.AccountId = &v 10983 return s 10984} 10985 10986// SetCurrentInstance sets the CurrentInstance field's value. 10987func (s *RightsizingRecommendation) SetCurrentInstance(v *CurrentInstance) *RightsizingRecommendation { 10988 s.CurrentInstance = v 10989 return s 10990} 10991 10992// SetFindingReasonCodes sets the FindingReasonCodes field's value. 10993func (s *RightsizingRecommendation) SetFindingReasonCodes(v []*string) *RightsizingRecommendation { 10994 s.FindingReasonCodes = v 10995 return s 10996} 10997 10998// SetModifyRecommendationDetail sets the ModifyRecommendationDetail field's value. 10999func (s *RightsizingRecommendation) SetModifyRecommendationDetail(v *ModifyRecommendationDetail) *RightsizingRecommendation { 11000 s.ModifyRecommendationDetail = v 11001 return s 11002} 11003 11004// SetRightsizingType sets the RightsizingType field's value. 11005func (s *RightsizingRecommendation) SetRightsizingType(v string) *RightsizingRecommendation { 11006 s.RightsizingType = &v 11007 return s 11008} 11009 11010// SetTerminateRecommendationDetail sets the TerminateRecommendationDetail field's value. 11011func (s *RightsizingRecommendation) SetTerminateRecommendationDetail(v *TerminateRecommendationDetail) *RightsizingRecommendation { 11012 s.TerminateRecommendationDetail = v 11013 return s 11014} 11015 11016// You can use RightsizingRecommendationConfiguration to customize recommendations 11017// across two attributes. You can choose to view recommendations for instances 11018// within the same instance families or across different instance families. 11019// You can also choose to view your estimated savings that are associated with 11020// recommendations with consideration of existing Savings Plans or RI benefits, 11021// or neither. 11022type RightsizingRecommendationConfiguration struct { 11023 _ struct{} `type:"structure"` 11024 11025 // The option to consider RI or Savings Plans discount benefits in your savings 11026 // calculation. The default value is TRUE. 11027 // 11028 // BenefitsConsidered is a required field 11029 BenefitsConsidered *bool `type:"boolean" required:"true"` 11030 11031 // The option to see recommendations within the same instance family or recommendations 11032 // for instances across other families. The default value is SAME_INSTANCE_FAMILY. 11033 // 11034 // RecommendationTarget is a required field 11035 RecommendationTarget *string `type:"string" required:"true" enum:"RecommendationTarget"` 11036} 11037 11038// String returns the string representation 11039func (s RightsizingRecommendationConfiguration) String() string { 11040 return awsutil.Prettify(s) 11041} 11042 11043// GoString returns the string representation 11044func (s RightsizingRecommendationConfiguration) GoString() string { 11045 return s.String() 11046} 11047 11048// Validate inspects the fields of the type to determine if they are valid. 11049func (s *RightsizingRecommendationConfiguration) Validate() error { 11050 invalidParams := request.ErrInvalidParams{Context: "RightsizingRecommendationConfiguration"} 11051 if s.BenefitsConsidered == nil { 11052 invalidParams.Add(request.NewErrParamRequired("BenefitsConsidered")) 11053 } 11054 if s.RecommendationTarget == nil { 11055 invalidParams.Add(request.NewErrParamRequired("RecommendationTarget")) 11056 } 11057 11058 if invalidParams.Len() > 0 { 11059 return invalidParams 11060 } 11061 return nil 11062} 11063 11064// SetBenefitsConsidered sets the BenefitsConsidered field's value. 11065func (s *RightsizingRecommendationConfiguration) SetBenefitsConsidered(v bool) *RightsizingRecommendationConfiguration { 11066 s.BenefitsConsidered = &v 11067 return s 11068} 11069 11070// SetRecommendationTarget sets the RecommendationTarget field's value. 11071func (s *RightsizingRecommendationConfiguration) SetRecommendationTarget(v string) *RightsizingRecommendationConfiguration { 11072 s.RecommendationTarget = &v 11073 return s 11074} 11075 11076// Metadata for this recommendation set. 11077type RightsizingRecommendationMetadata struct { 11078 _ struct{} `type:"structure"` 11079 11080 // Additional metadata that might be applicable to the recommendation. 11081 AdditionalMetadata *string `type:"string"` 11082 11083 // The timestamp for when Amazon Web Services made this recommendation. 11084 GenerationTimestamp *string `type:"string"` 11085 11086 // The number of days of previous usage that Amazon Web Services considers when 11087 // making this recommendation. 11088 LookbackPeriodInDays *string `type:"string" enum:"LookbackPeriodInDays"` 11089 11090 // The ID for this specific recommendation. 11091 RecommendationId *string `type:"string"` 11092} 11093 11094// String returns the string representation 11095func (s RightsizingRecommendationMetadata) String() string { 11096 return awsutil.Prettify(s) 11097} 11098 11099// GoString returns the string representation 11100func (s RightsizingRecommendationMetadata) GoString() string { 11101 return s.String() 11102} 11103 11104// SetAdditionalMetadata sets the AdditionalMetadata field's value. 11105func (s *RightsizingRecommendationMetadata) SetAdditionalMetadata(v string) *RightsizingRecommendationMetadata { 11106 s.AdditionalMetadata = &v 11107 return s 11108} 11109 11110// SetGenerationTimestamp sets the GenerationTimestamp field's value. 11111func (s *RightsizingRecommendationMetadata) SetGenerationTimestamp(v string) *RightsizingRecommendationMetadata { 11112 s.GenerationTimestamp = &v 11113 return s 11114} 11115 11116// SetLookbackPeriodInDays sets the LookbackPeriodInDays field's value. 11117func (s *RightsizingRecommendationMetadata) SetLookbackPeriodInDays(v string) *RightsizingRecommendationMetadata { 11118 s.LookbackPeriodInDays = &v 11119 return s 11120} 11121 11122// SetRecommendationId sets the RecommendationId field's value. 11123func (s *RightsizingRecommendationMetadata) SetRecommendationId(v string) *RightsizingRecommendationMetadata { 11124 s.RecommendationId = &v 11125 return s 11126} 11127 11128// The summary of rightsizing recommendations 11129type RightsizingRecommendationSummary struct { 11130 _ struct{} `type:"structure"` 11131 11132 // The estimated total savings resulting from modifications, on a monthly basis. 11133 EstimatedTotalMonthlySavingsAmount *string `type:"string"` 11134 11135 // The currency code that Amazon Web Services used to calculate the savings. 11136 SavingsCurrencyCode *string `type:"string"` 11137 11138 // The savings percentage based on the recommended modifications. It's relative 11139 // to the total On-Demand costs that are associated with these instances. 11140 SavingsPercentage *string `type:"string"` 11141 11142 // The total number of instance recommendations. 11143 TotalRecommendationCount *string `type:"string"` 11144} 11145 11146// String returns the string representation 11147func (s RightsizingRecommendationSummary) String() string { 11148 return awsutil.Prettify(s) 11149} 11150 11151// GoString returns the string representation 11152func (s RightsizingRecommendationSummary) GoString() string { 11153 return s.String() 11154} 11155 11156// SetEstimatedTotalMonthlySavingsAmount sets the EstimatedTotalMonthlySavingsAmount field's value. 11157func (s *RightsizingRecommendationSummary) SetEstimatedTotalMonthlySavingsAmount(v string) *RightsizingRecommendationSummary { 11158 s.EstimatedTotalMonthlySavingsAmount = &v 11159 return s 11160} 11161 11162// SetSavingsCurrencyCode sets the SavingsCurrencyCode field's value. 11163func (s *RightsizingRecommendationSummary) SetSavingsCurrencyCode(v string) *RightsizingRecommendationSummary { 11164 s.SavingsCurrencyCode = &v 11165 return s 11166} 11167 11168// SetSavingsPercentage sets the SavingsPercentage field's value. 11169func (s *RightsizingRecommendationSummary) SetSavingsPercentage(v string) *RightsizingRecommendationSummary { 11170 s.SavingsPercentage = &v 11171 return s 11172} 11173 11174// SetTotalRecommendationCount sets the TotalRecommendationCount field's value. 11175func (s *RightsizingRecommendationSummary) SetTotalRecommendationCount(v string) *RightsizingRecommendationSummary { 11176 s.TotalRecommendationCount = &v 11177 return s 11178} 11179 11180// The combination of Amazon Web Services service, linked account, Region, and 11181// usage type where a cost anomaly is observed. 11182type RootCause struct { 11183 _ struct{} `type:"structure"` 11184 11185 // The member account value that's associated with the cost anomaly. 11186 LinkedAccount *string `type:"string"` 11187 11188 // The Amazon Web Services Region that's associated with the cost anomaly. 11189 Region *string `type:"string"` 11190 11191 // The Amazon Web Services service name that's associated with the cost anomaly. 11192 Service *string `type:"string"` 11193 11194 // The UsageType value that's associated with the cost anomaly. 11195 UsageType *string `type:"string"` 11196} 11197 11198// String returns the string representation 11199func (s RootCause) String() string { 11200 return awsutil.Prettify(s) 11201} 11202 11203// GoString returns the string representation 11204func (s RootCause) GoString() string { 11205 return s.String() 11206} 11207 11208// SetLinkedAccount sets the LinkedAccount field's value. 11209func (s *RootCause) SetLinkedAccount(v string) *RootCause { 11210 s.LinkedAccount = &v 11211 return s 11212} 11213 11214// SetRegion sets the Region field's value. 11215func (s *RootCause) SetRegion(v string) *RootCause { 11216 s.Region = &v 11217 return s 11218} 11219 11220// SetService sets the Service field's value. 11221func (s *RootCause) SetService(v string) *RootCause { 11222 s.Service = &v 11223 return s 11224} 11225 11226// SetUsageType sets the UsageType field's value. 11227func (s *RootCause) SetUsageType(v string) *RootCause { 11228 s.UsageType = &v 11229 return s 11230} 11231 11232// The amortized amount of Savings Plans purchased in a specific account during 11233// a specific time interval. 11234type SavingsPlansAmortizedCommitment struct { 11235 _ struct{} `type:"structure"` 11236 11237 // The amortized amount of your Savings Plans commitment that was purchased 11238 // with either a Partial or a NoUpfront. 11239 AmortizedRecurringCommitment *string `type:"string"` 11240 11241 // The amortized amount of your Savings Plans commitment that was purchased 11242 // with an Upfront or PartialUpfront Savings Plans. 11243 AmortizedUpfrontCommitment *string `type:"string"` 11244 11245 // The total amortized amount of your Savings Plans commitment, regardless of 11246 // your Savings Plans purchase method. 11247 TotalAmortizedCommitment *string `type:"string"` 11248} 11249 11250// String returns the string representation 11251func (s SavingsPlansAmortizedCommitment) String() string { 11252 return awsutil.Prettify(s) 11253} 11254 11255// GoString returns the string representation 11256func (s SavingsPlansAmortizedCommitment) GoString() string { 11257 return s.String() 11258} 11259 11260// SetAmortizedRecurringCommitment sets the AmortizedRecurringCommitment field's value. 11261func (s *SavingsPlansAmortizedCommitment) SetAmortizedRecurringCommitment(v string) *SavingsPlansAmortizedCommitment { 11262 s.AmortizedRecurringCommitment = &v 11263 return s 11264} 11265 11266// SetAmortizedUpfrontCommitment sets the AmortizedUpfrontCommitment field's value. 11267func (s *SavingsPlansAmortizedCommitment) SetAmortizedUpfrontCommitment(v string) *SavingsPlansAmortizedCommitment { 11268 s.AmortizedUpfrontCommitment = &v 11269 return s 11270} 11271 11272// SetTotalAmortizedCommitment sets the TotalAmortizedCommitment field's value. 11273func (s *SavingsPlansAmortizedCommitment) SetTotalAmortizedCommitment(v string) *SavingsPlansAmortizedCommitment { 11274 s.TotalAmortizedCommitment = &v 11275 return s 11276} 11277 11278// The amount of Savings Plans eligible usage that is covered by Savings Plans. 11279// All calculations consider the On-Demand equivalent of your Savings Plans 11280// usage. 11281type SavingsPlansCoverage struct { 11282 _ struct{} `type:"structure"` 11283 11284 // The attribute that applies to a specific Dimension. 11285 Attributes map[string]*string `type:"map"` 11286 11287 // The amount of Savings Plans eligible usage that the Savings Plans covered. 11288 Coverage *SavingsPlansCoverageData `type:"structure"` 11289 11290 // The time period of the request. 11291 TimePeriod *DateInterval `type:"structure"` 11292} 11293 11294// String returns the string representation 11295func (s SavingsPlansCoverage) String() string { 11296 return awsutil.Prettify(s) 11297} 11298 11299// GoString returns the string representation 11300func (s SavingsPlansCoverage) GoString() string { 11301 return s.String() 11302} 11303 11304// SetAttributes sets the Attributes field's value. 11305func (s *SavingsPlansCoverage) SetAttributes(v map[string]*string) *SavingsPlansCoverage { 11306 s.Attributes = v 11307 return s 11308} 11309 11310// SetCoverage sets the Coverage field's value. 11311func (s *SavingsPlansCoverage) SetCoverage(v *SavingsPlansCoverageData) *SavingsPlansCoverage { 11312 s.Coverage = v 11313 return s 11314} 11315 11316// SetTimePeriod sets the TimePeriod field's value. 11317func (s *SavingsPlansCoverage) SetTimePeriod(v *DateInterval) *SavingsPlansCoverage { 11318 s.TimePeriod = v 11319 return s 11320} 11321 11322// Specific coverage percentage, On-Demand costs, and spend covered by Savings 11323// Plans, and total Savings Plans costs for an account. 11324type SavingsPlansCoverageData struct { 11325 _ struct{} `type:"structure"` 11326 11327 // The percentage of your existing Savings Plans covered usage, divided by all 11328 // of your eligible Savings Plans usage in an account (or set of accounts). 11329 CoveragePercentage *string `type:"string"` 11330 11331 // The cost of your Amazon Web Services usage at the public On-Demand rate. 11332 OnDemandCost *string `type:"string"` 11333 11334 // The amount of your Amazon Web Services usage that is covered by a Savings 11335 // Plans. 11336 SpendCoveredBySavingsPlans *string `type:"string"` 11337 11338 // The total cost of your Amazon Web Services usage, regardless of your purchase 11339 // option. 11340 TotalCost *string `type:"string"` 11341} 11342 11343// String returns the string representation 11344func (s SavingsPlansCoverageData) String() string { 11345 return awsutil.Prettify(s) 11346} 11347 11348// GoString returns the string representation 11349func (s SavingsPlansCoverageData) GoString() string { 11350 return s.String() 11351} 11352 11353// SetCoveragePercentage sets the CoveragePercentage field's value. 11354func (s *SavingsPlansCoverageData) SetCoveragePercentage(v string) *SavingsPlansCoverageData { 11355 s.CoveragePercentage = &v 11356 return s 11357} 11358 11359// SetOnDemandCost sets the OnDemandCost field's value. 11360func (s *SavingsPlansCoverageData) SetOnDemandCost(v string) *SavingsPlansCoverageData { 11361 s.OnDemandCost = &v 11362 return s 11363} 11364 11365// SetSpendCoveredBySavingsPlans sets the SpendCoveredBySavingsPlans field's value. 11366func (s *SavingsPlansCoverageData) SetSpendCoveredBySavingsPlans(v string) *SavingsPlansCoverageData { 11367 s.SpendCoveredBySavingsPlans = &v 11368 return s 11369} 11370 11371// SetTotalCost sets the TotalCost field's value. 11372func (s *SavingsPlansCoverageData) SetTotalCost(v string) *SavingsPlansCoverageData { 11373 s.TotalCost = &v 11374 return s 11375} 11376 11377// The attribute details on a specific Savings Plan. 11378type SavingsPlansDetails struct { 11379 _ struct{} `type:"structure"` 11380 11381 // A group of instance types that Savings Plans applies to. 11382 InstanceFamily *string `type:"string"` 11383 11384 // The unique ID that's used to distinguish Savings Plans from one another. 11385 OfferingId *string `type:"string"` 11386 11387 // A collection of Amazon Web Services resources in a geographic area. Each 11388 // Amazon Web Services Region is isolated and independent of the other Regions. 11389 Region *string `type:"string"` 11390} 11391 11392// String returns the string representation 11393func (s SavingsPlansDetails) String() string { 11394 return awsutil.Prettify(s) 11395} 11396 11397// GoString returns the string representation 11398func (s SavingsPlansDetails) GoString() string { 11399 return s.String() 11400} 11401 11402// SetInstanceFamily sets the InstanceFamily field's value. 11403func (s *SavingsPlansDetails) SetInstanceFamily(v string) *SavingsPlansDetails { 11404 s.InstanceFamily = &v 11405 return s 11406} 11407 11408// SetOfferingId sets the OfferingId field's value. 11409func (s *SavingsPlansDetails) SetOfferingId(v string) *SavingsPlansDetails { 11410 s.OfferingId = &v 11411 return s 11412} 11413 11414// SetRegion sets the Region field's value. 11415func (s *SavingsPlansDetails) SetRegion(v string) *SavingsPlansDetails { 11416 s.Region = &v 11417 return s 11418} 11419 11420// Contains your request parameters, Savings Plan Recommendations Summary, and 11421// Details. 11422type SavingsPlansPurchaseRecommendation struct { 11423 _ struct{} `type:"structure"` 11424 11425 // The account scope that you want your recommendations for. Amazon Web Services 11426 // calculates recommendations that include the management account and member 11427 // accounts if the value is set to PAYER. If the value is LINKED, recommendations 11428 // are calculated for individual member accounts only. 11429 AccountScope *string `type:"string" enum:"AccountScope"` 11430 11431 // The lookback period in days, used to generate the recommendation. 11432 LookbackPeriodInDays *string `type:"string" enum:"LookbackPeriodInDays"` 11433 11434 // The payment option used to generate the recommendation. 11435 PaymentOption *string `type:"string" enum:"PaymentOption"` 11436 11437 // Details for the Savings Plans we recommend that you purchase to cover existing 11438 // Savings Plans eligible workloads. 11439 SavingsPlansPurchaseRecommendationDetails []*SavingsPlansPurchaseRecommendationDetail `type:"list"` 11440 11441 // Summary metrics for your Savings Plans Recommendations. 11442 SavingsPlansPurchaseRecommendationSummary *SavingsPlansPurchaseRecommendationSummary `type:"structure"` 11443 11444 // The requested Savings Plans recommendation type. 11445 SavingsPlansType *string `type:"string" enum:"SupportedSavingsPlansType"` 11446 11447 // The Savings Plans recommendation term in years. It's used to generate the 11448 // recommendation. 11449 TermInYears *string `type:"string" enum:"TermInYears"` 11450} 11451 11452// String returns the string representation 11453func (s SavingsPlansPurchaseRecommendation) String() string { 11454 return awsutil.Prettify(s) 11455} 11456 11457// GoString returns the string representation 11458func (s SavingsPlansPurchaseRecommendation) GoString() string { 11459 return s.String() 11460} 11461 11462// SetAccountScope sets the AccountScope field's value. 11463func (s *SavingsPlansPurchaseRecommendation) SetAccountScope(v string) *SavingsPlansPurchaseRecommendation { 11464 s.AccountScope = &v 11465 return s 11466} 11467 11468// SetLookbackPeriodInDays sets the LookbackPeriodInDays field's value. 11469func (s *SavingsPlansPurchaseRecommendation) SetLookbackPeriodInDays(v string) *SavingsPlansPurchaseRecommendation { 11470 s.LookbackPeriodInDays = &v 11471 return s 11472} 11473 11474// SetPaymentOption sets the PaymentOption field's value. 11475func (s *SavingsPlansPurchaseRecommendation) SetPaymentOption(v string) *SavingsPlansPurchaseRecommendation { 11476 s.PaymentOption = &v 11477 return s 11478} 11479 11480// SetSavingsPlansPurchaseRecommendationDetails sets the SavingsPlansPurchaseRecommendationDetails field's value. 11481func (s *SavingsPlansPurchaseRecommendation) SetSavingsPlansPurchaseRecommendationDetails(v []*SavingsPlansPurchaseRecommendationDetail) *SavingsPlansPurchaseRecommendation { 11482 s.SavingsPlansPurchaseRecommendationDetails = v 11483 return s 11484} 11485 11486// SetSavingsPlansPurchaseRecommendationSummary sets the SavingsPlansPurchaseRecommendationSummary field's value. 11487func (s *SavingsPlansPurchaseRecommendation) SetSavingsPlansPurchaseRecommendationSummary(v *SavingsPlansPurchaseRecommendationSummary) *SavingsPlansPurchaseRecommendation { 11488 s.SavingsPlansPurchaseRecommendationSummary = v 11489 return s 11490} 11491 11492// SetSavingsPlansType sets the SavingsPlansType field's value. 11493func (s *SavingsPlansPurchaseRecommendation) SetSavingsPlansType(v string) *SavingsPlansPurchaseRecommendation { 11494 s.SavingsPlansType = &v 11495 return s 11496} 11497 11498// SetTermInYears sets the TermInYears field's value. 11499func (s *SavingsPlansPurchaseRecommendation) SetTermInYears(v string) *SavingsPlansPurchaseRecommendation { 11500 s.TermInYears = &v 11501 return s 11502} 11503 11504// Details for your recommended Savings Plans. 11505type SavingsPlansPurchaseRecommendationDetail struct { 11506 _ struct{} `type:"structure"` 11507 11508 // The AccountID the recommendation is generated for. 11509 AccountId *string `type:"string"` 11510 11511 // The currency code that Amazon Web Services used to generate the recommendations 11512 // and present potential savings. 11513 CurrencyCode *string `type:"string"` 11514 11515 // The average value of hourly On-Demand spend over the lookback period of the 11516 // applicable usage type. 11517 CurrentAverageHourlyOnDemandSpend *string `type:"string"` 11518 11519 // The highest value of hourly On-Demand spend over the lookback period of the 11520 // applicable usage type. 11521 CurrentMaximumHourlyOnDemandSpend *string `type:"string"` 11522 11523 // The lowest value of hourly On-Demand spend over the lookback period of the 11524 // applicable usage type. 11525 CurrentMinimumHourlyOnDemandSpend *string `type:"string"` 11526 11527 // The estimated utilization of the recommended Savings Plans. 11528 EstimatedAverageUtilization *string `type:"string"` 11529 11530 // The estimated monthly savings amount based on the recommended Savings Plans. 11531 EstimatedMonthlySavingsAmount *string `type:"string"` 11532 11533 // The remaining On-Demand cost estimated to not be covered by the recommended 11534 // Savings Plans, over the length of the lookback period. 11535 EstimatedOnDemandCost *string `type:"string"` 11536 11537 // The estimated On-Demand costs you would expect with no additional commitment, 11538 // based on your usage of the selected time period and the Savings Plans you 11539 // own. 11540 EstimatedOnDemandCostWithCurrentCommitment *string `type:"string"` 11541 11542 // The estimated return on investment that's based on the recommended Savings 11543 // Plans that you purchased. This is calculated as estimatedSavingsAmount/ estimatedSPCost*100. 11544 EstimatedROI *string `type:"string"` 11545 11546 // The cost of the recommended Savings Plans over the length of the lookback 11547 // period. 11548 EstimatedSPCost *string `type:"string"` 11549 11550 // The estimated savings amount that's based on the recommended Savings Plans 11551 // over the length of the lookback period. 11552 EstimatedSavingsAmount *string `type:"string"` 11553 11554 // The estimated savings percentage relative to the total cost of applicable 11555 // On-Demand usage over the lookback period. 11556 EstimatedSavingsPercentage *string `type:"string"` 11557 11558 // The recommended hourly commitment level for the Savings Plans type and the 11559 // configuration that's based on the usage during the lookback period. 11560 HourlyCommitmentToPurchase *string `type:"string"` 11561 11562 // Details for your recommended Savings Plans. 11563 SavingsPlansDetails *SavingsPlansDetails `type:"structure"` 11564 11565 // The upfront cost of the recommended Savings Plans, based on the selected 11566 // payment option. 11567 UpfrontCost *string `type:"string"` 11568} 11569 11570// String returns the string representation 11571func (s SavingsPlansPurchaseRecommendationDetail) String() string { 11572 return awsutil.Prettify(s) 11573} 11574 11575// GoString returns the string representation 11576func (s SavingsPlansPurchaseRecommendationDetail) GoString() string { 11577 return s.String() 11578} 11579 11580// SetAccountId sets the AccountId field's value. 11581func (s *SavingsPlansPurchaseRecommendationDetail) SetAccountId(v string) *SavingsPlansPurchaseRecommendationDetail { 11582 s.AccountId = &v 11583 return s 11584} 11585 11586// SetCurrencyCode sets the CurrencyCode field's value. 11587func (s *SavingsPlansPurchaseRecommendationDetail) SetCurrencyCode(v string) *SavingsPlansPurchaseRecommendationDetail { 11588 s.CurrencyCode = &v 11589 return s 11590} 11591 11592// SetCurrentAverageHourlyOnDemandSpend sets the CurrentAverageHourlyOnDemandSpend field's value. 11593func (s *SavingsPlansPurchaseRecommendationDetail) SetCurrentAverageHourlyOnDemandSpend(v string) *SavingsPlansPurchaseRecommendationDetail { 11594 s.CurrentAverageHourlyOnDemandSpend = &v 11595 return s 11596} 11597 11598// SetCurrentMaximumHourlyOnDemandSpend sets the CurrentMaximumHourlyOnDemandSpend field's value. 11599func (s *SavingsPlansPurchaseRecommendationDetail) SetCurrentMaximumHourlyOnDemandSpend(v string) *SavingsPlansPurchaseRecommendationDetail { 11600 s.CurrentMaximumHourlyOnDemandSpend = &v 11601 return s 11602} 11603 11604// SetCurrentMinimumHourlyOnDemandSpend sets the CurrentMinimumHourlyOnDemandSpend field's value. 11605func (s *SavingsPlansPurchaseRecommendationDetail) SetCurrentMinimumHourlyOnDemandSpend(v string) *SavingsPlansPurchaseRecommendationDetail { 11606 s.CurrentMinimumHourlyOnDemandSpend = &v 11607 return s 11608} 11609 11610// SetEstimatedAverageUtilization sets the EstimatedAverageUtilization field's value. 11611func (s *SavingsPlansPurchaseRecommendationDetail) SetEstimatedAverageUtilization(v string) *SavingsPlansPurchaseRecommendationDetail { 11612 s.EstimatedAverageUtilization = &v 11613 return s 11614} 11615 11616// SetEstimatedMonthlySavingsAmount sets the EstimatedMonthlySavingsAmount field's value. 11617func (s *SavingsPlansPurchaseRecommendationDetail) SetEstimatedMonthlySavingsAmount(v string) *SavingsPlansPurchaseRecommendationDetail { 11618 s.EstimatedMonthlySavingsAmount = &v 11619 return s 11620} 11621 11622// SetEstimatedOnDemandCost sets the EstimatedOnDemandCost field's value. 11623func (s *SavingsPlansPurchaseRecommendationDetail) SetEstimatedOnDemandCost(v string) *SavingsPlansPurchaseRecommendationDetail { 11624 s.EstimatedOnDemandCost = &v 11625 return s 11626} 11627 11628// SetEstimatedOnDemandCostWithCurrentCommitment sets the EstimatedOnDemandCostWithCurrentCommitment field's value. 11629func (s *SavingsPlansPurchaseRecommendationDetail) SetEstimatedOnDemandCostWithCurrentCommitment(v string) *SavingsPlansPurchaseRecommendationDetail { 11630 s.EstimatedOnDemandCostWithCurrentCommitment = &v 11631 return s 11632} 11633 11634// SetEstimatedROI sets the EstimatedROI field's value. 11635func (s *SavingsPlansPurchaseRecommendationDetail) SetEstimatedROI(v string) *SavingsPlansPurchaseRecommendationDetail { 11636 s.EstimatedROI = &v 11637 return s 11638} 11639 11640// SetEstimatedSPCost sets the EstimatedSPCost field's value. 11641func (s *SavingsPlansPurchaseRecommendationDetail) SetEstimatedSPCost(v string) *SavingsPlansPurchaseRecommendationDetail { 11642 s.EstimatedSPCost = &v 11643 return s 11644} 11645 11646// SetEstimatedSavingsAmount sets the EstimatedSavingsAmount field's value. 11647func (s *SavingsPlansPurchaseRecommendationDetail) SetEstimatedSavingsAmount(v string) *SavingsPlansPurchaseRecommendationDetail { 11648 s.EstimatedSavingsAmount = &v 11649 return s 11650} 11651 11652// SetEstimatedSavingsPercentage sets the EstimatedSavingsPercentage field's value. 11653func (s *SavingsPlansPurchaseRecommendationDetail) SetEstimatedSavingsPercentage(v string) *SavingsPlansPurchaseRecommendationDetail { 11654 s.EstimatedSavingsPercentage = &v 11655 return s 11656} 11657 11658// SetHourlyCommitmentToPurchase sets the HourlyCommitmentToPurchase field's value. 11659func (s *SavingsPlansPurchaseRecommendationDetail) SetHourlyCommitmentToPurchase(v string) *SavingsPlansPurchaseRecommendationDetail { 11660 s.HourlyCommitmentToPurchase = &v 11661 return s 11662} 11663 11664// SetSavingsPlansDetails sets the SavingsPlansDetails field's value. 11665func (s *SavingsPlansPurchaseRecommendationDetail) SetSavingsPlansDetails(v *SavingsPlansDetails) *SavingsPlansPurchaseRecommendationDetail { 11666 s.SavingsPlansDetails = v 11667 return s 11668} 11669 11670// SetUpfrontCost sets the UpfrontCost field's value. 11671func (s *SavingsPlansPurchaseRecommendationDetail) SetUpfrontCost(v string) *SavingsPlansPurchaseRecommendationDetail { 11672 s.UpfrontCost = &v 11673 return s 11674} 11675 11676// Metadata about your Savings Plans Purchase Recommendations. 11677type SavingsPlansPurchaseRecommendationMetadata struct { 11678 _ struct{} `type:"structure"` 11679 11680 // Additional metadata that might be applicable to the recommendation. 11681 AdditionalMetadata *string `type:"string"` 11682 11683 // The timestamp showing when the recommendations were generated. 11684 GenerationTimestamp *string `type:"string"` 11685 11686 // The unique identifier for the recommendation set. 11687 RecommendationId *string `type:"string"` 11688} 11689 11690// String returns the string representation 11691func (s SavingsPlansPurchaseRecommendationMetadata) String() string { 11692 return awsutil.Prettify(s) 11693} 11694 11695// GoString returns the string representation 11696func (s SavingsPlansPurchaseRecommendationMetadata) GoString() string { 11697 return s.String() 11698} 11699 11700// SetAdditionalMetadata sets the AdditionalMetadata field's value. 11701func (s *SavingsPlansPurchaseRecommendationMetadata) SetAdditionalMetadata(v string) *SavingsPlansPurchaseRecommendationMetadata { 11702 s.AdditionalMetadata = &v 11703 return s 11704} 11705 11706// SetGenerationTimestamp sets the GenerationTimestamp field's value. 11707func (s *SavingsPlansPurchaseRecommendationMetadata) SetGenerationTimestamp(v string) *SavingsPlansPurchaseRecommendationMetadata { 11708 s.GenerationTimestamp = &v 11709 return s 11710} 11711 11712// SetRecommendationId sets the RecommendationId field's value. 11713func (s *SavingsPlansPurchaseRecommendationMetadata) SetRecommendationId(v string) *SavingsPlansPurchaseRecommendationMetadata { 11714 s.RecommendationId = &v 11715 return s 11716} 11717 11718// Summary metrics for your Savings Plans Purchase Recommendations. 11719type SavingsPlansPurchaseRecommendationSummary struct { 11720 _ struct{} `type:"structure"` 11721 11722 // The currency code that Amazon Web Services used to generate the recommendations 11723 // and present potential savings. 11724 CurrencyCode *string `type:"string"` 11725 11726 // The current total on demand spend of the applicable usage types over the 11727 // lookback period. 11728 CurrentOnDemandSpend *string `type:"string"` 11729 11730 // The recommended Savings Plans cost on a daily (24 hourly) basis. 11731 DailyCommitmentToPurchase *string `type:"string"` 11732 11733 // The estimated monthly savings amount that's based on the recommended Savings 11734 // Plans purchase. 11735 EstimatedMonthlySavingsAmount *string `type:"string"` 11736 11737 // The estimated On-Demand costs you would expect with no additional commitment. 11738 // It's based on your usage of the selected time period and the Savings Plans 11739 // you own. 11740 EstimatedOnDemandCostWithCurrentCommitment *string `type:"string"` 11741 11742 // The estimated return on investment that's based on the recommended Savings 11743 // Plans and estimated savings. 11744 EstimatedROI *string `type:"string"` 11745 11746 // The estimated total savings over the lookback period, based on the purchase 11747 // of the recommended Savings Plans. 11748 EstimatedSavingsAmount *string `type:"string"` 11749 11750 // The estimated savings relative to the total cost of On-Demand usage, over 11751 // the lookback period. This is calculated as estimatedSavingsAmount/ CurrentOnDemandSpend*100. 11752 EstimatedSavingsPercentage *string `type:"string"` 11753 11754 // The estimated total cost of the usage after purchasing the recommended Savings 11755 // Plans. This is a sum of the cost of Savings Plans during this term, and the 11756 // remaining On-Demand usage. 11757 EstimatedTotalCost *string `type:"string"` 11758 11759 // The recommended hourly commitment that's based on the recommendation parameters. 11760 HourlyCommitmentToPurchase *string `type:"string"` 11761 11762 // The aggregate number of Savings Plans recommendations that exist for your 11763 // account. 11764 TotalRecommendationCount *string `type:"string"` 11765} 11766 11767// String returns the string representation 11768func (s SavingsPlansPurchaseRecommendationSummary) String() string { 11769 return awsutil.Prettify(s) 11770} 11771 11772// GoString returns the string representation 11773func (s SavingsPlansPurchaseRecommendationSummary) GoString() string { 11774 return s.String() 11775} 11776 11777// SetCurrencyCode sets the CurrencyCode field's value. 11778func (s *SavingsPlansPurchaseRecommendationSummary) SetCurrencyCode(v string) *SavingsPlansPurchaseRecommendationSummary { 11779 s.CurrencyCode = &v 11780 return s 11781} 11782 11783// SetCurrentOnDemandSpend sets the CurrentOnDemandSpend field's value. 11784func (s *SavingsPlansPurchaseRecommendationSummary) SetCurrentOnDemandSpend(v string) *SavingsPlansPurchaseRecommendationSummary { 11785 s.CurrentOnDemandSpend = &v 11786 return s 11787} 11788 11789// SetDailyCommitmentToPurchase sets the DailyCommitmentToPurchase field's value. 11790func (s *SavingsPlansPurchaseRecommendationSummary) SetDailyCommitmentToPurchase(v string) *SavingsPlansPurchaseRecommendationSummary { 11791 s.DailyCommitmentToPurchase = &v 11792 return s 11793} 11794 11795// SetEstimatedMonthlySavingsAmount sets the EstimatedMonthlySavingsAmount field's value. 11796func (s *SavingsPlansPurchaseRecommendationSummary) SetEstimatedMonthlySavingsAmount(v string) *SavingsPlansPurchaseRecommendationSummary { 11797 s.EstimatedMonthlySavingsAmount = &v 11798 return s 11799} 11800 11801// SetEstimatedOnDemandCostWithCurrentCommitment sets the EstimatedOnDemandCostWithCurrentCommitment field's value. 11802func (s *SavingsPlansPurchaseRecommendationSummary) SetEstimatedOnDemandCostWithCurrentCommitment(v string) *SavingsPlansPurchaseRecommendationSummary { 11803 s.EstimatedOnDemandCostWithCurrentCommitment = &v 11804 return s 11805} 11806 11807// SetEstimatedROI sets the EstimatedROI field's value. 11808func (s *SavingsPlansPurchaseRecommendationSummary) SetEstimatedROI(v string) *SavingsPlansPurchaseRecommendationSummary { 11809 s.EstimatedROI = &v 11810 return s 11811} 11812 11813// SetEstimatedSavingsAmount sets the EstimatedSavingsAmount field's value. 11814func (s *SavingsPlansPurchaseRecommendationSummary) SetEstimatedSavingsAmount(v string) *SavingsPlansPurchaseRecommendationSummary { 11815 s.EstimatedSavingsAmount = &v 11816 return s 11817} 11818 11819// SetEstimatedSavingsPercentage sets the EstimatedSavingsPercentage field's value. 11820func (s *SavingsPlansPurchaseRecommendationSummary) SetEstimatedSavingsPercentage(v string) *SavingsPlansPurchaseRecommendationSummary { 11821 s.EstimatedSavingsPercentage = &v 11822 return s 11823} 11824 11825// SetEstimatedTotalCost sets the EstimatedTotalCost field's value. 11826func (s *SavingsPlansPurchaseRecommendationSummary) SetEstimatedTotalCost(v string) *SavingsPlansPurchaseRecommendationSummary { 11827 s.EstimatedTotalCost = &v 11828 return s 11829} 11830 11831// SetHourlyCommitmentToPurchase sets the HourlyCommitmentToPurchase field's value. 11832func (s *SavingsPlansPurchaseRecommendationSummary) SetHourlyCommitmentToPurchase(v string) *SavingsPlansPurchaseRecommendationSummary { 11833 s.HourlyCommitmentToPurchase = &v 11834 return s 11835} 11836 11837// SetTotalRecommendationCount sets the TotalRecommendationCount field's value. 11838func (s *SavingsPlansPurchaseRecommendationSummary) SetTotalRecommendationCount(v string) *SavingsPlansPurchaseRecommendationSummary { 11839 s.TotalRecommendationCount = &v 11840 return s 11841} 11842 11843// The amount of savings that you're accumulating, against the public On-Demand 11844// rate of the usage accrued in an account. 11845type SavingsPlansSavings struct { 11846 _ struct{} `type:"structure"` 11847 11848 // The savings amount that you're accumulating for the usage that's covered 11849 // by a Savings Plans, when compared to the On-Demand equivalent of the same 11850 // usage. 11851 NetSavings *string `type:"string"` 11852 11853 // How much the amount that the usage would have cost if it was accrued at the 11854 // On-Demand rate. 11855 OnDemandCostEquivalent *string `type:"string"` 11856} 11857 11858// String returns the string representation 11859func (s SavingsPlansSavings) String() string { 11860 return awsutil.Prettify(s) 11861} 11862 11863// GoString returns the string representation 11864func (s SavingsPlansSavings) GoString() string { 11865 return s.String() 11866} 11867 11868// SetNetSavings sets the NetSavings field's value. 11869func (s *SavingsPlansSavings) SetNetSavings(v string) *SavingsPlansSavings { 11870 s.NetSavings = &v 11871 return s 11872} 11873 11874// SetOnDemandCostEquivalent sets the OnDemandCostEquivalent field's value. 11875func (s *SavingsPlansSavings) SetOnDemandCostEquivalent(v string) *SavingsPlansSavings { 11876 s.OnDemandCostEquivalent = &v 11877 return s 11878} 11879 11880// The measurement of how well you're using your existing Savings Plans. 11881type SavingsPlansUtilization struct { 11882 _ struct{} `type:"structure"` 11883 11884 // The total amount of Savings Plans commitment that's been purchased in an 11885 // account (or set of accounts). 11886 TotalCommitment *string `type:"string"` 11887 11888 // The amount of your Savings Plans commitment that wasn't consumed from Savings 11889 // Plans eligible usage in a specific period. 11890 UnusedCommitment *string `type:"string"` 11891 11892 // The amount of your Savings Plans commitment that was consumed from Savings 11893 // Plans eligible usage in a specific period. 11894 UsedCommitment *string `type:"string"` 11895 11896 // The amount of UsedCommitment divided by the TotalCommitment for your Savings 11897 // Plans. 11898 UtilizationPercentage *string `type:"string"` 11899} 11900 11901// String returns the string representation 11902func (s SavingsPlansUtilization) String() string { 11903 return awsutil.Prettify(s) 11904} 11905 11906// GoString returns the string representation 11907func (s SavingsPlansUtilization) GoString() string { 11908 return s.String() 11909} 11910 11911// SetTotalCommitment sets the TotalCommitment field's value. 11912func (s *SavingsPlansUtilization) SetTotalCommitment(v string) *SavingsPlansUtilization { 11913 s.TotalCommitment = &v 11914 return s 11915} 11916 11917// SetUnusedCommitment sets the UnusedCommitment field's value. 11918func (s *SavingsPlansUtilization) SetUnusedCommitment(v string) *SavingsPlansUtilization { 11919 s.UnusedCommitment = &v 11920 return s 11921} 11922 11923// SetUsedCommitment sets the UsedCommitment field's value. 11924func (s *SavingsPlansUtilization) SetUsedCommitment(v string) *SavingsPlansUtilization { 11925 s.UsedCommitment = &v 11926 return s 11927} 11928 11929// SetUtilizationPercentage sets the UtilizationPercentage field's value. 11930func (s *SavingsPlansUtilization) SetUtilizationPercentage(v string) *SavingsPlansUtilization { 11931 s.UtilizationPercentage = &v 11932 return s 11933} 11934 11935// The aggregated utilization metrics for your Savings Plans usage. 11936type SavingsPlansUtilizationAggregates struct { 11937 _ struct{} `type:"structure"` 11938 11939 // The total amortized commitment for a Savings Plans. This includes the sum 11940 // of the upfront and recurring Savings Plans fees. 11941 AmortizedCommitment *SavingsPlansAmortizedCommitment `type:"structure"` 11942 11943 // The amount saved by using existing Savings Plans. Savings returns both net 11944 // savings from Savings Plans, as well as the onDemandCostEquivalent of the 11945 // Savings Plans when considering the utilization rate. 11946 Savings *SavingsPlansSavings `type:"structure"` 11947 11948 // A ratio of your effectiveness of using existing Savings Plans to apply to 11949 // workloads that are Savings Plans eligible. 11950 // 11951 // Utilization is a required field 11952 Utilization *SavingsPlansUtilization `type:"structure" required:"true"` 11953} 11954 11955// String returns the string representation 11956func (s SavingsPlansUtilizationAggregates) String() string { 11957 return awsutil.Prettify(s) 11958} 11959 11960// GoString returns the string representation 11961func (s SavingsPlansUtilizationAggregates) GoString() string { 11962 return s.String() 11963} 11964 11965// SetAmortizedCommitment sets the AmortizedCommitment field's value. 11966func (s *SavingsPlansUtilizationAggregates) SetAmortizedCommitment(v *SavingsPlansAmortizedCommitment) *SavingsPlansUtilizationAggregates { 11967 s.AmortizedCommitment = v 11968 return s 11969} 11970 11971// SetSavings sets the Savings field's value. 11972func (s *SavingsPlansUtilizationAggregates) SetSavings(v *SavingsPlansSavings) *SavingsPlansUtilizationAggregates { 11973 s.Savings = v 11974 return s 11975} 11976 11977// SetUtilization sets the Utilization field's value. 11978func (s *SavingsPlansUtilizationAggregates) SetUtilization(v *SavingsPlansUtilization) *SavingsPlansUtilizationAggregates { 11979 s.Utilization = v 11980 return s 11981} 11982 11983// The amount of Savings Plans utilization, in hours. 11984type SavingsPlansUtilizationByTime struct { 11985 _ struct{} `type:"structure"` 11986 11987 // The total amortized commitment for a Savings Plans. This includes the sum 11988 // of the upfront and recurring Savings Plans fees. 11989 AmortizedCommitment *SavingsPlansAmortizedCommitment `type:"structure"` 11990 11991 // The amount saved by using existing Savings Plans. Savings returns both net 11992 // savings from Savings Plans as well as the onDemandCostEquivalent of the Savings 11993 // Plans when considering the utilization rate. 11994 Savings *SavingsPlansSavings `type:"structure"` 11995 11996 // The time period of the request. 11997 // 11998 // TimePeriod is a required field 11999 TimePeriod *DateInterval `type:"structure" required:"true"` 12000 12001 // A ratio of your effectiveness of using existing Savings Plans to apply to 12002 // workloads that are Savings Plans eligible. 12003 // 12004 // Utilization is a required field 12005 Utilization *SavingsPlansUtilization `type:"structure" required:"true"` 12006} 12007 12008// String returns the string representation 12009func (s SavingsPlansUtilizationByTime) String() string { 12010 return awsutil.Prettify(s) 12011} 12012 12013// GoString returns the string representation 12014func (s SavingsPlansUtilizationByTime) GoString() string { 12015 return s.String() 12016} 12017 12018// SetAmortizedCommitment sets the AmortizedCommitment field's value. 12019func (s *SavingsPlansUtilizationByTime) SetAmortizedCommitment(v *SavingsPlansAmortizedCommitment) *SavingsPlansUtilizationByTime { 12020 s.AmortizedCommitment = v 12021 return s 12022} 12023 12024// SetSavings sets the Savings field's value. 12025func (s *SavingsPlansUtilizationByTime) SetSavings(v *SavingsPlansSavings) *SavingsPlansUtilizationByTime { 12026 s.Savings = v 12027 return s 12028} 12029 12030// SetTimePeriod sets the TimePeriod field's value. 12031func (s *SavingsPlansUtilizationByTime) SetTimePeriod(v *DateInterval) *SavingsPlansUtilizationByTime { 12032 s.TimePeriod = v 12033 return s 12034} 12035 12036// SetUtilization sets the Utilization field's value. 12037func (s *SavingsPlansUtilizationByTime) SetUtilization(v *SavingsPlansUtilization) *SavingsPlansUtilizationByTime { 12038 s.Utilization = v 12039 return s 12040} 12041 12042// A single daily or monthly Savings Plans utilization rate, and details for 12043// your account. A management account in an organization have access to member 12044// accounts. You can use GetDimensionValues to determine the possible dimension 12045// values. 12046type SavingsPlansUtilizationDetail struct { 12047 _ struct{} `type:"structure"` 12048 12049 // The total amortized commitment for a Savings Plans. Includes the sum of the 12050 // upfront and recurring Savings Plans fees. 12051 AmortizedCommitment *SavingsPlansAmortizedCommitment `type:"structure"` 12052 12053 // The attribute that applies to a specific Dimension. 12054 Attributes map[string]*string `type:"map"` 12055 12056 // The amount saved by using existing Savings Plans. Savings returns both net 12057 // savings from savings plans as well as the onDemandCostEquivalent of the Savings 12058 // Plans when considering the utilization rate. 12059 Savings *SavingsPlansSavings `type:"structure"` 12060 12061 // The unique Amazon Resource Name (ARN) for a particular Savings Plan. 12062 SavingsPlanArn *string `type:"string"` 12063 12064 // A ratio of your effectiveness of using existing Savings Plans to apply to 12065 // workloads that are Savings Plans eligible. 12066 Utilization *SavingsPlansUtilization `type:"structure"` 12067} 12068 12069// String returns the string representation 12070func (s SavingsPlansUtilizationDetail) String() string { 12071 return awsutil.Prettify(s) 12072} 12073 12074// GoString returns the string representation 12075func (s SavingsPlansUtilizationDetail) GoString() string { 12076 return s.String() 12077} 12078 12079// SetAmortizedCommitment sets the AmortizedCommitment field's value. 12080func (s *SavingsPlansUtilizationDetail) SetAmortizedCommitment(v *SavingsPlansAmortizedCommitment) *SavingsPlansUtilizationDetail { 12081 s.AmortizedCommitment = v 12082 return s 12083} 12084 12085// SetAttributes sets the Attributes field's value. 12086func (s *SavingsPlansUtilizationDetail) SetAttributes(v map[string]*string) *SavingsPlansUtilizationDetail { 12087 s.Attributes = v 12088 return s 12089} 12090 12091// SetSavings sets the Savings field's value. 12092func (s *SavingsPlansUtilizationDetail) SetSavings(v *SavingsPlansSavings) *SavingsPlansUtilizationDetail { 12093 s.Savings = v 12094 return s 12095} 12096 12097// SetSavingsPlanArn sets the SavingsPlanArn field's value. 12098func (s *SavingsPlansUtilizationDetail) SetSavingsPlanArn(v string) *SavingsPlansUtilizationDetail { 12099 s.SavingsPlanArn = &v 12100 return s 12101} 12102 12103// SetUtilization sets the Utilization field's value. 12104func (s *SavingsPlansUtilizationDetail) SetUtilization(v *SavingsPlansUtilization) *SavingsPlansUtilizationDetail { 12105 s.Utilization = v 12106 return s 12107} 12108 12109// You've reached the limit on the number of resources you can create, or exceeded 12110// the size of an individual resource. 12111type ServiceQuotaExceededException struct { 12112 _ struct{} `type:"structure"` 12113 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 12114 12115 Message_ *string `locationName:"Message" type:"string"` 12116} 12117 12118// String returns the string representation 12119func (s ServiceQuotaExceededException) String() string { 12120 return awsutil.Prettify(s) 12121} 12122 12123// GoString returns the string representation 12124func (s ServiceQuotaExceededException) GoString() string { 12125 return s.String() 12126} 12127 12128func newErrorServiceQuotaExceededException(v protocol.ResponseMetadata) error { 12129 return &ServiceQuotaExceededException{ 12130 RespMetadata: v, 12131 } 12132} 12133 12134// Code returns the exception type name. 12135func (s *ServiceQuotaExceededException) Code() string { 12136 return "ServiceQuotaExceededException" 12137} 12138 12139// Message returns the exception's message. 12140func (s *ServiceQuotaExceededException) Message() string { 12141 if s.Message_ != nil { 12142 return *s.Message_ 12143 } 12144 return "" 12145} 12146 12147// OrigErr always returns nil, satisfies awserr.Error interface. 12148func (s *ServiceQuotaExceededException) OrigErr() error { 12149 return nil 12150} 12151 12152func (s *ServiceQuotaExceededException) Error() string { 12153 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 12154} 12155 12156// Status code returns the HTTP status code for the request's response error. 12157func (s *ServiceQuotaExceededException) StatusCode() int { 12158 return s.RespMetadata.StatusCode 12159} 12160 12161// RequestID returns the service's response RequestID for request. 12162func (s *ServiceQuotaExceededException) RequestID() string { 12163 return s.RespMetadata.RequestID 12164} 12165 12166// Hardware specifications for the service that you want recommendations for. 12167type ServiceSpecification struct { 12168 _ struct{} `type:"structure"` 12169 12170 // The Amazon EC2 hardware specifications that you want Amazon Web Services 12171 // to provide recommendations for. 12172 EC2Specification *EC2Specification `type:"structure"` 12173} 12174 12175// String returns the string representation 12176func (s ServiceSpecification) String() string { 12177 return awsutil.Prettify(s) 12178} 12179 12180// GoString returns the string representation 12181func (s ServiceSpecification) GoString() string { 12182 return s.String() 12183} 12184 12185// SetEC2Specification sets the EC2Specification field's value. 12186func (s *ServiceSpecification) SetEC2Specification(v *EC2Specification) *ServiceSpecification { 12187 s.EC2Specification = v 12188 return s 12189} 12190 12191// The details of how to sort the data. 12192type SortDefinition struct { 12193 _ struct{} `type:"structure"` 12194 12195 // The key that's used to sort the data. 12196 // 12197 // Key is a required field 12198 Key *string `type:"string" required:"true"` 12199 12200 // The order that's used to sort the data. 12201 SortOrder *string `type:"string" enum:"SortOrder"` 12202} 12203 12204// String returns the string representation 12205func (s SortDefinition) String() string { 12206 return awsutil.Prettify(s) 12207} 12208 12209// GoString returns the string representation 12210func (s SortDefinition) GoString() string { 12211 return s.String() 12212} 12213 12214// Validate inspects the fields of the type to determine if they are valid. 12215func (s *SortDefinition) Validate() error { 12216 invalidParams := request.ErrInvalidParams{Context: "SortDefinition"} 12217 if s.Key == nil { 12218 invalidParams.Add(request.NewErrParamRequired("Key")) 12219 } 12220 12221 if invalidParams.Len() > 0 { 12222 return invalidParams 12223 } 12224 return nil 12225} 12226 12227// SetKey sets the Key field's value. 12228func (s *SortDefinition) SetKey(v string) *SortDefinition { 12229 s.Key = &v 12230 return s 12231} 12232 12233// SetSortOrder sets the SortOrder field's value. 12234func (s *SortDefinition) SetSortOrder(v string) *SortDefinition { 12235 s.SortOrder = &v 12236 return s 12237} 12238 12239// The recipient of AnomalySubscription notifications. 12240type Subscriber struct { 12241 _ struct{} `type:"structure"` 12242 12243 // The email address or SNS Amazon Resource Name (ARN). This depends on the 12244 // Type. 12245 Address *string `min:"6" type:"string"` 12246 12247 // Indicates if the subscriber accepts the notifications. 12248 Status *string `type:"string" enum:"SubscriberStatus"` 12249 12250 // The notification delivery channel. 12251 Type *string `type:"string" enum:"SubscriberType"` 12252} 12253 12254// String returns the string representation 12255func (s Subscriber) String() string { 12256 return awsutil.Prettify(s) 12257} 12258 12259// GoString returns the string representation 12260func (s Subscriber) GoString() string { 12261 return s.String() 12262} 12263 12264// Validate inspects the fields of the type to determine if they are valid. 12265func (s *Subscriber) Validate() error { 12266 invalidParams := request.ErrInvalidParams{Context: "Subscriber"} 12267 if s.Address != nil && len(*s.Address) < 6 { 12268 invalidParams.Add(request.NewErrParamMinLen("Address", 6)) 12269 } 12270 12271 if invalidParams.Len() > 0 { 12272 return invalidParams 12273 } 12274 return nil 12275} 12276 12277// SetAddress sets the Address field's value. 12278func (s *Subscriber) SetAddress(v string) *Subscriber { 12279 s.Address = &v 12280 return s 12281} 12282 12283// SetStatus sets the Status field's value. 12284func (s *Subscriber) SetStatus(v string) *Subscriber { 12285 s.Status = &v 12286 return s 12287} 12288 12289// SetType sets the Type field's value. 12290func (s *Subscriber) SetType(v string) *Subscriber { 12291 s.Type = &v 12292 return s 12293} 12294 12295// The values that are available for a tag. 12296// 12297// If Values and Key aren't specified, the ABSENT MatchOption is applied to 12298// all tags. That is, it's filtered on resources with no tags. 12299// 12300// If Values is provided and Key isn't specified, the ABSENT MatchOption is 12301// applied to the tag Key only. That is, it's filtered on resources without 12302// the given tag key. 12303type TagValues struct { 12304 _ struct{} `type:"structure"` 12305 12306 // The key for the tag. 12307 Key *string `type:"string"` 12308 12309 // The match options that you can use to filter your results. MatchOptions is 12310 // only applicable for actions related to Cost Category. The default values 12311 // for MatchOptions are EQUALS and CASE_SENSITIVE. 12312 MatchOptions []*string `type:"list"` 12313 12314 // The specific value of the tag. 12315 Values []*string `type:"list"` 12316} 12317 12318// String returns the string representation 12319func (s TagValues) String() string { 12320 return awsutil.Prettify(s) 12321} 12322 12323// GoString returns the string representation 12324func (s TagValues) GoString() string { 12325 return s.String() 12326} 12327 12328// SetKey sets the Key field's value. 12329func (s *TagValues) SetKey(v string) *TagValues { 12330 s.Key = &v 12331 return s 12332} 12333 12334// SetMatchOptions sets the MatchOptions field's value. 12335func (s *TagValues) SetMatchOptions(v []*string) *TagValues { 12336 s.MatchOptions = v 12337 return s 12338} 12339 12340// SetValues sets the Values field's value. 12341func (s *TagValues) SetValues(v []*string) *TagValues { 12342 s.Values = v 12343 return s 12344} 12345 12346// Details on recommended instance. 12347type TargetInstance struct { 12348 _ struct{} `type:"structure"` 12349 12350 // The currency code that Amazon Web Services used to calculate the costs for 12351 // this instance. 12352 CurrencyCode *string `type:"string"` 12353 12354 // Determines whether this recommendation is the defaulted Amazon Web Services 12355 // recommendation. 12356 DefaultTargetInstance *bool `type:"boolean"` 12357 12358 // The expected cost to operate this instance type on a monthly basis. 12359 EstimatedMonthlyCost *string `type:"string"` 12360 12361 // The estimated savings that result from modification, on a monthly basis. 12362 EstimatedMonthlySavings *string `type:"string"` 12363 12364 // The expected utilization metrics for target instance type. 12365 ExpectedResourceUtilization *ResourceUtilization `type:"structure"` 12366 12367 // Explains the actions you might need to take in order to successfully migrate 12368 // your workloads from the current instance type to the recommended instance 12369 // type. 12370 PlatformDifferences []*string `type:"list"` 12371 12372 // Details on the target instance type. 12373 ResourceDetails *ResourceDetails `type:"structure"` 12374} 12375 12376// String returns the string representation 12377func (s TargetInstance) String() string { 12378 return awsutil.Prettify(s) 12379} 12380 12381// GoString returns the string representation 12382func (s TargetInstance) GoString() string { 12383 return s.String() 12384} 12385 12386// SetCurrencyCode sets the CurrencyCode field's value. 12387func (s *TargetInstance) SetCurrencyCode(v string) *TargetInstance { 12388 s.CurrencyCode = &v 12389 return s 12390} 12391 12392// SetDefaultTargetInstance sets the DefaultTargetInstance field's value. 12393func (s *TargetInstance) SetDefaultTargetInstance(v bool) *TargetInstance { 12394 s.DefaultTargetInstance = &v 12395 return s 12396} 12397 12398// SetEstimatedMonthlyCost sets the EstimatedMonthlyCost field's value. 12399func (s *TargetInstance) SetEstimatedMonthlyCost(v string) *TargetInstance { 12400 s.EstimatedMonthlyCost = &v 12401 return s 12402} 12403 12404// SetEstimatedMonthlySavings sets the EstimatedMonthlySavings field's value. 12405func (s *TargetInstance) SetEstimatedMonthlySavings(v string) *TargetInstance { 12406 s.EstimatedMonthlySavings = &v 12407 return s 12408} 12409 12410// SetExpectedResourceUtilization sets the ExpectedResourceUtilization field's value. 12411func (s *TargetInstance) SetExpectedResourceUtilization(v *ResourceUtilization) *TargetInstance { 12412 s.ExpectedResourceUtilization = v 12413 return s 12414} 12415 12416// SetPlatformDifferences sets the PlatformDifferences field's value. 12417func (s *TargetInstance) SetPlatformDifferences(v []*string) *TargetInstance { 12418 s.PlatformDifferences = v 12419 return s 12420} 12421 12422// SetResourceDetails sets the ResourceDetails field's value. 12423func (s *TargetInstance) SetResourceDetails(v *ResourceDetails) *TargetInstance { 12424 s.ResourceDetails = v 12425 return s 12426} 12427 12428// Details on termination recommendation. 12429type TerminateRecommendationDetail struct { 12430 _ struct{} `type:"structure"` 12431 12432 // The currency code that Amazon Web Services used to calculate the costs for 12433 // this instance. 12434 CurrencyCode *string `type:"string"` 12435 12436 // The estimated savings that result from modification, on a monthly basis. 12437 EstimatedMonthlySavings *string `type:"string"` 12438} 12439 12440// String returns the string representation 12441func (s TerminateRecommendationDetail) String() string { 12442 return awsutil.Prettify(s) 12443} 12444 12445// GoString returns the string representation 12446func (s TerminateRecommendationDetail) GoString() string { 12447 return s.String() 12448} 12449 12450// SetCurrencyCode sets the CurrencyCode field's value. 12451func (s *TerminateRecommendationDetail) SetCurrencyCode(v string) *TerminateRecommendationDetail { 12452 s.CurrencyCode = &v 12453 return s 12454} 12455 12456// SetEstimatedMonthlySavings sets the EstimatedMonthlySavings field's value. 12457func (s *TerminateRecommendationDetail) SetEstimatedMonthlySavings(v string) *TerminateRecommendationDetail { 12458 s.EstimatedMonthlySavings = &v 12459 return s 12460} 12461 12462// Filters cost anomalies based on the total impact. 12463type TotalImpactFilter struct { 12464 _ struct{} `type:"structure"` 12465 12466 // The upper bound dollar value that's used in the filter. 12467 EndValue *float64 `type:"double"` 12468 12469 // The comparing value that's used in the filter. 12470 // 12471 // NumericOperator is a required field 12472 NumericOperator *string `type:"string" required:"true" enum:"NumericOperator"` 12473 12474 // The lower bound dollar value that's used in the filter. 12475 // 12476 // StartValue is a required field 12477 StartValue *float64 `type:"double" required:"true"` 12478} 12479 12480// String returns the string representation 12481func (s TotalImpactFilter) String() string { 12482 return awsutil.Prettify(s) 12483} 12484 12485// GoString returns the string representation 12486func (s TotalImpactFilter) GoString() string { 12487 return s.String() 12488} 12489 12490// Validate inspects the fields of the type to determine if they are valid. 12491func (s *TotalImpactFilter) Validate() error { 12492 invalidParams := request.ErrInvalidParams{Context: "TotalImpactFilter"} 12493 if s.NumericOperator == nil { 12494 invalidParams.Add(request.NewErrParamRequired("NumericOperator")) 12495 } 12496 if s.StartValue == nil { 12497 invalidParams.Add(request.NewErrParamRequired("StartValue")) 12498 } 12499 12500 if invalidParams.Len() > 0 { 12501 return invalidParams 12502 } 12503 return nil 12504} 12505 12506// SetEndValue sets the EndValue field's value. 12507func (s *TotalImpactFilter) SetEndValue(v float64) *TotalImpactFilter { 12508 s.EndValue = &v 12509 return s 12510} 12511 12512// SetNumericOperator sets the NumericOperator field's value. 12513func (s *TotalImpactFilter) SetNumericOperator(v string) *TotalImpactFilter { 12514 s.NumericOperator = &v 12515 return s 12516} 12517 12518// SetStartValue sets the StartValue field's value. 12519func (s *TotalImpactFilter) SetStartValue(v float64) *TotalImpactFilter { 12520 s.StartValue = &v 12521 return s 12522} 12523 12524// The cost anomaly monitor does not exist for the account. 12525type UnknownMonitorException struct { 12526 _ struct{} `type:"structure"` 12527 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 12528 12529 Message_ *string `locationName:"Message" type:"string"` 12530} 12531 12532// String returns the string representation 12533func (s UnknownMonitorException) String() string { 12534 return awsutil.Prettify(s) 12535} 12536 12537// GoString returns the string representation 12538func (s UnknownMonitorException) GoString() string { 12539 return s.String() 12540} 12541 12542func newErrorUnknownMonitorException(v protocol.ResponseMetadata) error { 12543 return &UnknownMonitorException{ 12544 RespMetadata: v, 12545 } 12546} 12547 12548// Code returns the exception type name. 12549func (s *UnknownMonitorException) Code() string { 12550 return "UnknownMonitorException" 12551} 12552 12553// Message returns the exception's message. 12554func (s *UnknownMonitorException) Message() string { 12555 if s.Message_ != nil { 12556 return *s.Message_ 12557 } 12558 return "" 12559} 12560 12561// OrigErr always returns nil, satisfies awserr.Error interface. 12562func (s *UnknownMonitorException) OrigErr() error { 12563 return nil 12564} 12565 12566func (s *UnknownMonitorException) Error() string { 12567 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 12568} 12569 12570// Status code returns the HTTP status code for the request's response error. 12571func (s *UnknownMonitorException) StatusCode() int { 12572 return s.RespMetadata.StatusCode 12573} 12574 12575// RequestID returns the service's response RequestID for request. 12576func (s *UnknownMonitorException) RequestID() string { 12577 return s.RespMetadata.RequestID 12578} 12579 12580// The cost anomaly subscription does not exist for the account. 12581type UnknownSubscriptionException struct { 12582 _ struct{} `type:"structure"` 12583 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 12584 12585 Message_ *string `locationName:"Message" type:"string"` 12586} 12587 12588// String returns the string representation 12589func (s UnknownSubscriptionException) String() string { 12590 return awsutil.Prettify(s) 12591} 12592 12593// GoString returns the string representation 12594func (s UnknownSubscriptionException) GoString() string { 12595 return s.String() 12596} 12597 12598func newErrorUnknownSubscriptionException(v protocol.ResponseMetadata) error { 12599 return &UnknownSubscriptionException{ 12600 RespMetadata: v, 12601 } 12602} 12603 12604// Code returns the exception type name. 12605func (s *UnknownSubscriptionException) Code() string { 12606 return "UnknownSubscriptionException" 12607} 12608 12609// Message returns the exception's message. 12610func (s *UnknownSubscriptionException) Message() string { 12611 if s.Message_ != nil { 12612 return *s.Message_ 12613 } 12614 return "" 12615} 12616 12617// OrigErr always returns nil, satisfies awserr.Error interface. 12618func (s *UnknownSubscriptionException) OrigErr() error { 12619 return nil 12620} 12621 12622func (s *UnknownSubscriptionException) Error() string { 12623 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 12624} 12625 12626// Status code returns the HTTP status code for the request's response error. 12627func (s *UnknownSubscriptionException) StatusCode() int { 12628 return s.RespMetadata.StatusCode 12629} 12630 12631// RequestID returns the service's response RequestID for request. 12632func (s *UnknownSubscriptionException) RequestID() string { 12633 return s.RespMetadata.RequestID 12634} 12635 12636// Cost Explorer was unable to identify the usage unit. Provide UsageType/UsageTypeGroup 12637// filter selections that contain matching units, for example: hours. 12638type UnresolvableUsageUnitException struct { 12639 _ struct{} `type:"structure"` 12640 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 12641 12642 Message_ *string `locationName:"Message" type:"string"` 12643} 12644 12645// String returns the string representation 12646func (s UnresolvableUsageUnitException) String() string { 12647 return awsutil.Prettify(s) 12648} 12649 12650// GoString returns the string representation 12651func (s UnresolvableUsageUnitException) GoString() string { 12652 return s.String() 12653} 12654 12655func newErrorUnresolvableUsageUnitException(v protocol.ResponseMetadata) error { 12656 return &UnresolvableUsageUnitException{ 12657 RespMetadata: v, 12658 } 12659} 12660 12661// Code returns the exception type name. 12662func (s *UnresolvableUsageUnitException) Code() string { 12663 return "UnresolvableUsageUnitException" 12664} 12665 12666// Message returns the exception's message. 12667func (s *UnresolvableUsageUnitException) Message() string { 12668 if s.Message_ != nil { 12669 return *s.Message_ 12670 } 12671 return "" 12672} 12673 12674// OrigErr always returns nil, satisfies awserr.Error interface. 12675func (s *UnresolvableUsageUnitException) OrigErr() error { 12676 return nil 12677} 12678 12679func (s *UnresolvableUsageUnitException) Error() string { 12680 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 12681} 12682 12683// Status code returns the HTTP status code for the request's response error. 12684func (s *UnresolvableUsageUnitException) StatusCode() int { 12685 return s.RespMetadata.StatusCode 12686} 12687 12688// RequestID returns the service's response RequestID for request. 12689func (s *UnresolvableUsageUnitException) RequestID() string { 12690 return s.RespMetadata.RequestID 12691} 12692 12693type UpdateAnomalyMonitorInput struct { 12694 _ struct{} `type:"structure"` 12695 12696 // Cost anomaly monitor Amazon Resource Names (ARNs). 12697 // 12698 // MonitorArn is a required field 12699 MonitorArn *string `type:"string" required:"true"` 12700 12701 // The new name for the cost anomaly monitor. 12702 MonitorName *string `type:"string"` 12703} 12704 12705// String returns the string representation 12706func (s UpdateAnomalyMonitorInput) String() string { 12707 return awsutil.Prettify(s) 12708} 12709 12710// GoString returns the string representation 12711func (s UpdateAnomalyMonitorInput) GoString() string { 12712 return s.String() 12713} 12714 12715// Validate inspects the fields of the type to determine if they are valid. 12716func (s *UpdateAnomalyMonitorInput) Validate() error { 12717 invalidParams := request.ErrInvalidParams{Context: "UpdateAnomalyMonitorInput"} 12718 if s.MonitorArn == nil { 12719 invalidParams.Add(request.NewErrParamRequired("MonitorArn")) 12720 } 12721 12722 if invalidParams.Len() > 0 { 12723 return invalidParams 12724 } 12725 return nil 12726} 12727 12728// SetMonitorArn sets the MonitorArn field's value. 12729func (s *UpdateAnomalyMonitorInput) SetMonitorArn(v string) *UpdateAnomalyMonitorInput { 12730 s.MonitorArn = &v 12731 return s 12732} 12733 12734// SetMonitorName sets the MonitorName field's value. 12735func (s *UpdateAnomalyMonitorInput) SetMonitorName(v string) *UpdateAnomalyMonitorInput { 12736 s.MonitorName = &v 12737 return s 12738} 12739 12740type UpdateAnomalyMonitorOutput struct { 12741 _ struct{} `type:"structure"` 12742 12743 // A cost anomaly monitor ARN. 12744 // 12745 // MonitorArn is a required field 12746 MonitorArn *string `type:"string" required:"true"` 12747} 12748 12749// String returns the string representation 12750func (s UpdateAnomalyMonitorOutput) String() string { 12751 return awsutil.Prettify(s) 12752} 12753 12754// GoString returns the string representation 12755func (s UpdateAnomalyMonitorOutput) GoString() string { 12756 return s.String() 12757} 12758 12759// SetMonitorArn sets the MonitorArn field's value. 12760func (s *UpdateAnomalyMonitorOutput) SetMonitorArn(v string) *UpdateAnomalyMonitorOutput { 12761 s.MonitorArn = &v 12762 return s 12763} 12764 12765type UpdateAnomalySubscriptionInput struct { 12766 _ struct{} `type:"structure"` 12767 12768 // The update to the frequency value that subscribers receive notifications. 12769 Frequency *string `type:"string" enum:"AnomalySubscriptionFrequency"` 12770 12771 // A list of cost anomaly monitor ARNs. 12772 MonitorArnList []*string `type:"list"` 12773 12774 // The update to the subscriber list. 12775 Subscribers []*Subscriber `type:"list"` 12776 12777 // A cost anomaly subscription Amazon Resource Name (ARN). 12778 // 12779 // SubscriptionArn is a required field 12780 SubscriptionArn *string `type:"string" required:"true"` 12781 12782 // The new name of the subscription. 12783 SubscriptionName *string `type:"string"` 12784 12785 // The update to the threshold value for receiving notifications. 12786 Threshold *float64 `type:"double"` 12787} 12788 12789// String returns the string representation 12790func (s UpdateAnomalySubscriptionInput) String() string { 12791 return awsutil.Prettify(s) 12792} 12793 12794// GoString returns the string representation 12795func (s UpdateAnomalySubscriptionInput) GoString() string { 12796 return s.String() 12797} 12798 12799// Validate inspects the fields of the type to determine if they are valid. 12800func (s *UpdateAnomalySubscriptionInput) Validate() error { 12801 invalidParams := request.ErrInvalidParams{Context: "UpdateAnomalySubscriptionInput"} 12802 if s.SubscriptionArn == nil { 12803 invalidParams.Add(request.NewErrParamRequired("SubscriptionArn")) 12804 } 12805 if s.Subscribers != nil { 12806 for i, v := range s.Subscribers { 12807 if v == nil { 12808 continue 12809 } 12810 if err := v.Validate(); err != nil { 12811 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Subscribers", i), err.(request.ErrInvalidParams)) 12812 } 12813 } 12814 } 12815 12816 if invalidParams.Len() > 0 { 12817 return invalidParams 12818 } 12819 return nil 12820} 12821 12822// SetFrequency sets the Frequency field's value. 12823func (s *UpdateAnomalySubscriptionInput) SetFrequency(v string) *UpdateAnomalySubscriptionInput { 12824 s.Frequency = &v 12825 return s 12826} 12827 12828// SetMonitorArnList sets the MonitorArnList field's value. 12829func (s *UpdateAnomalySubscriptionInput) SetMonitorArnList(v []*string) *UpdateAnomalySubscriptionInput { 12830 s.MonitorArnList = v 12831 return s 12832} 12833 12834// SetSubscribers sets the Subscribers field's value. 12835func (s *UpdateAnomalySubscriptionInput) SetSubscribers(v []*Subscriber) *UpdateAnomalySubscriptionInput { 12836 s.Subscribers = v 12837 return s 12838} 12839 12840// SetSubscriptionArn sets the SubscriptionArn field's value. 12841func (s *UpdateAnomalySubscriptionInput) SetSubscriptionArn(v string) *UpdateAnomalySubscriptionInput { 12842 s.SubscriptionArn = &v 12843 return s 12844} 12845 12846// SetSubscriptionName sets the SubscriptionName field's value. 12847func (s *UpdateAnomalySubscriptionInput) SetSubscriptionName(v string) *UpdateAnomalySubscriptionInput { 12848 s.SubscriptionName = &v 12849 return s 12850} 12851 12852// SetThreshold sets the Threshold field's value. 12853func (s *UpdateAnomalySubscriptionInput) SetThreshold(v float64) *UpdateAnomalySubscriptionInput { 12854 s.Threshold = &v 12855 return s 12856} 12857 12858type UpdateAnomalySubscriptionOutput struct { 12859 _ struct{} `type:"structure"` 12860 12861 // A cost anomaly subscription ARN. 12862 // 12863 // SubscriptionArn is a required field 12864 SubscriptionArn *string `type:"string" required:"true"` 12865} 12866 12867// String returns the string representation 12868func (s UpdateAnomalySubscriptionOutput) String() string { 12869 return awsutil.Prettify(s) 12870} 12871 12872// GoString returns the string representation 12873func (s UpdateAnomalySubscriptionOutput) GoString() string { 12874 return s.String() 12875} 12876 12877// SetSubscriptionArn sets the SubscriptionArn field's value. 12878func (s *UpdateAnomalySubscriptionOutput) SetSubscriptionArn(v string) *UpdateAnomalySubscriptionOutput { 12879 s.SubscriptionArn = &v 12880 return s 12881} 12882 12883type UpdateCostCategoryDefinitionInput struct { 12884 _ struct{} `type:"structure"` 12885 12886 // The unique identifier for your Cost Category. 12887 // 12888 // CostCategoryArn is a required field 12889 CostCategoryArn *string `min:"20" type:"string" required:"true"` 12890 12891 // The default value for the cost category. 12892 DefaultValue *string `min:"1" type:"string"` 12893 12894 // The rule schema version in this particular Cost Category. 12895 // 12896 // RuleVersion is a required field 12897 RuleVersion *string `type:"string" required:"true" enum:"CostCategoryRuleVersion"` 12898 12899 // The Expression object used to categorize costs. For more information, see 12900 // CostCategoryRule (https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_CostCategoryRule.html). 12901 // 12902 // Rules is a required field 12903 Rules []*CostCategoryRule `min:"1" type:"list" required:"true"` 12904 12905 // The split charge rules used to allocate your charges between your Cost Category 12906 // values. 12907 SplitChargeRules []*CostCategorySplitChargeRule `min:"1" type:"list"` 12908} 12909 12910// String returns the string representation 12911func (s UpdateCostCategoryDefinitionInput) String() string { 12912 return awsutil.Prettify(s) 12913} 12914 12915// GoString returns the string representation 12916func (s UpdateCostCategoryDefinitionInput) GoString() string { 12917 return s.String() 12918} 12919 12920// Validate inspects the fields of the type to determine if they are valid. 12921func (s *UpdateCostCategoryDefinitionInput) Validate() error { 12922 invalidParams := request.ErrInvalidParams{Context: "UpdateCostCategoryDefinitionInput"} 12923 if s.CostCategoryArn == nil { 12924 invalidParams.Add(request.NewErrParamRequired("CostCategoryArn")) 12925 } 12926 if s.CostCategoryArn != nil && len(*s.CostCategoryArn) < 20 { 12927 invalidParams.Add(request.NewErrParamMinLen("CostCategoryArn", 20)) 12928 } 12929 if s.DefaultValue != nil && len(*s.DefaultValue) < 1 { 12930 invalidParams.Add(request.NewErrParamMinLen("DefaultValue", 1)) 12931 } 12932 if s.RuleVersion == nil { 12933 invalidParams.Add(request.NewErrParamRequired("RuleVersion")) 12934 } 12935 if s.Rules == nil { 12936 invalidParams.Add(request.NewErrParamRequired("Rules")) 12937 } 12938 if s.Rules != nil && len(s.Rules) < 1 { 12939 invalidParams.Add(request.NewErrParamMinLen("Rules", 1)) 12940 } 12941 if s.SplitChargeRules != nil && len(s.SplitChargeRules) < 1 { 12942 invalidParams.Add(request.NewErrParamMinLen("SplitChargeRules", 1)) 12943 } 12944 if s.Rules != nil { 12945 for i, v := range s.Rules { 12946 if v == nil { 12947 continue 12948 } 12949 if err := v.Validate(); err != nil { 12950 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Rules", i), err.(request.ErrInvalidParams)) 12951 } 12952 } 12953 } 12954 if s.SplitChargeRules != nil { 12955 for i, v := range s.SplitChargeRules { 12956 if v == nil { 12957 continue 12958 } 12959 if err := v.Validate(); err != nil { 12960 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "SplitChargeRules", i), err.(request.ErrInvalidParams)) 12961 } 12962 } 12963 } 12964 12965 if invalidParams.Len() > 0 { 12966 return invalidParams 12967 } 12968 return nil 12969} 12970 12971// SetCostCategoryArn sets the CostCategoryArn field's value. 12972func (s *UpdateCostCategoryDefinitionInput) SetCostCategoryArn(v string) *UpdateCostCategoryDefinitionInput { 12973 s.CostCategoryArn = &v 12974 return s 12975} 12976 12977// SetDefaultValue sets the DefaultValue field's value. 12978func (s *UpdateCostCategoryDefinitionInput) SetDefaultValue(v string) *UpdateCostCategoryDefinitionInput { 12979 s.DefaultValue = &v 12980 return s 12981} 12982 12983// SetRuleVersion sets the RuleVersion field's value. 12984func (s *UpdateCostCategoryDefinitionInput) SetRuleVersion(v string) *UpdateCostCategoryDefinitionInput { 12985 s.RuleVersion = &v 12986 return s 12987} 12988 12989// SetRules sets the Rules field's value. 12990func (s *UpdateCostCategoryDefinitionInput) SetRules(v []*CostCategoryRule) *UpdateCostCategoryDefinitionInput { 12991 s.Rules = v 12992 return s 12993} 12994 12995// SetSplitChargeRules sets the SplitChargeRules field's value. 12996func (s *UpdateCostCategoryDefinitionInput) SetSplitChargeRules(v []*CostCategorySplitChargeRule) *UpdateCostCategoryDefinitionInput { 12997 s.SplitChargeRules = v 12998 return s 12999} 13000 13001type UpdateCostCategoryDefinitionOutput struct { 13002 _ struct{} `type:"structure"` 13003 13004 // The unique identifier for your Cost Category. 13005 CostCategoryArn *string `min:"20" type:"string"` 13006 13007 // The Cost Category's effective start date. 13008 EffectiveStart *string `min:"20" type:"string"` 13009} 13010 13011// String returns the string representation 13012func (s UpdateCostCategoryDefinitionOutput) String() string { 13013 return awsutil.Prettify(s) 13014} 13015 13016// GoString returns the string representation 13017func (s UpdateCostCategoryDefinitionOutput) GoString() string { 13018 return s.String() 13019} 13020 13021// SetCostCategoryArn sets the CostCategoryArn field's value. 13022func (s *UpdateCostCategoryDefinitionOutput) SetCostCategoryArn(v string) *UpdateCostCategoryDefinitionOutput { 13023 s.CostCategoryArn = &v 13024 return s 13025} 13026 13027// SetEffectiveStart sets the EffectiveStart field's value. 13028func (s *UpdateCostCategoryDefinitionOutput) SetEffectiveStart(v string) *UpdateCostCategoryDefinitionOutput { 13029 s.EffectiveStart = &v 13030 return s 13031} 13032 13033// The amount of utilization, in hours. 13034type UtilizationByTime struct { 13035 _ struct{} `type:"structure"` 13036 13037 // The groups that this utilization result uses. 13038 Groups []*ReservationUtilizationGroup `type:"list"` 13039 13040 // The period of time that this utilization was used for. 13041 TimePeriod *DateInterval `type:"structure"` 13042 13043 // The total number of reservation hours that were used. 13044 Total *ReservationAggregates `type:"structure"` 13045} 13046 13047// String returns the string representation 13048func (s UtilizationByTime) String() string { 13049 return awsutil.Prettify(s) 13050} 13051 13052// GoString returns the string representation 13053func (s UtilizationByTime) GoString() string { 13054 return s.String() 13055} 13056 13057// SetGroups sets the Groups field's value. 13058func (s *UtilizationByTime) SetGroups(v []*ReservationUtilizationGroup) *UtilizationByTime { 13059 s.Groups = v 13060 return s 13061} 13062 13063// SetTimePeriod sets the TimePeriod field's value. 13064func (s *UtilizationByTime) SetTimePeriod(v *DateInterval) *UtilizationByTime { 13065 s.TimePeriod = v 13066 return s 13067} 13068 13069// SetTotal sets the Total field's value. 13070func (s *UtilizationByTime) SetTotal(v *ReservationAggregates) *UtilizationByTime { 13071 s.Total = v 13072 return s 13073} 13074 13075const ( 13076 // AccountScopePayer is a AccountScope enum value 13077 AccountScopePayer = "PAYER" 13078 13079 // AccountScopeLinked is a AccountScope enum value 13080 AccountScopeLinked = "LINKED" 13081) 13082 13083// AccountScope_Values returns all elements of the AccountScope enum 13084func AccountScope_Values() []string { 13085 return []string{ 13086 AccountScopePayer, 13087 AccountScopeLinked, 13088 } 13089} 13090 13091const ( 13092 // AnomalyFeedbackTypeYes is a AnomalyFeedbackType enum value 13093 AnomalyFeedbackTypeYes = "YES" 13094 13095 // AnomalyFeedbackTypeNo is a AnomalyFeedbackType enum value 13096 AnomalyFeedbackTypeNo = "NO" 13097 13098 // AnomalyFeedbackTypePlannedActivity is a AnomalyFeedbackType enum value 13099 AnomalyFeedbackTypePlannedActivity = "PLANNED_ACTIVITY" 13100) 13101 13102// AnomalyFeedbackType_Values returns all elements of the AnomalyFeedbackType enum 13103func AnomalyFeedbackType_Values() []string { 13104 return []string{ 13105 AnomalyFeedbackTypeYes, 13106 AnomalyFeedbackTypeNo, 13107 AnomalyFeedbackTypePlannedActivity, 13108 } 13109} 13110 13111const ( 13112 // AnomalySubscriptionFrequencyDaily is a AnomalySubscriptionFrequency enum value 13113 AnomalySubscriptionFrequencyDaily = "DAILY" 13114 13115 // AnomalySubscriptionFrequencyImmediate is a AnomalySubscriptionFrequency enum value 13116 AnomalySubscriptionFrequencyImmediate = "IMMEDIATE" 13117 13118 // AnomalySubscriptionFrequencyWeekly is a AnomalySubscriptionFrequency enum value 13119 AnomalySubscriptionFrequencyWeekly = "WEEKLY" 13120) 13121 13122// AnomalySubscriptionFrequency_Values returns all elements of the AnomalySubscriptionFrequency enum 13123func AnomalySubscriptionFrequency_Values() []string { 13124 return []string{ 13125 AnomalySubscriptionFrequencyDaily, 13126 AnomalySubscriptionFrequencyImmediate, 13127 AnomalySubscriptionFrequencyWeekly, 13128 } 13129} 13130 13131const ( 13132 // ContextCostAndUsage is a Context enum value 13133 ContextCostAndUsage = "COST_AND_USAGE" 13134 13135 // ContextReservations is a Context enum value 13136 ContextReservations = "RESERVATIONS" 13137 13138 // ContextSavingsPlans is a Context enum value 13139 ContextSavingsPlans = "SAVINGS_PLANS" 13140) 13141 13142// Context_Values returns all elements of the Context enum 13143func Context_Values() []string { 13144 return []string{ 13145 ContextCostAndUsage, 13146 ContextReservations, 13147 ContextSavingsPlans, 13148 } 13149} 13150 13151const ( 13152 // CostCategoryInheritedValueDimensionNameLinkedAccountName is a CostCategoryInheritedValueDimensionName enum value 13153 CostCategoryInheritedValueDimensionNameLinkedAccountName = "LINKED_ACCOUNT_NAME" 13154 13155 // CostCategoryInheritedValueDimensionNameTag is a CostCategoryInheritedValueDimensionName enum value 13156 CostCategoryInheritedValueDimensionNameTag = "TAG" 13157) 13158 13159// CostCategoryInheritedValueDimensionName_Values returns all elements of the CostCategoryInheritedValueDimensionName enum 13160func CostCategoryInheritedValueDimensionName_Values() []string { 13161 return []string{ 13162 CostCategoryInheritedValueDimensionNameLinkedAccountName, 13163 CostCategoryInheritedValueDimensionNameTag, 13164 } 13165} 13166 13167const ( 13168 // CostCategoryRuleTypeRegular is a CostCategoryRuleType enum value 13169 CostCategoryRuleTypeRegular = "REGULAR" 13170 13171 // CostCategoryRuleTypeInheritedValue is a CostCategoryRuleType enum value 13172 CostCategoryRuleTypeInheritedValue = "INHERITED_VALUE" 13173) 13174 13175// CostCategoryRuleType_Values returns all elements of the CostCategoryRuleType enum 13176func CostCategoryRuleType_Values() []string { 13177 return []string{ 13178 CostCategoryRuleTypeRegular, 13179 CostCategoryRuleTypeInheritedValue, 13180 } 13181} 13182 13183// The rule schema version in this particular Cost Category. 13184const ( 13185 // CostCategoryRuleVersionCostCategoryExpressionV1 is a CostCategoryRuleVersion enum value 13186 CostCategoryRuleVersionCostCategoryExpressionV1 = "CostCategoryExpression.v1" 13187) 13188 13189// CostCategoryRuleVersion_Values returns all elements of the CostCategoryRuleVersion enum 13190func CostCategoryRuleVersion_Values() []string { 13191 return []string{ 13192 CostCategoryRuleVersionCostCategoryExpressionV1, 13193 } 13194} 13195 13196const ( 13197 // CostCategorySplitChargeMethodFixed is a CostCategorySplitChargeMethod enum value 13198 CostCategorySplitChargeMethodFixed = "FIXED" 13199 13200 // CostCategorySplitChargeMethodProportional is a CostCategorySplitChargeMethod enum value 13201 CostCategorySplitChargeMethodProportional = "PROPORTIONAL" 13202 13203 // CostCategorySplitChargeMethodEven is a CostCategorySplitChargeMethod enum value 13204 CostCategorySplitChargeMethodEven = "EVEN" 13205) 13206 13207// CostCategorySplitChargeMethod_Values returns all elements of the CostCategorySplitChargeMethod enum 13208func CostCategorySplitChargeMethod_Values() []string { 13209 return []string{ 13210 CostCategorySplitChargeMethodFixed, 13211 CostCategorySplitChargeMethodProportional, 13212 CostCategorySplitChargeMethodEven, 13213 } 13214} 13215 13216const ( 13217 // CostCategorySplitChargeRuleParameterTypeAllocationPercentages is a CostCategorySplitChargeRuleParameterType enum value 13218 CostCategorySplitChargeRuleParameterTypeAllocationPercentages = "ALLOCATION_PERCENTAGES" 13219) 13220 13221// CostCategorySplitChargeRuleParameterType_Values returns all elements of the CostCategorySplitChargeRuleParameterType enum 13222func CostCategorySplitChargeRuleParameterType_Values() []string { 13223 return []string{ 13224 CostCategorySplitChargeRuleParameterTypeAllocationPercentages, 13225 } 13226} 13227 13228const ( 13229 // CostCategoryStatusProcessing is a CostCategoryStatus enum value 13230 CostCategoryStatusProcessing = "PROCESSING" 13231 13232 // CostCategoryStatusApplied is a CostCategoryStatus enum value 13233 CostCategoryStatusApplied = "APPLIED" 13234) 13235 13236// CostCategoryStatus_Values returns all elements of the CostCategoryStatus enum 13237func CostCategoryStatus_Values() []string { 13238 return []string{ 13239 CostCategoryStatusProcessing, 13240 CostCategoryStatusApplied, 13241 } 13242} 13243 13244const ( 13245 // CostCategoryStatusComponentCostExplorer is a CostCategoryStatusComponent enum value 13246 CostCategoryStatusComponentCostExplorer = "COST_EXPLORER" 13247) 13248 13249// CostCategoryStatusComponent_Values returns all elements of the CostCategoryStatusComponent enum 13250func CostCategoryStatusComponent_Values() []string { 13251 return []string{ 13252 CostCategoryStatusComponentCostExplorer, 13253 } 13254} 13255 13256const ( 13257 // DimensionAz is a Dimension enum value 13258 DimensionAz = "AZ" 13259 13260 // DimensionInstanceType is a Dimension enum value 13261 DimensionInstanceType = "INSTANCE_TYPE" 13262 13263 // DimensionLinkedAccount is a Dimension enum value 13264 DimensionLinkedAccount = "LINKED_ACCOUNT" 13265 13266 // DimensionLinkedAccountName is a Dimension enum value 13267 DimensionLinkedAccountName = "LINKED_ACCOUNT_NAME" 13268 13269 // DimensionOperation is a Dimension enum value 13270 DimensionOperation = "OPERATION" 13271 13272 // DimensionPurchaseType is a Dimension enum value 13273 DimensionPurchaseType = "PURCHASE_TYPE" 13274 13275 // DimensionRegion is a Dimension enum value 13276 DimensionRegion = "REGION" 13277 13278 // DimensionService is a Dimension enum value 13279 DimensionService = "SERVICE" 13280 13281 // DimensionServiceCode is a Dimension enum value 13282 DimensionServiceCode = "SERVICE_CODE" 13283 13284 // DimensionUsageType is a Dimension enum value 13285 DimensionUsageType = "USAGE_TYPE" 13286 13287 // DimensionUsageTypeGroup is a Dimension enum value 13288 DimensionUsageTypeGroup = "USAGE_TYPE_GROUP" 13289 13290 // DimensionRecordType is a Dimension enum value 13291 DimensionRecordType = "RECORD_TYPE" 13292 13293 // DimensionOperatingSystem is a Dimension enum value 13294 DimensionOperatingSystem = "OPERATING_SYSTEM" 13295 13296 // DimensionTenancy is a Dimension enum value 13297 DimensionTenancy = "TENANCY" 13298 13299 // DimensionScope is a Dimension enum value 13300 DimensionScope = "SCOPE" 13301 13302 // DimensionPlatform is a Dimension enum value 13303 DimensionPlatform = "PLATFORM" 13304 13305 // DimensionSubscriptionId is a Dimension enum value 13306 DimensionSubscriptionId = "SUBSCRIPTION_ID" 13307 13308 // DimensionLegalEntityName is a Dimension enum value 13309 DimensionLegalEntityName = "LEGAL_ENTITY_NAME" 13310 13311 // DimensionDeploymentOption is a Dimension enum value 13312 DimensionDeploymentOption = "DEPLOYMENT_OPTION" 13313 13314 // DimensionDatabaseEngine is a Dimension enum value 13315 DimensionDatabaseEngine = "DATABASE_ENGINE" 13316 13317 // DimensionCacheEngine is a Dimension enum value 13318 DimensionCacheEngine = "CACHE_ENGINE" 13319 13320 // DimensionInstanceTypeFamily is a Dimension enum value 13321 DimensionInstanceTypeFamily = "INSTANCE_TYPE_FAMILY" 13322 13323 // DimensionBillingEntity is a Dimension enum value 13324 DimensionBillingEntity = "BILLING_ENTITY" 13325 13326 // DimensionReservationId is a Dimension enum value 13327 DimensionReservationId = "RESERVATION_ID" 13328 13329 // DimensionResourceId is a Dimension enum value 13330 DimensionResourceId = "RESOURCE_ID" 13331 13332 // DimensionRightsizingType is a Dimension enum value 13333 DimensionRightsizingType = "RIGHTSIZING_TYPE" 13334 13335 // DimensionSavingsPlansType is a Dimension enum value 13336 DimensionSavingsPlansType = "SAVINGS_PLANS_TYPE" 13337 13338 // DimensionSavingsPlanArn is a Dimension enum value 13339 DimensionSavingsPlanArn = "SAVINGS_PLAN_ARN" 13340 13341 // DimensionPaymentOption is a Dimension enum value 13342 DimensionPaymentOption = "PAYMENT_OPTION" 13343 13344 // DimensionAgreementEndDateTimeAfter is a Dimension enum value 13345 DimensionAgreementEndDateTimeAfter = "AGREEMENT_END_DATE_TIME_AFTER" 13346 13347 // DimensionAgreementEndDateTimeBefore is a Dimension enum value 13348 DimensionAgreementEndDateTimeBefore = "AGREEMENT_END_DATE_TIME_BEFORE" 13349) 13350 13351// Dimension_Values returns all elements of the Dimension enum 13352func Dimension_Values() []string { 13353 return []string{ 13354 DimensionAz, 13355 DimensionInstanceType, 13356 DimensionLinkedAccount, 13357 DimensionLinkedAccountName, 13358 DimensionOperation, 13359 DimensionPurchaseType, 13360 DimensionRegion, 13361 DimensionService, 13362 DimensionServiceCode, 13363 DimensionUsageType, 13364 DimensionUsageTypeGroup, 13365 DimensionRecordType, 13366 DimensionOperatingSystem, 13367 DimensionTenancy, 13368 DimensionScope, 13369 DimensionPlatform, 13370 DimensionSubscriptionId, 13371 DimensionLegalEntityName, 13372 DimensionDeploymentOption, 13373 DimensionDatabaseEngine, 13374 DimensionCacheEngine, 13375 DimensionInstanceTypeFamily, 13376 DimensionBillingEntity, 13377 DimensionReservationId, 13378 DimensionResourceId, 13379 DimensionRightsizingType, 13380 DimensionSavingsPlansType, 13381 DimensionSavingsPlanArn, 13382 DimensionPaymentOption, 13383 DimensionAgreementEndDateTimeAfter, 13384 DimensionAgreementEndDateTimeBefore, 13385 } 13386} 13387 13388const ( 13389 // FindingReasonCodeCpuOverProvisioned is a FindingReasonCode enum value 13390 FindingReasonCodeCpuOverProvisioned = "CPU_OVER_PROVISIONED" 13391 13392 // FindingReasonCodeCpuUnderProvisioned is a FindingReasonCode enum value 13393 FindingReasonCodeCpuUnderProvisioned = "CPU_UNDER_PROVISIONED" 13394 13395 // FindingReasonCodeMemoryOverProvisioned is a FindingReasonCode enum value 13396 FindingReasonCodeMemoryOverProvisioned = "MEMORY_OVER_PROVISIONED" 13397 13398 // FindingReasonCodeMemoryUnderProvisioned is a FindingReasonCode enum value 13399 FindingReasonCodeMemoryUnderProvisioned = "MEMORY_UNDER_PROVISIONED" 13400 13401 // FindingReasonCodeEbsThroughputOverProvisioned is a FindingReasonCode enum value 13402 FindingReasonCodeEbsThroughputOverProvisioned = "EBS_THROUGHPUT_OVER_PROVISIONED" 13403 13404 // FindingReasonCodeEbsThroughputUnderProvisioned is a FindingReasonCode enum value 13405 FindingReasonCodeEbsThroughputUnderProvisioned = "EBS_THROUGHPUT_UNDER_PROVISIONED" 13406 13407 // FindingReasonCodeEbsIopsOverProvisioned is a FindingReasonCode enum value 13408 FindingReasonCodeEbsIopsOverProvisioned = "EBS_IOPS_OVER_PROVISIONED" 13409 13410 // FindingReasonCodeEbsIopsUnderProvisioned is a FindingReasonCode enum value 13411 FindingReasonCodeEbsIopsUnderProvisioned = "EBS_IOPS_UNDER_PROVISIONED" 13412 13413 // FindingReasonCodeNetworkBandwidthOverProvisioned is a FindingReasonCode enum value 13414 FindingReasonCodeNetworkBandwidthOverProvisioned = "NETWORK_BANDWIDTH_OVER_PROVISIONED" 13415 13416 // FindingReasonCodeNetworkBandwidthUnderProvisioned is a FindingReasonCode enum value 13417 FindingReasonCodeNetworkBandwidthUnderProvisioned = "NETWORK_BANDWIDTH_UNDER_PROVISIONED" 13418 13419 // FindingReasonCodeNetworkPpsOverProvisioned is a FindingReasonCode enum value 13420 FindingReasonCodeNetworkPpsOverProvisioned = "NETWORK_PPS_OVER_PROVISIONED" 13421 13422 // FindingReasonCodeNetworkPpsUnderProvisioned is a FindingReasonCode enum value 13423 FindingReasonCodeNetworkPpsUnderProvisioned = "NETWORK_PPS_UNDER_PROVISIONED" 13424 13425 // FindingReasonCodeDiskIopsOverProvisioned is a FindingReasonCode enum value 13426 FindingReasonCodeDiskIopsOverProvisioned = "DISK_IOPS_OVER_PROVISIONED" 13427 13428 // FindingReasonCodeDiskIopsUnderProvisioned is a FindingReasonCode enum value 13429 FindingReasonCodeDiskIopsUnderProvisioned = "DISK_IOPS_UNDER_PROVISIONED" 13430 13431 // FindingReasonCodeDiskThroughputOverProvisioned is a FindingReasonCode enum value 13432 FindingReasonCodeDiskThroughputOverProvisioned = "DISK_THROUGHPUT_OVER_PROVISIONED" 13433 13434 // FindingReasonCodeDiskThroughputUnderProvisioned is a FindingReasonCode enum value 13435 FindingReasonCodeDiskThroughputUnderProvisioned = "DISK_THROUGHPUT_UNDER_PROVISIONED" 13436) 13437 13438// FindingReasonCode_Values returns all elements of the FindingReasonCode enum 13439func FindingReasonCode_Values() []string { 13440 return []string{ 13441 FindingReasonCodeCpuOverProvisioned, 13442 FindingReasonCodeCpuUnderProvisioned, 13443 FindingReasonCodeMemoryOverProvisioned, 13444 FindingReasonCodeMemoryUnderProvisioned, 13445 FindingReasonCodeEbsThroughputOverProvisioned, 13446 FindingReasonCodeEbsThroughputUnderProvisioned, 13447 FindingReasonCodeEbsIopsOverProvisioned, 13448 FindingReasonCodeEbsIopsUnderProvisioned, 13449 FindingReasonCodeNetworkBandwidthOverProvisioned, 13450 FindingReasonCodeNetworkBandwidthUnderProvisioned, 13451 FindingReasonCodeNetworkPpsOverProvisioned, 13452 FindingReasonCodeNetworkPpsUnderProvisioned, 13453 FindingReasonCodeDiskIopsOverProvisioned, 13454 FindingReasonCodeDiskIopsUnderProvisioned, 13455 FindingReasonCodeDiskThroughputOverProvisioned, 13456 FindingReasonCodeDiskThroughputUnderProvisioned, 13457 } 13458} 13459 13460const ( 13461 // GranularityDaily is a Granularity enum value 13462 GranularityDaily = "DAILY" 13463 13464 // GranularityMonthly is a Granularity enum value 13465 GranularityMonthly = "MONTHLY" 13466 13467 // GranularityHourly is a Granularity enum value 13468 GranularityHourly = "HOURLY" 13469) 13470 13471// Granularity_Values returns all elements of the Granularity enum 13472func Granularity_Values() []string { 13473 return []string{ 13474 GranularityDaily, 13475 GranularityMonthly, 13476 GranularityHourly, 13477 } 13478} 13479 13480const ( 13481 // GroupDefinitionTypeDimension is a GroupDefinitionType enum value 13482 GroupDefinitionTypeDimension = "DIMENSION" 13483 13484 // GroupDefinitionTypeTag is a GroupDefinitionType enum value 13485 GroupDefinitionTypeTag = "TAG" 13486 13487 // GroupDefinitionTypeCostCategory is a GroupDefinitionType enum value 13488 GroupDefinitionTypeCostCategory = "COST_CATEGORY" 13489) 13490 13491// GroupDefinitionType_Values returns all elements of the GroupDefinitionType enum 13492func GroupDefinitionType_Values() []string { 13493 return []string{ 13494 GroupDefinitionTypeDimension, 13495 GroupDefinitionTypeTag, 13496 GroupDefinitionTypeCostCategory, 13497 } 13498} 13499 13500const ( 13501 // LookbackPeriodInDaysSevenDays is a LookbackPeriodInDays enum value 13502 LookbackPeriodInDaysSevenDays = "SEVEN_DAYS" 13503 13504 // LookbackPeriodInDaysThirtyDays is a LookbackPeriodInDays enum value 13505 LookbackPeriodInDaysThirtyDays = "THIRTY_DAYS" 13506 13507 // LookbackPeriodInDaysSixtyDays is a LookbackPeriodInDays enum value 13508 LookbackPeriodInDaysSixtyDays = "SIXTY_DAYS" 13509) 13510 13511// LookbackPeriodInDays_Values returns all elements of the LookbackPeriodInDays enum 13512func LookbackPeriodInDays_Values() []string { 13513 return []string{ 13514 LookbackPeriodInDaysSevenDays, 13515 LookbackPeriodInDaysThirtyDays, 13516 LookbackPeriodInDaysSixtyDays, 13517 } 13518} 13519 13520const ( 13521 // MatchOptionEquals is a MatchOption enum value 13522 MatchOptionEquals = "EQUALS" 13523 13524 // MatchOptionAbsent is a MatchOption enum value 13525 MatchOptionAbsent = "ABSENT" 13526 13527 // MatchOptionStartsWith is a MatchOption enum value 13528 MatchOptionStartsWith = "STARTS_WITH" 13529 13530 // MatchOptionEndsWith is a MatchOption enum value 13531 MatchOptionEndsWith = "ENDS_WITH" 13532 13533 // MatchOptionContains is a MatchOption enum value 13534 MatchOptionContains = "CONTAINS" 13535 13536 // MatchOptionCaseSensitive is a MatchOption enum value 13537 MatchOptionCaseSensitive = "CASE_SENSITIVE" 13538 13539 // MatchOptionCaseInsensitive is a MatchOption enum value 13540 MatchOptionCaseInsensitive = "CASE_INSENSITIVE" 13541) 13542 13543// MatchOption_Values returns all elements of the MatchOption enum 13544func MatchOption_Values() []string { 13545 return []string{ 13546 MatchOptionEquals, 13547 MatchOptionAbsent, 13548 MatchOptionStartsWith, 13549 MatchOptionEndsWith, 13550 MatchOptionContains, 13551 MatchOptionCaseSensitive, 13552 MatchOptionCaseInsensitive, 13553 } 13554} 13555 13556const ( 13557 // MetricBlendedCost is a Metric enum value 13558 MetricBlendedCost = "BLENDED_COST" 13559 13560 // MetricUnblendedCost is a Metric enum value 13561 MetricUnblendedCost = "UNBLENDED_COST" 13562 13563 // MetricAmortizedCost is a Metric enum value 13564 MetricAmortizedCost = "AMORTIZED_COST" 13565 13566 // MetricNetUnblendedCost is a Metric enum value 13567 MetricNetUnblendedCost = "NET_UNBLENDED_COST" 13568 13569 // MetricNetAmortizedCost is a Metric enum value 13570 MetricNetAmortizedCost = "NET_AMORTIZED_COST" 13571 13572 // MetricUsageQuantity is a Metric enum value 13573 MetricUsageQuantity = "USAGE_QUANTITY" 13574 13575 // MetricNormalizedUsageAmount is a Metric enum value 13576 MetricNormalizedUsageAmount = "NORMALIZED_USAGE_AMOUNT" 13577) 13578 13579// Metric_Values returns all elements of the Metric enum 13580func Metric_Values() []string { 13581 return []string{ 13582 MetricBlendedCost, 13583 MetricUnblendedCost, 13584 MetricAmortizedCost, 13585 MetricNetUnblendedCost, 13586 MetricNetAmortizedCost, 13587 MetricUsageQuantity, 13588 MetricNormalizedUsageAmount, 13589 } 13590} 13591 13592const ( 13593 // MonitorDimensionService is a MonitorDimension enum value 13594 MonitorDimensionService = "SERVICE" 13595) 13596 13597// MonitorDimension_Values returns all elements of the MonitorDimension enum 13598func MonitorDimension_Values() []string { 13599 return []string{ 13600 MonitorDimensionService, 13601 } 13602} 13603 13604const ( 13605 // MonitorTypeDimensional is a MonitorType enum value 13606 MonitorTypeDimensional = "DIMENSIONAL" 13607 13608 // MonitorTypeCustom is a MonitorType enum value 13609 MonitorTypeCustom = "CUSTOM" 13610) 13611 13612// MonitorType_Values returns all elements of the MonitorType enum 13613func MonitorType_Values() []string { 13614 return []string{ 13615 MonitorTypeDimensional, 13616 MonitorTypeCustom, 13617 } 13618} 13619 13620const ( 13621 // NumericOperatorEqual is a NumericOperator enum value 13622 NumericOperatorEqual = "EQUAL" 13623 13624 // NumericOperatorGreaterThanOrEqual is a NumericOperator enum value 13625 NumericOperatorGreaterThanOrEqual = "GREATER_THAN_OR_EQUAL" 13626 13627 // NumericOperatorLessThanOrEqual is a NumericOperator enum value 13628 NumericOperatorLessThanOrEqual = "LESS_THAN_OR_EQUAL" 13629 13630 // NumericOperatorGreaterThan is a NumericOperator enum value 13631 NumericOperatorGreaterThan = "GREATER_THAN" 13632 13633 // NumericOperatorLessThan is a NumericOperator enum value 13634 NumericOperatorLessThan = "LESS_THAN" 13635 13636 // NumericOperatorBetween is a NumericOperator enum value 13637 NumericOperatorBetween = "BETWEEN" 13638) 13639 13640// NumericOperator_Values returns all elements of the NumericOperator enum 13641func NumericOperator_Values() []string { 13642 return []string{ 13643 NumericOperatorEqual, 13644 NumericOperatorGreaterThanOrEqual, 13645 NumericOperatorLessThanOrEqual, 13646 NumericOperatorGreaterThan, 13647 NumericOperatorLessThan, 13648 NumericOperatorBetween, 13649 } 13650} 13651 13652const ( 13653 // OfferingClassStandard is a OfferingClass enum value 13654 OfferingClassStandard = "STANDARD" 13655 13656 // OfferingClassConvertible is a OfferingClass enum value 13657 OfferingClassConvertible = "CONVERTIBLE" 13658) 13659 13660// OfferingClass_Values returns all elements of the OfferingClass enum 13661func OfferingClass_Values() []string { 13662 return []string{ 13663 OfferingClassStandard, 13664 OfferingClassConvertible, 13665 } 13666} 13667 13668const ( 13669 // PaymentOptionNoUpfront is a PaymentOption enum value 13670 PaymentOptionNoUpfront = "NO_UPFRONT" 13671 13672 // PaymentOptionPartialUpfront is a PaymentOption enum value 13673 PaymentOptionPartialUpfront = "PARTIAL_UPFRONT" 13674 13675 // PaymentOptionAllUpfront is a PaymentOption enum value 13676 PaymentOptionAllUpfront = "ALL_UPFRONT" 13677 13678 // PaymentOptionLightUtilization is a PaymentOption enum value 13679 PaymentOptionLightUtilization = "LIGHT_UTILIZATION" 13680 13681 // PaymentOptionMediumUtilization is a PaymentOption enum value 13682 PaymentOptionMediumUtilization = "MEDIUM_UTILIZATION" 13683 13684 // PaymentOptionHeavyUtilization is a PaymentOption enum value 13685 PaymentOptionHeavyUtilization = "HEAVY_UTILIZATION" 13686) 13687 13688// PaymentOption_Values returns all elements of the PaymentOption enum 13689func PaymentOption_Values() []string { 13690 return []string{ 13691 PaymentOptionNoUpfront, 13692 PaymentOptionPartialUpfront, 13693 PaymentOptionAllUpfront, 13694 PaymentOptionLightUtilization, 13695 PaymentOptionMediumUtilization, 13696 PaymentOptionHeavyUtilization, 13697 } 13698} 13699 13700const ( 13701 // PlatformDifferenceHypervisor is a PlatformDifference enum value 13702 PlatformDifferenceHypervisor = "HYPERVISOR" 13703 13704 // PlatformDifferenceNetworkInterface is a PlatformDifference enum value 13705 PlatformDifferenceNetworkInterface = "NETWORK_INTERFACE" 13706 13707 // PlatformDifferenceStorageInterface is a PlatformDifference enum value 13708 PlatformDifferenceStorageInterface = "STORAGE_INTERFACE" 13709 13710 // PlatformDifferenceInstanceStoreAvailability is a PlatformDifference enum value 13711 PlatformDifferenceInstanceStoreAvailability = "INSTANCE_STORE_AVAILABILITY" 13712 13713 // PlatformDifferenceVirtualizationType is a PlatformDifference enum value 13714 PlatformDifferenceVirtualizationType = "VIRTUALIZATION_TYPE" 13715) 13716 13717// PlatformDifference_Values returns all elements of the PlatformDifference enum 13718func PlatformDifference_Values() []string { 13719 return []string{ 13720 PlatformDifferenceHypervisor, 13721 PlatformDifferenceNetworkInterface, 13722 PlatformDifferenceStorageInterface, 13723 PlatformDifferenceInstanceStoreAvailability, 13724 PlatformDifferenceVirtualizationType, 13725 } 13726} 13727 13728const ( 13729 // RecommendationTargetSameInstanceFamily is a RecommendationTarget enum value 13730 RecommendationTargetSameInstanceFamily = "SAME_INSTANCE_FAMILY" 13731 13732 // RecommendationTargetCrossInstanceFamily is a RecommendationTarget enum value 13733 RecommendationTargetCrossInstanceFamily = "CROSS_INSTANCE_FAMILY" 13734) 13735 13736// RecommendationTarget_Values returns all elements of the RecommendationTarget enum 13737func RecommendationTarget_Values() []string { 13738 return []string{ 13739 RecommendationTargetSameInstanceFamily, 13740 RecommendationTargetCrossInstanceFamily, 13741 } 13742} 13743 13744const ( 13745 // RightsizingTypeTerminate is a RightsizingType enum value 13746 RightsizingTypeTerminate = "TERMINATE" 13747 13748 // RightsizingTypeModify is a RightsizingType enum value 13749 RightsizingTypeModify = "MODIFY" 13750) 13751 13752// RightsizingType_Values returns all elements of the RightsizingType enum 13753func RightsizingType_Values() []string { 13754 return []string{ 13755 RightsizingTypeTerminate, 13756 RightsizingTypeModify, 13757 } 13758} 13759 13760const ( 13761 // SavingsPlansDataTypeAttributes is a SavingsPlansDataType enum value 13762 SavingsPlansDataTypeAttributes = "ATTRIBUTES" 13763 13764 // SavingsPlansDataTypeUtilization is a SavingsPlansDataType enum value 13765 SavingsPlansDataTypeUtilization = "UTILIZATION" 13766 13767 // SavingsPlansDataTypeAmortizedCommitment is a SavingsPlansDataType enum value 13768 SavingsPlansDataTypeAmortizedCommitment = "AMORTIZED_COMMITMENT" 13769 13770 // SavingsPlansDataTypeSavings is a SavingsPlansDataType enum value 13771 SavingsPlansDataTypeSavings = "SAVINGS" 13772) 13773 13774// SavingsPlansDataType_Values returns all elements of the SavingsPlansDataType enum 13775func SavingsPlansDataType_Values() []string { 13776 return []string{ 13777 SavingsPlansDataTypeAttributes, 13778 SavingsPlansDataTypeUtilization, 13779 SavingsPlansDataTypeAmortizedCommitment, 13780 SavingsPlansDataTypeSavings, 13781 } 13782} 13783 13784const ( 13785 // SortOrderAscending is a SortOrder enum value 13786 SortOrderAscending = "ASCENDING" 13787 13788 // SortOrderDescending is a SortOrder enum value 13789 SortOrderDescending = "DESCENDING" 13790) 13791 13792// SortOrder_Values returns all elements of the SortOrder enum 13793func SortOrder_Values() []string { 13794 return []string{ 13795 SortOrderAscending, 13796 SortOrderDescending, 13797 } 13798} 13799 13800const ( 13801 // SubscriberStatusConfirmed is a SubscriberStatus enum value 13802 SubscriberStatusConfirmed = "CONFIRMED" 13803 13804 // SubscriberStatusDeclined is a SubscriberStatus enum value 13805 SubscriberStatusDeclined = "DECLINED" 13806) 13807 13808// SubscriberStatus_Values returns all elements of the SubscriberStatus enum 13809func SubscriberStatus_Values() []string { 13810 return []string{ 13811 SubscriberStatusConfirmed, 13812 SubscriberStatusDeclined, 13813 } 13814} 13815 13816const ( 13817 // SubscriberTypeEmail is a SubscriberType enum value 13818 SubscriberTypeEmail = "EMAIL" 13819 13820 // SubscriberTypeSns is a SubscriberType enum value 13821 SubscriberTypeSns = "SNS" 13822) 13823 13824// SubscriberType_Values returns all elements of the SubscriberType enum 13825func SubscriberType_Values() []string { 13826 return []string{ 13827 SubscriberTypeEmail, 13828 SubscriberTypeSns, 13829 } 13830} 13831 13832const ( 13833 // SupportedSavingsPlansTypeComputeSp is a SupportedSavingsPlansType enum value 13834 SupportedSavingsPlansTypeComputeSp = "COMPUTE_SP" 13835 13836 // SupportedSavingsPlansTypeEc2InstanceSp is a SupportedSavingsPlansType enum value 13837 SupportedSavingsPlansTypeEc2InstanceSp = "EC2_INSTANCE_SP" 13838 13839 // SupportedSavingsPlansTypeSagemakerSp is a SupportedSavingsPlansType enum value 13840 SupportedSavingsPlansTypeSagemakerSp = "SAGEMAKER_SP" 13841) 13842 13843// SupportedSavingsPlansType_Values returns all elements of the SupportedSavingsPlansType enum 13844func SupportedSavingsPlansType_Values() []string { 13845 return []string{ 13846 SupportedSavingsPlansTypeComputeSp, 13847 SupportedSavingsPlansTypeEc2InstanceSp, 13848 SupportedSavingsPlansTypeSagemakerSp, 13849 } 13850} 13851 13852const ( 13853 // TermInYearsOneYear is a TermInYears enum value 13854 TermInYearsOneYear = "ONE_YEAR" 13855 13856 // TermInYearsThreeYears is a TermInYears enum value 13857 TermInYearsThreeYears = "THREE_YEARS" 13858) 13859 13860// TermInYears_Values returns all elements of the TermInYears enum 13861func TermInYears_Values() []string { 13862 return []string{ 13863 TermInYearsOneYear, 13864 TermInYearsThreeYears, 13865 } 13866} 13867