1// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. 2 3package resourcegroups 4 5import ( 6 "fmt" 7 8 "github.com/aws/aws-sdk-go/aws" 9 "github.com/aws/aws-sdk-go/aws/awsutil" 10 "github.com/aws/aws-sdk-go/aws/request" 11 "github.com/aws/aws-sdk-go/private/protocol" 12 "github.com/aws/aws-sdk-go/private/protocol/restjson" 13) 14 15const 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 41func (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 97func (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. 111func (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 118const 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 144func (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 200func (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. 214func (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 221const 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 247func (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 301func (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. 315func (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 322const 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 348func (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 404func (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. 418func (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 425const 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 451func (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 507func (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. 521func (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 528const 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 554func (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 609func (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. 623func (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 630const 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 656func (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 710func (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. 724func (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 731const 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 757func (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 828func (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. 842func (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// 866func (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. 877func (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 901const 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 927func (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 984func (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. 998func (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// 1022func (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. 1033func (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 1057const 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 1083func (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 1140func (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. 1154func (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 1161const 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 1187func (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 1256func (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. 1270func (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// 1294func (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. 1305func (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 1329const 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 1355func (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 1415func (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. 1429func (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 1436const 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 1462func (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 1516func (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. 1530func (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 1537const 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 1563func (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 1617func (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. 1631func (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 1638const 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 1664func (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 1719func (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. 1733func (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 1740const 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 1766func (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 1821func (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. 1835func (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. 1843type 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". 1855func (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". 1864func (s BadRequestException) GoString() string { 1865 return s.String() 1866} 1867 1868func newErrorBadRequestException(v protocol.ResponseMetadata) error { 1869 return &BadRequestException{ 1870 RespMetadata: v, 1871 } 1872} 1873 1874// Code returns the exception type name. 1875func (s *BadRequestException) Code() string { 1876 return "BadRequestException" 1877} 1878 1879// Message returns the exception's message. 1880func (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. 1888func (s *BadRequestException) OrigErr() error { 1889 return nil 1890} 1891 1892func (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. 1897func (s *BadRequestException) StatusCode() int { 1898 return s.RespMetadata.StatusCode 1899} 1900 1901// RequestID returns the service's response RequestID for request. 1902func (s *BadRequestException) RequestID() string { 1903 return s.RespMetadata.RequestID 1904} 1905 1906type 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". 1949func (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". 1958func (s CreateGroupInput) GoString() string { 1959 return s.String() 1960} 1961 1962// Validate inspects the fields of the type to determine if they are valid. 1963func (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. 1994func (s *CreateGroupInput) SetConfiguration(v []*GroupConfigurationItem) *CreateGroupInput { 1995 s.Configuration = v 1996 return s 1997} 1998 1999// SetDescription sets the Description field's value. 2000func (s *CreateGroupInput) SetDescription(v string) *CreateGroupInput { 2001 s.Description = &v 2002 return s 2003} 2004 2005// SetName sets the Name field's value. 2006func (s *CreateGroupInput) SetName(v string) *CreateGroupInput { 2007 s.Name = &v 2008 return s 2009} 2010 2011// SetResourceQuery sets the ResourceQuery field's value. 2012func (s *CreateGroupInput) SetResourceQuery(v *ResourceQuery) *CreateGroupInput { 2013 s.ResourceQuery = v 2014 return s 2015} 2016 2017// SetTags sets the Tags field's value. 2018func (s *CreateGroupInput) SetTags(v map[string]*string) *CreateGroupInput { 2019 s.Tags = v 2020 return s 2021} 2022 2023type 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". 2047func (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". 2056func (s CreateGroupOutput) GoString() string { 2057 return s.String() 2058} 2059 2060// SetGroup sets the Group field's value. 2061func (s *CreateGroupOutput) SetGroup(v *Group) *CreateGroupOutput { 2062 s.Group = v 2063 return s 2064} 2065 2066// SetGroupConfiguration sets the GroupConfiguration field's value. 2067func (s *CreateGroupOutput) SetGroupConfiguration(v *GroupConfiguration) *CreateGroupOutput { 2068 s.GroupConfiguration = v 2069 return s 2070} 2071 2072// SetResourceQuery sets the ResourceQuery field's value. 2073func (s *CreateGroupOutput) SetResourceQuery(v *ResourceQuery) *CreateGroupOutput { 2074 s.ResourceQuery = v 2075 return s 2076} 2077 2078// SetTags sets the Tags field's value. 2079func (s *CreateGroupOutput) SetTags(v map[string]*string) *CreateGroupOutput { 2080 s.Tags = v 2081 return s 2082} 2083 2084type 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". 2101func (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". 2110func (s DeleteGroupInput) GoString() string { 2111 return s.String() 2112} 2113 2114// Validate inspects the fields of the type to determine if they are valid. 2115func (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. 2131func (s *DeleteGroupInput) SetGroup(v string) *DeleteGroupInput { 2132 s.Group = &v 2133 return s 2134} 2135 2136// SetGroupName sets the GroupName field's value. 2137func (s *DeleteGroupInput) SetGroupName(v string) *DeleteGroupInput { 2138 s.GroupName = &v 2139 return s 2140} 2141 2142type 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". 2154func (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". 2163func (s DeleteGroupOutput) GoString() string { 2164 return s.String() 2165} 2166 2167// SetGroup sets the Group field's value. 2168func (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. 2174type 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". 2192func (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". 2201func (s FailedResource) GoString() string { 2202 return s.String() 2203} 2204 2205// SetErrorCode sets the ErrorCode field's value. 2206func (s *FailedResource) SetErrorCode(v string) *FailedResource { 2207 s.ErrorCode = &v 2208 return s 2209} 2210 2211// SetErrorMessage sets the ErrorMessage field's value. 2212func (s *FailedResource) SetErrorMessage(v string) *FailedResource { 2213 s.ErrorMessage = &v 2214 return s 2215} 2216 2217// SetResourceArn sets the ResourceArn field's value. 2218func (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. 2224type 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". 2236func (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". 2245func (s ForbiddenException) GoString() string { 2246 return s.String() 2247} 2248 2249func newErrorForbiddenException(v protocol.ResponseMetadata) error { 2250 return &ForbiddenException{ 2251 RespMetadata: v, 2252 } 2253} 2254 2255// Code returns the exception type name. 2256func (s *ForbiddenException) Code() string { 2257 return "ForbiddenException" 2258} 2259 2260// Message returns the exception's message. 2261func (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. 2269func (s *ForbiddenException) OrigErr() error { 2270 return nil 2271} 2272 2273func (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. 2278func (s *ForbiddenException) StatusCode() int { 2279 return s.RespMetadata.StatusCode 2280} 2281 2282// RequestID returns the service's response RequestID for request. 2283func (s *ForbiddenException) RequestID() string { 2284 return s.RespMetadata.RequestID 2285} 2286 2287type 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". 2299func (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". 2308func (s GetGroupConfigurationInput) GoString() string { 2309 return s.String() 2310} 2311 2312// Validate inspects the fields of the type to determine if they are valid. 2313func (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. 2326func (s *GetGroupConfigurationInput) SetGroup(v string) *GetGroupConfigurationInput { 2327 s.Group = &v 2328 return s 2329} 2330 2331type 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". 2345func (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". 2354func (s GetGroupConfigurationOutput) GoString() string { 2355 return s.String() 2356} 2357 2358// SetGroupConfiguration sets the GroupConfiguration field's value. 2359func (s *GetGroupConfigurationOutput) SetGroupConfiguration(v *GroupConfiguration) *GetGroupConfigurationOutput { 2360 s.GroupConfiguration = v 2361 return s 2362} 2363 2364type 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". 2381func (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". 2390func (s GetGroupInput) GoString() string { 2391 return s.String() 2392} 2393 2394// Validate inspects the fields of the type to determine if they are valid. 2395func (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. 2411func (s *GetGroupInput) SetGroup(v string) *GetGroupInput { 2412 s.Group = &v 2413 return s 2414} 2415 2416// SetGroupName sets the GroupName field's value. 2417func (s *GetGroupInput) SetGroupName(v string) *GetGroupInput { 2418 s.GroupName = &v 2419 return s 2420} 2421 2422type 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". 2434func (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". 2443func (s GetGroupOutput) GoString() string { 2444 return s.String() 2445} 2446 2447// SetGroup sets the Group field's value. 2448func (s *GetGroupOutput) SetGroup(v *Group) *GetGroupOutput { 2449 s.Group = v 2450 return s 2451} 2452 2453type 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". 2470func (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". 2479func (s GetGroupQueryInput) GoString() string { 2480 return s.String() 2481} 2482 2483// Validate inspects the fields of the type to determine if they are valid. 2484func (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. 2500func (s *GetGroupQueryInput) SetGroup(v string) *GetGroupQueryInput { 2501 s.Group = &v 2502 return s 2503} 2504 2505// SetGroupName sets the GroupName field's value. 2506func (s *GetGroupQueryInput) SetGroupName(v string) *GetGroupQueryInput { 2507 s.GroupName = &v 2508 return s 2509} 2510 2511type 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". 2524func (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". 2533func (s GetGroupQueryOutput) GoString() string { 2534 return s.String() 2535} 2536 2537// SetGroupQuery sets the GroupQuery field's value. 2538func (s *GetGroupQueryOutput) SetGroupQuery(v *GroupQuery) *GetGroupQueryOutput { 2539 s.GroupQuery = v 2540 return s 2541} 2542 2543type 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". 2557func (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". 2566func (s GetTagsInput) GoString() string { 2567 return s.String() 2568} 2569 2570// Validate inspects the fields of the type to determine if they are valid. 2571func (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. 2587func (s *GetTagsInput) SetArn(v string) *GetTagsInput { 2588 s.Arn = &v 2589 return s 2590} 2591 2592type 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". 2607func (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". 2616func (s GetTagsOutput) GoString() string { 2617 return s.String() 2618} 2619 2620// SetArn sets the Arn field's value. 2621func (s *GetTagsOutput) SetArn(v string) *GetTagsOutput { 2622 s.Arn = &v 2623 return s 2624} 2625 2626// SetTags sets the Tags field's value. 2627func (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. 2644type 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". 2666func (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". 2675func (s Group) GoString() string { 2676 return s.String() 2677} 2678 2679// SetDescription sets the Description field's value. 2680func (s *Group) SetDescription(v string) *Group { 2681 s.Description = &v 2682 return s 2683} 2684 2685// SetGroupArn sets the GroupArn field's value. 2686func (s *Group) SetGroupArn(v string) *Group { 2687 s.GroupArn = &v 2688 return s 2689} 2690 2691// SetName sets the Name field's value. 2692func (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). 2703type 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". 2725func (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". 2734func (s GroupConfiguration) GoString() string { 2735 return s.String() 2736} 2737 2738// SetConfiguration sets the Configuration field's value. 2739func (s *GroupConfiguration) SetConfiguration(v []*GroupConfigurationItem) *GroupConfiguration { 2740 s.Configuration = v 2741 return s 2742} 2743 2744// SetFailureReason sets the FailureReason field's value. 2745func (s *GroupConfiguration) SetFailureReason(v string) *GroupConfiguration { 2746 s.FailureReason = &v 2747 return s 2748} 2749 2750// SetProposedConfiguration sets the ProposedConfiguration field's value. 2751func (s *GroupConfiguration) SetProposedConfiguration(v []*GroupConfigurationItem) *GroupConfiguration { 2752 s.ProposedConfiguration = v 2753 return s 2754} 2755 2756// SetStatus sets the Status field's value. 2757func (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). 2765type 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". 2786func (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". 2795func (s GroupConfigurationItem) GoString() string { 2796 return s.String() 2797} 2798 2799// Validate inspects the fields of the type to determine if they are valid. 2800func (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. 2823func (s *GroupConfigurationItem) SetParameters(v []*GroupConfigurationParameter) *GroupConfigurationItem { 2824 s.Parameters = v 2825 return s 2826} 2827 2828// SetType sets the Type field's value. 2829func (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). 2836type 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". 2857func (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". 2866func (s GroupConfigurationParameter) GoString() string { 2867 return s.String() 2868} 2869 2870// Validate inspects the fields of the type to determine if they are valid. 2871func (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. 2887func (s *GroupConfigurationParameter) SetName(v string) *GroupConfigurationParameter { 2888 s.Name = &v 2889 return s 2890} 2891 2892// SetValues sets the Values field's value. 2893func (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. 2900type 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". 2920func (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". 2929func (s GroupFilter) GoString() string { 2930 return s.String() 2931} 2932 2933// Validate inspects the fields of the type to determine if they are valid. 2934func (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. 2953func (s *GroupFilter) SetName(v string) *GroupFilter { 2954 s.Name = &v 2955 return s 2956} 2957 2958// SetValues sets the Values field's value. 2959func (s *GroupFilter) SetValues(v []*string) *GroupFilter { 2960 s.Values = v 2961 return s 2962} 2963 2964// The unique identifiers for a resource group. 2965type 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". 2980func (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". 2989func (s GroupIdentifier) GoString() string { 2990 return s.String() 2991} 2992 2993// SetGroupArn sets the GroupArn field's value. 2994func (s *GroupIdentifier) SetGroupArn(v string) *GroupIdentifier { 2995 s.GroupArn = &v 2996 return s 2997} 2998 2999// SetGroupName sets the GroupName field's value. 3000func (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. 3007type 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". 3028func (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". 3037func (s GroupQuery) GoString() string { 3038 return s.String() 3039} 3040 3041// SetGroupName sets the GroupName field's value. 3042func (s *GroupQuery) SetGroupName(v string) *GroupQuery { 3043 s.GroupName = &v 3044 return s 3045} 3046 3047// SetResourceQuery sets the ResourceQuery field's value. 3048func (s *GroupQuery) SetResourceQuery(v *ResourceQuery) *GroupQuery { 3049 s.ResourceQuery = v 3050 return s 3051} 3052 3053type 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". 3072func (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". 3081func (s GroupResourcesInput) GoString() string { 3082 return s.String() 3083} 3084 3085// Validate inspects the fields of the type to determine if they are valid. 3086func (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. 3108func (s *GroupResourcesInput) SetGroup(v string) *GroupResourcesInput { 3109 s.Group = &v 3110 return s 3111} 3112 3113// SetResourceArns sets the ResourceArns field's value. 3114func (s *GroupResourcesInput) SetResourceArns(v []*string) *GroupResourcesInput { 3115 s.ResourceArns = v 3116 return s 3117} 3118 3119type 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". 3143func (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". 3152func (s GroupResourcesOutput) GoString() string { 3153 return s.String() 3154} 3155 3156// SetFailed sets the Failed field's value. 3157func (s *GroupResourcesOutput) SetFailed(v []*FailedResource) *GroupResourcesOutput { 3158 s.Failed = v 3159 return s 3160} 3161 3162// SetPending sets the Pending field's value. 3163func (s *GroupResourcesOutput) SetPending(v []*PendingResource) *GroupResourcesOutput { 3164 s.Pending = v 3165 return s 3166} 3167 3168// SetSucceeded sets the Succeeded field's value. 3169func (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. 3175type 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". 3187func (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". 3196func (s InternalServerErrorException) GoString() string { 3197 return s.String() 3198} 3199 3200func newErrorInternalServerErrorException(v protocol.ResponseMetadata) error { 3201 return &InternalServerErrorException{ 3202 RespMetadata: v, 3203 } 3204} 3205 3206// Code returns the exception type name. 3207func (s *InternalServerErrorException) Code() string { 3208 return "InternalServerErrorException" 3209} 3210 3211// Message returns the exception's message. 3212func (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. 3220func (s *InternalServerErrorException) OrigErr() error { 3221 return nil 3222} 3223 3224func (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. 3229func (s *InternalServerErrorException) StatusCode() int { 3230 return s.RespMetadata.StatusCode 3231} 3232 3233// RequestID returns the service's response RequestID for request. 3234func (s *InternalServerErrorException) RequestID() string { 3235 return s.RespMetadata.RequestID 3236} 3237 3238type 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". 3298func (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". 3307func (s ListGroupResourcesInput) GoString() string { 3308 return s.String() 3309} 3310 3311// Validate inspects the fields of the type to determine if they are valid. 3312func (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. 3341func (s *ListGroupResourcesInput) SetFilters(v []*ResourceFilter) *ListGroupResourcesInput { 3342 s.Filters = v 3343 return s 3344} 3345 3346// SetGroup sets the Group field's value. 3347func (s *ListGroupResourcesInput) SetGroup(v string) *ListGroupResourcesInput { 3348 s.Group = &v 3349 return s 3350} 3351 3352// SetGroupName sets the GroupName field's value. 3353func (s *ListGroupResourcesInput) SetGroupName(v string) *ListGroupResourcesInput { 3354 s.GroupName = &v 3355 return s 3356} 3357 3358// SetMaxResults sets the MaxResults field's value. 3359func (s *ListGroupResourcesInput) SetMaxResults(v int64) *ListGroupResourcesInput { 3360 s.MaxResults = &v 3361 return s 3362} 3363 3364// SetNextToken sets the NextToken field's value. 3365func (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. 3372type 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". 3390func (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". 3399func (s ListGroupResourcesItem) GoString() string { 3400 return s.String() 3401} 3402 3403// SetIdentifier sets the Identifier field's value. 3404func (s *ListGroupResourcesItem) SetIdentifier(v *ResourceIdentifier) *ListGroupResourcesItem { 3405 s.Identifier = v 3406 return s 3407} 3408 3409// SetStatus sets the Status field's value. 3410func (s *ListGroupResourcesItem) SetStatus(v *ResourceStatus) *ListGroupResourcesItem { 3411 s.Status = v 3412 return s 3413} 3414 3415type 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". 3446func (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". 3455func (s ListGroupResourcesOutput) GoString() string { 3456 return s.String() 3457} 3458 3459// SetNextToken sets the NextToken field's value. 3460func (s *ListGroupResourcesOutput) SetNextToken(v string) *ListGroupResourcesOutput { 3461 s.NextToken = &v 3462 return s 3463} 3464 3465// SetQueryErrors sets the QueryErrors field's value. 3466func (s *ListGroupResourcesOutput) SetQueryErrors(v []*QueryError) *ListGroupResourcesOutput { 3467 s.QueryErrors = v 3468 return s 3469} 3470 3471// SetResourceIdentifiers sets the ResourceIdentifiers field's value. 3472func (s *ListGroupResourcesOutput) SetResourceIdentifiers(v []*ResourceIdentifier) *ListGroupResourcesOutput { 3473 s.ResourceIdentifiers = v 3474 return s 3475} 3476 3477// SetResources sets the Resources field's value. 3478func (s *ListGroupResourcesOutput) SetResources(v []*ListGroupResourcesItem) *ListGroupResourcesOutput { 3479 s.Resources = v 3480 return s 3481} 3482 3483type 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". 3521func (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". 3530func (s ListGroupsInput) GoString() string { 3531 return s.String() 3532} 3533 3534// Validate inspects the fields of the type to determine if they are valid. 3535func (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. 3558func (s *ListGroupsInput) SetFilters(v []*GroupFilter) *ListGroupsInput { 3559 s.Filters = v 3560 return s 3561} 3562 3563// SetMaxResults sets the MaxResults field's value. 3564func (s *ListGroupsInput) SetMaxResults(v int64) *ListGroupsInput { 3565 s.MaxResults = &v 3566 return s 3567} 3568 3569// SetNextToken sets the NextToken field's value. 3570func (s *ListGroupsInput) SetNextToken(v string) *ListGroupsInput { 3571 s.NextToken = &v 3572 return s 3573} 3574 3575type 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". 3601func (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". 3610func (s ListGroupsOutput) GoString() string { 3611 return s.String() 3612} 3613 3614// SetGroupIdentifiers sets the GroupIdentifiers field's value. 3615func (s *ListGroupsOutput) SetGroupIdentifiers(v []*GroupIdentifier) *ListGroupsOutput { 3616 s.GroupIdentifiers = v 3617 return s 3618} 3619 3620// SetGroups sets the Groups field's value. 3621func (s *ListGroupsOutput) SetGroups(v []*Group) *ListGroupsOutput { 3622 s.Groups = v 3623 return s 3624} 3625 3626// SetNextToken sets the NextToken field's value. 3627func (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. 3633type 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". 3645func (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". 3654func (s MethodNotAllowedException) GoString() string { 3655 return s.String() 3656} 3657 3658func newErrorMethodNotAllowedException(v protocol.ResponseMetadata) error { 3659 return &MethodNotAllowedException{ 3660 RespMetadata: v, 3661 } 3662} 3663 3664// Code returns the exception type name. 3665func (s *MethodNotAllowedException) Code() string { 3666 return "MethodNotAllowedException" 3667} 3668 3669// Message returns the exception's message. 3670func (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. 3678func (s *MethodNotAllowedException) OrigErr() error { 3679 return nil 3680} 3681 3682func (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. 3687func (s *MethodNotAllowedException) StatusCode() int { 3688 return s.RespMetadata.StatusCode 3689} 3690 3691// RequestID returns the service's response RequestID for request. 3692func (s *MethodNotAllowedException) RequestID() string { 3693 return s.RespMetadata.RequestID 3694} 3695 3696// One or more of the specified resources don't exist. 3697type 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". 3709func (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". 3718func (s NotFoundException) GoString() string { 3719 return s.String() 3720} 3721 3722func newErrorNotFoundException(v protocol.ResponseMetadata) error { 3723 return &NotFoundException{ 3724 RespMetadata: v, 3725 } 3726} 3727 3728// Code returns the exception type name. 3729func (s *NotFoundException) Code() string { 3730 return "NotFoundException" 3731} 3732 3733// Message returns the exception's message. 3734func (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. 3742func (s *NotFoundException) OrigErr() error { 3743 return nil 3744} 3745 3746func (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. 3751func (s *NotFoundException) StatusCode() int { 3752 return s.RespMetadata.StatusCode 3753} 3754 3755// RequestID returns the service's response RequestID for request. 3756func (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. 3763type 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". 3775func (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". 3784func (s PendingResource) GoString() string { 3785 return s.String() 3786} 3787 3788// SetResourceArn sets the ResourceArn field's value. 3789func (s *PendingResource) SetResourceArn(v string) *PendingResource { 3790 s.ResourceArn = &v 3791 return s 3792} 3793 3794type 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". 3819func (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". 3828func (s PutGroupConfigurationInput) GoString() string { 3829 return s.String() 3830} 3831 3832// Validate inspects the fields of the type to determine if they are valid. 3833func (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. 3856func (s *PutGroupConfigurationInput) SetConfiguration(v []*GroupConfigurationItem) *PutGroupConfigurationInput { 3857 s.Configuration = v 3858 return s 3859} 3860 3861// SetGroup sets the Group field's value. 3862func (s *PutGroupConfigurationInput) SetGroup(v string) *PutGroupConfigurationInput { 3863 s.Group = &v 3864 return s 3865} 3866 3867type PutGroupConfigurationOutput struct { 3868 _ struct{} `type:"structure"` 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". 3876func (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". 3885func (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. 3895type 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". 3913func (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". 3922func (s QueryError) GoString() string { 3923 return s.String() 3924} 3925 3926// SetErrorCode sets the ErrorCode field's value. 3927func (s *QueryError) SetErrorCode(v string) *QueryError { 3928 s.ErrorCode = &v 3929 return s 3930} 3931 3932// SetMessage sets the Message field's value. 3933func (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. 3940type 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". 3960func (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". 3969func (s ResourceFilter) GoString() string { 3970 return s.String() 3971} 3972 3973// Validate inspects the fields of the type to determine if they are valid. 3974func (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. 3993func (s *ResourceFilter) SetName(v string) *ResourceFilter { 3994 s.Name = &v 3995 return s 3996} 3997 3998// SetValues sets the Values field's value. 3999func (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. 4005type 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". 4020func (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". 4029func (s ResourceIdentifier) GoString() string { 4030 return s.String() 4031} 4032 4033// SetResourceArn sets the ResourceArn field's value. 4034func (s *ResourceIdentifier) SetResourceArn(v string) *ResourceIdentifier { 4035 s.ResourceArn = &v 4036 return s 4037} 4038 4039// SetResourceType sets the ResourceType field's value. 4040func (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// } } 4101type 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". 4146func (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". 4155func (s ResourceQuery) GoString() string { 4156 return s.String() 4157} 4158 4159// Validate inspects the fields of the type to determine if they are valid. 4160func (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. 4179func (s *ResourceQuery) SetQuery(v string) *ResourceQuery { 4180 s.Query = &v 4181 return s 4182} 4183 4184// SetType sets the Type field's value. 4185func (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. 4194type 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". 4206func (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". 4215func (s ResourceStatus) GoString() string { 4216 return s.String() 4217} 4218 4219// SetName sets the Name field's value. 4220func (s *ResourceStatus) SetName(v string) *ResourceStatus { 4221 s.Name = &v 4222 return s 4223} 4224 4225type 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". 4257func (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". 4266func (s SearchResourcesInput) GoString() string { 4267 return s.String() 4268} 4269 4270// Validate inspects the fields of the type to determine if they are valid. 4271func (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. 4292func (s *SearchResourcesInput) SetMaxResults(v int64) *SearchResourcesInput { 4293 s.MaxResults = &v 4294 return s 4295} 4296 4297// SetNextToken sets the NextToken field's value. 4298func (s *SearchResourcesInput) SetNextToken(v string) *SearchResourcesInput { 4299 s.NextToken = &v 4300 return s 4301} 4302 4303// SetResourceQuery sets the ResourceQuery field's value. 4304func (s *SearchResourcesInput) SetResourceQuery(v *ResourceQuery) *SearchResourcesInput { 4305 s.ResourceQuery = v 4306 return s 4307} 4308 4309type 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". 4333func (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". 4342func (s SearchResourcesOutput) GoString() string { 4343 return s.String() 4344} 4345 4346// SetNextToken sets the NextToken field's value. 4347func (s *SearchResourcesOutput) SetNextToken(v string) *SearchResourcesOutput { 4348 s.NextToken = &v 4349 return s 4350} 4351 4352// SetQueryErrors sets the QueryErrors field's value. 4353func (s *SearchResourcesOutput) SetQueryErrors(v []*QueryError) *SearchResourcesOutput { 4354 s.QueryErrors = v 4355 return s 4356} 4357 4358// SetResourceIdentifiers sets the ResourceIdentifiers field's value. 4359func (s *SearchResourcesOutput) SetResourceIdentifiers(v []*ResourceIdentifier) *SearchResourcesOutput { 4360 s.ResourceIdentifiers = v 4361 return s 4362} 4363 4364type 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". 4384func (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". 4393func (s TagInput) GoString() string { 4394 return s.String() 4395} 4396 4397// Validate inspects the fields of the type to determine if they are valid. 4398func (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. 4417func (s *TagInput) SetArn(v string) *TagInput { 4418 s.Arn = &v 4419 return s 4420} 4421 4422// SetTags sets the Tags field's value. 4423func (s *TagInput) SetTags(v map[string]*string) *TagInput { 4424 s.Tags = v 4425 return s 4426} 4427 4428type 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". 4443func (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". 4452func (s TagOutput) GoString() string { 4453 return s.String() 4454} 4455 4456// SetArn sets the Arn field's value. 4457func (s *TagOutput) SetArn(v string) *TagOutput { 4458 s.Arn = &v 4459 return s 4460} 4461 4462// SetTags sets the Tags field's value. 4463func (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. 4470type 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". 4482func (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". 4491func (s TooManyRequestsException) GoString() string { 4492 return s.String() 4493} 4494 4495func newErrorTooManyRequestsException(v protocol.ResponseMetadata) error { 4496 return &TooManyRequestsException{ 4497 RespMetadata: v, 4498 } 4499} 4500 4501// Code returns the exception type name. 4502func (s *TooManyRequestsException) Code() string { 4503 return "TooManyRequestsException" 4504} 4505 4506// Message returns the exception's message. 4507func (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. 4515func (s *TooManyRequestsException) OrigErr() error { 4516 return nil 4517} 4518 4519func (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. 4524func (s *TooManyRequestsException) StatusCode() int { 4525 return s.RespMetadata.StatusCode 4526} 4527 4528// RequestID returns the service's response RequestID for request. 4529func (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. 4535type 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". 4547func (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". 4556func (s UnauthorizedException) GoString() string { 4557 return s.String() 4558} 4559 4560func newErrorUnauthorizedException(v protocol.ResponseMetadata) error { 4561 return &UnauthorizedException{ 4562 RespMetadata: v, 4563 } 4564} 4565 4566// Code returns the exception type name. 4567func (s *UnauthorizedException) Code() string { 4568 return "UnauthorizedException" 4569} 4570 4571// Message returns the exception's message. 4572func (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. 4580func (s *UnauthorizedException) OrigErr() error { 4581 return nil 4582} 4583 4584func (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. 4589func (s *UnauthorizedException) StatusCode() int { 4590 return s.RespMetadata.StatusCode 4591} 4592 4593// RequestID returns the service's response RequestID for request. 4594func (s *UnauthorizedException) RequestID() string { 4595 return s.RespMetadata.RequestID 4596} 4597 4598type 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". 4617func (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". 4626func (s UngroupResourcesInput) GoString() string { 4627 return s.String() 4628} 4629 4630// Validate inspects the fields of the type to determine if they are valid. 4631func (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. 4653func (s *UngroupResourcesInput) SetGroup(v string) *UngroupResourcesInput { 4654 s.Group = &v 4655 return s 4656} 4657 4658// SetResourceArns sets the ResourceArns field's value. 4659func (s *UngroupResourcesInput) SetResourceArns(v []*string) *UngroupResourcesInput { 4660 s.ResourceArns = v 4661 return s 4662} 4663 4664type 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". 4688func (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". 4697func (s UngroupResourcesOutput) GoString() string { 4698 return s.String() 4699} 4700 4701// SetFailed sets the Failed field's value. 4702func (s *UngroupResourcesOutput) SetFailed(v []*FailedResource) *UngroupResourcesOutput { 4703 s.Failed = v 4704 return s 4705} 4706 4707// SetPending sets the Pending field's value. 4708func (s *UngroupResourcesOutput) SetPending(v []*PendingResource) *UngroupResourcesOutput { 4709 s.Pending = v 4710 return s 4711} 4712 4713// SetSucceeded sets the Succeeded field's value. 4714func (s *UngroupResourcesOutput) SetSucceeded(v []*string) *UngroupResourcesOutput { 4715 s.Succeeded = v 4716 return s 4717} 4718 4719type 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". 4739func (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". 4748func (s UntagInput) GoString() string { 4749 return s.String() 4750} 4751 4752// Validate inspects the fields of the type to determine if they are valid. 4753func (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. 4772func (s *UntagInput) SetArn(v string) *UntagInput { 4773 s.Arn = &v 4774 return s 4775} 4776 4777// SetKeys sets the Keys field's value. 4778func (s *UntagInput) SetKeys(v []*string) *UntagInput { 4779 s.Keys = v 4780 return s 4781} 4782 4783type 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". 4798func (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". 4807func (s UntagOutput) GoString() string { 4808 return s.String() 4809} 4810 4811// SetArn sets the Arn field's value. 4812func (s *UntagOutput) SetArn(v string) *UntagOutput { 4813 s.Arn = &v 4814 return s 4815} 4816 4817// SetKeys sets the Keys field's value. 4818func (s *UntagOutput) SetKeys(v []*string) *UntagOutput { 4819 s.Keys = v 4820 return s 4821} 4822 4823type 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". 4844func (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". 4853func (s UpdateGroupInput) GoString() string { 4854 return s.String() 4855} 4856 4857// Validate inspects the fields of the type to determine if they are valid. 4858func (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. 4874func (s *UpdateGroupInput) SetDescription(v string) *UpdateGroupInput { 4875 s.Description = &v 4876 return s 4877} 4878 4879// SetGroup sets the Group field's value. 4880func (s *UpdateGroupInput) SetGroup(v string) *UpdateGroupInput { 4881 s.Group = &v 4882 return s 4883} 4884 4885// SetGroupName sets the GroupName field's value. 4886func (s *UpdateGroupInput) SetGroupName(v string) *UpdateGroupInput { 4887 s.GroupName = &v 4888 return s 4889} 4890 4891type 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". 4903func (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". 4912func (s UpdateGroupOutput) GoString() string { 4913 return s.String() 4914} 4915 4916// SetGroup sets the Group field's value. 4917func (s *UpdateGroupOutput) SetGroup(v *Group) *UpdateGroupOutput { 4918 s.Group = v 4919 return s 4920} 4921 4922type 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". 4948func (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". 4957func (s UpdateGroupQueryInput) GoString() string { 4958 return s.String() 4959} 4960 4961// Validate inspects the fields of the type to determine if they are valid. 4962func (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. 4986func (s *UpdateGroupQueryInput) SetGroup(v string) *UpdateGroupQueryInput { 4987 s.Group = &v 4988 return s 4989} 4990 4991// SetGroupName sets the GroupName field's value. 4992func (s *UpdateGroupQueryInput) SetGroupName(v string) *UpdateGroupQueryInput { 4993 s.GroupName = &v 4994 return s 4995} 4996 4997// SetResourceQuery sets the ResourceQuery field's value. 4998func (s *UpdateGroupQueryInput) SetResourceQuery(v *ResourceQuery) *UpdateGroupQueryInput { 4999 s.ResourceQuery = v 5000 return s 5001} 5002 5003type 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". 5015func (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". 5024func (s UpdateGroupQueryOutput) GoString() string { 5025 return s.String() 5026} 5027 5028// SetGroupQuery sets the GroupQuery field's value. 5029func (s *UpdateGroupQueryOutput) SetGroupQuery(v *GroupQuery) *UpdateGroupQueryOutput { 5030 s.GroupQuery = v 5031 return s 5032} 5033 5034const ( 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 5046func GroupConfigurationStatus_Values() []string { 5047 return []string{ 5048 GroupConfigurationStatusUpdating, 5049 GroupConfigurationStatusUpdateComplete, 5050 GroupConfigurationStatusUpdateFailed, 5051 } 5052} 5053 5054const ( 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 5063func GroupFilterName_Values() []string { 5064 return []string{ 5065 GroupFilterNameResourceType, 5066 GroupFilterNameConfigurationType, 5067 } 5068} 5069 5070const ( 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 5079func QueryErrorCode_Values() []string { 5080 return []string{ 5081 QueryErrorCodeCloudformationStackInactive, 5082 QueryErrorCodeCloudformationStackNotExisting, 5083 } 5084} 5085 5086const ( 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 5095func QueryType_Values() []string { 5096 return []string{ 5097 QueryTypeTagFilters10, 5098 QueryTypeCloudformationStack10, 5099 } 5100} 5101 5102const ( 5103 // ResourceFilterNameResourceType is a ResourceFilterName enum value 5104 ResourceFilterNameResourceType = "resource-type" 5105) 5106 5107// ResourceFilterName_Values returns all elements of the ResourceFilterName enum 5108func ResourceFilterName_Values() []string { 5109 return []string{ 5110 ResourceFilterNameResourceType, 5111 } 5112} 5113 5114const ( 5115 // ResourceStatusValuePending is a ResourceStatusValue enum value 5116 ResourceStatusValuePending = "PENDING" 5117) 5118 5119// ResourceStatusValue_Values returns all elements of the ResourceStatusValue enum 5120func ResourceStatusValue_Values() []string { 5121 return []string{ 5122 ResourceStatusValuePending, 5123 } 5124} 5125