github.com/aavshr/aws-sdk-go@v1.41.3/service/resourcegroups/api.go (about) 1 // Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. 2 3 package resourcegroups 4 5 import ( 6 "fmt" 7 8 "github.com/aavshr/aws-sdk-go/aws" 9 "github.com/aavshr/aws-sdk-go/aws/awsutil" 10 "github.com/aavshr/aws-sdk-go/aws/request" 11 "github.com/aavshr/aws-sdk-go/private/protocol" 12 "github.com/aavshr/aws-sdk-go/private/protocol/restjson" 13 ) 14 15 const opCreateGroup = "CreateGroup" 16 17 // CreateGroupRequest generates a "aws/request.Request" representing the 18 // client's request for the CreateGroup operation. The "output" return 19 // value will be populated with the request's response once the request completes 20 // successfully. 21 // 22 // Use "Send" method on the returned Request to send the API call to the service. 23 // the "output" return value is not valid until after Send returns without error. 24 // 25 // See CreateGroup for more information on using the CreateGroup 26 // API call, and error handling. 27 // 28 // This method is useful when you want to inject custom logic or configuration 29 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 30 // 31 // 32 // // Example sending a request using the CreateGroupRequest method. 33 // req, resp := client.CreateGroupRequest(params) 34 // 35 // err := req.Send() 36 // if err == nil { // resp is now filled 37 // fmt.Println(resp) 38 // } 39 // 40 // See also, https://docs.aws.amazon.com/goto/WebAPI/resource-groups-2017-11-27/CreateGroup 41 func (c *ResourceGroups) CreateGroupRequest(input *CreateGroupInput) (req *request.Request, output *CreateGroupOutput) { 42 op := &request.Operation{ 43 Name: opCreateGroup, 44 HTTPMethod: "POST", 45 HTTPPath: "/groups", 46 } 47 48 if input == nil { 49 input = &CreateGroupInput{} 50 } 51 52 output = &CreateGroupOutput{} 53 req = c.newRequest(op, input, output) 54 return 55 } 56 57 // CreateGroup API operation for AWS Resource Groups. 58 // 59 // Creates a resource group with the specified name and description. You can 60 // optionally include a resource query, or a service configuration. For more 61 // information about constructing a resource query, see Create a tag-based group 62 // in Resource Groups (https://docs.aws.amazon.com/ARG/latest/userguide/gettingstarted-query.html#gettingstarted-query-cli-tag). 63 // For more information about service configurations, see Service configurations 64 // for resource groups (https://docs.aws.amazon.com/ARG/latest/APIReference/about-slg.html). 65 // 66 // Minimum permissions 67 // 68 // To run this command, you must have the following permissions: 69 // 70 // * resource-groups:CreateGroup 71 // 72 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 73 // with awserr.Error's Code and Message methods to get detailed information about 74 // the error. 75 // 76 // See the AWS API reference guide for AWS Resource Groups's 77 // API operation CreateGroup for usage and error information. 78 // 79 // Returned Error Types: 80 // * BadRequestException 81 // The request includes one or more parameters that violate validation rules. 82 // 83 // * ForbiddenException 84 // The caller isn't authorized to make the request. Check permissions. 85 // 86 // * MethodNotAllowedException 87 // The request uses an HTTP method that isn't allowed for the specified resource. 88 // 89 // * TooManyRequestsException 90 // You've exceeded throttling limits by making too many requests in a period 91 // of time. 92 // 93 // * InternalServerErrorException 94 // An internal error occurred while processing the request. Try again later. 95 // 96 // See also, https://docs.aws.amazon.com/goto/WebAPI/resource-groups-2017-11-27/CreateGroup 97 func (c *ResourceGroups) CreateGroup(input *CreateGroupInput) (*CreateGroupOutput, error) { 98 req, out := c.CreateGroupRequest(input) 99 return out, req.Send() 100 } 101 102 // CreateGroupWithContext is the same as CreateGroup with the addition of 103 // the ability to pass a context and additional request options. 104 // 105 // See CreateGroup for details on how to use this API operation. 106 // 107 // The context must be non-nil and will be used for request cancellation. If 108 // the context is nil a panic will occur. In the future the SDK may create 109 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 110 // for more information on using Contexts. 111 func (c *ResourceGroups) CreateGroupWithContext(ctx aws.Context, input *CreateGroupInput, opts ...request.Option) (*CreateGroupOutput, error) { 112 req, out := c.CreateGroupRequest(input) 113 req.SetContext(ctx) 114 req.ApplyOptions(opts...) 115 return out, req.Send() 116 } 117 118 const opDeleteGroup = "DeleteGroup" 119 120 // DeleteGroupRequest generates a "aws/request.Request" representing the 121 // client's request for the DeleteGroup operation. The "output" return 122 // value will be populated with the request's response once the request completes 123 // successfully. 124 // 125 // Use "Send" method on the returned Request to send the API call to the service. 126 // the "output" return value is not valid until after Send returns without error. 127 // 128 // See DeleteGroup for more information on using the DeleteGroup 129 // API call, and error handling. 130 // 131 // This method is useful when you want to inject custom logic or configuration 132 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 133 // 134 // 135 // // Example sending a request using the DeleteGroupRequest method. 136 // req, resp := client.DeleteGroupRequest(params) 137 // 138 // err := req.Send() 139 // if err == nil { // resp is now filled 140 // fmt.Println(resp) 141 // } 142 // 143 // See also, https://docs.aws.amazon.com/goto/WebAPI/resource-groups-2017-11-27/DeleteGroup 144 func (c *ResourceGroups) DeleteGroupRequest(input *DeleteGroupInput) (req *request.Request, output *DeleteGroupOutput) { 145 op := &request.Operation{ 146 Name: opDeleteGroup, 147 HTTPMethod: "POST", 148 HTTPPath: "/delete-group", 149 } 150 151 if input == nil { 152 input = &DeleteGroupInput{} 153 } 154 155 output = &DeleteGroupOutput{} 156 req = c.newRequest(op, input, output) 157 return 158 } 159 160 // DeleteGroup API operation for AWS Resource Groups. 161 // 162 // Deletes the specified resource group. Deleting a resource group does not 163 // delete any resources that are members of the group; it only deletes the group 164 // structure. 165 // 166 // Minimum permissions 167 // 168 // To run this command, you must have the following permissions: 169 // 170 // * resource-groups:DeleteGroup 171 // 172 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 173 // with awserr.Error's Code and Message methods to get detailed information about 174 // the error. 175 // 176 // See the AWS API reference guide for AWS Resource Groups's 177 // API operation DeleteGroup for usage and error information. 178 // 179 // Returned Error Types: 180 // * BadRequestException 181 // The request includes one or more parameters that violate validation rules. 182 // 183 // * ForbiddenException 184 // The caller isn't authorized to make the request. Check permissions. 185 // 186 // * NotFoundException 187 // One or more of the specified resources don't exist. 188 // 189 // * MethodNotAllowedException 190 // The request uses an HTTP method that isn't allowed for the specified resource. 191 // 192 // * TooManyRequestsException 193 // You've exceeded throttling limits by making too many requests in a period 194 // of time. 195 // 196 // * InternalServerErrorException 197 // An internal error occurred while processing the request. Try again later. 198 // 199 // See also, https://docs.aws.amazon.com/goto/WebAPI/resource-groups-2017-11-27/DeleteGroup 200 func (c *ResourceGroups) DeleteGroup(input *DeleteGroupInput) (*DeleteGroupOutput, error) { 201 req, out := c.DeleteGroupRequest(input) 202 return out, req.Send() 203 } 204 205 // DeleteGroupWithContext is the same as DeleteGroup with the addition of 206 // the ability to pass a context and additional request options. 207 // 208 // See DeleteGroup for details on how to use this API operation. 209 // 210 // The context must be non-nil and will be used for request cancellation. If 211 // the context is nil a panic will occur. In the future the SDK may create 212 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 213 // for more information on using Contexts. 214 func (c *ResourceGroups) DeleteGroupWithContext(ctx aws.Context, input *DeleteGroupInput, opts ...request.Option) (*DeleteGroupOutput, error) { 215 req, out := c.DeleteGroupRequest(input) 216 req.SetContext(ctx) 217 req.ApplyOptions(opts...) 218 return out, req.Send() 219 } 220 221 const opGetGroup = "GetGroup" 222 223 // GetGroupRequest generates a "aws/request.Request" representing the 224 // client's request for the GetGroup operation. The "output" return 225 // value will be populated with the request's response once the request completes 226 // successfully. 227 // 228 // Use "Send" method on the returned Request to send the API call to the service. 229 // the "output" return value is not valid until after Send returns without error. 230 // 231 // See GetGroup for more information on using the GetGroup 232 // API call, and error handling. 233 // 234 // This method is useful when you want to inject custom logic or configuration 235 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 236 // 237 // 238 // // Example sending a request using the GetGroupRequest method. 239 // req, resp := client.GetGroupRequest(params) 240 // 241 // err := req.Send() 242 // if err == nil { // resp is now filled 243 // fmt.Println(resp) 244 // } 245 // 246 // See also, https://docs.aws.amazon.com/goto/WebAPI/resource-groups-2017-11-27/GetGroup 247 func (c *ResourceGroups) GetGroupRequest(input *GetGroupInput) (req *request.Request, output *GetGroupOutput) { 248 op := &request.Operation{ 249 Name: opGetGroup, 250 HTTPMethod: "POST", 251 HTTPPath: "/get-group", 252 } 253 254 if input == nil { 255 input = &GetGroupInput{} 256 } 257 258 output = &GetGroupOutput{} 259 req = c.newRequest(op, input, output) 260 return 261 } 262 263 // GetGroup API operation for AWS Resource Groups. 264 // 265 // Returns information about a specified resource group. 266 // 267 // Minimum permissions 268 // 269 // To run this command, you must have the following permissions: 270 // 271 // * resource-groups:GetGroup 272 // 273 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 274 // with awserr.Error's Code and Message methods to get detailed information about 275 // the error. 276 // 277 // See the AWS API reference guide for AWS Resource Groups's 278 // API operation GetGroup for usage and error information. 279 // 280 // Returned Error Types: 281 // * BadRequestException 282 // The request includes one or more parameters that violate validation rules. 283 // 284 // * ForbiddenException 285 // The caller isn't authorized to make the request. Check permissions. 286 // 287 // * NotFoundException 288 // One or more of the specified resources don't exist. 289 // 290 // * MethodNotAllowedException 291 // The request uses an HTTP method that isn't allowed for the specified resource. 292 // 293 // * TooManyRequestsException 294 // You've exceeded throttling limits by making too many requests in a period 295 // of time. 296 // 297 // * InternalServerErrorException 298 // An internal error occurred while processing the request. Try again later. 299 // 300 // See also, https://docs.aws.amazon.com/goto/WebAPI/resource-groups-2017-11-27/GetGroup 301 func (c *ResourceGroups) GetGroup(input *GetGroupInput) (*GetGroupOutput, error) { 302 req, out := c.GetGroupRequest(input) 303 return out, req.Send() 304 } 305 306 // GetGroupWithContext is the same as GetGroup with the addition of 307 // the ability to pass a context and additional request options. 308 // 309 // See GetGroup for details on how to use this API operation. 310 // 311 // The context must be non-nil and will be used for request cancellation. If 312 // the context is nil a panic will occur. In the future the SDK may create 313 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 314 // for more information on using Contexts. 315 func (c *ResourceGroups) GetGroupWithContext(ctx aws.Context, input *GetGroupInput, opts ...request.Option) (*GetGroupOutput, error) { 316 req, out := c.GetGroupRequest(input) 317 req.SetContext(ctx) 318 req.ApplyOptions(opts...) 319 return out, req.Send() 320 } 321 322 const opGetGroupConfiguration = "GetGroupConfiguration" 323 324 // GetGroupConfigurationRequest generates a "aws/request.Request" representing the 325 // client's request for the GetGroupConfiguration operation. The "output" return 326 // value will be populated with the request's response once the request completes 327 // successfully. 328 // 329 // Use "Send" method on the returned Request to send the API call to the service. 330 // the "output" return value is not valid until after Send returns without error. 331 // 332 // See GetGroupConfiguration for more information on using the GetGroupConfiguration 333 // API call, and error handling. 334 // 335 // This method is useful when you want to inject custom logic or configuration 336 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 337 // 338 // 339 // // Example sending a request using the GetGroupConfigurationRequest method. 340 // req, resp := client.GetGroupConfigurationRequest(params) 341 // 342 // err := req.Send() 343 // if err == nil { // resp is now filled 344 // fmt.Println(resp) 345 // } 346 // 347 // See also, https://docs.aws.amazon.com/goto/WebAPI/resource-groups-2017-11-27/GetGroupConfiguration 348 func (c *ResourceGroups) GetGroupConfigurationRequest(input *GetGroupConfigurationInput) (req *request.Request, output *GetGroupConfigurationOutput) { 349 op := &request.Operation{ 350 Name: opGetGroupConfiguration, 351 HTTPMethod: "POST", 352 HTTPPath: "/get-group-configuration", 353 } 354 355 if input == nil { 356 input = &GetGroupConfigurationInput{} 357 } 358 359 output = &GetGroupConfigurationOutput{} 360 req = c.newRequest(op, input, output) 361 return 362 } 363 364 // GetGroupConfiguration API operation for AWS Resource Groups. 365 // 366 // Returns the service configuration associated with the specified resource 367 // group. For details about the service configuration syntax, see Service configurations 368 // for resource groups (https://docs.aws.amazon.com/ARG/latest/APIReference/about-slg.html). 369 // 370 // Minimum permissions 371 // 372 // To run this command, you must have the following permissions: 373 // 374 // * resource-groups:GetGroupConfiguration 375 // 376 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 377 // with awserr.Error's Code and Message methods to get detailed information about 378 // the error. 379 // 380 // See the AWS API reference guide for AWS Resource Groups's 381 // API operation GetGroupConfiguration for usage and error information. 382 // 383 // Returned Error Types: 384 // * BadRequestException 385 // The request includes one or more parameters that violate validation rules. 386 // 387 // * ForbiddenException 388 // The caller isn't authorized to make the request. Check permissions. 389 // 390 // * NotFoundException 391 // One or more of the specified resources don't exist. 392 // 393 // * MethodNotAllowedException 394 // The request uses an HTTP method that isn't allowed for the specified resource. 395 // 396 // * TooManyRequestsException 397 // You've exceeded throttling limits by making too many requests in a period 398 // of time. 399 // 400 // * InternalServerErrorException 401 // An internal error occurred while processing the request. Try again later. 402 // 403 // See also, https://docs.aws.amazon.com/goto/WebAPI/resource-groups-2017-11-27/GetGroupConfiguration 404 func (c *ResourceGroups) GetGroupConfiguration(input *GetGroupConfigurationInput) (*GetGroupConfigurationOutput, error) { 405 req, out := c.GetGroupConfigurationRequest(input) 406 return out, req.Send() 407 } 408 409 // GetGroupConfigurationWithContext is the same as GetGroupConfiguration with the addition of 410 // the ability to pass a context and additional request options. 411 // 412 // See GetGroupConfiguration for details on how to use this API operation. 413 // 414 // The context must be non-nil and will be used for request cancellation. If 415 // the context is nil a panic will occur. In the future the SDK may create 416 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 417 // for more information on using Contexts. 418 func (c *ResourceGroups) GetGroupConfigurationWithContext(ctx aws.Context, input *GetGroupConfigurationInput, opts ...request.Option) (*GetGroupConfigurationOutput, error) { 419 req, out := c.GetGroupConfigurationRequest(input) 420 req.SetContext(ctx) 421 req.ApplyOptions(opts...) 422 return out, req.Send() 423 } 424 425 const opGetGroupQuery = "GetGroupQuery" 426 427 // GetGroupQueryRequest generates a "aws/request.Request" representing the 428 // client's request for the GetGroupQuery operation. The "output" return 429 // value will be populated with the request's response once the request completes 430 // successfully. 431 // 432 // Use "Send" method on the returned Request to send the API call to the service. 433 // the "output" return value is not valid until after Send returns without error. 434 // 435 // See GetGroupQuery for more information on using the GetGroupQuery 436 // API call, and error handling. 437 // 438 // This method is useful when you want to inject custom logic or configuration 439 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 440 // 441 // 442 // // Example sending a request using the GetGroupQueryRequest method. 443 // req, resp := client.GetGroupQueryRequest(params) 444 // 445 // err := req.Send() 446 // if err == nil { // resp is now filled 447 // fmt.Println(resp) 448 // } 449 // 450 // See also, https://docs.aws.amazon.com/goto/WebAPI/resource-groups-2017-11-27/GetGroupQuery 451 func (c *ResourceGroups) GetGroupQueryRequest(input *GetGroupQueryInput) (req *request.Request, output *GetGroupQueryOutput) { 452 op := &request.Operation{ 453 Name: opGetGroupQuery, 454 HTTPMethod: "POST", 455 HTTPPath: "/get-group-query", 456 } 457 458 if input == nil { 459 input = &GetGroupQueryInput{} 460 } 461 462 output = &GetGroupQueryOutput{} 463 req = c.newRequest(op, input, output) 464 return 465 } 466 467 // GetGroupQuery API operation for AWS Resource Groups. 468 // 469 // Retrieves the resource query associated with the specified resource group. 470 // For more information about resource queries, see Create a tag-based group 471 // in Resource Groups (https://docs.aws.amazon.com/ARG/latest/userguide/gettingstarted-query.html#gettingstarted-query-cli-tag). 472 // 473 // Minimum permissions 474 // 475 // To run this command, you must have the following permissions: 476 // 477 // * resource-groups:GetGroupQuery 478 // 479 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 480 // with awserr.Error's Code and Message methods to get detailed information about 481 // the error. 482 // 483 // See the AWS API reference guide for AWS Resource Groups's 484 // API operation GetGroupQuery for usage and error information. 485 // 486 // Returned Error Types: 487 // * BadRequestException 488 // The request includes one or more parameters that violate validation rules. 489 // 490 // * ForbiddenException 491 // The caller isn't authorized to make the request. Check permissions. 492 // 493 // * NotFoundException 494 // One or more of the specified resources don't exist. 495 // 496 // * MethodNotAllowedException 497 // The request uses an HTTP method that isn't allowed for the specified resource. 498 // 499 // * TooManyRequestsException 500 // You've exceeded throttling limits by making too many requests in a period 501 // of time. 502 // 503 // * InternalServerErrorException 504 // An internal error occurred while processing the request. Try again later. 505 // 506 // See also, https://docs.aws.amazon.com/goto/WebAPI/resource-groups-2017-11-27/GetGroupQuery 507 func (c *ResourceGroups) GetGroupQuery(input *GetGroupQueryInput) (*GetGroupQueryOutput, error) { 508 req, out := c.GetGroupQueryRequest(input) 509 return out, req.Send() 510 } 511 512 // GetGroupQueryWithContext is the same as GetGroupQuery with the addition of 513 // the ability to pass a context and additional request options. 514 // 515 // See GetGroupQuery for details on how to use this API operation. 516 // 517 // The context must be non-nil and will be used for request cancellation. If 518 // the context is nil a panic will occur. In the future the SDK may create 519 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 520 // for more information on using Contexts. 521 func (c *ResourceGroups) GetGroupQueryWithContext(ctx aws.Context, input *GetGroupQueryInput, opts ...request.Option) (*GetGroupQueryOutput, error) { 522 req, out := c.GetGroupQueryRequest(input) 523 req.SetContext(ctx) 524 req.ApplyOptions(opts...) 525 return out, req.Send() 526 } 527 528 const opGetTags = "GetTags" 529 530 // GetTagsRequest generates a "aws/request.Request" representing the 531 // client's request for the GetTags operation. The "output" return 532 // value will be populated with the request's response once the request completes 533 // successfully. 534 // 535 // Use "Send" method on the returned Request to send the API call to the service. 536 // the "output" return value is not valid until after Send returns without error. 537 // 538 // See GetTags for more information on using the GetTags 539 // API call, and error handling. 540 // 541 // This method is useful when you want to inject custom logic or configuration 542 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 543 // 544 // 545 // // Example sending a request using the GetTagsRequest method. 546 // req, resp := client.GetTagsRequest(params) 547 // 548 // err := req.Send() 549 // if err == nil { // resp is now filled 550 // fmt.Println(resp) 551 // } 552 // 553 // See also, https://docs.aws.amazon.com/goto/WebAPI/resource-groups-2017-11-27/GetTags 554 func (c *ResourceGroups) GetTagsRequest(input *GetTagsInput) (req *request.Request, output *GetTagsOutput) { 555 op := &request.Operation{ 556 Name: opGetTags, 557 HTTPMethod: "GET", 558 HTTPPath: "/resources/{Arn}/tags", 559 } 560 561 if input == nil { 562 input = &GetTagsInput{} 563 } 564 565 output = &GetTagsOutput{} 566 req = c.newRequest(op, input, output) 567 return 568 } 569 570 // GetTags API operation for AWS Resource Groups. 571 // 572 // Returns a list of tags that are associated with a resource group, specified 573 // by an ARN. 574 // 575 // Minimum permissions 576 // 577 // To run this command, you must have the following permissions: 578 // 579 // * resource-groups:GetTags 580 // 581 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 582 // with awserr.Error's Code and Message methods to get detailed information about 583 // the error. 584 // 585 // See the AWS API reference guide for AWS Resource Groups's 586 // API operation GetTags for usage and error information. 587 // 588 // Returned Error Types: 589 // * BadRequestException 590 // The request includes one or more parameters that violate validation rules. 591 // 592 // * ForbiddenException 593 // The caller isn't authorized to make the request. Check permissions. 594 // 595 // * NotFoundException 596 // One or more of the specified resources don't exist. 597 // 598 // * MethodNotAllowedException 599 // The request uses an HTTP method that isn't allowed for the specified resource. 600 // 601 // * TooManyRequestsException 602 // You've exceeded throttling limits by making too many requests in a period 603 // of time. 604 // 605 // * InternalServerErrorException 606 // An internal error occurred while processing the request. Try again later. 607 // 608 // See also, https://docs.aws.amazon.com/goto/WebAPI/resource-groups-2017-11-27/GetTags 609 func (c *ResourceGroups) GetTags(input *GetTagsInput) (*GetTagsOutput, error) { 610 req, out := c.GetTagsRequest(input) 611 return out, req.Send() 612 } 613 614 // GetTagsWithContext is the same as GetTags with the addition of 615 // the ability to pass a context and additional request options. 616 // 617 // See GetTags for details on how to use this API operation. 618 // 619 // The context must be non-nil and will be used for request cancellation. If 620 // the context is nil a panic will occur. In the future the SDK may create 621 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 622 // for more information on using Contexts. 623 func (c *ResourceGroups) GetTagsWithContext(ctx aws.Context, input *GetTagsInput, opts ...request.Option) (*GetTagsOutput, error) { 624 req, out := c.GetTagsRequest(input) 625 req.SetContext(ctx) 626 req.ApplyOptions(opts...) 627 return out, req.Send() 628 } 629 630 const opGroupResources = "GroupResources" 631 632 // GroupResourcesRequest generates a "aws/request.Request" representing the 633 // client's request for the GroupResources operation. The "output" return 634 // value will be populated with the request's response once the request completes 635 // successfully. 636 // 637 // Use "Send" method on the returned Request to send the API call to the service. 638 // the "output" return value is not valid until after Send returns without error. 639 // 640 // See GroupResources for more information on using the GroupResources 641 // API call, and error handling. 642 // 643 // This method is useful when you want to inject custom logic or configuration 644 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 645 // 646 // 647 // // Example sending a request using the GroupResourcesRequest method. 648 // req, resp := client.GroupResourcesRequest(params) 649 // 650 // err := req.Send() 651 // if err == nil { // resp is now filled 652 // fmt.Println(resp) 653 // } 654 // 655 // See also, https://docs.aws.amazon.com/goto/WebAPI/resource-groups-2017-11-27/GroupResources 656 func (c *ResourceGroups) GroupResourcesRequest(input *GroupResourcesInput) (req *request.Request, output *GroupResourcesOutput) { 657 op := &request.Operation{ 658 Name: opGroupResources, 659 HTTPMethod: "POST", 660 HTTPPath: "/group-resources", 661 } 662 663 if input == nil { 664 input = &GroupResourcesInput{} 665 } 666 667 output = &GroupResourcesOutput{} 668 req = c.newRequest(op, input, output) 669 return 670 } 671 672 // GroupResources API operation for AWS Resource Groups. 673 // 674 // Adds the specified resources to the specified group. 675 // 676 // Minimum permissions 677 // 678 // To run this command, you must have the following permissions: 679 // 680 // * resource-groups:GroupResources 681 // 682 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 683 // with awserr.Error's Code and Message methods to get detailed information about 684 // the error. 685 // 686 // See the AWS API reference guide for AWS Resource Groups's 687 // API operation GroupResources for usage and error information. 688 // 689 // Returned Error Types: 690 // * BadRequestException 691 // The request includes one or more parameters that violate validation rules. 692 // 693 // * ForbiddenException 694 // The caller isn't authorized to make the request. Check permissions. 695 // 696 // * NotFoundException 697 // One or more of the specified resources don't exist. 698 // 699 // * MethodNotAllowedException 700 // The request uses an HTTP method that isn't allowed for the specified resource. 701 // 702 // * TooManyRequestsException 703 // You've exceeded throttling limits by making too many requests in a period 704 // of time. 705 // 706 // * InternalServerErrorException 707 // An internal error occurred while processing the request. Try again later. 708 // 709 // See also, https://docs.aws.amazon.com/goto/WebAPI/resource-groups-2017-11-27/GroupResources 710 func (c *ResourceGroups) GroupResources(input *GroupResourcesInput) (*GroupResourcesOutput, error) { 711 req, out := c.GroupResourcesRequest(input) 712 return out, req.Send() 713 } 714 715 // GroupResourcesWithContext is the same as GroupResources with the addition of 716 // the ability to pass a context and additional request options. 717 // 718 // See GroupResources for details on how to use this API operation. 719 // 720 // The context must be non-nil and will be used for request cancellation. If 721 // the context is nil a panic will occur. In the future the SDK may create 722 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 723 // for more information on using Contexts. 724 func (c *ResourceGroups) GroupResourcesWithContext(ctx aws.Context, input *GroupResourcesInput, opts ...request.Option) (*GroupResourcesOutput, error) { 725 req, out := c.GroupResourcesRequest(input) 726 req.SetContext(ctx) 727 req.ApplyOptions(opts...) 728 return out, req.Send() 729 } 730 731 const opListGroupResources = "ListGroupResources" 732 733 // ListGroupResourcesRequest generates a "aws/request.Request" representing the 734 // client's request for the ListGroupResources operation. The "output" return 735 // value will be populated with the request's response once the request completes 736 // successfully. 737 // 738 // Use "Send" method on the returned Request to send the API call to the service. 739 // the "output" return value is not valid until after Send returns without error. 740 // 741 // See ListGroupResources for more information on using the ListGroupResources 742 // API call, and error handling. 743 // 744 // This method is useful when you want to inject custom logic or configuration 745 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 746 // 747 // 748 // // Example sending a request using the ListGroupResourcesRequest method. 749 // req, resp := client.ListGroupResourcesRequest(params) 750 // 751 // err := req.Send() 752 // if err == nil { // resp is now filled 753 // fmt.Println(resp) 754 // } 755 // 756 // See also, https://docs.aws.amazon.com/goto/WebAPI/resource-groups-2017-11-27/ListGroupResources 757 func (c *ResourceGroups) ListGroupResourcesRequest(input *ListGroupResourcesInput) (req *request.Request, output *ListGroupResourcesOutput) { 758 op := &request.Operation{ 759 Name: opListGroupResources, 760 HTTPMethod: "POST", 761 HTTPPath: "/list-group-resources", 762 Paginator: &request.Paginator{ 763 InputTokens: []string{"NextToken"}, 764 OutputTokens: []string{"NextToken"}, 765 LimitToken: "MaxResults", 766 TruncationToken: "", 767 }, 768 } 769 770 if input == nil { 771 input = &ListGroupResourcesInput{} 772 } 773 774 output = &ListGroupResourcesOutput{} 775 req = c.newRequest(op, input, output) 776 return 777 } 778 779 // ListGroupResources API operation for AWS Resource Groups. 780 // 781 // Returns a list of ARNs of the resources that are members of a specified resource 782 // group. 783 // 784 // Minimum permissions 785 // 786 // To run this command, you must have the following permissions: 787 // 788 // * resource-groups:ListGroupResources 789 // 790 // * cloudformation:DescribeStacks 791 // 792 // * cloudformation:ListStackResources 793 // 794 // * tag:GetResources 795 // 796 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 797 // with awserr.Error's Code and Message methods to get detailed information about 798 // the error. 799 // 800 // See the AWS API reference guide for AWS Resource Groups's 801 // API operation ListGroupResources for usage and error information. 802 // 803 // Returned Error Types: 804 // * UnauthorizedException 805 // The request was rejected because it doesn't have valid credentials for the 806 // target resource. 807 // 808 // * BadRequestException 809 // The request includes one or more parameters that violate validation rules. 810 // 811 // * ForbiddenException 812 // The caller isn't authorized to make the request. Check permissions. 813 // 814 // * NotFoundException 815 // One or more of the specified resources don't exist. 816 // 817 // * MethodNotAllowedException 818 // The request uses an HTTP method that isn't allowed for the specified resource. 819 // 820 // * TooManyRequestsException 821 // You've exceeded throttling limits by making too many requests in a period 822 // of time. 823 // 824 // * InternalServerErrorException 825 // An internal error occurred while processing the request. Try again later. 826 // 827 // See also, https://docs.aws.amazon.com/goto/WebAPI/resource-groups-2017-11-27/ListGroupResources 828 func (c *ResourceGroups) ListGroupResources(input *ListGroupResourcesInput) (*ListGroupResourcesOutput, error) { 829 req, out := c.ListGroupResourcesRequest(input) 830 return out, req.Send() 831 } 832 833 // ListGroupResourcesWithContext is the same as ListGroupResources with the addition of 834 // the ability to pass a context and additional request options. 835 // 836 // See ListGroupResources 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 *ResourceGroups) ListGroupResourcesWithContext(ctx aws.Context, input *ListGroupResourcesInput, opts ...request.Option) (*ListGroupResourcesOutput, error) { 843 req, out := c.ListGroupResourcesRequest(input) 844 req.SetContext(ctx) 845 req.ApplyOptions(opts...) 846 return out, req.Send() 847 } 848 849 // ListGroupResourcesPages iterates over the pages of a ListGroupResources operation, 850 // calling the "fn" function with the response data for each page. To stop 851 // iterating, return false from the fn function. 852 // 853 // See ListGroupResources method for more information on how to use this operation. 854 // 855 // Note: This operation can generate multiple requests to a service. 856 // 857 // // Example iterating over at most 3 pages of a ListGroupResources operation. 858 // pageNum := 0 859 // err := client.ListGroupResourcesPages(params, 860 // func(page *resourcegroups.ListGroupResourcesOutput, lastPage bool) bool { 861 // pageNum++ 862 // fmt.Println(page) 863 // return pageNum <= 3 864 // }) 865 // 866 func (c *ResourceGroups) ListGroupResourcesPages(input *ListGroupResourcesInput, fn func(*ListGroupResourcesOutput, bool) bool) error { 867 return c.ListGroupResourcesPagesWithContext(aws.BackgroundContext(), input, fn) 868 } 869 870 // ListGroupResourcesPagesWithContext same as ListGroupResourcesPages except 871 // it takes a Context and allows setting request options on the pages. 872 // 873 // The context must be non-nil and will be used for request cancellation. If 874 // the context is nil a panic will occur. In the future the SDK may create 875 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 876 // for more information on using Contexts. 877 func (c *ResourceGroups) ListGroupResourcesPagesWithContext(ctx aws.Context, input *ListGroupResourcesInput, fn func(*ListGroupResourcesOutput, bool) bool, opts ...request.Option) error { 878 p := request.Pagination{ 879 NewRequest: func() (*request.Request, error) { 880 var inCpy *ListGroupResourcesInput 881 if input != nil { 882 tmp := *input 883 inCpy = &tmp 884 } 885 req, _ := c.ListGroupResourcesRequest(inCpy) 886 req.SetContext(ctx) 887 req.ApplyOptions(opts...) 888 return req, nil 889 }, 890 } 891 892 for p.Next() { 893 if !fn(p.Page().(*ListGroupResourcesOutput), !p.HasNextPage()) { 894 break 895 } 896 } 897 898 return p.Err() 899 } 900 901 const opListGroups = "ListGroups" 902 903 // ListGroupsRequest generates a "aws/request.Request" representing the 904 // client's request for the ListGroups operation. The "output" return 905 // value will be populated with the request's response once the request completes 906 // successfully. 907 // 908 // Use "Send" method on the returned Request to send the API call to the service. 909 // the "output" return value is not valid until after Send returns without error. 910 // 911 // See ListGroups for more information on using the ListGroups 912 // API call, and error handling. 913 // 914 // This method is useful when you want to inject custom logic or configuration 915 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 916 // 917 // 918 // // Example sending a request using the ListGroupsRequest method. 919 // req, resp := client.ListGroupsRequest(params) 920 // 921 // err := req.Send() 922 // if err == nil { // resp is now filled 923 // fmt.Println(resp) 924 // } 925 // 926 // See also, https://docs.aws.amazon.com/goto/WebAPI/resource-groups-2017-11-27/ListGroups 927 func (c *ResourceGroups) ListGroupsRequest(input *ListGroupsInput) (req *request.Request, output *ListGroupsOutput) { 928 op := &request.Operation{ 929 Name: opListGroups, 930 HTTPMethod: "POST", 931 HTTPPath: "/groups-list", 932 Paginator: &request.Paginator{ 933 InputTokens: []string{"NextToken"}, 934 OutputTokens: []string{"NextToken"}, 935 LimitToken: "MaxResults", 936 TruncationToken: "", 937 }, 938 } 939 940 if input == nil { 941 input = &ListGroupsInput{} 942 } 943 944 output = &ListGroupsOutput{} 945 req = c.newRequest(op, input, output) 946 return 947 } 948 949 // ListGroups API operation for AWS Resource Groups. 950 // 951 // Returns a list of existing resource groups in your account. 952 // 953 // Minimum permissions 954 // 955 // To run this command, you must have the following permissions: 956 // 957 // * resource-groups:ListGroups 958 // 959 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 960 // with awserr.Error's Code and Message methods to get detailed information about 961 // the error. 962 // 963 // See the AWS API reference guide for AWS Resource Groups's 964 // API operation ListGroups for usage and error information. 965 // 966 // Returned Error Types: 967 // * BadRequestException 968 // The request includes one or more parameters that violate validation rules. 969 // 970 // * ForbiddenException 971 // The caller isn't authorized to make the request. Check permissions. 972 // 973 // * MethodNotAllowedException 974 // The request uses an HTTP method that isn't allowed for the specified resource. 975 // 976 // * TooManyRequestsException 977 // You've exceeded throttling limits by making too many requests in a period 978 // of time. 979 // 980 // * InternalServerErrorException 981 // An internal error occurred while processing the request. Try again later. 982 // 983 // See also, https://docs.aws.amazon.com/goto/WebAPI/resource-groups-2017-11-27/ListGroups 984 func (c *ResourceGroups) ListGroups(input *ListGroupsInput) (*ListGroupsOutput, error) { 985 req, out := c.ListGroupsRequest(input) 986 return out, req.Send() 987 } 988 989 // ListGroupsWithContext is the same as ListGroups with the addition of 990 // the ability to pass a context and additional request options. 991 // 992 // See ListGroups for details on how to use this API operation. 993 // 994 // The context must be non-nil and will be used for request cancellation. If 995 // the context is nil a panic will occur. In the future the SDK may create 996 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 997 // for more information on using Contexts. 998 func (c *ResourceGroups) ListGroupsWithContext(ctx aws.Context, input *ListGroupsInput, opts ...request.Option) (*ListGroupsOutput, error) { 999 req, out := c.ListGroupsRequest(input) 1000 req.SetContext(ctx) 1001 req.ApplyOptions(opts...) 1002 return out, req.Send() 1003 } 1004 1005 // ListGroupsPages iterates over the pages of a ListGroups operation, 1006 // calling the "fn" function with the response data for each page. To stop 1007 // iterating, return false from the fn function. 1008 // 1009 // See ListGroups method for more information on how to use this operation. 1010 // 1011 // Note: This operation can generate multiple requests to a service. 1012 // 1013 // // Example iterating over at most 3 pages of a ListGroups operation. 1014 // pageNum := 0 1015 // err := client.ListGroupsPages(params, 1016 // func(page *resourcegroups.ListGroupsOutput, lastPage bool) bool { 1017 // pageNum++ 1018 // fmt.Println(page) 1019 // return pageNum <= 3 1020 // }) 1021 // 1022 func (c *ResourceGroups) ListGroupsPages(input *ListGroupsInput, fn func(*ListGroupsOutput, bool) bool) error { 1023 return c.ListGroupsPagesWithContext(aws.BackgroundContext(), input, fn) 1024 } 1025 1026 // ListGroupsPagesWithContext same as ListGroupsPages except 1027 // it takes a Context and allows setting request options on the pages. 1028 // 1029 // The context must be non-nil and will be used for request cancellation. If 1030 // the context is nil a panic will occur. In the future the SDK may create 1031 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1032 // for more information on using Contexts. 1033 func (c *ResourceGroups) ListGroupsPagesWithContext(ctx aws.Context, input *ListGroupsInput, fn func(*ListGroupsOutput, bool) bool, opts ...request.Option) error { 1034 p := request.Pagination{ 1035 NewRequest: func() (*request.Request, error) { 1036 var inCpy *ListGroupsInput 1037 if input != nil { 1038 tmp := *input 1039 inCpy = &tmp 1040 } 1041 req, _ := c.ListGroupsRequest(inCpy) 1042 req.SetContext(ctx) 1043 req.ApplyOptions(opts...) 1044 return req, nil 1045 }, 1046 } 1047 1048 for p.Next() { 1049 if !fn(p.Page().(*ListGroupsOutput), !p.HasNextPage()) { 1050 break 1051 } 1052 } 1053 1054 return p.Err() 1055 } 1056 1057 const opPutGroupConfiguration = "PutGroupConfiguration" 1058 1059 // PutGroupConfigurationRequest generates a "aws/request.Request" representing the 1060 // client's request for the PutGroupConfiguration operation. The "output" return 1061 // value will be populated with the request's response once the request completes 1062 // successfully. 1063 // 1064 // Use "Send" method on the returned Request to send the API call to the service. 1065 // the "output" return value is not valid until after Send returns without error. 1066 // 1067 // See PutGroupConfiguration for more information on using the PutGroupConfiguration 1068 // API call, and error handling. 1069 // 1070 // This method is useful when you want to inject custom logic or configuration 1071 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 1072 // 1073 // 1074 // // Example sending a request using the PutGroupConfigurationRequest method. 1075 // req, resp := client.PutGroupConfigurationRequest(params) 1076 // 1077 // err := req.Send() 1078 // if err == nil { // resp is now filled 1079 // fmt.Println(resp) 1080 // } 1081 // 1082 // See also, https://docs.aws.amazon.com/goto/WebAPI/resource-groups-2017-11-27/PutGroupConfiguration 1083 func (c *ResourceGroups) PutGroupConfigurationRequest(input *PutGroupConfigurationInput) (req *request.Request, output *PutGroupConfigurationOutput) { 1084 op := &request.Operation{ 1085 Name: opPutGroupConfiguration, 1086 HTTPMethod: "POST", 1087 HTTPPath: "/put-group-configuration", 1088 } 1089 1090 if input == nil { 1091 input = &PutGroupConfigurationInput{} 1092 } 1093 1094 output = &PutGroupConfigurationOutput{} 1095 req = c.newRequest(op, input, output) 1096 req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 1097 return 1098 } 1099 1100 // PutGroupConfiguration API operation for AWS Resource Groups. 1101 // 1102 // Attaches a service configuration to the specified group. This occurs asynchronously, 1103 // and can take time to complete. You can use GetGroupConfiguration to check 1104 // the status of the update. 1105 // 1106 // Minimum permissions 1107 // 1108 // To run this command, you must have the following permissions: 1109 // 1110 // * resource-groups:PutGroupConfiguration 1111 // 1112 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1113 // with awserr.Error's Code and Message methods to get detailed information about 1114 // the error. 1115 // 1116 // See the AWS API reference guide for AWS Resource Groups's 1117 // API operation PutGroupConfiguration for usage and error information. 1118 // 1119 // Returned Error Types: 1120 // * BadRequestException 1121 // The request includes one or more parameters that violate validation rules. 1122 // 1123 // * ForbiddenException 1124 // The caller isn't authorized to make the request. Check permissions. 1125 // 1126 // * NotFoundException 1127 // One or more of the specified resources don't exist. 1128 // 1129 // * MethodNotAllowedException 1130 // The request uses an HTTP method that isn't allowed for the specified resource. 1131 // 1132 // * TooManyRequestsException 1133 // You've exceeded throttling limits by making too many requests in a period 1134 // of time. 1135 // 1136 // * InternalServerErrorException 1137 // An internal error occurred while processing the request. Try again later. 1138 // 1139 // See also, https://docs.aws.amazon.com/goto/WebAPI/resource-groups-2017-11-27/PutGroupConfiguration 1140 func (c *ResourceGroups) PutGroupConfiguration(input *PutGroupConfigurationInput) (*PutGroupConfigurationOutput, error) { 1141 req, out := c.PutGroupConfigurationRequest(input) 1142 return out, req.Send() 1143 } 1144 1145 // PutGroupConfigurationWithContext is the same as PutGroupConfiguration with the addition of 1146 // the ability to pass a context and additional request options. 1147 // 1148 // See PutGroupConfiguration for details on how to use this API operation. 1149 // 1150 // The context must be non-nil and will be used for request cancellation. If 1151 // the context is nil a panic will occur. In the future the SDK may create 1152 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1153 // for more information on using Contexts. 1154 func (c *ResourceGroups) PutGroupConfigurationWithContext(ctx aws.Context, input *PutGroupConfigurationInput, opts ...request.Option) (*PutGroupConfigurationOutput, error) { 1155 req, out := c.PutGroupConfigurationRequest(input) 1156 req.SetContext(ctx) 1157 req.ApplyOptions(opts...) 1158 return out, req.Send() 1159 } 1160 1161 const opSearchResources = "SearchResources" 1162 1163 // SearchResourcesRequest generates a "aws/request.Request" representing the 1164 // client's request for the SearchResources operation. The "output" return 1165 // value will be populated with the request's response once the request completes 1166 // successfully. 1167 // 1168 // Use "Send" method on the returned Request to send the API call to the service. 1169 // the "output" return value is not valid until after Send returns without error. 1170 // 1171 // See SearchResources for more information on using the SearchResources 1172 // API call, and error handling. 1173 // 1174 // This method is useful when you want to inject custom logic or configuration 1175 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 1176 // 1177 // 1178 // // Example sending a request using the SearchResourcesRequest method. 1179 // req, resp := client.SearchResourcesRequest(params) 1180 // 1181 // err := req.Send() 1182 // if err == nil { // resp is now filled 1183 // fmt.Println(resp) 1184 // } 1185 // 1186 // See also, https://docs.aws.amazon.com/goto/WebAPI/resource-groups-2017-11-27/SearchResources 1187 func (c *ResourceGroups) SearchResourcesRequest(input *SearchResourcesInput) (req *request.Request, output *SearchResourcesOutput) { 1188 op := &request.Operation{ 1189 Name: opSearchResources, 1190 HTTPMethod: "POST", 1191 HTTPPath: "/resources/search", 1192 Paginator: &request.Paginator{ 1193 InputTokens: []string{"NextToken"}, 1194 OutputTokens: []string{"NextToken"}, 1195 LimitToken: "MaxResults", 1196 TruncationToken: "", 1197 }, 1198 } 1199 1200 if input == nil { 1201 input = &SearchResourcesInput{} 1202 } 1203 1204 output = &SearchResourcesOutput{} 1205 req = c.newRequest(op, input, output) 1206 return 1207 } 1208 1209 // SearchResources API operation for AWS Resource Groups. 1210 // 1211 // Returns a list of AWS resource identifiers that matches the specified query. 1212 // The query uses the same format as a resource query in a CreateGroup or UpdateGroupQuery 1213 // operation. 1214 // 1215 // Minimum permissions 1216 // 1217 // To run this command, you must have the following permissions: 1218 // 1219 // * resource-groups:SearchResources 1220 // 1221 // * cloudformation:DescribeStacks 1222 // 1223 // * cloudformation:ListStackResources 1224 // 1225 // * tag:GetResources 1226 // 1227 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1228 // with awserr.Error's Code and Message methods to get detailed information about 1229 // the error. 1230 // 1231 // See the AWS API reference guide for AWS Resource Groups's 1232 // API operation SearchResources for usage and error information. 1233 // 1234 // Returned Error Types: 1235 // * UnauthorizedException 1236 // The request was rejected because it doesn't have valid credentials for the 1237 // target resource. 1238 // 1239 // * BadRequestException 1240 // The request includes one or more parameters that violate validation rules. 1241 // 1242 // * ForbiddenException 1243 // The caller isn't authorized to make the request. Check permissions. 1244 // 1245 // * MethodNotAllowedException 1246 // The request uses an HTTP method that isn't allowed for the specified resource. 1247 // 1248 // * TooManyRequestsException 1249 // You've exceeded throttling limits by making too many requests in a period 1250 // of time. 1251 // 1252 // * InternalServerErrorException 1253 // An internal error occurred while processing the request. Try again later. 1254 // 1255 // See also, https://docs.aws.amazon.com/goto/WebAPI/resource-groups-2017-11-27/SearchResources 1256 func (c *ResourceGroups) SearchResources(input *SearchResourcesInput) (*SearchResourcesOutput, error) { 1257 req, out := c.SearchResourcesRequest(input) 1258 return out, req.Send() 1259 } 1260 1261 // SearchResourcesWithContext is the same as SearchResources with the addition of 1262 // the ability to pass a context and additional request options. 1263 // 1264 // See SearchResources for details on how to use this API operation. 1265 // 1266 // The context must be non-nil and will be used for request cancellation. If 1267 // the context is nil a panic will occur. In the future the SDK may create 1268 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1269 // for more information on using Contexts. 1270 func (c *ResourceGroups) SearchResourcesWithContext(ctx aws.Context, input *SearchResourcesInput, opts ...request.Option) (*SearchResourcesOutput, error) { 1271 req, out := c.SearchResourcesRequest(input) 1272 req.SetContext(ctx) 1273 req.ApplyOptions(opts...) 1274 return out, req.Send() 1275 } 1276 1277 // SearchResourcesPages iterates over the pages of a SearchResources operation, 1278 // calling the "fn" function with the response data for each page. To stop 1279 // iterating, return false from the fn function. 1280 // 1281 // See SearchResources method for more information on how to use this operation. 1282 // 1283 // Note: This operation can generate multiple requests to a service. 1284 // 1285 // // Example iterating over at most 3 pages of a SearchResources operation. 1286 // pageNum := 0 1287 // err := client.SearchResourcesPages(params, 1288 // func(page *resourcegroups.SearchResourcesOutput, lastPage bool) bool { 1289 // pageNum++ 1290 // fmt.Println(page) 1291 // return pageNum <= 3 1292 // }) 1293 // 1294 func (c *ResourceGroups) SearchResourcesPages(input *SearchResourcesInput, fn func(*SearchResourcesOutput, bool) bool) error { 1295 return c.SearchResourcesPagesWithContext(aws.BackgroundContext(), input, fn) 1296 } 1297 1298 // SearchResourcesPagesWithContext same as SearchResourcesPages except 1299 // it takes a Context and allows setting request options on the pages. 1300 // 1301 // The context must be non-nil and will be used for request cancellation. If 1302 // the context is nil a panic will occur. In the future the SDK may create 1303 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1304 // for more information on using Contexts. 1305 func (c *ResourceGroups) SearchResourcesPagesWithContext(ctx aws.Context, input *SearchResourcesInput, fn func(*SearchResourcesOutput, bool) bool, opts ...request.Option) error { 1306 p := request.Pagination{ 1307 NewRequest: func() (*request.Request, error) { 1308 var inCpy *SearchResourcesInput 1309 if input != nil { 1310 tmp := *input 1311 inCpy = &tmp 1312 } 1313 req, _ := c.SearchResourcesRequest(inCpy) 1314 req.SetContext(ctx) 1315 req.ApplyOptions(opts...) 1316 return req, nil 1317 }, 1318 } 1319 1320 for p.Next() { 1321 if !fn(p.Page().(*SearchResourcesOutput), !p.HasNextPage()) { 1322 break 1323 } 1324 } 1325 1326 return p.Err() 1327 } 1328 1329 const opTag = "Tag" 1330 1331 // TagRequest generates a "aws/request.Request" representing the 1332 // client's request for the Tag operation. The "output" return 1333 // value will be populated with the request's response once the request completes 1334 // successfully. 1335 // 1336 // Use "Send" method on the returned Request to send the API call to the service. 1337 // the "output" return value is not valid until after Send returns without error. 1338 // 1339 // See Tag for more information on using the Tag 1340 // API call, and error handling. 1341 // 1342 // This method is useful when you want to inject custom logic or configuration 1343 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 1344 // 1345 // 1346 // // Example sending a request using the TagRequest method. 1347 // req, resp := client.TagRequest(params) 1348 // 1349 // err := req.Send() 1350 // if err == nil { // resp is now filled 1351 // fmt.Println(resp) 1352 // } 1353 // 1354 // See also, https://docs.aws.amazon.com/goto/WebAPI/resource-groups-2017-11-27/Tag 1355 func (c *ResourceGroups) TagRequest(input *TagInput) (req *request.Request, output *TagOutput) { 1356 op := &request.Operation{ 1357 Name: opTag, 1358 HTTPMethod: "PUT", 1359 HTTPPath: "/resources/{Arn}/tags", 1360 } 1361 1362 if input == nil { 1363 input = &TagInput{} 1364 } 1365 1366 output = &TagOutput{} 1367 req = c.newRequest(op, input, output) 1368 return 1369 } 1370 1371 // Tag API operation for AWS Resource Groups. 1372 // 1373 // Adds tags to a resource group with the specified ARN. Existing tags on a 1374 // resource group are not changed if they are not specified in the request parameters. 1375 // 1376 // Do not store personally identifiable information (PII) or other confidential 1377 // or sensitive information in tags. We use tags to provide you with billing 1378 // and administration services. Tags are not intended to be used for private 1379 // or sensitive data. 1380 // 1381 // Minimum permissions 1382 // 1383 // To run this command, you must have the following permissions: 1384 // 1385 // * resource-groups:Tag 1386 // 1387 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1388 // with awserr.Error's Code and Message methods to get detailed information about 1389 // the error. 1390 // 1391 // See the AWS API reference guide for AWS Resource Groups's 1392 // API operation Tag for usage and error information. 1393 // 1394 // Returned Error Types: 1395 // * BadRequestException 1396 // The request includes one or more parameters that violate validation rules. 1397 // 1398 // * ForbiddenException 1399 // The caller isn't authorized to make the request. Check permissions. 1400 // 1401 // * NotFoundException 1402 // One or more of the specified resources don't exist. 1403 // 1404 // * MethodNotAllowedException 1405 // The request uses an HTTP method that isn't allowed for the specified resource. 1406 // 1407 // * TooManyRequestsException 1408 // You've exceeded throttling limits by making too many requests in a period 1409 // of time. 1410 // 1411 // * InternalServerErrorException 1412 // An internal error occurred while processing the request. Try again later. 1413 // 1414 // See also, https://docs.aws.amazon.com/goto/WebAPI/resource-groups-2017-11-27/Tag 1415 func (c *ResourceGroups) Tag(input *TagInput) (*TagOutput, error) { 1416 req, out := c.TagRequest(input) 1417 return out, req.Send() 1418 } 1419 1420 // TagWithContext is the same as Tag with the addition of 1421 // the ability to pass a context and additional request options. 1422 // 1423 // See Tag for details on how to use this API operation. 1424 // 1425 // The context must be non-nil and will be used for request cancellation. If 1426 // the context is nil a panic will occur. In the future the SDK may create 1427 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1428 // for more information on using Contexts. 1429 func (c *ResourceGroups) TagWithContext(ctx aws.Context, input *TagInput, opts ...request.Option) (*TagOutput, error) { 1430 req, out := c.TagRequest(input) 1431 req.SetContext(ctx) 1432 req.ApplyOptions(opts...) 1433 return out, req.Send() 1434 } 1435 1436 const opUngroupResources = "UngroupResources" 1437 1438 // UngroupResourcesRequest generates a "aws/request.Request" representing the 1439 // client's request for the UngroupResources operation. The "output" return 1440 // value will be populated with the request's response once the request completes 1441 // successfully. 1442 // 1443 // Use "Send" method on the returned Request to send the API call to the service. 1444 // the "output" return value is not valid until after Send returns without error. 1445 // 1446 // See UngroupResources for more information on using the UngroupResources 1447 // API call, and error handling. 1448 // 1449 // This method is useful when you want to inject custom logic or configuration 1450 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 1451 // 1452 // 1453 // // Example sending a request using the UngroupResourcesRequest method. 1454 // req, resp := client.UngroupResourcesRequest(params) 1455 // 1456 // err := req.Send() 1457 // if err == nil { // resp is now filled 1458 // fmt.Println(resp) 1459 // } 1460 // 1461 // See also, https://docs.aws.amazon.com/goto/WebAPI/resource-groups-2017-11-27/UngroupResources 1462 func (c *ResourceGroups) UngroupResourcesRequest(input *UngroupResourcesInput) (req *request.Request, output *UngroupResourcesOutput) { 1463 op := &request.Operation{ 1464 Name: opUngroupResources, 1465 HTTPMethod: "POST", 1466 HTTPPath: "/ungroup-resources", 1467 } 1468 1469 if input == nil { 1470 input = &UngroupResourcesInput{} 1471 } 1472 1473 output = &UngroupResourcesOutput{} 1474 req = c.newRequest(op, input, output) 1475 return 1476 } 1477 1478 // UngroupResources API operation for AWS Resource Groups. 1479 // 1480 // Removes the specified resources from the specified group. 1481 // 1482 // Minimum permissions 1483 // 1484 // To run this command, you must have the following permissions: 1485 // 1486 // * resource-groups:UngroupResources 1487 // 1488 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1489 // with awserr.Error's Code and Message methods to get detailed information about 1490 // the error. 1491 // 1492 // See the AWS API reference guide for AWS Resource Groups's 1493 // API operation UngroupResources for usage and error information. 1494 // 1495 // Returned Error Types: 1496 // * BadRequestException 1497 // The request includes one or more parameters that violate validation rules. 1498 // 1499 // * ForbiddenException 1500 // The caller isn't authorized to make the request. Check permissions. 1501 // 1502 // * NotFoundException 1503 // One or more of the specified resources don't exist. 1504 // 1505 // * MethodNotAllowedException 1506 // The request uses an HTTP method that isn't allowed for the specified resource. 1507 // 1508 // * TooManyRequestsException 1509 // You've exceeded throttling limits by making too many requests in a period 1510 // of time. 1511 // 1512 // * InternalServerErrorException 1513 // An internal error occurred while processing the request. Try again later. 1514 // 1515 // See also, https://docs.aws.amazon.com/goto/WebAPI/resource-groups-2017-11-27/UngroupResources 1516 func (c *ResourceGroups) UngroupResources(input *UngroupResourcesInput) (*UngroupResourcesOutput, error) { 1517 req, out := c.UngroupResourcesRequest(input) 1518 return out, req.Send() 1519 } 1520 1521 // UngroupResourcesWithContext is the same as UngroupResources with the addition of 1522 // the ability to pass a context and additional request options. 1523 // 1524 // See UngroupResources for details on how to use this API operation. 1525 // 1526 // The context must be non-nil and will be used for request cancellation. If 1527 // the context is nil a panic will occur. In the future the SDK may create 1528 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1529 // for more information on using Contexts. 1530 func (c *ResourceGroups) UngroupResourcesWithContext(ctx aws.Context, input *UngroupResourcesInput, opts ...request.Option) (*UngroupResourcesOutput, error) { 1531 req, out := c.UngroupResourcesRequest(input) 1532 req.SetContext(ctx) 1533 req.ApplyOptions(opts...) 1534 return out, req.Send() 1535 } 1536 1537 const opUntag = "Untag" 1538 1539 // UntagRequest generates a "aws/request.Request" representing the 1540 // client's request for the Untag operation. The "output" return 1541 // value will be populated with the request's response once the request completes 1542 // successfully. 1543 // 1544 // Use "Send" method on the returned Request to send the API call to the service. 1545 // the "output" return value is not valid until after Send returns without error. 1546 // 1547 // See Untag for more information on using the Untag 1548 // API call, and error handling. 1549 // 1550 // This method is useful when you want to inject custom logic or configuration 1551 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 1552 // 1553 // 1554 // // Example sending a request using the UntagRequest method. 1555 // req, resp := client.UntagRequest(params) 1556 // 1557 // err := req.Send() 1558 // if err == nil { // resp is now filled 1559 // fmt.Println(resp) 1560 // } 1561 // 1562 // See also, https://docs.aws.amazon.com/goto/WebAPI/resource-groups-2017-11-27/Untag 1563 func (c *ResourceGroups) UntagRequest(input *UntagInput) (req *request.Request, output *UntagOutput) { 1564 op := &request.Operation{ 1565 Name: opUntag, 1566 HTTPMethod: "PATCH", 1567 HTTPPath: "/resources/{Arn}/tags", 1568 } 1569 1570 if input == nil { 1571 input = &UntagInput{} 1572 } 1573 1574 output = &UntagOutput{} 1575 req = c.newRequest(op, input, output) 1576 return 1577 } 1578 1579 // Untag API operation for AWS Resource Groups. 1580 // 1581 // Deletes tags from a specified resource group. 1582 // 1583 // Minimum permissions 1584 // 1585 // To run this command, you must have the following permissions: 1586 // 1587 // * resource-groups:Untag 1588 // 1589 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1590 // with awserr.Error's Code and Message methods to get detailed information about 1591 // the error. 1592 // 1593 // See the AWS API reference guide for AWS Resource Groups's 1594 // API operation Untag for usage and error information. 1595 // 1596 // Returned Error Types: 1597 // * BadRequestException 1598 // The request includes one or more parameters that violate validation rules. 1599 // 1600 // * ForbiddenException 1601 // The caller isn't authorized to make the request. Check permissions. 1602 // 1603 // * NotFoundException 1604 // One or more of the specified resources don't exist. 1605 // 1606 // * MethodNotAllowedException 1607 // The request uses an HTTP method that isn't allowed for the specified resource. 1608 // 1609 // * TooManyRequestsException 1610 // You've exceeded throttling limits by making too many requests in a period 1611 // of time. 1612 // 1613 // * InternalServerErrorException 1614 // An internal error occurred while processing the request. Try again later. 1615 // 1616 // See also, https://docs.aws.amazon.com/goto/WebAPI/resource-groups-2017-11-27/Untag 1617 func (c *ResourceGroups) Untag(input *UntagInput) (*UntagOutput, error) { 1618 req, out := c.UntagRequest(input) 1619 return out, req.Send() 1620 } 1621 1622 // UntagWithContext is the same as Untag with the addition of 1623 // the ability to pass a context and additional request options. 1624 // 1625 // See Untag for details on how to use this API operation. 1626 // 1627 // The context must be non-nil and will be used for request cancellation. If 1628 // the context is nil a panic will occur. In the future the SDK may create 1629 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1630 // for more information on using Contexts. 1631 func (c *ResourceGroups) UntagWithContext(ctx aws.Context, input *UntagInput, opts ...request.Option) (*UntagOutput, error) { 1632 req, out := c.UntagRequest(input) 1633 req.SetContext(ctx) 1634 req.ApplyOptions(opts...) 1635 return out, req.Send() 1636 } 1637 1638 const opUpdateGroup = "UpdateGroup" 1639 1640 // UpdateGroupRequest generates a "aws/request.Request" representing the 1641 // client's request for the UpdateGroup operation. The "output" return 1642 // value will be populated with the request's response once the request completes 1643 // successfully. 1644 // 1645 // Use "Send" method on the returned Request to send the API call to the service. 1646 // the "output" return value is not valid until after Send returns without error. 1647 // 1648 // See UpdateGroup for more information on using the UpdateGroup 1649 // API call, and error handling. 1650 // 1651 // This method is useful when you want to inject custom logic or configuration 1652 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 1653 // 1654 // 1655 // // Example sending a request using the UpdateGroupRequest method. 1656 // req, resp := client.UpdateGroupRequest(params) 1657 // 1658 // err := req.Send() 1659 // if err == nil { // resp is now filled 1660 // fmt.Println(resp) 1661 // } 1662 // 1663 // See also, https://docs.aws.amazon.com/goto/WebAPI/resource-groups-2017-11-27/UpdateGroup 1664 func (c *ResourceGroups) UpdateGroupRequest(input *UpdateGroupInput) (req *request.Request, output *UpdateGroupOutput) { 1665 op := &request.Operation{ 1666 Name: opUpdateGroup, 1667 HTTPMethod: "POST", 1668 HTTPPath: "/update-group", 1669 } 1670 1671 if input == nil { 1672 input = &UpdateGroupInput{} 1673 } 1674 1675 output = &UpdateGroupOutput{} 1676 req = c.newRequest(op, input, output) 1677 return 1678 } 1679 1680 // UpdateGroup API operation for AWS Resource Groups. 1681 // 1682 // Updates the description for an existing group. You cannot update the name 1683 // of a resource group. 1684 // 1685 // Minimum permissions 1686 // 1687 // To run this command, you must have the following permissions: 1688 // 1689 // * resource-groups:UpdateGroup 1690 // 1691 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1692 // with awserr.Error's Code and Message methods to get detailed information about 1693 // the error. 1694 // 1695 // See the AWS API reference guide for AWS Resource Groups's 1696 // API operation UpdateGroup for usage and error information. 1697 // 1698 // Returned Error Types: 1699 // * BadRequestException 1700 // The request includes one or more parameters that violate validation rules. 1701 // 1702 // * ForbiddenException 1703 // The caller isn't authorized to make the request. Check permissions. 1704 // 1705 // * NotFoundException 1706 // One or more of the specified resources don't exist. 1707 // 1708 // * MethodNotAllowedException 1709 // The request uses an HTTP method that isn't allowed for the specified resource. 1710 // 1711 // * TooManyRequestsException 1712 // You've exceeded throttling limits by making too many requests in a period 1713 // of time. 1714 // 1715 // * InternalServerErrorException 1716 // An internal error occurred while processing the request. Try again later. 1717 // 1718 // See also, https://docs.aws.amazon.com/goto/WebAPI/resource-groups-2017-11-27/UpdateGroup 1719 func (c *ResourceGroups) UpdateGroup(input *UpdateGroupInput) (*UpdateGroupOutput, error) { 1720 req, out := c.UpdateGroupRequest(input) 1721 return out, req.Send() 1722 } 1723 1724 // UpdateGroupWithContext is the same as UpdateGroup with the addition of 1725 // the ability to pass a context and additional request options. 1726 // 1727 // See UpdateGroup for details on how to use this API operation. 1728 // 1729 // The context must be non-nil and will be used for request cancellation. If 1730 // the context is nil a panic will occur. In the future the SDK may create 1731 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1732 // for more information on using Contexts. 1733 func (c *ResourceGroups) UpdateGroupWithContext(ctx aws.Context, input *UpdateGroupInput, opts ...request.Option) (*UpdateGroupOutput, error) { 1734 req, out := c.UpdateGroupRequest(input) 1735 req.SetContext(ctx) 1736 req.ApplyOptions(opts...) 1737 return out, req.Send() 1738 } 1739 1740 const opUpdateGroupQuery = "UpdateGroupQuery" 1741 1742 // UpdateGroupQueryRequest generates a "aws/request.Request" representing the 1743 // client's request for the UpdateGroupQuery operation. The "output" return 1744 // value will be populated with the request's response once the request completes 1745 // successfully. 1746 // 1747 // Use "Send" method on the returned Request to send the API call to the service. 1748 // the "output" return value is not valid until after Send returns without error. 1749 // 1750 // See UpdateGroupQuery for more information on using the UpdateGroupQuery 1751 // API call, and error handling. 1752 // 1753 // This method is useful when you want to inject custom logic or configuration 1754 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 1755 // 1756 // 1757 // // Example sending a request using the UpdateGroupQueryRequest method. 1758 // req, resp := client.UpdateGroupQueryRequest(params) 1759 // 1760 // err := req.Send() 1761 // if err == nil { // resp is now filled 1762 // fmt.Println(resp) 1763 // } 1764 // 1765 // See also, https://docs.aws.amazon.com/goto/WebAPI/resource-groups-2017-11-27/UpdateGroupQuery 1766 func (c *ResourceGroups) UpdateGroupQueryRequest(input *UpdateGroupQueryInput) (req *request.Request, output *UpdateGroupQueryOutput) { 1767 op := &request.Operation{ 1768 Name: opUpdateGroupQuery, 1769 HTTPMethod: "POST", 1770 HTTPPath: "/update-group-query", 1771 } 1772 1773 if input == nil { 1774 input = &UpdateGroupQueryInput{} 1775 } 1776 1777 output = &UpdateGroupQueryOutput{} 1778 req = c.newRequest(op, input, output) 1779 return 1780 } 1781 1782 // UpdateGroupQuery API operation for AWS Resource Groups. 1783 // 1784 // Updates the resource query of a group. For more information about resource 1785 // queries, see Create a tag-based group in Resource Groups (https://docs.aws.amazon.com/ARG/latest/userguide/gettingstarted-query.html#gettingstarted-query-cli-tag). 1786 // 1787 // Minimum permissions 1788 // 1789 // To run this command, you must have the following permissions: 1790 // 1791 // * resource-groups:UpdateGroupQuery 1792 // 1793 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1794 // with awserr.Error's Code and Message methods to get detailed information about 1795 // the error. 1796 // 1797 // See the AWS API reference guide for AWS Resource Groups's 1798 // API operation UpdateGroupQuery for usage and error information. 1799 // 1800 // Returned Error Types: 1801 // * BadRequestException 1802 // The request includes one or more parameters that violate validation rules. 1803 // 1804 // * ForbiddenException 1805 // The caller isn't authorized to make the request. Check permissions. 1806 // 1807 // * NotFoundException 1808 // One or more of the specified resources don't exist. 1809 // 1810 // * MethodNotAllowedException 1811 // The request uses an HTTP method that isn't allowed for the specified resource. 1812 // 1813 // * TooManyRequestsException 1814 // You've exceeded throttling limits by making too many requests in a period 1815 // of time. 1816 // 1817 // * InternalServerErrorException 1818 // An internal error occurred while processing the request. Try again later. 1819 // 1820 // See also, https://docs.aws.amazon.com/goto/WebAPI/resource-groups-2017-11-27/UpdateGroupQuery 1821 func (c *ResourceGroups) UpdateGroupQuery(input *UpdateGroupQueryInput) (*UpdateGroupQueryOutput, error) { 1822 req, out := c.UpdateGroupQueryRequest(input) 1823 return out, req.Send() 1824 } 1825 1826 // UpdateGroupQueryWithContext is the same as UpdateGroupQuery with the addition of 1827 // the ability to pass a context and additional request options. 1828 // 1829 // See UpdateGroupQuery for details on how to use this API operation. 1830 // 1831 // The context must be non-nil and will be used for request cancellation. If 1832 // the context is nil a panic will occur. In the future the SDK may create 1833 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1834 // for more information on using Contexts. 1835 func (c *ResourceGroups) UpdateGroupQueryWithContext(ctx aws.Context, input *UpdateGroupQueryInput, opts ...request.Option) (*UpdateGroupQueryOutput, error) { 1836 req, out := c.UpdateGroupQueryRequest(input) 1837 req.SetContext(ctx) 1838 req.ApplyOptions(opts...) 1839 return out, req.Send() 1840 } 1841 1842 // The request includes one or more parameters that violate validation rules. 1843 type BadRequestException struct { 1844 _ struct{} `type:"structure"` 1845 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 1846 1847 Message_ *string `locationName:"Message" min:"1" type:"string"` 1848 } 1849 1850 // String returns the string representation. 1851 // 1852 // API parameter values that are decorated as "sensitive" in the API will not 1853 // be included in the string output. The member name will be present, but the 1854 // value will be replaced with "sensitive". 1855 func (s BadRequestException) String() string { 1856 return awsutil.Prettify(s) 1857 } 1858 1859 // GoString returns the string representation. 1860 // 1861 // API parameter values that are decorated as "sensitive" in the API will not 1862 // be included in the string output. The member name will be present, but the 1863 // value will be replaced with "sensitive". 1864 func (s BadRequestException) GoString() string { 1865 return s.String() 1866 } 1867 1868 func newErrorBadRequestException(v protocol.ResponseMetadata) error { 1869 return &BadRequestException{ 1870 RespMetadata: v, 1871 } 1872 } 1873 1874 // Code returns the exception type name. 1875 func (s *BadRequestException) Code() string { 1876 return "BadRequestException" 1877 } 1878 1879 // Message returns the exception's message. 1880 func (s *BadRequestException) Message() string { 1881 if s.Message_ != nil { 1882 return *s.Message_ 1883 } 1884 return "" 1885 } 1886 1887 // OrigErr always returns nil, satisfies awserr.Error interface. 1888 func (s *BadRequestException) OrigErr() error { 1889 return nil 1890 } 1891 1892 func (s *BadRequestException) Error() string { 1893 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 1894 } 1895 1896 // Status code returns the HTTP status code for the request's response error. 1897 func (s *BadRequestException) StatusCode() int { 1898 return s.RespMetadata.StatusCode 1899 } 1900 1901 // RequestID returns the service's response RequestID for request. 1902 func (s *BadRequestException) RequestID() string { 1903 return s.RespMetadata.RequestID 1904 } 1905 1906 type CreateGroupInput struct { 1907 _ struct{} `type:"structure"` 1908 1909 // A configuration associates the resource group with an AWS service and specifies 1910 // how the service can interact with the resources in the group. A configuration 1911 // is an array of GroupConfigurationItem elements. For details about the syntax 1912 // of service configurations, see Service configurations for resource groups 1913 // (https://docs.aws.amazon.com/ARG/latest/APIReference/about-slg.html). 1914 // 1915 // A resource group can contain either a Configuration or a ResourceQuery, but 1916 // not both. 1917 Configuration []*GroupConfigurationItem `type:"list"` 1918 1919 // The description of the resource group. Descriptions can consist of letters, 1920 // numbers, hyphens, underscores, periods, and spaces. 1921 Description *string `type:"string"` 1922 1923 // The name of the group, which is the identifier of the group in other operations. 1924 // You can't change the name of a resource group after you create it. A resource 1925 // group name can consist of letters, numbers, hyphens, periods, and underscores. 1926 // The name cannot start with AWS or aws; these are reserved. A resource group 1927 // name must be unique within each AWS Region in your AWS account. 1928 // 1929 // Name is a required field 1930 Name *string `min:"1" type:"string" required:"true"` 1931 1932 // The resource query that determines which AWS resources are members of this 1933 // group. For more information about resource queries, see Create a tag-based 1934 // group in Resource Groups (https://docs.aws.amazon.com/ARG/latest/userguide/gettingstarted-query.html#gettingstarted-query-cli-tag). 1935 // 1936 // A resource group can contain either a ResourceQuery or a Configuration, but 1937 // not both. 1938 ResourceQuery *ResourceQuery `type:"structure"` 1939 1940 // The tags to add to the group. A tag is key-value pair string. 1941 Tags map[string]*string `type:"map"` 1942 } 1943 1944 // String returns the string representation. 1945 // 1946 // API parameter values that are decorated as "sensitive" in the API will not 1947 // be included in the string output. The member name will be present, but the 1948 // value will be replaced with "sensitive". 1949 func (s CreateGroupInput) String() string { 1950 return awsutil.Prettify(s) 1951 } 1952 1953 // GoString returns the string representation. 1954 // 1955 // API parameter values that are decorated as "sensitive" in the API will not 1956 // be included in the string output. The member name will be present, but the 1957 // value will be replaced with "sensitive". 1958 func (s CreateGroupInput) GoString() string { 1959 return s.String() 1960 } 1961 1962 // Validate inspects the fields of the type to determine if they are valid. 1963 func (s *CreateGroupInput) Validate() error { 1964 invalidParams := request.ErrInvalidParams{Context: "CreateGroupInput"} 1965 if s.Name == nil { 1966 invalidParams.Add(request.NewErrParamRequired("Name")) 1967 } 1968 if s.Name != nil && len(*s.Name) < 1 { 1969 invalidParams.Add(request.NewErrParamMinLen("Name", 1)) 1970 } 1971 if s.Configuration != nil { 1972 for i, v := range s.Configuration { 1973 if v == nil { 1974 continue 1975 } 1976 if err := v.Validate(); err != nil { 1977 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Configuration", i), err.(request.ErrInvalidParams)) 1978 } 1979 } 1980 } 1981 if s.ResourceQuery != nil { 1982 if err := s.ResourceQuery.Validate(); err != nil { 1983 invalidParams.AddNested("ResourceQuery", err.(request.ErrInvalidParams)) 1984 } 1985 } 1986 1987 if invalidParams.Len() > 0 { 1988 return invalidParams 1989 } 1990 return nil 1991 } 1992 1993 // SetConfiguration sets the Configuration field's value. 1994 func (s *CreateGroupInput) SetConfiguration(v []*GroupConfigurationItem) *CreateGroupInput { 1995 s.Configuration = v 1996 return s 1997 } 1998 1999 // SetDescription sets the Description field's value. 2000 func (s *CreateGroupInput) SetDescription(v string) *CreateGroupInput { 2001 s.Description = &v 2002 return s 2003 } 2004 2005 // SetName sets the Name field's value. 2006 func (s *CreateGroupInput) SetName(v string) *CreateGroupInput { 2007 s.Name = &v 2008 return s 2009 } 2010 2011 // SetResourceQuery sets the ResourceQuery field's value. 2012 func (s *CreateGroupInput) SetResourceQuery(v *ResourceQuery) *CreateGroupInput { 2013 s.ResourceQuery = v 2014 return s 2015 } 2016 2017 // SetTags sets the Tags field's value. 2018 func (s *CreateGroupInput) SetTags(v map[string]*string) *CreateGroupInput { 2019 s.Tags = v 2020 return s 2021 } 2022 2023 type CreateGroupOutput struct { 2024 _ struct{} `type:"structure"` 2025 2026 // The description of the resource group. 2027 Group *Group `type:"structure"` 2028 2029 // The service configuration associated with the resource group. For details 2030 // about the syntax of a service configuration, see Service configurations for 2031 // resource groups (https://docs.aws.amazon.com/ARG/latest/APIReference/about-slg.html). 2032 GroupConfiguration *GroupConfiguration `type:"structure"` 2033 2034 // The resource query associated with the group. For more information about 2035 // resource queries, see Create a tag-based group in Resource Groups (https://docs.aws.amazon.com/ARG/latest/userguide/gettingstarted-query.html#gettingstarted-query-cli-tag). 2036 ResourceQuery *ResourceQuery `type:"structure"` 2037 2038 // The tags associated with the group. 2039 Tags map[string]*string `type:"map"` 2040 } 2041 2042 // String returns the string representation. 2043 // 2044 // API parameter values that are decorated as "sensitive" in the API will not 2045 // be included in the string output. The member name will be present, but the 2046 // value will be replaced with "sensitive". 2047 func (s CreateGroupOutput) String() string { 2048 return awsutil.Prettify(s) 2049 } 2050 2051 // GoString returns the string representation. 2052 // 2053 // API parameter values that are decorated as "sensitive" in the API will not 2054 // be included in the string output. The member name will be present, but the 2055 // value will be replaced with "sensitive". 2056 func (s CreateGroupOutput) GoString() string { 2057 return s.String() 2058 } 2059 2060 // SetGroup sets the Group field's value. 2061 func (s *CreateGroupOutput) SetGroup(v *Group) *CreateGroupOutput { 2062 s.Group = v 2063 return s 2064 } 2065 2066 // SetGroupConfiguration sets the GroupConfiguration field's value. 2067 func (s *CreateGroupOutput) SetGroupConfiguration(v *GroupConfiguration) *CreateGroupOutput { 2068 s.GroupConfiguration = v 2069 return s 2070 } 2071 2072 // SetResourceQuery sets the ResourceQuery field's value. 2073 func (s *CreateGroupOutput) SetResourceQuery(v *ResourceQuery) *CreateGroupOutput { 2074 s.ResourceQuery = v 2075 return s 2076 } 2077 2078 // SetTags sets the Tags field's value. 2079 func (s *CreateGroupOutput) SetTags(v map[string]*string) *CreateGroupOutput { 2080 s.Tags = v 2081 return s 2082 } 2083 2084 type DeleteGroupInput struct { 2085 _ struct{} `type:"structure"` 2086 2087 // The name or the ARN of the resource group to delete. 2088 Group *string `min:"1" type:"string"` 2089 2090 // Deprecated - don't use this parameter. Use Group instead. 2091 // 2092 // Deprecated: This field is deprecated, use Group instead. 2093 GroupName *string `min:"1" deprecated:"true" type:"string"` 2094 } 2095 2096 // String returns the string representation. 2097 // 2098 // API parameter values that are decorated as "sensitive" in the API will not 2099 // be included in the string output. The member name will be present, but the 2100 // value will be replaced with "sensitive". 2101 func (s DeleteGroupInput) String() string { 2102 return awsutil.Prettify(s) 2103 } 2104 2105 // GoString returns the string representation. 2106 // 2107 // API parameter values that are decorated as "sensitive" in the API will not 2108 // be included in the string output. The member name will be present, but the 2109 // value will be replaced with "sensitive". 2110 func (s DeleteGroupInput) GoString() string { 2111 return s.String() 2112 } 2113 2114 // Validate inspects the fields of the type to determine if they are valid. 2115 func (s *DeleteGroupInput) Validate() error { 2116 invalidParams := request.ErrInvalidParams{Context: "DeleteGroupInput"} 2117 if s.Group != nil && len(*s.Group) < 1 { 2118 invalidParams.Add(request.NewErrParamMinLen("Group", 1)) 2119 } 2120 if s.GroupName != nil && len(*s.GroupName) < 1 { 2121 invalidParams.Add(request.NewErrParamMinLen("GroupName", 1)) 2122 } 2123 2124 if invalidParams.Len() > 0 { 2125 return invalidParams 2126 } 2127 return nil 2128 } 2129 2130 // SetGroup sets the Group field's value. 2131 func (s *DeleteGroupInput) SetGroup(v string) *DeleteGroupInput { 2132 s.Group = &v 2133 return s 2134 } 2135 2136 // SetGroupName sets the GroupName field's value. 2137 func (s *DeleteGroupInput) SetGroupName(v string) *DeleteGroupInput { 2138 s.GroupName = &v 2139 return s 2140 } 2141 2142 type DeleteGroupOutput struct { 2143 _ struct{} `type:"structure"` 2144 2145 // A full description of the deleted resource group. 2146 Group *Group `type:"structure"` 2147 } 2148 2149 // String returns the string representation. 2150 // 2151 // API parameter values that are decorated as "sensitive" in the API will not 2152 // be included in the string output. The member name will be present, but the 2153 // value will be replaced with "sensitive". 2154 func (s DeleteGroupOutput) String() string { 2155 return awsutil.Prettify(s) 2156 } 2157 2158 // GoString returns the string representation. 2159 // 2160 // API parameter values that are decorated as "sensitive" in the API will not 2161 // be included in the string output. The member name will be present, but the 2162 // value will be replaced with "sensitive". 2163 func (s DeleteGroupOutput) GoString() string { 2164 return s.String() 2165 } 2166 2167 // SetGroup sets the Group field's value. 2168 func (s *DeleteGroupOutput) SetGroup(v *Group) *DeleteGroupOutput { 2169 s.Group = v 2170 return s 2171 } 2172 2173 // A resource that failed to be added to or removed from a group. 2174 type FailedResource struct { 2175 _ struct{} `type:"structure"` 2176 2177 // The error code associated with the failure. 2178 ErrorCode *string `min:"1" type:"string"` 2179 2180 // The error message text associated with the failure. 2181 ErrorMessage *string `min:"1" type:"string"` 2182 2183 // The ARN of the resource that failed to be added or removed. 2184 ResourceArn *string `type:"string"` 2185 } 2186 2187 // String returns the string representation. 2188 // 2189 // API parameter values that are decorated as "sensitive" in the API will not 2190 // be included in the string output. The member name will be present, but the 2191 // value will be replaced with "sensitive". 2192 func (s FailedResource) String() string { 2193 return awsutil.Prettify(s) 2194 } 2195 2196 // GoString returns the string representation. 2197 // 2198 // API parameter values that are decorated as "sensitive" in the API will not 2199 // be included in the string output. The member name will be present, but the 2200 // value will be replaced with "sensitive". 2201 func (s FailedResource) GoString() string { 2202 return s.String() 2203 } 2204 2205 // SetErrorCode sets the ErrorCode field's value. 2206 func (s *FailedResource) SetErrorCode(v string) *FailedResource { 2207 s.ErrorCode = &v 2208 return s 2209 } 2210 2211 // SetErrorMessage sets the ErrorMessage field's value. 2212 func (s *FailedResource) SetErrorMessage(v string) *FailedResource { 2213 s.ErrorMessage = &v 2214 return s 2215 } 2216 2217 // SetResourceArn sets the ResourceArn field's value. 2218 func (s *FailedResource) SetResourceArn(v string) *FailedResource { 2219 s.ResourceArn = &v 2220 return s 2221 } 2222 2223 // The caller isn't authorized to make the request. Check permissions. 2224 type ForbiddenException struct { 2225 _ struct{} `type:"structure"` 2226 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 2227 2228 Message_ *string `locationName:"Message" min:"1" type:"string"` 2229 } 2230 2231 // String returns the string representation. 2232 // 2233 // API parameter values that are decorated as "sensitive" in the API will not 2234 // be included in the string output. The member name will be present, but the 2235 // value will be replaced with "sensitive". 2236 func (s ForbiddenException) String() string { 2237 return awsutil.Prettify(s) 2238 } 2239 2240 // GoString returns the string representation. 2241 // 2242 // API parameter values that are decorated as "sensitive" in the API will not 2243 // be included in the string output. The member name will be present, but the 2244 // value will be replaced with "sensitive". 2245 func (s ForbiddenException) GoString() string { 2246 return s.String() 2247 } 2248 2249 func newErrorForbiddenException(v protocol.ResponseMetadata) error { 2250 return &ForbiddenException{ 2251 RespMetadata: v, 2252 } 2253 } 2254 2255 // Code returns the exception type name. 2256 func (s *ForbiddenException) Code() string { 2257 return "ForbiddenException" 2258 } 2259 2260 // Message returns the exception's message. 2261 func (s *ForbiddenException) Message() string { 2262 if s.Message_ != nil { 2263 return *s.Message_ 2264 } 2265 return "" 2266 } 2267 2268 // OrigErr always returns nil, satisfies awserr.Error interface. 2269 func (s *ForbiddenException) OrigErr() error { 2270 return nil 2271 } 2272 2273 func (s *ForbiddenException) Error() string { 2274 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 2275 } 2276 2277 // Status code returns the HTTP status code for the request's response error. 2278 func (s *ForbiddenException) StatusCode() int { 2279 return s.RespMetadata.StatusCode 2280 } 2281 2282 // RequestID returns the service's response RequestID for request. 2283 func (s *ForbiddenException) RequestID() string { 2284 return s.RespMetadata.RequestID 2285 } 2286 2287 type GetGroupConfigurationInput struct { 2288 _ struct{} `type:"structure"` 2289 2290 // The name or the ARN of the resource group. 2291 Group *string `min:"1" type:"string"` 2292 } 2293 2294 // String returns the string representation. 2295 // 2296 // API parameter values that are decorated as "sensitive" in the API will not 2297 // be included in the string output. The member name will be present, but the 2298 // value will be replaced with "sensitive". 2299 func (s GetGroupConfigurationInput) String() string { 2300 return awsutil.Prettify(s) 2301 } 2302 2303 // GoString returns the string representation. 2304 // 2305 // API parameter values that are decorated as "sensitive" in the API will not 2306 // be included in the string output. The member name will be present, but the 2307 // value will be replaced with "sensitive". 2308 func (s GetGroupConfigurationInput) GoString() string { 2309 return s.String() 2310 } 2311 2312 // Validate inspects the fields of the type to determine if they are valid. 2313 func (s *GetGroupConfigurationInput) Validate() error { 2314 invalidParams := request.ErrInvalidParams{Context: "GetGroupConfigurationInput"} 2315 if s.Group != nil && len(*s.Group) < 1 { 2316 invalidParams.Add(request.NewErrParamMinLen("Group", 1)) 2317 } 2318 2319 if invalidParams.Len() > 0 { 2320 return invalidParams 2321 } 2322 return nil 2323 } 2324 2325 // SetGroup sets the Group field's value. 2326 func (s *GetGroupConfigurationInput) SetGroup(v string) *GetGroupConfigurationInput { 2327 s.Group = &v 2328 return s 2329 } 2330 2331 type GetGroupConfigurationOutput struct { 2332 _ struct{} `type:"structure"` 2333 2334 // The service configuration associated with the specified group. For details 2335 // about the service configuration syntax, see Service configurations for resource 2336 // groups (https://docs.aws.amazon.com/ARG/latest/APIReference/about-slg.html). 2337 GroupConfiguration *GroupConfiguration `type:"structure"` 2338 } 2339 2340 // String returns the string representation. 2341 // 2342 // API parameter values that are decorated as "sensitive" in the API will not 2343 // be included in the string output. The member name will be present, but the 2344 // value will be replaced with "sensitive". 2345 func (s GetGroupConfigurationOutput) String() string { 2346 return awsutil.Prettify(s) 2347 } 2348 2349 // GoString returns the string representation. 2350 // 2351 // API parameter values that are decorated as "sensitive" in the API will not 2352 // be included in the string output. The member name will be present, but the 2353 // value will be replaced with "sensitive". 2354 func (s GetGroupConfigurationOutput) GoString() string { 2355 return s.String() 2356 } 2357 2358 // SetGroupConfiguration sets the GroupConfiguration field's value. 2359 func (s *GetGroupConfigurationOutput) SetGroupConfiguration(v *GroupConfiguration) *GetGroupConfigurationOutput { 2360 s.GroupConfiguration = v 2361 return s 2362 } 2363 2364 type GetGroupInput struct { 2365 _ struct{} `type:"structure"` 2366 2367 // The name or the ARN of the resource group to retrieve. 2368 Group *string `min:"1" type:"string"` 2369 2370 // Deprecated - don't use this parameter. Use Group instead. 2371 // 2372 // Deprecated: This field is deprecated, use Group instead. 2373 GroupName *string `min:"1" deprecated:"true" type:"string"` 2374 } 2375 2376 // String returns the string representation. 2377 // 2378 // API parameter values that are decorated as "sensitive" in the API will not 2379 // be included in the string output. The member name will be present, but the 2380 // value will be replaced with "sensitive". 2381 func (s GetGroupInput) String() string { 2382 return awsutil.Prettify(s) 2383 } 2384 2385 // GoString returns the string representation. 2386 // 2387 // API parameter values that are decorated as "sensitive" in the API will not 2388 // be included in the string output. The member name will be present, but the 2389 // value will be replaced with "sensitive". 2390 func (s GetGroupInput) GoString() string { 2391 return s.String() 2392 } 2393 2394 // Validate inspects the fields of the type to determine if they are valid. 2395 func (s *GetGroupInput) Validate() error { 2396 invalidParams := request.ErrInvalidParams{Context: "GetGroupInput"} 2397 if s.Group != nil && len(*s.Group) < 1 { 2398 invalidParams.Add(request.NewErrParamMinLen("Group", 1)) 2399 } 2400 if s.GroupName != nil && len(*s.GroupName) < 1 { 2401 invalidParams.Add(request.NewErrParamMinLen("GroupName", 1)) 2402 } 2403 2404 if invalidParams.Len() > 0 { 2405 return invalidParams 2406 } 2407 return nil 2408 } 2409 2410 // SetGroup sets the Group field's value. 2411 func (s *GetGroupInput) SetGroup(v string) *GetGroupInput { 2412 s.Group = &v 2413 return s 2414 } 2415 2416 // SetGroupName sets the GroupName field's value. 2417 func (s *GetGroupInput) SetGroupName(v string) *GetGroupInput { 2418 s.GroupName = &v 2419 return s 2420 } 2421 2422 type GetGroupOutput struct { 2423 _ struct{} `type:"structure"` 2424 2425 // A full description of the resource group. 2426 Group *Group `type:"structure"` 2427 } 2428 2429 // String returns the string representation. 2430 // 2431 // API parameter values that are decorated as "sensitive" in the API will not 2432 // be included in the string output. The member name will be present, but the 2433 // value will be replaced with "sensitive". 2434 func (s GetGroupOutput) String() string { 2435 return awsutil.Prettify(s) 2436 } 2437 2438 // GoString returns the string representation. 2439 // 2440 // API parameter values that are decorated as "sensitive" in the API will not 2441 // be included in the string output. The member name will be present, but the 2442 // value will be replaced with "sensitive". 2443 func (s GetGroupOutput) GoString() string { 2444 return s.String() 2445 } 2446 2447 // SetGroup sets the Group field's value. 2448 func (s *GetGroupOutput) SetGroup(v *Group) *GetGroupOutput { 2449 s.Group = v 2450 return s 2451 } 2452 2453 type GetGroupQueryInput struct { 2454 _ struct{} `type:"structure"` 2455 2456 // The name or the ARN of the resource group to query. 2457 Group *string `min:"1" type:"string"` 2458 2459 // Don't use this parameter. Use Group instead. 2460 // 2461 // Deprecated: This field is deprecated, use Group instead. 2462 GroupName *string `min:"1" deprecated:"true" type:"string"` 2463 } 2464 2465 // String returns the string representation. 2466 // 2467 // API parameter values that are decorated as "sensitive" in the API will not 2468 // be included in the string output. The member name will be present, but the 2469 // value will be replaced with "sensitive". 2470 func (s GetGroupQueryInput) String() string { 2471 return awsutil.Prettify(s) 2472 } 2473 2474 // GoString returns the string representation. 2475 // 2476 // API parameter values that are decorated as "sensitive" in the API will not 2477 // be included in the string output. The member name will be present, but the 2478 // value will be replaced with "sensitive". 2479 func (s GetGroupQueryInput) GoString() string { 2480 return s.String() 2481 } 2482 2483 // Validate inspects the fields of the type to determine if they are valid. 2484 func (s *GetGroupQueryInput) Validate() error { 2485 invalidParams := request.ErrInvalidParams{Context: "GetGroupQueryInput"} 2486 if s.Group != nil && len(*s.Group) < 1 { 2487 invalidParams.Add(request.NewErrParamMinLen("Group", 1)) 2488 } 2489 if s.GroupName != nil && len(*s.GroupName) < 1 { 2490 invalidParams.Add(request.NewErrParamMinLen("GroupName", 1)) 2491 } 2492 2493 if invalidParams.Len() > 0 { 2494 return invalidParams 2495 } 2496 return nil 2497 } 2498 2499 // SetGroup sets the Group field's value. 2500 func (s *GetGroupQueryInput) SetGroup(v string) *GetGroupQueryInput { 2501 s.Group = &v 2502 return s 2503 } 2504 2505 // SetGroupName sets the GroupName field's value. 2506 func (s *GetGroupQueryInput) SetGroupName(v string) *GetGroupQueryInput { 2507 s.GroupName = &v 2508 return s 2509 } 2510 2511 type GetGroupQueryOutput struct { 2512 _ struct{} `type:"structure"` 2513 2514 // The resource query associated with the specified group. For more information 2515 // about resource queries, see Create a tag-based group in Resource Groups (https://docs.aws.amazon.com/ARG/latest/userguide/gettingstarted-query.html#gettingstarted-query-cli-tag). 2516 GroupQuery *GroupQuery `type:"structure"` 2517 } 2518 2519 // String returns the string representation. 2520 // 2521 // API parameter values that are decorated as "sensitive" in the API will not 2522 // be included in the string output. The member name will be present, but the 2523 // value will be replaced with "sensitive". 2524 func (s GetGroupQueryOutput) String() string { 2525 return awsutil.Prettify(s) 2526 } 2527 2528 // GoString returns the string representation. 2529 // 2530 // API parameter values that are decorated as "sensitive" in the API will not 2531 // be included in the string output. The member name will be present, but the 2532 // value will be replaced with "sensitive". 2533 func (s GetGroupQueryOutput) GoString() string { 2534 return s.String() 2535 } 2536 2537 // SetGroupQuery sets the GroupQuery field's value. 2538 func (s *GetGroupQueryOutput) SetGroupQuery(v *GroupQuery) *GetGroupQueryOutput { 2539 s.GroupQuery = v 2540 return s 2541 } 2542 2543 type GetTagsInput struct { 2544 _ struct{} `type:"structure" nopayload:"true"` 2545 2546 // The ARN of the resource group whose tags you want to retrieve. 2547 // 2548 // Arn is a required field 2549 Arn *string `location:"uri" locationName:"Arn" min:"12" type:"string" required:"true"` 2550 } 2551 2552 // String returns the string representation. 2553 // 2554 // API parameter values that are decorated as "sensitive" in the API will not 2555 // be included in the string output. The member name will be present, but the 2556 // value will be replaced with "sensitive". 2557 func (s GetTagsInput) String() string { 2558 return awsutil.Prettify(s) 2559 } 2560 2561 // GoString returns the string representation. 2562 // 2563 // API parameter values that are decorated as "sensitive" in the API will not 2564 // be included in the string output. The member name will be present, but the 2565 // value will be replaced with "sensitive". 2566 func (s GetTagsInput) GoString() string { 2567 return s.String() 2568 } 2569 2570 // Validate inspects the fields of the type to determine if they are valid. 2571 func (s *GetTagsInput) Validate() error { 2572 invalidParams := request.ErrInvalidParams{Context: "GetTagsInput"} 2573 if s.Arn == nil { 2574 invalidParams.Add(request.NewErrParamRequired("Arn")) 2575 } 2576 if s.Arn != nil && len(*s.Arn) < 12 { 2577 invalidParams.Add(request.NewErrParamMinLen("Arn", 12)) 2578 } 2579 2580 if invalidParams.Len() > 0 { 2581 return invalidParams 2582 } 2583 return nil 2584 } 2585 2586 // SetArn sets the Arn field's value. 2587 func (s *GetTagsInput) SetArn(v string) *GetTagsInput { 2588 s.Arn = &v 2589 return s 2590 } 2591 2592 type GetTagsOutput struct { 2593 _ struct{} `type:"structure"` 2594 2595 // The ARN of the tagged resource group. 2596 Arn *string `min:"12" type:"string"` 2597 2598 // The tags associated with the specified resource group. 2599 Tags map[string]*string `type:"map"` 2600 } 2601 2602 // String returns the string representation. 2603 // 2604 // API parameter values that are decorated as "sensitive" in the API will not 2605 // be included in the string output. The member name will be present, but the 2606 // value will be replaced with "sensitive". 2607 func (s GetTagsOutput) String() string { 2608 return awsutil.Prettify(s) 2609 } 2610 2611 // GoString returns the string representation. 2612 // 2613 // API parameter values that are decorated as "sensitive" in the API will not 2614 // be included in the string output. The member name will be present, but the 2615 // value will be replaced with "sensitive". 2616 func (s GetTagsOutput) GoString() string { 2617 return s.String() 2618 } 2619 2620 // SetArn sets the Arn field's value. 2621 func (s *GetTagsOutput) SetArn(v string) *GetTagsOutput { 2622 s.Arn = &v 2623 return s 2624 } 2625 2626 // SetTags sets the Tags field's value. 2627 func (s *GetTagsOutput) SetTags(v map[string]*string) *GetTagsOutput { 2628 s.Tags = v 2629 return s 2630 } 2631 2632 // A resource group that contains AWS resources. You can assign resources to 2633 // the group by associating either of the following elements with the group: 2634 // 2635 // * ResourceQuery - Use a resource query to specify a set of tag keys and 2636 // values. All resources in the same AWS Region and AWS account that have 2637 // those keys with the same values are included in the group. You can add 2638 // a resource query when you create the group, or later by using the PutGroupConfiguration 2639 // operation. 2640 // 2641 // * GroupConfiguration - Use a service configuration to associate the group 2642 // with an AWS service. The configuration specifies which resource types 2643 // can be included in the group. 2644 type Group struct { 2645 _ struct{} `type:"structure"` 2646 2647 // The description of the resource group. 2648 Description *string `type:"string"` 2649 2650 // The ARN of the resource group. 2651 // 2652 // GroupArn is a required field 2653 GroupArn *string `min:"12" type:"string" required:"true"` 2654 2655 // The name of the resource group. 2656 // 2657 // Name is a required field 2658 Name *string `min:"1" type:"string" required:"true"` 2659 } 2660 2661 // String returns the string representation. 2662 // 2663 // API parameter values that are decorated as "sensitive" in the API will not 2664 // be included in the string output. The member name will be present, but the 2665 // value will be replaced with "sensitive". 2666 func (s Group) String() string { 2667 return awsutil.Prettify(s) 2668 } 2669 2670 // GoString returns the string representation. 2671 // 2672 // API parameter values that are decorated as "sensitive" in the API will not 2673 // be included in the string output. The member name will be present, but the 2674 // value will be replaced with "sensitive". 2675 func (s Group) GoString() string { 2676 return s.String() 2677 } 2678 2679 // SetDescription sets the Description field's value. 2680 func (s *Group) SetDescription(v string) *Group { 2681 s.Description = &v 2682 return s 2683 } 2684 2685 // SetGroupArn sets the GroupArn field's value. 2686 func (s *Group) SetGroupArn(v string) *Group { 2687 s.GroupArn = &v 2688 return s 2689 } 2690 2691 // SetName sets the Name field's value. 2692 func (s *Group) SetName(v string) *Group { 2693 s.Name = &v 2694 return s 2695 } 2696 2697 // A service configuration associated with a resource group. The configuration 2698 // options are determined by the AWS service that defines the Type, and specifies 2699 // which resources can be included in the group. You can add a service configuration 2700 // when you create the group by using CreateGroup, or later by using the PutGroupConfiguration 2701 // operation. For details about group service configuration syntax, see Service 2702 // configurations for resource groups (https://docs.aws.amazon.com/ARG/latest/APIReference/about-slg.html). 2703 type GroupConfiguration struct { 2704 _ struct{} `type:"structure"` 2705 2706 // The configuration currently associated with the group and in effect. 2707 Configuration []*GroupConfigurationItem `type:"list"` 2708 2709 // If present, the reason why a request to update the group configuration failed. 2710 FailureReason *string `type:"string"` 2711 2712 // If present, the new configuration that is in the process of being applied 2713 // to the group. 2714 ProposedConfiguration []*GroupConfigurationItem `type:"list"` 2715 2716 // The current status of an attempt to update the group configuration. 2717 Status *string `type:"string" enum:"GroupConfigurationStatus"` 2718 } 2719 2720 // String returns the string representation. 2721 // 2722 // API parameter values that are decorated as "sensitive" in the API will not 2723 // be included in the string output. The member name will be present, but the 2724 // value will be replaced with "sensitive". 2725 func (s GroupConfiguration) String() string { 2726 return awsutil.Prettify(s) 2727 } 2728 2729 // GoString 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 GroupConfiguration) GoString() string { 2735 return s.String() 2736 } 2737 2738 // SetConfiguration sets the Configuration field's value. 2739 func (s *GroupConfiguration) SetConfiguration(v []*GroupConfigurationItem) *GroupConfiguration { 2740 s.Configuration = v 2741 return s 2742 } 2743 2744 // SetFailureReason sets the FailureReason field's value. 2745 func (s *GroupConfiguration) SetFailureReason(v string) *GroupConfiguration { 2746 s.FailureReason = &v 2747 return s 2748 } 2749 2750 // SetProposedConfiguration sets the ProposedConfiguration field's value. 2751 func (s *GroupConfiguration) SetProposedConfiguration(v []*GroupConfigurationItem) *GroupConfiguration { 2752 s.ProposedConfiguration = v 2753 return s 2754 } 2755 2756 // SetStatus sets the Status field's value. 2757 func (s *GroupConfiguration) SetStatus(v string) *GroupConfiguration { 2758 s.Status = &v 2759 return s 2760 } 2761 2762 // An item in a group configuration. A group service configuration can have 2763 // one or more items. For details about group service configuration syntax, 2764 // see Service configurations for resource groups (https://docs.aws.amazon.com/ARG/latest/APIReference/about-slg.html). 2765 type GroupConfigurationItem struct { 2766 _ struct{} `type:"structure"` 2767 2768 // A collection of parameters for this group configuration item. For the list 2769 // of parameters that you can use with each configuration item type, see Supported 2770 // resource types and parameters (https://docs.aws.amazon.com/ARG/latest/APIReference/about-slg.html#about-slg-types). 2771 Parameters []*GroupConfigurationParameter `type:"list"` 2772 2773 // Specifies the type of group configuration item. Each item must have a unique 2774 // value for type. For the list of types that you can specify for a configuration 2775 // item, see Supported resource types and parameters (https://docs.aws.amazon.com/ARG/latest/APIReference/about-slg.html#about-slg-types). 2776 // 2777 // Type is a required field 2778 Type *string `type:"string" required:"true"` 2779 } 2780 2781 // String returns the string representation. 2782 // 2783 // API parameter values that are decorated as "sensitive" in the API will not 2784 // be included in the string output. The member name will be present, but the 2785 // value will be replaced with "sensitive". 2786 func (s GroupConfigurationItem) String() string { 2787 return awsutil.Prettify(s) 2788 } 2789 2790 // GoString returns the string representation. 2791 // 2792 // API parameter values that are decorated as "sensitive" in the API will not 2793 // be included in the string output. The member name will be present, but the 2794 // value will be replaced with "sensitive". 2795 func (s GroupConfigurationItem) GoString() string { 2796 return s.String() 2797 } 2798 2799 // Validate inspects the fields of the type to determine if they are valid. 2800 func (s *GroupConfigurationItem) Validate() error { 2801 invalidParams := request.ErrInvalidParams{Context: "GroupConfigurationItem"} 2802 if s.Type == nil { 2803 invalidParams.Add(request.NewErrParamRequired("Type")) 2804 } 2805 if s.Parameters != nil { 2806 for i, v := range s.Parameters { 2807 if v == nil { 2808 continue 2809 } 2810 if err := v.Validate(); err != nil { 2811 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Parameters", i), err.(request.ErrInvalidParams)) 2812 } 2813 } 2814 } 2815 2816 if invalidParams.Len() > 0 { 2817 return invalidParams 2818 } 2819 return nil 2820 } 2821 2822 // SetParameters sets the Parameters field's value. 2823 func (s *GroupConfigurationItem) SetParameters(v []*GroupConfigurationParameter) *GroupConfigurationItem { 2824 s.Parameters = v 2825 return s 2826 } 2827 2828 // SetType sets the Type field's value. 2829 func (s *GroupConfigurationItem) SetType(v string) *GroupConfigurationItem { 2830 s.Type = &v 2831 return s 2832 } 2833 2834 // A parameter for a group configuration item. For details about group service 2835 // configuration syntax, see Service configurations for resource groups (https://docs.aws.amazon.com/ARG/latest/APIReference/about-slg.html). 2836 type GroupConfigurationParameter struct { 2837 _ struct{} `type:"structure"` 2838 2839 // The name of the group configuration parameter. For the list of parameters 2840 // that you can use with each configuration item type, see Supported resource 2841 // types and parameters (https://docs.aws.amazon.com/ARG/latest/APIReference/about-slg.html#about-slg-types). 2842 // 2843 // Name is a required field 2844 Name *string `min:"1" type:"string" required:"true"` 2845 2846 // The value or values to be used for the specified parameter. For the list 2847 // of values you can use with each parameter, see Supported resource types and 2848 // parameters (https://docs.aws.amazon.com/ARG/latest/APIReference/about-slg.html#about-slg-types). 2849 Values []*string `type:"list"` 2850 } 2851 2852 // String returns the string representation. 2853 // 2854 // API parameter values that are decorated as "sensitive" in the API will not 2855 // be included in the string output. The member name will be present, but the 2856 // value will be replaced with "sensitive". 2857 func (s GroupConfigurationParameter) String() string { 2858 return awsutil.Prettify(s) 2859 } 2860 2861 // GoString returns the string representation. 2862 // 2863 // API parameter values that are decorated as "sensitive" in the API will not 2864 // be included in the string output. The member name will be present, but the 2865 // value will be replaced with "sensitive". 2866 func (s GroupConfigurationParameter) GoString() string { 2867 return s.String() 2868 } 2869 2870 // Validate inspects the fields of the type to determine if they are valid. 2871 func (s *GroupConfigurationParameter) Validate() error { 2872 invalidParams := request.ErrInvalidParams{Context: "GroupConfigurationParameter"} 2873 if s.Name == nil { 2874 invalidParams.Add(request.NewErrParamRequired("Name")) 2875 } 2876 if s.Name != nil && len(*s.Name) < 1 { 2877 invalidParams.Add(request.NewErrParamMinLen("Name", 1)) 2878 } 2879 2880 if invalidParams.Len() > 0 { 2881 return invalidParams 2882 } 2883 return nil 2884 } 2885 2886 // SetName sets the Name field's value. 2887 func (s *GroupConfigurationParameter) SetName(v string) *GroupConfigurationParameter { 2888 s.Name = &v 2889 return s 2890 } 2891 2892 // SetValues sets the Values field's value. 2893 func (s *GroupConfigurationParameter) SetValues(v []*string) *GroupConfigurationParameter { 2894 s.Values = v 2895 return s 2896 } 2897 2898 // A filter collection that you can use to restrict the results from a List 2899 // operation to only those you want to include. 2900 type GroupFilter struct { 2901 _ struct{} `type:"structure"` 2902 2903 // The name of the filter. Filter names are case-sensitive. 2904 // 2905 // Name is a required field 2906 Name *string `type:"string" required:"true" enum:"GroupFilterName"` 2907 2908 // One or more filter values. Allowed filter values vary by group filter name, 2909 // and are case-sensitive. 2910 // 2911 // Values is a required field 2912 Values []*string `min:"1" type:"list" required:"true"` 2913 } 2914 2915 // String returns the string representation. 2916 // 2917 // API parameter values that are decorated as "sensitive" in the API will not 2918 // be included in the string output. The member name will be present, but the 2919 // value will be replaced with "sensitive". 2920 func (s GroupFilter) String() string { 2921 return awsutil.Prettify(s) 2922 } 2923 2924 // GoString returns the string representation. 2925 // 2926 // API parameter values that are decorated as "sensitive" in the API will not 2927 // be included in the string output. The member name will be present, but the 2928 // value will be replaced with "sensitive". 2929 func (s GroupFilter) GoString() string { 2930 return s.String() 2931 } 2932 2933 // Validate inspects the fields of the type to determine if they are valid. 2934 func (s *GroupFilter) Validate() error { 2935 invalidParams := request.ErrInvalidParams{Context: "GroupFilter"} 2936 if s.Name == nil { 2937 invalidParams.Add(request.NewErrParamRequired("Name")) 2938 } 2939 if s.Values == nil { 2940 invalidParams.Add(request.NewErrParamRequired("Values")) 2941 } 2942 if s.Values != nil && len(s.Values) < 1 { 2943 invalidParams.Add(request.NewErrParamMinLen("Values", 1)) 2944 } 2945 2946 if invalidParams.Len() > 0 { 2947 return invalidParams 2948 } 2949 return nil 2950 } 2951 2952 // SetName sets the Name field's value. 2953 func (s *GroupFilter) SetName(v string) *GroupFilter { 2954 s.Name = &v 2955 return s 2956 } 2957 2958 // SetValues sets the Values field's value. 2959 func (s *GroupFilter) SetValues(v []*string) *GroupFilter { 2960 s.Values = v 2961 return s 2962 } 2963 2964 // The unique identifiers for a resource group. 2965 type GroupIdentifier struct { 2966 _ struct{} `type:"structure"` 2967 2968 // The ARN of the resource group. 2969 GroupArn *string `min:"12" type:"string"` 2970 2971 // The name of the resource group. 2972 GroupName *string `min:"1" type:"string"` 2973 } 2974 2975 // String returns the string representation. 2976 // 2977 // API parameter values that are decorated as "sensitive" in the API will not 2978 // be included in the string output. The member name will be present, but the 2979 // value will be replaced with "sensitive". 2980 func (s GroupIdentifier) String() string { 2981 return awsutil.Prettify(s) 2982 } 2983 2984 // GoString returns the string representation. 2985 // 2986 // API parameter values that are decorated as "sensitive" in the API will not 2987 // be included in the string output. The member name will be present, but the 2988 // value will be replaced with "sensitive". 2989 func (s GroupIdentifier) GoString() string { 2990 return s.String() 2991 } 2992 2993 // SetGroupArn sets the GroupArn field's value. 2994 func (s *GroupIdentifier) SetGroupArn(v string) *GroupIdentifier { 2995 s.GroupArn = &v 2996 return s 2997 } 2998 2999 // SetGroupName sets the GroupName field's value. 3000 func (s *GroupIdentifier) SetGroupName(v string) *GroupIdentifier { 3001 s.GroupName = &v 3002 return s 3003 } 3004 3005 // A mapping of a query attached to a resource group that determines the AWS 3006 // resources that are members of the group. 3007 type GroupQuery struct { 3008 _ struct{} `type:"structure"` 3009 3010 // The name of the resource group that is associated with the specified resource 3011 // query. 3012 // 3013 // GroupName is a required field 3014 GroupName *string `min:"1" type:"string" required:"true"` 3015 3016 // The resource query that determines which AWS resources are members of the 3017 // associated resource group. 3018 // 3019 // ResourceQuery is a required field 3020 ResourceQuery *ResourceQuery `type:"structure" required:"true"` 3021 } 3022 3023 // String returns the string representation. 3024 // 3025 // API parameter values that are decorated as "sensitive" in the API will not 3026 // be included in the string output. The member name will be present, but the 3027 // value will be replaced with "sensitive". 3028 func (s GroupQuery) String() string { 3029 return awsutil.Prettify(s) 3030 } 3031 3032 // GoString returns the string representation. 3033 // 3034 // API parameter values that are decorated as "sensitive" in the API will not 3035 // be included in the string output. The member name will be present, but the 3036 // value will be replaced with "sensitive". 3037 func (s GroupQuery) GoString() string { 3038 return s.String() 3039 } 3040 3041 // SetGroupName sets the GroupName field's value. 3042 func (s *GroupQuery) SetGroupName(v string) *GroupQuery { 3043 s.GroupName = &v 3044 return s 3045 } 3046 3047 // SetResourceQuery sets the ResourceQuery field's value. 3048 func (s *GroupQuery) SetResourceQuery(v *ResourceQuery) *GroupQuery { 3049 s.ResourceQuery = v 3050 return s 3051 } 3052 3053 type GroupResourcesInput struct { 3054 _ struct{} `type:"structure"` 3055 3056 // The name or the ARN of the resource group to add resources to. 3057 // 3058 // Group is a required field 3059 Group *string `min:"1" type:"string" required:"true"` 3060 3061 // The list of ARNs for resources to be added to the group. 3062 // 3063 // ResourceArns is a required field 3064 ResourceArns []*string `min:"1" type:"list" required:"true"` 3065 } 3066 3067 // String returns the string representation. 3068 // 3069 // API parameter values that are decorated as "sensitive" in the API will not 3070 // be included in the string output. The member name will be present, but the 3071 // value will be replaced with "sensitive". 3072 func (s GroupResourcesInput) String() string { 3073 return awsutil.Prettify(s) 3074 } 3075 3076 // GoString returns the string representation. 3077 // 3078 // API parameter values that are decorated as "sensitive" in the API will not 3079 // be included in the string output. The member name will be present, but the 3080 // value will be replaced with "sensitive". 3081 func (s GroupResourcesInput) GoString() string { 3082 return s.String() 3083 } 3084 3085 // Validate inspects the fields of the type to determine if they are valid. 3086 func (s *GroupResourcesInput) Validate() error { 3087 invalidParams := request.ErrInvalidParams{Context: "GroupResourcesInput"} 3088 if s.Group == nil { 3089 invalidParams.Add(request.NewErrParamRequired("Group")) 3090 } 3091 if s.Group != nil && len(*s.Group) < 1 { 3092 invalidParams.Add(request.NewErrParamMinLen("Group", 1)) 3093 } 3094 if s.ResourceArns == nil { 3095 invalidParams.Add(request.NewErrParamRequired("ResourceArns")) 3096 } 3097 if s.ResourceArns != nil && len(s.ResourceArns) < 1 { 3098 invalidParams.Add(request.NewErrParamMinLen("ResourceArns", 1)) 3099 } 3100 3101 if invalidParams.Len() > 0 { 3102 return invalidParams 3103 } 3104 return nil 3105 } 3106 3107 // SetGroup sets the Group field's value. 3108 func (s *GroupResourcesInput) SetGroup(v string) *GroupResourcesInput { 3109 s.Group = &v 3110 return s 3111 } 3112 3113 // SetResourceArns sets the ResourceArns field's value. 3114 func (s *GroupResourcesInput) SetResourceArns(v []*string) *GroupResourcesInput { 3115 s.ResourceArns = v 3116 return s 3117 } 3118 3119 type GroupResourcesOutput struct { 3120 _ struct{} `type:"structure"` 3121 3122 // A list of ARNs of any resources that failed to be added to the group by this 3123 // operation. 3124 Failed []*FailedResource `type:"list"` 3125 3126 // A list of ARNs of any resources that are still in the process of being added 3127 // to the group by this operation. These pending additions continue asynchronously. 3128 // You can check the status of pending additions by using the ListGroupResources 3129 // operation, and checking the Resources array in the response and the Status 3130 // field of each object in that array. 3131 Pending []*PendingResource `type:"list"` 3132 3133 // A list of ARNs of resources that were successfully added to the group by 3134 // this operation. 3135 Succeeded []*string `min:"1" type:"list"` 3136 } 3137 3138 // String returns the string representation. 3139 // 3140 // API parameter values that are decorated as "sensitive" in the API will not 3141 // be included in the string output. The member name will be present, but the 3142 // value will be replaced with "sensitive". 3143 func (s GroupResourcesOutput) String() string { 3144 return awsutil.Prettify(s) 3145 } 3146 3147 // GoString returns the string representation. 3148 // 3149 // API parameter values that are decorated as "sensitive" in the API will not 3150 // be included in the string output. The member name will be present, but the 3151 // value will be replaced with "sensitive". 3152 func (s GroupResourcesOutput) GoString() string { 3153 return s.String() 3154 } 3155 3156 // SetFailed sets the Failed field's value. 3157 func (s *GroupResourcesOutput) SetFailed(v []*FailedResource) *GroupResourcesOutput { 3158 s.Failed = v 3159 return s 3160 } 3161 3162 // SetPending sets the Pending field's value. 3163 func (s *GroupResourcesOutput) SetPending(v []*PendingResource) *GroupResourcesOutput { 3164 s.Pending = v 3165 return s 3166 } 3167 3168 // SetSucceeded sets the Succeeded field's value. 3169 func (s *GroupResourcesOutput) SetSucceeded(v []*string) *GroupResourcesOutput { 3170 s.Succeeded = v 3171 return s 3172 } 3173 3174 // An internal error occurred while processing the request. Try again later. 3175 type InternalServerErrorException struct { 3176 _ struct{} `type:"structure"` 3177 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 3178 3179 Message_ *string `locationName:"Message" min:"1" type:"string"` 3180 } 3181 3182 // String returns the string representation. 3183 // 3184 // API parameter values that are decorated as "sensitive" in the API will not 3185 // be included in the string output. The member name will be present, but the 3186 // value will be replaced with "sensitive". 3187 func (s InternalServerErrorException) String() string { 3188 return awsutil.Prettify(s) 3189 } 3190 3191 // GoString returns the string representation. 3192 // 3193 // API parameter values that are decorated as "sensitive" in the API will not 3194 // be included in the string output. The member name will be present, but the 3195 // value will be replaced with "sensitive". 3196 func (s InternalServerErrorException) GoString() string { 3197 return s.String() 3198 } 3199 3200 func newErrorInternalServerErrorException(v protocol.ResponseMetadata) error { 3201 return &InternalServerErrorException{ 3202 RespMetadata: v, 3203 } 3204 } 3205 3206 // Code returns the exception type name. 3207 func (s *InternalServerErrorException) Code() string { 3208 return "InternalServerErrorException" 3209 } 3210 3211 // Message returns the exception's message. 3212 func (s *InternalServerErrorException) Message() string { 3213 if s.Message_ != nil { 3214 return *s.Message_ 3215 } 3216 return "" 3217 } 3218 3219 // OrigErr always returns nil, satisfies awserr.Error interface. 3220 func (s *InternalServerErrorException) OrigErr() error { 3221 return nil 3222 } 3223 3224 func (s *InternalServerErrorException) Error() string { 3225 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 3226 } 3227 3228 // Status code returns the HTTP status code for the request's response error. 3229 func (s *InternalServerErrorException) StatusCode() int { 3230 return s.RespMetadata.StatusCode 3231 } 3232 3233 // RequestID returns the service's response RequestID for request. 3234 func (s *InternalServerErrorException) RequestID() string { 3235 return s.RespMetadata.RequestID 3236 } 3237 3238 type ListGroupResourcesInput struct { 3239 _ struct{} `type:"structure"` 3240 3241 // Filters, formatted as ResourceFilter objects, that you want to apply to a 3242 // ListGroupResources operation. Filters the results to include only those of 3243 // the specified resource types. 3244 // 3245 // * resource-type - Filter resources by their type. Specify up to five resource 3246 // types in the format AWS::ServiceCode::ResourceType. For example, AWS::EC2::Instance, 3247 // or AWS::S3::Bucket. 3248 // 3249 // When you specify a resource-type filter for ListGroupResources, AWS Resource 3250 // Groups validates your filter resource types against the types that are defined 3251 // in the query associated with the group. For example, if a group contains 3252 // only S3 buckets because its query specifies only that resource type, but 3253 // your resource-type filter includes EC2 instances, AWS Resource Groups does 3254 // not filter for EC2 instances. In this case, a ListGroupResources request 3255 // returns a BadRequestException error with a message similar to the following: 3256 // 3257 // The resource types specified as filters in the request are not valid. 3258 // 3259 // The error includes a list of resource types that failed the validation because 3260 // they are not part of the query associated with the group. This validation 3261 // doesn't occur when the group query specifies AWS::AllSupported, because a 3262 // group based on such a query can contain any of the allowed resource types 3263 // for the query type (tag-based or AWS CloudFormation stack-based queries). 3264 Filters []*ResourceFilter `type:"list"` 3265 3266 // The name or the ARN of the resource group 3267 Group *string `min:"1" type:"string"` 3268 3269 // 3270 // Deprecated - don't use this parameter. Use the Group request field instead. 3271 // 3272 // Deprecated: This field is deprecated, use Group instead. 3273 GroupName *string `min:"1" deprecated:"true" type:"string"` 3274 3275 // The total number of results that you want included on each page of the response. 3276 // If you do not include this parameter, it defaults to a value that is specific 3277 // to the operation. If additional items exist beyond the maximum you specify, 3278 // the NextToken response element is present and has a value (is not null). 3279 // Include that value as the NextToken request parameter in the next call to 3280 // the operation to get the next part of the results. Note that the service 3281 // might return fewer results than the maximum even when there are more results 3282 // available. You should check NextToken after every operation to ensure that 3283 // you receive all of the results. 3284 MaxResults *int64 `min:"1" type:"integer"` 3285 3286 // The parameter for receiving additional results if you receive a NextToken 3287 // response in a previous request. A NextToken response indicates that more 3288 // output is available. Set this parameter to the value provided by a previous 3289 // call's NextToken response to indicate where the output should continue from. 3290 NextToken *string `type:"string"` 3291 } 3292 3293 // String returns the string representation. 3294 // 3295 // API parameter values that are decorated as "sensitive" in the API will not 3296 // be included in the string output. The member name will be present, but the 3297 // value will be replaced with "sensitive". 3298 func (s ListGroupResourcesInput) String() string { 3299 return awsutil.Prettify(s) 3300 } 3301 3302 // GoString returns the string representation. 3303 // 3304 // API parameter values that are decorated as "sensitive" in the API will not 3305 // be included in the string output. The member name will be present, but the 3306 // value will be replaced with "sensitive". 3307 func (s ListGroupResourcesInput) GoString() string { 3308 return s.String() 3309 } 3310 3311 // Validate inspects the fields of the type to determine if they are valid. 3312 func (s *ListGroupResourcesInput) Validate() error { 3313 invalidParams := request.ErrInvalidParams{Context: "ListGroupResourcesInput"} 3314 if s.Group != nil && len(*s.Group) < 1 { 3315 invalidParams.Add(request.NewErrParamMinLen("Group", 1)) 3316 } 3317 if s.GroupName != nil && len(*s.GroupName) < 1 { 3318 invalidParams.Add(request.NewErrParamMinLen("GroupName", 1)) 3319 } 3320 if s.MaxResults != nil && *s.MaxResults < 1 { 3321 invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) 3322 } 3323 if s.Filters != nil { 3324 for i, v := range s.Filters { 3325 if v == nil { 3326 continue 3327 } 3328 if err := v.Validate(); err != nil { 3329 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams)) 3330 } 3331 } 3332 } 3333 3334 if invalidParams.Len() > 0 { 3335 return invalidParams 3336 } 3337 return nil 3338 } 3339 3340 // SetFilters sets the Filters field's value. 3341 func (s *ListGroupResourcesInput) SetFilters(v []*ResourceFilter) *ListGroupResourcesInput { 3342 s.Filters = v 3343 return s 3344 } 3345 3346 // SetGroup sets the Group field's value. 3347 func (s *ListGroupResourcesInput) SetGroup(v string) *ListGroupResourcesInput { 3348 s.Group = &v 3349 return s 3350 } 3351 3352 // SetGroupName sets the GroupName field's value. 3353 func (s *ListGroupResourcesInput) SetGroupName(v string) *ListGroupResourcesInput { 3354 s.GroupName = &v 3355 return s 3356 } 3357 3358 // SetMaxResults sets the MaxResults field's value. 3359 func (s *ListGroupResourcesInput) SetMaxResults(v int64) *ListGroupResourcesInput { 3360 s.MaxResults = &v 3361 return s 3362 } 3363 3364 // SetNextToken sets the NextToken field's value. 3365 func (s *ListGroupResourcesInput) SetNextToken(v string) *ListGroupResourcesInput { 3366 s.NextToken = &v 3367 return s 3368 } 3369 3370 // A structure returned by the ListGroupResources operation that contains identity 3371 // and group membership status information for one of the resources in the group. 3372 type ListGroupResourcesItem struct { 3373 _ struct{} `type:"structure"` 3374 3375 // A structure that contains the ARN of a resource and its resource type. 3376 Identifier *ResourceIdentifier `type:"structure"` 3377 3378 // A structure that contains the status of this resource's membership in the 3379 // group. 3380 // 3381 // This field is present in the response only if the group is of type AWS::EC2::HostManagement. 3382 Status *ResourceStatus `type:"structure"` 3383 } 3384 3385 // String returns the string representation. 3386 // 3387 // API parameter values that are decorated as "sensitive" in the API will not 3388 // be included in the string output. The member name will be present, but the 3389 // value will be replaced with "sensitive". 3390 func (s ListGroupResourcesItem) String() string { 3391 return awsutil.Prettify(s) 3392 } 3393 3394 // GoString returns the string representation. 3395 // 3396 // API parameter values that are decorated as "sensitive" in the API will not 3397 // be included in the string output. The member name will be present, but the 3398 // value will be replaced with "sensitive". 3399 func (s ListGroupResourcesItem) GoString() string { 3400 return s.String() 3401 } 3402 3403 // SetIdentifier sets the Identifier field's value. 3404 func (s *ListGroupResourcesItem) SetIdentifier(v *ResourceIdentifier) *ListGroupResourcesItem { 3405 s.Identifier = v 3406 return s 3407 } 3408 3409 // SetStatus sets the Status field's value. 3410 func (s *ListGroupResourcesItem) SetStatus(v *ResourceStatus) *ListGroupResourcesItem { 3411 s.Status = v 3412 return s 3413 } 3414 3415 type ListGroupResourcesOutput struct { 3416 _ struct{} `type:"structure"` 3417 3418 // If present, indicates that more output is available than is included in the 3419 // current response. Use this value in the NextToken request parameter in a 3420 // subsequent call to the operation to get the next part of the output. You 3421 // should repeat this until the NextToken response element comes back as null. 3422 NextToken *string `type:"string"` 3423 3424 // A list of QueryError objects. Each error is an object that contains ErrorCode 3425 // and Message structures. Possible values for ErrorCode are CLOUDFORMATION_STACK_INACTIVE 3426 // and CLOUDFORMATION_STACK_NOT_EXISTING. 3427 QueryErrors []*QueryError `type:"list"` 3428 3429 // 3430 // Deprecated - don't use this parameter. Use the Resources response field 3431 // instead. 3432 // 3433 // Deprecated: This field is deprecated, use Resources instead. 3434 ResourceIdentifiers []*ResourceIdentifier `deprecated:"true" type:"list"` 3435 3436 // An array of resources from which you can determine each resource's identity, 3437 // type, and group membership status. 3438 Resources []*ListGroupResourcesItem `type:"list"` 3439 } 3440 3441 // String returns the string representation. 3442 // 3443 // API parameter values that are decorated as "sensitive" in the API will not 3444 // be included in the string output. The member name will be present, but the 3445 // value will be replaced with "sensitive". 3446 func (s ListGroupResourcesOutput) String() string { 3447 return awsutil.Prettify(s) 3448 } 3449 3450 // GoString returns the string representation. 3451 // 3452 // API parameter values that are decorated as "sensitive" in the API will not 3453 // be included in the string output. The member name will be present, but the 3454 // value will be replaced with "sensitive". 3455 func (s ListGroupResourcesOutput) GoString() string { 3456 return s.String() 3457 } 3458 3459 // SetNextToken sets the NextToken field's value. 3460 func (s *ListGroupResourcesOutput) SetNextToken(v string) *ListGroupResourcesOutput { 3461 s.NextToken = &v 3462 return s 3463 } 3464 3465 // SetQueryErrors sets the QueryErrors field's value. 3466 func (s *ListGroupResourcesOutput) SetQueryErrors(v []*QueryError) *ListGroupResourcesOutput { 3467 s.QueryErrors = v 3468 return s 3469 } 3470 3471 // SetResourceIdentifiers sets the ResourceIdentifiers field's value. 3472 func (s *ListGroupResourcesOutput) SetResourceIdentifiers(v []*ResourceIdentifier) *ListGroupResourcesOutput { 3473 s.ResourceIdentifiers = v 3474 return s 3475 } 3476 3477 // SetResources sets the Resources field's value. 3478 func (s *ListGroupResourcesOutput) SetResources(v []*ListGroupResourcesItem) *ListGroupResourcesOutput { 3479 s.Resources = v 3480 return s 3481 } 3482 3483 type ListGroupsInput struct { 3484 _ struct{} `type:"structure"` 3485 3486 // Filters, formatted as GroupFilter objects, that you want to apply to a ListGroups 3487 // operation. 3488 // 3489 // * resource-type - Filter the results to include only those of the specified 3490 // resource types. Specify up to five resource types in the format AWS::ServiceCode::ResourceType 3491 // . For example, AWS::EC2::Instance, or AWS::S3::Bucket. 3492 // 3493 // * configuration-type - Filter the results to include only those groups 3494 // that have the specified configuration types attached. The current supported 3495 // values are: AWS:EC2::CapacityReservationPool AWS:EC2::HostManagement 3496 Filters []*GroupFilter `type:"list"` 3497 3498 // The total number of results that you want included on each page of the response. 3499 // If you do not include this parameter, it defaults to a value that is specific 3500 // to the operation. If additional items exist beyond the maximum you specify, 3501 // the NextToken response element is present and has a value (is not null). 3502 // Include that value as the NextToken request parameter in the next call to 3503 // the operation to get the next part of the results. Note that the service 3504 // might return fewer results than the maximum even when there are more results 3505 // available. You should check NextToken after every operation to ensure that 3506 // you receive all of the results. 3507 MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` 3508 3509 // The parameter for receiving additional results if you receive a NextToken 3510 // response in a previous request. A NextToken response indicates that more 3511 // output is available. Set this parameter to the value provided by a previous 3512 // call's NextToken response to indicate where the output should continue from. 3513 NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` 3514 } 3515 3516 // String returns the string representation. 3517 // 3518 // API parameter values that are decorated as "sensitive" in the API will not 3519 // be included in the string output. The member name will be present, but the 3520 // value will be replaced with "sensitive". 3521 func (s ListGroupsInput) String() string { 3522 return awsutil.Prettify(s) 3523 } 3524 3525 // GoString returns the string representation. 3526 // 3527 // API parameter values that are decorated as "sensitive" in the API will not 3528 // be included in the string output. The member name will be present, but the 3529 // value will be replaced with "sensitive". 3530 func (s ListGroupsInput) GoString() string { 3531 return s.String() 3532 } 3533 3534 // Validate inspects the fields of the type to determine if they are valid. 3535 func (s *ListGroupsInput) Validate() error { 3536 invalidParams := request.ErrInvalidParams{Context: "ListGroupsInput"} 3537 if s.MaxResults != nil && *s.MaxResults < 1 { 3538 invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) 3539 } 3540 if s.Filters != nil { 3541 for i, v := range s.Filters { 3542 if v == nil { 3543 continue 3544 } 3545 if err := v.Validate(); err != nil { 3546 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams)) 3547 } 3548 } 3549 } 3550 3551 if invalidParams.Len() > 0 { 3552 return invalidParams 3553 } 3554 return nil 3555 } 3556 3557 // SetFilters sets the Filters field's value. 3558 func (s *ListGroupsInput) SetFilters(v []*GroupFilter) *ListGroupsInput { 3559 s.Filters = v 3560 return s 3561 } 3562 3563 // SetMaxResults sets the MaxResults field's value. 3564 func (s *ListGroupsInput) SetMaxResults(v int64) *ListGroupsInput { 3565 s.MaxResults = &v 3566 return s 3567 } 3568 3569 // SetNextToken sets the NextToken field's value. 3570 func (s *ListGroupsInput) SetNextToken(v string) *ListGroupsInput { 3571 s.NextToken = &v 3572 return s 3573 } 3574 3575 type ListGroupsOutput struct { 3576 _ struct{} `type:"structure"` 3577 3578 // A list of GroupIdentifier objects. Each identifier is an object that contains 3579 // both the Name and the GroupArn. 3580 GroupIdentifiers []*GroupIdentifier `type:"list"` 3581 3582 // 3583 // Deprecated - don't use this field. Use the GroupIdentifiers response field 3584 // instead. 3585 // 3586 // Deprecated: This field is deprecated, use GroupIdentifiers instead. 3587 Groups []*Group `deprecated:"true" type:"list"` 3588 3589 // If present, indicates that more output is available than is included in the 3590 // current response. Use this value in the NextToken request parameter in a 3591 // subsequent call to the operation to get the next part of the output. You 3592 // should repeat this until the NextToken response element comes back as null. 3593 NextToken *string `type:"string"` 3594 } 3595 3596 // String returns the string representation. 3597 // 3598 // API parameter values that are decorated as "sensitive" in the API will not 3599 // be included in the string output. The member name will be present, but the 3600 // value will be replaced with "sensitive". 3601 func (s ListGroupsOutput) String() string { 3602 return awsutil.Prettify(s) 3603 } 3604 3605 // GoString returns the string representation. 3606 // 3607 // API parameter values that are decorated as "sensitive" in the API will not 3608 // be included in the string output. The member name will be present, but the 3609 // value will be replaced with "sensitive". 3610 func (s ListGroupsOutput) GoString() string { 3611 return s.String() 3612 } 3613 3614 // SetGroupIdentifiers sets the GroupIdentifiers field's value. 3615 func (s *ListGroupsOutput) SetGroupIdentifiers(v []*GroupIdentifier) *ListGroupsOutput { 3616 s.GroupIdentifiers = v 3617 return s 3618 } 3619 3620 // SetGroups sets the Groups field's value. 3621 func (s *ListGroupsOutput) SetGroups(v []*Group) *ListGroupsOutput { 3622 s.Groups = v 3623 return s 3624 } 3625 3626 // SetNextToken sets the NextToken field's value. 3627 func (s *ListGroupsOutput) SetNextToken(v string) *ListGroupsOutput { 3628 s.NextToken = &v 3629 return s 3630 } 3631 3632 // The request uses an HTTP method that isn't allowed for the specified resource. 3633 type MethodNotAllowedException struct { 3634 _ struct{} `type:"structure"` 3635 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 3636 3637 Message_ *string `locationName:"Message" min:"1" type:"string"` 3638 } 3639 3640 // String returns the string representation. 3641 // 3642 // API parameter values that are decorated as "sensitive" in the API will not 3643 // be included in the string output. The member name will be present, but the 3644 // value will be replaced with "sensitive". 3645 func (s MethodNotAllowedException) String() string { 3646 return awsutil.Prettify(s) 3647 } 3648 3649 // GoString returns the string representation. 3650 // 3651 // API parameter values that are decorated as "sensitive" in the API will not 3652 // be included in the string output. The member name will be present, but the 3653 // value will be replaced with "sensitive". 3654 func (s MethodNotAllowedException) GoString() string { 3655 return s.String() 3656 } 3657 3658 func newErrorMethodNotAllowedException(v protocol.ResponseMetadata) error { 3659 return &MethodNotAllowedException{ 3660 RespMetadata: v, 3661 } 3662 } 3663 3664 // Code returns the exception type name. 3665 func (s *MethodNotAllowedException) Code() string { 3666 return "MethodNotAllowedException" 3667 } 3668 3669 // Message returns the exception's message. 3670 func (s *MethodNotAllowedException) Message() string { 3671 if s.Message_ != nil { 3672 return *s.Message_ 3673 } 3674 return "" 3675 } 3676 3677 // OrigErr always returns nil, satisfies awserr.Error interface. 3678 func (s *MethodNotAllowedException) OrigErr() error { 3679 return nil 3680 } 3681 3682 func (s *MethodNotAllowedException) Error() string { 3683 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 3684 } 3685 3686 // Status code returns the HTTP status code for the request's response error. 3687 func (s *MethodNotAllowedException) StatusCode() int { 3688 return s.RespMetadata.StatusCode 3689 } 3690 3691 // RequestID returns the service's response RequestID for request. 3692 func (s *MethodNotAllowedException) RequestID() string { 3693 return s.RespMetadata.RequestID 3694 } 3695 3696 // One or more of the specified resources don't exist. 3697 type NotFoundException struct { 3698 _ struct{} `type:"structure"` 3699 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 3700 3701 Message_ *string `locationName:"Message" min:"1" type:"string"` 3702 } 3703 3704 // String returns the string representation. 3705 // 3706 // API parameter values that are decorated as "sensitive" in the API will not 3707 // be included in the string output. The member name will be present, but the 3708 // value will be replaced with "sensitive". 3709 func (s NotFoundException) String() string { 3710 return awsutil.Prettify(s) 3711 } 3712 3713 // GoString returns the string representation. 3714 // 3715 // API parameter values that are decorated as "sensitive" in the API will not 3716 // be included in the string output. The member name will be present, but the 3717 // value will be replaced with "sensitive". 3718 func (s NotFoundException) GoString() string { 3719 return s.String() 3720 } 3721 3722 func newErrorNotFoundException(v protocol.ResponseMetadata) error { 3723 return &NotFoundException{ 3724 RespMetadata: v, 3725 } 3726 } 3727 3728 // Code returns the exception type name. 3729 func (s *NotFoundException) Code() string { 3730 return "NotFoundException" 3731 } 3732 3733 // Message returns the exception's message. 3734 func (s *NotFoundException) Message() string { 3735 if s.Message_ != nil { 3736 return *s.Message_ 3737 } 3738 return "" 3739 } 3740 3741 // OrigErr always returns nil, satisfies awserr.Error interface. 3742 func (s *NotFoundException) OrigErr() error { 3743 return nil 3744 } 3745 3746 func (s *NotFoundException) Error() string { 3747 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 3748 } 3749 3750 // Status code returns the HTTP status code for the request's response error. 3751 func (s *NotFoundException) StatusCode() int { 3752 return s.RespMetadata.StatusCode 3753 } 3754 3755 // RequestID returns the service's response RequestID for request. 3756 func (s *NotFoundException) RequestID() string { 3757 return s.RespMetadata.RequestID 3758 } 3759 3760 // A structure that identifies a resource that is currently pending addition 3761 // to the group as a member. Adding a resource to a resource group happens asynchronously 3762 // as a background task and this one isn't completed yet. 3763 type PendingResource struct { 3764 _ struct{} `type:"structure"` 3765 3766 // The Amazon resource name (ARN) of the resource that's in a pending state. 3767 ResourceArn *string `type:"string"` 3768 } 3769 3770 // String returns the string representation. 3771 // 3772 // API parameter values that are decorated as "sensitive" in the API will not 3773 // be included in the string output. The member name will be present, but the 3774 // value will be replaced with "sensitive". 3775 func (s PendingResource) String() string { 3776 return awsutil.Prettify(s) 3777 } 3778 3779 // GoString returns the string representation. 3780 // 3781 // API parameter values that are decorated as "sensitive" in the API will not 3782 // be included in the string output. The member name will be present, but the 3783 // value will be replaced with "sensitive". 3784 func (s PendingResource) GoString() string { 3785 return s.String() 3786 } 3787 3788 // SetResourceArn sets the ResourceArn field's value. 3789 func (s *PendingResource) SetResourceArn(v string) *PendingResource { 3790 s.ResourceArn = &v 3791 return s 3792 } 3793 3794 type PutGroupConfigurationInput struct { 3795 _ struct{} `type:"structure"` 3796 3797 // The new configuration to associate with the specified group. A configuration 3798 // associates the resource group with an AWS service and specifies how the service 3799 // can interact with the resources in the group. A configuration is an array 3800 // of GroupConfigurationItem elements. 3801 // 3802 // For information about the syntax of a service configuration, see Service 3803 // configurations for resource groups (https://docs.aws.amazon.com/ARG/latest/APIReference/about-slg.html). 3804 // 3805 // A resource group can contain either a Configuration or a ResourceQuery, but 3806 // not both. 3807 Configuration []*GroupConfigurationItem `type:"list"` 3808 3809 // The name or ARN of the resource group with the configuration that you want 3810 // to update. 3811 Group *string `min:"1" type:"string"` 3812 } 3813 3814 // String returns the string representation. 3815 // 3816 // API parameter values that are decorated as "sensitive" in the API will not 3817 // be included in the string output. The member name will be present, but the 3818 // value will be replaced with "sensitive". 3819 func (s PutGroupConfigurationInput) String() string { 3820 return awsutil.Prettify(s) 3821 } 3822 3823 // GoString returns the string representation. 3824 // 3825 // API parameter values that are decorated as "sensitive" in the API will not 3826 // be included in the string output. The member name will be present, but the 3827 // value will be replaced with "sensitive". 3828 func (s PutGroupConfigurationInput) GoString() string { 3829 return s.String() 3830 } 3831 3832 // Validate inspects the fields of the type to determine if they are valid. 3833 func (s *PutGroupConfigurationInput) Validate() error { 3834 invalidParams := request.ErrInvalidParams{Context: "PutGroupConfigurationInput"} 3835 if s.Group != nil && len(*s.Group) < 1 { 3836 invalidParams.Add(request.NewErrParamMinLen("Group", 1)) 3837 } 3838 if s.Configuration != nil { 3839 for i, v := range s.Configuration { 3840 if v == nil { 3841 continue 3842 } 3843 if err := v.Validate(); err != nil { 3844 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Configuration", i), err.(request.ErrInvalidParams)) 3845 } 3846 } 3847 } 3848 3849 if invalidParams.Len() > 0 { 3850 return invalidParams 3851 } 3852 return nil 3853 } 3854 3855 // SetConfiguration sets the Configuration field's value. 3856 func (s *PutGroupConfigurationInput) SetConfiguration(v []*GroupConfigurationItem) *PutGroupConfigurationInput { 3857 s.Configuration = v 3858 return s 3859 } 3860 3861 // SetGroup sets the Group field's value. 3862 func (s *PutGroupConfigurationInput) SetGroup(v string) *PutGroupConfigurationInput { 3863 s.Group = &v 3864 return s 3865 } 3866 3867 type PutGroupConfigurationOutput struct { 3868 _ struct{} `type:"structure" nopayload:"true"` 3869 } 3870 3871 // String returns the string representation. 3872 // 3873 // API parameter values that are decorated as "sensitive" in the API will not 3874 // be included in the string output. The member name will be present, but the 3875 // value will be replaced with "sensitive". 3876 func (s PutGroupConfigurationOutput) String() string { 3877 return awsutil.Prettify(s) 3878 } 3879 3880 // GoString returns the string representation. 3881 // 3882 // API parameter values that are decorated as "sensitive" in the API will not 3883 // be included in the string output. The member name will be present, but the 3884 // value will be replaced with "sensitive". 3885 func (s PutGroupConfigurationOutput) GoString() string { 3886 return s.String() 3887 } 3888 3889 // A two-part error structure that can occur in ListGroupResources or SearchResources 3890 // operations on CloudFormation stack-based queries. The error occurs if the 3891 // CloudFormation stack on which the query is based either does not exist, or 3892 // has a status that renders the stack inactive. A QueryError occurrence does 3893 // not necessarily mean that AWS Resource Groups could not complete the operation, 3894 // but the resulting group might have no member resources. 3895 type QueryError struct { 3896 _ struct{} `type:"structure"` 3897 3898 // Possible values are CLOUDFORMATION_STACK_INACTIVE and CLOUDFORMATION_STACK_NOT_EXISTING. 3899 ErrorCode *string `type:"string" enum:"QueryErrorCode"` 3900 3901 // A message that explains the ErrorCode value. Messages might state that the 3902 // specified CloudFormation stack does not exist (or no longer exists). For 3903 // CLOUDFORMATION_STACK_INACTIVE, the message typically states that the CloudFormation 3904 // stack has a status that is not (or no longer) active, such as CREATE_FAILED. 3905 Message *string `type:"string"` 3906 } 3907 3908 // String returns the string representation. 3909 // 3910 // API parameter values that are decorated as "sensitive" in the API will not 3911 // be included in the string output. The member name will be present, but the 3912 // value will be replaced with "sensitive". 3913 func (s QueryError) String() string { 3914 return awsutil.Prettify(s) 3915 } 3916 3917 // GoString returns the string representation. 3918 // 3919 // API parameter values that are decorated as "sensitive" in the API will not 3920 // be included in the string output. The member name will be present, but the 3921 // value will be replaced with "sensitive". 3922 func (s QueryError) GoString() string { 3923 return s.String() 3924 } 3925 3926 // SetErrorCode sets the ErrorCode field's value. 3927 func (s *QueryError) SetErrorCode(v string) *QueryError { 3928 s.ErrorCode = &v 3929 return s 3930 } 3931 3932 // SetMessage sets the Message field's value. 3933 func (s *QueryError) SetMessage(v string) *QueryError { 3934 s.Message = &v 3935 return s 3936 } 3937 3938 // A filter name and value pair that is used to obtain more specific results 3939 // from a list of resources. 3940 type ResourceFilter struct { 3941 _ struct{} `type:"structure"` 3942 3943 // The name of the filter. Filter names are case-sensitive. 3944 // 3945 // Name is a required field 3946 Name *string `type:"string" required:"true" enum:"ResourceFilterName"` 3947 3948 // One or more filter values. Allowed filter values vary by resource filter 3949 // name, and are case-sensitive. 3950 // 3951 // Values is a required field 3952 Values []*string `min:"1" type:"list" required:"true"` 3953 } 3954 3955 // String returns the string representation. 3956 // 3957 // API parameter values that are decorated as "sensitive" in the API will not 3958 // be included in the string output. The member name will be present, but the 3959 // value will be replaced with "sensitive". 3960 func (s ResourceFilter) String() string { 3961 return awsutil.Prettify(s) 3962 } 3963 3964 // GoString returns the string representation. 3965 // 3966 // API parameter values that are decorated as "sensitive" in the API will not 3967 // be included in the string output. The member name will be present, but the 3968 // value will be replaced with "sensitive". 3969 func (s ResourceFilter) GoString() string { 3970 return s.String() 3971 } 3972 3973 // Validate inspects the fields of the type to determine if they are valid. 3974 func (s *ResourceFilter) Validate() error { 3975 invalidParams := request.ErrInvalidParams{Context: "ResourceFilter"} 3976 if s.Name == nil { 3977 invalidParams.Add(request.NewErrParamRequired("Name")) 3978 } 3979 if s.Values == nil { 3980 invalidParams.Add(request.NewErrParamRequired("Values")) 3981 } 3982 if s.Values != nil && len(s.Values) < 1 { 3983 invalidParams.Add(request.NewErrParamMinLen("Values", 1)) 3984 } 3985 3986 if invalidParams.Len() > 0 { 3987 return invalidParams 3988 } 3989 return nil 3990 } 3991 3992 // SetName sets the Name field's value. 3993 func (s *ResourceFilter) SetName(v string) *ResourceFilter { 3994 s.Name = &v 3995 return s 3996 } 3997 3998 // SetValues sets the Values field's value. 3999 func (s *ResourceFilter) SetValues(v []*string) *ResourceFilter { 4000 s.Values = v 4001 return s 4002 } 4003 4004 // A structure that contains the ARN of a resource and its resource type. 4005 type ResourceIdentifier struct { 4006 _ struct{} `type:"structure"` 4007 4008 // The ARN of a resource. 4009 ResourceArn *string `type:"string"` 4010 4011 // The resource type of a resource, such as AWS::EC2::Instance. 4012 ResourceType *string `type:"string"` 4013 } 4014 4015 // String returns the string representation. 4016 // 4017 // API parameter values that are decorated as "sensitive" in the API will not 4018 // be included in the string output. The member name will be present, but the 4019 // value will be replaced with "sensitive". 4020 func (s ResourceIdentifier) String() string { 4021 return awsutil.Prettify(s) 4022 } 4023 4024 // GoString returns the string representation. 4025 // 4026 // API parameter values that are decorated as "sensitive" in the API will not 4027 // be included in the string output. The member name will be present, but the 4028 // value will be replaced with "sensitive". 4029 func (s ResourceIdentifier) GoString() string { 4030 return s.String() 4031 } 4032 4033 // SetResourceArn sets the ResourceArn field's value. 4034 func (s *ResourceIdentifier) SetResourceArn(v string) *ResourceIdentifier { 4035 s.ResourceArn = &v 4036 return s 4037 } 4038 4039 // SetResourceType sets the ResourceType field's value. 4040 func (s *ResourceIdentifier) SetResourceType(v string) *ResourceIdentifier { 4041 s.ResourceType = &v 4042 return s 4043 } 4044 4045 // The query that is used to define a resource group or a search for resources. 4046 // A query specifies both a query type and a query string as a JSON object. 4047 // See the examples section for example JSON strings. 4048 // 4049 // The examples that follow are shown as standard JSON strings. If you include 4050 // such a string as a parameter to the AWS CLI or an SDK API, you might need 4051 // to 'escape' the string into a single line. For example, see the Quoting strings 4052 // (https://docs.aws.amazon.com/cli/latest/userguide/cli-usage-parameters-quoting-strings.html) 4053 // in the AWS CLI User Guide. 4054 // 4055 // Example 1 4056 // 4057 // The following generic example shows a resource query JSON string that includes 4058 // only resources that meet the following criteria: 4059 // 4060 // * The resource type must be either resource_type1 or resource_type2. 4061 // 4062 // * The resource must have a tag Key1 with a value of either ValueA or ValueB. 4063 // 4064 // * The resource must have a tag Key2 with a value of either ValueC or ValueD. 4065 // 4066 // { "Type": "TAG_FILTERS_1_0", "Query": { "ResourceTypeFilters": [ "resource_type1", 4067 // "resource_type2"], "TagFilters": [ { "Key": "Key1", "Values": ["ValueA","ValueB"] 4068 // }, { "Key":"Key2", "Values":["ValueC","ValueD"] } ] } } 4069 // 4070 // This has the equivalent "shortcut" syntax of the following: 4071 // 4072 // { "Type": "TAG_FILTERS_1_0", "Query": { "ResourceTypeFilters": [ "resource_type1", 4073 // "resource_type2"], "TagFilters": [ { "Key1": ["ValueA","ValueB"] }, { "Key2": 4074 // ["ValueC","ValueD"] } ] } } 4075 // 4076 // Example 2 4077 // 4078 // The following example shows a resource query JSON string that includes only 4079 // Amazon EC2 instances that are tagged Stage with a value of Test. 4080 // 4081 // { "Type": "TAG_FILTERS_1_0", "Query": "{ "ResourceTypeFilters": "AWS::EC2::Instance", 4082 // "TagFilters": { "Stage": "Test" } } } 4083 // 4084 // Example 3 4085 // 4086 // The following example shows a resource query JSON string that includes resource 4087 // of any supported type as long as it is tagged Stage with a value of Prod. 4088 // 4089 // { "Type": "TAG_FILTERS_1_0", "Query": { "ResourceTypeFilters": "AWS::AllSupported", 4090 // "TagFilters": { "Stage": "Prod" } } } 4091 // 4092 // Example 4 4093 // 4094 // The following example shows a resource query JSON string that includes only 4095 // Amazon EC2 instances and Amazon S3 buckets that are part of the specified 4096 // AWS CloudFormation stack. 4097 // 4098 // { "Type": "CLOUDFORMATION_STACK_1_0", "Query": { "ResourceTypeFilters": [ 4099 // "AWS::EC2::Instance", "AWS::S3::Bucket" ], "StackIdentifier": "arn:aws:cloudformation:us-west-2:123456789012:stack/AWStestuseraccount/fb0d5000-aba8-00e8-aa9e-50d5cEXAMPLE" 4100 // } } 4101 type ResourceQuery struct { 4102 _ struct{} `type:"structure"` 4103 4104 // The query that defines a group or a search. 4105 // 4106 // Query is a required field 4107 Query *string `type:"string" required:"true"` 4108 4109 // The type of the query. You can use the following values: 4110 // 4111 // * CLOUDFORMATION_STACK_1_0: Specifies that the Query contains an ARN for 4112 // a CloudFormation stack. 4113 // 4114 // * TAG_FILTERS_1_0: Specifies that the Query parameter contains a JSON 4115 // string that represents a collection of simple tag filters for resource 4116 // types and tags. The JSON string uses a syntax similar to the GetResources 4117 // (https://docs.aws.amazon.com/resourcegroupstagging/latest/APIReference/API_GetResources.html) 4118 // operation, but uses only the ResourceTypeFilters (https://docs.aws.amazon.com/resourcegroupstagging/latest/APIReference/API_GetResources.html#resourcegrouptagging-GetResources-request-ResourceTypeFilters) 4119 // and TagFilters (https://docs.aws.amazon.com/resourcegroupstagging/latest/APIReference/API_GetResources.html#resourcegrouptagging-GetResources-request-TagFiltersTagFilters) 4120 // fields. If you specify more than one tag key, only resources that match 4121 // all tag keys, and at least one value of each specified tag key, are returned 4122 // in your query. If you specify more than one value for a tag key, a resource 4123 // matches the filter if it has a tag key value that matches any of the specified 4124 // values. For example, consider the following sample query for resources 4125 // that have two tags, Stage and Version, with two values each: [{"Stage":["Test","Deploy"]},{"Version":["1","2"]}] 4126 // The results of this query could include the following. An EC2 instance 4127 // that has the following two tags: {"Stage":"Deploy"}, and {"Version":"2"} 4128 // An S3 bucket that has the following two tags: {"Stage":"Test"}, and {"Version":"1"} 4129 // The query would not include the following items in the results, however. 4130 // An EC2 instance that has only the following tag: {"Stage":"Deploy"}. The 4131 // instance does not have all of the tag keys specified in the filter, so 4132 // it is excluded from the results. An RDS database that has the following 4133 // two tags: {"Stage":"Archived"} and {"Version":"4"} The database has all 4134 // of the tag keys, but none of those keys has an associated value that matches 4135 // at least one of the specified values in the filter. 4136 // 4137 // Type is a required field 4138 Type *string `min:"1" type:"string" required:"true" enum:"QueryType"` 4139 } 4140 4141 // String returns the string representation. 4142 // 4143 // API parameter values that are decorated as "sensitive" in the API will not 4144 // be included in the string output. The member name will be present, but the 4145 // value will be replaced with "sensitive". 4146 func (s ResourceQuery) String() string { 4147 return awsutil.Prettify(s) 4148 } 4149 4150 // GoString returns the string representation. 4151 // 4152 // API parameter values that are decorated as "sensitive" in the API will not 4153 // be included in the string output. The member name will be present, but the 4154 // value will be replaced with "sensitive". 4155 func (s ResourceQuery) GoString() string { 4156 return s.String() 4157 } 4158 4159 // Validate inspects the fields of the type to determine if they are valid. 4160 func (s *ResourceQuery) Validate() error { 4161 invalidParams := request.ErrInvalidParams{Context: "ResourceQuery"} 4162 if s.Query == nil { 4163 invalidParams.Add(request.NewErrParamRequired("Query")) 4164 } 4165 if s.Type == nil { 4166 invalidParams.Add(request.NewErrParamRequired("Type")) 4167 } 4168 if s.Type != nil && len(*s.Type) < 1 { 4169 invalidParams.Add(request.NewErrParamMinLen("Type", 1)) 4170 } 4171 4172 if invalidParams.Len() > 0 { 4173 return invalidParams 4174 } 4175 return nil 4176 } 4177 4178 // SetQuery sets the Query field's value. 4179 func (s *ResourceQuery) SetQuery(v string) *ResourceQuery { 4180 s.Query = &v 4181 return s 4182 } 4183 4184 // SetType sets the Type field's value. 4185 func (s *ResourceQuery) SetType(v string) *ResourceQuery { 4186 s.Type = &v 4187 return s 4188 } 4189 4190 // A structure that identifies the current group membership status for a resource. 4191 // Adding a resource to a resource group is performed asynchronously as a background 4192 // task. A PENDING status indicates, for this resource, that the process isn't 4193 // completed yet. 4194 type ResourceStatus struct { 4195 _ struct{} `type:"structure"` 4196 4197 // The current status. 4198 Name *string `type:"string" enum:"ResourceStatusValue"` 4199 } 4200 4201 // String returns the string representation. 4202 // 4203 // API parameter values that are decorated as "sensitive" in the API will not 4204 // be included in the string output. The member name will be present, but the 4205 // value will be replaced with "sensitive". 4206 func (s ResourceStatus) String() string { 4207 return awsutil.Prettify(s) 4208 } 4209 4210 // GoString returns the string representation. 4211 // 4212 // API parameter values that are decorated as "sensitive" in the API will not 4213 // be included in the string output. The member name will be present, but the 4214 // value will be replaced with "sensitive". 4215 func (s ResourceStatus) GoString() string { 4216 return s.String() 4217 } 4218 4219 // SetName sets the Name field's value. 4220 func (s *ResourceStatus) SetName(v string) *ResourceStatus { 4221 s.Name = &v 4222 return s 4223 } 4224 4225 type SearchResourcesInput struct { 4226 _ struct{} `type:"structure"` 4227 4228 // The total number of results that you want included on each page of the response. 4229 // If you do not include this parameter, it defaults to a value that is specific 4230 // to the operation. If additional items exist beyond the maximum you specify, 4231 // the NextToken response element is present and has a value (is not null). 4232 // Include that value as the NextToken request parameter in the next call to 4233 // the operation to get the next part of the results. Note that the service 4234 // might return fewer results than the maximum even when there are more results 4235 // available. You should check NextToken after every operation to ensure that 4236 // you receive all of the results. 4237 MaxResults *int64 `min:"1" type:"integer"` 4238 4239 // The parameter for receiving additional results if you receive a NextToken 4240 // response in a previous request. A NextToken response indicates that more 4241 // output is available. Set this parameter to the value provided by a previous 4242 // call's NextToken response to indicate where the output should continue from. 4243 NextToken *string `type:"string"` 4244 4245 // The search query, using the same formats that are supported for resource 4246 // group definition. For more information, see CreateGroup. 4247 // 4248 // ResourceQuery is a required field 4249 ResourceQuery *ResourceQuery `type:"structure" required:"true"` 4250 } 4251 4252 // String returns the string representation. 4253 // 4254 // API parameter values that are decorated as "sensitive" in the API will not 4255 // be included in the string output. The member name will be present, but the 4256 // value will be replaced with "sensitive". 4257 func (s SearchResourcesInput) String() string { 4258 return awsutil.Prettify(s) 4259 } 4260 4261 // GoString returns the string representation. 4262 // 4263 // API parameter values that are decorated as "sensitive" in the API will not 4264 // be included in the string output. The member name will be present, but the 4265 // value will be replaced with "sensitive". 4266 func (s SearchResourcesInput) GoString() string { 4267 return s.String() 4268 } 4269 4270 // Validate inspects the fields of the type to determine if they are valid. 4271 func (s *SearchResourcesInput) Validate() error { 4272 invalidParams := request.ErrInvalidParams{Context: "SearchResourcesInput"} 4273 if s.MaxResults != nil && *s.MaxResults < 1 { 4274 invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) 4275 } 4276 if s.ResourceQuery == nil { 4277 invalidParams.Add(request.NewErrParamRequired("ResourceQuery")) 4278 } 4279 if s.ResourceQuery != nil { 4280 if err := s.ResourceQuery.Validate(); err != nil { 4281 invalidParams.AddNested("ResourceQuery", err.(request.ErrInvalidParams)) 4282 } 4283 } 4284 4285 if invalidParams.Len() > 0 { 4286 return invalidParams 4287 } 4288 return nil 4289 } 4290 4291 // SetMaxResults sets the MaxResults field's value. 4292 func (s *SearchResourcesInput) SetMaxResults(v int64) *SearchResourcesInput { 4293 s.MaxResults = &v 4294 return s 4295 } 4296 4297 // SetNextToken sets the NextToken field's value. 4298 func (s *SearchResourcesInput) SetNextToken(v string) *SearchResourcesInput { 4299 s.NextToken = &v 4300 return s 4301 } 4302 4303 // SetResourceQuery sets the ResourceQuery field's value. 4304 func (s *SearchResourcesInput) SetResourceQuery(v *ResourceQuery) *SearchResourcesInput { 4305 s.ResourceQuery = v 4306 return s 4307 } 4308 4309 type SearchResourcesOutput struct { 4310 _ struct{} `type:"structure"` 4311 4312 // If present, indicates that more output is available than is included in the 4313 // current response. Use this value in the NextToken request parameter in a 4314 // subsequent call to the operation to get the next part of the output. You 4315 // should repeat this until the NextToken response element comes back as null. 4316 NextToken *string `type:"string"` 4317 4318 // A list of QueryError objects. Each error is an object that contains ErrorCode 4319 // and Message structures. Possible values for ErrorCode are CLOUDFORMATION_STACK_INACTIVE 4320 // and CLOUDFORMATION_STACK_NOT_EXISTING. 4321 QueryErrors []*QueryError `type:"list"` 4322 4323 // The ARNs and resource types of resources that are members of the group that 4324 // you specified. 4325 ResourceIdentifiers []*ResourceIdentifier `type:"list"` 4326 } 4327 4328 // String returns the string representation. 4329 // 4330 // API parameter values that are decorated as "sensitive" in the API will not 4331 // be included in the string output. The member name will be present, but the 4332 // value will be replaced with "sensitive". 4333 func (s SearchResourcesOutput) String() string { 4334 return awsutil.Prettify(s) 4335 } 4336 4337 // GoString returns the string representation. 4338 // 4339 // API parameter values that are decorated as "sensitive" in the API will not 4340 // be included in the string output. The member name will be present, but the 4341 // value will be replaced with "sensitive". 4342 func (s SearchResourcesOutput) GoString() string { 4343 return s.String() 4344 } 4345 4346 // SetNextToken sets the NextToken field's value. 4347 func (s *SearchResourcesOutput) SetNextToken(v string) *SearchResourcesOutput { 4348 s.NextToken = &v 4349 return s 4350 } 4351 4352 // SetQueryErrors sets the QueryErrors field's value. 4353 func (s *SearchResourcesOutput) SetQueryErrors(v []*QueryError) *SearchResourcesOutput { 4354 s.QueryErrors = v 4355 return s 4356 } 4357 4358 // SetResourceIdentifiers sets the ResourceIdentifiers field's value. 4359 func (s *SearchResourcesOutput) SetResourceIdentifiers(v []*ResourceIdentifier) *SearchResourcesOutput { 4360 s.ResourceIdentifiers = v 4361 return s 4362 } 4363 4364 type TagInput struct { 4365 _ struct{} `type:"structure"` 4366 4367 // The ARN of the resource group to which to add tags. 4368 // 4369 // Arn is a required field 4370 Arn *string `location:"uri" locationName:"Arn" min:"12" type:"string" required:"true"` 4371 4372 // The tags to add to the specified resource group. A tag is a string-to-string 4373 // map of key-value pairs. 4374 // 4375 // Tags is a required field 4376 Tags map[string]*string `type:"map" required:"true"` 4377 } 4378 4379 // String returns the string representation. 4380 // 4381 // API parameter values that are decorated as "sensitive" in the API will not 4382 // be included in the string output. The member name will be present, but the 4383 // value will be replaced with "sensitive". 4384 func (s TagInput) String() string { 4385 return awsutil.Prettify(s) 4386 } 4387 4388 // GoString returns the string representation. 4389 // 4390 // API parameter values that are decorated as "sensitive" in the API will not 4391 // be included in the string output. The member name will be present, but the 4392 // value will be replaced with "sensitive". 4393 func (s TagInput) GoString() string { 4394 return s.String() 4395 } 4396 4397 // Validate inspects the fields of the type to determine if they are valid. 4398 func (s *TagInput) Validate() error { 4399 invalidParams := request.ErrInvalidParams{Context: "TagInput"} 4400 if s.Arn == nil { 4401 invalidParams.Add(request.NewErrParamRequired("Arn")) 4402 } 4403 if s.Arn != nil && len(*s.Arn) < 12 { 4404 invalidParams.Add(request.NewErrParamMinLen("Arn", 12)) 4405 } 4406 if s.Tags == nil { 4407 invalidParams.Add(request.NewErrParamRequired("Tags")) 4408 } 4409 4410 if invalidParams.Len() > 0 { 4411 return invalidParams 4412 } 4413 return nil 4414 } 4415 4416 // SetArn sets the Arn field's value. 4417 func (s *TagInput) SetArn(v string) *TagInput { 4418 s.Arn = &v 4419 return s 4420 } 4421 4422 // SetTags sets the Tags field's value. 4423 func (s *TagInput) SetTags(v map[string]*string) *TagInput { 4424 s.Tags = v 4425 return s 4426 } 4427 4428 type TagOutput struct { 4429 _ struct{} `type:"structure"` 4430 4431 // The ARN of the tagged resource. 4432 Arn *string `min:"12" type:"string"` 4433 4434 // The tags that have been added to the specified resource group. 4435 Tags map[string]*string `type:"map"` 4436 } 4437 4438 // String returns the string representation. 4439 // 4440 // API parameter values that are decorated as "sensitive" in the API will not 4441 // be included in the string output. The member name will be present, but the 4442 // value will be replaced with "sensitive". 4443 func (s TagOutput) String() string { 4444 return awsutil.Prettify(s) 4445 } 4446 4447 // GoString returns the string representation. 4448 // 4449 // API parameter values that are decorated as "sensitive" in the API will not 4450 // be included in the string output. The member name will be present, but the 4451 // value will be replaced with "sensitive". 4452 func (s TagOutput) GoString() string { 4453 return s.String() 4454 } 4455 4456 // SetArn sets the Arn field's value. 4457 func (s *TagOutput) SetArn(v string) *TagOutput { 4458 s.Arn = &v 4459 return s 4460 } 4461 4462 // SetTags sets the Tags field's value. 4463 func (s *TagOutput) SetTags(v map[string]*string) *TagOutput { 4464 s.Tags = v 4465 return s 4466 } 4467 4468 // You've exceeded throttling limits by making too many requests in a period 4469 // of time. 4470 type TooManyRequestsException struct { 4471 _ struct{} `type:"structure"` 4472 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 4473 4474 Message_ *string `locationName:"Message" min:"1" type:"string"` 4475 } 4476 4477 // String returns the string representation. 4478 // 4479 // API parameter values that are decorated as "sensitive" in the API will not 4480 // be included in the string output. The member name will be present, but the 4481 // value will be replaced with "sensitive". 4482 func (s TooManyRequestsException) String() string { 4483 return awsutil.Prettify(s) 4484 } 4485 4486 // GoString returns the string representation. 4487 // 4488 // API parameter values that are decorated as "sensitive" in the API will not 4489 // be included in the string output. The member name will be present, but the 4490 // value will be replaced with "sensitive". 4491 func (s TooManyRequestsException) GoString() string { 4492 return s.String() 4493 } 4494 4495 func newErrorTooManyRequestsException(v protocol.ResponseMetadata) error { 4496 return &TooManyRequestsException{ 4497 RespMetadata: v, 4498 } 4499 } 4500 4501 // Code returns the exception type name. 4502 func (s *TooManyRequestsException) Code() string { 4503 return "TooManyRequestsException" 4504 } 4505 4506 // Message returns the exception's message. 4507 func (s *TooManyRequestsException) Message() string { 4508 if s.Message_ != nil { 4509 return *s.Message_ 4510 } 4511 return "" 4512 } 4513 4514 // OrigErr always returns nil, satisfies awserr.Error interface. 4515 func (s *TooManyRequestsException) OrigErr() error { 4516 return nil 4517 } 4518 4519 func (s *TooManyRequestsException) Error() string { 4520 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 4521 } 4522 4523 // Status code returns the HTTP status code for the request's response error. 4524 func (s *TooManyRequestsException) StatusCode() int { 4525 return s.RespMetadata.StatusCode 4526 } 4527 4528 // RequestID returns the service's response RequestID for request. 4529 func (s *TooManyRequestsException) RequestID() string { 4530 return s.RespMetadata.RequestID 4531 } 4532 4533 // The request was rejected because it doesn't have valid credentials for the 4534 // target resource. 4535 type UnauthorizedException struct { 4536 _ struct{} `type:"structure"` 4537 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 4538 4539 Message_ *string `locationName:"Message" min:"1" type:"string"` 4540 } 4541 4542 // String returns the string representation. 4543 // 4544 // API parameter values that are decorated as "sensitive" in the API will not 4545 // be included in the string output. The member name will be present, but the 4546 // value will be replaced with "sensitive". 4547 func (s UnauthorizedException) String() string { 4548 return awsutil.Prettify(s) 4549 } 4550 4551 // GoString returns the string representation. 4552 // 4553 // API parameter values that are decorated as "sensitive" in the API will not 4554 // be included in the string output. The member name will be present, but the 4555 // value will be replaced with "sensitive". 4556 func (s UnauthorizedException) GoString() string { 4557 return s.String() 4558 } 4559 4560 func newErrorUnauthorizedException(v protocol.ResponseMetadata) error { 4561 return &UnauthorizedException{ 4562 RespMetadata: v, 4563 } 4564 } 4565 4566 // Code returns the exception type name. 4567 func (s *UnauthorizedException) Code() string { 4568 return "UnauthorizedException" 4569 } 4570 4571 // Message returns the exception's message. 4572 func (s *UnauthorizedException) Message() string { 4573 if s.Message_ != nil { 4574 return *s.Message_ 4575 } 4576 return "" 4577 } 4578 4579 // OrigErr always returns nil, satisfies awserr.Error interface. 4580 func (s *UnauthorizedException) OrigErr() error { 4581 return nil 4582 } 4583 4584 func (s *UnauthorizedException) Error() string { 4585 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 4586 } 4587 4588 // Status code returns the HTTP status code for the request's response error. 4589 func (s *UnauthorizedException) StatusCode() int { 4590 return s.RespMetadata.StatusCode 4591 } 4592 4593 // RequestID returns the service's response RequestID for request. 4594 func (s *UnauthorizedException) RequestID() string { 4595 return s.RespMetadata.RequestID 4596 } 4597 4598 type UngroupResourcesInput struct { 4599 _ struct{} `type:"structure"` 4600 4601 // The name or the ARN of the resource group from which to remove the resources. 4602 // 4603 // Group is a required field 4604 Group *string `min:"1" type:"string" required:"true"` 4605 4606 // The ARNs of the resources to be removed from the group. 4607 // 4608 // ResourceArns is a required field 4609 ResourceArns []*string `min:"1" type:"list" required:"true"` 4610 } 4611 4612 // String returns the string representation. 4613 // 4614 // API parameter values that are decorated as "sensitive" in the API will not 4615 // be included in the string output. The member name will be present, but the 4616 // value will be replaced with "sensitive". 4617 func (s UngroupResourcesInput) String() string { 4618 return awsutil.Prettify(s) 4619 } 4620 4621 // GoString returns the string representation. 4622 // 4623 // API parameter values that are decorated as "sensitive" in the API will not 4624 // be included in the string output. The member name will be present, but the 4625 // value will be replaced with "sensitive". 4626 func (s UngroupResourcesInput) GoString() string { 4627 return s.String() 4628 } 4629 4630 // Validate inspects the fields of the type to determine if they are valid. 4631 func (s *UngroupResourcesInput) Validate() error { 4632 invalidParams := request.ErrInvalidParams{Context: "UngroupResourcesInput"} 4633 if s.Group == nil { 4634 invalidParams.Add(request.NewErrParamRequired("Group")) 4635 } 4636 if s.Group != nil && len(*s.Group) < 1 { 4637 invalidParams.Add(request.NewErrParamMinLen("Group", 1)) 4638 } 4639 if s.ResourceArns == nil { 4640 invalidParams.Add(request.NewErrParamRequired("ResourceArns")) 4641 } 4642 if s.ResourceArns != nil && len(s.ResourceArns) < 1 { 4643 invalidParams.Add(request.NewErrParamMinLen("ResourceArns", 1)) 4644 } 4645 4646 if invalidParams.Len() > 0 { 4647 return invalidParams 4648 } 4649 return nil 4650 } 4651 4652 // SetGroup sets the Group field's value. 4653 func (s *UngroupResourcesInput) SetGroup(v string) *UngroupResourcesInput { 4654 s.Group = &v 4655 return s 4656 } 4657 4658 // SetResourceArns sets the ResourceArns field's value. 4659 func (s *UngroupResourcesInput) SetResourceArns(v []*string) *UngroupResourcesInput { 4660 s.ResourceArns = v 4661 return s 4662 } 4663 4664 type UngroupResourcesOutput struct { 4665 _ struct{} `type:"structure"` 4666 4667 // A list of any resources that failed to be removed from the group by this 4668 // operation. 4669 Failed []*FailedResource `type:"list"` 4670 4671 // A list of any resources that are still in the process of being removed from 4672 // the group by this operation. These pending removals continue asynchronously. 4673 // You can check the status of pending removals by using the ListGroupResources 4674 // operation. After the resource is successfully removed, it no longer appears 4675 // in the response. 4676 Pending []*PendingResource `type:"list"` 4677 4678 // A list of resources that were successfully removed from the group by this 4679 // operation. 4680 Succeeded []*string `min:"1" type:"list"` 4681 } 4682 4683 // String returns the string representation. 4684 // 4685 // API parameter values that are decorated as "sensitive" in the API will not 4686 // be included in the string output. The member name will be present, but the 4687 // value will be replaced with "sensitive". 4688 func (s UngroupResourcesOutput) String() string { 4689 return awsutil.Prettify(s) 4690 } 4691 4692 // GoString returns the string representation. 4693 // 4694 // API parameter values that are decorated as "sensitive" in the API will not 4695 // be included in the string output. The member name will be present, but the 4696 // value will be replaced with "sensitive". 4697 func (s UngroupResourcesOutput) GoString() string { 4698 return s.String() 4699 } 4700 4701 // SetFailed sets the Failed field's value. 4702 func (s *UngroupResourcesOutput) SetFailed(v []*FailedResource) *UngroupResourcesOutput { 4703 s.Failed = v 4704 return s 4705 } 4706 4707 // SetPending sets the Pending field's value. 4708 func (s *UngroupResourcesOutput) SetPending(v []*PendingResource) *UngroupResourcesOutput { 4709 s.Pending = v 4710 return s 4711 } 4712 4713 // SetSucceeded sets the Succeeded field's value. 4714 func (s *UngroupResourcesOutput) SetSucceeded(v []*string) *UngroupResourcesOutput { 4715 s.Succeeded = v 4716 return s 4717 } 4718 4719 type UntagInput struct { 4720 _ struct{} `type:"structure"` 4721 4722 // The ARN of the resource group from which to remove tags. The command removed 4723 // both the specified keys and any values associated with those keys. 4724 // 4725 // Arn is a required field 4726 Arn *string `location:"uri" locationName:"Arn" min:"12" type:"string" required:"true"` 4727 4728 // The keys of the tags to be removed. 4729 // 4730 // Keys is a required field 4731 Keys []*string `type:"list" required:"true"` 4732 } 4733 4734 // String returns the string representation. 4735 // 4736 // API parameter values that are decorated as "sensitive" in the API will not 4737 // be included in the string output. The member name will be present, but the 4738 // value will be replaced with "sensitive". 4739 func (s UntagInput) String() string { 4740 return awsutil.Prettify(s) 4741 } 4742 4743 // GoString returns the string representation. 4744 // 4745 // API parameter values that are decorated as "sensitive" in the API will not 4746 // be included in the string output. The member name will be present, but the 4747 // value will be replaced with "sensitive". 4748 func (s UntagInput) GoString() string { 4749 return s.String() 4750 } 4751 4752 // Validate inspects the fields of the type to determine if they are valid. 4753 func (s *UntagInput) Validate() error { 4754 invalidParams := request.ErrInvalidParams{Context: "UntagInput"} 4755 if s.Arn == nil { 4756 invalidParams.Add(request.NewErrParamRequired("Arn")) 4757 } 4758 if s.Arn != nil && len(*s.Arn) < 12 { 4759 invalidParams.Add(request.NewErrParamMinLen("Arn", 12)) 4760 } 4761 if s.Keys == nil { 4762 invalidParams.Add(request.NewErrParamRequired("Keys")) 4763 } 4764 4765 if invalidParams.Len() > 0 { 4766 return invalidParams 4767 } 4768 return nil 4769 } 4770 4771 // SetArn sets the Arn field's value. 4772 func (s *UntagInput) SetArn(v string) *UntagInput { 4773 s.Arn = &v 4774 return s 4775 } 4776 4777 // SetKeys sets the Keys field's value. 4778 func (s *UntagInput) SetKeys(v []*string) *UntagInput { 4779 s.Keys = v 4780 return s 4781 } 4782 4783 type UntagOutput struct { 4784 _ struct{} `type:"structure"` 4785 4786 // The ARN of the resource group from which tags have been removed. 4787 Arn *string `min:"12" type:"string"` 4788 4789 // The keys of the tags that were removed. 4790 Keys []*string `type:"list"` 4791 } 4792 4793 // String returns the string representation. 4794 // 4795 // API parameter values that are decorated as "sensitive" in the API will not 4796 // be included in the string output. The member name will be present, but the 4797 // value will be replaced with "sensitive". 4798 func (s UntagOutput) String() string { 4799 return awsutil.Prettify(s) 4800 } 4801 4802 // GoString returns the string representation. 4803 // 4804 // API parameter values that are decorated as "sensitive" in the API will not 4805 // be included in the string output. The member name will be present, but the 4806 // value will be replaced with "sensitive". 4807 func (s UntagOutput) GoString() string { 4808 return s.String() 4809 } 4810 4811 // SetArn sets the Arn field's value. 4812 func (s *UntagOutput) SetArn(v string) *UntagOutput { 4813 s.Arn = &v 4814 return s 4815 } 4816 4817 // SetKeys sets the Keys field's value. 4818 func (s *UntagOutput) SetKeys(v []*string) *UntagOutput { 4819 s.Keys = v 4820 return s 4821 } 4822 4823 type UpdateGroupInput struct { 4824 _ struct{} `type:"structure"` 4825 4826 // The new description that you want to update the resource group with. Descriptions 4827 // can contain letters, numbers, hyphens, underscores, periods, and spaces. 4828 Description *string `type:"string"` 4829 4830 // The name or the ARN of the resource group to modify. 4831 Group *string `min:"1" type:"string"` 4832 4833 // Don't use this parameter. Use Group instead. 4834 // 4835 // Deprecated: This field is deprecated, use Group instead. 4836 GroupName *string `min:"1" deprecated:"true" type:"string"` 4837 } 4838 4839 // String returns the string representation. 4840 // 4841 // API parameter values that are decorated as "sensitive" in the API will not 4842 // be included in the string output. The member name will be present, but the 4843 // value will be replaced with "sensitive". 4844 func (s UpdateGroupInput) String() string { 4845 return awsutil.Prettify(s) 4846 } 4847 4848 // GoString returns the string representation. 4849 // 4850 // API parameter values that are decorated as "sensitive" in the API will not 4851 // be included in the string output. The member name will be present, but the 4852 // value will be replaced with "sensitive". 4853 func (s UpdateGroupInput) GoString() string { 4854 return s.String() 4855 } 4856 4857 // Validate inspects the fields of the type to determine if they are valid. 4858 func (s *UpdateGroupInput) Validate() error { 4859 invalidParams := request.ErrInvalidParams{Context: "UpdateGroupInput"} 4860 if s.Group != nil && len(*s.Group) < 1 { 4861 invalidParams.Add(request.NewErrParamMinLen("Group", 1)) 4862 } 4863 if s.GroupName != nil && len(*s.GroupName) < 1 { 4864 invalidParams.Add(request.NewErrParamMinLen("GroupName", 1)) 4865 } 4866 4867 if invalidParams.Len() > 0 { 4868 return invalidParams 4869 } 4870 return nil 4871 } 4872 4873 // SetDescription sets the Description field's value. 4874 func (s *UpdateGroupInput) SetDescription(v string) *UpdateGroupInput { 4875 s.Description = &v 4876 return s 4877 } 4878 4879 // SetGroup sets the Group field's value. 4880 func (s *UpdateGroupInput) SetGroup(v string) *UpdateGroupInput { 4881 s.Group = &v 4882 return s 4883 } 4884 4885 // SetGroupName sets the GroupName field's value. 4886 func (s *UpdateGroupInput) SetGroupName(v string) *UpdateGroupInput { 4887 s.GroupName = &v 4888 return s 4889 } 4890 4891 type UpdateGroupOutput struct { 4892 _ struct{} `type:"structure"` 4893 4894 // The update description of the resource group. 4895 Group *Group `type:"structure"` 4896 } 4897 4898 // String returns the string representation. 4899 // 4900 // API parameter values that are decorated as "sensitive" in the API will not 4901 // be included in the string output. The member name will be present, but the 4902 // value will be replaced with "sensitive". 4903 func (s UpdateGroupOutput) String() string { 4904 return awsutil.Prettify(s) 4905 } 4906 4907 // GoString returns the string representation. 4908 // 4909 // API parameter values that are decorated as "sensitive" in the API will not 4910 // be included in the string output. The member name will be present, but the 4911 // value will be replaced with "sensitive". 4912 func (s UpdateGroupOutput) GoString() string { 4913 return s.String() 4914 } 4915 4916 // SetGroup sets the Group field's value. 4917 func (s *UpdateGroupOutput) SetGroup(v *Group) *UpdateGroupOutput { 4918 s.Group = v 4919 return s 4920 } 4921 4922 type UpdateGroupQueryInput struct { 4923 _ struct{} `type:"structure"` 4924 4925 // The name or the ARN of the resource group to query. 4926 Group *string `min:"1" type:"string"` 4927 4928 // Don't use this parameter. Use Group instead. 4929 // 4930 // Deprecated: This field is deprecated, use Group instead. 4931 GroupName *string `min:"1" deprecated:"true" type:"string"` 4932 4933 // The resource query to determine which AWS resources are members of this resource 4934 // group. 4935 // 4936 // A resource group can contain either a Configuration or a ResourceQuery, but 4937 // not both. 4938 // 4939 // ResourceQuery is a required field 4940 ResourceQuery *ResourceQuery `type:"structure" required:"true"` 4941 } 4942 4943 // String returns the string representation. 4944 // 4945 // API parameter values that are decorated as "sensitive" in the API will not 4946 // be included in the string output. The member name will be present, but the 4947 // value will be replaced with "sensitive". 4948 func (s UpdateGroupQueryInput) String() string { 4949 return awsutil.Prettify(s) 4950 } 4951 4952 // GoString returns the string representation. 4953 // 4954 // API parameter values that are decorated as "sensitive" in the API will not 4955 // be included in the string output. The member name will be present, but the 4956 // value will be replaced with "sensitive". 4957 func (s UpdateGroupQueryInput) GoString() string { 4958 return s.String() 4959 } 4960 4961 // Validate inspects the fields of the type to determine if they are valid. 4962 func (s *UpdateGroupQueryInput) Validate() error { 4963 invalidParams := request.ErrInvalidParams{Context: "UpdateGroupQueryInput"} 4964 if s.Group != nil && len(*s.Group) < 1 { 4965 invalidParams.Add(request.NewErrParamMinLen("Group", 1)) 4966 } 4967 if s.GroupName != nil && len(*s.GroupName) < 1 { 4968 invalidParams.Add(request.NewErrParamMinLen("GroupName", 1)) 4969 } 4970 if s.ResourceQuery == nil { 4971 invalidParams.Add(request.NewErrParamRequired("ResourceQuery")) 4972 } 4973 if s.ResourceQuery != nil { 4974 if err := s.ResourceQuery.Validate(); err != nil { 4975 invalidParams.AddNested("ResourceQuery", err.(request.ErrInvalidParams)) 4976 } 4977 } 4978 4979 if invalidParams.Len() > 0 { 4980 return invalidParams 4981 } 4982 return nil 4983 } 4984 4985 // SetGroup sets the Group field's value. 4986 func (s *UpdateGroupQueryInput) SetGroup(v string) *UpdateGroupQueryInput { 4987 s.Group = &v 4988 return s 4989 } 4990 4991 // SetGroupName sets the GroupName field's value. 4992 func (s *UpdateGroupQueryInput) SetGroupName(v string) *UpdateGroupQueryInput { 4993 s.GroupName = &v 4994 return s 4995 } 4996 4997 // SetResourceQuery sets the ResourceQuery field's value. 4998 func (s *UpdateGroupQueryInput) SetResourceQuery(v *ResourceQuery) *UpdateGroupQueryInput { 4999 s.ResourceQuery = v 5000 return s 5001 } 5002 5003 type UpdateGroupQueryOutput struct { 5004 _ struct{} `type:"structure"` 5005 5006 // The updated resource query associated with the resource group after the update. 5007 GroupQuery *GroupQuery `type:"structure"` 5008 } 5009 5010 // String returns the string representation. 5011 // 5012 // API parameter values that are decorated as "sensitive" in the API will not 5013 // be included in the string output. The member name will be present, but the 5014 // value will be replaced with "sensitive". 5015 func (s UpdateGroupQueryOutput) String() string { 5016 return awsutil.Prettify(s) 5017 } 5018 5019 // GoString returns the string representation. 5020 // 5021 // API parameter values that are decorated as "sensitive" in the API will not 5022 // be included in the string output. The member name will be present, but the 5023 // value will be replaced with "sensitive". 5024 func (s UpdateGroupQueryOutput) GoString() string { 5025 return s.String() 5026 } 5027 5028 // SetGroupQuery sets the GroupQuery field's value. 5029 func (s *UpdateGroupQueryOutput) SetGroupQuery(v *GroupQuery) *UpdateGroupQueryOutput { 5030 s.GroupQuery = v 5031 return s 5032 } 5033 5034 const ( 5035 // GroupConfigurationStatusUpdating is a GroupConfigurationStatus enum value 5036 GroupConfigurationStatusUpdating = "UPDATING" 5037 5038 // GroupConfigurationStatusUpdateComplete is a GroupConfigurationStatus enum value 5039 GroupConfigurationStatusUpdateComplete = "UPDATE_COMPLETE" 5040 5041 // GroupConfigurationStatusUpdateFailed is a GroupConfigurationStatus enum value 5042 GroupConfigurationStatusUpdateFailed = "UPDATE_FAILED" 5043 ) 5044 5045 // GroupConfigurationStatus_Values returns all elements of the GroupConfigurationStatus enum 5046 func GroupConfigurationStatus_Values() []string { 5047 return []string{ 5048 GroupConfigurationStatusUpdating, 5049 GroupConfigurationStatusUpdateComplete, 5050 GroupConfigurationStatusUpdateFailed, 5051 } 5052 } 5053 5054 const ( 5055 // GroupFilterNameResourceType is a GroupFilterName enum value 5056 GroupFilterNameResourceType = "resource-type" 5057 5058 // GroupFilterNameConfigurationType is a GroupFilterName enum value 5059 GroupFilterNameConfigurationType = "configuration-type" 5060 ) 5061 5062 // GroupFilterName_Values returns all elements of the GroupFilterName enum 5063 func GroupFilterName_Values() []string { 5064 return []string{ 5065 GroupFilterNameResourceType, 5066 GroupFilterNameConfigurationType, 5067 } 5068 } 5069 5070 const ( 5071 // QueryErrorCodeCloudformationStackInactive is a QueryErrorCode enum value 5072 QueryErrorCodeCloudformationStackInactive = "CLOUDFORMATION_STACK_INACTIVE" 5073 5074 // QueryErrorCodeCloudformationStackNotExisting is a QueryErrorCode enum value 5075 QueryErrorCodeCloudformationStackNotExisting = "CLOUDFORMATION_STACK_NOT_EXISTING" 5076 ) 5077 5078 // QueryErrorCode_Values returns all elements of the QueryErrorCode enum 5079 func QueryErrorCode_Values() []string { 5080 return []string{ 5081 QueryErrorCodeCloudformationStackInactive, 5082 QueryErrorCodeCloudformationStackNotExisting, 5083 } 5084 } 5085 5086 const ( 5087 // QueryTypeTagFilters10 is a QueryType enum value 5088 QueryTypeTagFilters10 = "TAG_FILTERS_1_0" 5089 5090 // QueryTypeCloudformationStack10 is a QueryType enum value 5091 QueryTypeCloudformationStack10 = "CLOUDFORMATION_STACK_1_0" 5092 ) 5093 5094 // QueryType_Values returns all elements of the QueryType enum 5095 func QueryType_Values() []string { 5096 return []string{ 5097 QueryTypeTagFilters10, 5098 QueryTypeCloudformationStack10, 5099 } 5100 } 5101 5102 const ( 5103 // ResourceFilterNameResourceType is a ResourceFilterName enum value 5104 ResourceFilterNameResourceType = "resource-type" 5105 ) 5106 5107 // ResourceFilterName_Values returns all elements of the ResourceFilterName enum 5108 func ResourceFilterName_Values() []string { 5109 return []string{ 5110 ResourceFilterNameResourceType, 5111 } 5112 } 5113 5114 const ( 5115 // ResourceStatusValuePending is a ResourceStatusValue enum value 5116 ResourceStatusValuePending = "PENDING" 5117 ) 5118 5119 // ResourceStatusValue_Values returns all elements of the ResourceStatusValue enum 5120 func ResourceStatusValue_Values() []string { 5121 return []string{ 5122 ResourceStatusValuePending, 5123 } 5124 }