github.com/aavshr/aws-sdk-go@v1.41.3/service/budgets/api.go (about) 1 // Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. 2 3 package budgets 4 5 import ( 6 "fmt" 7 "time" 8 9 "github.com/aavshr/aws-sdk-go/aws" 10 "github.com/aavshr/aws-sdk-go/aws/awsutil" 11 "github.com/aavshr/aws-sdk-go/aws/request" 12 "github.com/aavshr/aws-sdk-go/private/protocol" 13 "github.com/aavshr/aws-sdk-go/private/protocol/jsonrpc" 14 ) 15 16 const opCreateBudget = "CreateBudget" 17 18 // CreateBudgetRequest generates a "aws/request.Request" representing the 19 // client's request for the CreateBudget operation. The "output" return 20 // value will be populated with the request's response once the request completes 21 // successfully. 22 // 23 // Use "Send" method on the returned Request to send the API call to the service. 24 // the "output" return value is not valid until after Send returns without error. 25 // 26 // See CreateBudget for more information on using the CreateBudget 27 // API call, and error handling. 28 // 29 // This method is useful when you want to inject custom logic or configuration 30 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 31 // 32 // 33 // // Example sending a request using the CreateBudgetRequest method. 34 // req, resp := client.CreateBudgetRequest(params) 35 // 36 // err := req.Send() 37 // if err == nil { // resp is now filled 38 // fmt.Println(resp) 39 // } 40 func (c *Budgets) CreateBudgetRequest(input *CreateBudgetInput) (req *request.Request, output *CreateBudgetOutput) { 41 op := &request.Operation{ 42 Name: opCreateBudget, 43 HTTPMethod: "POST", 44 HTTPPath: "/", 45 } 46 47 if input == nil { 48 input = &CreateBudgetInput{} 49 } 50 51 output = &CreateBudgetOutput{} 52 req = c.newRequest(op, input, output) 53 req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 54 return 55 } 56 57 // CreateBudget API operation for AWS Budgets. 58 // 59 // Creates a budget and, if included, notifications and subscribers. 60 // 61 // Only one of BudgetLimit or PlannedBudgetLimits can be present in the syntax 62 // at one time. Use the syntax that matches your case. The Request Syntax section 63 // shows the BudgetLimit syntax. For PlannedBudgetLimits, see the Examples (https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_budgets_CreateBudget.html#API_CreateBudget_Examples) 64 // section. 65 // 66 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 67 // with awserr.Error's Code and Message methods to get detailed information about 68 // the error. 69 // 70 // See the AWS API reference guide for AWS Budgets's 71 // API operation CreateBudget for usage and error information. 72 // 73 // Returned Error Types: 74 // * InvalidParameterException 75 // An error on the client occurred. Typically, the cause is an invalid input 76 // value. 77 // 78 // * InternalErrorException 79 // An error on the server occurred during the processing of your request. Try 80 // again later. 81 // 82 // * CreationLimitExceededException 83 // You've exceeded the notification or subscriber limit. 84 // 85 // * DuplicateRecordException 86 // The budget name already exists. Budget names must be unique within an account. 87 // 88 // * AccessDeniedException 89 // You are not authorized to use this operation with the given parameters. 90 // 91 func (c *Budgets) CreateBudget(input *CreateBudgetInput) (*CreateBudgetOutput, error) { 92 req, out := c.CreateBudgetRequest(input) 93 return out, req.Send() 94 } 95 96 // CreateBudgetWithContext is the same as CreateBudget with the addition of 97 // the ability to pass a context and additional request options. 98 // 99 // See CreateBudget for details on how to use this API operation. 100 // 101 // The context must be non-nil and will be used for request cancellation. If 102 // the context is nil a panic will occur. In the future the SDK may create 103 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 104 // for more information on using Contexts. 105 func (c *Budgets) CreateBudgetWithContext(ctx aws.Context, input *CreateBudgetInput, opts ...request.Option) (*CreateBudgetOutput, error) { 106 req, out := c.CreateBudgetRequest(input) 107 req.SetContext(ctx) 108 req.ApplyOptions(opts...) 109 return out, req.Send() 110 } 111 112 const opCreateBudgetAction = "CreateBudgetAction" 113 114 // CreateBudgetActionRequest generates a "aws/request.Request" representing the 115 // client's request for the CreateBudgetAction operation. The "output" return 116 // value will be populated with the request's response once the request completes 117 // successfully. 118 // 119 // Use "Send" method on the returned Request to send the API call to the service. 120 // the "output" return value is not valid until after Send returns without error. 121 // 122 // See CreateBudgetAction for more information on using the CreateBudgetAction 123 // API call, and error handling. 124 // 125 // This method is useful when you want to inject custom logic or configuration 126 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 127 // 128 // 129 // // Example sending a request using the CreateBudgetActionRequest method. 130 // req, resp := client.CreateBudgetActionRequest(params) 131 // 132 // err := req.Send() 133 // if err == nil { // resp is now filled 134 // fmt.Println(resp) 135 // } 136 func (c *Budgets) CreateBudgetActionRequest(input *CreateBudgetActionInput) (req *request.Request, output *CreateBudgetActionOutput) { 137 op := &request.Operation{ 138 Name: opCreateBudgetAction, 139 HTTPMethod: "POST", 140 HTTPPath: "/", 141 } 142 143 if input == nil { 144 input = &CreateBudgetActionInput{} 145 } 146 147 output = &CreateBudgetActionOutput{} 148 req = c.newRequest(op, input, output) 149 return 150 } 151 152 // CreateBudgetAction API operation for AWS Budgets. 153 // 154 // Creates a budget action. 155 // 156 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 157 // with awserr.Error's Code and Message methods to get detailed information about 158 // the error. 159 // 160 // See the AWS API reference guide for AWS Budgets's 161 // API operation CreateBudgetAction for usage and error information. 162 // 163 // Returned Error Types: 164 // * InvalidParameterException 165 // An error on the client occurred. Typically, the cause is an invalid input 166 // value. 167 // 168 // * InternalErrorException 169 // An error on the server occurred during the processing of your request. Try 170 // again later. 171 // 172 // * CreationLimitExceededException 173 // You've exceeded the notification or subscriber limit. 174 // 175 // * DuplicateRecordException 176 // The budget name already exists. Budget names must be unique within an account. 177 // 178 // * NotFoundException 179 // We can’t locate the resource that you specified. 180 // 181 // * AccessDeniedException 182 // You are not authorized to use this operation with the given parameters. 183 // 184 func (c *Budgets) CreateBudgetAction(input *CreateBudgetActionInput) (*CreateBudgetActionOutput, error) { 185 req, out := c.CreateBudgetActionRequest(input) 186 return out, req.Send() 187 } 188 189 // CreateBudgetActionWithContext is the same as CreateBudgetAction with the addition of 190 // the ability to pass a context and additional request options. 191 // 192 // See CreateBudgetAction for details on how to use this API operation. 193 // 194 // The context must be non-nil and will be used for request cancellation. If 195 // the context is nil a panic will occur. In the future the SDK may create 196 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 197 // for more information on using Contexts. 198 func (c *Budgets) CreateBudgetActionWithContext(ctx aws.Context, input *CreateBudgetActionInput, opts ...request.Option) (*CreateBudgetActionOutput, error) { 199 req, out := c.CreateBudgetActionRequest(input) 200 req.SetContext(ctx) 201 req.ApplyOptions(opts...) 202 return out, req.Send() 203 } 204 205 const opCreateNotification = "CreateNotification" 206 207 // CreateNotificationRequest generates a "aws/request.Request" representing the 208 // client's request for the CreateNotification operation. The "output" return 209 // value will be populated with the request's response once the request completes 210 // successfully. 211 // 212 // Use "Send" method on the returned Request to send the API call to the service. 213 // the "output" return value is not valid until after Send returns without error. 214 // 215 // See CreateNotification for more information on using the CreateNotification 216 // API call, and error handling. 217 // 218 // This method is useful when you want to inject custom logic or configuration 219 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 220 // 221 // 222 // // Example sending a request using the CreateNotificationRequest method. 223 // req, resp := client.CreateNotificationRequest(params) 224 // 225 // err := req.Send() 226 // if err == nil { // resp is now filled 227 // fmt.Println(resp) 228 // } 229 func (c *Budgets) CreateNotificationRequest(input *CreateNotificationInput) (req *request.Request, output *CreateNotificationOutput) { 230 op := &request.Operation{ 231 Name: opCreateNotification, 232 HTTPMethod: "POST", 233 HTTPPath: "/", 234 } 235 236 if input == nil { 237 input = &CreateNotificationInput{} 238 } 239 240 output = &CreateNotificationOutput{} 241 req = c.newRequest(op, input, output) 242 req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 243 return 244 } 245 246 // CreateNotification API operation for AWS Budgets. 247 // 248 // Creates a notification. You must create the budget before you create the 249 // associated notification. 250 // 251 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 252 // with awserr.Error's Code and Message methods to get detailed information about 253 // the error. 254 // 255 // See the AWS API reference guide for AWS Budgets's 256 // API operation CreateNotification for usage and error information. 257 // 258 // Returned Error Types: 259 // * InternalErrorException 260 // An error on the server occurred during the processing of your request. Try 261 // again later. 262 // 263 // * InvalidParameterException 264 // An error on the client occurred. Typically, the cause is an invalid input 265 // value. 266 // 267 // * NotFoundException 268 // We can’t locate the resource that you specified. 269 // 270 // * CreationLimitExceededException 271 // You've exceeded the notification or subscriber limit. 272 // 273 // * DuplicateRecordException 274 // The budget name already exists. Budget names must be unique within an account. 275 // 276 // * AccessDeniedException 277 // You are not authorized to use this operation with the given parameters. 278 // 279 func (c *Budgets) CreateNotification(input *CreateNotificationInput) (*CreateNotificationOutput, error) { 280 req, out := c.CreateNotificationRequest(input) 281 return out, req.Send() 282 } 283 284 // CreateNotificationWithContext is the same as CreateNotification with the addition of 285 // the ability to pass a context and additional request options. 286 // 287 // See CreateNotification for details on how to use this API operation. 288 // 289 // The context must be non-nil and will be used for request cancellation. If 290 // the context is nil a panic will occur. In the future the SDK may create 291 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 292 // for more information on using Contexts. 293 func (c *Budgets) CreateNotificationWithContext(ctx aws.Context, input *CreateNotificationInput, opts ...request.Option) (*CreateNotificationOutput, error) { 294 req, out := c.CreateNotificationRequest(input) 295 req.SetContext(ctx) 296 req.ApplyOptions(opts...) 297 return out, req.Send() 298 } 299 300 const opCreateSubscriber = "CreateSubscriber" 301 302 // CreateSubscriberRequest generates a "aws/request.Request" representing the 303 // client's request for the CreateSubscriber operation. The "output" return 304 // value will be populated with the request's response once the request completes 305 // successfully. 306 // 307 // Use "Send" method on the returned Request to send the API call to the service. 308 // the "output" return value is not valid until after Send returns without error. 309 // 310 // See CreateSubscriber for more information on using the CreateSubscriber 311 // API call, and error handling. 312 // 313 // This method is useful when you want to inject custom logic or configuration 314 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 315 // 316 // 317 // // Example sending a request using the CreateSubscriberRequest method. 318 // req, resp := client.CreateSubscriberRequest(params) 319 // 320 // err := req.Send() 321 // if err == nil { // resp is now filled 322 // fmt.Println(resp) 323 // } 324 func (c *Budgets) CreateSubscriberRequest(input *CreateSubscriberInput) (req *request.Request, output *CreateSubscriberOutput) { 325 op := &request.Operation{ 326 Name: opCreateSubscriber, 327 HTTPMethod: "POST", 328 HTTPPath: "/", 329 } 330 331 if input == nil { 332 input = &CreateSubscriberInput{} 333 } 334 335 output = &CreateSubscriberOutput{} 336 req = c.newRequest(op, input, output) 337 req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 338 return 339 } 340 341 // CreateSubscriber API operation for AWS Budgets. 342 // 343 // Creates a subscriber. You must create the associated budget and notification 344 // before you create the subscriber. 345 // 346 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 347 // with awserr.Error's Code and Message methods to get detailed information about 348 // the error. 349 // 350 // See the AWS API reference guide for AWS Budgets's 351 // API operation CreateSubscriber for usage and error information. 352 // 353 // Returned Error Types: 354 // * InternalErrorException 355 // An error on the server occurred during the processing of your request. Try 356 // again later. 357 // 358 // * InvalidParameterException 359 // An error on the client occurred. Typically, the cause is an invalid input 360 // value. 361 // 362 // * CreationLimitExceededException 363 // You've exceeded the notification or subscriber limit. 364 // 365 // * DuplicateRecordException 366 // The budget name already exists. Budget names must be unique within an account. 367 // 368 // * NotFoundException 369 // We can’t locate the resource that you specified. 370 // 371 // * AccessDeniedException 372 // You are not authorized to use this operation with the given parameters. 373 // 374 func (c *Budgets) CreateSubscriber(input *CreateSubscriberInput) (*CreateSubscriberOutput, error) { 375 req, out := c.CreateSubscriberRequest(input) 376 return out, req.Send() 377 } 378 379 // CreateSubscriberWithContext is the same as CreateSubscriber with the addition of 380 // the ability to pass a context and additional request options. 381 // 382 // See CreateSubscriber for details on how to use this API operation. 383 // 384 // The context must be non-nil and will be used for request cancellation. If 385 // the context is nil a panic will occur. In the future the SDK may create 386 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 387 // for more information on using Contexts. 388 func (c *Budgets) CreateSubscriberWithContext(ctx aws.Context, input *CreateSubscriberInput, opts ...request.Option) (*CreateSubscriberOutput, error) { 389 req, out := c.CreateSubscriberRequest(input) 390 req.SetContext(ctx) 391 req.ApplyOptions(opts...) 392 return out, req.Send() 393 } 394 395 const opDeleteBudget = "DeleteBudget" 396 397 // DeleteBudgetRequest generates a "aws/request.Request" representing the 398 // client's request for the DeleteBudget operation. The "output" return 399 // value will be populated with the request's response once the request completes 400 // successfully. 401 // 402 // Use "Send" method on the returned Request to send the API call to the service. 403 // the "output" return value is not valid until after Send returns without error. 404 // 405 // See DeleteBudget for more information on using the DeleteBudget 406 // API call, and error handling. 407 // 408 // This method is useful when you want to inject custom logic or configuration 409 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 410 // 411 // 412 // // Example sending a request using the DeleteBudgetRequest method. 413 // req, resp := client.DeleteBudgetRequest(params) 414 // 415 // err := req.Send() 416 // if err == nil { // resp is now filled 417 // fmt.Println(resp) 418 // } 419 func (c *Budgets) DeleteBudgetRequest(input *DeleteBudgetInput) (req *request.Request, output *DeleteBudgetOutput) { 420 op := &request.Operation{ 421 Name: opDeleteBudget, 422 HTTPMethod: "POST", 423 HTTPPath: "/", 424 } 425 426 if input == nil { 427 input = &DeleteBudgetInput{} 428 } 429 430 output = &DeleteBudgetOutput{} 431 req = c.newRequest(op, input, output) 432 req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 433 return 434 } 435 436 // DeleteBudget API operation for AWS Budgets. 437 // 438 // Deletes a budget. You can delete your budget at any time. 439 // 440 // Deleting a budget also deletes the notifications and subscribers that are 441 // associated with that budget. 442 // 443 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 444 // with awserr.Error's Code and Message methods to get detailed information about 445 // the error. 446 // 447 // See the AWS API reference guide for AWS Budgets's 448 // API operation DeleteBudget for usage and error information. 449 // 450 // Returned Error Types: 451 // * InternalErrorException 452 // An error on the server occurred during the processing of your request. Try 453 // again later. 454 // 455 // * InvalidParameterException 456 // An error on the client occurred. Typically, the cause is an invalid input 457 // value. 458 // 459 // * NotFoundException 460 // We can’t locate the resource that you specified. 461 // 462 // * AccessDeniedException 463 // You are not authorized to use this operation with the given parameters. 464 // 465 func (c *Budgets) DeleteBudget(input *DeleteBudgetInput) (*DeleteBudgetOutput, error) { 466 req, out := c.DeleteBudgetRequest(input) 467 return out, req.Send() 468 } 469 470 // DeleteBudgetWithContext is the same as DeleteBudget with the addition of 471 // the ability to pass a context and additional request options. 472 // 473 // See DeleteBudget for details on how to use this API operation. 474 // 475 // The context must be non-nil and will be used for request cancellation. If 476 // the context is nil a panic will occur. In the future the SDK may create 477 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 478 // for more information on using Contexts. 479 func (c *Budgets) DeleteBudgetWithContext(ctx aws.Context, input *DeleteBudgetInput, opts ...request.Option) (*DeleteBudgetOutput, error) { 480 req, out := c.DeleteBudgetRequest(input) 481 req.SetContext(ctx) 482 req.ApplyOptions(opts...) 483 return out, req.Send() 484 } 485 486 const opDeleteBudgetAction = "DeleteBudgetAction" 487 488 // DeleteBudgetActionRequest generates a "aws/request.Request" representing the 489 // client's request for the DeleteBudgetAction operation. The "output" return 490 // value will be populated with the request's response once the request completes 491 // successfully. 492 // 493 // Use "Send" method on the returned Request to send the API call to the service. 494 // the "output" return value is not valid until after Send returns without error. 495 // 496 // See DeleteBudgetAction for more information on using the DeleteBudgetAction 497 // API call, and error handling. 498 // 499 // This method is useful when you want to inject custom logic or configuration 500 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 501 // 502 // 503 // // Example sending a request using the DeleteBudgetActionRequest method. 504 // req, resp := client.DeleteBudgetActionRequest(params) 505 // 506 // err := req.Send() 507 // if err == nil { // resp is now filled 508 // fmt.Println(resp) 509 // } 510 func (c *Budgets) DeleteBudgetActionRequest(input *DeleteBudgetActionInput) (req *request.Request, output *DeleteBudgetActionOutput) { 511 op := &request.Operation{ 512 Name: opDeleteBudgetAction, 513 HTTPMethod: "POST", 514 HTTPPath: "/", 515 } 516 517 if input == nil { 518 input = &DeleteBudgetActionInput{} 519 } 520 521 output = &DeleteBudgetActionOutput{} 522 req = c.newRequest(op, input, output) 523 return 524 } 525 526 // DeleteBudgetAction API operation for AWS Budgets. 527 // 528 // Deletes a budget action. 529 // 530 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 531 // with awserr.Error's Code and Message methods to get detailed information about 532 // the error. 533 // 534 // See the AWS API reference guide for AWS Budgets's 535 // API operation DeleteBudgetAction for usage and error information. 536 // 537 // Returned Error Types: 538 // * InternalErrorException 539 // An error on the server occurred during the processing of your request. Try 540 // again later. 541 // 542 // * InvalidParameterException 543 // An error on the client occurred. Typically, the cause is an invalid input 544 // value. 545 // 546 // * NotFoundException 547 // We can’t locate the resource that you specified. 548 // 549 // * AccessDeniedException 550 // You are not authorized to use this operation with the given parameters. 551 // 552 // * ResourceLockedException 553 // The request was received and recognized by the server, but the server rejected 554 // that particular method for the requested resource. 555 // 556 func (c *Budgets) DeleteBudgetAction(input *DeleteBudgetActionInput) (*DeleteBudgetActionOutput, error) { 557 req, out := c.DeleteBudgetActionRequest(input) 558 return out, req.Send() 559 } 560 561 // DeleteBudgetActionWithContext is the same as DeleteBudgetAction with the addition of 562 // the ability to pass a context and additional request options. 563 // 564 // See DeleteBudgetAction for details on how to use this API operation. 565 // 566 // The context must be non-nil and will be used for request cancellation. If 567 // the context is nil a panic will occur. In the future the SDK may create 568 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 569 // for more information on using Contexts. 570 func (c *Budgets) DeleteBudgetActionWithContext(ctx aws.Context, input *DeleteBudgetActionInput, opts ...request.Option) (*DeleteBudgetActionOutput, error) { 571 req, out := c.DeleteBudgetActionRequest(input) 572 req.SetContext(ctx) 573 req.ApplyOptions(opts...) 574 return out, req.Send() 575 } 576 577 const opDeleteNotification = "DeleteNotification" 578 579 // DeleteNotificationRequest generates a "aws/request.Request" representing the 580 // client's request for the DeleteNotification operation. The "output" return 581 // value will be populated with the request's response once the request completes 582 // successfully. 583 // 584 // Use "Send" method on the returned Request to send the API call to the service. 585 // the "output" return value is not valid until after Send returns without error. 586 // 587 // See DeleteNotification for more information on using the DeleteNotification 588 // API call, and error handling. 589 // 590 // This method is useful when you want to inject custom logic or configuration 591 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 592 // 593 // 594 // // Example sending a request using the DeleteNotificationRequest method. 595 // req, resp := client.DeleteNotificationRequest(params) 596 // 597 // err := req.Send() 598 // if err == nil { // resp is now filled 599 // fmt.Println(resp) 600 // } 601 func (c *Budgets) DeleteNotificationRequest(input *DeleteNotificationInput) (req *request.Request, output *DeleteNotificationOutput) { 602 op := &request.Operation{ 603 Name: opDeleteNotification, 604 HTTPMethod: "POST", 605 HTTPPath: "/", 606 } 607 608 if input == nil { 609 input = &DeleteNotificationInput{} 610 } 611 612 output = &DeleteNotificationOutput{} 613 req = c.newRequest(op, input, output) 614 req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 615 return 616 } 617 618 // DeleteNotification API operation for AWS Budgets. 619 // 620 // Deletes a notification. 621 // 622 // Deleting a notification also deletes the subscribers that are associated 623 // with the notification. 624 // 625 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 626 // with awserr.Error's Code and Message methods to get detailed information about 627 // the error. 628 // 629 // See the AWS API reference guide for AWS Budgets's 630 // API operation DeleteNotification for usage and error information. 631 // 632 // Returned Error Types: 633 // * InvalidParameterException 634 // An error on the client occurred. Typically, the cause is an invalid input 635 // value. 636 // 637 // * InternalErrorException 638 // An error on the server occurred during the processing of your request. Try 639 // again later. 640 // 641 // * NotFoundException 642 // We can’t locate the resource that you specified. 643 // 644 // * AccessDeniedException 645 // You are not authorized to use this operation with the given parameters. 646 // 647 func (c *Budgets) DeleteNotification(input *DeleteNotificationInput) (*DeleteNotificationOutput, error) { 648 req, out := c.DeleteNotificationRequest(input) 649 return out, req.Send() 650 } 651 652 // DeleteNotificationWithContext is the same as DeleteNotification with the addition of 653 // the ability to pass a context and additional request options. 654 // 655 // See DeleteNotification for details on how to use this API operation. 656 // 657 // The context must be non-nil and will be used for request cancellation. If 658 // the context is nil a panic will occur. In the future the SDK may create 659 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 660 // for more information on using Contexts. 661 func (c *Budgets) DeleteNotificationWithContext(ctx aws.Context, input *DeleteNotificationInput, opts ...request.Option) (*DeleteNotificationOutput, error) { 662 req, out := c.DeleteNotificationRequest(input) 663 req.SetContext(ctx) 664 req.ApplyOptions(opts...) 665 return out, req.Send() 666 } 667 668 const opDeleteSubscriber = "DeleteSubscriber" 669 670 // DeleteSubscriberRequest generates a "aws/request.Request" representing the 671 // client's request for the DeleteSubscriber operation. The "output" return 672 // value will be populated with the request's response once the request completes 673 // successfully. 674 // 675 // Use "Send" method on the returned Request to send the API call to the service. 676 // the "output" return value is not valid until after Send returns without error. 677 // 678 // See DeleteSubscriber for more information on using the DeleteSubscriber 679 // API call, and error handling. 680 // 681 // This method is useful when you want to inject custom logic or configuration 682 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 683 // 684 // 685 // // Example sending a request using the DeleteSubscriberRequest method. 686 // req, resp := client.DeleteSubscriberRequest(params) 687 // 688 // err := req.Send() 689 // if err == nil { // resp is now filled 690 // fmt.Println(resp) 691 // } 692 func (c *Budgets) DeleteSubscriberRequest(input *DeleteSubscriberInput) (req *request.Request, output *DeleteSubscriberOutput) { 693 op := &request.Operation{ 694 Name: opDeleteSubscriber, 695 HTTPMethod: "POST", 696 HTTPPath: "/", 697 } 698 699 if input == nil { 700 input = &DeleteSubscriberInput{} 701 } 702 703 output = &DeleteSubscriberOutput{} 704 req = c.newRequest(op, input, output) 705 req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 706 return 707 } 708 709 // DeleteSubscriber API operation for AWS Budgets. 710 // 711 // Deletes a subscriber. 712 // 713 // Deleting the last subscriber to a notification also deletes the notification. 714 // 715 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 716 // with awserr.Error's Code and Message methods to get detailed information about 717 // the error. 718 // 719 // See the AWS API reference guide for AWS Budgets's 720 // API operation DeleteSubscriber for usage and error information. 721 // 722 // Returned Error Types: 723 // * InternalErrorException 724 // An error on the server occurred during the processing of your request. Try 725 // again later. 726 // 727 // * InvalidParameterException 728 // An error on the client occurred. Typically, the cause is an invalid input 729 // value. 730 // 731 // * NotFoundException 732 // We can’t locate the resource that you specified. 733 // 734 // * AccessDeniedException 735 // You are not authorized to use this operation with the given parameters. 736 // 737 func (c *Budgets) DeleteSubscriber(input *DeleteSubscriberInput) (*DeleteSubscriberOutput, error) { 738 req, out := c.DeleteSubscriberRequest(input) 739 return out, req.Send() 740 } 741 742 // DeleteSubscriberWithContext is the same as DeleteSubscriber with the addition of 743 // the ability to pass a context and additional request options. 744 // 745 // See DeleteSubscriber for details on how to use this API operation. 746 // 747 // The context must be non-nil and will be used for request cancellation. If 748 // the context is nil a panic will occur. In the future the SDK may create 749 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 750 // for more information on using Contexts. 751 func (c *Budgets) DeleteSubscriberWithContext(ctx aws.Context, input *DeleteSubscriberInput, opts ...request.Option) (*DeleteSubscriberOutput, error) { 752 req, out := c.DeleteSubscriberRequest(input) 753 req.SetContext(ctx) 754 req.ApplyOptions(opts...) 755 return out, req.Send() 756 } 757 758 const opDescribeBudget = "DescribeBudget" 759 760 // DescribeBudgetRequest generates a "aws/request.Request" representing the 761 // client's request for the DescribeBudget operation. The "output" return 762 // value will be populated with the request's response once the request completes 763 // successfully. 764 // 765 // Use "Send" method on the returned Request to send the API call to the service. 766 // the "output" return value is not valid until after Send returns without error. 767 // 768 // See DescribeBudget for more information on using the DescribeBudget 769 // API call, and error handling. 770 // 771 // This method is useful when you want to inject custom logic or configuration 772 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 773 // 774 // 775 // // Example sending a request using the DescribeBudgetRequest method. 776 // req, resp := client.DescribeBudgetRequest(params) 777 // 778 // err := req.Send() 779 // if err == nil { // resp is now filled 780 // fmt.Println(resp) 781 // } 782 func (c *Budgets) DescribeBudgetRequest(input *DescribeBudgetInput) (req *request.Request, output *DescribeBudgetOutput) { 783 op := &request.Operation{ 784 Name: opDescribeBudget, 785 HTTPMethod: "POST", 786 HTTPPath: "/", 787 } 788 789 if input == nil { 790 input = &DescribeBudgetInput{} 791 } 792 793 output = &DescribeBudgetOutput{} 794 req = c.newRequest(op, input, output) 795 return 796 } 797 798 // DescribeBudget API operation for AWS Budgets. 799 // 800 // Describes a budget. 801 // 802 // The Request Syntax section shows the BudgetLimit syntax. For PlannedBudgetLimits, 803 // see the Examples (https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_budgets_DescribeBudget.html#API_DescribeBudget_Examples) 804 // section. 805 // 806 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 807 // with awserr.Error's Code and Message methods to get detailed information about 808 // the error. 809 // 810 // See the AWS API reference guide for AWS Budgets's 811 // API operation DescribeBudget for usage and error information. 812 // 813 // Returned Error Types: 814 // * InternalErrorException 815 // An error on the server occurred during the processing of your request. Try 816 // again later. 817 // 818 // * InvalidParameterException 819 // An error on the client occurred. Typically, the cause is an invalid input 820 // value. 821 // 822 // * NotFoundException 823 // We can’t locate the resource that you specified. 824 // 825 // * AccessDeniedException 826 // You are not authorized to use this operation with the given parameters. 827 // 828 func (c *Budgets) DescribeBudget(input *DescribeBudgetInput) (*DescribeBudgetOutput, error) { 829 req, out := c.DescribeBudgetRequest(input) 830 return out, req.Send() 831 } 832 833 // DescribeBudgetWithContext is the same as DescribeBudget with the addition of 834 // the ability to pass a context and additional request options. 835 // 836 // See DescribeBudget for details on how to use this API operation. 837 // 838 // The context must be non-nil and will be used for request cancellation. If 839 // the context is nil a panic will occur. In the future the SDK may create 840 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 841 // for more information on using Contexts. 842 func (c *Budgets) DescribeBudgetWithContext(ctx aws.Context, input *DescribeBudgetInput, opts ...request.Option) (*DescribeBudgetOutput, error) { 843 req, out := c.DescribeBudgetRequest(input) 844 req.SetContext(ctx) 845 req.ApplyOptions(opts...) 846 return out, req.Send() 847 } 848 849 const opDescribeBudgetAction = "DescribeBudgetAction" 850 851 // DescribeBudgetActionRequest generates a "aws/request.Request" representing the 852 // client's request for the DescribeBudgetAction operation. The "output" return 853 // value will be populated with the request's response once the request completes 854 // successfully. 855 // 856 // Use "Send" method on the returned Request to send the API call to the service. 857 // the "output" return value is not valid until after Send returns without error. 858 // 859 // See DescribeBudgetAction for more information on using the DescribeBudgetAction 860 // API call, and error handling. 861 // 862 // This method is useful when you want to inject custom logic or configuration 863 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 864 // 865 // 866 // // Example sending a request using the DescribeBudgetActionRequest method. 867 // req, resp := client.DescribeBudgetActionRequest(params) 868 // 869 // err := req.Send() 870 // if err == nil { // resp is now filled 871 // fmt.Println(resp) 872 // } 873 func (c *Budgets) DescribeBudgetActionRequest(input *DescribeBudgetActionInput) (req *request.Request, output *DescribeBudgetActionOutput) { 874 op := &request.Operation{ 875 Name: opDescribeBudgetAction, 876 HTTPMethod: "POST", 877 HTTPPath: "/", 878 } 879 880 if input == nil { 881 input = &DescribeBudgetActionInput{} 882 } 883 884 output = &DescribeBudgetActionOutput{} 885 req = c.newRequest(op, input, output) 886 return 887 } 888 889 // DescribeBudgetAction API operation for AWS Budgets. 890 // 891 // Describes a budget action detail. 892 // 893 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 894 // with awserr.Error's Code and Message methods to get detailed information about 895 // the error. 896 // 897 // See the AWS API reference guide for AWS Budgets's 898 // API operation DescribeBudgetAction for usage and error information. 899 // 900 // Returned Error Types: 901 // * InternalErrorException 902 // An error on the server occurred during the processing of your request. Try 903 // again later. 904 // 905 // * InvalidParameterException 906 // An error on the client occurred. Typically, the cause is an invalid input 907 // value. 908 // 909 // * NotFoundException 910 // We can’t locate the resource that you specified. 911 // 912 // * AccessDeniedException 913 // You are not authorized to use this operation with the given parameters. 914 // 915 func (c *Budgets) DescribeBudgetAction(input *DescribeBudgetActionInput) (*DescribeBudgetActionOutput, error) { 916 req, out := c.DescribeBudgetActionRequest(input) 917 return out, req.Send() 918 } 919 920 // DescribeBudgetActionWithContext is the same as DescribeBudgetAction with the addition of 921 // the ability to pass a context and additional request options. 922 // 923 // See DescribeBudgetAction for details on how to use this API operation. 924 // 925 // The context must be non-nil and will be used for request cancellation. If 926 // the context is nil a panic will occur. In the future the SDK may create 927 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 928 // for more information on using Contexts. 929 func (c *Budgets) DescribeBudgetActionWithContext(ctx aws.Context, input *DescribeBudgetActionInput, opts ...request.Option) (*DescribeBudgetActionOutput, error) { 930 req, out := c.DescribeBudgetActionRequest(input) 931 req.SetContext(ctx) 932 req.ApplyOptions(opts...) 933 return out, req.Send() 934 } 935 936 const opDescribeBudgetActionHistories = "DescribeBudgetActionHistories" 937 938 // DescribeBudgetActionHistoriesRequest generates a "aws/request.Request" representing the 939 // client's request for the DescribeBudgetActionHistories operation. The "output" return 940 // value will be populated with the request's response once the request completes 941 // successfully. 942 // 943 // Use "Send" method on the returned Request to send the API call to the service. 944 // the "output" return value is not valid until after Send returns without error. 945 // 946 // See DescribeBudgetActionHistories for more information on using the DescribeBudgetActionHistories 947 // API call, and error handling. 948 // 949 // This method is useful when you want to inject custom logic or configuration 950 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 951 // 952 // 953 // // Example sending a request using the DescribeBudgetActionHistoriesRequest method. 954 // req, resp := client.DescribeBudgetActionHistoriesRequest(params) 955 // 956 // err := req.Send() 957 // if err == nil { // resp is now filled 958 // fmt.Println(resp) 959 // } 960 func (c *Budgets) DescribeBudgetActionHistoriesRequest(input *DescribeBudgetActionHistoriesInput) (req *request.Request, output *DescribeBudgetActionHistoriesOutput) { 961 op := &request.Operation{ 962 Name: opDescribeBudgetActionHistories, 963 HTTPMethod: "POST", 964 HTTPPath: "/", 965 Paginator: &request.Paginator{ 966 InputTokens: []string{"NextToken"}, 967 OutputTokens: []string{"NextToken"}, 968 LimitToken: "MaxResults", 969 TruncationToken: "", 970 }, 971 } 972 973 if input == nil { 974 input = &DescribeBudgetActionHistoriesInput{} 975 } 976 977 output = &DescribeBudgetActionHistoriesOutput{} 978 req = c.newRequest(op, input, output) 979 return 980 } 981 982 // DescribeBudgetActionHistories API operation for AWS Budgets. 983 // 984 // Describes a budget action history detail. 985 // 986 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 987 // with awserr.Error's Code and Message methods to get detailed information about 988 // the error. 989 // 990 // See the AWS API reference guide for AWS Budgets's 991 // API operation DescribeBudgetActionHistories for usage and error information. 992 // 993 // Returned Error Types: 994 // * InternalErrorException 995 // An error on the server occurred during the processing of your request. Try 996 // again later. 997 // 998 // * InvalidParameterException 999 // An error on the client occurred. Typically, the cause is an invalid input 1000 // value. 1001 // 1002 // * NotFoundException 1003 // We can’t locate the resource that you specified. 1004 // 1005 // * AccessDeniedException 1006 // You are not authorized to use this operation with the given parameters. 1007 // 1008 // * InvalidNextTokenException 1009 // The pagination token is invalid. 1010 // 1011 func (c *Budgets) DescribeBudgetActionHistories(input *DescribeBudgetActionHistoriesInput) (*DescribeBudgetActionHistoriesOutput, error) { 1012 req, out := c.DescribeBudgetActionHistoriesRequest(input) 1013 return out, req.Send() 1014 } 1015 1016 // DescribeBudgetActionHistoriesWithContext is the same as DescribeBudgetActionHistories with the addition of 1017 // the ability to pass a context and additional request options. 1018 // 1019 // See DescribeBudgetActionHistories for details on how to use this API operation. 1020 // 1021 // The context must be non-nil and will be used for request cancellation. If 1022 // the context is nil a panic will occur. In the future the SDK may create 1023 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1024 // for more information on using Contexts. 1025 func (c *Budgets) DescribeBudgetActionHistoriesWithContext(ctx aws.Context, input *DescribeBudgetActionHistoriesInput, opts ...request.Option) (*DescribeBudgetActionHistoriesOutput, error) { 1026 req, out := c.DescribeBudgetActionHistoriesRequest(input) 1027 req.SetContext(ctx) 1028 req.ApplyOptions(opts...) 1029 return out, req.Send() 1030 } 1031 1032 // DescribeBudgetActionHistoriesPages iterates over the pages of a DescribeBudgetActionHistories operation, 1033 // calling the "fn" function with the response data for each page. To stop 1034 // iterating, return false from the fn function. 1035 // 1036 // See DescribeBudgetActionHistories method for more information on how to use this operation. 1037 // 1038 // Note: This operation can generate multiple requests to a service. 1039 // 1040 // // Example iterating over at most 3 pages of a DescribeBudgetActionHistories operation. 1041 // pageNum := 0 1042 // err := client.DescribeBudgetActionHistoriesPages(params, 1043 // func(page *budgets.DescribeBudgetActionHistoriesOutput, lastPage bool) bool { 1044 // pageNum++ 1045 // fmt.Println(page) 1046 // return pageNum <= 3 1047 // }) 1048 // 1049 func (c *Budgets) DescribeBudgetActionHistoriesPages(input *DescribeBudgetActionHistoriesInput, fn func(*DescribeBudgetActionHistoriesOutput, bool) bool) error { 1050 return c.DescribeBudgetActionHistoriesPagesWithContext(aws.BackgroundContext(), input, fn) 1051 } 1052 1053 // DescribeBudgetActionHistoriesPagesWithContext same as DescribeBudgetActionHistoriesPages except 1054 // it takes a Context and allows setting request options on the pages. 1055 // 1056 // The context must be non-nil and will be used for request cancellation. If 1057 // the context is nil a panic will occur. In the future the SDK may create 1058 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1059 // for more information on using Contexts. 1060 func (c *Budgets) DescribeBudgetActionHistoriesPagesWithContext(ctx aws.Context, input *DescribeBudgetActionHistoriesInput, fn func(*DescribeBudgetActionHistoriesOutput, bool) bool, opts ...request.Option) error { 1061 p := request.Pagination{ 1062 NewRequest: func() (*request.Request, error) { 1063 var inCpy *DescribeBudgetActionHistoriesInput 1064 if input != nil { 1065 tmp := *input 1066 inCpy = &tmp 1067 } 1068 req, _ := c.DescribeBudgetActionHistoriesRequest(inCpy) 1069 req.SetContext(ctx) 1070 req.ApplyOptions(opts...) 1071 return req, nil 1072 }, 1073 } 1074 1075 for p.Next() { 1076 if !fn(p.Page().(*DescribeBudgetActionHistoriesOutput), !p.HasNextPage()) { 1077 break 1078 } 1079 } 1080 1081 return p.Err() 1082 } 1083 1084 const opDescribeBudgetActionsForAccount = "DescribeBudgetActionsForAccount" 1085 1086 // DescribeBudgetActionsForAccountRequest generates a "aws/request.Request" representing the 1087 // client's request for the DescribeBudgetActionsForAccount operation. The "output" return 1088 // value will be populated with the request's response once the request completes 1089 // successfully. 1090 // 1091 // Use "Send" method on the returned Request to send the API call to the service. 1092 // the "output" return value is not valid until after Send returns without error. 1093 // 1094 // See DescribeBudgetActionsForAccount for more information on using the DescribeBudgetActionsForAccount 1095 // API call, and error handling. 1096 // 1097 // This method is useful when you want to inject custom logic or configuration 1098 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 1099 // 1100 // 1101 // // Example sending a request using the DescribeBudgetActionsForAccountRequest method. 1102 // req, resp := client.DescribeBudgetActionsForAccountRequest(params) 1103 // 1104 // err := req.Send() 1105 // if err == nil { // resp is now filled 1106 // fmt.Println(resp) 1107 // } 1108 func (c *Budgets) DescribeBudgetActionsForAccountRequest(input *DescribeBudgetActionsForAccountInput) (req *request.Request, output *DescribeBudgetActionsForAccountOutput) { 1109 op := &request.Operation{ 1110 Name: opDescribeBudgetActionsForAccount, 1111 HTTPMethod: "POST", 1112 HTTPPath: "/", 1113 Paginator: &request.Paginator{ 1114 InputTokens: []string{"NextToken"}, 1115 OutputTokens: []string{"NextToken"}, 1116 LimitToken: "MaxResults", 1117 TruncationToken: "", 1118 }, 1119 } 1120 1121 if input == nil { 1122 input = &DescribeBudgetActionsForAccountInput{} 1123 } 1124 1125 output = &DescribeBudgetActionsForAccountOutput{} 1126 req = c.newRequest(op, input, output) 1127 return 1128 } 1129 1130 // DescribeBudgetActionsForAccount API operation for AWS Budgets. 1131 // 1132 // Describes all of the budget actions for an account. 1133 // 1134 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1135 // with awserr.Error's Code and Message methods to get detailed information about 1136 // the error. 1137 // 1138 // See the AWS API reference guide for AWS Budgets's 1139 // API operation DescribeBudgetActionsForAccount for usage and error information. 1140 // 1141 // Returned Error Types: 1142 // * InternalErrorException 1143 // An error on the server occurred during the processing of your request. Try 1144 // again later. 1145 // 1146 // * InvalidParameterException 1147 // An error on the client occurred. Typically, the cause is an invalid input 1148 // value. 1149 // 1150 // * AccessDeniedException 1151 // You are not authorized to use this operation with the given parameters. 1152 // 1153 // * InvalidNextTokenException 1154 // The pagination token is invalid. 1155 // 1156 func (c *Budgets) DescribeBudgetActionsForAccount(input *DescribeBudgetActionsForAccountInput) (*DescribeBudgetActionsForAccountOutput, error) { 1157 req, out := c.DescribeBudgetActionsForAccountRequest(input) 1158 return out, req.Send() 1159 } 1160 1161 // DescribeBudgetActionsForAccountWithContext is the same as DescribeBudgetActionsForAccount with the addition of 1162 // the ability to pass a context and additional request options. 1163 // 1164 // See DescribeBudgetActionsForAccount for details on how to use this API operation. 1165 // 1166 // The context must be non-nil and will be used for request cancellation. If 1167 // the context is nil a panic will occur. In the future the SDK may create 1168 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1169 // for more information on using Contexts. 1170 func (c *Budgets) DescribeBudgetActionsForAccountWithContext(ctx aws.Context, input *DescribeBudgetActionsForAccountInput, opts ...request.Option) (*DescribeBudgetActionsForAccountOutput, error) { 1171 req, out := c.DescribeBudgetActionsForAccountRequest(input) 1172 req.SetContext(ctx) 1173 req.ApplyOptions(opts...) 1174 return out, req.Send() 1175 } 1176 1177 // DescribeBudgetActionsForAccountPages iterates over the pages of a DescribeBudgetActionsForAccount operation, 1178 // calling the "fn" function with the response data for each page. To stop 1179 // iterating, return false from the fn function. 1180 // 1181 // See DescribeBudgetActionsForAccount method for more information on how to use this operation. 1182 // 1183 // Note: This operation can generate multiple requests to a service. 1184 // 1185 // // Example iterating over at most 3 pages of a DescribeBudgetActionsForAccount operation. 1186 // pageNum := 0 1187 // err := client.DescribeBudgetActionsForAccountPages(params, 1188 // func(page *budgets.DescribeBudgetActionsForAccountOutput, lastPage bool) bool { 1189 // pageNum++ 1190 // fmt.Println(page) 1191 // return pageNum <= 3 1192 // }) 1193 // 1194 func (c *Budgets) DescribeBudgetActionsForAccountPages(input *DescribeBudgetActionsForAccountInput, fn func(*DescribeBudgetActionsForAccountOutput, bool) bool) error { 1195 return c.DescribeBudgetActionsForAccountPagesWithContext(aws.BackgroundContext(), input, fn) 1196 } 1197 1198 // DescribeBudgetActionsForAccountPagesWithContext same as DescribeBudgetActionsForAccountPages except 1199 // it takes a Context and allows setting request options on the pages. 1200 // 1201 // The context must be non-nil and will be used for request cancellation. If 1202 // the context is nil a panic will occur. In the future the SDK may create 1203 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1204 // for more information on using Contexts. 1205 func (c *Budgets) DescribeBudgetActionsForAccountPagesWithContext(ctx aws.Context, input *DescribeBudgetActionsForAccountInput, fn func(*DescribeBudgetActionsForAccountOutput, bool) bool, opts ...request.Option) error { 1206 p := request.Pagination{ 1207 NewRequest: func() (*request.Request, error) { 1208 var inCpy *DescribeBudgetActionsForAccountInput 1209 if input != nil { 1210 tmp := *input 1211 inCpy = &tmp 1212 } 1213 req, _ := c.DescribeBudgetActionsForAccountRequest(inCpy) 1214 req.SetContext(ctx) 1215 req.ApplyOptions(opts...) 1216 return req, nil 1217 }, 1218 } 1219 1220 for p.Next() { 1221 if !fn(p.Page().(*DescribeBudgetActionsForAccountOutput), !p.HasNextPage()) { 1222 break 1223 } 1224 } 1225 1226 return p.Err() 1227 } 1228 1229 const opDescribeBudgetActionsForBudget = "DescribeBudgetActionsForBudget" 1230 1231 // DescribeBudgetActionsForBudgetRequest generates a "aws/request.Request" representing the 1232 // client's request for the DescribeBudgetActionsForBudget operation. The "output" return 1233 // value will be populated with the request's response once the request completes 1234 // successfully. 1235 // 1236 // Use "Send" method on the returned Request to send the API call to the service. 1237 // the "output" return value is not valid until after Send returns without error. 1238 // 1239 // See DescribeBudgetActionsForBudget for more information on using the DescribeBudgetActionsForBudget 1240 // API call, and error handling. 1241 // 1242 // This method is useful when you want to inject custom logic or configuration 1243 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 1244 // 1245 // 1246 // // Example sending a request using the DescribeBudgetActionsForBudgetRequest method. 1247 // req, resp := client.DescribeBudgetActionsForBudgetRequest(params) 1248 // 1249 // err := req.Send() 1250 // if err == nil { // resp is now filled 1251 // fmt.Println(resp) 1252 // } 1253 func (c *Budgets) DescribeBudgetActionsForBudgetRequest(input *DescribeBudgetActionsForBudgetInput) (req *request.Request, output *DescribeBudgetActionsForBudgetOutput) { 1254 op := &request.Operation{ 1255 Name: opDescribeBudgetActionsForBudget, 1256 HTTPMethod: "POST", 1257 HTTPPath: "/", 1258 Paginator: &request.Paginator{ 1259 InputTokens: []string{"NextToken"}, 1260 OutputTokens: []string{"NextToken"}, 1261 LimitToken: "MaxResults", 1262 TruncationToken: "", 1263 }, 1264 } 1265 1266 if input == nil { 1267 input = &DescribeBudgetActionsForBudgetInput{} 1268 } 1269 1270 output = &DescribeBudgetActionsForBudgetOutput{} 1271 req = c.newRequest(op, input, output) 1272 return 1273 } 1274 1275 // DescribeBudgetActionsForBudget API operation for AWS Budgets. 1276 // 1277 // Describes all of the budget actions for a budget. 1278 // 1279 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1280 // with awserr.Error's Code and Message methods to get detailed information about 1281 // the error. 1282 // 1283 // See the AWS API reference guide for AWS Budgets's 1284 // API operation DescribeBudgetActionsForBudget for usage and error information. 1285 // 1286 // Returned Error Types: 1287 // * InternalErrorException 1288 // An error on the server occurred during the processing of your request. Try 1289 // again later. 1290 // 1291 // * InvalidParameterException 1292 // An error on the client occurred. Typically, the cause is an invalid input 1293 // value. 1294 // 1295 // * NotFoundException 1296 // We can’t locate the resource that you specified. 1297 // 1298 // * AccessDeniedException 1299 // You are not authorized to use this operation with the given parameters. 1300 // 1301 // * InvalidNextTokenException 1302 // The pagination token is invalid. 1303 // 1304 func (c *Budgets) DescribeBudgetActionsForBudget(input *DescribeBudgetActionsForBudgetInput) (*DescribeBudgetActionsForBudgetOutput, error) { 1305 req, out := c.DescribeBudgetActionsForBudgetRequest(input) 1306 return out, req.Send() 1307 } 1308 1309 // DescribeBudgetActionsForBudgetWithContext is the same as DescribeBudgetActionsForBudget with the addition of 1310 // the ability to pass a context and additional request options. 1311 // 1312 // See DescribeBudgetActionsForBudget for details on how to use this API operation. 1313 // 1314 // The context must be non-nil and will be used for request cancellation. If 1315 // the context is nil a panic will occur. In the future the SDK may create 1316 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1317 // for more information on using Contexts. 1318 func (c *Budgets) DescribeBudgetActionsForBudgetWithContext(ctx aws.Context, input *DescribeBudgetActionsForBudgetInput, opts ...request.Option) (*DescribeBudgetActionsForBudgetOutput, error) { 1319 req, out := c.DescribeBudgetActionsForBudgetRequest(input) 1320 req.SetContext(ctx) 1321 req.ApplyOptions(opts...) 1322 return out, req.Send() 1323 } 1324 1325 // DescribeBudgetActionsForBudgetPages iterates over the pages of a DescribeBudgetActionsForBudget operation, 1326 // calling the "fn" function with the response data for each page. To stop 1327 // iterating, return false from the fn function. 1328 // 1329 // See DescribeBudgetActionsForBudget method for more information on how to use this operation. 1330 // 1331 // Note: This operation can generate multiple requests to a service. 1332 // 1333 // // Example iterating over at most 3 pages of a DescribeBudgetActionsForBudget operation. 1334 // pageNum := 0 1335 // err := client.DescribeBudgetActionsForBudgetPages(params, 1336 // func(page *budgets.DescribeBudgetActionsForBudgetOutput, lastPage bool) bool { 1337 // pageNum++ 1338 // fmt.Println(page) 1339 // return pageNum <= 3 1340 // }) 1341 // 1342 func (c *Budgets) DescribeBudgetActionsForBudgetPages(input *DescribeBudgetActionsForBudgetInput, fn func(*DescribeBudgetActionsForBudgetOutput, bool) bool) error { 1343 return c.DescribeBudgetActionsForBudgetPagesWithContext(aws.BackgroundContext(), input, fn) 1344 } 1345 1346 // DescribeBudgetActionsForBudgetPagesWithContext same as DescribeBudgetActionsForBudgetPages except 1347 // it takes a Context and allows setting request options on the pages. 1348 // 1349 // The context must be non-nil and will be used for request cancellation. If 1350 // the context is nil a panic will occur. In the future the SDK may create 1351 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1352 // for more information on using Contexts. 1353 func (c *Budgets) DescribeBudgetActionsForBudgetPagesWithContext(ctx aws.Context, input *DescribeBudgetActionsForBudgetInput, fn func(*DescribeBudgetActionsForBudgetOutput, bool) bool, opts ...request.Option) error { 1354 p := request.Pagination{ 1355 NewRequest: func() (*request.Request, error) { 1356 var inCpy *DescribeBudgetActionsForBudgetInput 1357 if input != nil { 1358 tmp := *input 1359 inCpy = &tmp 1360 } 1361 req, _ := c.DescribeBudgetActionsForBudgetRequest(inCpy) 1362 req.SetContext(ctx) 1363 req.ApplyOptions(opts...) 1364 return req, nil 1365 }, 1366 } 1367 1368 for p.Next() { 1369 if !fn(p.Page().(*DescribeBudgetActionsForBudgetOutput), !p.HasNextPage()) { 1370 break 1371 } 1372 } 1373 1374 return p.Err() 1375 } 1376 1377 const opDescribeBudgetPerformanceHistory = "DescribeBudgetPerformanceHistory" 1378 1379 // DescribeBudgetPerformanceHistoryRequest generates a "aws/request.Request" representing the 1380 // client's request for the DescribeBudgetPerformanceHistory operation. The "output" return 1381 // value will be populated with the request's response once the request completes 1382 // successfully. 1383 // 1384 // Use "Send" method on the returned Request to send the API call to the service. 1385 // the "output" return value is not valid until after Send returns without error. 1386 // 1387 // See DescribeBudgetPerformanceHistory for more information on using the DescribeBudgetPerformanceHistory 1388 // API call, and error handling. 1389 // 1390 // This method is useful when you want to inject custom logic or configuration 1391 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 1392 // 1393 // 1394 // // Example sending a request using the DescribeBudgetPerformanceHistoryRequest method. 1395 // req, resp := client.DescribeBudgetPerformanceHistoryRequest(params) 1396 // 1397 // err := req.Send() 1398 // if err == nil { // resp is now filled 1399 // fmt.Println(resp) 1400 // } 1401 func (c *Budgets) DescribeBudgetPerformanceHistoryRequest(input *DescribeBudgetPerformanceHistoryInput) (req *request.Request, output *DescribeBudgetPerformanceHistoryOutput) { 1402 op := &request.Operation{ 1403 Name: opDescribeBudgetPerformanceHistory, 1404 HTTPMethod: "POST", 1405 HTTPPath: "/", 1406 Paginator: &request.Paginator{ 1407 InputTokens: []string{"NextToken"}, 1408 OutputTokens: []string{"NextToken"}, 1409 LimitToken: "MaxResults", 1410 TruncationToken: "", 1411 }, 1412 } 1413 1414 if input == nil { 1415 input = &DescribeBudgetPerformanceHistoryInput{} 1416 } 1417 1418 output = &DescribeBudgetPerformanceHistoryOutput{} 1419 req = c.newRequest(op, input, output) 1420 return 1421 } 1422 1423 // DescribeBudgetPerformanceHistory API operation for AWS Budgets. 1424 // 1425 // Describes the history for DAILY, MONTHLY, and QUARTERLY budgets. Budget history 1426 // isn't available for ANNUAL budgets. 1427 // 1428 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1429 // with awserr.Error's Code and Message methods to get detailed information about 1430 // the error. 1431 // 1432 // See the AWS API reference guide for AWS Budgets's 1433 // API operation DescribeBudgetPerformanceHistory for usage and error information. 1434 // 1435 // Returned Error Types: 1436 // * InternalErrorException 1437 // An error on the server occurred during the processing of your request. Try 1438 // again later. 1439 // 1440 // * InvalidParameterException 1441 // An error on the client occurred. Typically, the cause is an invalid input 1442 // value. 1443 // 1444 // * NotFoundException 1445 // We can’t locate the resource that you specified. 1446 // 1447 // * InvalidNextTokenException 1448 // The pagination token is invalid. 1449 // 1450 // * ExpiredNextTokenException 1451 // The pagination token expired. 1452 // 1453 // * AccessDeniedException 1454 // You are not authorized to use this operation with the given parameters. 1455 // 1456 func (c *Budgets) DescribeBudgetPerformanceHistory(input *DescribeBudgetPerformanceHistoryInput) (*DescribeBudgetPerformanceHistoryOutput, error) { 1457 req, out := c.DescribeBudgetPerformanceHistoryRequest(input) 1458 return out, req.Send() 1459 } 1460 1461 // DescribeBudgetPerformanceHistoryWithContext is the same as DescribeBudgetPerformanceHistory with the addition of 1462 // the ability to pass a context and additional request options. 1463 // 1464 // See DescribeBudgetPerformanceHistory for details on how to use this API operation. 1465 // 1466 // The context must be non-nil and will be used for request cancellation. If 1467 // the context is nil a panic will occur. In the future the SDK may create 1468 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1469 // for more information on using Contexts. 1470 func (c *Budgets) DescribeBudgetPerformanceHistoryWithContext(ctx aws.Context, input *DescribeBudgetPerformanceHistoryInput, opts ...request.Option) (*DescribeBudgetPerformanceHistoryOutput, error) { 1471 req, out := c.DescribeBudgetPerformanceHistoryRequest(input) 1472 req.SetContext(ctx) 1473 req.ApplyOptions(opts...) 1474 return out, req.Send() 1475 } 1476 1477 // DescribeBudgetPerformanceHistoryPages iterates over the pages of a DescribeBudgetPerformanceHistory operation, 1478 // calling the "fn" function with the response data for each page. To stop 1479 // iterating, return false from the fn function. 1480 // 1481 // See DescribeBudgetPerformanceHistory method for more information on how to use this operation. 1482 // 1483 // Note: This operation can generate multiple requests to a service. 1484 // 1485 // // Example iterating over at most 3 pages of a DescribeBudgetPerformanceHistory operation. 1486 // pageNum := 0 1487 // err := client.DescribeBudgetPerformanceHistoryPages(params, 1488 // func(page *budgets.DescribeBudgetPerformanceHistoryOutput, lastPage bool) bool { 1489 // pageNum++ 1490 // fmt.Println(page) 1491 // return pageNum <= 3 1492 // }) 1493 // 1494 func (c *Budgets) DescribeBudgetPerformanceHistoryPages(input *DescribeBudgetPerformanceHistoryInput, fn func(*DescribeBudgetPerformanceHistoryOutput, bool) bool) error { 1495 return c.DescribeBudgetPerformanceHistoryPagesWithContext(aws.BackgroundContext(), input, fn) 1496 } 1497 1498 // DescribeBudgetPerformanceHistoryPagesWithContext same as DescribeBudgetPerformanceHistoryPages except 1499 // it takes a Context and allows setting request options on the pages. 1500 // 1501 // The context must be non-nil and will be used for request cancellation. If 1502 // the context is nil a panic will occur. In the future the SDK may create 1503 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1504 // for more information on using Contexts. 1505 func (c *Budgets) DescribeBudgetPerformanceHistoryPagesWithContext(ctx aws.Context, input *DescribeBudgetPerformanceHistoryInput, fn func(*DescribeBudgetPerformanceHistoryOutput, bool) bool, opts ...request.Option) error { 1506 p := request.Pagination{ 1507 NewRequest: func() (*request.Request, error) { 1508 var inCpy *DescribeBudgetPerformanceHistoryInput 1509 if input != nil { 1510 tmp := *input 1511 inCpy = &tmp 1512 } 1513 req, _ := c.DescribeBudgetPerformanceHistoryRequest(inCpy) 1514 req.SetContext(ctx) 1515 req.ApplyOptions(opts...) 1516 return req, nil 1517 }, 1518 } 1519 1520 for p.Next() { 1521 if !fn(p.Page().(*DescribeBudgetPerformanceHistoryOutput), !p.HasNextPage()) { 1522 break 1523 } 1524 } 1525 1526 return p.Err() 1527 } 1528 1529 const opDescribeBudgets = "DescribeBudgets" 1530 1531 // DescribeBudgetsRequest generates a "aws/request.Request" representing the 1532 // client's request for the DescribeBudgets operation. The "output" return 1533 // value will be populated with the request's response once the request completes 1534 // successfully. 1535 // 1536 // Use "Send" method on the returned Request to send the API call to the service. 1537 // the "output" return value is not valid until after Send returns without error. 1538 // 1539 // See DescribeBudgets for more information on using the DescribeBudgets 1540 // API call, and error handling. 1541 // 1542 // This method is useful when you want to inject custom logic or configuration 1543 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 1544 // 1545 // 1546 // // Example sending a request using the DescribeBudgetsRequest method. 1547 // req, resp := client.DescribeBudgetsRequest(params) 1548 // 1549 // err := req.Send() 1550 // if err == nil { // resp is now filled 1551 // fmt.Println(resp) 1552 // } 1553 func (c *Budgets) DescribeBudgetsRequest(input *DescribeBudgetsInput) (req *request.Request, output *DescribeBudgetsOutput) { 1554 op := &request.Operation{ 1555 Name: opDescribeBudgets, 1556 HTTPMethod: "POST", 1557 HTTPPath: "/", 1558 Paginator: &request.Paginator{ 1559 InputTokens: []string{"NextToken"}, 1560 OutputTokens: []string{"NextToken"}, 1561 LimitToken: "MaxResults", 1562 TruncationToken: "", 1563 }, 1564 } 1565 1566 if input == nil { 1567 input = &DescribeBudgetsInput{} 1568 } 1569 1570 output = &DescribeBudgetsOutput{} 1571 req = c.newRequest(op, input, output) 1572 return 1573 } 1574 1575 // DescribeBudgets API operation for AWS Budgets. 1576 // 1577 // Lists the budgets that are associated with an account. 1578 // 1579 // The Request Syntax section shows the BudgetLimit syntax. For PlannedBudgetLimits, 1580 // see the Examples (https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_budgets_DescribeBudgets.html#API_DescribeBudgets_Examples) 1581 // section. 1582 // 1583 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1584 // with awserr.Error's Code and Message methods to get detailed information about 1585 // the error. 1586 // 1587 // See the AWS API reference guide for AWS Budgets's 1588 // API operation DescribeBudgets for usage and error information. 1589 // 1590 // Returned Error Types: 1591 // * InternalErrorException 1592 // An error on the server occurred during the processing of your request. Try 1593 // again later. 1594 // 1595 // * InvalidParameterException 1596 // An error on the client occurred. Typically, the cause is an invalid input 1597 // value. 1598 // 1599 // * NotFoundException 1600 // We can’t locate the resource that you specified. 1601 // 1602 // * InvalidNextTokenException 1603 // The pagination token is invalid. 1604 // 1605 // * ExpiredNextTokenException 1606 // The pagination token expired. 1607 // 1608 // * AccessDeniedException 1609 // You are not authorized to use this operation with the given parameters. 1610 // 1611 func (c *Budgets) DescribeBudgets(input *DescribeBudgetsInput) (*DescribeBudgetsOutput, error) { 1612 req, out := c.DescribeBudgetsRequest(input) 1613 return out, req.Send() 1614 } 1615 1616 // DescribeBudgetsWithContext is the same as DescribeBudgets with the addition of 1617 // the ability to pass a context and additional request options. 1618 // 1619 // See DescribeBudgets for details on how to use this API operation. 1620 // 1621 // The context must be non-nil and will be used for request cancellation. If 1622 // the context is nil a panic will occur. In the future the SDK may create 1623 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1624 // for more information on using Contexts. 1625 func (c *Budgets) DescribeBudgetsWithContext(ctx aws.Context, input *DescribeBudgetsInput, opts ...request.Option) (*DescribeBudgetsOutput, error) { 1626 req, out := c.DescribeBudgetsRequest(input) 1627 req.SetContext(ctx) 1628 req.ApplyOptions(opts...) 1629 return out, req.Send() 1630 } 1631 1632 // DescribeBudgetsPages iterates over the pages of a DescribeBudgets operation, 1633 // calling the "fn" function with the response data for each page. To stop 1634 // iterating, return false from the fn function. 1635 // 1636 // See DescribeBudgets method for more information on how to use this operation. 1637 // 1638 // Note: This operation can generate multiple requests to a service. 1639 // 1640 // // Example iterating over at most 3 pages of a DescribeBudgets operation. 1641 // pageNum := 0 1642 // err := client.DescribeBudgetsPages(params, 1643 // func(page *budgets.DescribeBudgetsOutput, lastPage bool) bool { 1644 // pageNum++ 1645 // fmt.Println(page) 1646 // return pageNum <= 3 1647 // }) 1648 // 1649 func (c *Budgets) DescribeBudgetsPages(input *DescribeBudgetsInput, fn func(*DescribeBudgetsOutput, bool) bool) error { 1650 return c.DescribeBudgetsPagesWithContext(aws.BackgroundContext(), input, fn) 1651 } 1652 1653 // DescribeBudgetsPagesWithContext same as DescribeBudgetsPages except 1654 // it takes a Context and allows setting request options on the pages. 1655 // 1656 // The context must be non-nil and will be used for request cancellation. If 1657 // the context is nil a panic will occur. In the future the SDK may create 1658 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1659 // for more information on using Contexts. 1660 func (c *Budgets) DescribeBudgetsPagesWithContext(ctx aws.Context, input *DescribeBudgetsInput, fn func(*DescribeBudgetsOutput, bool) bool, opts ...request.Option) error { 1661 p := request.Pagination{ 1662 NewRequest: func() (*request.Request, error) { 1663 var inCpy *DescribeBudgetsInput 1664 if input != nil { 1665 tmp := *input 1666 inCpy = &tmp 1667 } 1668 req, _ := c.DescribeBudgetsRequest(inCpy) 1669 req.SetContext(ctx) 1670 req.ApplyOptions(opts...) 1671 return req, nil 1672 }, 1673 } 1674 1675 for p.Next() { 1676 if !fn(p.Page().(*DescribeBudgetsOutput), !p.HasNextPage()) { 1677 break 1678 } 1679 } 1680 1681 return p.Err() 1682 } 1683 1684 const opDescribeNotificationsForBudget = "DescribeNotificationsForBudget" 1685 1686 // DescribeNotificationsForBudgetRequest generates a "aws/request.Request" representing the 1687 // client's request for the DescribeNotificationsForBudget operation. The "output" return 1688 // value will be populated with the request's response once the request completes 1689 // successfully. 1690 // 1691 // Use "Send" method on the returned Request to send the API call to the service. 1692 // the "output" return value is not valid until after Send returns without error. 1693 // 1694 // See DescribeNotificationsForBudget for more information on using the DescribeNotificationsForBudget 1695 // API call, and error handling. 1696 // 1697 // This method is useful when you want to inject custom logic or configuration 1698 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 1699 // 1700 // 1701 // // Example sending a request using the DescribeNotificationsForBudgetRequest method. 1702 // req, resp := client.DescribeNotificationsForBudgetRequest(params) 1703 // 1704 // err := req.Send() 1705 // if err == nil { // resp is now filled 1706 // fmt.Println(resp) 1707 // } 1708 func (c *Budgets) DescribeNotificationsForBudgetRequest(input *DescribeNotificationsForBudgetInput) (req *request.Request, output *DescribeNotificationsForBudgetOutput) { 1709 op := &request.Operation{ 1710 Name: opDescribeNotificationsForBudget, 1711 HTTPMethod: "POST", 1712 HTTPPath: "/", 1713 Paginator: &request.Paginator{ 1714 InputTokens: []string{"NextToken"}, 1715 OutputTokens: []string{"NextToken"}, 1716 LimitToken: "MaxResults", 1717 TruncationToken: "", 1718 }, 1719 } 1720 1721 if input == nil { 1722 input = &DescribeNotificationsForBudgetInput{} 1723 } 1724 1725 output = &DescribeNotificationsForBudgetOutput{} 1726 req = c.newRequest(op, input, output) 1727 return 1728 } 1729 1730 // DescribeNotificationsForBudget API operation for AWS Budgets. 1731 // 1732 // Lists the notifications that are associated with a budget. 1733 // 1734 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1735 // with awserr.Error's Code and Message methods to get detailed information about 1736 // the error. 1737 // 1738 // See the AWS API reference guide for AWS Budgets's 1739 // API operation DescribeNotificationsForBudget for usage and error information. 1740 // 1741 // Returned Error Types: 1742 // * InternalErrorException 1743 // An error on the server occurred during the processing of your request. Try 1744 // again later. 1745 // 1746 // * InvalidParameterException 1747 // An error on the client occurred. Typically, the cause is an invalid input 1748 // value. 1749 // 1750 // * NotFoundException 1751 // We can’t locate the resource that you specified. 1752 // 1753 // * InvalidNextTokenException 1754 // The pagination token is invalid. 1755 // 1756 // * ExpiredNextTokenException 1757 // The pagination token expired. 1758 // 1759 // * AccessDeniedException 1760 // You are not authorized to use this operation with the given parameters. 1761 // 1762 func (c *Budgets) DescribeNotificationsForBudget(input *DescribeNotificationsForBudgetInput) (*DescribeNotificationsForBudgetOutput, error) { 1763 req, out := c.DescribeNotificationsForBudgetRequest(input) 1764 return out, req.Send() 1765 } 1766 1767 // DescribeNotificationsForBudgetWithContext is the same as DescribeNotificationsForBudget with the addition of 1768 // the ability to pass a context and additional request options. 1769 // 1770 // See DescribeNotificationsForBudget for details on how to use this API operation. 1771 // 1772 // The context must be non-nil and will be used for request cancellation. If 1773 // the context is nil a panic will occur. In the future the SDK may create 1774 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1775 // for more information on using Contexts. 1776 func (c *Budgets) DescribeNotificationsForBudgetWithContext(ctx aws.Context, input *DescribeNotificationsForBudgetInput, opts ...request.Option) (*DescribeNotificationsForBudgetOutput, error) { 1777 req, out := c.DescribeNotificationsForBudgetRequest(input) 1778 req.SetContext(ctx) 1779 req.ApplyOptions(opts...) 1780 return out, req.Send() 1781 } 1782 1783 // DescribeNotificationsForBudgetPages iterates over the pages of a DescribeNotificationsForBudget operation, 1784 // calling the "fn" function with the response data for each page. To stop 1785 // iterating, return false from the fn function. 1786 // 1787 // See DescribeNotificationsForBudget method for more information on how to use this operation. 1788 // 1789 // Note: This operation can generate multiple requests to a service. 1790 // 1791 // // Example iterating over at most 3 pages of a DescribeNotificationsForBudget operation. 1792 // pageNum := 0 1793 // err := client.DescribeNotificationsForBudgetPages(params, 1794 // func(page *budgets.DescribeNotificationsForBudgetOutput, lastPage bool) bool { 1795 // pageNum++ 1796 // fmt.Println(page) 1797 // return pageNum <= 3 1798 // }) 1799 // 1800 func (c *Budgets) DescribeNotificationsForBudgetPages(input *DescribeNotificationsForBudgetInput, fn func(*DescribeNotificationsForBudgetOutput, bool) bool) error { 1801 return c.DescribeNotificationsForBudgetPagesWithContext(aws.BackgroundContext(), input, fn) 1802 } 1803 1804 // DescribeNotificationsForBudgetPagesWithContext same as DescribeNotificationsForBudgetPages except 1805 // it takes a Context and allows setting request options on the pages. 1806 // 1807 // The context must be non-nil and will be used for request cancellation. If 1808 // the context is nil a panic will occur. In the future the SDK may create 1809 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1810 // for more information on using Contexts. 1811 func (c *Budgets) DescribeNotificationsForBudgetPagesWithContext(ctx aws.Context, input *DescribeNotificationsForBudgetInput, fn func(*DescribeNotificationsForBudgetOutput, bool) bool, opts ...request.Option) error { 1812 p := request.Pagination{ 1813 NewRequest: func() (*request.Request, error) { 1814 var inCpy *DescribeNotificationsForBudgetInput 1815 if input != nil { 1816 tmp := *input 1817 inCpy = &tmp 1818 } 1819 req, _ := c.DescribeNotificationsForBudgetRequest(inCpy) 1820 req.SetContext(ctx) 1821 req.ApplyOptions(opts...) 1822 return req, nil 1823 }, 1824 } 1825 1826 for p.Next() { 1827 if !fn(p.Page().(*DescribeNotificationsForBudgetOutput), !p.HasNextPage()) { 1828 break 1829 } 1830 } 1831 1832 return p.Err() 1833 } 1834 1835 const opDescribeSubscribersForNotification = "DescribeSubscribersForNotification" 1836 1837 // DescribeSubscribersForNotificationRequest generates a "aws/request.Request" representing the 1838 // client's request for the DescribeSubscribersForNotification operation. The "output" return 1839 // value will be populated with the request's response once the request completes 1840 // successfully. 1841 // 1842 // Use "Send" method on the returned Request to send the API call to the service. 1843 // the "output" return value is not valid until after Send returns without error. 1844 // 1845 // See DescribeSubscribersForNotification for more information on using the DescribeSubscribersForNotification 1846 // API call, and error handling. 1847 // 1848 // This method is useful when you want to inject custom logic or configuration 1849 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 1850 // 1851 // 1852 // // Example sending a request using the DescribeSubscribersForNotificationRequest method. 1853 // req, resp := client.DescribeSubscribersForNotificationRequest(params) 1854 // 1855 // err := req.Send() 1856 // if err == nil { // resp is now filled 1857 // fmt.Println(resp) 1858 // } 1859 func (c *Budgets) DescribeSubscribersForNotificationRequest(input *DescribeSubscribersForNotificationInput) (req *request.Request, output *DescribeSubscribersForNotificationOutput) { 1860 op := &request.Operation{ 1861 Name: opDescribeSubscribersForNotification, 1862 HTTPMethod: "POST", 1863 HTTPPath: "/", 1864 Paginator: &request.Paginator{ 1865 InputTokens: []string{"NextToken"}, 1866 OutputTokens: []string{"NextToken"}, 1867 LimitToken: "MaxResults", 1868 TruncationToken: "", 1869 }, 1870 } 1871 1872 if input == nil { 1873 input = &DescribeSubscribersForNotificationInput{} 1874 } 1875 1876 output = &DescribeSubscribersForNotificationOutput{} 1877 req = c.newRequest(op, input, output) 1878 return 1879 } 1880 1881 // DescribeSubscribersForNotification API operation for AWS Budgets. 1882 // 1883 // Lists the subscribers that are associated with a notification. 1884 // 1885 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1886 // with awserr.Error's Code and Message methods to get detailed information about 1887 // the error. 1888 // 1889 // See the AWS API reference guide for AWS Budgets's 1890 // API operation DescribeSubscribersForNotification for usage and error information. 1891 // 1892 // Returned Error Types: 1893 // * InternalErrorException 1894 // An error on the server occurred during the processing of your request. Try 1895 // again later. 1896 // 1897 // * NotFoundException 1898 // We can’t locate the resource that you specified. 1899 // 1900 // * InvalidParameterException 1901 // An error on the client occurred. Typically, the cause is an invalid input 1902 // value. 1903 // 1904 // * InvalidNextTokenException 1905 // The pagination token is invalid. 1906 // 1907 // * ExpiredNextTokenException 1908 // The pagination token expired. 1909 // 1910 // * AccessDeniedException 1911 // You are not authorized to use this operation with the given parameters. 1912 // 1913 func (c *Budgets) DescribeSubscribersForNotification(input *DescribeSubscribersForNotificationInput) (*DescribeSubscribersForNotificationOutput, error) { 1914 req, out := c.DescribeSubscribersForNotificationRequest(input) 1915 return out, req.Send() 1916 } 1917 1918 // DescribeSubscribersForNotificationWithContext is the same as DescribeSubscribersForNotification with the addition of 1919 // the ability to pass a context and additional request options. 1920 // 1921 // See DescribeSubscribersForNotification for details on how to use this API operation. 1922 // 1923 // The context must be non-nil and will be used for request cancellation. If 1924 // the context is nil a panic will occur. In the future the SDK may create 1925 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1926 // for more information on using Contexts. 1927 func (c *Budgets) DescribeSubscribersForNotificationWithContext(ctx aws.Context, input *DescribeSubscribersForNotificationInput, opts ...request.Option) (*DescribeSubscribersForNotificationOutput, error) { 1928 req, out := c.DescribeSubscribersForNotificationRequest(input) 1929 req.SetContext(ctx) 1930 req.ApplyOptions(opts...) 1931 return out, req.Send() 1932 } 1933 1934 // DescribeSubscribersForNotificationPages iterates over the pages of a DescribeSubscribersForNotification operation, 1935 // calling the "fn" function with the response data for each page. To stop 1936 // iterating, return false from the fn function. 1937 // 1938 // See DescribeSubscribersForNotification method for more information on how to use this operation. 1939 // 1940 // Note: This operation can generate multiple requests to a service. 1941 // 1942 // // Example iterating over at most 3 pages of a DescribeSubscribersForNotification operation. 1943 // pageNum := 0 1944 // err := client.DescribeSubscribersForNotificationPages(params, 1945 // func(page *budgets.DescribeSubscribersForNotificationOutput, lastPage bool) bool { 1946 // pageNum++ 1947 // fmt.Println(page) 1948 // return pageNum <= 3 1949 // }) 1950 // 1951 func (c *Budgets) DescribeSubscribersForNotificationPages(input *DescribeSubscribersForNotificationInput, fn func(*DescribeSubscribersForNotificationOutput, bool) bool) error { 1952 return c.DescribeSubscribersForNotificationPagesWithContext(aws.BackgroundContext(), input, fn) 1953 } 1954 1955 // DescribeSubscribersForNotificationPagesWithContext same as DescribeSubscribersForNotificationPages except 1956 // it takes a Context and allows setting request options on the pages. 1957 // 1958 // The context must be non-nil and will be used for request cancellation. If 1959 // the context is nil a panic will occur. In the future the SDK may create 1960 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1961 // for more information on using Contexts. 1962 func (c *Budgets) DescribeSubscribersForNotificationPagesWithContext(ctx aws.Context, input *DescribeSubscribersForNotificationInput, fn func(*DescribeSubscribersForNotificationOutput, bool) bool, opts ...request.Option) error { 1963 p := request.Pagination{ 1964 NewRequest: func() (*request.Request, error) { 1965 var inCpy *DescribeSubscribersForNotificationInput 1966 if input != nil { 1967 tmp := *input 1968 inCpy = &tmp 1969 } 1970 req, _ := c.DescribeSubscribersForNotificationRequest(inCpy) 1971 req.SetContext(ctx) 1972 req.ApplyOptions(opts...) 1973 return req, nil 1974 }, 1975 } 1976 1977 for p.Next() { 1978 if !fn(p.Page().(*DescribeSubscribersForNotificationOutput), !p.HasNextPage()) { 1979 break 1980 } 1981 } 1982 1983 return p.Err() 1984 } 1985 1986 const opExecuteBudgetAction = "ExecuteBudgetAction" 1987 1988 // ExecuteBudgetActionRequest generates a "aws/request.Request" representing the 1989 // client's request for the ExecuteBudgetAction operation. The "output" return 1990 // value will be populated with the request's response once the request completes 1991 // successfully. 1992 // 1993 // Use "Send" method on the returned Request to send the API call to the service. 1994 // the "output" return value is not valid until after Send returns without error. 1995 // 1996 // See ExecuteBudgetAction for more information on using the ExecuteBudgetAction 1997 // API call, and error handling. 1998 // 1999 // This method is useful when you want to inject custom logic or configuration 2000 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 2001 // 2002 // 2003 // // Example sending a request using the ExecuteBudgetActionRequest method. 2004 // req, resp := client.ExecuteBudgetActionRequest(params) 2005 // 2006 // err := req.Send() 2007 // if err == nil { // resp is now filled 2008 // fmt.Println(resp) 2009 // } 2010 func (c *Budgets) ExecuteBudgetActionRequest(input *ExecuteBudgetActionInput) (req *request.Request, output *ExecuteBudgetActionOutput) { 2011 op := &request.Operation{ 2012 Name: opExecuteBudgetAction, 2013 HTTPMethod: "POST", 2014 HTTPPath: "/", 2015 } 2016 2017 if input == nil { 2018 input = &ExecuteBudgetActionInput{} 2019 } 2020 2021 output = &ExecuteBudgetActionOutput{} 2022 req = c.newRequest(op, input, output) 2023 return 2024 } 2025 2026 // ExecuteBudgetAction API operation for AWS Budgets. 2027 // 2028 // Executes a budget action. 2029 // 2030 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2031 // with awserr.Error's Code and Message methods to get detailed information about 2032 // the error. 2033 // 2034 // See the AWS API reference guide for AWS Budgets's 2035 // API operation ExecuteBudgetAction for usage and error information. 2036 // 2037 // Returned Error Types: 2038 // * InternalErrorException 2039 // An error on the server occurred during the processing of your request. Try 2040 // again later. 2041 // 2042 // * InvalidParameterException 2043 // An error on the client occurred. Typically, the cause is an invalid input 2044 // value. 2045 // 2046 // * NotFoundException 2047 // We can’t locate the resource that you specified. 2048 // 2049 // * AccessDeniedException 2050 // You are not authorized to use this operation with the given parameters. 2051 // 2052 // * ResourceLockedException 2053 // The request was received and recognized by the server, but the server rejected 2054 // that particular method for the requested resource. 2055 // 2056 func (c *Budgets) ExecuteBudgetAction(input *ExecuteBudgetActionInput) (*ExecuteBudgetActionOutput, error) { 2057 req, out := c.ExecuteBudgetActionRequest(input) 2058 return out, req.Send() 2059 } 2060 2061 // ExecuteBudgetActionWithContext is the same as ExecuteBudgetAction with the addition of 2062 // the ability to pass a context and additional request options. 2063 // 2064 // See ExecuteBudgetAction for details on how to use this API operation. 2065 // 2066 // The context must be non-nil and will be used for request cancellation. If 2067 // the context is nil a panic will occur. In the future the SDK may create 2068 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2069 // for more information on using Contexts. 2070 func (c *Budgets) ExecuteBudgetActionWithContext(ctx aws.Context, input *ExecuteBudgetActionInput, opts ...request.Option) (*ExecuteBudgetActionOutput, error) { 2071 req, out := c.ExecuteBudgetActionRequest(input) 2072 req.SetContext(ctx) 2073 req.ApplyOptions(opts...) 2074 return out, req.Send() 2075 } 2076 2077 const opUpdateBudget = "UpdateBudget" 2078 2079 // UpdateBudgetRequest generates a "aws/request.Request" representing the 2080 // client's request for the UpdateBudget operation. The "output" return 2081 // value will be populated with the request's response once the request completes 2082 // successfully. 2083 // 2084 // Use "Send" method on the returned Request to send the API call to the service. 2085 // the "output" return value is not valid until after Send returns without error. 2086 // 2087 // See UpdateBudget for more information on using the UpdateBudget 2088 // API call, and error handling. 2089 // 2090 // This method is useful when you want to inject custom logic or configuration 2091 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 2092 // 2093 // 2094 // // Example sending a request using the UpdateBudgetRequest method. 2095 // req, resp := client.UpdateBudgetRequest(params) 2096 // 2097 // err := req.Send() 2098 // if err == nil { // resp is now filled 2099 // fmt.Println(resp) 2100 // } 2101 func (c *Budgets) UpdateBudgetRequest(input *UpdateBudgetInput) (req *request.Request, output *UpdateBudgetOutput) { 2102 op := &request.Operation{ 2103 Name: opUpdateBudget, 2104 HTTPMethod: "POST", 2105 HTTPPath: "/", 2106 } 2107 2108 if input == nil { 2109 input = &UpdateBudgetInput{} 2110 } 2111 2112 output = &UpdateBudgetOutput{} 2113 req = c.newRequest(op, input, output) 2114 req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 2115 return 2116 } 2117 2118 // UpdateBudget API operation for AWS Budgets. 2119 // 2120 // Updates a budget. You can change every part of a budget except for the budgetName 2121 // and the calculatedSpend. When you modify a budget, the calculatedSpend drops 2122 // to zero until AWS has new usage data to use for forecasting. 2123 // 2124 // Only one of BudgetLimit or PlannedBudgetLimits can be present in the syntax 2125 // at one time. Use the syntax that matches your case. The Request Syntax section 2126 // shows the BudgetLimit syntax. For PlannedBudgetLimits, see the Examples (https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_budgets_UpdateBudget.html#API_UpdateBudget_Examples) 2127 // section. 2128 // 2129 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2130 // with awserr.Error's Code and Message methods to get detailed information about 2131 // the error. 2132 // 2133 // See the AWS API reference guide for AWS Budgets's 2134 // API operation UpdateBudget for usage and error information. 2135 // 2136 // Returned Error Types: 2137 // * InternalErrorException 2138 // An error on the server occurred during the processing of your request. Try 2139 // again later. 2140 // 2141 // * InvalidParameterException 2142 // An error on the client occurred. Typically, the cause is an invalid input 2143 // value. 2144 // 2145 // * NotFoundException 2146 // We can’t locate the resource that you specified. 2147 // 2148 // * AccessDeniedException 2149 // You are not authorized to use this operation with the given parameters. 2150 // 2151 func (c *Budgets) UpdateBudget(input *UpdateBudgetInput) (*UpdateBudgetOutput, error) { 2152 req, out := c.UpdateBudgetRequest(input) 2153 return out, req.Send() 2154 } 2155 2156 // UpdateBudgetWithContext is the same as UpdateBudget with the addition of 2157 // the ability to pass a context and additional request options. 2158 // 2159 // See UpdateBudget for details on how to use this API operation. 2160 // 2161 // The context must be non-nil and will be used for request cancellation. If 2162 // the context is nil a panic will occur. In the future the SDK may create 2163 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2164 // for more information on using Contexts. 2165 func (c *Budgets) UpdateBudgetWithContext(ctx aws.Context, input *UpdateBudgetInput, opts ...request.Option) (*UpdateBudgetOutput, error) { 2166 req, out := c.UpdateBudgetRequest(input) 2167 req.SetContext(ctx) 2168 req.ApplyOptions(opts...) 2169 return out, req.Send() 2170 } 2171 2172 const opUpdateBudgetAction = "UpdateBudgetAction" 2173 2174 // UpdateBudgetActionRequest generates a "aws/request.Request" representing the 2175 // client's request for the UpdateBudgetAction operation. The "output" return 2176 // value will be populated with the request's response once the request completes 2177 // successfully. 2178 // 2179 // Use "Send" method on the returned Request to send the API call to the service. 2180 // the "output" return value is not valid until after Send returns without error. 2181 // 2182 // See UpdateBudgetAction for more information on using the UpdateBudgetAction 2183 // API call, and error handling. 2184 // 2185 // This method is useful when you want to inject custom logic or configuration 2186 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 2187 // 2188 // 2189 // // Example sending a request using the UpdateBudgetActionRequest method. 2190 // req, resp := client.UpdateBudgetActionRequest(params) 2191 // 2192 // err := req.Send() 2193 // if err == nil { // resp is now filled 2194 // fmt.Println(resp) 2195 // } 2196 func (c *Budgets) UpdateBudgetActionRequest(input *UpdateBudgetActionInput) (req *request.Request, output *UpdateBudgetActionOutput) { 2197 op := &request.Operation{ 2198 Name: opUpdateBudgetAction, 2199 HTTPMethod: "POST", 2200 HTTPPath: "/", 2201 } 2202 2203 if input == nil { 2204 input = &UpdateBudgetActionInput{} 2205 } 2206 2207 output = &UpdateBudgetActionOutput{} 2208 req = c.newRequest(op, input, output) 2209 return 2210 } 2211 2212 // UpdateBudgetAction API operation for AWS Budgets. 2213 // 2214 // Updates a budget action. 2215 // 2216 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2217 // with awserr.Error's Code and Message methods to get detailed information about 2218 // the error. 2219 // 2220 // See the AWS API reference guide for AWS Budgets's 2221 // API operation UpdateBudgetAction for usage and error information. 2222 // 2223 // Returned Error Types: 2224 // * InternalErrorException 2225 // An error on the server occurred during the processing of your request. Try 2226 // again later. 2227 // 2228 // * InvalidParameterException 2229 // An error on the client occurred. Typically, the cause is an invalid input 2230 // value. 2231 // 2232 // * NotFoundException 2233 // We can’t locate the resource that you specified. 2234 // 2235 // * AccessDeniedException 2236 // You are not authorized to use this operation with the given parameters. 2237 // 2238 // * ResourceLockedException 2239 // The request was received and recognized by the server, but the server rejected 2240 // that particular method for the requested resource. 2241 // 2242 func (c *Budgets) UpdateBudgetAction(input *UpdateBudgetActionInput) (*UpdateBudgetActionOutput, error) { 2243 req, out := c.UpdateBudgetActionRequest(input) 2244 return out, req.Send() 2245 } 2246 2247 // UpdateBudgetActionWithContext is the same as UpdateBudgetAction with the addition of 2248 // the ability to pass a context and additional request options. 2249 // 2250 // See UpdateBudgetAction for details on how to use this API operation. 2251 // 2252 // The context must be non-nil and will be used for request cancellation. If 2253 // the context is nil a panic will occur. In the future the SDK may create 2254 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2255 // for more information on using Contexts. 2256 func (c *Budgets) UpdateBudgetActionWithContext(ctx aws.Context, input *UpdateBudgetActionInput, opts ...request.Option) (*UpdateBudgetActionOutput, error) { 2257 req, out := c.UpdateBudgetActionRequest(input) 2258 req.SetContext(ctx) 2259 req.ApplyOptions(opts...) 2260 return out, req.Send() 2261 } 2262 2263 const opUpdateNotification = "UpdateNotification" 2264 2265 // UpdateNotificationRequest generates a "aws/request.Request" representing the 2266 // client's request for the UpdateNotification operation. The "output" return 2267 // value will be populated with the request's response once the request completes 2268 // successfully. 2269 // 2270 // Use "Send" method on the returned Request to send the API call to the service. 2271 // the "output" return value is not valid until after Send returns without error. 2272 // 2273 // See UpdateNotification for more information on using the UpdateNotification 2274 // API call, and error handling. 2275 // 2276 // This method is useful when you want to inject custom logic or configuration 2277 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 2278 // 2279 // 2280 // // Example sending a request using the UpdateNotificationRequest method. 2281 // req, resp := client.UpdateNotificationRequest(params) 2282 // 2283 // err := req.Send() 2284 // if err == nil { // resp is now filled 2285 // fmt.Println(resp) 2286 // } 2287 func (c *Budgets) UpdateNotificationRequest(input *UpdateNotificationInput) (req *request.Request, output *UpdateNotificationOutput) { 2288 op := &request.Operation{ 2289 Name: opUpdateNotification, 2290 HTTPMethod: "POST", 2291 HTTPPath: "/", 2292 } 2293 2294 if input == nil { 2295 input = &UpdateNotificationInput{} 2296 } 2297 2298 output = &UpdateNotificationOutput{} 2299 req = c.newRequest(op, input, output) 2300 req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 2301 return 2302 } 2303 2304 // UpdateNotification API operation for AWS Budgets. 2305 // 2306 // Updates a notification. 2307 // 2308 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2309 // with awserr.Error's Code and Message methods to get detailed information about 2310 // the error. 2311 // 2312 // See the AWS API reference guide for AWS Budgets's 2313 // API operation UpdateNotification for usage and error information. 2314 // 2315 // Returned Error Types: 2316 // * InternalErrorException 2317 // An error on the server occurred during the processing of your request. Try 2318 // again later. 2319 // 2320 // * InvalidParameterException 2321 // An error on the client occurred. Typically, the cause is an invalid input 2322 // value. 2323 // 2324 // * NotFoundException 2325 // We can’t locate the resource that you specified. 2326 // 2327 // * DuplicateRecordException 2328 // The budget name already exists. Budget names must be unique within an account. 2329 // 2330 // * AccessDeniedException 2331 // You are not authorized to use this operation with the given parameters. 2332 // 2333 func (c *Budgets) UpdateNotification(input *UpdateNotificationInput) (*UpdateNotificationOutput, error) { 2334 req, out := c.UpdateNotificationRequest(input) 2335 return out, req.Send() 2336 } 2337 2338 // UpdateNotificationWithContext is the same as UpdateNotification with the addition of 2339 // the ability to pass a context and additional request options. 2340 // 2341 // See UpdateNotification for details on how to use this API operation. 2342 // 2343 // The context must be non-nil and will be used for request cancellation. If 2344 // the context is nil a panic will occur. In the future the SDK may create 2345 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2346 // for more information on using Contexts. 2347 func (c *Budgets) UpdateNotificationWithContext(ctx aws.Context, input *UpdateNotificationInput, opts ...request.Option) (*UpdateNotificationOutput, error) { 2348 req, out := c.UpdateNotificationRequest(input) 2349 req.SetContext(ctx) 2350 req.ApplyOptions(opts...) 2351 return out, req.Send() 2352 } 2353 2354 const opUpdateSubscriber = "UpdateSubscriber" 2355 2356 // UpdateSubscriberRequest generates a "aws/request.Request" representing the 2357 // client's request for the UpdateSubscriber operation. The "output" return 2358 // value will be populated with the request's response once the request completes 2359 // successfully. 2360 // 2361 // Use "Send" method on the returned Request to send the API call to the service. 2362 // the "output" return value is not valid until after Send returns without error. 2363 // 2364 // See UpdateSubscriber for more information on using the UpdateSubscriber 2365 // API call, and error handling. 2366 // 2367 // This method is useful when you want to inject custom logic or configuration 2368 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 2369 // 2370 // 2371 // // Example sending a request using the UpdateSubscriberRequest method. 2372 // req, resp := client.UpdateSubscriberRequest(params) 2373 // 2374 // err := req.Send() 2375 // if err == nil { // resp is now filled 2376 // fmt.Println(resp) 2377 // } 2378 func (c *Budgets) UpdateSubscriberRequest(input *UpdateSubscriberInput) (req *request.Request, output *UpdateSubscriberOutput) { 2379 op := &request.Operation{ 2380 Name: opUpdateSubscriber, 2381 HTTPMethod: "POST", 2382 HTTPPath: "/", 2383 } 2384 2385 if input == nil { 2386 input = &UpdateSubscriberInput{} 2387 } 2388 2389 output = &UpdateSubscriberOutput{} 2390 req = c.newRequest(op, input, output) 2391 req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 2392 return 2393 } 2394 2395 // UpdateSubscriber API operation for AWS Budgets. 2396 // 2397 // Updates a subscriber. 2398 // 2399 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2400 // with awserr.Error's Code and Message methods to get detailed information about 2401 // the error. 2402 // 2403 // See the AWS API reference guide for AWS Budgets's 2404 // API operation UpdateSubscriber for usage and error information. 2405 // 2406 // Returned Error Types: 2407 // * InternalErrorException 2408 // An error on the server occurred during the processing of your request. Try 2409 // again later. 2410 // 2411 // * InvalidParameterException 2412 // An error on the client occurred. Typically, the cause is an invalid input 2413 // value. 2414 // 2415 // * NotFoundException 2416 // We can’t locate the resource that you specified. 2417 // 2418 // * DuplicateRecordException 2419 // The budget name already exists. Budget names must be unique within an account. 2420 // 2421 // * AccessDeniedException 2422 // You are not authorized to use this operation with the given parameters. 2423 // 2424 func (c *Budgets) UpdateSubscriber(input *UpdateSubscriberInput) (*UpdateSubscriberOutput, error) { 2425 req, out := c.UpdateSubscriberRequest(input) 2426 return out, req.Send() 2427 } 2428 2429 // UpdateSubscriberWithContext is the same as UpdateSubscriber with the addition of 2430 // the ability to pass a context and additional request options. 2431 // 2432 // See UpdateSubscriber for details on how to use this API operation. 2433 // 2434 // The context must be non-nil and will be used for request cancellation. If 2435 // the context is nil a panic will occur. In the future the SDK may create 2436 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2437 // for more information on using Contexts. 2438 func (c *Budgets) UpdateSubscriberWithContext(ctx aws.Context, input *UpdateSubscriberInput, opts ...request.Option) (*UpdateSubscriberOutput, error) { 2439 req, out := c.UpdateSubscriberRequest(input) 2440 req.SetContext(ctx) 2441 req.ApplyOptions(opts...) 2442 return out, req.Send() 2443 } 2444 2445 // You are not authorized to use this operation with the given parameters. 2446 type AccessDeniedException struct { 2447 _ struct{} `type:"structure"` 2448 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 2449 2450 // The error message the exception carries. 2451 Message_ *string `locationName:"Message" type:"string"` 2452 } 2453 2454 // String returns the string representation. 2455 // 2456 // API parameter values that are decorated as "sensitive" in the API will not 2457 // be included in the string output. The member name will be present, but the 2458 // value will be replaced with "sensitive". 2459 func (s AccessDeniedException) String() string { 2460 return awsutil.Prettify(s) 2461 } 2462 2463 // GoString returns the string representation. 2464 // 2465 // API parameter values that are decorated as "sensitive" in the API will not 2466 // be included in the string output. The member name will be present, but the 2467 // value will be replaced with "sensitive". 2468 func (s AccessDeniedException) GoString() string { 2469 return s.String() 2470 } 2471 2472 func newErrorAccessDeniedException(v protocol.ResponseMetadata) error { 2473 return &AccessDeniedException{ 2474 RespMetadata: v, 2475 } 2476 } 2477 2478 // Code returns the exception type name. 2479 func (s *AccessDeniedException) Code() string { 2480 return "AccessDeniedException" 2481 } 2482 2483 // Message returns the exception's message. 2484 func (s *AccessDeniedException) Message() string { 2485 if s.Message_ != nil { 2486 return *s.Message_ 2487 } 2488 return "" 2489 } 2490 2491 // OrigErr always returns nil, satisfies awserr.Error interface. 2492 func (s *AccessDeniedException) OrigErr() error { 2493 return nil 2494 } 2495 2496 func (s *AccessDeniedException) Error() string { 2497 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 2498 } 2499 2500 // Status code returns the HTTP status code for the request's response error. 2501 func (s *AccessDeniedException) StatusCode() int { 2502 return s.RespMetadata.StatusCode 2503 } 2504 2505 // RequestID returns the service's response RequestID for request. 2506 func (s *AccessDeniedException) RequestID() string { 2507 return s.RespMetadata.RequestID 2508 } 2509 2510 // A budget action resource. 2511 type Action struct { 2512 _ struct{} `type:"structure"` 2513 2514 // A system-generated universally unique identifier (UUID) for the action. 2515 // 2516 // ActionId is a required field 2517 ActionId *string `min:"36" type:"string" required:"true"` 2518 2519 // The trigger threshold of the action. 2520 // 2521 // ActionThreshold is a required field 2522 ActionThreshold *ActionThreshold `type:"structure" required:"true"` 2523 2524 // The type of action. This defines the type of tasks that can be carried out 2525 // by this action. This field also determines the format for definition. 2526 // 2527 // ActionType is a required field 2528 ActionType *string `type:"string" required:"true" enum:"ActionType"` 2529 2530 // This specifies if the action needs manual or automatic approval. 2531 // 2532 // ApprovalModel is a required field 2533 ApprovalModel *string `type:"string" required:"true" enum:"ApprovalModel"` 2534 2535 // A string that represents the budget name. The ":" and "\" characters aren't 2536 // allowed. 2537 // 2538 // BudgetName is a required field 2539 BudgetName *string `min:"1" type:"string" required:"true"` 2540 2541 // Where you specify all of the type-specific parameters. 2542 // 2543 // Definition is a required field 2544 Definition *Definition `type:"structure" required:"true"` 2545 2546 // The role passed for action execution and reversion. Roles and actions must 2547 // be in the same account. 2548 // 2549 // ExecutionRoleArn is a required field 2550 ExecutionRoleArn *string `min:"32" type:"string" required:"true"` 2551 2552 // The type of a notification. It must be ACTUAL or FORECASTED. 2553 // 2554 // NotificationType is a required field 2555 NotificationType *string `type:"string" required:"true" enum:"NotificationType"` 2556 2557 // The status of action. 2558 // 2559 // Status is a required field 2560 Status *string `type:"string" required:"true" enum:"ActionStatus"` 2561 2562 // A list of subscribers. 2563 // 2564 // Subscribers is a required field 2565 Subscribers []*Subscriber `min:"1" type:"list" required:"true"` 2566 } 2567 2568 // String returns the string representation. 2569 // 2570 // API parameter values that are decorated as "sensitive" in the API will not 2571 // be included in the string output. The member name will be present, but the 2572 // value will be replaced with "sensitive". 2573 func (s Action) String() string { 2574 return awsutil.Prettify(s) 2575 } 2576 2577 // GoString returns the string representation. 2578 // 2579 // API parameter values that are decorated as "sensitive" in the API will not 2580 // be included in the string output. The member name will be present, but the 2581 // value will be replaced with "sensitive". 2582 func (s Action) GoString() string { 2583 return s.String() 2584 } 2585 2586 // SetActionId sets the ActionId field's value. 2587 func (s *Action) SetActionId(v string) *Action { 2588 s.ActionId = &v 2589 return s 2590 } 2591 2592 // SetActionThreshold sets the ActionThreshold field's value. 2593 func (s *Action) SetActionThreshold(v *ActionThreshold) *Action { 2594 s.ActionThreshold = v 2595 return s 2596 } 2597 2598 // SetActionType sets the ActionType field's value. 2599 func (s *Action) SetActionType(v string) *Action { 2600 s.ActionType = &v 2601 return s 2602 } 2603 2604 // SetApprovalModel sets the ApprovalModel field's value. 2605 func (s *Action) SetApprovalModel(v string) *Action { 2606 s.ApprovalModel = &v 2607 return s 2608 } 2609 2610 // SetBudgetName sets the BudgetName field's value. 2611 func (s *Action) SetBudgetName(v string) *Action { 2612 s.BudgetName = &v 2613 return s 2614 } 2615 2616 // SetDefinition sets the Definition field's value. 2617 func (s *Action) SetDefinition(v *Definition) *Action { 2618 s.Definition = v 2619 return s 2620 } 2621 2622 // SetExecutionRoleArn sets the ExecutionRoleArn field's value. 2623 func (s *Action) SetExecutionRoleArn(v string) *Action { 2624 s.ExecutionRoleArn = &v 2625 return s 2626 } 2627 2628 // SetNotificationType sets the NotificationType field's value. 2629 func (s *Action) SetNotificationType(v string) *Action { 2630 s.NotificationType = &v 2631 return s 2632 } 2633 2634 // SetStatus sets the Status field's value. 2635 func (s *Action) SetStatus(v string) *Action { 2636 s.Status = &v 2637 return s 2638 } 2639 2640 // SetSubscribers sets the Subscribers field's value. 2641 func (s *Action) SetSubscribers(v []*Subscriber) *Action { 2642 s.Subscribers = v 2643 return s 2644 } 2645 2646 // The historical records for a budget action. 2647 type ActionHistory struct { 2648 _ struct{} `type:"structure"` 2649 2650 // The description of details of the event. 2651 // 2652 // ActionHistoryDetails is a required field 2653 ActionHistoryDetails *ActionHistoryDetails `type:"structure" required:"true"` 2654 2655 // This distinguishes between whether the events are triggered by the user or 2656 // generated by the system. 2657 // 2658 // EventType is a required field 2659 EventType *string `type:"string" required:"true" enum:"EventType"` 2660 2661 // The status of action at the time of the event. 2662 // 2663 // Status is a required field 2664 Status *string `type:"string" required:"true" enum:"ActionStatus"` 2665 2666 // A generic time stamp. In Java, it is transformed to a Date object. 2667 // 2668 // Timestamp is a required field 2669 Timestamp *time.Time `type:"timestamp" required:"true"` 2670 } 2671 2672 // String returns the string representation. 2673 // 2674 // API parameter values that are decorated as "sensitive" in the API will not 2675 // be included in the string output. The member name will be present, but the 2676 // value will be replaced with "sensitive". 2677 func (s ActionHistory) String() string { 2678 return awsutil.Prettify(s) 2679 } 2680 2681 // GoString returns the string representation. 2682 // 2683 // API parameter values that are decorated as "sensitive" in the API will not 2684 // be included in the string output. The member name will be present, but the 2685 // value will be replaced with "sensitive". 2686 func (s ActionHistory) GoString() string { 2687 return s.String() 2688 } 2689 2690 // SetActionHistoryDetails sets the ActionHistoryDetails field's value. 2691 func (s *ActionHistory) SetActionHistoryDetails(v *ActionHistoryDetails) *ActionHistory { 2692 s.ActionHistoryDetails = v 2693 return s 2694 } 2695 2696 // SetEventType sets the EventType field's value. 2697 func (s *ActionHistory) SetEventType(v string) *ActionHistory { 2698 s.EventType = &v 2699 return s 2700 } 2701 2702 // SetStatus sets the Status field's value. 2703 func (s *ActionHistory) SetStatus(v string) *ActionHistory { 2704 s.Status = &v 2705 return s 2706 } 2707 2708 // SetTimestamp sets the Timestamp field's value. 2709 func (s *ActionHistory) SetTimestamp(v time.Time) *ActionHistory { 2710 s.Timestamp = &v 2711 return s 2712 } 2713 2714 // The description of details of the event. 2715 type ActionHistoryDetails struct { 2716 _ struct{} `type:"structure"` 2717 2718 // The budget action resource. 2719 // 2720 // Action is a required field 2721 Action *Action `type:"structure" required:"true"` 2722 2723 // A generic string. 2724 // 2725 // Message is a required field 2726 Message *string `type:"string" required:"true"` 2727 } 2728 2729 // String returns the string representation. 2730 // 2731 // API parameter values that are decorated as "sensitive" in the API will not 2732 // be included in the string output. The member name will be present, but the 2733 // value will be replaced with "sensitive". 2734 func (s ActionHistoryDetails) String() string { 2735 return awsutil.Prettify(s) 2736 } 2737 2738 // GoString returns the string representation. 2739 // 2740 // API parameter values that are decorated as "sensitive" in the API will not 2741 // be included in the string output. The member name will be present, but the 2742 // value will be replaced with "sensitive". 2743 func (s ActionHistoryDetails) GoString() string { 2744 return s.String() 2745 } 2746 2747 // SetAction sets the Action field's value. 2748 func (s *ActionHistoryDetails) SetAction(v *Action) *ActionHistoryDetails { 2749 s.Action = v 2750 return s 2751 } 2752 2753 // SetMessage sets the Message field's value. 2754 func (s *ActionHistoryDetails) SetMessage(v string) *ActionHistoryDetails { 2755 s.Message = &v 2756 return s 2757 } 2758 2759 // The trigger threshold of the action. 2760 type ActionThreshold struct { 2761 _ struct{} `type:"structure"` 2762 2763 // The type of threshold for a notification. 2764 // 2765 // ActionThresholdType is a required field 2766 ActionThresholdType *string `type:"string" required:"true" enum:"ThresholdType"` 2767 2768 // The threshold of a notification. 2769 // 2770 // ActionThresholdValue is a required field 2771 ActionThresholdValue *float64 `type:"double" required:"true"` 2772 } 2773 2774 // String returns the string representation. 2775 // 2776 // API parameter values that are decorated as "sensitive" in the API will not 2777 // be included in the string output. The member name will be present, but the 2778 // value will be replaced with "sensitive". 2779 func (s ActionThreshold) String() string { 2780 return awsutil.Prettify(s) 2781 } 2782 2783 // GoString returns the string representation. 2784 // 2785 // API parameter values that are decorated as "sensitive" in the API will not 2786 // be included in the string output. The member name will be present, but the 2787 // value will be replaced with "sensitive". 2788 func (s ActionThreshold) GoString() string { 2789 return s.String() 2790 } 2791 2792 // Validate inspects the fields of the type to determine if they are valid. 2793 func (s *ActionThreshold) Validate() error { 2794 invalidParams := request.ErrInvalidParams{Context: "ActionThreshold"} 2795 if s.ActionThresholdType == nil { 2796 invalidParams.Add(request.NewErrParamRequired("ActionThresholdType")) 2797 } 2798 if s.ActionThresholdValue == nil { 2799 invalidParams.Add(request.NewErrParamRequired("ActionThresholdValue")) 2800 } 2801 2802 if invalidParams.Len() > 0 { 2803 return invalidParams 2804 } 2805 return nil 2806 } 2807 2808 // SetActionThresholdType sets the ActionThresholdType field's value. 2809 func (s *ActionThreshold) SetActionThresholdType(v string) *ActionThreshold { 2810 s.ActionThresholdType = &v 2811 return s 2812 } 2813 2814 // SetActionThresholdValue sets the ActionThresholdValue field's value. 2815 func (s *ActionThreshold) SetActionThresholdValue(v float64) *ActionThreshold { 2816 s.ActionThresholdValue = &v 2817 return s 2818 } 2819 2820 // Represents the output of the CreateBudget operation. The content consists 2821 // of the detailed metadata and data file information, and the current status 2822 // of the budget object. 2823 // 2824 // This is the ARN pattern for a budget: 2825 // 2826 // arn:aws:budgets::AccountId:budget/budgetName 2827 type Budget struct { 2828 _ struct{} `type:"structure"` 2829 2830 // The total amount of cost, usage, RI utilization, RI coverage, Savings Plans 2831 // utilization, or Savings Plans coverage that you want to track with your budget. 2832 // 2833 // BudgetLimit is required for cost or usage budgets, but optional for RI or 2834 // Savings Plans utilization or coverage budgets. RI and Savings Plans utilization 2835 // or coverage budgets default to 100, which is the only valid value for RI 2836 // or Savings Plans utilization or coverage budgets. You can't use BudgetLimit 2837 // with PlannedBudgetLimits for CreateBudget and UpdateBudget actions. 2838 BudgetLimit *Spend `type:"structure"` 2839 2840 // The name of a budget. The name must be unique within an account. The : and 2841 // \ characters aren't allowed in BudgetName. 2842 // 2843 // BudgetName is a required field 2844 BudgetName *string `min:"1" type:"string" required:"true"` 2845 2846 // Whether this budget tracks costs, usage, RI utilization, RI coverage, Savings 2847 // Plans utilization, or Savings Plans coverage. 2848 // 2849 // BudgetType is a required field 2850 BudgetType *string `type:"string" required:"true" enum:"BudgetType"` 2851 2852 // The actual and forecasted cost or usage that the budget tracks. 2853 CalculatedSpend *CalculatedSpend `type:"structure"` 2854 2855 // The cost filters, such as service or tag, that are applied to a budget. 2856 // 2857 // AWS Budgets supports the following services as a filter for RI budgets: 2858 // 2859 // * Amazon Elastic Compute Cloud - Compute 2860 // 2861 // * Amazon Redshift 2862 // 2863 // * Amazon Relational Database Service 2864 // 2865 // * Amazon ElastiCache 2866 // 2867 // * Amazon Elasticsearch Service 2868 CostFilters map[string][]*string `type:"map"` 2869 2870 // The types of costs that are included in this COST budget. 2871 // 2872 // USAGE, RI_UTILIZATION, RI_COVERAGE, SAVINGS_PLANS_UTILIZATION, and SAVINGS_PLANS_COVERAGE 2873 // budgets do not have CostTypes. 2874 CostTypes *CostTypes `type:"structure"` 2875 2876 // The last time that you updated this budget. 2877 LastUpdatedTime *time.Time `type:"timestamp"` 2878 2879 // A map containing multiple BudgetLimit, including current or future limits. 2880 // 2881 // PlannedBudgetLimits is available for cost or usage budget and supports monthly 2882 // and quarterly TimeUnit. 2883 // 2884 // For monthly budgets, provide 12 months of PlannedBudgetLimits values. This 2885 // must start from the current month and include the next 11 months. The key 2886 // is the start of the month, UTC in epoch seconds. 2887 // 2888 // For quarterly budgets, provide 4 quarters of PlannedBudgetLimits value entries 2889 // in standard calendar quarter increments. This must start from the current 2890 // quarter and include the next 3 quarters. The key is the start of the quarter, 2891 // UTC in epoch seconds. 2892 // 2893 // If the planned budget expires before 12 months for monthly or 4 quarters 2894 // for quarterly, provide the PlannedBudgetLimits values only for the remaining 2895 // periods. 2896 // 2897 // If the budget begins at a date in the future, provide PlannedBudgetLimits 2898 // values from the start date of the budget. 2899 // 2900 // After all of the BudgetLimit values in PlannedBudgetLimits are used, the 2901 // budget continues to use the last limit as the BudgetLimit. At that point, 2902 // the planned budget provides the same experience as a fixed budget. 2903 // 2904 // DescribeBudget and DescribeBudgets response along with PlannedBudgetLimits 2905 // will also contain BudgetLimit representing the current month or quarter limit 2906 // present in PlannedBudgetLimits. This only applies to budgets created with 2907 // PlannedBudgetLimits. Budgets created without PlannedBudgetLimits will only 2908 // contain BudgetLimit, and no PlannedBudgetLimits. 2909 PlannedBudgetLimits map[string]*Spend `type:"map"` 2910 2911 // The period of time that is covered by a budget. The period has a start date 2912 // and an end date. The start date must come before the end date. The end date 2913 // must come before 06/15/87 00:00 UTC. 2914 // 2915 // If you create your budget and don't specify a start date, AWS defaults to 2916 // the start of your chosen time period (DAILY, MONTHLY, QUARTERLY, or ANNUALLY). 2917 // For example, if you created your budget on January 24, 2018, chose DAILY, 2918 // and didn't set a start date, AWS set your start date to 01/24/18 00:00 UTC. 2919 // If you chose MONTHLY, AWS set your start date to 01/01/18 00:00 UTC. If you 2920 // didn't specify an end date, AWS set your end date to 06/15/87 00:00 UTC. 2921 // The defaults are the same for the AWS Billing and Cost Management console 2922 // and the API. 2923 // 2924 // You can change either date with the UpdateBudget operation. 2925 // 2926 // After the end date, AWS deletes the budget and all associated notifications 2927 // and subscribers. 2928 TimePeriod *TimePeriod `type:"structure"` 2929 2930 // The length of time until a budget resets the actual and forecasted spend. 2931 // 2932 // TimeUnit is a required field 2933 TimeUnit *string `type:"string" required:"true" enum:"TimeUnit"` 2934 } 2935 2936 // String returns the string representation. 2937 // 2938 // API parameter values that are decorated as "sensitive" in the API will not 2939 // be included in the string output. The member name will be present, but the 2940 // value will be replaced with "sensitive". 2941 func (s Budget) String() string { 2942 return awsutil.Prettify(s) 2943 } 2944 2945 // GoString returns the string representation. 2946 // 2947 // API parameter values that are decorated as "sensitive" in the API will not 2948 // be included in the string output. The member name will be present, but the 2949 // value will be replaced with "sensitive". 2950 func (s Budget) GoString() string { 2951 return s.String() 2952 } 2953 2954 // Validate inspects the fields of the type to determine if they are valid. 2955 func (s *Budget) Validate() error { 2956 invalidParams := request.ErrInvalidParams{Context: "Budget"} 2957 if s.BudgetName == nil { 2958 invalidParams.Add(request.NewErrParamRequired("BudgetName")) 2959 } 2960 if s.BudgetName != nil && len(*s.BudgetName) < 1 { 2961 invalidParams.Add(request.NewErrParamMinLen("BudgetName", 1)) 2962 } 2963 if s.BudgetType == nil { 2964 invalidParams.Add(request.NewErrParamRequired("BudgetType")) 2965 } 2966 if s.TimeUnit == nil { 2967 invalidParams.Add(request.NewErrParamRequired("TimeUnit")) 2968 } 2969 if s.BudgetLimit != nil { 2970 if err := s.BudgetLimit.Validate(); err != nil { 2971 invalidParams.AddNested("BudgetLimit", err.(request.ErrInvalidParams)) 2972 } 2973 } 2974 if s.CalculatedSpend != nil { 2975 if err := s.CalculatedSpend.Validate(); err != nil { 2976 invalidParams.AddNested("CalculatedSpend", err.(request.ErrInvalidParams)) 2977 } 2978 } 2979 if s.PlannedBudgetLimits != nil { 2980 for i, v := range s.PlannedBudgetLimits { 2981 if v == nil { 2982 continue 2983 } 2984 if err := v.Validate(); err != nil { 2985 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PlannedBudgetLimits", i), err.(request.ErrInvalidParams)) 2986 } 2987 } 2988 } 2989 2990 if invalidParams.Len() > 0 { 2991 return invalidParams 2992 } 2993 return nil 2994 } 2995 2996 // SetBudgetLimit sets the BudgetLimit field's value. 2997 func (s *Budget) SetBudgetLimit(v *Spend) *Budget { 2998 s.BudgetLimit = v 2999 return s 3000 } 3001 3002 // SetBudgetName sets the BudgetName field's value. 3003 func (s *Budget) SetBudgetName(v string) *Budget { 3004 s.BudgetName = &v 3005 return s 3006 } 3007 3008 // SetBudgetType sets the BudgetType field's value. 3009 func (s *Budget) SetBudgetType(v string) *Budget { 3010 s.BudgetType = &v 3011 return s 3012 } 3013 3014 // SetCalculatedSpend sets the CalculatedSpend field's value. 3015 func (s *Budget) SetCalculatedSpend(v *CalculatedSpend) *Budget { 3016 s.CalculatedSpend = v 3017 return s 3018 } 3019 3020 // SetCostFilters sets the CostFilters field's value. 3021 func (s *Budget) SetCostFilters(v map[string][]*string) *Budget { 3022 s.CostFilters = v 3023 return s 3024 } 3025 3026 // SetCostTypes sets the CostTypes field's value. 3027 func (s *Budget) SetCostTypes(v *CostTypes) *Budget { 3028 s.CostTypes = v 3029 return s 3030 } 3031 3032 // SetLastUpdatedTime sets the LastUpdatedTime field's value. 3033 func (s *Budget) SetLastUpdatedTime(v time.Time) *Budget { 3034 s.LastUpdatedTime = &v 3035 return s 3036 } 3037 3038 // SetPlannedBudgetLimits sets the PlannedBudgetLimits field's value. 3039 func (s *Budget) SetPlannedBudgetLimits(v map[string]*Spend) *Budget { 3040 s.PlannedBudgetLimits = v 3041 return s 3042 } 3043 3044 // SetTimePeriod sets the TimePeriod field's value. 3045 func (s *Budget) SetTimePeriod(v *TimePeriod) *Budget { 3046 s.TimePeriod = v 3047 return s 3048 } 3049 3050 // SetTimeUnit sets the TimeUnit field's value. 3051 func (s *Budget) SetTimeUnit(v string) *Budget { 3052 s.TimeUnit = &v 3053 return s 3054 } 3055 3056 // A history of the state of a budget at the end of the budget's specified time 3057 // period. 3058 type BudgetPerformanceHistory struct { 3059 _ struct{} `type:"structure"` 3060 3061 // A string that represents the budget name. The ":" and "\" characters aren't 3062 // allowed. 3063 BudgetName *string `min:"1" type:"string"` 3064 3065 // The type of a budget. It must be one of the following types: 3066 // 3067 // COST, USAGE, RI_UTILIZATION, RI_COVERAGE, SAVINGS_PLANS_UTILIZATION, or SAVINGS_PLANS_COVERAGE. 3068 BudgetType *string `type:"string" enum:"BudgetType"` 3069 3070 // A list of amounts of cost or usage that you created budgets for, compared 3071 // to your actual costs or usage. 3072 BudgetedAndActualAmountsList []*BudgetedAndActualAmounts `type:"list"` 3073 3074 // The history of the cost filters for a budget during the specified time period. 3075 CostFilters map[string][]*string `type:"map"` 3076 3077 // The history of the cost types for a budget during the specified time period. 3078 CostTypes *CostTypes `type:"structure"` 3079 3080 // The time unit of the budget, such as MONTHLY or QUARTERLY. 3081 TimeUnit *string `type:"string" enum:"TimeUnit"` 3082 } 3083 3084 // String returns the string representation. 3085 // 3086 // API parameter values that are decorated as "sensitive" in the API will not 3087 // be included in the string output. The member name will be present, but the 3088 // value will be replaced with "sensitive". 3089 func (s BudgetPerformanceHistory) String() string { 3090 return awsutil.Prettify(s) 3091 } 3092 3093 // GoString returns the string representation. 3094 // 3095 // API parameter values that are decorated as "sensitive" in the API will not 3096 // be included in the string output. The member name will be present, but the 3097 // value will be replaced with "sensitive". 3098 func (s BudgetPerformanceHistory) GoString() string { 3099 return s.String() 3100 } 3101 3102 // SetBudgetName sets the BudgetName field's value. 3103 func (s *BudgetPerformanceHistory) SetBudgetName(v string) *BudgetPerformanceHistory { 3104 s.BudgetName = &v 3105 return s 3106 } 3107 3108 // SetBudgetType sets the BudgetType field's value. 3109 func (s *BudgetPerformanceHistory) SetBudgetType(v string) *BudgetPerformanceHistory { 3110 s.BudgetType = &v 3111 return s 3112 } 3113 3114 // SetBudgetedAndActualAmountsList sets the BudgetedAndActualAmountsList field's value. 3115 func (s *BudgetPerformanceHistory) SetBudgetedAndActualAmountsList(v []*BudgetedAndActualAmounts) *BudgetPerformanceHistory { 3116 s.BudgetedAndActualAmountsList = v 3117 return s 3118 } 3119 3120 // SetCostFilters sets the CostFilters field's value. 3121 func (s *BudgetPerformanceHistory) SetCostFilters(v map[string][]*string) *BudgetPerformanceHistory { 3122 s.CostFilters = v 3123 return s 3124 } 3125 3126 // SetCostTypes sets the CostTypes field's value. 3127 func (s *BudgetPerformanceHistory) SetCostTypes(v *CostTypes) *BudgetPerformanceHistory { 3128 s.CostTypes = v 3129 return s 3130 } 3131 3132 // SetTimeUnit sets the TimeUnit field's value. 3133 func (s *BudgetPerformanceHistory) SetTimeUnit(v string) *BudgetPerformanceHistory { 3134 s.TimeUnit = &v 3135 return s 3136 } 3137 3138 // The amount of cost or usage that you created the budget for, compared to 3139 // your actual costs or usage. 3140 type BudgetedAndActualAmounts struct { 3141 _ struct{} `type:"structure"` 3142 3143 // Your actual costs or usage for a budget period. 3144 ActualAmount *Spend `type:"structure"` 3145 3146 // The amount of cost or usage that you created the budget for. 3147 BudgetedAmount *Spend `type:"structure"` 3148 3149 // The time period covered by this budget comparison. 3150 TimePeriod *TimePeriod `type:"structure"` 3151 } 3152 3153 // String returns the string representation. 3154 // 3155 // API parameter values that are decorated as "sensitive" in the API will not 3156 // be included in the string output. The member name will be present, but the 3157 // value will be replaced with "sensitive". 3158 func (s BudgetedAndActualAmounts) String() string { 3159 return awsutil.Prettify(s) 3160 } 3161 3162 // GoString returns the string representation. 3163 // 3164 // API parameter values that are decorated as "sensitive" in the API will not 3165 // be included in the string output. The member name will be present, but the 3166 // value will be replaced with "sensitive". 3167 func (s BudgetedAndActualAmounts) GoString() string { 3168 return s.String() 3169 } 3170 3171 // SetActualAmount sets the ActualAmount field's value. 3172 func (s *BudgetedAndActualAmounts) SetActualAmount(v *Spend) *BudgetedAndActualAmounts { 3173 s.ActualAmount = v 3174 return s 3175 } 3176 3177 // SetBudgetedAmount sets the BudgetedAmount field's value. 3178 func (s *BudgetedAndActualAmounts) SetBudgetedAmount(v *Spend) *BudgetedAndActualAmounts { 3179 s.BudgetedAmount = v 3180 return s 3181 } 3182 3183 // SetTimePeriod sets the TimePeriod field's value. 3184 func (s *BudgetedAndActualAmounts) SetTimePeriod(v *TimePeriod) *BudgetedAndActualAmounts { 3185 s.TimePeriod = v 3186 return s 3187 } 3188 3189 // The spend objects that are associated with this budget. The actualSpend tracks 3190 // how much you've used, cost, usage, RI units, or Savings Plans units and the 3191 // forecastedSpend tracks how much you are predicted to spend based on your 3192 // historical usage profile. 3193 // 3194 // For example, if it is the 20th of the month and you have spent 50 dollars 3195 // on Amazon EC2, your actualSpend is 50 USD, and your forecastedSpend is 75 3196 // USD. 3197 type CalculatedSpend struct { 3198 _ struct{} `type:"structure"` 3199 3200 // The amount of cost, usage, RI units, or Savings Plans units that you have 3201 // used. 3202 // 3203 // ActualSpend is a required field 3204 ActualSpend *Spend `type:"structure" required:"true"` 3205 3206 // The amount of cost, usage, RI units, or Savings Plans units that you are 3207 // forecasted to use. 3208 ForecastedSpend *Spend `type:"structure"` 3209 } 3210 3211 // String returns the string representation. 3212 // 3213 // API parameter values that are decorated as "sensitive" in the API will not 3214 // be included in the string output. The member name will be present, but the 3215 // value will be replaced with "sensitive". 3216 func (s CalculatedSpend) String() string { 3217 return awsutil.Prettify(s) 3218 } 3219 3220 // GoString returns the string representation. 3221 // 3222 // API parameter values that are decorated as "sensitive" in the API will not 3223 // be included in the string output. The member name will be present, but the 3224 // value will be replaced with "sensitive". 3225 func (s CalculatedSpend) GoString() string { 3226 return s.String() 3227 } 3228 3229 // Validate inspects the fields of the type to determine if they are valid. 3230 func (s *CalculatedSpend) Validate() error { 3231 invalidParams := request.ErrInvalidParams{Context: "CalculatedSpend"} 3232 if s.ActualSpend == nil { 3233 invalidParams.Add(request.NewErrParamRequired("ActualSpend")) 3234 } 3235 if s.ActualSpend != nil { 3236 if err := s.ActualSpend.Validate(); err != nil { 3237 invalidParams.AddNested("ActualSpend", err.(request.ErrInvalidParams)) 3238 } 3239 } 3240 if s.ForecastedSpend != nil { 3241 if err := s.ForecastedSpend.Validate(); err != nil { 3242 invalidParams.AddNested("ForecastedSpend", err.(request.ErrInvalidParams)) 3243 } 3244 } 3245 3246 if invalidParams.Len() > 0 { 3247 return invalidParams 3248 } 3249 return nil 3250 } 3251 3252 // SetActualSpend sets the ActualSpend field's value. 3253 func (s *CalculatedSpend) SetActualSpend(v *Spend) *CalculatedSpend { 3254 s.ActualSpend = v 3255 return s 3256 } 3257 3258 // SetForecastedSpend sets the ForecastedSpend field's value. 3259 func (s *CalculatedSpend) SetForecastedSpend(v *Spend) *CalculatedSpend { 3260 s.ForecastedSpend = v 3261 return s 3262 } 3263 3264 // The types of cost that are included in a COST budget, such as tax and subscriptions. 3265 // 3266 // USAGE, RI_UTILIZATION, RI_COVERAGE, SAVINGS_PLANS_UTILIZATION, and SAVINGS_PLANS_COVERAGE 3267 // budgets do not have CostTypes. 3268 type CostTypes struct { 3269 _ struct{} `type:"structure"` 3270 3271 // Specifies whether a budget includes credits. 3272 // 3273 // The default value is true. 3274 IncludeCredit *bool `type:"boolean"` 3275 3276 // Specifies whether a budget includes discounts. 3277 // 3278 // The default value is true. 3279 IncludeDiscount *bool `type:"boolean"` 3280 3281 // Specifies whether a budget includes non-RI subscription costs. 3282 // 3283 // The default value is true. 3284 IncludeOtherSubscription *bool `type:"boolean"` 3285 3286 // Specifies whether a budget includes recurring fees such as monthly RI fees. 3287 // 3288 // The default value is true. 3289 IncludeRecurring *bool `type:"boolean"` 3290 3291 // Specifies whether a budget includes refunds. 3292 // 3293 // The default value is true. 3294 IncludeRefund *bool `type:"boolean"` 3295 3296 // Specifies whether a budget includes subscriptions. 3297 // 3298 // The default value is true. 3299 IncludeSubscription *bool `type:"boolean"` 3300 3301 // Specifies whether a budget includes support subscription fees. 3302 // 3303 // The default value is true. 3304 IncludeSupport *bool `type:"boolean"` 3305 3306 // Specifies whether a budget includes taxes. 3307 // 3308 // The default value is true. 3309 IncludeTax *bool `type:"boolean"` 3310 3311 // Specifies whether a budget includes upfront RI costs. 3312 // 3313 // The default value is true. 3314 IncludeUpfront *bool `type:"boolean"` 3315 3316 // Specifies whether a budget uses the amortized rate. 3317 // 3318 // The default value is false. 3319 UseAmortized *bool `type:"boolean"` 3320 3321 // Specifies whether a budget uses a blended rate. 3322 // 3323 // The default value is false. 3324 UseBlended *bool `type:"boolean"` 3325 } 3326 3327 // String returns the string representation. 3328 // 3329 // API parameter values that are decorated as "sensitive" in the API will not 3330 // be included in the string output. The member name will be present, but the 3331 // value will be replaced with "sensitive". 3332 func (s CostTypes) String() string { 3333 return awsutil.Prettify(s) 3334 } 3335 3336 // GoString returns the string representation. 3337 // 3338 // API parameter values that are decorated as "sensitive" in the API will not 3339 // be included in the string output. The member name will be present, but the 3340 // value will be replaced with "sensitive". 3341 func (s CostTypes) GoString() string { 3342 return s.String() 3343 } 3344 3345 // SetIncludeCredit sets the IncludeCredit field's value. 3346 func (s *CostTypes) SetIncludeCredit(v bool) *CostTypes { 3347 s.IncludeCredit = &v 3348 return s 3349 } 3350 3351 // SetIncludeDiscount sets the IncludeDiscount field's value. 3352 func (s *CostTypes) SetIncludeDiscount(v bool) *CostTypes { 3353 s.IncludeDiscount = &v 3354 return s 3355 } 3356 3357 // SetIncludeOtherSubscription sets the IncludeOtherSubscription field's value. 3358 func (s *CostTypes) SetIncludeOtherSubscription(v bool) *CostTypes { 3359 s.IncludeOtherSubscription = &v 3360 return s 3361 } 3362 3363 // SetIncludeRecurring sets the IncludeRecurring field's value. 3364 func (s *CostTypes) SetIncludeRecurring(v bool) *CostTypes { 3365 s.IncludeRecurring = &v 3366 return s 3367 } 3368 3369 // SetIncludeRefund sets the IncludeRefund field's value. 3370 func (s *CostTypes) SetIncludeRefund(v bool) *CostTypes { 3371 s.IncludeRefund = &v 3372 return s 3373 } 3374 3375 // SetIncludeSubscription sets the IncludeSubscription field's value. 3376 func (s *CostTypes) SetIncludeSubscription(v bool) *CostTypes { 3377 s.IncludeSubscription = &v 3378 return s 3379 } 3380 3381 // SetIncludeSupport sets the IncludeSupport field's value. 3382 func (s *CostTypes) SetIncludeSupport(v bool) *CostTypes { 3383 s.IncludeSupport = &v 3384 return s 3385 } 3386 3387 // SetIncludeTax sets the IncludeTax field's value. 3388 func (s *CostTypes) SetIncludeTax(v bool) *CostTypes { 3389 s.IncludeTax = &v 3390 return s 3391 } 3392 3393 // SetIncludeUpfront sets the IncludeUpfront field's value. 3394 func (s *CostTypes) SetIncludeUpfront(v bool) *CostTypes { 3395 s.IncludeUpfront = &v 3396 return s 3397 } 3398 3399 // SetUseAmortized sets the UseAmortized field's value. 3400 func (s *CostTypes) SetUseAmortized(v bool) *CostTypes { 3401 s.UseAmortized = &v 3402 return s 3403 } 3404 3405 // SetUseBlended sets the UseBlended field's value. 3406 func (s *CostTypes) SetUseBlended(v bool) *CostTypes { 3407 s.UseBlended = &v 3408 return s 3409 } 3410 3411 type CreateBudgetActionInput struct { 3412 _ struct{} `type:"structure"` 3413 3414 // The account ID of the user. It should be a 12-digit number. 3415 // 3416 // AccountId is a required field 3417 AccountId *string `min:"12" type:"string" required:"true"` 3418 3419 // The trigger threshold of the action. 3420 // 3421 // ActionThreshold is a required field 3422 ActionThreshold *ActionThreshold `type:"structure" required:"true"` 3423 3424 // The type of action. This defines the type of tasks that can be carried out 3425 // by this action. This field also determines the format for definition. 3426 // 3427 // ActionType is a required field 3428 ActionType *string `type:"string" required:"true" enum:"ActionType"` 3429 3430 // This specifies if the action needs manual or automatic approval. 3431 // 3432 // ApprovalModel is a required field 3433 ApprovalModel *string `type:"string" required:"true" enum:"ApprovalModel"` 3434 3435 // A string that represents the budget name. The ":" and "\" characters aren't 3436 // allowed. 3437 // 3438 // BudgetName is a required field 3439 BudgetName *string `min:"1" type:"string" required:"true"` 3440 3441 // Specifies all of the type-specific parameters. 3442 // 3443 // Definition is a required field 3444 Definition *Definition `type:"structure" required:"true"` 3445 3446 // The role passed for action execution and reversion. Roles and actions must 3447 // be in the same account. 3448 // 3449 // ExecutionRoleArn is a required field 3450 ExecutionRoleArn *string `min:"32" type:"string" required:"true"` 3451 3452 // The type of a notification. It must be ACTUAL or FORECASTED. 3453 // 3454 // NotificationType is a required field 3455 NotificationType *string `type:"string" required:"true" enum:"NotificationType"` 3456 3457 // A list of subscribers. 3458 // 3459 // Subscribers is a required field 3460 Subscribers []*Subscriber `min:"1" type:"list" required:"true"` 3461 } 3462 3463 // String returns the string representation. 3464 // 3465 // API parameter values that are decorated as "sensitive" in the API will not 3466 // be included in the string output. The member name will be present, but the 3467 // value will be replaced with "sensitive". 3468 func (s CreateBudgetActionInput) String() string { 3469 return awsutil.Prettify(s) 3470 } 3471 3472 // GoString returns the string representation. 3473 // 3474 // API parameter values that are decorated as "sensitive" in the API will not 3475 // be included in the string output. The member name will be present, but the 3476 // value will be replaced with "sensitive". 3477 func (s CreateBudgetActionInput) GoString() string { 3478 return s.String() 3479 } 3480 3481 // Validate inspects the fields of the type to determine if they are valid. 3482 func (s *CreateBudgetActionInput) Validate() error { 3483 invalidParams := request.ErrInvalidParams{Context: "CreateBudgetActionInput"} 3484 if s.AccountId == nil { 3485 invalidParams.Add(request.NewErrParamRequired("AccountId")) 3486 } 3487 if s.AccountId != nil && len(*s.AccountId) < 12 { 3488 invalidParams.Add(request.NewErrParamMinLen("AccountId", 12)) 3489 } 3490 if s.ActionThreshold == nil { 3491 invalidParams.Add(request.NewErrParamRequired("ActionThreshold")) 3492 } 3493 if s.ActionType == nil { 3494 invalidParams.Add(request.NewErrParamRequired("ActionType")) 3495 } 3496 if s.ApprovalModel == nil { 3497 invalidParams.Add(request.NewErrParamRequired("ApprovalModel")) 3498 } 3499 if s.BudgetName == nil { 3500 invalidParams.Add(request.NewErrParamRequired("BudgetName")) 3501 } 3502 if s.BudgetName != nil && len(*s.BudgetName) < 1 { 3503 invalidParams.Add(request.NewErrParamMinLen("BudgetName", 1)) 3504 } 3505 if s.Definition == nil { 3506 invalidParams.Add(request.NewErrParamRequired("Definition")) 3507 } 3508 if s.ExecutionRoleArn == nil { 3509 invalidParams.Add(request.NewErrParamRequired("ExecutionRoleArn")) 3510 } 3511 if s.ExecutionRoleArn != nil && len(*s.ExecutionRoleArn) < 32 { 3512 invalidParams.Add(request.NewErrParamMinLen("ExecutionRoleArn", 32)) 3513 } 3514 if s.NotificationType == nil { 3515 invalidParams.Add(request.NewErrParamRequired("NotificationType")) 3516 } 3517 if s.Subscribers == nil { 3518 invalidParams.Add(request.NewErrParamRequired("Subscribers")) 3519 } 3520 if s.Subscribers != nil && len(s.Subscribers) < 1 { 3521 invalidParams.Add(request.NewErrParamMinLen("Subscribers", 1)) 3522 } 3523 if s.ActionThreshold != nil { 3524 if err := s.ActionThreshold.Validate(); err != nil { 3525 invalidParams.AddNested("ActionThreshold", err.(request.ErrInvalidParams)) 3526 } 3527 } 3528 if s.Definition != nil { 3529 if err := s.Definition.Validate(); err != nil { 3530 invalidParams.AddNested("Definition", err.(request.ErrInvalidParams)) 3531 } 3532 } 3533 if s.Subscribers != nil { 3534 for i, v := range s.Subscribers { 3535 if v == nil { 3536 continue 3537 } 3538 if err := v.Validate(); err != nil { 3539 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Subscribers", i), err.(request.ErrInvalidParams)) 3540 } 3541 } 3542 } 3543 3544 if invalidParams.Len() > 0 { 3545 return invalidParams 3546 } 3547 return nil 3548 } 3549 3550 // SetAccountId sets the AccountId field's value. 3551 func (s *CreateBudgetActionInput) SetAccountId(v string) *CreateBudgetActionInput { 3552 s.AccountId = &v 3553 return s 3554 } 3555 3556 // SetActionThreshold sets the ActionThreshold field's value. 3557 func (s *CreateBudgetActionInput) SetActionThreshold(v *ActionThreshold) *CreateBudgetActionInput { 3558 s.ActionThreshold = v 3559 return s 3560 } 3561 3562 // SetActionType sets the ActionType field's value. 3563 func (s *CreateBudgetActionInput) SetActionType(v string) *CreateBudgetActionInput { 3564 s.ActionType = &v 3565 return s 3566 } 3567 3568 // SetApprovalModel sets the ApprovalModel field's value. 3569 func (s *CreateBudgetActionInput) SetApprovalModel(v string) *CreateBudgetActionInput { 3570 s.ApprovalModel = &v 3571 return s 3572 } 3573 3574 // SetBudgetName sets the BudgetName field's value. 3575 func (s *CreateBudgetActionInput) SetBudgetName(v string) *CreateBudgetActionInput { 3576 s.BudgetName = &v 3577 return s 3578 } 3579 3580 // SetDefinition sets the Definition field's value. 3581 func (s *CreateBudgetActionInput) SetDefinition(v *Definition) *CreateBudgetActionInput { 3582 s.Definition = v 3583 return s 3584 } 3585 3586 // SetExecutionRoleArn sets the ExecutionRoleArn field's value. 3587 func (s *CreateBudgetActionInput) SetExecutionRoleArn(v string) *CreateBudgetActionInput { 3588 s.ExecutionRoleArn = &v 3589 return s 3590 } 3591 3592 // SetNotificationType sets the NotificationType field's value. 3593 func (s *CreateBudgetActionInput) SetNotificationType(v string) *CreateBudgetActionInput { 3594 s.NotificationType = &v 3595 return s 3596 } 3597 3598 // SetSubscribers sets the Subscribers field's value. 3599 func (s *CreateBudgetActionInput) SetSubscribers(v []*Subscriber) *CreateBudgetActionInput { 3600 s.Subscribers = v 3601 return s 3602 } 3603 3604 type CreateBudgetActionOutput struct { 3605 _ struct{} `type:"structure"` 3606 3607 // The account ID of the user. It should be a 12-digit number. 3608 // 3609 // AccountId is a required field 3610 AccountId *string `min:"12" type:"string" required:"true"` 3611 3612 // A system-generated universally unique identifier (UUID) for the action. 3613 // 3614 // ActionId is a required field 3615 ActionId *string `min:"36" type:"string" required:"true"` 3616 3617 // A string that represents the budget name. The ":" and "\" characters aren't 3618 // allowed. 3619 // 3620 // BudgetName is a required field 3621 BudgetName *string `min:"1" type:"string" required:"true"` 3622 } 3623 3624 // String returns the string representation. 3625 // 3626 // API parameter values that are decorated as "sensitive" in the API will not 3627 // be included in the string output. The member name will be present, but the 3628 // value will be replaced with "sensitive". 3629 func (s CreateBudgetActionOutput) String() string { 3630 return awsutil.Prettify(s) 3631 } 3632 3633 // GoString returns the string representation. 3634 // 3635 // API parameter values that are decorated as "sensitive" in the API will not 3636 // be included in the string output. The member name will be present, but the 3637 // value will be replaced with "sensitive". 3638 func (s CreateBudgetActionOutput) GoString() string { 3639 return s.String() 3640 } 3641 3642 // SetAccountId sets the AccountId field's value. 3643 func (s *CreateBudgetActionOutput) SetAccountId(v string) *CreateBudgetActionOutput { 3644 s.AccountId = &v 3645 return s 3646 } 3647 3648 // SetActionId sets the ActionId field's value. 3649 func (s *CreateBudgetActionOutput) SetActionId(v string) *CreateBudgetActionOutput { 3650 s.ActionId = &v 3651 return s 3652 } 3653 3654 // SetBudgetName sets the BudgetName field's value. 3655 func (s *CreateBudgetActionOutput) SetBudgetName(v string) *CreateBudgetActionOutput { 3656 s.BudgetName = &v 3657 return s 3658 } 3659 3660 // Request of CreateBudget 3661 type CreateBudgetInput struct { 3662 _ struct{} `type:"structure"` 3663 3664 // The accountId that is associated with the budget. 3665 // 3666 // AccountId is a required field 3667 AccountId *string `min:"12" type:"string" required:"true"` 3668 3669 // The budget object that you want to create. 3670 // 3671 // Budget is a required field 3672 Budget *Budget `type:"structure" required:"true"` 3673 3674 // A notification that you want to associate with a budget. A budget can have 3675 // up to five notifications, and each notification can have one SNS subscriber 3676 // and up to 10 email subscribers. If you include notifications and subscribers 3677 // in your CreateBudget call, AWS creates the notifications and subscribers 3678 // for you. 3679 NotificationsWithSubscribers []*NotificationWithSubscribers `type:"list"` 3680 } 3681 3682 // String returns the string representation. 3683 // 3684 // API parameter values that are decorated as "sensitive" in the API will not 3685 // be included in the string output. The member name will be present, but the 3686 // value will be replaced with "sensitive". 3687 func (s CreateBudgetInput) String() string { 3688 return awsutil.Prettify(s) 3689 } 3690 3691 // GoString returns the string representation. 3692 // 3693 // API parameter values that are decorated as "sensitive" in the API will not 3694 // be included in the string output. The member name will be present, but the 3695 // value will be replaced with "sensitive". 3696 func (s CreateBudgetInput) GoString() string { 3697 return s.String() 3698 } 3699 3700 // Validate inspects the fields of the type to determine if they are valid. 3701 func (s *CreateBudgetInput) Validate() error { 3702 invalidParams := request.ErrInvalidParams{Context: "CreateBudgetInput"} 3703 if s.AccountId == nil { 3704 invalidParams.Add(request.NewErrParamRequired("AccountId")) 3705 } 3706 if s.AccountId != nil && len(*s.AccountId) < 12 { 3707 invalidParams.Add(request.NewErrParamMinLen("AccountId", 12)) 3708 } 3709 if s.Budget == nil { 3710 invalidParams.Add(request.NewErrParamRequired("Budget")) 3711 } 3712 if s.Budget != nil { 3713 if err := s.Budget.Validate(); err != nil { 3714 invalidParams.AddNested("Budget", err.(request.ErrInvalidParams)) 3715 } 3716 } 3717 if s.NotificationsWithSubscribers != nil { 3718 for i, v := range s.NotificationsWithSubscribers { 3719 if v == nil { 3720 continue 3721 } 3722 if err := v.Validate(); err != nil { 3723 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "NotificationsWithSubscribers", i), err.(request.ErrInvalidParams)) 3724 } 3725 } 3726 } 3727 3728 if invalidParams.Len() > 0 { 3729 return invalidParams 3730 } 3731 return nil 3732 } 3733 3734 // SetAccountId sets the AccountId field's value. 3735 func (s *CreateBudgetInput) SetAccountId(v string) *CreateBudgetInput { 3736 s.AccountId = &v 3737 return s 3738 } 3739 3740 // SetBudget sets the Budget field's value. 3741 func (s *CreateBudgetInput) SetBudget(v *Budget) *CreateBudgetInput { 3742 s.Budget = v 3743 return s 3744 } 3745 3746 // SetNotificationsWithSubscribers sets the NotificationsWithSubscribers field's value. 3747 func (s *CreateBudgetInput) SetNotificationsWithSubscribers(v []*NotificationWithSubscribers) *CreateBudgetInput { 3748 s.NotificationsWithSubscribers = v 3749 return s 3750 } 3751 3752 // Response of CreateBudget 3753 type CreateBudgetOutput struct { 3754 _ struct{} `type:"structure"` 3755 } 3756 3757 // String returns the string representation. 3758 // 3759 // API parameter values that are decorated as "sensitive" in the API will not 3760 // be included in the string output. The member name will be present, but the 3761 // value will be replaced with "sensitive". 3762 func (s CreateBudgetOutput) String() string { 3763 return awsutil.Prettify(s) 3764 } 3765 3766 // GoString returns the string representation. 3767 // 3768 // API parameter values that are decorated as "sensitive" in the API will not 3769 // be included in the string output. The member name will be present, but the 3770 // value will be replaced with "sensitive". 3771 func (s CreateBudgetOutput) GoString() string { 3772 return s.String() 3773 } 3774 3775 // Request of CreateNotification 3776 type CreateNotificationInput struct { 3777 _ struct{} `type:"structure"` 3778 3779 // The accountId that is associated with the budget that you want to create 3780 // a notification for. 3781 // 3782 // AccountId is a required field 3783 AccountId *string `min:"12" type:"string" required:"true"` 3784 3785 // The name of the budget that you want AWS to notify you about. Budget names 3786 // must be unique within an account. 3787 // 3788 // BudgetName is a required field 3789 BudgetName *string `min:"1" type:"string" required:"true"` 3790 3791 // The notification that you want to create. 3792 // 3793 // Notification is a required field 3794 Notification *Notification `type:"structure" required:"true"` 3795 3796 // A list of subscribers that you want to associate with the notification. Each 3797 // notification can have one SNS subscriber and up to 10 email subscribers. 3798 // 3799 // Subscribers is a required field 3800 Subscribers []*Subscriber `min:"1" type:"list" required:"true"` 3801 } 3802 3803 // String returns the string representation. 3804 // 3805 // API parameter values that are decorated as "sensitive" in the API will not 3806 // be included in the string output. The member name will be present, but the 3807 // value will be replaced with "sensitive". 3808 func (s CreateNotificationInput) String() string { 3809 return awsutil.Prettify(s) 3810 } 3811 3812 // GoString returns the string representation. 3813 // 3814 // API parameter values that are decorated as "sensitive" in the API will not 3815 // be included in the string output. The member name will be present, but the 3816 // value will be replaced with "sensitive". 3817 func (s CreateNotificationInput) GoString() string { 3818 return s.String() 3819 } 3820 3821 // Validate inspects the fields of the type to determine if they are valid. 3822 func (s *CreateNotificationInput) Validate() error { 3823 invalidParams := request.ErrInvalidParams{Context: "CreateNotificationInput"} 3824 if s.AccountId == nil { 3825 invalidParams.Add(request.NewErrParamRequired("AccountId")) 3826 } 3827 if s.AccountId != nil && len(*s.AccountId) < 12 { 3828 invalidParams.Add(request.NewErrParamMinLen("AccountId", 12)) 3829 } 3830 if s.BudgetName == nil { 3831 invalidParams.Add(request.NewErrParamRequired("BudgetName")) 3832 } 3833 if s.BudgetName != nil && len(*s.BudgetName) < 1 { 3834 invalidParams.Add(request.NewErrParamMinLen("BudgetName", 1)) 3835 } 3836 if s.Notification == nil { 3837 invalidParams.Add(request.NewErrParamRequired("Notification")) 3838 } 3839 if s.Subscribers == nil { 3840 invalidParams.Add(request.NewErrParamRequired("Subscribers")) 3841 } 3842 if s.Subscribers != nil && len(s.Subscribers) < 1 { 3843 invalidParams.Add(request.NewErrParamMinLen("Subscribers", 1)) 3844 } 3845 if s.Notification != nil { 3846 if err := s.Notification.Validate(); err != nil { 3847 invalidParams.AddNested("Notification", err.(request.ErrInvalidParams)) 3848 } 3849 } 3850 if s.Subscribers != nil { 3851 for i, v := range s.Subscribers { 3852 if v == nil { 3853 continue 3854 } 3855 if err := v.Validate(); err != nil { 3856 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Subscribers", i), err.(request.ErrInvalidParams)) 3857 } 3858 } 3859 } 3860 3861 if invalidParams.Len() > 0 { 3862 return invalidParams 3863 } 3864 return nil 3865 } 3866 3867 // SetAccountId sets the AccountId field's value. 3868 func (s *CreateNotificationInput) SetAccountId(v string) *CreateNotificationInput { 3869 s.AccountId = &v 3870 return s 3871 } 3872 3873 // SetBudgetName sets the BudgetName field's value. 3874 func (s *CreateNotificationInput) SetBudgetName(v string) *CreateNotificationInput { 3875 s.BudgetName = &v 3876 return s 3877 } 3878 3879 // SetNotification sets the Notification field's value. 3880 func (s *CreateNotificationInput) SetNotification(v *Notification) *CreateNotificationInput { 3881 s.Notification = v 3882 return s 3883 } 3884 3885 // SetSubscribers sets the Subscribers field's value. 3886 func (s *CreateNotificationInput) SetSubscribers(v []*Subscriber) *CreateNotificationInput { 3887 s.Subscribers = v 3888 return s 3889 } 3890 3891 // Response of CreateNotification 3892 type CreateNotificationOutput struct { 3893 _ struct{} `type:"structure"` 3894 } 3895 3896 // String returns the string representation. 3897 // 3898 // API parameter values that are decorated as "sensitive" in the API will not 3899 // be included in the string output. The member name will be present, but the 3900 // value will be replaced with "sensitive". 3901 func (s CreateNotificationOutput) String() string { 3902 return awsutil.Prettify(s) 3903 } 3904 3905 // GoString returns the string representation. 3906 // 3907 // API parameter values that are decorated as "sensitive" in the API will not 3908 // be included in the string output. The member name will be present, but the 3909 // value will be replaced with "sensitive". 3910 func (s CreateNotificationOutput) GoString() string { 3911 return s.String() 3912 } 3913 3914 // Request of CreateSubscriber 3915 type CreateSubscriberInput struct { 3916 _ struct{} `type:"structure"` 3917 3918 // The accountId that is associated with the budget that you want to create 3919 // a subscriber for. 3920 // 3921 // AccountId is a required field 3922 AccountId *string `min:"12" type:"string" required:"true"` 3923 3924 // The name of the budget that you want to subscribe to. Budget names must be 3925 // unique within an account. 3926 // 3927 // BudgetName is a required field 3928 BudgetName *string `min:"1" type:"string" required:"true"` 3929 3930 // The notification that you want to create a subscriber for. 3931 // 3932 // Notification is a required field 3933 Notification *Notification `type:"structure" required:"true"` 3934 3935 // The subscriber that you want to associate with a budget notification. 3936 // 3937 // Subscriber is a required field 3938 Subscriber *Subscriber `type:"structure" required:"true"` 3939 } 3940 3941 // String returns the string representation. 3942 // 3943 // API parameter values that are decorated as "sensitive" in the API will not 3944 // be included in the string output. The member name will be present, but the 3945 // value will be replaced with "sensitive". 3946 func (s CreateSubscriberInput) String() string { 3947 return awsutil.Prettify(s) 3948 } 3949 3950 // GoString returns the string representation. 3951 // 3952 // API parameter values that are decorated as "sensitive" in the API will not 3953 // be included in the string output. The member name will be present, but the 3954 // value will be replaced with "sensitive". 3955 func (s CreateSubscriberInput) GoString() string { 3956 return s.String() 3957 } 3958 3959 // Validate inspects the fields of the type to determine if they are valid. 3960 func (s *CreateSubscriberInput) Validate() error { 3961 invalidParams := request.ErrInvalidParams{Context: "CreateSubscriberInput"} 3962 if s.AccountId == nil { 3963 invalidParams.Add(request.NewErrParamRequired("AccountId")) 3964 } 3965 if s.AccountId != nil && len(*s.AccountId) < 12 { 3966 invalidParams.Add(request.NewErrParamMinLen("AccountId", 12)) 3967 } 3968 if s.BudgetName == nil { 3969 invalidParams.Add(request.NewErrParamRequired("BudgetName")) 3970 } 3971 if s.BudgetName != nil && len(*s.BudgetName) < 1 { 3972 invalidParams.Add(request.NewErrParamMinLen("BudgetName", 1)) 3973 } 3974 if s.Notification == nil { 3975 invalidParams.Add(request.NewErrParamRequired("Notification")) 3976 } 3977 if s.Subscriber == nil { 3978 invalidParams.Add(request.NewErrParamRequired("Subscriber")) 3979 } 3980 if s.Notification != nil { 3981 if err := s.Notification.Validate(); err != nil { 3982 invalidParams.AddNested("Notification", err.(request.ErrInvalidParams)) 3983 } 3984 } 3985 if s.Subscriber != nil { 3986 if err := s.Subscriber.Validate(); err != nil { 3987 invalidParams.AddNested("Subscriber", err.(request.ErrInvalidParams)) 3988 } 3989 } 3990 3991 if invalidParams.Len() > 0 { 3992 return invalidParams 3993 } 3994 return nil 3995 } 3996 3997 // SetAccountId sets the AccountId field's value. 3998 func (s *CreateSubscriberInput) SetAccountId(v string) *CreateSubscriberInput { 3999 s.AccountId = &v 4000 return s 4001 } 4002 4003 // SetBudgetName sets the BudgetName field's value. 4004 func (s *CreateSubscriberInput) SetBudgetName(v string) *CreateSubscriberInput { 4005 s.BudgetName = &v 4006 return s 4007 } 4008 4009 // SetNotification sets the Notification field's value. 4010 func (s *CreateSubscriberInput) SetNotification(v *Notification) *CreateSubscriberInput { 4011 s.Notification = v 4012 return s 4013 } 4014 4015 // SetSubscriber sets the Subscriber field's value. 4016 func (s *CreateSubscriberInput) SetSubscriber(v *Subscriber) *CreateSubscriberInput { 4017 s.Subscriber = v 4018 return s 4019 } 4020 4021 // Response of CreateSubscriber 4022 type CreateSubscriberOutput struct { 4023 _ struct{} `type:"structure"` 4024 } 4025 4026 // String returns the string representation. 4027 // 4028 // API parameter values that are decorated as "sensitive" in the API will not 4029 // be included in the string output. The member name will be present, but the 4030 // value will be replaced with "sensitive". 4031 func (s CreateSubscriberOutput) String() string { 4032 return awsutil.Prettify(s) 4033 } 4034 4035 // GoString returns the string representation. 4036 // 4037 // API parameter values that are decorated as "sensitive" in the API will not 4038 // be included in the string output. The member name will be present, but the 4039 // value will be replaced with "sensitive". 4040 func (s CreateSubscriberOutput) GoString() string { 4041 return s.String() 4042 } 4043 4044 // You've exceeded the notification or subscriber limit. 4045 type CreationLimitExceededException struct { 4046 _ struct{} `type:"structure"` 4047 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 4048 4049 // The error message the exception carries. 4050 Message_ *string `locationName:"Message" type:"string"` 4051 } 4052 4053 // String returns the string representation. 4054 // 4055 // API parameter values that are decorated as "sensitive" in the API will not 4056 // be included in the string output. The member name will be present, but the 4057 // value will be replaced with "sensitive". 4058 func (s CreationLimitExceededException) String() string { 4059 return awsutil.Prettify(s) 4060 } 4061 4062 // GoString returns the string representation. 4063 // 4064 // API parameter values that are decorated as "sensitive" in the API will not 4065 // be included in the string output. The member name will be present, but the 4066 // value will be replaced with "sensitive". 4067 func (s CreationLimitExceededException) GoString() string { 4068 return s.String() 4069 } 4070 4071 func newErrorCreationLimitExceededException(v protocol.ResponseMetadata) error { 4072 return &CreationLimitExceededException{ 4073 RespMetadata: v, 4074 } 4075 } 4076 4077 // Code returns the exception type name. 4078 func (s *CreationLimitExceededException) Code() string { 4079 return "CreationLimitExceededException" 4080 } 4081 4082 // Message returns the exception's message. 4083 func (s *CreationLimitExceededException) Message() string { 4084 if s.Message_ != nil { 4085 return *s.Message_ 4086 } 4087 return "" 4088 } 4089 4090 // OrigErr always returns nil, satisfies awserr.Error interface. 4091 func (s *CreationLimitExceededException) OrigErr() error { 4092 return nil 4093 } 4094 4095 func (s *CreationLimitExceededException) Error() string { 4096 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 4097 } 4098 4099 // Status code returns the HTTP status code for the request's response error. 4100 func (s *CreationLimitExceededException) StatusCode() int { 4101 return s.RespMetadata.StatusCode 4102 } 4103 4104 // RequestID returns the service's response RequestID for request. 4105 func (s *CreationLimitExceededException) RequestID() string { 4106 return s.RespMetadata.RequestID 4107 } 4108 4109 // Specifies all of the type-specific parameters. 4110 type Definition struct { 4111 _ struct{} `type:"structure"` 4112 4113 // The AWS Identity and Access Management (IAM) action definition details. 4114 IamActionDefinition *IamActionDefinition `type:"structure"` 4115 4116 // The service control policies (SCPs) action definition details. 4117 ScpActionDefinition *ScpActionDefinition `type:"structure"` 4118 4119 // The AWS Systems Manager (SSM) action definition details. 4120 SsmActionDefinition *SsmActionDefinition `type:"structure"` 4121 } 4122 4123 // String returns the string representation. 4124 // 4125 // API parameter values that are decorated as "sensitive" in the API will not 4126 // be included in the string output. The member name will be present, but the 4127 // value will be replaced with "sensitive". 4128 func (s Definition) String() string { 4129 return awsutil.Prettify(s) 4130 } 4131 4132 // GoString returns the string representation. 4133 // 4134 // API parameter values that are decorated as "sensitive" in the API will not 4135 // be included in the string output. The member name will be present, but the 4136 // value will be replaced with "sensitive". 4137 func (s Definition) GoString() string { 4138 return s.String() 4139 } 4140 4141 // Validate inspects the fields of the type to determine if they are valid. 4142 func (s *Definition) Validate() error { 4143 invalidParams := request.ErrInvalidParams{Context: "Definition"} 4144 if s.IamActionDefinition != nil { 4145 if err := s.IamActionDefinition.Validate(); err != nil { 4146 invalidParams.AddNested("IamActionDefinition", err.(request.ErrInvalidParams)) 4147 } 4148 } 4149 if s.ScpActionDefinition != nil { 4150 if err := s.ScpActionDefinition.Validate(); err != nil { 4151 invalidParams.AddNested("ScpActionDefinition", err.(request.ErrInvalidParams)) 4152 } 4153 } 4154 if s.SsmActionDefinition != nil { 4155 if err := s.SsmActionDefinition.Validate(); err != nil { 4156 invalidParams.AddNested("SsmActionDefinition", err.(request.ErrInvalidParams)) 4157 } 4158 } 4159 4160 if invalidParams.Len() > 0 { 4161 return invalidParams 4162 } 4163 return nil 4164 } 4165 4166 // SetIamActionDefinition sets the IamActionDefinition field's value. 4167 func (s *Definition) SetIamActionDefinition(v *IamActionDefinition) *Definition { 4168 s.IamActionDefinition = v 4169 return s 4170 } 4171 4172 // SetScpActionDefinition sets the ScpActionDefinition field's value. 4173 func (s *Definition) SetScpActionDefinition(v *ScpActionDefinition) *Definition { 4174 s.ScpActionDefinition = v 4175 return s 4176 } 4177 4178 // SetSsmActionDefinition sets the SsmActionDefinition field's value. 4179 func (s *Definition) SetSsmActionDefinition(v *SsmActionDefinition) *Definition { 4180 s.SsmActionDefinition = v 4181 return s 4182 } 4183 4184 type DeleteBudgetActionInput struct { 4185 _ struct{} `type:"structure"` 4186 4187 // The account ID of the user. It should be a 12-digit number. 4188 // 4189 // AccountId is a required field 4190 AccountId *string `min:"12" type:"string" required:"true"` 4191 4192 // A system-generated universally unique identifier (UUID) for the action. 4193 // 4194 // ActionId is a required field 4195 ActionId *string `min:"36" type:"string" required:"true"` 4196 4197 // A string that represents the budget name. The ":" and "\" characters aren't 4198 // allowed. 4199 // 4200 // BudgetName is a required field 4201 BudgetName *string `min:"1" type:"string" required:"true"` 4202 } 4203 4204 // String returns the string representation. 4205 // 4206 // API parameter values that are decorated as "sensitive" in the API will not 4207 // be included in the string output. The member name will be present, but the 4208 // value will be replaced with "sensitive". 4209 func (s DeleteBudgetActionInput) String() string { 4210 return awsutil.Prettify(s) 4211 } 4212 4213 // GoString returns the string representation. 4214 // 4215 // API parameter values that are decorated as "sensitive" in the API will not 4216 // be included in the string output. The member name will be present, but the 4217 // value will be replaced with "sensitive". 4218 func (s DeleteBudgetActionInput) GoString() string { 4219 return s.String() 4220 } 4221 4222 // Validate inspects the fields of the type to determine if they are valid. 4223 func (s *DeleteBudgetActionInput) Validate() error { 4224 invalidParams := request.ErrInvalidParams{Context: "DeleteBudgetActionInput"} 4225 if s.AccountId == nil { 4226 invalidParams.Add(request.NewErrParamRequired("AccountId")) 4227 } 4228 if s.AccountId != nil && len(*s.AccountId) < 12 { 4229 invalidParams.Add(request.NewErrParamMinLen("AccountId", 12)) 4230 } 4231 if s.ActionId == nil { 4232 invalidParams.Add(request.NewErrParamRequired("ActionId")) 4233 } 4234 if s.ActionId != nil && len(*s.ActionId) < 36 { 4235 invalidParams.Add(request.NewErrParamMinLen("ActionId", 36)) 4236 } 4237 if s.BudgetName == nil { 4238 invalidParams.Add(request.NewErrParamRequired("BudgetName")) 4239 } 4240 if s.BudgetName != nil && len(*s.BudgetName) < 1 { 4241 invalidParams.Add(request.NewErrParamMinLen("BudgetName", 1)) 4242 } 4243 4244 if invalidParams.Len() > 0 { 4245 return invalidParams 4246 } 4247 return nil 4248 } 4249 4250 // SetAccountId sets the AccountId field's value. 4251 func (s *DeleteBudgetActionInput) SetAccountId(v string) *DeleteBudgetActionInput { 4252 s.AccountId = &v 4253 return s 4254 } 4255 4256 // SetActionId sets the ActionId field's value. 4257 func (s *DeleteBudgetActionInput) SetActionId(v string) *DeleteBudgetActionInput { 4258 s.ActionId = &v 4259 return s 4260 } 4261 4262 // SetBudgetName sets the BudgetName field's value. 4263 func (s *DeleteBudgetActionInput) SetBudgetName(v string) *DeleteBudgetActionInput { 4264 s.BudgetName = &v 4265 return s 4266 } 4267 4268 type DeleteBudgetActionOutput struct { 4269 _ struct{} `type:"structure"` 4270 4271 // The account ID of the user. It should be a 12-digit number. 4272 // 4273 // AccountId is a required field 4274 AccountId *string `min:"12" type:"string" required:"true"` 4275 4276 // A budget action resource. 4277 // 4278 // Action is a required field 4279 Action *Action `type:"structure" required:"true"` 4280 4281 // A string that represents the budget name. The ":" and "\" characters aren't 4282 // allowed. 4283 // 4284 // BudgetName is a required field 4285 BudgetName *string `min:"1" type:"string" required:"true"` 4286 } 4287 4288 // String returns the string representation. 4289 // 4290 // API parameter values that are decorated as "sensitive" in the API will not 4291 // be included in the string output. The member name will be present, but the 4292 // value will be replaced with "sensitive". 4293 func (s DeleteBudgetActionOutput) String() string { 4294 return awsutil.Prettify(s) 4295 } 4296 4297 // GoString returns the string representation. 4298 // 4299 // API parameter values that are decorated as "sensitive" in the API will not 4300 // be included in the string output. The member name will be present, but the 4301 // value will be replaced with "sensitive". 4302 func (s DeleteBudgetActionOutput) GoString() string { 4303 return s.String() 4304 } 4305 4306 // SetAccountId sets the AccountId field's value. 4307 func (s *DeleteBudgetActionOutput) SetAccountId(v string) *DeleteBudgetActionOutput { 4308 s.AccountId = &v 4309 return s 4310 } 4311 4312 // SetAction sets the Action field's value. 4313 func (s *DeleteBudgetActionOutput) SetAction(v *Action) *DeleteBudgetActionOutput { 4314 s.Action = v 4315 return s 4316 } 4317 4318 // SetBudgetName sets the BudgetName field's value. 4319 func (s *DeleteBudgetActionOutput) SetBudgetName(v string) *DeleteBudgetActionOutput { 4320 s.BudgetName = &v 4321 return s 4322 } 4323 4324 // Request of DeleteBudget 4325 type DeleteBudgetInput struct { 4326 _ struct{} `type:"structure"` 4327 4328 // The accountId that is associated with the budget that you want to delete. 4329 // 4330 // AccountId is a required field 4331 AccountId *string `min:"12" type:"string" required:"true"` 4332 4333 // The name of the budget that you want to delete. 4334 // 4335 // BudgetName is a required field 4336 BudgetName *string `min:"1" type:"string" required:"true"` 4337 } 4338 4339 // String returns the string representation. 4340 // 4341 // API parameter values that are decorated as "sensitive" in the API will not 4342 // be included in the string output. The member name will be present, but the 4343 // value will be replaced with "sensitive". 4344 func (s DeleteBudgetInput) String() string { 4345 return awsutil.Prettify(s) 4346 } 4347 4348 // GoString returns the string representation. 4349 // 4350 // API parameter values that are decorated as "sensitive" in the API will not 4351 // be included in the string output. The member name will be present, but the 4352 // value will be replaced with "sensitive". 4353 func (s DeleteBudgetInput) GoString() string { 4354 return s.String() 4355 } 4356 4357 // Validate inspects the fields of the type to determine if they are valid. 4358 func (s *DeleteBudgetInput) Validate() error { 4359 invalidParams := request.ErrInvalidParams{Context: "DeleteBudgetInput"} 4360 if s.AccountId == nil { 4361 invalidParams.Add(request.NewErrParamRequired("AccountId")) 4362 } 4363 if s.AccountId != nil && len(*s.AccountId) < 12 { 4364 invalidParams.Add(request.NewErrParamMinLen("AccountId", 12)) 4365 } 4366 if s.BudgetName == nil { 4367 invalidParams.Add(request.NewErrParamRequired("BudgetName")) 4368 } 4369 if s.BudgetName != nil && len(*s.BudgetName) < 1 { 4370 invalidParams.Add(request.NewErrParamMinLen("BudgetName", 1)) 4371 } 4372 4373 if invalidParams.Len() > 0 { 4374 return invalidParams 4375 } 4376 return nil 4377 } 4378 4379 // SetAccountId sets the AccountId field's value. 4380 func (s *DeleteBudgetInput) SetAccountId(v string) *DeleteBudgetInput { 4381 s.AccountId = &v 4382 return s 4383 } 4384 4385 // SetBudgetName sets the BudgetName field's value. 4386 func (s *DeleteBudgetInput) SetBudgetName(v string) *DeleteBudgetInput { 4387 s.BudgetName = &v 4388 return s 4389 } 4390 4391 // Response of DeleteBudget 4392 type DeleteBudgetOutput struct { 4393 _ struct{} `type:"structure"` 4394 } 4395 4396 // String returns the string representation. 4397 // 4398 // API parameter values that are decorated as "sensitive" in the API will not 4399 // be included in the string output. The member name will be present, but the 4400 // value will be replaced with "sensitive". 4401 func (s DeleteBudgetOutput) String() string { 4402 return awsutil.Prettify(s) 4403 } 4404 4405 // GoString returns the string representation. 4406 // 4407 // API parameter values that are decorated as "sensitive" in the API will not 4408 // be included in the string output. The member name will be present, but the 4409 // value will be replaced with "sensitive". 4410 func (s DeleteBudgetOutput) GoString() string { 4411 return s.String() 4412 } 4413 4414 // Request of DeleteNotification 4415 type DeleteNotificationInput struct { 4416 _ struct{} `type:"structure"` 4417 4418 // The accountId that is associated with the budget whose notification you want 4419 // to delete. 4420 // 4421 // AccountId is a required field 4422 AccountId *string `min:"12" type:"string" required:"true"` 4423 4424 // The name of the budget whose notification you want to delete. 4425 // 4426 // BudgetName is a required field 4427 BudgetName *string `min:"1" type:"string" required:"true"` 4428 4429 // The notification that you want to delete. 4430 // 4431 // Notification is a required field 4432 Notification *Notification `type:"structure" required:"true"` 4433 } 4434 4435 // String returns the string representation. 4436 // 4437 // API parameter values that are decorated as "sensitive" in the API will not 4438 // be included in the string output. The member name will be present, but the 4439 // value will be replaced with "sensitive". 4440 func (s DeleteNotificationInput) String() string { 4441 return awsutil.Prettify(s) 4442 } 4443 4444 // GoString returns the string representation. 4445 // 4446 // API parameter values that are decorated as "sensitive" in the API will not 4447 // be included in the string output. The member name will be present, but the 4448 // value will be replaced with "sensitive". 4449 func (s DeleteNotificationInput) GoString() string { 4450 return s.String() 4451 } 4452 4453 // Validate inspects the fields of the type to determine if they are valid. 4454 func (s *DeleteNotificationInput) Validate() error { 4455 invalidParams := request.ErrInvalidParams{Context: "DeleteNotificationInput"} 4456 if s.AccountId == nil { 4457 invalidParams.Add(request.NewErrParamRequired("AccountId")) 4458 } 4459 if s.AccountId != nil && len(*s.AccountId) < 12 { 4460 invalidParams.Add(request.NewErrParamMinLen("AccountId", 12)) 4461 } 4462 if s.BudgetName == nil { 4463 invalidParams.Add(request.NewErrParamRequired("BudgetName")) 4464 } 4465 if s.BudgetName != nil && len(*s.BudgetName) < 1 { 4466 invalidParams.Add(request.NewErrParamMinLen("BudgetName", 1)) 4467 } 4468 if s.Notification == nil { 4469 invalidParams.Add(request.NewErrParamRequired("Notification")) 4470 } 4471 if s.Notification != nil { 4472 if err := s.Notification.Validate(); err != nil { 4473 invalidParams.AddNested("Notification", err.(request.ErrInvalidParams)) 4474 } 4475 } 4476 4477 if invalidParams.Len() > 0 { 4478 return invalidParams 4479 } 4480 return nil 4481 } 4482 4483 // SetAccountId sets the AccountId field's value. 4484 func (s *DeleteNotificationInput) SetAccountId(v string) *DeleteNotificationInput { 4485 s.AccountId = &v 4486 return s 4487 } 4488 4489 // SetBudgetName sets the BudgetName field's value. 4490 func (s *DeleteNotificationInput) SetBudgetName(v string) *DeleteNotificationInput { 4491 s.BudgetName = &v 4492 return s 4493 } 4494 4495 // SetNotification sets the Notification field's value. 4496 func (s *DeleteNotificationInput) SetNotification(v *Notification) *DeleteNotificationInput { 4497 s.Notification = v 4498 return s 4499 } 4500 4501 // Response of DeleteNotification 4502 type DeleteNotificationOutput struct { 4503 _ struct{} `type:"structure"` 4504 } 4505 4506 // String returns the string representation. 4507 // 4508 // API parameter values that are decorated as "sensitive" in the API will not 4509 // be included in the string output. The member name will be present, but the 4510 // value will be replaced with "sensitive". 4511 func (s DeleteNotificationOutput) String() string { 4512 return awsutil.Prettify(s) 4513 } 4514 4515 // GoString returns the string representation. 4516 // 4517 // API parameter values that are decorated as "sensitive" in the API will not 4518 // be included in the string output. The member name will be present, but the 4519 // value will be replaced with "sensitive". 4520 func (s DeleteNotificationOutput) GoString() string { 4521 return s.String() 4522 } 4523 4524 // Request of DeleteSubscriber 4525 type DeleteSubscriberInput struct { 4526 _ struct{} `type:"structure"` 4527 4528 // The accountId that is associated with the budget whose subscriber you want 4529 // to delete. 4530 // 4531 // AccountId is a required field 4532 AccountId *string `min:"12" type:"string" required:"true"` 4533 4534 // The name of the budget whose subscriber you want to delete. 4535 // 4536 // BudgetName is a required field 4537 BudgetName *string `min:"1" type:"string" required:"true"` 4538 4539 // The notification whose subscriber you want to delete. 4540 // 4541 // Notification is a required field 4542 Notification *Notification `type:"structure" required:"true"` 4543 4544 // The subscriber that you want to delete. 4545 // 4546 // Subscriber is a required field 4547 Subscriber *Subscriber `type:"structure" required:"true"` 4548 } 4549 4550 // String returns the string representation. 4551 // 4552 // API parameter values that are decorated as "sensitive" in the API will not 4553 // be included in the string output. The member name will be present, but the 4554 // value will be replaced with "sensitive". 4555 func (s DeleteSubscriberInput) String() string { 4556 return awsutil.Prettify(s) 4557 } 4558 4559 // GoString returns the string representation. 4560 // 4561 // API parameter values that are decorated as "sensitive" in the API will not 4562 // be included in the string output. The member name will be present, but the 4563 // value will be replaced with "sensitive". 4564 func (s DeleteSubscriberInput) GoString() string { 4565 return s.String() 4566 } 4567 4568 // Validate inspects the fields of the type to determine if they are valid. 4569 func (s *DeleteSubscriberInput) Validate() error { 4570 invalidParams := request.ErrInvalidParams{Context: "DeleteSubscriberInput"} 4571 if s.AccountId == nil { 4572 invalidParams.Add(request.NewErrParamRequired("AccountId")) 4573 } 4574 if s.AccountId != nil && len(*s.AccountId) < 12 { 4575 invalidParams.Add(request.NewErrParamMinLen("AccountId", 12)) 4576 } 4577 if s.BudgetName == nil { 4578 invalidParams.Add(request.NewErrParamRequired("BudgetName")) 4579 } 4580 if s.BudgetName != nil && len(*s.BudgetName) < 1 { 4581 invalidParams.Add(request.NewErrParamMinLen("BudgetName", 1)) 4582 } 4583 if s.Notification == nil { 4584 invalidParams.Add(request.NewErrParamRequired("Notification")) 4585 } 4586 if s.Subscriber == nil { 4587 invalidParams.Add(request.NewErrParamRequired("Subscriber")) 4588 } 4589 if s.Notification != nil { 4590 if err := s.Notification.Validate(); err != nil { 4591 invalidParams.AddNested("Notification", err.(request.ErrInvalidParams)) 4592 } 4593 } 4594 if s.Subscriber != nil { 4595 if err := s.Subscriber.Validate(); err != nil { 4596 invalidParams.AddNested("Subscriber", err.(request.ErrInvalidParams)) 4597 } 4598 } 4599 4600 if invalidParams.Len() > 0 { 4601 return invalidParams 4602 } 4603 return nil 4604 } 4605 4606 // SetAccountId sets the AccountId field's value. 4607 func (s *DeleteSubscriberInput) SetAccountId(v string) *DeleteSubscriberInput { 4608 s.AccountId = &v 4609 return s 4610 } 4611 4612 // SetBudgetName sets the BudgetName field's value. 4613 func (s *DeleteSubscriberInput) SetBudgetName(v string) *DeleteSubscriberInput { 4614 s.BudgetName = &v 4615 return s 4616 } 4617 4618 // SetNotification sets the Notification field's value. 4619 func (s *DeleteSubscriberInput) SetNotification(v *Notification) *DeleteSubscriberInput { 4620 s.Notification = v 4621 return s 4622 } 4623 4624 // SetSubscriber sets the Subscriber field's value. 4625 func (s *DeleteSubscriberInput) SetSubscriber(v *Subscriber) *DeleteSubscriberInput { 4626 s.Subscriber = v 4627 return s 4628 } 4629 4630 // Response of DeleteSubscriber 4631 type DeleteSubscriberOutput struct { 4632 _ struct{} `type:"structure"` 4633 } 4634 4635 // String returns the string representation. 4636 // 4637 // API parameter values that are decorated as "sensitive" in the API will not 4638 // be included in the string output. The member name will be present, but the 4639 // value will be replaced with "sensitive". 4640 func (s DeleteSubscriberOutput) String() string { 4641 return awsutil.Prettify(s) 4642 } 4643 4644 // GoString returns the string representation. 4645 // 4646 // API parameter values that are decorated as "sensitive" in the API will not 4647 // be included in the string output. The member name will be present, but the 4648 // value will be replaced with "sensitive". 4649 func (s DeleteSubscriberOutput) GoString() string { 4650 return s.String() 4651 } 4652 4653 type DescribeBudgetActionHistoriesInput struct { 4654 _ struct{} `type:"structure"` 4655 4656 // The account ID of the user. It should be a 12-digit number. 4657 // 4658 // AccountId is a required field 4659 AccountId *string `min:"12" type:"string" required:"true"` 4660 4661 // A system-generated universally unique identifier (UUID) for the action. 4662 // 4663 // ActionId is a required field 4664 ActionId *string `min:"36" type:"string" required:"true"` 4665 4666 // A string that represents the budget name. The ":" and "\" characters aren't 4667 // allowed. 4668 // 4669 // BudgetName is a required field 4670 BudgetName *string `min:"1" type:"string" required:"true"` 4671 4672 // An integer that represents how many entries a paginated response contains. 4673 // The maximum is 100. 4674 MaxResults *int64 `min:"1" type:"integer"` 4675 4676 // A generic string. 4677 NextToken *string `type:"string"` 4678 4679 // The period of time that is covered by a budget. The period has a start date 4680 // and an end date. The start date must come before the end date. There are 4681 // no restrictions on the end date. 4682 TimePeriod *TimePeriod `type:"structure"` 4683 } 4684 4685 // String returns the string representation. 4686 // 4687 // API parameter values that are decorated as "sensitive" in the API will not 4688 // be included in the string output. The member name will be present, but the 4689 // value will be replaced with "sensitive". 4690 func (s DescribeBudgetActionHistoriesInput) String() string { 4691 return awsutil.Prettify(s) 4692 } 4693 4694 // GoString returns the string representation. 4695 // 4696 // API parameter values that are decorated as "sensitive" in the API will not 4697 // be included in the string output. The member name will be present, but the 4698 // value will be replaced with "sensitive". 4699 func (s DescribeBudgetActionHistoriesInput) GoString() string { 4700 return s.String() 4701 } 4702 4703 // Validate inspects the fields of the type to determine if they are valid. 4704 func (s *DescribeBudgetActionHistoriesInput) Validate() error { 4705 invalidParams := request.ErrInvalidParams{Context: "DescribeBudgetActionHistoriesInput"} 4706 if s.AccountId == nil { 4707 invalidParams.Add(request.NewErrParamRequired("AccountId")) 4708 } 4709 if s.AccountId != nil && len(*s.AccountId) < 12 { 4710 invalidParams.Add(request.NewErrParamMinLen("AccountId", 12)) 4711 } 4712 if s.ActionId == nil { 4713 invalidParams.Add(request.NewErrParamRequired("ActionId")) 4714 } 4715 if s.ActionId != nil && len(*s.ActionId) < 36 { 4716 invalidParams.Add(request.NewErrParamMinLen("ActionId", 36)) 4717 } 4718 if s.BudgetName == nil { 4719 invalidParams.Add(request.NewErrParamRequired("BudgetName")) 4720 } 4721 if s.BudgetName != nil && len(*s.BudgetName) < 1 { 4722 invalidParams.Add(request.NewErrParamMinLen("BudgetName", 1)) 4723 } 4724 if s.MaxResults != nil && *s.MaxResults < 1 { 4725 invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) 4726 } 4727 4728 if invalidParams.Len() > 0 { 4729 return invalidParams 4730 } 4731 return nil 4732 } 4733 4734 // SetAccountId sets the AccountId field's value. 4735 func (s *DescribeBudgetActionHistoriesInput) SetAccountId(v string) *DescribeBudgetActionHistoriesInput { 4736 s.AccountId = &v 4737 return s 4738 } 4739 4740 // SetActionId sets the ActionId field's value. 4741 func (s *DescribeBudgetActionHistoriesInput) SetActionId(v string) *DescribeBudgetActionHistoriesInput { 4742 s.ActionId = &v 4743 return s 4744 } 4745 4746 // SetBudgetName sets the BudgetName field's value. 4747 func (s *DescribeBudgetActionHistoriesInput) SetBudgetName(v string) *DescribeBudgetActionHistoriesInput { 4748 s.BudgetName = &v 4749 return s 4750 } 4751 4752 // SetMaxResults sets the MaxResults field's value. 4753 func (s *DescribeBudgetActionHistoriesInput) SetMaxResults(v int64) *DescribeBudgetActionHistoriesInput { 4754 s.MaxResults = &v 4755 return s 4756 } 4757 4758 // SetNextToken sets the NextToken field's value. 4759 func (s *DescribeBudgetActionHistoriesInput) SetNextToken(v string) *DescribeBudgetActionHistoriesInput { 4760 s.NextToken = &v 4761 return s 4762 } 4763 4764 // SetTimePeriod sets the TimePeriod field's value. 4765 func (s *DescribeBudgetActionHistoriesInput) SetTimePeriod(v *TimePeriod) *DescribeBudgetActionHistoriesInput { 4766 s.TimePeriod = v 4767 return s 4768 } 4769 4770 type DescribeBudgetActionHistoriesOutput struct { 4771 _ struct{} `type:"structure"` 4772 4773 // The historical record of the budget action resource. 4774 // 4775 // ActionHistories is a required field 4776 ActionHistories []*ActionHistory `type:"list" required:"true"` 4777 4778 // A generic string. 4779 NextToken *string `type:"string"` 4780 } 4781 4782 // String returns the string representation. 4783 // 4784 // API parameter values that are decorated as "sensitive" in the API will not 4785 // be included in the string output. The member name will be present, but the 4786 // value will be replaced with "sensitive". 4787 func (s DescribeBudgetActionHistoriesOutput) String() string { 4788 return awsutil.Prettify(s) 4789 } 4790 4791 // GoString returns the string representation. 4792 // 4793 // API parameter values that are decorated as "sensitive" in the API will not 4794 // be included in the string output. The member name will be present, but the 4795 // value will be replaced with "sensitive". 4796 func (s DescribeBudgetActionHistoriesOutput) GoString() string { 4797 return s.String() 4798 } 4799 4800 // SetActionHistories sets the ActionHistories field's value. 4801 func (s *DescribeBudgetActionHistoriesOutput) SetActionHistories(v []*ActionHistory) *DescribeBudgetActionHistoriesOutput { 4802 s.ActionHistories = v 4803 return s 4804 } 4805 4806 // SetNextToken sets the NextToken field's value. 4807 func (s *DescribeBudgetActionHistoriesOutput) SetNextToken(v string) *DescribeBudgetActionHistoriesOutput { 4808 s.NextToken = &v 4809 return s 4810 } 4811 4812 type DescribeBudgetActionInput struct { 4813 _ struct{} `type:"structure"` 4814 4815 // The account ID of the user. It should be a 12-digit number. 4816 // 4817 // AccountId is a required field 4818 AccountId *string `min:"12" type:"string" required:"true"` 4819 4820 // A system-generated universally unique identifier (UUID) for the action. 4821 // 4822 // ActionId is a required field 4823 ActionId *string `min:"36" type:"string" required:"true"` 4824 4825 // A string that represents the budget name. The ":" and "\" characters aren't 4826 // allowed. 4827 // 4828 // BudgetName is a required field 4829 BudgetName *string `min:"1" type:"string" required:"true"` 4830 } 4831 4832 // String returns the string representation. 4833 // 4834 // API parameter values that are decorated as "sensitive" in the API will not 4835 // be included in the string output. The member name will be present, but the 4836 // value will be replaced with "sensitive". 4837 func (s DescribeBudgetActionInput) String() string { 4838 return awsutil.Prettify(s) 4839 } 4840 4841 // GoString returns the string representation. 4842 // 4843 // API parameter values that are decorated as "sensitive" in the API will not 4844 // be included in the string output. The member name will be present, but the 4845 // value will be replaced with "sensitive". 4846 func (s DescribeBudgetActionInput) GoString() string { 4847 return s.String() 4848 } 4849 4850 // Validate inspects the fields of the type to determine if they are valid. 4851 func (s *DescribeBudgetActionInput) Validate() error { 4852 invalidParams := request.ErrInvalidParams{Context: "DescribeBudgetActionInput"} 4853 if s.AccountId == nil { 4854 invalidParams.Add(request.NewErrParamRequired("AccountId")) 4855 } 4856 if s.AccountId != nil && len(*s.AccountId) < 12 { 4857 invalidParams.Add(request.NewErrParamMinLen("AccountId", 12)) 4858 } 4859 if s.ActionId == nil { 4860 invalidParams.Add(request.NewErrParamRequired("ActionId")) 4861 } 4862 if s.ActionId != nil && len(*s.ActionId) < 36 { 4863 invalidParams.Add(request.NewErrParamMinLen("ActionId", 36)) 4864 } 4865 if s.BudgetName == nil { 4866 invalidParams.Add(request.NewErrParamRequired("BudgetName")) 4867 } 4868 if s.BudgetName != nil && len(*s.BudgetName) < 1 { 4869 invalidParams.Add(request.NewErrParamMinLen("BudgetName", 1)) 4870 } 4871 4872 if invalidParams.Len() > 0 { 4873 return invalidParams 4874 } 4875 return nil 4876 } 4877 4878 // SetAccountId sets the AccountId field's value. 4879 func (s *DescribeBudgetActionInput) SetAccountId(v string) *DescribeBudgetActionInput { 4880 s.AccountId = &v 4881 return s 4882 } 4883 4884 // SetActionId sets the ActionId field's value. 4885 func (s *DescribeBudgetActionInput) SetActionId(v string) *DescribeBudgetActionInput { 4886 s.ActionId = &v 4887 return s 4888 } 4889 4890 // SetBudgetName sets the BudgetName field's value. 4891 func (s *DescribeBudgetActionInput) SetBudgetName(v string) *DescribeBudgetActionInput { 4892 s.BudgetName = &v 4893 return s 4894 } 4895 4896 type DescribeBudgetActionOutput struct { 4897 _ struct{} `type:"structure"` 4898 4899 // The account ID of the user. It should be a 12-digit number. 4900 // 4901 // AccountId is a required field 4902 AccountId *string `min:"12" type:"string" required:"true"` 4903 4904 // A budget action resource. 4905 // 4906 // Action is a required field 4907 Action *Action `type:"structure" required:"true"` 4908 4909 // A string that represents the budget name. The ":" and "\" characters aren't 4910 // allowed. 4911 // 4912 // BudgetName is a required field 4913 BudgetName *string `min:"1" type:"string" required:"true"` 4914 } 4915 4916 // String returns the string representation. 4917 // 4918 // API parameter values that are decorated as "sensitive" in the API will not 4919 // be included in the string output. The member name will be present, but the 4920 // value will be replaced with "sensitive". 4921 func (s DescribeBudgetActionOutput) String() string { 4922 return awsutil.Prettify(s) 4923 } 4924 4925 // GoString returns the string representation. 4926 // 4927 // API parameter values that are decorated as "sensitive" in the API will not 4928 // be included in the string output. The member name will be present, but the 4929 // value will be replaced with "sensitive". 4930 func (s DescribeBudgetActionOutput) GoString() string { 4931 return s.String() 4932 } 4933 4934 // SetAccountId sets the AccountId field's value. 4935 func (s *DescribeBudgetActionOutput) SetAccountId(v string) *DescribeBudgetActionOutput { 4936 s.AccountId = &v 4937 return s 4938 } 4939 4940 // SetAction sets the Action field's value. 4941 func (s *DescribeBudgetActionOutput) SetAction(v *Action) *DescribeBudgetActionOutput { 4942 s.Action = v 4943 return s 4944 } 4945 4946 // SetBudgetName sets the BudgetName field's value. 4947 func (s *DescribeBudgetActionOutput) SetBudgetName(v string) *DescribeBudgetActionOutput { 4948 s.BudgetName = &v 4949 return s 4950 } 4951 4952 type DescribeBudgetActionsForAccountInput struct { 4953 _ struct{} `type:"structure"` 4954 4955 // The account ID of the user. It should be a 12-digit number. 4956 // 4957 // AccountId is a required field 4958 AccountId *string `min:"12" type:"string" required:"true"` 4959 4960 // An integer that represents how many entries a paginated response contains. 4961 // The maximum is 100. 4962 MaxResults *int64 `min:"1" type:"integer"` 4963 4964 // A generic string. 4965 NextToken *string `type:"string"` 4966 } 4967 4968 // String returns the string representation. 4969 // 4970 // API parameter values that are decorated as "sensitive" in the API will not 4971 // be included in the string output. The member name will be present, but the 4972 // value will be replaced with "sensitive". 4973 func (s DescribeBudgetActionsForAccountInput) String() string { 4974 return awsutil.Prettify(s) 4975 } 4976 4977 // GoString returns the string representation. 4978 // 4979 // API parameter values that are decorated as "sensitive" in the API will not 4980 // be included in the string output. The member name will be present, but the 4981 // value will be replaced with "sensitive". 4982 func (s DescribeBudgetActionsForAccountInput) GoString() string { 4983 return s.String() 4984 } 4985 4986 // Validate inspects the fields of the type to determine if they are valid. 4987 func (s *DescribeBudgetActionsForAccountInput) Validate() error { 4988 invalidParams := request.ErrInvalidParams{Context: "DescribeBudgetActionsForAccountInput"} 4989 if s.AccountId == nil { 4990 invalidParams.Add(request.NewErrParamRequired("AccountId")) 4991 } 4992 if s.AccountId != nil && len(*s.AccountId) < 12 { 4993 invalidParams.Add(request.NewErrParamMinLen("AccountId", 12)) 4994 } 4995 if s.MaxResults != nil && *s.MaxResults < 1 { 4996 invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) 4997 } 4998 4999 if invalidParams.Len() > 0 { 5000 return invalidParams 5001 } 5002 return nil 5003 } 5004 5005 // SetAccountId sets the AccountId field's value. 5006 func (s *DescribeBudgetActionsForAccountInput) SetAccountId(v string) *DescribeBudgetActionsForAccountInput { 5007 s.AccountId = &v 5008 return s 5009 } 5010 5011 // SetMaxResults sets the MaxResults field's value. 5012 func (s *DescribeBudgetActionsForAccountInput) SetMaxResults(v int64) *DescribeBudgetActionsForAccountInput { 5013 s.MaxResults = &v 5014 return s 5015 } 5016 5017 // SetNextToken sets the NextToken field's value. 5018 func (s *DescribeBudgetActionsForAccountInput) SetNextToken(v string) *DescribeBudgetActionsForAccountInput { 5019 s.NextToken = &v 5020 return s 5021 } 5022 5023 type DescribeBudgetActionsForAccountOutput struct { 5024 _ struct{} `type:"structure"` 5025 5026 // A list of the budget action resources information. 5027 // 5028 // Actions is a required field 5029 Actions []*Action `type:"list" required:"true"` 5030 5031 // A generic string. 5032 NextToken *string `type:"string"` 5033 } 5034 5035 // String returns the string representation. 5036 // 5037 // API parameter values that are decorated as "sensitive" in the API will not 5038 // be included in the string output. The member name will be present, but the 5039 // value will be replaced with "sensitive". 5040 func (s DescribeBudgetActionsForAccountOutput) String() string { 5041 return awsutil.Prettify(s) 5042 } 5043 5044 // GoString returns the string representation. 5045 // 5046 // API parameter values that are decorated as "sensitive" in the API will not 5047 // be included in the string output. The member name will be present, but the 5048 // value will be replaced with "sensitive". 5049 func (s DescribeBudgetActionsForAccountOutput) GoString() string { 5050 return s.String() 5051 } 5052 5053 // SetActions sets the Actions field's value. 5054 func (s *DescribeBudgetActionsForAccountOutput) SetActions(v []*Action) *DescribeBudgetActionsForAccountOutput { 5055 s.Actions = v 5056 return s 5057 } 5058 5059 // SetNextToken sets the NextToken field's value. 5060 func (s *DescribeBudgetActionsForAccountOutput) SetNextToken(v string) *DescribeBudgetActionsForAccountOutput { 5061 s.NextToken = &v 5062 return s 5063 } 5064 5065 type DescribeBudgetActionsForBudgetInput struct { 5066 _ struct{} `type:"structure"` 5067 5068 // The account ID of the user. It should be a 12-digit number. 5069 // 5070 // AccountId is a required field 5071 AccountId *string `min:"12" type:"string" required:"true"` 5072 5073 // A string that represents the budget name. The ":" and "\" characters aren't 5074 // allowed. 5075 // 5076 // BudgetName is a required field 5077 BudgetName *string `min:"1" type:"string" required:"true"` 5078 5079 // An integer that represents how many entries a paginated response contains. 5080 // The maximum is 100. 5081 MaxResults *int64 `min:"1" type:"integer"` 5082 5083 // A generic string. 5084 NextToken *string `type:"string"` 5085 } 5086 5087 // String returns the string representation. 5088 // 5089 // API parameter values that are decorated as "sensitive" in the API will not 5090 // be included in the string output. The member name will be present, but the 5091 // value will be replaced with "sensitive". 5092 func (s DescribeBudgetActionsForBudgetInput) String() string { 5093 return awsutil.Prettify(s) 5094 } 5095 5096 // GoString returns the string representation. 5097 // 5098 // API parameter values that are decorated as "sensitive" in the API will not 5099 // be included in the string output. The member name will be present, but the 5100 // value will be replaced with "sensitive". 5101 func (s DescribeBudgetActionsForBudgetInput) GoString() string { 5102 return s.String() 5103 } 5104 5105 // Validate inspects the fields of the type to determine if they are valid. 5106 func (s *DescribeBudgetActionsForBudgetInput) Validate() error { 5107 invalidParams := request.ErrInvalidParams{Context: "DescribeBudgetActionsForBudgetInput"} 5108 if s.AccountId == nil { 5109 invalidParams.Add(request.NewErrParamRequired("AccountId")) 5110 } 5111 if s.AccountId != nil && len(*s.AccountId) < 12 { 5112 invalidParams.Add(request.NewErrParamMinLen("AccountId", 12)) 5113 } 5114 if s.BudgetName == nil { 5115 invalidParams.Add(request.NewErrParamRequired("BudgetName")) 5116 } 5117 if s.BudgetName != nil && len(*s.BudgetName) < 1 { 5118 invalidParams.Add(request.NewErrParamMinLen("BudgetName", 1)) 5119 } 5120 if s.MaxResults != nil && *s.MaxResults < 1 { 5121 invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) 5122 } 5123 5124 if invalidParams.Len() > 0 { 5125 return invalidParams 5126 } 5127 return nil 5128 } 5129 5130 // SetAccountId sets the AccountId field's value. 5131 func (s *DescribeBudgetActionsForBudgetInput) SetAccountId(v string) *DescribeBudgetActionsForBudgetInput { 5132 s.AccountId = &v 5133 return s 5134 } 5135 5136 // SetBudgetName sets the BudgetName field's value. 5137 func (s *DescribeBudgetActionsForBudgetInput) SetBudgetName(v string) *DescribeBudgetActionsForBudgetInput { 5138 s.BudgetName = &v 5139 return s 5140 } 5141 5142 // SetMaxResults sets the MaxResults field's value. 5143 func (s *DescribeBudgetActionsForBudgetInput) SetMaxResults(v int64) *DescribeBudgetActionsForBudgetInput { 5144 s.MaxResults = &v 5145 return s 5146 } 5147 5148 // SetNextToken sets the NextToken field's value. 5149 func (s *DescribeBudgetActionsForBudgetInput) SetNextToken(v string) *DescribeBudgetActionsForBudgetInput { 5150 s.NextToken = &v 5151 return s 5152 } 5153 5154 type DescribeBudgetActionsForBudgetOutput struct { 5155 _ struct{} `type:"structure"` 5156 5157 // A list of the budget action resources information. 5158 // 5159 // Actions is a required field 5160 Actions []*Action `type:"list" required:"true"` 5161 5162 // A generic string. 5163 NextToken *string `type:"string"` 5164 } 5165 5166 // String returns the string representation. 5167 // 5168 // API parameter values that are decorated as "sensitive" in the API will not 5169 // be included in the string output. The member name will be present, but the 5170 // value will be replaced with "sensitive". 5171 func (s DescribeBudgetActionsForBudgetOutput) String() string { 5172 return awsutil.Prettify(s) 5173 } 5174 5175 // GoString returns the string representation. 5176 // 5177 // API parameter values that are decorated as "sensitive" in the API will not 5178 // be included in the string output. The member name will be present, but the 5179 // value will be replaced with "sensitive". 5180 func (s DescribeBudgetActionsForBudgetOutput) GoString() string { 5181 return s.String() 5182 } 5183 5184 // SetActions sets the Actions field's value. 5185 func (s *DescribeBudgetActionsForBudgetOutput) SetActions(v []*Action) *DescribeBudgetActionsForBudgetOutput { 5186 s.Actions = v 5187 return s 5188 } 5189 5190 // SetNextToken sets the NextToken field's value. 5191 func (s *DescribeBudgetActionsForBudgetOutput) SetNextToken(v string) *DescribeBudgetActionsForBudgetOutput { 5192 s.NextToken = &v 5193 return s 5194 } 5195 5196 // Request of DescribeBudget 5197 type DescribeBudgetInput struct { 5198 _ struct{} `type:"structure"` 5199 5200 // The accountId that is associated with the budget that you want a description 5201 // of. 5202 // 5203 // AccountId is a required field 5204 AccountId *string `min:"12" type:"string" required:"true"` 5205 5206 // The name of the budget that you want a description of. 5207 // 5208 // BudgetName is a required field 5209 BudgetName *string `min:"1" type:"string" required:"true"` 5210 } 5211 5212 // String returns the string representation. 5213 // 5214 // API parameter values that are decorated as "sensitive" in the API will not 5215 // be included in the string output. The member name will be present, but the 5216 // value will be replaced with "sensitive". 5217 func (s DescribeBudgetInput) String() string { 5218 return awsutil.Prettify(s) 5219 } 5220 5221 // GoString returns the string representation. 5222 // 5223 // API parameter values that are decorated as "sensitive" in the API will not 5224 // be included in the string output. The member name will be present, but the 5225 // value will be replaced with "sensitive". 5226 func (s DescribeBudgetInput) GoString() string { 5227 return s.String() 5228 } 5229 5230 // Validate inspects the fields of the type to determine if they are valid. 5231 func (s *DescribeBudgetInput) Validate() error { 5232 invalidParams := request.ErrInvalidParams{Context: "DescribeBudgetInput"} 5233 if s.AccountId == nil { 5234 invalidParams.Add(request.NewErrParamRequired("AccountId")) 5235 } 5236 if s.AccountId != nil && len(*s.AccountId) < 12 { 5237 invalidParams.Add(request.NewErrParamMinLen("AccountId", 12)) 5238 } 5239 if s.BudgetName == nil { 5240 invalidParams.Add(request.NewErrParamRequired("BudgetName")) 5241 } 5242 if s.BudgetName != nil && len(*s.BudgetName) < 1 { 5243 invalidParams.Add(request.NewErrParamMinLen("BudgetName", 1)) 5244 } 5245 5246 if invalidParams.Len() > 0 { 5247 return invalidParams 5248 } 5249 return nil 5250 } 5251 5252 // SetAccountId sets the AccountId field's value. 5253 func (s *DescribeBudgetInput) SetAccountId(v string) *DescribeBudgetInput { 5254 s.AccountId = &v 5255 return s 5256 } 5257 5258 // SetBudgetName sets the BudgetName field's value. 5259 func (s *DescribeBudgetInput) SetBudgetName(v string) *DescribeBudgetInput { 5260 s.BudgetName = &v 5261 return s 5262 } 5263 5264 // Response of DescribeBudget 5265 type DescribeBudgetOutput struct { 5266 _ struct{} `type:"structure"` 5267 5268 // The description of the budget. 5269 Budget *Budget `type:"structure"` 5270 } 5271 5272 // String returns the string representation. 5273 // 5274 // API parameter values that are decorated as "sensitive" in the API will not 5275 // be included in the string output. The member name will be present, but the 5276 // value will be replaced with "sensitive". 5277 func (s DescribeBudgetOutput) String() string { 5278 return awsutil.Prettify(s) 5279 } 5280 5281 // GoString returns the string representation. 5282 // 5283 // API parameter values that are decorated as "sensitive" in the API will not 5284 // be included in the string output. The member name will be present, but the 5285 // value will be replaced with "sensitive". 5286 func (s DescribeBudgetOutput) GoString() string { 5287 return s.String() 5288 } 5289 5290 // SetBudget sets the Budget field's value. 5291 func (s *DescribeBudgetOutput) SetBudget(v *Budget) *DescribeBudgetOutput { 5292 s.Budget = v 5293 return s 5294 } 5295 5296 type DescribeBudgetPerformanceHistoryInput struct { 5297 _ struct{} `type:"structure"` 5298 5299 // The account ID of the user. It should be a 12-digit number. 5300 // 5301 // AccountId is a required field 5302 AccountId *string `min:"12" type:"string" required:"true"` 5303 5304 // A string that represents the budget name. The ":" and "\" characters aren't 5305 // allowed. 5306 // 5307 // BudgetName is a required field 5308 BudgetName *string `min:"1" type:"string" required:"true"` 5309 5310 // An integer that represents how many entries a paginated response contains. 5311 // The maximum is 100. 5312 MaxResults *int64 `min:"1" type:"integer"` 5313 5314 // A generic string. 5315 NextToken *string `type:"string"` 5316 5317 // Retrieves how often the budget went into an ALARM state for the specified 5318 // time period. 5319 TimePeriod *TimePeriod `type:"structure"` 5320 } 5321 5322 // String returns the string representation. 5323 // 5324 // API parameter values that are decorated as "sensitive" in the API will not 5325 // be included in the string output. The member name will be present, but the 5326 // value will be replaced with "sensitive". 5327 func (s DescribeBudgetPerformanceHistoryInput) String() string { 5328 return awsutil.Prettify(s) 5329 } 5330 5331 // GoString returns the string representation. 5332 // 5333 // API parameter values that are decorated as "sensitive" in the API will not 5334 // be included in the string output. The member name will be present, but the 5335 // value will be replaced with "sensitive". 5336 func (s DescribeBudgetPerformanceHistoryInput) GoString() string { 5337 return s.String() 5338 } 5339 5340 // Validate inspects the fields of the type to determine if they are valid. 5341 func (s *DescribeBudgetPerformanceHistoryInput) Validate() error { 5342 invalidParams := request.ErrInvalidParams{Context: "DescribeBudgetPerformanceHistoryInput"} 5343 if s.AccountId == nil { 5344 invalidParams.Add(request.NewErrParamRequired("AccountId")) 5345 } 5346 if s.AccountId != nil && len(*s.AccountId) < 12 { 5347 invalidParams.Add(request.NewErrParamMinLen("AccountId", 12)) 5348 } 5349 if s.BudgetName == nil { 5350 invalidParams.Add(request.NewErrParamRequired("BudgetName")) 5351 } 5352 if s.BudgetName != nil && len(*s.BudgetName) < 1 { 5353 invalidParams.Add(request.NewErrParamMinLen("BudgetName", 1)) 5354 } 5355 if s.MaxResults != nil && *s.MaxResults < 1 { 5356 invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) 5357 } 5358 5359 if invalidParams.Len() > 0 { 5360 return invalidParams 5361 } 5362 return nil 5363 } 5364 5365 // SetAccountId sets the AccountId field's value. 5366 func (s *DescribeBudgetPerformanceHistoryInput) SetAccountId(v string) *DescribeBudgetPerformanceHistoryInput { 5367 s.AccountId = &v 5368 return s 5369 } 5370 5371 // SetBudgetName sets the BudgetName field's value. 5372 func (s *DescribeBudgetPerformanceHistoryInput) SetBudgetName(v string) *DescribeBudgetPerformanceHistoryInput { 5373 s.BudgetName = &v 5374 return s 5375 } 5376 5377 // SetMaxResults sets the MaxResults field's value. 5378 func (s *DescribeBudgetPerformanceHistoryInput) SetMaxResults(v int64) *DescribeBudgetPerformanceHistoryInput { 5379 s.MaxResults = &v 5380 return s 5381 } 5382 5383 // SetNextToken sets the NextToken field's value. 5384 func (s *DescribeBudgetPerformanceHistoryInput) SetNextToken(v string) *DescribeBudgetPerformanceHistoryInput { 5385 s.NextToken = &v 5386 return s 5387 } 5388 5389 // SetTimePeriod sets the TimePeriod field's value. 5390 func (s *DescribeBudgetPerformanceHistoryInput) SetTimePeriod(v *TimePeriod) *DescribeBudgetPerformanceHistoryInput { 5391 s.TimePeriod = v 5392 return s 5393 } 5394 5395 type DescribeBudgetPerformanceHistoryOutput struct { 5396 _ struct{} `type:"structure"` 5397 5398 // The history of how often the budget has gone into an ALARM state. 5399 // 5400 // For DAILY budgets, the history saves the state of the budget for the last 5401 // 60 days. For MONTHLY budgets, the history saves the state of the budget for 5402 // the current month plus the last 12 months. For QUARTERLY budgets, the history 5403 // saves the state of the budget for the last four quarters. 5404 BudgetPerformanceHistory *BudgetPerformanceHistory `type:"structure"` 5405 5406 // A generic string. 5407 NextToken *string `type:"string"` 5408 } 5409 5410 // String returns the string representation. 5411 // 5412 // API parameter values that are decorated as "sensitive" in the API will not 5413 // be included in the string output. The member name will be present, but the 5414 // value will be replaced with "sensitive". 5415 func (s DescribeBudgetPerformanceHistoryOutput) String() string { 5416 return awsutil.Prettify(s) 5417 } 5418 5419 // GoString returns the string representation. 5420 // 5421 // API parameter values that are decorated as "sensitive" in the API will not 5422 // be included in the string output. The member name will be present, but the 5423 // value will be replaced with "sensitive". 5424 func (s DescribeBudgetPerformanceHistoryOutput) GoString() string { 5425 return s.String() 5426 } 5427 5428 // SetBudgetPerformanceHistory sets the BudgetPerformanceHistory field's value. 5429 func (s *DescribeBudgetPerformanceHistoryOutput) SetBudgetPerformanceHistory(v *BudgetPerformanceHistory) *DescribeBudgetPerformanceHistoryOutput { 5430 s.BudgetPerformanceHistory = v 5431 return s 5432 } 5433 5434 // SetNextToken sets the NextToken field's value. 5435 func (s *DescribeBudgetPerformanceHistoryOutput) SetNextToken(v string) *DescribeBudgetPerformanceHistoryOutput { 5436 s.NextToken = &v 5437 return s 5438 } 5439 5440 // Request of DescribeBudgets 5441 type DescribeBudgetsInput struct { 5442 _ struct{} `type:"structure"` 5443 5444 // The accountId that is associated with the budgets that you want descriptions 5445 // of. 5446 // 5447 // AccountId is a required field 5448 AccountId *string `min:"12" type:"string" required:"true"` 5449 5450 // An optional integer that represents how many entries a paginated response 5451 // contains. The maximum is 100. 5452 MaxResults *int64 `min:"1" type:"integer"` 5453 5454 // The pagination token that you include in your request to indicate the next 5455 // set of results that you want to retrieve. 5456 NextToken *string `type:"string"` 5457 } 5458 5459 // String returns the string representation. 5460 // 5461 // API parameter values that are decorated as "sensitive" in the API will not 5462 // be included in the string output. The member name will be present, but the 5463 // value will be replaced with "sensitive". 5464 func (s DescribeBudgetsInput) String() string { 5465 return awsutil.Prettify(s) 5466 } 5467 5468 // GoString returns the string representation. 5469 // 5470 // API parameter values that are decorated as "sensitive" in the API will not 5471 // be included in the string output. The member name will be present, but the 5472 // value will be replaced with "sensitive". 5473 func (s DescribeBudgetsInput) GoString() string { 5474 return s.String() 5475 } 5476 5477 // Validate inspects the fields of the type to determine if they are valid. 5478 func (s *DescribeBudgetsInput) Validate() error { 5479 invalidParams := request.ErrInvalidParams{Context: "DescribeBudgetsInput"} 5480 if s.AccountId == nil { 5481 invalidParams.Add(request.NewErrParamRequired("AccountId")) 5482 } 5483 if s.AccountId != nil && len(*s.AccountId) < 12 { 5484 invalidParams.Add(request.NewErrParamMinLen("AccountId", 12)) 5485 } 5486 if s.MaxResults != nil && *s.MaxResults < 1 { 5487 invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) 5488 } 5489 5490 if invalidParams.Len() > 0 { 5491 return invalidParams 5492 } 5493 return nil 5494 } 5495 5496 // SetAccountId sets the AccountId field's value. 5497 func (s *DescribeBudgetsInput) SetAccountId(v string) *DescribeBudgetsInput { 5498 s.AccountId = &v 5499 return s 5500 } 5501 5502 // SetMaxResults sets the MaxResults field's value. 5503 func (s *DescribeBudgetsInput) SetMaxResults(v int64) *DescribeBudgetsInput { 5504 s.MaxResults = &v 5505 return s 5506 } 5507 5508 // SetNextToken sets the NextToken field's value. 5509 func (s *DescribeBudgetsInput) SetNextToken(v string) *DescribeBudgetsInput { 5510 s.NextToken = &v 5511 return s 5512 } 5513 5514 // Response of DescribeBudgets 5515 type DescribeBudgetsOutput struct { 5516 _ struct{} `type:"structure"` 5517 5518 // A list of budgets. 5519 Budgets []*Budget `type:"list"` 5520 5521 // The pagination token in the service response that indicates the next set 5522 // of results that you can retrieve. 5523 NextToken *string `type:"string"` 5524 } 5525 5526 // String returns the string representation. 5527 // 5528 // API parameter values that are decorated as "sensitive" in the API will not 5529 // be included in the string output. The member name will be present, but the 5530 // value will be replaced with "sensitive". 5531 func (s DescribeBudgetsOutput) String() string { 5532 return awsutil.Prettify(s) 5533 } 5534 5535 // GoString returns the string representation. 5536 // 5537 // API parameter values that are decorated as "sensitive" in the API will not 5538 // be included in the string output. The member name will be present, but the 5539 // value will be replaced with "sensitive". 5540 func (s DescribeBudgetsOutput) GoString() string { 5541 return s.String() 5542 } 5543 5544 // SetBudgets sets the Budgets field's value. 5545 func (s *DescribeBudgetsOutput) SetBudgets(v []*Budget) *DescribeBudgetsOutput { 5546 s.Budgets = v 5547 return s 5548 } 5549 5550 // SetNextToken sets the NextToken field's value. 5551 func (s *DescribeBudgetsOutput) SetNextToken(v string) *DescribeBudgetsOutput { 5552 s.NextToken = &v 5553 return s 5554 } 5555 5556 // Request of DescribeNotificationsForBudget 5557 type DescribeNotificationsForBudgetInput struct { 5558 _ struct{} `type:"structure"` 5559 5560 // The accountId that is associated with the budget whose notifications you 5561 // want descriptions of. 5562 // 5563 // AccountId is a required field 5564 AccountId *string `min:"12" type:"string" required:"true"` 5565 5566 // The name of the budget whose notifications you want descriptions of. 5567 // 5568 // BudgetName is a required field 5569 BudgetName *string `min:"1" type:"string" required:"true"` 5570 5571 // An optional integer that represents how many entries a paginated response 5572 // contains. The maximum is 100. 5573 MaxResults *int64 `min:"1" type:"integer"` 5574 5575 // The pagination token that you include in your request to indicate the next 5576 // set of results that you want to retrieve. 5577 NextToken *string `type:"string"` 5578 } 5579 5580 // String returns the string representation. 5581 // 5582 // API parameter values that are decorated as "sensitive" in the API will not 5583 // be included in the string output. The member name will be present, but the 5584 // value will be replaced with "sensitive". 5585 func (s DescribeNotificationsForBudgetInput) String() string { 5586 return awsutil.Prettify(s) 5587 } 5588 5589 // GoString returns the string representation. 5590 // 5591 // API parameter values that are decorated as "sensitive" in the API will not 5592 // be included in the string output. The member name will be present, but the 5593 // value will be replaced with "sensitive". 5594 func (s DescribeNotificationsForBudgetInput) GoString() string { 5595 return s.String() 5596 } 5597 5598 // Validate inspects the fields of the type to determine if they are valid. 5599 func (s *DescribeNotificationsForBudgetInput) Validate() error { 5600 invalidParams := request.ErrInvalidParams{Context: "DescribeNotificationsForBudgetInput"} 5601 if s.AccountId == nil { 5602 invalidParams.Add(request.NewErrParamRequired("AccountId")) 5603 } 5604 if s.AccountId != nil && len(*s.AccountId) < 12 { 5605 invalidParams.Add(request.NewErrParamMinLen("AccountId", 12)) 5606 } 5607 if s.BudgetName == nil { 5608 invalidParams.Add(request.NewErrParamRequired("BudgetName")) 5609 } 5610 if s.BudgetName != nil && len(*s.BudgetName) < 1 { 5611 invalidParams.Add(request.NewErrParamMinLen("BudgetName", 1)) 5612 } 5613 if s.MaxResults != nil && *s.MaxResults < 1 { 5614 invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) 5615 } 5616 5617 if invalidParams.Len() > 0 { 5618 return invalidParams 5619 } 5620 return nil 5621 } 5622 5623 // SetAccountId sets the AccountId field's value. 5624 func (s *DescribeNotificationsForBudgetInput) SetAccountId(v string) *DescribeNotificationsForBudgetInput { 5625 s.AccountId = &v 5626 return s 5627 } 5628 5629 // SetBudgetName sets the BudgetName field's value. 5630 func (s *DescribeNotificationsForBudgetInput) SetBudgetName(v string) *DescribeNotificationsForBudgetInput { 5631 s.BudgetName = &v 5632 return s 5633 } 5634 5635 // SetMaxResults sets the MaxResults field's value. 5636 func (s *DescribeNotificationsForBudgetInput) SetMaxResults(v int64) *DescribeNotificationsForBudgetInput { 5637 s.MaxResults = &v 5638 return s 5639 } 5640 5641 // SetNextToken sets the NextToken field's value. 5642 func (s *DescribeNotificationsForBudgetInput) SetNextToken(v string) *DescribeNotificationsForBudgetInput { 5643 s.NextToken = &v 5644 return s 5645 } 5646 5647 // Response of GetNotificationsForBudget 5648 type DescribeNotificationsForBudgetOutput struct { 5649 _ struct{} `type:"structure"` 5650 5651 // The pagination token in the service response that indicates the next set 5652 // of results that you can retrieve. 5653 NextToken *string `type:"string"` 5654 5655 // A list of notifications that are associated with a budget. 5656 Notifications []*Notification `type:"list"` 5657 } 5658 5659 // String returns the string representation. 5660 // 5661 // API parameter values that are decorated as "sensitive" in the API will not 5662 // be included in the string output. The member name will be present, but the 5663 // value will be replaced with "sensitive". 5664 func (s DescribeNotificationsForBudgetOutput) String() string { 5665 return awsutil.Prettify(s) 5666 } 5667 5668 // GoString returns the string representation. 5669 // 5670 // API parameter values that are decorated as "sensitive" in the API will not 5671 // be included in the string output. The member name will be present, but the 5672 // value will be replaced with "sensitive". 5673 func (s DescribeNotificationsForBudgetOutput) GoString() string { 5674 return s.String() 5675 } 5676 5677 // SetNextToken sets the NextToken field's value. 5678 func (s *DescribeNotificationsForBudgetOutput) SetNextToken(v string) *DescribeNotificationsForBudgetOutput { 5679 s.NextToken = &v 5680 return s 5681 } 5682 5683 // SetNotifications sets the Notifications field's value. 5684 func (s *DescribeNotificationsForBudgetOutput) SetNotifications(v []*Notification) *DescribeNotificationsForBudgetOutput { 5685 s.Notifications = v 5686 return s 5687 } 5688 5689 // Request of DescribeSubscribersForNotification 5690 type DescribeSubscribersForNotificationInput struct { 5691 _ struct{} `type:"structure"` 5692 5693 // The accountId that is associated with the budget whose subscribers you want 5694 // descriptions of. 5695 // 5696 // AccountId is a required field 5697 AccountId *string `min:"12" type:"string" required:"true"` 5698 5699 // The name of the budget whose subscribers you want descriptions of. 5700 // 5701 // BudgetName is a required field 5702 BudgetName *string `min:"1" type:"string" required:"true"` 5703 5704 // An optional integer that represents how many entries a paginated response 5705 // contains. The maximum is 100. 5706 MaxResults *int64 `min:"1" type:"integer"` 5707 5708 // The pagination token that you include in your request to indicate the next 5709 // set of results that you want to retrieve. 5710 NextToken *string `type:"string"` 5711 5712 // The notification whose subscribers you want to list. 5713 // 5714 // Notification is a required field 5715 Notification *Notification `type:"structure" required:"true"` 5716 } 5717 5718 // String returns the string representation. 5719 // 5720 // API parameter values that are decorated as "sensitive" in the API will not 5721 // be included in the string output. The member name will be present, but the 5722 // value will be replaced with "sensitive". 5723 func (s DescribeSubscribersForNotificationInput) String() string { 5724 return awsutil.Prettify(s) 5725 } 5726 5727 // GoString returns the string representation. 5728 // 5729 // API parameter values that are decorated as "sensitive" in the API will not 5730 // be included in the string output. The member name will be present, but the 5731 // value will be replaced with "sensitive". 5732 func (s DescribeSubscribersForNotificationInput) GoString() string { 5733 return s.String() 5734 } 5735 5736 // Validate inspects the fields of the type to determine if they are valid. 5737 func (s *DescribeSubscribersForNotificationInput) Validate() error { 5738 invalidParams := request.ErrInvalidParams{Context: "DescribeSubscribersForNotificationInput"} 5739 if s.AccountId == nil { 5740 invalidParams.Add(request.NewErrParamRequired("AccountId")) 5741 } 5742 if s.AccountId != nil && len(*s.AccountId) < 12 { 5743 invalidParams.Add(request.NewErrParamMinLen("AccountId", 12)) 5744 } 5745 if s.BudgetName == nil { 5746 invalidParams.Add(request.NewErrParamRequired("BudgetName")) 5747 } 5748 if s.BudgetName != nil && len(*s.BudgetName) < 1 { 5749 invalidParams.Add(request.NewErrParamMinLen("BudgetName", 1)) 5750 } 5751 if s.MaxResults != nil && *s.MaxResults < 1 { 5752 invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) 5753 } 5754 if s.Notification == nil { 5755 invalidParams.Add(request.NewErrParamRequired("Notification")) 5756 } 5757 if s.Notification != nil { 5758 if err := s.Notification.Validate(); err != nil { 5759 invalidParams.AddNested("Notification", err.(request.ErrInvalidParams)) 5760 } 5761 } 5762 5763 if invalidParams.Len() > 0 { 5764 return invalidParams 5765 } 5766 return nil 5767 } 5768 5769 // SetAccountId sets the AccountId field's value. 5770 func (s *DescribeSubscribersForNotificationInput) SetAccountId(v string) *DescribeSubscribersForNotificationInput { 5771 s.AccountId = &v 5772 return s 5773 } 5774 5775 // SetBudgetName sets the BudgetName field's value. 5776 func (s *DescribeSubscribersForNotificationInput) SetBudgetName(v string) *DescribeSubscribersForNotificationInput { 5777 s.BudgetName = &v 5778 return s 5779 } 5780 5781 // SetMaxResults sets the MaxResults field's value. 5782 func (s *DescribeSubscribersForNotificationInput) SetMaxResults(v int64) *DescribeSubscribersForNotificationInput { 5783 s.MaxResults = &v 5784 return s 5785 } 5786 5787 // SetNextToken sets the NextToken field's value. 5788 func (s *DescribeSubscribersForNotificationInput) SetNextToken(v string) *DescribeSubscribersForNotificationInput { 5789 s.NextToken = &v 5790 return s 5791 } 5792 5793 // SetNotification sets the Notification field's value. 5794 func (s *DescribeSubscribersForNotificationInput) SetNotification(v *Notification) *DescribeSubscribersForNotificationInput { 5795 s.Notification = v 5796 return s 5797 } 5798 5799 // Response of DescribeSubscribersForNotification 5800 type DescribeSubscribersForNotificationOutput struct { 5801 _ struct{} `type:"structure"` 5802 5803 // The pagination token in the service response that indicates the next set 5804 // of results that you can retrieve. 5805 NextToken *string `type:"string"` 5806 5807 // A list of subscribers that are associated with a notification. 5808 Subscribers []*Subscriber `min:"1" type:"list"` 5809 } 5810 5811 // String returns the string representation. 5812 // 5813 // API parameter values that are decorated as "sensitive" in the API will not 5814 // be included in the string output. The member name will be present, but the 5815 // value will be replaced with "sensitive". 5816 func (s DescribeSubscribersForNotificationOutput) String() string { 5817 return awsutil.Prettify(s) 5818 } 5819 5820 // GoString returns the string representation. 5821 // 5822 // API parameter values that are decorated as "sensitive" in the API will not 5823 // be included in the string output. The member name will be present, but the 5824 // value will be replaced with "sensitive". 5825 func (s DescribeSubscribersForNotificationOutput) GoString() string { 5826 return s.String() 5827 } 5828 5829 // SetNextToken sets the NextToken field's value. 5830 func (s *DescribeSubscribersForNotificationOutput) SetNextToken(v string) *DescribeSubscribersForNotificationOutput { 5831 s.NextToken = &v 5832 return s 5833 } 5834 5835 // SetSubscribers sets the Subscribers field's value. 5836 func (s *DescribeSubscribersForNotificationOutput) SetSubscribers(v []*Subscriber) *DescribeSubscribersForNotificationOutput { 5837 s.Subscribers = v 5838 return s 5839 } 5840 5841 // The budget name already exists. Budget names must be unique within an account. 5842 type DuplicateRecordException struct { 5843 _ struct{} `type:"structure"` 5844 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 5845 5846 // The error message the exception carries. 5847 Message_ *string `locationName:"Message" type:"string"` 5848 } 5849 5850 // String returns the string representation. 5851 // 5852 // API parameter values that are decorated as "sensitive" in the API will not 5853 // be included in the string output. The member name will be present, but the 5854 // value will be replaced with "sensitive". 5855 func (s DuplicateRecordException) String() string { 5856 return awsutil.Prettify(s) 5857 } 5858 5859 // GoString returns the string representation. 5860 // 5861 // API parameter values that are decorated as "sensitive" in the API will not 5862 // be included in the string output. The member name will be present, but the 5863 // value will be replaced with "sensitive". 5864 func (s DuplicateRecordException) GoString() string { 5865 return s.String() 5866 } 5867 5868 func newErrorDuplicateRecordException(v protocol.ResponseMetadata) error { 5869 return &DuplicateRecordException{ 5870 RespMetadata: v, 5871 } 5872 } 5873 5874 // Code returns the exception type name. 5875 func (s *DuplicateRecordException) Code() string { 5876 return "DuplicateRecordException" 5877 } 5878 5879 // Message returns the exception's message. 5880 func (s *DuplicateRecordException) Message() string { 5881 if s.Message_ != nil { 5882 return *s.Message_ 5883 } 5884 return "" 5885 } 5886 5887 // OrigErr always returns nil, satisfies awserr.Error interface. 5888 func (s *DuplicateRecordException) OrigErr() error { 5889 return nil 5890 } 5891 5892 func (s *DuplicateRecordException) Error() string { 5893 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 5894 } 5895 5896 // Status code returns the HTTP status code for the request's response error. 5897 func (s *DuplicateRecordException) StatusCode() int { 5898 return s.RespMetadata.StatusCode 5899 } 5900 5901 // RequestID returns the service's response RequestID for request. 5902 func (s *DuplicateRecordException) RequestID() string { 5903 return s.RespMetadata.RequestID 5904 } 5905 5906 type ExecuteBudgetActionInput struct { 5907 _ struct{} `type:"structure"` 5908 5909 // The account ID of the user. It should be a 12-digit number. 5910 // 5911 // AccountId is a required field 5912 AccountId *string `min:"12" type:"string" required:"true"` 5913 5914 // A system-generated universally unique identifier (UUID) for the action. 5915 // 5916 // ActionId is a required field 5917 ActionId *string `min:"36" type:"string" required:"true"` 5918 5919 // A string that represents the budget name. The ":" and "\" characters aren't 5920 // allowed. 5921 // 5922 // BudgetName is a required field 5923 BudgetName *string `min:"1" type:"string" required:"true"` 5924 5925 // The type of execution. 5926 // 5927 // ExecutionType is a required field 5928 ExecutionType *string `type:"string" required:"true" enum:"ExecutionType"` 5929 } 5930 5931 // String returns the string representation. 5932 // 5933 // API parameter values that are decorated as "sensitive" in the API will not 5934 // be included in the string output. The member name will be present, but the 5935 // value will be replaced with "sensitive". 5936 func (s ExecuteBudgetActionInput) String() string { 5937 return awsutil.Prettify(s) 5938 } 5939 5940 // GoString returns the string representation. 5941 // 5942 // API parameter values that are decorated as "sensitive" in the API will not 5943 // be included in the string output. The member name will be present, but the 5944 // value will be replaced with "sensitive". 5945 func (s ExecuteBudgetActionInput) GoString() string { 5946 return s.String() 5947 } 5948 5949 // Validate inspects the fields of the type to determine if they are valid. 5950 func (s *ExecuteBudgetActionInput) Validate() error { 5951 invalidParams := request.ErrInvalidParams{Context: "ExecuteBudgetActionInput"} 5952 if s.AccountId == nil { 5953 invalidParams.Add(request.NewErrParamRequired("AccountId")) 5954 } 5955 if s.AccountId != nil && len(*s.AccountId) < 12 { 5956 invalidParams.Add(request.NewErrParamMinLen("AccountId", 12)) 5957 } 5958 if s.ActionId == nil { 5959 invalidParams.Add(request.NewErrParamRequired("ActionId")) 5960 } 5961 if s.ActionId != nil && len(*s.ActionId) < 36 { 5962 invalidParams.Add(request.NewErrParamMinLen("ActionId", 36)) 5963 } 5964 if s.BudgetName == nil { 5965 invalidParams.Add(request.NewErrParamRequired("BudgetName")) 5966 } 5967 if s.BudgetName != nil && len(*s.BudgetName) < 1 { 5968 invalidParams.Add(request.NewErrParamMinLen("BudgetName", 1)) 5969 } 5970 if s.ExecutionType == nil { 5971 invalidParams.Add(request.NewErrParamRequired("ExecutionType")) 5972 } 5973 5974 if invalidParams.Len() > 0 { 5975 return invalidParams 5976 } 5977 return nil 5978 } 5979 5980 // SetAccountId sets the AccountId field's value. 5981 func (s *ExecuteBudgetActionInput) SetAccountId(v string) *ExecuteBudgetActionInput { 5982 s.AccountId = &v 5983 return s 5984 } 5985 5986 // SetActionId sets the ActionId field's value. 5987 func (s *ExecuteBudgetActionInput) SetActionId(v string) *ExecuteBudgetActionInput { 5988 s.ActionId = &v 5989 return s 5990 } 5991 5992 // SetBudgetName sets the BudgetName field's value. 5993 func (s *ExecuteBudgetActionInput) SetBudgetName(v string) *ExecuteBudgetActionInput { 5994 s.BudgetName = &v 5995 return s 5996 } 5997 5998 // SetExecutionType sets the ExecutionType field's value. 5999 func (s *ExecuteBudgetActionInput) SetExecutionType(v string) *ExecuteBudgetActionInput { 6000 s.ExecutionType = &v 6001 return s 6002 } 6003 6004 type ExecuteBudgetActionOutput struct { 6005 _ struct{} `type:"structure"` 6006 6007 // The account ID of the user. It should be a 12-digit number. 6008 // 6009 // AccountId is a required field 6010 AccountId *string `min:"12" type:"string" required:"true"` 6011 6012 // A system-generated universally unique identifier (UUID) for the action. 6013 // 6014 // ActionId is a required field 6015 ActionId *string `min:"36" type:"string" required:"true"` 6016 6017 // A string that represents the budget name. The ":" and "\" characters aren't 6018 // allowed. 6019 // 6020 // BudgetName is a required field 6021 BudgetName *string `min:"1" type:"string" required:"true"` 6022 6023 // The type of execution. 6024 // 6025 // ExecutionType is a required field 6026 ExecutionType *string `type:"string" required:"true" enum:"ExecutionType"` 6027 } 6028 6029 // String returns the string representation. 6030 // 6031 // API parameter values that are decorated as "sensitive" in the API will not 6032 // be included in the string output. The member name will be present, but the 6033 // value will be replaced with "sensitive". 6034 func (s ExecuteBudgetActionOutput) String() string { 6035 return awsutil.Prettify(s) 6036 } 6037 6038 // GoString returns the string representation. 6039 // 6040 // API parameter values that are decorated as "sensitive" in the API will not 6041 // be included in the string output. The member name will be present, but the 6042 // value will be replaced with "sensitive". 6043 func (s ExecuteBudgetActionOutput) GoString() string { 6044 return s.String() 6045 } 6046 6047 // SetAccountId sets the AccountId field's value. 6048 func (s *ExecuteBudgetActionOutput) SetAccountId(v string) *ExecuteBudgetActionOutput { 6049 s.AccountId = &v 6050 return s 6051 } 6052 6053 // SetActionId sets the ActionId field's value. 6054 func (s *ExecuteBudgetActionOutput) SetActionId(v string) *ExecuteBudgetActionOutput { 6055 s.ActionId = &v 6056 return s 6057 } 6058 6059 // SetBudgetName sets the BudgetName field's value. 6060 func (s *ExecuteBudgetActionOutput) SetBudgetName(v string) *ExecuteBudgetActionOutput { 6061 s.BudgetName = &v 6062 return s 6063 } 6064 6065 // SetExecutionType sets the ExecutionType field's value. 6066 func (s *ExecuteBudgetActionOutput) SetExecutionType(v string) *ExecuteBudgetActionOutput { 6067 s.ExecutionType = &v 6068 return s 6069 } 6070 6071 // The pagination token expired. 6072 type ExpiredNextTokenException struct { 6073 _ struct{} `type:"structure"` 6074 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 6075 6076 // The error message the exception carries. 6077 Message_ *string `locationName:"Message" type:"string"` 6078 } 6079 6080 // String returns the string representation. 6081 // 6082 // API parameter values that are decorated as "sensitive" in the API will not 6083 // be included in the string output. The member name will be present, but the 6084 // value will be replaced with "sensitive". 6085 func (s ExpiredNextTokenException) String() string { 6086 return awsutil.Prettify(s) 6087 } 6088 6089 // GoString returns the string representation. 6090 // 6091 // API parameter values that are decorated as "sensitive" in the API will not 6092 // be included in the string output. The member name will be present, but the 6093 // value will be replaced with "sensitive". 6094 func (s ExpiredNextTokenException) GoString() string { 6095 return s.String() 6096 } 6097 6098 func newErrorExpiredNextTokenException(v protocol.ResponseMetadata) error { 6099 return &ExpiredNextTokenException{ 6100 RespMetadata: v, 6101 } 6102 } 6103 6104 // Code returns the exception type name. 6105 func (s *ExpiredNextTokenException) Code() string { 6106 return "ExpiredNextTokenException" 6107 } 6108 6109 // Message returns the exception's message. 6110 func (s *ExpiredNextTokenException) Message() string { 6111 if s.Message_ != nil { 6112 return *s.Message_ 6113 } 6114 return "" 6115 } 6116 6117 // OrigErr always returns nil, satisfies awserr.Error interface. 6118 func (s *ExpiredNextTokenException) OrigErr() error { 6119 return nil 6120 } 6121 6122 func (s *ExpiredNextTokenException) Error() string { 6123 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 6124 } 6125 6126 // Status code returns the HTTP status code for the request's response error. 6127 func (s *ExpiredNextTokenException) StatusCode() int { 6128 return s.RespMetadata.StatusCode 6129 } 6130 6131 // RequestID returns the service's response RequestID for request. 6132 func (s *ExpiredNextTokenException) RequestID() string { 6133 return s.RespMetadata.RequestID 6134 } 6135 6136 // The AWS Identity and Access Management (IAM) action definition details. 6137 type IamActionDefinition struct { 6138 _ struct{} `type:"structure"` 6139 6140 // A list of groups to be attached. There must be at least one group. 6141 Groups []*string `min:"1" type:"list"` 6142 6143 // The Amazon Resource Name (ARN) of the policy to be attached. 6144 // 6145 // PolicyArn is a required field 6146 PolicyArn *string `min:"25" type:"string" required:"true"` 6147 6148 // A list of roles to be attached. There must be at least one role. 6149 Roles []*string `min:"1" type:"list"` 6150 6151 // A list of users to be attached. There must be at least one user. 6152 Users []*string `min:"1" type:"list"` 6153 } 6154 6155 // String returns the string representation. 6156 // 6157 // API parameter values that are decorated as "sensitive" in the API will not 6158 // be included in the string output. The member name will be present, but the 6159 // value will be replaced with "sensitive". 6160 func (s IamActionDefinition) String() string { 6161 return awsutil.Prettify(s) 6162 } 6163 6164 // GoString returns the string representation. 6165 // 6166 // API parameter values that are decorated as "sensitive" in the API will not 6167 // be included in the string output. The member name will be present, but the 6168 // value will be replaced with "sensitive". 6169 func (s IamActionDefinition) GoString() string { 6170 return s.String() 6171 } 6172 6173 // Validate inspects the fields of the type to determine if they are valid. 6174 func (s *IamActionDefinition) Validate() error { 6175 invalidParams := request.ErrInvalidParams{Context: "IamActionDefinition"} 6176 if s.Groups != nil && len(s.Groups) < 1 { 6177 invalidParams.Add(request.NewErrParamMinLen("Groups", 1)) 6178 } 6179 if s.PolicyArn == nil { 6180 invalidParams.Add(request.NewErrParamRequired("PolicyArn")) 6181 } 6182 if s.PolicyArn != nil && len(*s.PolicyArn) < 25 { 6183 invalidParams.Add(request.NewErrParamMinLen("PolicyArn", 25)) 6184 } 6185 if s.Roles != nil && len(s.Roles) < 1 { 6186 invalidParams.Add(request.NewErrParamMinLen("Roles", 1)) 6187 } 6188 if s.Users != nil && len(s.Users) < 1 { 6189 invalidParams.Add(request.NewErrParamMinLen("Users", 1)) 6190 } 6191 6192 if invalidParams.Len() > 0 { 6193 return invalidParams 6194 } 6195 return nil 6196 } 6197 6198 // SetGroups sets the Groups field's value. 6199 func (s *IamActionDefinition) SetGroups(v []*string) *IamActionDefinition { 6200 s.Groups = v 6201 return s 6202 } 6203 6204 // SetPolicyArn sets the PolicyArn field's value. 6205 func (s *IamActionDefinition) SetPolicyArn(v string) *IamActionDefinition { 6206 s.PolicyArn = &v 6207 return s 6208 } 6209 6210 // SetRoles sets the Roles field's value. 6211 func (s *IamActionDefinition) SetRoles(v []*string) *IamActionDefinition { 6212 s.Roles = v 6213 return s 6214 } 6215 6216 // SetUsers sets the Users field's value. 6217 func (s *IamActionDefinition) SetUsers(v []*string) *IamActionDefinition { 6218 s.Users = v 6219 return s 6220 } 6221 6222 // An error on the server occurred during the processing of your request. Try 6223 // again later. 6224 type InternalErrorException struct { 6225 _ struct{} `type:"structure"` 6226 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 6227 6228 // The error message the exception carries. 6229 Message_ *string `locationName:"Message" type:"string"` 6230 } 6231 6232 // String returns the string representation. 6233 // 6234 // API parameter values that are decorated as "sensitive" in the API will not 6235 // be included in the string output. The member name will be present, but the 6236 // value will be replaced with "sensitive". 6237 func (s InternalErrorException) String() string { 6238 return awsutil.Prettify(s) 6239 } 6240 6241 // GoString returns the string representation. 6242 // 6243 // API parameter values that are decorated as "sensitive" in the API will not 6244 // be included in the string output. The member name will be present, but the 6245 // value will be replaced with "sensitive". 6246 func (s InternalErrorException) GoString() string { 6247 return s.String() 6248 } 6249 6250 func newErrorInternalErrorException(v protocol.ResponseMetadata) error { 6251 return &InternalErrorException{ 6252 RespMetadata: v, 6253 } 6254 } 6255 6256 // Code returns the exception type name. 6257 func (s *InternalErrorException) Code() string { 6258 return "InternalErrorException" 6259 } 6260 6261 // Message returns the exception's message. 6262 func (s *InternalErrorException) Message() string { 6263 if s.Message_ != nil { 6264 return *s.Message_ 6265 } 6266 return "" 6267 } 6268 6269 // OrigErr always returns nil, satisfies awserr.Error interface. 6270 func (s *InternalErrorException) OrigErr() error { 6271 return nil 6272 } 6273 6274 func (s *InternalErrorException) Error() string { 6275 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 6276 } 6277 6278 // Status code returns the HTTP status code for the request's response error. 6279 func (s *InternalErrorException) StatusCode() int { 6280 return s.RespMetadata.StatusCode 6281 } 6282 6283 // RequestID returns the service's response RequestID for request. 6284 func (s *InternalErrorException) RequestID() string { 6285 return s.RespMetadata.RequestID 6286 } 6287 6288 // The pagination token is invalid. 6289 type InvalidNextTokenException struct { 6290 _ struct{} `type:"structure"` 6291 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 6292 6293 // The error message the exception carries. 6294 Message_ *string `locationName:"Message" type:"string"` 6295 } 6296 6297 // String returns the string representation. 6298 // 6299 // API parameter values that are decorated as "sensitive" in the API will not 6300 // be included in the string output. The member name will be present, but the 6301 // value will be replaced with "sensitive". 6302 func (s InvalidNextTokenException) String() string { 6303 return awsutil.Prettify(s) 6304 } 6305 6306 // GoString returns the string representation. 6307 // 6308 // API parameter values that are decorated as "sensitive" in the API will not 6309 // be included in the string output. The member name will be present, but the 6310 // value will be replaced with "sensitive". 6311 func (s InvalidNextTokenException) GoString() string { 6312 return s.String() 6313 } 6314 6315 func newErrorInvalidNextTokenException(v protocol.ResponseMetadata) error { 6316 return &InvalidNextTokenException{ 6317 RespMetadata: v, 6318 } 6319 } 6320 6321 // Code returns the exception type name. 6322 func (s *InvalidNextTokenException) Code() string { 6323 return "InvalidNextTokenException" 6324 } 6325 6326 // Message returns the exception's message. 6327 func (s *InvalidNextTokenException) Message() string { 6328 if s.Message_ != nil { 6329 return *s.Message_ 6330 } 6331 return "" 6332 } 6333 6334 // OrigErr always returns nil, satisfies awserr.Error interface. 6335 func (s *InvalidNextTokenException) OrigErr() error { 6336 return nil 6337 } 6338 6339 func (s *InvalidNextTokenException) Error() string { 6340 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 6341 } 6342 6343 // Status code returns the HTTP status code for the request's response error. 6344 func (s *InvalidNextTokenException) StatusCode() int { 6345 return s.RespMetadata.StatusCode 6346 } 6347 6348 // RequestID returns the service's response RequestID for request. 6349 func (s *InvalidNextTokenException) RequestID() string { 6350 return s.RespMetadata.RequestID 6351 } 6352 6353 // An error on the client occurred. Typically, the cause is an invalid input 6354 // value. 6355 type InvalidParameterException struct { 6356 _ struct{} `type:"structure"` 6357 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 6358 6359 // The error message the exception carries. 6360 Message_ *string `locationName:"Message" type:"string"` 6361 } 6362 6363 // String returns the string representation. 6364 // 6365 // API parameter values that are decorated as "sensitive" in the API will not 6366 // be included in the string output. The member name will be present, but the 6367 // value will be replaced with "sensitive". 6368 func (s InvalidParameterException) String() string { 6369 return awsutil.Prettify(s) 6370 } 6371 6372 // GoString returns the string representation. 6373 // 6374 // API parameter values that are decorated as "sensitive" in the API will not 6375 // be included in the string output. The member name will be present, but the 6376 // value will be replaced with "sensitive". 6377 func (s InvalidParameterException) GoString() string { 6378 return s.String() 6379 } 6380 6381 func newErrorInvalidParameterException(v protocol.ResponseMetadata) error { 6382 return &InvalidParameterException{ 6383 RespMetadata: v, 6384 } 6385 } 6386 6387 // Code returns the exception type name. 6388 func (s *InvalidParameterException) Code() string { 6389 return "InvalidParameterException" 6390 } 6391 6392 // Message returns the exception's message. 6393 func (s *InvalidParameterException) Message() string { 6394 if s.Message_ != nil { 6395 return *s.Message_ 6396 } 6397 return "" 6398 } 6399 6400 // OrigErr always returns nil, satisfies awserr.Error interface. 6401 func (s *InvalidParameterException) OrigErr() error { 6402 return nil 6403 } 6404 6405 func (s *InvalidParameterException) Error() string { 6406 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 6407 } 6408 6409 // Status code returns the HTTP status code for the request's response error. 6410 func (s *InvalidParameterException) StatusCode() int { 6411 return s.RespMetadata.StatusCode 6412 } 6413 6414 // RequestID returns the service's response RequestID for request. 6415 func (s *InvalidParameterException) RequestID() string { 6416 return s.RespMetadata.RequestID 6417 } 6418 6419 // We can’t locate the resource that you specified. 6420 type NotFoundException struct { 6421 _ struct{} `type:"structure"` 6422 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 6423 6424 // The error message the exception carries. 6425 Message_ *string `locationName:"Message" type:"string"` 6426 } 6427 6428 // String returns the string representation. 6429 // 6430 // API parameter values that are decorated as "sensitive" in the API will not 6431 // be included in the string output. The member name will be present, but the 6432 // value will be replaced with "sensitive". 6433 func (s NotFoundException) String() string { 6434 return awsutil.Prettify(s) 6435 } 6436 6437 // GoString returns the string representation. 6438 // 6439 // API parameter values that are decorated as "sensitive" in the API will not 6440 // be included in the string output. The member name will be present, but the 6441 // value will be replaced with "sensitive". 6442 func (s NotFoundException) GoString() string { 6443 return s.String() 6444 } 6445 6446 func newErrorNotFoundException(v protocol.ResponseMetadata) error { 6447 return &NotFoundException{ 6448 RespMetadata: v, 6449 } 6450 } 6451 6452 // Code returns the exception type name. 6453 func (s *NotFoundException) Code() string { 6454 return "NotFoundException" 6455 } 6456 6457 // Message returns the exception's message. 6458 func (s *NotFoundException) Message() string { 6459 if s.Message_ != nil { 6460 return *s.Message_ 6461 } 6462 return "" 6463 } 6464 6465 // OrigErr always returns nil, satisfies awserr.Error interface. 6466 func (s *NotFoundException) OrigErr() error { 6467 return nil 6468 } 6469 6470 func (s *NotFoundException) Error() string { 6471 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 6472 } 6473 6474 // Status code returns the HTTP status code for the request's response error. 6475 func (s *NotFoundException) StatusCode() int { 6476 return s.RespMetadata.StatusCode 6477 } 6478 6479 // RequestID returns the service's response RequestID for request. 6480 func (s *NotFoundException) RequestID() string { 6481 return s.RespMetadata.RequestID 6482 } 6483 6484 // A notification that is associated with a budget. A budget can have up to 6485 // ten notifications. 6486 // 6487 // Each notification must have at least one subscriber. A notification can have 6488 // one SNS subscriber and up to 10 email subscribers, for a total of 11 subscribers. 6489 // 6490 // For example, if you have a budget for 200 dollars and you want to be notified 6491 // when you go over 160 dollars, create a notification with the following parameters: 6492 // 6493 // * A notificationType of ACTUAL 6494 // 6495 // * A thresholdType of PERCENTAGE 6496 // 6497 // * A comparisonOperator of GREATER_THAN 6498 // 6499 // * A notification threshold of 80 6500 type Notification struct { 6501 _ struct{} `type:"structure"` 6502 6503 // The comparison that is used for this notification. 6504 // 6505 // ComparisonOperator is a required field 6506 ComparisonOperator *string `type:"string" required:"true" enum:"ComparisonOperator"` 6507 6508 // Whether this notification is in alarm. If a budget notification is in the 6509 // ALARM state, you have passed the set threshold for the budget. 6510 NotificationState *string `type:"string" enum:"NotificationState"` 6511 6512 // Whether the notification is for how much you have spent (ACTUAL) or for how 6513 // much you're forecasted to spend (FORECASTED). 6514 // 6515 // NotificationType is a required field 6516 NotificationType *string `type:"string" required:"true" enum:"NotificationType"` 6517 6518 // The threshold that is associated with a notification. Thresholds are always 6519 // a percentage, and many customers find value being alerted between 50% - 200% 6520 // of the budgeted amount. The maximum limit for your threshold is 1,000,000% 6521 // above the budgeted amount. 6522 // 6523 // Threshold is a required field 6524 Threshold *float64 `type:"double" required:"true"` 6525 6526 // The type of threshold for a notification. For ABSOLUTE_VALUE thresholds, 6527 // AWS notifies you when you go over or are forecasted to go over your total 6528 // cost threshold. For PERCENTAGE thresholds, AWS notifies you when you go over 6529 // or are forecasted to go over a certain percentage of your forecasted spend. 6530 // For example, if you have a budget for 200 dollars and you have a PERCENTAGE 6531 // threshold of 80%, AWS notifies you when you go over 160 dollars. 6532 ThresholdType *string `type:"string" enum:"ThresholdType"` 6533 } 6534 6535 // String returns the string representation. 6536 // 6537 // API parameter values that are decorated as "sensitive" in the API will not 6538 // be included in the string output. The member name will be present, but the 6539 // value will be replaced with "sensitive". 6540 func (s Notification) String() string { 6541 return awsutil.Prettify(s) 6542 } 6543 6544 // GoString returns the string representation. 6545 // 6546 // API parameter values that are decorated as "sensitive" in the API will not 6547 // be included in the string output. The member name will be present, but the 6548 // value will be replaced with "sensitive". 6549 func (s Notification) GoString() string { 6550 return s.String() 6551 } 6552 6553 // Validate inspects the fields of the type to determine if they are valid. 6554 func (s *Notification) Validate() error { 6555 invalidParams := request.ErrInvalidParams{Context: "Notification"} 6556 if s.ComparisonOperator == nil { 6557 invalidParams.Add(request.NewErrParamRequired("ComparisonOperator")) 6558 } 6559 if s.NotificationType == nil { 6560 invalidParams.Add(request.NewErrParamRequired("NotificationType")) 6561 } 6562 if s.Threshold == nil { 6563 invalidParams.Add(request.NewErrParamRequired("Threshold")) 6564 } 6565 6566 if invalidParams.Len() > 0 { 6567 return invalidParams 6568 } 6569 return nil 6570 } 6571 6572 // SetComparisonOperator sets the ComparisonOperator field's value. 6573 func (s *Notification) SetComparisonOperator(v string) *Notification { 6574 s.ComparisonOperator = &v 6575 return s 6576 } 6577 6578 // SetNotificationState sets the NotificationState field's value. 6579 func (s *Notification) SetNotificationState(v string) *Notification { 6580 s.NotificationState = &v 6581 return s 6582 } 6583 6584 // SetNotificationType sets the NotificationType field's value. 6585 func (s *Notification) SetNotificationType(v string) *Notification { 6586 s.NotificationType = &v 6587 return s 6588 } 6589 6590 // SetThreshold sets the Threshold field's value. 6591 func (s *Notification) SetThreshold(v float64) *Notification { 6592 s.Threshold = &v 6593 return s 6594 } 6595 6596 // SetThresholdType sets the ThresholdType field's value. 6597 func (s *Notification) SetThresholdType(v string) *Notification { 6598 s.ThresholdType = &v 6599 return s 6600 } 6601 6602 // A notification with subscribers. A notification can have one SNS subscriber 6603 // and up to 10 email subscribers, for a total of 11 subscribers. 6604 type NotificationWithSubscribers struct { 6605 _ struct{} `type:"structure"` 6606 6607 // The notification that is associated with a budget. 6608 // 6609 // Notification is a required field 6610 Notification *Notification `type:"structure" required:"true"` 6611 6612 // A list of subscribers who are subscribed to this notification. 6613 // 6614 // Subscribers is a required field 6615 Subscribers []*Subscriber `min:"1" type:"list" required:"true"` 6616 } 6617 6618 // String returns the string representation. 6619 // 6620 // API parameter values that are decorated as "sensitive" in the API will not 6621 // be included in the string output. The member name will be present, but the 6622 // value will be replaced with "sensitive". 6623 func (s NotificationWithSubscribers) String() string { 6624 return awsutil.Prettify(s) 6625 } 6626 6627 // GoString returns the string representation. 6628 // 6629 // API parameter values that are decorated as "sensitive" in the API will not 6630 // be included in the string output. The member name will be present, but the 6631 // value will be replaced with "sensitive". 6632 func (s NotificationWithSubscribers) GoString() string { 6633 return s.String() 6634 } 6635 6636 // Validate inspects the fields of the type to determine if they are valid. 6637 func (s *NotificationWithSubscribers) Validate() error { 6638 invalidParams := request.ErrInvalidParams{Context: "NotificationWithSubscribers"} 6639 if s.Notification == nil { 6640 invalidParams.Add(request.NewErrParamRequired("Notification")) 6641 } 6642 if s.Subscribers == nil { 6643 invalidParams.Add(request.NewErrParamRequired("Subscribers")) 6644 } 6645 if s.Subscribers != nil && len(s.Subscribers) < 1 { 6646 invalidParams.Add(request.NewErrParamMinLen("Subscribers", 1)) 6647 } 6648 if s.Notification != nil { 6649 if err := s.Notification.Validate(); err != nil { 6650 invalidParams.AddNested("Notification", err.(request.ErrInvalidParams)) 6651 } 6652 } 6653 if s.Subscribers != nil { 6654 for i, v := range s.Subscribers { 6655 if v == nil { 6656 continue 6657 } 6658 if err := v.Validate(); err != nil { 6659 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Subscribers", i), err.(request.ErrInvalidParams)) 6660 } 6661 } 6662 } 6663 6664 if invalidParams.Len() > 0 { 6665 return invalidParams 6666 } 6667 return nil 6668 } 6669 6670 // SetNotification sets the Notification field's value. 6671 func (s *NotificationWithSubscribers) SetNotification(v *Notification) *NotificationWithSubscribers { 6672 s.Notification = v 6673 return s 6674 } 6675 6676 // SetSubscribers sets the Subscribers field's value. 6677 func (s *NotificationWithSubscribers) SetSubscribers(v []*Subscriber) *NotificationWithSubscribers { 6678 s.Subscribers = v 6679 return s 6680 } 6681 6682 // The request was received and recognized by the server, but the server rejected 6683 // that particular method for the requested resource. 6684 type ResourceLockedException struct { 6685 _ struct{} `type:"structure"` 6686 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 6687 6688 // The error message the exception carries. 6689 Message_ *string `locationName:"Message" type:"string"` 6690 } 6691 6692 // String returns the string representation. 6693 // 6694 // API parameter values that are decorated as "sensitive" in the API will not 6695 // be included in the string output. The member name will be present, but the 6696 // value will be replaced with "sensitive". 6697 func (s ResourceLockedException) String() string { 6698 return awsutil.Prettify(s) 6699 } 6700 6701 // GoString returns the string representation. 6702 // 6703 // API parameter values that are decorated as "sensitive" in the API will not 6704 // be included in the string output. The member name will be present, but the 6705 // value will be replaced with "sensitive". 6706 func (s ResourceLockedException) GoString() string { 6707 return s.String() 6708 } 6709 6710 func newErrorResourceLockedException(v protocol.ResponseMetadata) error { 6711 return &ResourceLockedException{ 6712 RespMetadata: v, 6713 } 6714 } 6715 6716 // Code returns the exception type name. 6717 func (s *ResourceLockedException) Code() string { 6718 return "ResourceLockedException" 6719 } 6720 6721 // Message returns the exception's message. 6722 func (s *ResourceLockedException) Message() string { 6723 if s.Message_ != nil { 6724 return *s.Message_ 6725 } 6726 return "" 6727 } 6728 6729 // OrigErr always returns nil, satisfies awserr.Error interface. 6730 func (s *ResourceLockedException) OrigErr() error { 6731 return nil 6732 } 6733 6734 func (s *ResourceLockedException) Error() string { 6735 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 6736 } 6737 6738 // Status code returns the HTTP status code for the request's response error. 6739 func (s *ResourceLockedException) StatusCode() int { 6740 return s.RespMetadata.StatusCode 6741 } 6742 6743 // RequestID returns the service's response RequestID for request. 6744 func (s *ResourceLockedException) RequestID() string { 6745 return s.RespMetadata.RequestID 6746 } 6747 6748 // The service control policies (SCP) action definition details. 6749 type ScpActionDefinition struct { 6750 _ struct{} `type:"structure"` 6751 6752 // The policy ID attached. 6753 // 6754 // PolicyId is a required field 6755 PolicyId *string `min:"10" type:"string" required:"true"` 6756 6757 // A list of target IDs. 6758 // 6759 // TargetIds is a required field 6760 TargetIds []*string `min:"1" type:"list" required:"true"` 6761 } 6762 6763 // String returns the string representation. 6764 // 6765 // API parameter values that are decorated as "sensitive" in the API will not 6766 // be included in the string output. The member name will be present, but the 6767 // value will be replaced with "sensitive". 6768 func (s ScpActionDefinition) String() string { 6769 return awsutil.Prettify(s) 6770 } 6771 6772 // GoString returns the string representation. 6773 // 6774 // API parameter values that are decorated as "sensitive" in the API will not 6775 // be included in the string output. The member name will be present, but the 6776 // value will be replaced with "sensitive". 6777 func (s ScpActionDefinition) GoString() string { 6778 return s.String() 6779 } 6780 6781 // Validate inspects the fields of the type to determine if they are valid. 6782 func (s *ScpActionDefinition) Validate() error { 6783 invalidParams := request.ErrInvalidParams{Context: "ScpActionDefinition"} 6784 if s.PolicyId == nil { 6785 invalidParams.Add(request.NewErrParamRequired("PolicyId")) 6786 } 6787 if s.PolicyId != nil && len(*s.PolicyId) < 10 { 6788 invalidParams.Add(request.NewErrParamMinLen("PolicyId", 10)) 6789 } 6790 if s.TargetIds == nil { 6791 invalidParams.Add(request.NewErrParamRequired("TargetIds")) 6792 } 6793 if s.TargetIds != nil && len(s.TargetIds) < 1 { 6794 invalidParams.Add(request.NewErrParamMinLen("TargetIds", 1)) 6795 } 6796 6797 if invalidParams.Len() > 0 { 6798 return invalidParams 6799 } 6800 return nil 6801 } 6802 6803 // SetPolicyId sets the PolicyId field's value. 6804 func (s *ScpActionDefinition) SetPolicyId(v string) *ScpActionDefinition { 6805 s.PolicyId = &v 6806 return s 6807 } 6808 6809 // SetTargetIds sets the TargetIds field's value. 6810 func (s *ScpActionDefinition) SetTargetIds(v []*string) *ScpActionDefinition { 6811 s.TargetIds = v 6812 return s 6813 } 6814 6815 // The amount of cost or usage that is measured for a budget. 6816 // 6817 // For example, a Spend for 3 GB of S3 usage would have the following parameters: 6818 // 6819 // * An Amount of 3 6820 // 6821 // * A unit of GB 6822 type Spend struct { 6823 _ struct{} `type:"structure"` 6824 6825 // The cost or usage amount that is associated with a budget forecast, actual 6826 // spend, or budget threshold. 6827 // 6828 // Amount is a required field 6829 Amount *string `min:"1" type:"string" required:"true"` 6830 6831 // The unit of measurement that is used for the budget forecast, actual spend, 6832 // or budget threshold, such as dollars or GB. 6833 // 6834 // Unit is a required field 6835 Unit *string `min:"1" type:"string" required:"true"` 6836 } 6837 6838 // String returns the string representation. 6839 // 6840 // API parameter values that are decorated as "sensitive" in the API will not 6841 // be included in the string output. The member name will be present, but the 6842 // value will be replaced with "sensitive". 6843 func (s Spend) String() string { 6844 return awsutil.Prettify(s) 6845 } 6846 6847 // GoString returns the string representation. 6848 // 6849 // API parameter values that are decorated as "sensitive" in the API will not 6850 // be included in the string output. The member name will be present, but the 6851 // value will be replaced with "sensitive". 6852 func (s Spend) GoString() string { 6853 return s.String() 6854 } 6855 6856 // Validate inspects the fields of the type to determine if they are valid. 6857 func (s *Spend) Validate() error { 6858 invalidParams := request.ErrInvalidParams{Context: "Spend"} 6859 if s.Amount == nil { 6860 invalidParams.Add(request.NewErrParamRequired("Amount")) 6861 } 6862 if s.Amount != nil && len(*s.Amount) < 1 { 6863 invalidParams.Add(request.NewErrParamMinLen("Amount", 1)) 6864 } 6865 if s.Unit == nil { 6866 invalidParams.Add(request.NewErrParamRequired("Unit")) 6867 } 6868 if s.Unit != nil && len(*s.Unit) < 1 { 6869 invalidParams.Add(request.NewErrParamMinLen("Unit", 1)) 6870 } 6871 6872 if invalidParams.Len() > 0 { 6873 return invalidParams 6874 } 6875 return nil 6876 } 6877 6878 // SetAmount sets the Amount field's value. 6879 func (s *Spend) SetAmount(v string) *Spend { 6880 s.Amount = &v 6881 return s 6882 } 6883 6884 // SetUnit sets the Unit field's value. 6885 func (s *Spend) SetUnit(v string) *Spend { 6886 s.Unit = &v 6887 return s 6888 } 6889 6890 // The AWS Systems Manager (SSM) action definition details. 6891 type SsmActionDefinition struct { 6892 _ struct{} `type:"structure"` 6893 6894 // The action subType. 6895 // 6896 // ActionSubType is a required field 6897 ActionSubType *string `type:"string" required:"true" enum:"ActionSubType"` 6898 6899 // The EC2 and RDS instance IDs. 6900 // 6901 // InstanceIds is a required field 6902 InstanceIds []*string `min:"1" type:"list" required:"true"` 6903 6904 // The Region to run the SSM document. 6905 // 6906 // Region is a required field 6907 Region *string `min:"9" type:"string" required:"true"` 6908 } 6909 6910 // String returns the string representation. 6911 // 6912 // API parameter values that are decorated as "sensitive" in the API will not 6913 // be included in the string output. The member name will be present, but the 6914 // value will be replaced with "sensitive". 6915 func (s SsmActionDefinition) String() string { 6916 return awsutil.Prettify(s) 6917 } 6918 6919 // GoString returns the string representation. 6920 // 6921 // API parameter values that are decorated as "sensitive" in the API will not 6922 // be included in the string output. The member name will be present, but the 6923 // value will be replaced with "sensitive". 6924 func (s SsmActionDefinition) GoString() string { 6925 return s.String() 6926 } 6927 6928 // Validate inspects the fields of the type to determine if they are valid. 6929 func (s *SsmActionDefinition) Validate() error { 6930 invalidParams := request.ErrInvalidParams{Context: "SsmActionDefinition"} 6931 if s.ActionSubType == nil { 6932 invalidParams.Add(request.NewErrParamRequired("ActionSubType")) 6933 } 6934 if s.InstanceIds == nil { 6935 invalidParams.Add(request.NewErrParamRequired("InstanceIds")) 6936 } 6937 if s.InstanceIds != nil && len(s.InstanceIds) < 1 { 6938 invalidParams.Add(request.NewErrParamMinLen("InstanceIds", 1)) 6939 } 6940 if s.Region == nil { 6941 invalidParams.Add(request.NewErrParamRequired("Region")) 6942 } 6943 if s.Region != nil && len(*s.Region) < 9 { 6944 invalidParams.Add(request.NewErrParamMinLen("Region", 9)) 6945 } 6946 6947 if invalidParams.Len() > 0 { 6948 return invalidParams 6949 } 6950 return nil 6951 } 6952 6953 // SetActionSubType sets the ActionSubType field's value. 6954 func (s *SsmActionDefinition) SetActionSubType(v string) *SsmActionDefinition { 6955 s.ActionSubType = &v 6956 return s 6957 } 6958 6959 // SetInstanceIds sets the InstanceIds field's value. 6960 func (s *SsmActionDefinition) SetInstanceIds(v []*string) *SsmActionDefinition { 6961 s.InstanceIds = v 6962 return s 6963 } 6964 6965 // SetRegion sets the Region field's value. 6966 func (s *SsmActionDefinition) SetRegion(v string) *SsmActionDefinition { 6967 s.Region = &v 6968 return s 6969 } 6970 6971 // The subscriber to a budget notification. The subscriber consists of a subscription 6972 // type and either an Amazon SNS topic or an email address. 6973 // 6974 // For example, an email subscriber would have the following parameters: 6975 // 6976 // * A subscriptionType of EMAIL 6977 // 6978 // * An address of example@example.com 6979 type Subscriber struct { 6980 _ struct{} `type:"structure"` 6981 6982 // The address that AWS sends budget notifications to, either an SNS topic or 6983 // an email. 6984 // 6985 // When you create a subscriber, the value of Address can't contain line breaks. 6986 // 6987 // Address is a sensitive parameter and its value will be 6988 // replaced with "sensitive" in string returned by Subscriber's 6989 // String and GoString methods. 6990 // 6991 // Address is a required field 6992 Address *string `min:"1" type:"string" required:"true" sensitive:"true"` 6993 6994 // The type of notification that AWS sends to a subscriber. 6995 // 6996 // SubscriptionType is a required field 6997 SubscriptionType *string `type:"string" required:"true" enum:"SubscriptionType"` 6998 } 6999 7000 // String returns the string representation. 7001 // 7002 // API parameter values that are decorated as "sensitive" in the API will not 7003 // be included in the string output. The member name will be present, but the 7004 // value will be replaced with "sensitive". 7005 func (s Subscriber) String() string { 7006 return awsutil.Prettify(s) 7007 } 7008 7009 // GoString returns the string representation. 7010 // 7011 // API parameter values that are decorated as "sensitive" in the API will not 7012 // be included in the string output. The member name will be present, but the 7013 // value will be replaced with "sensitive". 7014 func (s Subscriber) GoString() string { 7015 return s.String() 7016 } 7017 7018 // Validate inspects the fields of the type to determine if they are valid. 7019 func (s *Subscriber) Validate() error { 7020 invalidParams := request.ErrInvalidParams{Context: "Subscriber"} 7021 if s.Address == nil { 7022 invalidParams.Add(request.NewErrParamRequired("Address")) 7023 } 7024 if s.Address != nil && len(*s.Address) < 1 { 7025 invalidParams.Add(request.NewErrParamMinLen("Address", 1)) 7026 } 7027 if s.SubscriptionType == nil { 7028 invalidParams.Add(request.NewErrParamRequired("SubscriptionType")) 7029 } 7030 7031 if invalidParams.Len() > 0 { 7032 return invalidParams 7033 } 7034 return nil 7035 } 7036 7037 // SetAddress sets the Address field's value. 7038 func (s *Subscriber) SetAddress(v string) *Subscriber { 7039 s.Address = &v 7040 return s 7041 } 7042 7043 // SetSubscriptionType sets the SubscriptionType field's value. 7044 func (s *Subscriber) SetSubscriptionType(v string) *Subscriber { 7045 s.SubscriptionType = &v 7046 return s 7047 } 7048 7049 // The period of time that is covered by a budget. The period has a start date 7050 // and an end date. The start date must come before the end date. There are 7051 // no restrictions on the end date. 7052 type TimePeriod struct { 7053 _ struct{} `type:"structure"` 7054 7055 // The end date for a budget. If you didn't specify an end date, AWS set your 7056 // end date to 06/15/87 00:00 UTC. The defaults are the same for the AWS Billing 7057 // and Cost Management console and the API. 7058 // 7059 // After the end date, AWS deletes the budget and all associated notifications 7060 // and subscribers. You can change your end date with the UpdateBudget operation. 7061 End *time.Time `type:"timestamp"` 7062 7063 // The start date for a budget. If you created your budget and didn't specify 7064 // a start date, AWS defaults to the start of your chosen time period (DAILY, 7065 // MONTHLY, QUARTERLY, or ANNUALLY). For example, if you created your budget 7066 // on January 24, 2018, chose DAILY, and didn't set a start date, AWS set your 7067 // start date to 01/24/18 00:00 UTC. If you chose MONTHLY, AWS set your start 7068 // date to 01/01/18 00:00 UTC. The defaults are the same for the AWS Billing 7069 // and Cost Management console and the API. 7070 // 7071 // You can change your start date with the UpdateBudget operation. 7072 Start *time.Time `type:"timestamp"` 7073 } 7074 7075 // String returns the string representation. 7076 // 7077 // API parameter values that are decorated as "sensitive" in the API will not 7078 // be included in the string output. The member name will be present, but the 7079 // value will be replaced with "sensitive". 7080 func (s TimePeriod) String() string { 7081 return awsutil.Prettify(s) 7082 } 7083 7084 // GoString returns the string representation. 7085 // 7086 // API parameter values that are decorated as "sensitive" in the API will not 7087 // be included in the string output. The member name will be present, but the 7088 // value will be replaced with "sensitive". 7089 func (s TimePeriod) GoString() string { 7090 return s.String() 7091 } 7092 7093 // SetEnd sets the End field's value. 7094 func (s *TimePeriod) SetEnd(v time.Time) *TimePeriod { 7095 s.End = &v 7096 return s 7097 } 7098 7099 // SetStart sets the Start field's value. 7100 func (s *TimePeriod) SetStart(v time.Time) *TimePeriod { 7101 s.Start = &v 7102 return s 7103 } 7104 7105 type UpdateBudgetActionInput struct { 7106 _ struct{} `type:"structure"` 7107 7108 // The account ID of the user. It should be a 12-digit number. 7109 // 7110 // AccountId is a required field 7111 AccountId *string `min:"12" type:"string" required:"true"` 7112 7113 // A system-generated universally unique identifier (UUID) for the action. 7114 // 7115 // ActionId is a required field 7116 ActionId *string `min:"36" type:"string" required:"true"` 7117 7118 // The trigger threshold of the action. 7119 ActionThreshold *ActionThreshold `type:"structure"` 7120 7121 // This specifies if the action needs manual or automatic approval. 7122 ApprovalModel *string `type:"string" enum:"ApprovalModel"` 7123 7124 // A string that represents the budget name. The ":" and "\" characters aren't 7125 // allowed. 7126 // 7127 // BudgetName is a required field 7128 BudgetName *string `min:"1" type:"string" required:"true"` 7129 7130 // Specifies all of the type-specific parameters. 7131 Definition *Definition `type:"structure"` 7132 7133 // The role passed for action execution and reversion. Roles and actions must 7134 // be in the same account. 7135 ExecutionRoleArn *string `min:"32" type:"string"` 7136 7137 // The type of a notification. It must be ACTUAL or FORECASTED. 7138 NotificationType *string `type:"string" enum:"NotificationType"` 7139 7140 // A list of subscribers. 7141 Subscribers []*Subscriber `min:"1" type:"list"` 7142 } 7143 7144 // String returns the string representation. 7145 // 7146 // API parameter values that are decorated as "sensitive" in the API will not 7147 // be included in the string output. The member name will be present, but the 7148 // value will be replaced with "sensitive". 7149 func (s UpdateBudgetActionInput) String() string { 7150 return awsutil.Prettify(s) 7151 } 7152 7153 // GoString returns the string representation. 7154 // 7155 // API parameter values that are decorated as "sensitive" in the API will not 7156 // be included in the string output. The member name will be present, but the 7157 // value will be replaced with "sensitive". 7158 func (s UpdateBudgetActionInput) GoString() string { 7159 return s.String() 7160 } 7161 7162 // Validate inspects the fields of the type to determine if they are valid. 7163 func (s *UpdateBudgetActionInput) Validate() error { 7164 invalidParams := request.ErrInvalidParams{Context: "UpdateBudgetActionInput"} 7165 if s.AccountId == nil { 7166 invalidParams.Add(request.NewErrParamRequired("AccountId")) 7167 } 7168 if s.AccountId != nil && len(*s.AccountId) < 12 { 7169 invalidParams.Add(request.NewErrParamMinLen("AccountId", 12)) 7170 } 7171 if s.ActionId == nil { 7172 invalidParams.Add(request.NewErrParamRequired("ActionId")) 7173 } 7174 if s.ActionId != nil && len(*s.ActionId) < 36 { 7175 invalidParams.Add(request.NewErrParamMinLen("ActionId", 36)) 7176 } 7177 if s.BudgetName == nil { 7178 invalidParams.Add(request.NewErrParamRequired("BudgetName")) 7179 } 7180 if s.BudgetName != nil && len(*s.BudgetName) < 1 { 7181 invalidParams.Add(request.NewErrParamMinLen("BudgetName", 1)) 7182 } 7183 if s.ExecutionRoleArn != nil && len(*s.ExecutionRoleArn) < 32 { 7184 invalidParams.Add(request.NewErrParamMinLen("ExecutionRoleArn", 32)) 7185 } 7186 if s.Subscribers != nil && len(s.Subscribers) < 1 { 7187 invalidParams.Add(request.NewErrParamMinLen("Subscribers", 1)) 7188 } 7189 if s.ActionThreshold != nil { 7190 if err := s.ActionThreshold.Validate(); err != nil { 7191 invalidParams.AddNested("ActionThreshold", err.(request.ErrInvalidParams)) 7192 } 7193 } 7194 if s.Definition != nil { 7195 if err := s.Definition.Validate(); err != nil { 7196 invalidParams.AddNested("Definition", err.(request.ErrInvalidParams)) 7197 } 7198 } 7199 if s.Subscribers != nil { 7200 for i, v := range s.Subscribers { 7201 if v == nil { 7202 continue 7203 } 7204 if err := v.Validate(); err != nil { 7205 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Subscribers", i), err.(request.ErrInvalidParams)) 7206 } 7207 } 7208 } 7209 7210 if invalidParams.Len() > 0 { 7211 return invalidParams 7212 } 7213 return nil 7214 } 7215 7216 // SetAccountId sets the AccountId field's value. 7217 func (s *UpdateBudgetActionInput) SetAccountId(v string) *UpdateBudgetActionInput { 7218 s.AccountId = &v 7219 return s 7220 } 7221 7222 // SetActionId sets the ActionId field's value. 7223 func (s *UpdateBudgetActionInput) SetActionId(v string) *UpdateBudgetActionInput { 7224 s.ActionId = &v 7225 return s 7226 } 7227 7228 // SetActionThreshold sets the ActionThreshold field's value. 7229 func (s *UpdateBudgetActionInput) SetActionThreshold(v *ActionThreshold) *UpdateBudgetActionInput { 7230 s.ActionThreshold = v 7231 return s 7232 } 7233 7234 // SetApprovalModel sets the ApprovalModel field's value. 7235 func (s *UpdateBudgetActionInput) SetApprovalModel(v string) *UpdateBudgetActionInput { 7236 s.ApprovalModel = &v 7237 return s 7238 } 7239 7240 // SetBudgetName sets the BudgetName field's value. 7241 func (s *UpdateBudgetActionInput) SetBudgetName(v string) *UpdateBudgetActionInput { 7242 s.BudgetName = &v 7243 return s 7244 } 7245 7246 // SetDefinition sets the Definition field's value. 7247 func (s *UpdateBudgetActionInput) SetDefinition(v *Definition) *UpdateBudgetActionInput { 7248 s.Definition = v 7249 return s 7250 } 7251 7252 // SetExecutionRoleArn sets the ExecutionRoleArn field's value. 7253 func (s *UpdateBudgetActionInput) SetExecutionRoleArn(v string) *UpdateBudgetActionInput { 7254 s.ExecutionRoleArn = &v 7255 return s 7256 } 7257 7258 // SetNotificationType sets the NotificationType field's value. 7259 func (s *UpdateBudgetActionInput) SetNotificationType(v string) *UpdateBudgetActionInput { 7260 s.NotificationType = &v 7261 return s 7262 } 7263 7264 // SetSubscribers sets the Subscribers field's value. 7265 func (s *UpdateBudgetActionInput) SetSubscribers(v []*Subscriber) *UpdateBudgetActionInput { 7266 s.Subscribers = v 7267 return s 7268 } 7269 7270 type UpdateBudgetActionOutput struct { 7271 _ struct{} `type:"structure"` 7272 7273 // The account ID of the user. It should be a 12-digit number. 7274 // 7275 // AccountId is a required field 7276 AccountId *string `min:"12" type:"string" required:"true"` 7277 7278 // A string that represents the budget name. The ":" and "\" characters aren't 7279 // allowed. 7280 // 7281 // BudgetName is a required field 7282 BudgetName *string `min:"1" type:"string" required:"true"` 7283 7284 // The updated action resource information. 7285 // 7286 // NewAction is a required field 7287 NewAction *Action `type:"structure" required:"true"` 7288 7289 // The previous action resource information. 7290 // 7291 // OldAction is a required field 7292 OldAction *Action `type:"structure" required:"true"` 7293 } 7294 7295 // String returns the string representation. 7296 // 7297 // API parameter values that are decorated as "sensitive" in the API will not 7298 // be included in the string output. The member name will be present, but the 7299 // value will be replaced with "sensitive". 7300 func (s UpdateBudgetActionOutput) String() string { 7301 return awsutil.Prettify(s) 7302 } 7303 7304 // GoString returns the string representation. 7305 // 7306 // API parameter values that are decorated as "sensitive" in the API will not 7307 // be included in the string output. The member name will be present, but the 7308 // value will be replaced with "sensitive". 7309 func (s UpdateBudgetActionOutput) GoString() string { 7310 return s.String() 7311 } 7312 7313 // SetAccountId sets the AccountId field's value. 7314 func (s *UpdateBudgetActionOutput) SetAccountId(v string) *UpdateBudgetActionOutput { 7315 s.AccountId = &v 7316 return s 7317 } 7318 7319 // SetBudgetName sets the BudgetName field's value. 7320 func (s *UpdateBudgetActionOutput) SetBudgetName(v string) *UpdateBudgetActionOutput { 7321 s.BudgetName = &v 7322 return s 7323 } 7324 7325 // SetNewAction sets the NewAction field's value. 7326 func (s *UpdateBudgetActionOutput) SetNewAction(v *Action) *UpdateBudgetActionOutput { 7327 s.NewAction = v 7328 return s 7329 } 7330 7331 // SetOldAction sets the OldAction field's value. 7332 func (s *UpdateBudgetActionOutput) SetOldAction(v *Action) *UpdateBudgetActionOutput { 7333 s.OldAction = v 7334 return s 7335 } 7336 7337 // Request of UpdateBudget 7338 type UpdateBudgetInput struct { 7339 _ struct{} `type:"structure"` 7340 7341 // The accountId that is associated with the budget that you want to update. 7342 // 7343 // AccountId is a required field 7344 AccountId *string `min:"12" type:"string" required:"true"` 7345 7346 // The budget that you want to update your budget to. 7347 // 7348 // NewBudget is a required field 7349 NewBudget *Budget `type:"structure" required:"true"` 7350 } 7351 7352 // String returns the string representation. 7353 // 7354 // API parameter values that are decorated as "sensitive" in the API will not 7355 // be included in the string output. The member name will be present, but the 7356 // value will be replaced with "sensitive". 7357 func (s UpdateBudgetInput) String() string { 7358 return awsutil.Prettify(s) 7359 } 7360 7361 // GoString returns the string representation. 7362 // 7363 // API parameter values that are decorated as "sensitive" in the API will not 7364 // be included in the string output. The member name will be present, but the 7365 // value will be replaced with "sensitive". 7366 func (s UpdateBudgetInput) GoString() string { 7367 return s.String() 7368 } 7369 7370 // Validate inspects the fields of the type to determine if they are valid. 7371 func (s *UpdateBudgetInput) Validate() error { 7372 invalidParams := request.ErrInvalidParams{Context: "UpdateBudgetInput"} 7373 if s.AccountId == nil { 7374 invalidParams.Add(request.NewErrParamRequired("AccountId")) 7375 } 7376 if s.AccountId != nil && len(*s.AccountId) < 12 { 7377 invalidParams.Add(request.NewErrParamMinLen("AccountId", 12)) 7378 } 7379 if s.NewBudget == nil { 7380 invalidParams.Add(request.NewErrParamRequired("NewBudget")) 7381 } 7382 if s.NewBudget != nil { 7383 if err := s.NewBudget.Validate(); err != nil { 7384 invalidParams.AddNested("NewBudget", err.(request.ErrInvalidParams)) 7385 } 7386 } 7387 7388 if invalidParams.Len() > 0 { 7389 return invalidParams 7390 } 7391 return nil 7392 } 7393 7394 // SetAccountId sets the AccountId field's value. 7395 func (s *UpdateBudgetInput) SetAccountId(v string) *UpdateBudgetInput { 7396 s.AccountId = &v 7397 return s 7398 } 7399 7400 // SetNewBudget sets the NewBudget field's value. 7401 func (s *UpdateBudgetInput) SetNewBudget(v *Budget) *UpdateBudgetInput { 7402 s.NewBudget = v 7403 return s 7404 } 7405 7406 // Response of UpdateBudget 7407 type UpdateBudgetOutput struct { 7408 _ struct{} `type:"structure"` 7409 } 7410 7411 // String returns the string representation. 7412 // 7413 // API parameter values that are decorated as "sensitive" in the API will not 7414 // be included in the string output. The member name will be present, but the 7415 // value will be replaced with "sensitive". 7416 func (s UpdateBudgetOutput) String() string { 7417 return awsutil.Prettify(s) 7418 } 7419 7420 // GoString returns the string representation. 7421 // 7422 // API parameter values that are decorated as "sensitive" in the API will not 7423 // be included in the string output. The member name will be present, but the 7424 // value will be replaced with "sensitive". 7425 func (s UpdateBudgetOutput) GoString() string { 7426 return s.String() 7427 } 7428 7429 // Request of UpdateNotification 7430 type UpdateNotificationInput struct { 7431 _ struct{} `type:"structure"` 7432 7433 // The accountId that is associated with the budget whose notification you want 7434 // to update. 7435 // 7436 // AccountId is a required field 7437 AccountId *string `min:"12" type:"string" required:"true"` 7438 7439 // The name of the budget whose notification you want to update. 7440 // 7441 // BudgetName is a required field 7442 BudgetName *string `min:"1" type:"string" required:"true"` 7443 7444 // The updated notification to be associated with a budget. 7445 // 7446 // NewNotification is a required field 7447 NewNotification *Notification `type:"structure" required:"true"` 7448 7449 // The previous notification that is associated with a budget. 7450 // 7451 // OldNotification is a required field 7452 OldNotification *Notification `type:"structure" required:"true"` 7453 } 7454 7455 // String returns the string representation. 7456 // 7457 // API parameter values that are decorated as "sensitive" in the API will not 7458 // be included in the string output. The member name will be present, but the 7459 // value will be replaced with "sensitive". 7460 func (s UpdateNotificationInput) String() string { 7461 return awsutil.Prettify(s) 7462 } 7463 7464 // GoString returns the string representation. 7465 // 7466 // API parameter values that are decorated as "sensitive" in the API will not 7467 // be included in the string output. The member name will be present, but the 7468 // value will be replaced with "sensitive". 7469 func (s UpdateNotificationInput) GoString() string { 7470 return s.String() 7471 } 7472 7473 // Validate inspects the fields of the type to determine if they are valid. 7474 func (s *UpdateNotificationInput) Validate() error { 7475 invalidParams := request.ErrInvalidParams{Context: "UpdateNotificationInput"} 7476 if s.AccountId == nil { 7477 invalidParams.Add(request.NewErrParamRequired("AccountId")) 7478 } 7479 if s.AccountId != nil && len(*s.AccountId) < 12 { 7480 invalidParams.Add(request.NewErrParamMinLen("AccountId", 12)) 7481 } 7482 if s.BudgetName == nil { 7483 invalidParams.Add(request.NewErrParamRequired("BudgetName")) 7484 } 7485 if s.BudgetName != nil && len(*s.BudgetName) < 1 { 7486 invalidParams.Add(request.NewErrParamMinLen("BudgetName", 1)) 7487 } 7488 if s.NewNotification == nil { 7489 invalidParams.Add(request.NewErrParamRequired("NewNotification")) 7490 } 7491 if s.OldNotification == nil { 7492 invalidParams.Add(request.NewErrParamRequired("OldNotification")) 7493 } 7494 if s.NewNotification != nil { 7495 if err := s.NewNotification.Validate(); err != nil { 7496 invalidParams.AddNested("NewNotification", err.(request.ErrInvalidParams)) 7497 } 7498 } 7499 if s.OldNotification != nil { 7500 if err := s.OldNotification.Validate(); err != nil { 7501 invalidParams.AddNested("OldNotification", err.(request.ErrInvalidParams)) 7502 } 7503 } 7504 7505 if invalidParams.Len() > 0 { 7506 return invalidParams 7507 } 7508 return nil 7509 } 7510 7511 // SetAccountId sets the AccountId field's value. 7512 func (s *UpdateNotificationInput) SetAccountId(v string) *UpdateNotificationInput { 7513 s.AccountId = &v 7514 return s 7515 } 7516 7517 // SetBudgetName sets the BudgetName field's value. 7518 func (s *UpdateNotificationInput) SetBudgetName(v string) *UpdateNotificationInput { 7519 s.BudgetName = &v 7520 return s 7521 } 7522 7523 // SetNewNotification sets the NewNotification field's value. 7524 func (s *UpdateNotificationInput) SetNewNotification(v *Notification) *UpdateNotificationInput { 7525 s.NewNotification = v 7526 return s 7527 } 7528 7529 // SetOldNotification sets the OldNotification field's value. 7530 func (s *UpdateNotificationInput) SetOldNotification(v *Notification) *UpdateNotificationInput { 7531 s.OldNotification = v 7532 return s 7533 } 7534 7535 // Response of UpdateNotification 7536 type UpdateNotificationOutput struct { 7537 _ struct{} `type:"structure"` 7538 } 7539 7540 // String returns the string representation. 7541 // 7542 // API parameter values that are decorated as "sensitive" in the API will not 7543 // be included in the string output. The member name will be present, but the 7544 // value will be replaced with "sensitive". 7545 func (s UpdateNotificationOutput) String() string { 7546 return awsutil.Prettify(s) 7547 } 7548 7549 // GoString returns the string representation. 7550 // 7551 // API parameter values that are decorated as "sensitive" in the API will not 7552 // be included in the string output. The member name will be present, but the 7553 // value will be replaced with "sensitive". 7554 func (s UpdateNotificationOutput) GoString() string { 7555 return s.String() 7556 } 7557 7558 // Request of UpdateSubscriber 7559 type UpdateSubscriberInput struct { 7560 _ struct{} `type:"structure"` 7561 7562 // The accountId that is associated with the budget whose subscriber you want 7563 // to update. 7564 // 7565 // AccountId is a required field 7566 AccountId *string `min:"12" type:"string" required:"true"` 7567 7568 // The name of the budget whose subscriber you want to update. 7569 // 7570 // BudgetName is a required field 7571 BudgetName *string `min:"1" type:"string" required:"true"` 7572 7573 // The updated subscriber that is associated with a budget notification. 7574 // 7575 // NewSubscriber is a required field 7576 NewSubscriber *Subscriber `type:"structure" required:"true"` 7577 7578 // The notification whose subscriber you want to update. 7579 // 7580 // Notification is a required field 7581 Notification *Notification `type:"structure" required:"true"` 7582 7583 // The previous subscriber that is associated with a budget notification. 7584 // 7585 // OldSubscriber is a required field 7586 OldSubscriber *Subscriber `type:"structure" required:"true"` 7587 } 7588 7589 // String returns the string representation. 7590 // 7591 // API parameter values that are decorated as "sensitive" in the API will not 7592 // be included in the string output. The member name will be present, but the 7593 // value will be replaced with "sensitive". 7594 func (s UpdateSubscriberInput) String() string { 7595 return awsutil.Prettify(s) 7596 } 7597 7598 // GoString returns the string representation. 7599 // 7600 // API parameter values that are decorated as "sensitive" in the API will not 7601 // be included in the string output. The member name will be present, but the 7602 // value will be replaced with "sensitive". 7603 func (s UpdateSubscriberInput) GoString() string { 7604 return s.String() 7605 } 7606 7607 // Validate inspects the fields of the type to determine if they are valid. 7608 func (s *UpdateSubscriberInput) Validate() error { 7609 invalidParams := request.ErrInvalidParams{Context: "UpdateSubscriberInput"} 7610 if s.AccountId == nil { 7611 invalidParams.Add(request.NewErrParamRequired("AccountId")) 7612 } 7613 if s.AccountId != nil && len(*s.AccountId) < 12 { 7614 invalidParams.Add(request.NewErrParamMinLen("AccountId", 12)) 7615 } 7616 if s.BudgetName == nil { 7617 invalidParams.Add(request.NewErrParamRequired("BudgetName")) 7618 } 7619 if s.BudgetName != nil && len(*s.BudgetName) < 1 { 7620 invalidParams.Add(request.NewErrParamMinLen("BudgetName", 1)) 7621 } 7622 if s.NewSubscriber == nil { 7623 invalidParams.Add(request.NewErrParamRequired("NewSubscriber")) 7624 } 7625 if s.Notification == nil { 7626 invalidParams.Add(request.NewErrParamRequired("Notification")) 7627 } 7628 if s.OldSubscriber == nil { 7629 invalidParams.Add(request.NewErrParamRequired("OldSubscriber")) 7630 } 7631 if s.NewSubscriber != nil { 7632 if err := s.NewSubscriber.Validate(); err != nil { 7633 invalidParams.AddNested("NewSubscriber", err.(request.ErrInvalidParams)) 7634 } 7635 } 7636 if s.Notification != nil { 7637 if err := s.Notification.Validate(); err != nil { 7638 invalidParams.AddNested("Notification", err.(request.ErrInvalidParams)) 7639 } 7640 } 7641 if s.OldSubscriber != nil { 7642 if err := s.OldSubscriber.Validate(); err != nil { 7643 invalidParams.AddNested("OldSubscriber", err.(request.ErrInvalidParams)) 7644 } 7645 } 7646 7647 if invalidParams.Len() > 0 { 7648 return invalidParams 7649 } 7650 return nil 7651 } 7652 7653 // SetAccountId sets the AccountId field's value. 7654 func (s *UpdateSubscriberInput) SetAccountId(v string) *UpdateSubscriberInput { 7655 s.AccountId = &v 7656 return s 7657 } 7658 7659 // SetBudgetName sets the BudgetName field's value. 7660 func (s *UpdateSubscriberInput) SetBudgetName(v string) *UpdateSubscriberInput { 7661 s.BudgetName = &v 7662 return s 7663 } 7664 7665 // SetNewSubscriber sets the NewSubscriber field's value. 7666 func (s *UpdateSubscriberInput) SetNewSubscriber(v *Subscriber) *UpdateSubscriberInput { 7667 s.NewSubscriber = v 7668 return s 7669 } 7670 7671 // SetNotification sets the Notification field's value. 7672 func (s *UpdateSubscriberInput) SetNotification(v *Notification) *UpdateSubscriberInput { 7673 s.Notification = v 7674 return s 7675 } 7676 7677 // SetOldSubscriber sets the OldSubscriber field's value. 7678 func (s *UpdateSubscriberInput) SetOldSubscriber(v *Subscriber) *UpdateSubscriberInput { 7679 s.OldSubscriber = v 7680 return s 7681 } 7682 7683 // Response of UpdateSubscriber 7684 type UpdateSubscriberOutput struct { 7685 _ struct{} `type:"structure"` 7686 } 7687 7688 // String returns the string representation. 7689 // 7690 // API parameter values that are decorated as "sensitive" in the API will not 7691 // be included in the string output. The member name will be present, but the 7692 // value will be replaced with "sensitive". 7693 func (s UpdateSubscriberOutput) String() string { 7694 return awsutil.Prettify(s) 7695 } 7696 7697 // GoString returns the string representation. 7698 // 7699 // API parameter values that are decorated as "sensitive" in the API will not 7700 // be included in the string output. The member name will be present, but the 7701 // value will be replaced with "sensitive". 7702 func (s UpdateSubscriberOutput) GoString() string { 7703 return s.String() 7704 } 7705 7706 const ( 7707 // ActionStatusStandby is a ActionStatus enum value 7708 ActionStatusStandby = "STANDBY" 7709 7710 // ActionStatusPending is a ActionStatus enum value 7711 ActionStatusPending = "PENDING" 7712 7713 // ActionStatusExecutionInProgress is a ActionStatus enum value 7714 ActionStatusExecutionInProgress = "EXECUTION_IN_PROGRESS" 7715 7716 // ActionStatusExecutionSuccess is a ActionStatus enum value 7717 ActionStatusExecutionSuccess = "EXECUTION_SUCCESS" 7718 7719 // ActionStatusExecutionFailure is a ActionStatus enum value 7720 ActionStatusExecutionFailure = "EXECUTION_FAILURE" 7721 7722 // ActionStatusReverseInProgress is a ActionStatus enum value 7723 ActionStatusReverseInProgress = "REVERSE_IN_PROGRESS" 7724 7725 // ActionStatusReverseSuccess is a ActionStatus enum value 7726 ActionStatusReverseSuccess = "REVERSE_SUCCESS" 7727 7728 // ActionStatusReverseFailure is a ActionStatus enum value 7729 ActionStatusReverseFailure = "REVERSE_FAILURE" 7730 7731 // ActionStatusResetInProgress is a ActionStatus enum value 7732 ActionStatusResetInProgress = "RESET_IN_PROGRESS" 7733 7734 // ActionStatusResetFailure is a ActionStatus enum value 7735 ActionStatusResetFailure = "RESET_FAILURE" 7736 ) 7737 7738 // ActionStatus_Values returns all elements of the ActionStatus enum 7739 func ActionStatus_Values() []string { 7740 return []string{ 7741 ActionStatusStandby, 7742 ActionStatusPending, 7743 ActionStatusExecutionInProgress, 7744 ActionStatusExecutionSuccess, 7745 ActionStatusExecutionFailure, 7746 ActionStatusReverseInProgress, 7747 ActionStatusReverseSuccess, 7748 ActionStatusReverseFailure, 7749 ActionStatusResetInProgress, 7750 ActionStatusResetFailure, 7751 } 7752 } 7753 7754 const ( 7755 // ActionSubTypeStopEc2Instances is a ActionSubType enum value 7756 ActionSubTypeStopEc2Instances = "STOP_EC2_INSTANCES" 7757 7758 // ActionSubTypeStopRdsInstances is a ActionSubType enum value 7759 ActionSubTypeStopRdsInstances = "STOP_RDS_INSTANCES" 7760 ) 7761 7762 // ActionSubType_Values returns all elements of the ActionSubType enum 7763 func ActionSubType_Values() []string { 7764 return []string{ 7765 ActionSubTypeStopEc2Instances, 7766 ActionSubTypeStopRdsInstances, 7767 } 7768 } 7769 7770 const ( 7771 // ActionTypeApplyIamPolicy is a ActionType enum value 7772 ActionTypeApplyIamPolicy = "APPLY_IAM_POLICY" 7773 7774 // ActionTypeApplyScpPolicy is a ActionType enum value 7775 ActionTypeApplyScpPolicy = "APPLY_SCP_POLICY" 7776 7777 // ActionTypeRunSsmDocuments is a ActionType enum value 7778 ActionTypeRunSsmDocuments = "RUN_SSM_DOCUMENTS" 7779 ) 7780 7781 // ActionType_Values returns all elements of the ActionType enum 7782 func ActionType_Values() []string { 7783 return []string{ 7784 ActionTypeApplyIamPolicy, 7785 ActionTypeApplyScpPolicy, 7786 ActionTypeRunSsmDocuments, 7787 } 7788 } 7789 7790 const ( 7791 // ApprovalModelAutomatic is a ApprovalModel enum value 7792 ApprovalModelAutomatic = "AUTOMATIC" 7793 7794 // ApprovalModelManual is a ApprovalModel enum value 7795 ApprovalModelManual = "MANUAL" 7796 ) 7797 7798 // ApprovalModel_Values returns all elements of the ApprovalModel enum 7799 func ApprovalModel_Values() []string { 7800 return []string{ 7801 ApprovalModelAutomatic, 7802 ApprovalModelManual, 7803 } 7804 } 7805 7806 // The type of a budget. It must be one of the following types: 7807 // 7808 // COST, USAGE, RI_UTILIZATION, RI_COVERAGE, SAVINGS_PLANS_UTILIZATION, or SAVINGS_PLANS_COVERAGE. 7809 const ( 7810 // BudgetTypeUsage is a BudgetType enum value 7811 BudgetTypeUsage = "USAGE" 7812 7813 // BudgetTypeCost is a BudgetType enum value 7814 BudgetTypeCost = "COST" 7815 7816 // BudgetTypeRiUtilization is a BudgetType enum value 7817 BudgetTypeRiUtilization = "RI_UTILIZATION" 7818 7819 // BudgetTypeRiCoverage is a BudgetType enum value 7820 BudgetTypeRiCoverage = "RI_COVERAGE" 7821 7822 // BudgetTypeSavingsPlansUtilization is a BudgetType enum value 7823 BudgetTypeSavingsPlansUtilization = "SAVINGS_PLANS_UTILIZATION" 7824 7825 // BudgetTypeSavingsPlansCoverage is a BudgetType enum value 7826 BudgetTypeSavingsPlansCoverage = "SAVINGS_PLANS_COVERAGE" 7827 ) 7828 7829 // BudgetType_Values returns all elements of the BudgetType enum 7830 func BudgetType_Values() []string { 7831 return []string{ 7832 BudgetTypeUsage, 7833 BudgetTypeCost, 7834 BudgetTypeRiUtilization, 7835 BudgetTypeRiCoverage, 7836 BudgetTypeSavingsPlansUtilization, 7837 BudgetTypeSavingsPlansCoverage, 7838 } 7839 } 7840 7841 // The comparison operator of a notification. Currently the service supports 7842 // the following operators: 7843 // 7844 // GREATER_THAN, LESS_THAN, EQUAL_TO 7845 const ( 7846 // ComparisonOperatorGreaterThan is a ComparisonOperator enum value 7847 ComparisonOperatorGreaterThan = "GREATER_THAN" 7848 7849 // ComparisonOperatorLessThan is a ComparisonOperator enum value 7850 ComparisonOperatorLessThan = "LESS_THAN" 7851 7852 // ComparisonOperatorEqualTo is a ComparisonOperator enum value 7853 ComparisonOperatorEqualTo = "EQUAL_TO" 7854 ) 7855 7856 // ComparisonOperator_Values returns all elements of the ComparisonOperator enum 7857 func ComparisonOperator_Values() []string { 7858 return []string{ 7859 ComparisonOperatorGreaterThan, 7860 ComparisonOperatorLessThan, 7861 ComparisonOperatorEqualTo, 7862 } 7863 } 7864 7865 const ( 7866 // EventTypeSystem is a EventType enum value 7867 EventTypeSystem = "SYSTEM" 7868 7869 // EventTypeCreateAction is a EventType enum value 7870 EventTypeCreateAction = "CREATE_ACTION" 7871 7872 // EventTypeDeleteAction is a EventType enum value 7873 EventTypeDeleteAction = "DELETE_ACTION" 7874 7875 // EventTypeUpdateAction is a EventType enum value 7876 EventTypeUpdateAction = "UPDATE_ACTION" 7877 7878 // EventTypeExecuteAction is a EventType enum value 7879 EventTypeExecuteAction = "EXECUTE_ACTION" 7880 ) 7881 7882 // EventType_Values returns all elements of the EventType enum 7883 func EventType_Values() []string { 7884 return []string{ 7885 EventTypeSystem, 7886 EventTypeCreateAction, 7887 EventTypeDeleteAction, 7888 EventTypeUpdateAction, 7889 EventTypeExecuteAction, 7890 } 7891 } 7892 7893 const ( 7894 // ExecutionTypeApproveBudgetAction is a ExecutionType enum value 7895 ExecutionTypeApproveBudgetAction = "APPROVE_BUDGET_ACTION" 7896 7897 // ExecutionTypeRetryBudgetAction is a ExecutionType enum value 7898 ExecutionTypeRetryBudgetAction = "RETRY_BUDGET_ACTION" 7899 7900 // ExecutionTypeReverseBudgetAction is a ExecutionType enum value 7901 ExecutionTypeReverseBudgetAction = "REVERSE_BUDGET_ACTION" 7902 7903 // ExecutionTypeResetBudgetAction is a ExecutionType enum value 7904 ExecutionTypeResetBudgetAction = "RESET_BUDGET_ACTION" 7905 ) 7906 7907 // ExecutionType_Values returns all elements of the ExecutionType enum 7908 func ExecutionType_Values() []string { 7909 return []string{ 7910 ExecutionTypeApproveBudgetAction, 7911 ExecutionTypeRetryBudgetAction, 7912 ExecutionTypeReverseBudgetAction, 7913 ExecutionTypeResetBudgetAction, 7914 } 7915 } 7916 7917 const ( 7918 // NotificationStateOk is a NotificationState enum value 7919 NotificationStateOk = "OK" 7920 7921 // NotificationStateAlarm is a NotificationState enum value 7922 NotificationStateAlarm = "ALARM" 7923 ) 7924 7925 // NotificationState_Values returns all elements of the NotificationState enum 7926 func NotificationState_Values() []string { 7927 return []string{ 7928 NotificationStateOk, 7929 NotificationStateAlarm, 7930 } 7931 } 7932 7933 // The type of a notification. It must be ACTUAL or FORECASTED. 7934 const ( 7935 // NotificationTypeActual is a NotificationType enum value 7936 NotificationTypeActual = "ACTUAL" 7937 7938 // NotificationTypeForecasted is a NotificationType enum value 7939 NotificationTypeForecasted = "FORECASTED" 7940 ) 7941 7942 // NotificationType_Values returns all elements of the NotificationType enum 7943 func NotificationType_Values() []string { 7944 return []string{ 7945 NotificationTypeActual, 7946 NotificationTypeForecasted, 7947 } 7948 } 7949 7950 // The subscription type of the subscriber. It can be SMS or EMAIL. 7951 const ( 7952 // SubscriptionTypeSns is a SubscriptionType enum value 7953 SubscriptionTypeSns = "SNS" 7954 7955 // SubscriptionTypeEmail is a SubscriptionType enum value 7956 SubscriptionTypeEmail = "EMAIL" 7957 ) 7958 7959 // SubscriptionType_Values returns all elements of the SubscriptionType enum 7960 func SubscriptionType_Values() []string { 7961 return []string{ 7962 SubscriptionTypeSns, 7963 SubscriptionTypeEmail, 7964 } 7965 } 7966 7967 // The type of threshold for a notification. 7968 const ( 7969 // ThresholdTypePercentage is a ThresholdType enum value 7970 ThresholdTypePercentage = "PERCENTAGE" 7971 7972 // ThresholdTypeAbsoluteValue is a ThresholdType enum value 7973 ThresholdTypeAbsoluteValue = "ABSOLUTE_VALUE" 7974 ) 7975 7976 // ThresholdType_Values returns all elements of the ThresholdType enum 7977 func ThresholdType_Values() []string { 7978 return []string{ 7979 ThresholdTypePercentage, 7980 ThresholdTypeAbsoluteValue, 7981 } 7982 } 7983 7984 // The time unit of the budget, such as MONTHLY or QUARTERLY. 7985 const ( 7986 // TimeUnitDaily is a TimeUnit enum value 7987 TimeUnitDaily = "DAILY" 7988 7989 // TimeUnitMonthly is a TimeUnit enum value 7990 TimeUnitMonthly = "MONTHLY" 7991 7992 // TimeUnitQuarterly is a TimeUnit enum value 7993 TimeUnitQuarterly = "QUARTERLY" 7994 7995 // TimeUnitAnnually is a TimeUnit enum value 7996 TimeUnitAnnually = "ANNUALLY" 7997 ) 7998 7999 // TimeUnit_Values returns all elements of the TimeUnit enum 8000 func TimeUnit_Values() []string { 8001 return []string{ 8002 TimeUnitDaily, 8003 TimeUnitMonthly, 8004 TimeUnitQuarterly, 8005 TimeUnitAnnually, 8006 } 8007 }