github.com/aavshr/aws-sdk-go@v1.41.3/service/resourcegroupstaggingapi/api.go (about) 1 // Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. 2 3 package resourcegroupstaggingapi 4 5 import ( 6 "fmt" 7 8 "github.com/aavshr/aws-sdk-go/aws" 9 "github.com/aavshr/aws-sdk-go/aws/awsutil" 10 "github.com/aavshr/aws-sdk-go/aws/request" 11 "github.com/aavshr/aws-sdk-go/private/protocol" 12 "github.com/aavshr/aws-sdk-go/private/protocol/jsonrpc" 13 ) 14 15 const opDescribeReportCreation = "DescribeReportCreation" 16 17 // DescribeReportCreationRequest generates a "aws/request.Request" representing the 18 // client's request for the DescribeReportCreation 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 DescribeReportCreation for more information on using the DescribeReportCreation 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 DescribeReportCreationRequest method. 33 // req, resp := client.DescribeReportCreationRequest(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/resourcegroupstaggingapi-2017-01-26/DescribeReportCreation 41 func (c *ResourceGroupsTaggingAPI) DescribeReportCreationRequest(input *DescribeReportCreationInput) (req *request.Request, output *DescribeReportCreationOutput) { 42 op := &request.Operation{ 43 Name: opDescribeReportCreation, 44 HTTPMethod: "POST", 45 HTTPPath: "/", 46 } 47 48 if input == nil { 49 input = &DescribeReportCreationInput{} 50 } 51 52 output = &DescribeReportCreationOutput{} 53 req = c.newRequest(op, input, output) 54 return 55 } 56 57 // DescribeReportCreation API operation for AWS Resource Groups Tagging API. 58 // 59 // Describes the status of the StartReportCreation operation. 60 // 61 // You can call this operation only from the organization's management account 62 // and from the us-east-1 Region. 63 // 64 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 65 // with awserr.Error's Code and Message methods to get detailed information about 66 // the error. 67 // 68 // See the AWS API reference guide for AWS Resource Groups Tagging API's 69 // API operation DescribeReportCreation for usage and error information. 70 // 71 // Returned Error Types: 72 // * ConstraintViolationException 73 // The request was denied because performing this operation violates a constraint. 74 // 75 // Some of the reasons in the following list might not apply to this specific 76 // operation. 77 // 78 // * You must meet the prerequisites for using tag policies. For information, 79 // see Prerequisites and Permissions for Using Tag Policies (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_tag-policies-prereqs.html) 80 // in the AWS Organizations User Guide. 81 // 82 // * You must enable the tag policies service principal (tagpolicies.tag.amazonaws.com) 83 // to integrate with AWS Organizations For information, see EnableAWSServiceAccess 84 // (http://docs.aws.amazon.com/organizations/latest/APIReference/API_EnableAWSServiceAccess.html). 85 // 86 // * You must have a tag policy attached to the organization root, an OU, 87 // or an account. 88 // 89 // * InternalServiceException 90 // The request processing failed because of an unknown error, exception, or 91 // failure. You can retry the request. 92 // 93 // * InvalidParameterException 94 // This error indicates one of the following: 95 // 96 // * A parameter is missing. 97 // 98 // * A malformed string was supplied for the request parameter. 99 // 100 // * An out-of-range value was supplied for the request parameter. 101 // 102 // * The target ID is invalid, unsupported, or doesn't exist. 103 // 104 // * You can't access the Amazon S3 bucket for report storage. For more information, 105 // see Additional Requirements for Organization-wide Tag Compliance Reports 106 // (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_tag-policies-prereqs.html#bucket-policies-org-report) 107 // in the AWS Organizations User Guide. 108 // 109 // * ThrottledException 110 // The request was denied to limit the frequency of submitted requests. 111 // 112 // See also, https://docs.aws.amazon.com/goto/WebAPI/resourcegroupstaggingapi-2017-01-26/DescribeReportCreation 113 func (c *ResourceGroupsTaggingAPI) DescribeReportCreation(input *DescribeReportCreationInput) (*DescribeReportCreationOutput, error) { 114 req, out := c.DescribeReportCreationRequest(input) 115 return out, req.Send() 116 } 117 118 // DescribeReportCreationWithContext is the same as DescribeReportCreation with the addition of 119 // the ability to pass a context and additional request options. 120 // 121 // See DescribeReportCreation for details on how to use this API operation. 122 // 123 // The context must be non-nil and will be used for request cancellation. If 124 // the context is nil a panic will occur. In the future the SDK may create 125 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 126 // for more information on using Contexts. 127 func (c *ResourceGroupsTaggingAPI) DescribeReportCreationWithContext(ctx aws.Context, input *DescribeReportCreationInput, opts ...request.Option) (*DescribeReportCreationOutput, error) { 128 req, out := c.DescribeReportCreationRequest(input) 129 req.SetContext(ctx) 130 req.ApplyOptions(opts...) 131 return out, req.Send() 132 } 133 134 const opGetComplianceSummary = "GetComplianceSummary" 135 136 // GetComplianceSummaryRequest generates a "aws/request.Request" representing the 137 // client's request for the GetComplianceSummary operation. The "output" return 138 // value will be populated with the request's response once the request completes 139 // successfully. 140 // 141 // Use "Send" method on the returned Request to send the API call to the service. 142 // the "output" return value is not valid until after Send returns without error. 143 // 144 // See GetComplianceSummary for more information on using the GetComplianceSummary 145 // API call, and error handling. 146 // 147 // This method is useful when you want to inject custom logic or configuration 148 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 149 // 150 // 151 // // Example sending a request using the GetComplianceSummaryRequest method. 152 // req, resp := client.GetComplianceSummaryRequest(params) 153 // 154 // err := req.Send() 155 // if err == nil { // resp is now filled 156 // fmt.Println(resp) 157 // } 158 // 159 // See also, https://docs.aws.amazon.com/goto/WebAPI/resourcegroupstaggingapi-2017-01-26/GetComplianceSummary 160 func (c *ResourceGroupsTaggingAPI) GetComplianceSummaryRequest(input *GetComplianceSummaryInput) (req *request.Request, output *GetComplianceSummaryOutput) { 161 op := &request.Operation{ 162 Name: opGetComplianceSummary, 163 HTTPMethod: "POST", 164 HTTPPath: "/", 165 Paginator: &request.Paginator{ 166 InputTokens: []string{"PaginationToken"}, 167 OutputTokens: []string{"PaginationToken"}, 168 LimitToken: "MaxResults", 169 TruncationToken: "", 170 }, 171 } 172 173 if input == nil { 174 input = &GetComplianceSummaryInput{} 175 } 176 177 output = &GetComplianceSummaryOutput{} 178 req = c.newRequest(op, input, output) 179 return 180 } 181 182 // GetComplianceSummary API operation for AWS Resource Groups Tagging API. 183 // 184 // Returns a table that shows counts of resources that are noncompliant with 185 // their tag policies. 186 // 187 // For more information on tag policies, see Tag Policies (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_tag-policies.html) 188 // in the AWS Organizations User Guide. 189 // 190 // You can call this operation only from the organization's management account 191 // and from the us-east-1 Region. 192 // 193 // This operation supports pagination, where the response can be sent in multiple 194 // pages. You should check the PaginationToken response parameter to determine 195 // if there are additional results available to return. Repeat the query, passing 196 // the PaginationToken response parameter value as an input to the next request 197 // until you recieve a null value. A null value for PaginationToken indicates 198 // that there are no more results waiting to be returned. 199 // 200 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 201 // with awserr.Error's Code and Message methods to get detailed information about 202 // the error. 203 // 204 // See the AWS API reference guide for AWS Resource Groups Tagging API's 205 // API operation GetComplianceSummary for usage and error information. 206 // 207 // Returned Error Types: 208 // * ConstraintViolationException 209 // The request was denied because performing this operation violates a constraint. 210 // 211 // Some of the reasons in the following list might not apply to this specific 212 // operation. 213 // 214 // * You must meet the prerequisites for using tag policies. For information, 215 // see Prerequisites and Permissions for Using Tag Policies (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_tag-policies-prereqs.html) 216 // in the AWS Organizations User Guide. 217 // 218 // * You must enable the tag policies service principal (tagpolicies.tag.amazonaws.com) 219 // to integrate with AWS Organizations For information, see EnableAWSServiceAccess 220 // (http://docs.aws.amazon.com/organizations/latest/APIReference/API_EnableAWSServiceAccess.html). 221 // 222 // * You must have a tag policy attached to the organization root, an OU, 223 // or an account. 224 // 225 // * InternalServiceException 226 // The request processing failed because of an unknown error, exception, or 227 // failure. You can retry the request. 228 // 229 // * InvalidParameterException 230 // This error indicates one of the following: 231 // 232 // * A parameter is missing. 233 // 234 // * A malformed string was supplied for the request parameter. 235 // 236 // * An out-of-range value was supplied for the request parameter. 237 // 238 // * The target ID is invalid, unsupported, or doesn't exist. 239 // 240 // * You can't access the Amazon S3 bucket for report storage. For more information, 241 // see Additional Requirements for Organization-wide Tag Compliance Reports 242 // (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_tag-policies-prereqs.html#bucket-policies-org-report) 243 // in the AWS Organizations User Guide. 244 // 245 // * ThrottledException 246 // The request was denied to limit the frequency of submitted requests. 247 // 248 // See also, https://docs.aws.amazon.com/goto/WebAPI/resourcegroupstaggingapi-2017-01-26/GetComplianceSummary 249 func (c *ResourceGroupsTaggingAPI) GetComplianceSummary(input *GetComplianceSummaryInput) (*GetComplianceSummaryOutput, error) { 250 req, out := c.GetComplianceSummaryRequest(input) 251 return out, req.Send() 252 } 253 254 // GetComplianceSummaryWithContext is the same as GetComplianceSummary with the addition of 255 // the ability to pass a context and additional request options. 256 // 257 // See GetComplianceSummary for details on how to use this API operation. 258 // 259 // The context must be non-nil and will be used for request cancellation. If 260 // the context is nil a panic will occur. In the future the SDK may create 261 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 262 // for more information on using Contexts. 263 func (c *ResourceGroupsTaggingAPI) GetComplianceSummaryWithContext(ctx aws.Context, input *GetComplianceSummaryInput, opts ...request.Option) (*GetComplianceSummaryOutput, error) { 264 req, out := c.GetComplianceSummaryRequest(input) 265 req.SetContext(ctx) 266 req.ApplyOptions(opts...) 267 return out, req.Send() 268 } 269 270 // GetComplianceSummaryPages iterates over the pages of a GetComplianceSummary operation, 271 // calling the "fn" function with the response data for each page. To stop 272 // iterating, return false from the fn function. 273 // 274 // See GetComplianceSummary method for more information on how to use this operation. 275 // 276 // Note: This operation can generate multiple requests to a service. 277 // 278 // // Example iterating over at most 3 pages of a GetComplianceSummary operation. 279 // pageNum := 0 280 // err := client.GetComplianceSummaryPages(params, 281 // func(page *resourcegroupstaggingapi.GetComplianceSummaryOutput, lastPage bool) bool { 282 // pageNum++ 283 // fmt.Println(page) 284 // return pageNum <= 3 285 // }) 286 // 287 func (c *ResourceGroupsTaggingAPI) GetComplianceSummaryPages(input *GetComplianceSummaryInput, fn func(*GetComplianceSummaryOutput, bool) bool) error { 288 return c.GetComplianceSummaryPagesWithContext(aws.BackgroundContext(), input, fn) 289 } 290 291 // GetComplianceSummaryPagesWithContext same as GetComplianceSummaryPages except 292 // it takes a Context and allows setting request options on the pages. 293 // 294 // The context must be non-nil and will be used for request cancellation. If 295 // the context is nil a panic will occur. In the future the SDK may create 296 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 297 // for more information on using Contexts. 298 func (c *ResourceGroupsTaggingAPI) GetComplianceSummaryPagesWithContext(ctx aws.Context, input *GetComplianceSummaryInput, fn func(*GetComplianceSummaryOutput, bool) bool, opts ...request.Option) error { 299 p := request.Pagination{ 300 NewRequest: func() (*request.Request, error) { 301 var inCpy *GetComplianceSummaryInput 302 if input != nil { 303 tmp := *input 304 inCpy = &tmp 305 } 306 req, _ := c.GetComplianceSummaryRequest(inCpy) 307 req.SetContext(ctx) 308 req.ApplyOptions(opts...) 309 return req, nil 310 }, 311 } 312 313 for p.Next() { 314 if !fn(p.Page().(*GetComplianceSummaryOutput), !p.HasNextPage()) { 315 break 316 } 317 } 318 319 return p.Err() 320 } 321 322 const opGetResources = "GetResources" 323 324 // GetResourcesRequest generates a "aws/request.Request" representing the 325 // client's request for the GetResources 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 GetResources for more information on using the GetResources 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 GetResourcesRequest method. 340 // req, resp := client.GetResourcesRequest(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/resourcegroupstaggingapi-2017-01-26/GetResources 348 func (c *ResourceGroupsTaggingAPI) GetResourcesRequest(input *GetResourcesInput) (req *request.Request, output *GetResourcesOutput) { 349 op := &request.Operation{ 350 Name: opGetResources, 351 HTTPMethod: "POST", 352 HTTPPath: "/", 353 Paginator: &request.Paginator{ 354 InputTokens: []string{"PaginationToken"}, 355 OutputTokens: []string{"PaginationToken"}, 356 LimitToken: "ResourcesPerPage", 357 TruncationToken: "", 358 }, 359 } 360 361 if input == nil { 362 input = &GetResourcesInput{} 363 } 364 365 output = &GetResourcesOutput{} 366 req = c.newRequest(op, input, output) 367 return 368 } 369 370 // GetResources API operation for AWS Resource Groups Tagging API. 371 // 372 // Returns all the tagged or previously tagged resources that are located in 373 // the specified Region for the AWS account. 374 // 375 // Depending on what information you want returned, you can also specify the 376 // following: 377 // 378 // * Filters that specify what tags and resource types you want returned. 379 // The response includes all tags that are associated with the requested 380 // resources. 381 // 382 // * Information about compliance with the account's effective tag policy. 383 // For more information on tag policies, see Tag Policies (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_tag-policies.html) 384 // in the AWS Organizations User Guide. 385 // 386 // This operation supports pagination, where the response can be sent in multiple 387 // pages. You should check the PaginationToken response parameter to determine 388 // if there are additional results available to return. Repeat the query, passing 389 // the PaginationToken response parameter value as an input to the next request 390 // until you recieve a null value. A null value for PaginationToken indicates 391 // that there are no more results waiting to be returned. 392 // 393 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 394 // with awserr.Error's Code and Message methods to get detailed information about 395 // the error. 396 // 397 // See the AWS API reference guide for AWS Resource Groups Tagging API's 398 // API operation GetResources for usage and error information. 399 // 400 // Returned Error Types: 401 // * InvalidParameterException 402 // This error indicates one of the following: 403 // 404 // * A parameter is missing. 405 // 406 // * A malformed string was supplied for the request parameter. 407 // 408 // * An out-of-range value was supplied for the request parameter. 409 // 410 // * The target ID is invalid, unsupported, or doesn't exist. 411 // 412 // * You can't access the Amazon S3 bucket for report storage. For more information, 413 // see Additional Requirements for Organization-wide Tag Compliance Reports 414 // (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_tag-policies-prereqs.html#bucket-policies-org-report) 415 // in the AWS Organizations User Guide. 416 // 417 // * ThrottledException 418 // The request was denied to limit the frequency of submitted requests. 419 // 420 // * InternalServiceException 421 // The request processing failed because of an unknown error, exception, or 422 // failure. You can retry the request. 423 // 424 // * PaginationTokenExpiredException 425 // A PaginationToken is valid for a maximum of 15 minutes. Your request was 426 // denied because the specified PaginationToken has expired. 427 // 428 // See also, https://docs.aws.amazon.com/goto/WebAPI/resourcegroupstaggingapi-2017-01-26/GetResources 429 func (c *ResourceGroupsTaggingAPI) GetResources(input *GetResourcesInput) (*GetResourcesOutput, error) { 430 req, out := c.GetResourcesRequest(input) 431 return out, req.Send() 432 } 433 434 // GetResourcesWithContext is the same as GetResources with the addition of 435 // the ability to pass a context and additional request options. 436 // 437 // See GetResources for details on how to use this API operation. 438 // 439 // The context must be non-nil and will be used for request cancellation. If 440 // the context is nil a panic will occur. In the future the SDK may create 441 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 442 // for more information on using Contexts. 443 func (c *ResourceGroupsTaggingAPI) GetResourcesWithContext(ctx aws.Context, input *GetResourcesInput, opts ...request.Option) (*GetResourcesOutput, error) { 444 req, out := c.GetResourcesRequest(input) 445 req.SetContext(ctx) 446 req.ApplyOptions(opts...) 447 return out, req.Send() 448 } 449 450 // GetResourcesPages iterates over the pages of a GetResources operation, 451 // calling the "fn" function with the response data for each page. To stop 452 // iterating, return false from the fn function. 453 // 454 // See GetResources method for more information on how to use this operation. 455 // 456 // Note: This operation can generate multiple requests to a service. 457 // 458 // // Example iterating over at most 3 pages of a GetResources operation. 459 // pageNum := 0 460 // err := client.GetResourcesPages(params, 461 // func(page *resourcegroupstaggingapi.GetResourcesOutput, lastPage bool) bool { 462 // pageNum++ 463 // fmt.Println(page) 464 // return pageNum <= 3 465 // }) 466 // 467 func (c *ResourceGroupsTaggingAPI) GetResourcesPages(input *GetResourcesInput, fn func(*GetResourcesOutput, bool) bool) error { 468 return c.GetResourcesPagesWithContext(aws.BackgroundContext(), input, fn) 469 } 470 471 // GetResourcesPagesWithContext same as GetResourcesPages except 472 // it takes a Context and allows setting request options on the pages. 473 // 474 // The context must be non-nil and will be used for request cancellation. If 475 // the context is nil a panic will occur. In the future the SDK may create 476 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 477 // for more information on using Contexts. 478 func (c *ResourceGroupsTaggingAPI) GetResourcesPagesWithContext(ctx aws.Context, input *GetResourcesInput, fn func(*GetResourcesOutput, bool) bool, opts ...request.Option) error { 479 p := request.Pagination{ 480 NewRequest: func() (*request.Request, error) { 481 var inCpy *GetResourcesInput 482 if input != nil { 483 tmp := *input 484 inCpy = &tmp 485 } 486 req, _ := c.GetResourcesRequest(inCpy) 487 req.SetContext(ctx) 488 req.ApplyOptions(opts...) 489 return req, nil 490 }, 491 } 492 493 for p.Next() { 494 if !fn(p.Page().(*GetResourcesOutput), !p.HasNextPage()) { 495 break 496 } 497 } 498 499 return p.Err() 500 } 501 502 const opGetTagKeys = "GetTagKeys" 503 504 // GetTagKeysRequest generates a "aws/request.Request" representing the 505 // client's request for the GetTagKeys operation. The "output" return 506 // value will be populated with the request's response once the request completes 507 // successfully. 508 // 509 // Use "Send" method on the returned Request to send the API call to the service. 510 // the "output" return value is not valid until after Send returns without error. 511 // 512 // See GetTagKeys for more information on using the GetTagKeys 513 // API call, and error handling. 514 // 515 // This method is useful when you want to inject custom logic or configuration 516 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 517 // 518 // 519 // // Example sending a request using the GetTagKeysRequest method. 520 // req, resp := client.GetTagKeysRequest(params) 521 // 522 // err := req.Send() 523 // if err == nil { // resp is now filled 524 // fmt.Println(resp) 525 // } 526 // 527 // See also, https://docs.aws.amazon.com/goto/WebAPI/resourcegroupstaggingapi-2017-01-26/GetTagKeys 528 func (c *ResourceGroupsTaggingAPI) GetTagKeysRequest(input *GetTagKeysInput) (req *request.Request, output *GetTagKeysOutput) { 529 op := &request.Operation{ 530 Name: opGetTagKeys, 531 HTTPMethod: "POST", 532 HTTPPath: "/", 533 Paginator: &request.Paginator{ 534 InputTokens: []string{"PaginationToken"}, 535 OutputTokens: []string{"PaginationToken"}, 536 LimitToken: "", 537 TruncationToken: "", 538 }, 539 } 540 541 if input == nil { 542 input = &GetTagKeysInput{} 543 } 544 545 output = &GetTagKeysOutput{} 546 req = c.newRequest(op, input, output) 547 return 548 } 549 550 // GetTagKeys API operation for AWS Resource Groups Tagging API. 551 // 552 // Returns all tag keys currently in use in the specified Region for the calling 553 // AWS account. 554 // 555 // This operation supports pagination, where the response can be sent in multiple 556 // pages. You should check the PaginationToken response parameter to determine 557 // if there are additional results available to return. Repeat the query, passing 558 // the PaginationToken response parameter value as an input to the next request 559 // until you recieve a null value. A null value for PaginationToken indicates 560 // that there are no more results waiting to be returned. 561 // 562 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 563 // with awserr.Error's Code and Message methods to get detailed information about 564 // the error. 565 // 566 // See the AWS API reference guide for AWS Resource Groups Tagging API's 567 // API operation GetTagKeys for usage and error information. 568 // 569 // Returned Error Types: 570 // * InvalidParameterException 571 // This error indicates one of the following: 572 // 573 // * A parameter is missing. 574 // 575 // * A malformed string was supplied for the request parameter. 576 // 577 // * An out-of-range value was supplied for the request parameter. 578 // 579 // * The target ID is invalid, unsupported, or doesn't exist. 580 // 581 // * You can't access the Amazon S3 bucket for report storage. For more information, 582 // see Additional Requirements for Organization-wide Tag Compliance Reports 583 // (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_tag-policies-prereqs.html#bucket-policies-org-report) 584 // in the AWS Organizations User Guide. 585 // 586 // * ThrottledException 587 // The request was denied to limit the frequency of submitted requests. 588 // 589 // * InternalServiceException 590 // The request processing failed because of an unknown error, exception, or 591 // failure. You can retry the request. 592 // 593 // * PaginationTokenExpiredException 594 // A PaginationToken is valid for a maximum of 15 minutes. Your request was 595 // denied because the specified PaginationToken has expired. 596 // 597 // See also, https://docs.aws.amazon.com/goto/WebAPI/resourcegroupstaggingapi-2017-01-26/GetTagKeys 598 func (c *ResourceGroupsTaggingAPI) GetTagKeys(input *GetTagKeysInput) (*GetTagKeysOutput, error) { 599 req, out := c.GetTagKeysRequest(input) 600 return out, req.Send() 601 } 602 603 // GetTagKeysWithContext is the same as GetTagKeys with the addition of 604 // the ability to pass a context and additional request options. 605 // 606 // See GetTagKeys for details on how to use this API operation. 607 // 608 // The context must be non-nil and will be used for request cancellation. If 609 // the context is nil a panic will occur. In the future the SDK may create 610 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 611 // for more information on using Contexts. 612 func (c *ResourceGroupsTaggingAPI) GetTagKeysWithContext(ctx aws.Context, input *GetTagKeysInput, opts ...request.Option) (*GetTagKeysOutput, error) { 613 req, out := c.GetTagKeysRequest(input) 614 req.SetContext(ctx) 615 req.ApplyOptions(opts...) 616 return out, req.Send() 617 } 618 619 // GetTagKeysPages iterates over the pages of a GetTagKeys operation, 620 // calling the "fn" function with the response data for each page. To stop 621 // iterating, return false from the fn function. 622 // 623 // See GetTagKeys method for more information on how to use this operation. 624 // 625 // Note: This operation can generate multiple requests to a service. 626 // 627 // // Example iterating over at most 3 pages of a GetTagKeys operation. 628 // pageNum := 0 629 // err := client.GetTagKeysPages(params, 630 // func(page *resourcegroupstaggingapi.GetTagKeysOutput, lastPage bool) bool { 631 // pageNum++ 632 // fmt.Println(page) 633 // return pageNum <= 3 634 // }) 635 // 636 func (c *ResourceGroupsTaggingAPI) GetTagKeysPages(input *GetTagKeysInput, fn func(*GetTagKeysOutput, bool) bool) error { 637 return c.GetTagKeysPagesWithContext(aws.BackgroundContext(), input, fn) 638 } 639 640 // GetTagKeysPagesWithContext same as GetTagKeysPages except 641 // it takes a Context and allows setting request options on the pages. 642 // 643 // The context must be non-nil and will be used for request cancellation. If 644 // the context is nil a panic will occur. In the future the SDK may create 645 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 646 // for more information on using Contexts. 647 func (c *ResourceGroupsTaggingAPI) GetTagKeysPagesWithContext(ctx aws.Context, input *GetTagKeysInput, fn func(*GetTagKeysOutput, bool) bool, opts ...request.Option) error { 648 p := request.Pagination{ 649 NewRequest: func() (*request.Request, error) { 650 var inCpy *GetTagKeysInput 651 if input != nil { 652 tmp := *input 653 inCpy = &tmp 654 } 655 req, _ := c.GetTagKeysRequest(inCpy) 656 req.SetContext(ctx) 657 req.ApplyOptions(opts...) 658 return req, nil 659 }, 660 } 661 662 for p.Next() { 663 if !fn(p.Page().(*GetTagKeysOutput), !p.HasNextPage()) { 664 break 665 } 666 } 667 668 return p.Err() 669 } 670 671 const opGetTagValues = "GetTagValues" 672 673 // GetTagValuesRequest generates a "aws/request.Request" representing the 674 // client's request for the GetTagValues operation. The "output" return 675 // value will be populated with the request's response once the request completes 676 // successfully. 677 // 678 // Use "Send" method on the returned Request to send the API call to the service. 679 // the "output" return value is not valid until after Send returns without error. 680 // 681 // See GetTagValues for more information on using the GetTagValues 682 // API call, and error handling. 683 // 684 // This method is useful when you want to inject custom logic or configuration 685 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 686 // 687 // 688 // // Example sending a request using the GetTagValuesRequest method. 689 // req, resp := client.GetTagValuesRequest(params) 690 // 691 // err := req.Send() 692 // if err == nil { // resp is now filled 693 // fmt.Println(resp) 694 // } 695 // 696 // See also, https://docs.aws.amazon.com/goto/WebAPI/resourcegroupstaggingapi-2017-01-26/GetTagValues 697 func (c *ResourceGroupsTaggingAPI) GetTagValuesRequest(input *GetTagValuesInput) (req *request.Request, output *GetTagValuesOutput) { 698 op := &request.Operation{ 699 Name: opGetTagValues, 700 HTTPMethod: "POST", 701 HTTPPath: "/", 702 Paginator: &request.Paginator{ 703 InputTokens: []string{"PaginationToken"}, 704 OutputTokens: []string{"PaginationToken"}, 705 LimitToken: "", 706 TruncationToken: "", 707 }, 708 } 709 710 if input == nil { 711 input = &GetTagValuesInput{} 712 } 713 714 output = &GetTagValuesOutput{} 715 req = c.newRequest(op, input, output) 716 return 717 } 718 719 // GetTagValues API operation for AWS Resource Groups Tagging API. 720 // 721 // Returns all tag values for the specified key that are used in the specified 722 // AWS Region for the calling AWS account. 723 // 724 // This operation supports pagination, where the response can be sent in multiple 725 // pages. You should check the PaginationToken response parameter to determine 726 // if there are additional results available to return. Repeat the query, passing 727 // the PaginationToken response parameter value as an input to the next request 728 // until you recieve a null value. A null value for PaginationToken indicates 729 // that there are no more results waiting to be returned. 730 // 731 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 732 // with awserr.Error's Code and Message methods to get detailed information about 733 // the error. 734 // 735 // See the AWS API reference guide for AWS Resource Groups Tagging API's 736 // API operation GetTagValues for usage and error information. 737 // 738 // Returned Error Types: 739 // * InvalidParameterException 740 // This error indicates one of the following: 741 // 742 // * A parameter is missing. 743 // 744 // * A malformed string was supplied for the request parameter. 745 // 746 // * An out-of-range value was supplied for the request parameter. 747 // 748 // * The target ID is invalid, unsupported, or doesn't exist. 749 // 750 // * You can't access the Amazon S3 bucket for report storage. For more information, 751 // see Additional Requirements for Organization-wide Tag Compliance Reports 752 // (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_tag-policies-prereqs.html#bucket-policies-org-report) 753 // in the AWS Organizations User Guide. 754 // 755 // * ThrottledException 756 // The request was denied to limit the frequency of submitted requests. 757 // 758 // * InternalServiceException 759 // The request processing failed because of an unknown error, exception, or 760 // failure. You can retry the request. 761 // 762 // * PaginationTokenExpiredException 763 // A PaginationToken is valid for a maximum of 15 minutes. Your request was 764 // denied because the specified PaginationToken has expired. 765 // 766 // See also, https://docs.aws.amazon.com/goto/WebAPI/resourcegroupstaggingapi-2017-01-26/GetTagValues 767 func (c *ResourceGroupsTaggingAPI) GetTagValues(input *GetTagValuesInput) (*GetTagValuesOutput, error) { 768 req, out := c.GetTagValuesRequest(input) 769 return out, req.Send() 770 } 771 772 // GetTagValuesWithContext is the same as GetTagValues with the addition of 773 // the ability to pass a context and additional request options. 774 // 775 // See GetTagValues for details on how to use this API operation. 776 // 777 // The context must be non-nil and will be used for request cancellation. If 778 // the context is nil a panic will occur. In the future the SDK may create 779 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 780 // for more information on using Contexts. 781 func (c *ResourceGroupsTaggingAPI) GetTagValuesWithContext(ctx aws.Context, input *GetTagValuesInput, opts ...request.Option) (*GetTagValuesOutput, error) { 782 req, out := c.GetTagValuesRequest(input) 783 req.SetContext(ctx) 784 req.ApplyOptions(opts...) 785 return out, req.Send() 786 } 787 788 // GetTagValuesPages iterates over the pages of a GetTagValues operation, 789 // calling the "fn" function with the response data for each page. To stop 790 // iterating, return false from the fn function. 791 // 792 // See GetTagValues method for more information on how to use this operation. 793 // 794 // Note: This operation can generate multiple requests to a service. 795 // 796 // // Example iterating over at most 3 pages of a GetTagValues operation. 797 // pageNum := 0 798 // err := client.GetTagValuesPages(params, 799 // func(page *resourcegroupstaggingapi.GetTagValuesOutput, lastPage bool) bool { 800 // pageNum++ 801 // fmt.Println(page) 802 // return pageNum <= 3 803 // }) 804 // 805 func (c *ResourceGroupsTaggingAPI) GetTagValuesPages(input *GetTagValuesInput, fn func(*GetTagValuesOutput, bool) bool) error { 806 return c.GetTagValuesPagesWithContext(aws.BackgroundContext(), input, fn) 807 } 808 809 // GetTagValuesPagesWithContext same as GetTagValuesPages except 810 // it takes a Context and allows setting request options on the pages. 811 // 812 // The context must be non-nil and will be used for request cancellation. If 813 // the context is nil a panic will occur. In the future the SDK may create 814 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 815 // for more information on using Contexts. 816 func (c *ResourceGroupsTaggingAPI) GetTagValuesPagesWithContext(ctx aws.Context, input *GetTagValuesInput, fn func(*GetTagValuesOutput, bool) bool, opts ...request.Option) error { 817 p := request.Pagination{ 818 NewRequest: func() (*request.Request, error) { 819 var inCpy *GetTagValuesInput 820 if input != nil { 821 tmp := *input 822 inCpy = &tmp 823 } 824 req, _ := c.GetTagValuesRequest(inCpy) 825 req.SetContext(ctx) 826 req.ApplyOptions(opts...) 827 return req, nil 828 }, 829 } 830 831 for p.Next() { 832 if !fn(p.Page().(*GetTagValuesOutput), !p.HasNextPage()) { 833 break 834 } 835 } 836 837 return p.Err() 838 } 839 840 const opStartReportCreation = "StartReportCreation" 841 842 // StartReportCreationRequest generates a "aws/request.Request" representing the 843 // client's request for the StartReportCreation operation. The "output" return 844 // value will be populated with the request's response once the request completes 845 // successfully. 846 // 847 // Use "Send" method on the returned Request to send the API call to the service. 848 // the "output" return value is not valid until after Send returns without error. 849 // 850 // See StartReportCreation for more information on using the StartReportCreation 851 // API call, and error handling. 852 // 853 // This method is useful when you want to inject custom logic or configuration 854 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 855 // 856 // 857 // // Example sending a request using the StartReportCreationRequest method. 858 // req, resp := client.StartReportCreationRequest(params) 859 // 860 // err := req.Send() 861 // if err == nil { // resp is now filled 862 // fmt.Println(resp) 863 // } 864 // 865 // See also, https://docs.aws.amazon.com/goto/WebAPI/resourcegroupstaggingapi-2017-01-26/StartReportCreation 866 func (c *ResourceGroupsTaggingAPI) StartReportCreationRequest(input *StartReportCreationInput) (req *request.Request, output *StartReportCreationOutput) { 867 op := &request.Operation{ 868 Name: opStartReportCreation, 869 HTTPMethod: "POST", 870 HTTPPath: "/", 871 } 872 873 if input == nil { 874 input = &StartReportCreationInput{} 875 } 876 877 output = &StartReportCreationOutput{} 878 req = c.newRequest(op, input, output) 879 req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 880 return 881 } 882 883 // StartReportCreation API operation for AWS Resource Groups Tagging API. 884 // 885 // Generates a report that lists all tagged resources in the accounts across 886 // your organization and tells whether each resource is compliant with the effective 887 // tag policy. Compliance data is refreshed daily. The report is generated asynchronously. 888 // 889 // The generated report is saved to the following location: 890 // 891 // s3://example-bucket/AwsTagPolicies/o-exampleorgid/YYYY-MM-ddTHH:mm:ssZ/report.csv 892 // 893 // You can call this operation only from the organization's management account 894 // and from the us-east-1 Region. 895 // 896 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 897 // with awserr.Error's Code and Message methods to get detailed information about 898 // the error. 899 // 900 // See the AWS API reference guide for AWS Resource Groups Tagging API's 901 // API operation StartReportCreation for usage and error information. 902 // 903 // Returned Error Types: 904 // * ConcurrentModificationException 905 // The target of the operation is currently being modified by a different request. 906 // Try again later. 907 // 908 // * ConstraintViolationException 909 // The request was denied because performing this operation violates a constraint. 910 // 911 // Some of the reasons in the following list might not apply to this specific 912 // operation. 913 // 914 // * You must meet the prerequisites for using tag policies. For information, 915 // see Prerequisites and Permissions for Using Tag Policies (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_tag-policies-prereqs.html) 916 // in the AWS Organizations User Guide. 917 // 918 // * You must enable the tag policies service principal (tagpolicies.tag.amazonaws.com) 919 // to integrate with AWS Organizations For information, see EnableAWSServiceAccess 920 // (http://docs.aws.amazon.com/organizations/latest/APIReference/API_EnableAWSServiceAccess.html). 921 // 922 // * You must have a tag policy attached to the organization root, an OU, 923 // or an account. 924 // 925 // * InternalServiceException 926 // The request processing failed because of an unknown error, exception, or 927 // failure. You can retry the request. 928 // 929 // * InvalidParameterException 930 // This error indicates one of the following: 931 // 932 // * A parameter is missing. 933 // 934 // * A malformed string was supplied for the request parameter. 935 // 936 // * An out-of-range value was supplied for the request parameter. 937 // 938 // * The target ID is invalid, unsupported, or doesn't exist. 939 // 940 // * You can't access the Amazon S3 bucket for report storage. For more information, 941 // see Additional Requirements for Organization-wide Tag Compliance Reports 942 // (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_tag-policies-prereqs.html#bucket-policies-org-report) 943 // in the AWS Organizations User Guide. 944 // 945 // * ThrottledException 946 // The request was denied to limit the frequency of submitted requests. 947 // 948 // See also, https://docs.aws.amazon.com/goto/WebAPI/resourcegroupstaggingapi-2017-01-26/StartReportCreation 949 func (c *ResourceGroupsTaggingAPI) StartReportCreation(input *StartReportCreationInput) (*StartReportCreationOutput, error) { 950 req, out := c.StartReportCreationRequest(input) 951 return out, req.Send() 952 } 953 954 // StartReportCreationWithContext is the same as StartReportCreation with the addition of 955 // the ability to pass a context and additional request options. 956 // 957 // See StartReportCreation for details on how to use this API operation. 958 // 959 // The context must be non-nil and will be used for request cancellation. If 960 // the context is nil a panic will occur. In the future the SDK may create 961 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 962 // for more information on using Contexts. 963 func (c *ResourceGroupsTaggingAPI) StartReportCreationWithContext(ctx aws.Context, input *StartReportCreationInput, opts ...request.Option) (*StartReportCreationOutput, error) { 964 req, out := c.StartReportCreationRequest(input) 965 req.SetContext(ctx) 966 req.ApplyOptions(opts...) 967 return out, req.Send() 968 } 969 970 const opTagResources = "TagResources" 971 972 // TagResourcesRequest generates a "aws/request.Request" representing the 973 // client's request for the TagResources operation. The "output" return 974 // value will be populated with the request's response once the request completes 975 // successfully. 976 // 977 // Use "Send" method on the returned Request to send the API call to the service. 978 // the "output" return value is not valid until after Send returns without error. 979 // 980 // See TagResources for more information on using the TagResources 981 // API call, and error handling. 982 // 983 // This method is useful when you want to inject custom logic or configuration 984 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 985 // 986 // 987 // // Example sending a request using the TagResourcesRequest method. 988 // req, resp := client.TagResourcesRequest(params) 989 // 990 // err := req.Send() 991 // if err == nil { // resp is now filled 992 // fmt.Println(resp) 993 // } 994 // 995 // See also, https://docs.aws.amazon.com/goto/WebAPI/resourcegroupstaggingapi-2017-01-26/TagResources 996 func (c *ResourceGroupsTaggingAPI) TagResourcesRequest(input *TagResourcesInput) (req *request.Request, output *TagResourcesOutput) { 997 op := &request.Operation{ 998 Name: opTagResources, 999 HTTPMethod: "POST", 1000 HTTPPath: "/", 1001 } 1002 1003 if input == nil { 1004 input = &TagResourcesInput{} 1005 } 1006 1007 output = &TagResourcesOutput{} 1008 req = c.newRequest(op, input, output) 1009 return 1010 } 1011 1012 // TagResources API operation for AWS Resource Groups Tagging API. 1013 // 1014 // Applies one or more tags to the specified resources. Note the following: 1015 // 1016 // * Not all resources can have tags. For a list of services with resources 1017 // that support tagging using this operation, see Services that support the 1018 // Resource Groups Tagging API (https://docs.aws.amazon.com/resourcegroupstagging/latest/APIReference/supported-services.html). 1019 // 1020 // * Each resource can have up to 50 tags. For other limits, see Tag Naming 1021 // and Usage Conventions (https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html#tag-conventions) 1022 // in the AWS General Reference. 1023 // 1024 // * You can only tag resources that are located in the specified AWS Region 1025 // for the AWS account. 1026 // 1027 // * To add tags to a resource, you need the necessary permissions for the 1028 // service that the resource belongs to as well as permissions for adding 1029 // tags. For more information, see the documentation for each service. 1030 // 1031 // Do not store personally identifiable information (PII) or other confidential 1032 // or sensitive information in tags. We use tags to provide you with billing 1033 // and administration services. Tags are not intended to be used for private 1034 // or sensitive data. 1035 // 1036 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1037 // with awserr.Error's Code and Message methods to get detailed information about 1038 // the error. 1039 // 1040 // See the AWS API reference guide for AWS Resource Groups Tagging API's 1041 // API operation TagResources for usage and error information. 1042 // 1043 // Returned Error Types: 1044 // * InvalidParameterException 1045 // This error indicates one of the following: 1046 // 1047 // * A parameter is missing. 1048 // 1049 // * A malformed string was supplied for the request parameter. 1050 // 1051 // * An out-of-range value was supplied for the request parameter. 1052 // 1053 // * The target ID is invalid, unsupported, or doesn't exist. 1054 // 1055 // * You can't access the Amazon S3 bucket for report storage. For more information, 1056 // see Additional Requirements for Organization-wide Tag Compliance Reports 1057 // (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_tag-policies-prereqs.html#bucket-policies-org-report) 1058 // in the AWS Organizations User Guide. 1059 // 1060 // * ThrottledException 1061 // The request was denied to limit the frequency of submitted requests. 1062 // 1063 // * InternalServiceException 1064 // The request processing failed because of an unknown error, exception, or 1065 // failure. You can retry the request. 1066 // 1067 // See also, https://docs.aws.amazon.com/goto/WebAPI/resourcegroupstaggingapi-2017-01-26/TagResources 1068 func (c *ResourceGroupsTaggingAPI) TagResources(input *TagResourcesInput) (*TagResourcesOutput, error) { 1069 req, out := c.TagResourcesRequest(input) 1070 return out, req.Send() 1071 } 1072 1073 // TagResourcesWithContext is the same as TagResources with the addition of 1074 // the ability to pass a context and additional request options. 1075 // 1076 // See TagResources for details on how to use this API operation. 1077 // 1078 // The context must be non-nil and will be used for request cancellation. If 1079 // the context is nil a panic will occur. In the future the SDK may create 1080 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1081 // for more information on using Contexts. 1082 func (c *ResourceGroupsTaggingAPI) TagResourcesWithContext(ctx aws.Context, input *TagResourcesInput, opts ...request.Option) (*TagResourcesOutput, error) { 1083 req, out := c.TagResourcesRequest(input) 1084 req.SetContext(ctx) 1085 req.ApplyOptions(opts...) 1086 return out, req.Send() 1087 } 1088 1089 const opUntagResources = "UntagResources" 1090 1091 // UntagResourcesRequest generates a "aws/request.Request" representing the 1092 // client's request for the UntagResources operation. The "output" return 1093 // value will be populated with the request's response once the request completes 1094 // successfully. 1095 // 1096 // Use "Send" method on the returned Request to send the API call to the service. 1097 // the "output" return value is not valid until after Send returns without error. 1098 // 1099 // See UntagResources for more information on using the UntagResources 1100 // API call, and error handling. 1101 // 1102 // This method is useful when you want to inject custom logic or configuration 1103 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 1104 // 1105 // 1106 // // Example sending a request using the UntagResourcesRequest method. 1107 // req, resp := client.UntagResourcesRequest(params) 1108 // 1109 // err := req.Send() 1110 // if err == nil { // resp is now filled 1111 // fmt.Println(resp) 1112 // } 1113 // 1114 // See also, https://docs.aws.amazon.com/goto/WebAPI/resourcegroupstaggingapi-2017-01-26/UntagResources 1115 func (c *ResourceGroupsTaggingAPI) UntagResourcesRequest(input *UntagResourcesInput) (req *request.Request, output *UntagResourcesOutput) { 1116 op := &request.Operation{ 1117 Name: opUntagResources, 1118 HTTPMethod: "POST", 1119 HTTPPath: "/", 1120 } 1121 1122 if input == nil { 1123 input = &UntagResourcesInput{} 1124 } 1125 1126 output = &UntagResourcesOutput{} 1127 req = c.newRequest(op, input, output) 1128 return 1129 } 1130 1131 // UntagResources API operation for AWS Resource Groups Tagging API. 1132 // 1133 // Removes the specified tags from the specified resources. When you specify 1134 // a tag key, the action removes both that key and its associated value. The 1135 // operation succeeds even if you attempt to remove tags from a resource that 1136 // were already removed. Note the following: 1137 // 1138 // * To remove tags from a resource, you need the necessary permissions for 1139 // the service that the resource belongs to as well as permissions for removing 1140 // tags. For more information, see the documentation for the service whose 1141 // resource you want to untag. 1142 // 1143 // * You can only tag resources that are located in the specified AWS Region 1144 // for the calling AWS account. 1145 // 1146 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1147 // with awserr.Error's Code and Message methods to get detailed information about 1148 // the error. 1149 // 1150 // See the AWS API reference guide for AWS Resource Groups Tagging API's 1151 // API operation UntagResources for usage and error information. 1152 // 1153 // Returned Error Types: 1154 // * InvalidParameterException 1155 // This error indicates one of the following: 1156 // 1157 // * A parameter is missing. 1158 // 1159 // * A malformed string was supplied for the request parameter. 1160 // 1161 // * An out-of-range value was supplied for the request parameter. 1162 // 1163 // * The target ID is invalid, unsupported, or doesn't exist. 1164 // 1165 // * You can't access the Amazon S3 bucket for report storage. For more information, 1166 // see Additional Requirements for Organization-wide Tag Compliance Reports 1167 // (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_tag-policies-prereqs.html#bucket-policies-org-report) 1168 // in the AWS Organizations User Guide. 1169 // 1170 // * ThrottledException 1171 // The request was denied to limit the frequency of submitted requests. 1172 // 1173 // * InternalServiceException 1174 // The request processing failed because of an unknown error, exception, or 1175 // failure. You can retry the request. 1176 // 1177 // See also, https://docs.aws.amazon.com/goto/WebAPI/resourcegroupstaggingapi-2017-01-26/UntagResources 1178 func (c *ResourceGroupsTaggingAPI) UntagResources(input *UntagResourcesInput) (*UntagResourcesOutput, error) { 1179 req, out := c.UntagResourcesRequest(input) 1180 return out, req.Send() 1181 } 1182 1183 // UntagResourcesWithContext is the same as UntagResources with the addition of 1184 // the ability to pass a context and additional request options. 1185 // 1186 // See UntagResources for details on how to use this API operation. 1187 // 1188 // The context must be non-nil and will be used for request cancellation. If 1189 // the context is nil a panic will occur. In the future the SDK may create 1190 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1191 // for more information on using Contexts. 1192 func (c *ResourceGroupsTaggingAPI) UntagResourcesWithContext(ctx aws.Context, input *UntagResourcesInput, opts ...request.Option) (*UntagResourcesOutput, error) { 1193 req, out := c.UntagResourcesRequest(input) 1194 req.SetContext(ctx) 1195 req.ApplyOptions(opts...) 1196 return out, req.Send() 1197 } 1198 1199 // Information that shows whether a resource is compliant with the effective 1200 // tag policy, including details on any noncompliant tag keys. 1201 type ComplianceDetails struct { 1202 _ struct{} `type:"structure"` 1203 1204 // Whether a resource is compliant with the effective tag policy. 1205 ComplianceStatus *bool `type:"boolean"` 1206 1207 // These are keys defined in the effective policy that are on the resource with 1208 // either incorrect case treatment or noncompliant values. 1209 KeysWithNoncompliantValues []*string `type:"list"` 1210 1211 // These tag keys on the resource are noncompliant with the effective tag policy. 1212 NoncompliantKeys []*string `type:"list"` 1213 } 1214 1215 // String returns the string representation. 1216 // 1217 // API parameter values that are decorated as "sensitive" in the API will not 1218 // be included in the string output. The member name will be present, but the 1219 // value will be replaced with "sensitive". 1220 func (s ComplianceDetails) String() string { 1221 return awsutil.Prettify(s) 1222 } 1223 1224 // GoString returns the string representation. 1225 // 1226 // API parameter values that are decorated as "sensitive" in the API will not 1227 // be included in the string output. The member name will be present, but the 1228 // value will be replaced with "sensitive". 1229 func (s ComplianceDetails) GoString() string { 1230 return s.String() 1231 } 1232 1233 // SetComplianceStatus sets the ComplianceStatus field's value. 1234 func (s *ComplianceDetails) SetComplianceStatus(v bool) *ComplianceDetails { 1235 s.ComplianceStatus = &v 1236 return s 1237 } 1238 1239 // SetKeysWithNoncompliantValues sets the KeysWithNoncompliantValues field's value. 1240 func (s *ComplianceDetails) SetKeysWithNoncompliantValues(v []*string) *ComplianceDetails { 1241 s.KeysWithNoncompliantValues = v 1242 return s 1243 } 1244 1245 // SetNoncompliantKeys sets the NoncompliantKeys field's value. 1246 func (s *ComplianceDetails) SetNoncompliantKeys(v []*string) *ComplianceDetails { 1247 s.NoncompliantKeys = v 1248 return s 1249 } 1250 1251 // The target of the operation is currently being modified by a different request. 1252 // Try again later. 1253 type ConcurrentModificationException struct { 1254 _ struct{} `type:"structure"` 1255 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 1256 1257 Message_ *string `locationName:"Message" type:"string"` 1258 } 1259 1260 // String returns the string representation. 1261 // 1262 // API parameter values that are decorated as "sensitive" in the API will not 1263 // be included in the string output. The member name will be present, but the 1264 // value will be replaced with "sensitive". 1265 func (s ConcurrentModificationException) String() string { 1266 return awsutil.Prettify(s) 1267 } 1268 1269 // GoString returns the string representation. 1270 // 1271 // API parameter values that are decorated as "sensitive" in the API will not 1272 // be included in the string output. The member name will be present, but the 1273 // value will be replaced with "sensitive". 1274 func (s ConcurrentModificationException) GoString() string { 1275 return s.String() 1276 } 1277 1278 func newErrorConcurrentModificationException(v protocol.ResponseMetadata) error { 1279 return &ConcurrentModificationException{ 1280 RespMetadata: v, 1281 } 1282 } 1283 1284 // Code returns the exception type name. 1285 func (s *ConcurrentModificationException) Code() string { 1286 return "ConcurrentModificationException" 1287 } 1288 1289 // Message returns the exception's message. 1290 func (s *ConcurrentModificationException) Message() string { 1291 if s.Message_ != nil { 1292 return *s.Message_ 1293 } 1294 return "" 1295 } 1296 1297 // OrigErr always returns nil, satisfies awserr.Error interface. 1298 func (s *ConcurrentModificationException) OrigErr() error { 1299 return nil 1300 } 1301 1302 func (s *ConcurrentModificationException) Error() string { 1303 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 1304 } 1305 1306 // Status code returns the HTTP status code for the request's response error. 1307 func (s *ConcurrentModificationException) StatusCode() int { 1308 return s.RespMetadata.StatusCode 1309 } 1310 1311 // RequestID returns the service's response RequestID for request. 1312 func (s *ConcurrentModificationException) RequestID() string { 1313 return s.RespMetadata.RequestID 1314 } 1315 1316 // The request was denied because performing this operation violates a constraint. 1317 // 1318 // Some of the reasons in the following list might not apply to this specific 1319 // operation. 1320 // 1321 // * You must meet the prerequisites for using tag policies. For information, 1322 // see Prerequisites and Permissions for Using Tag Policies (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_tag-policies-prereqs.html) 1323 // in the AWS Organizations User Guide. 1324 // 1325 // * You must enable the tag policies service principal (tagpolicies.tag.amazonaws.com) 1326 // to integrate with AWS Organizations For information, see EnableAWSServiceAccess 1327 // (http://docs.aws.amazon.com/organizations/latest/APIReference/API_EnableAWSServiceAccess.html). 1328 // 1329 // * You must have a tag policy attached to the organization root, an OU, 1330 // or an account. 1331 type ConstraintViolationException struct { 1332 _ struct{} `type:"structure"` 1333 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 1334 1335 Message_ *string `locationName:"Message" type:"string"` 1336 } 1337 1338 // String returns the string representation. 1339 // 1340 // API parameter values that are decorated as "sensitive" in the API will not 1341 // be included in the string output. The member name will be present, but the 1342 // value will be replaced with "sensitive". 1343 func (s ConstraintViolationException) String() string { 1344 return awsutil.Prettify(s) 1345 } 1346 1347 // GoString returns the string representation. 1348 // 1349 // API parameter values that are decorated as "sensitive" in the API will not 1350 // be included in the string output. The member name will be present, but the 1351 // value will be replaced with "sensitive". 1352 func (s ConstraintViolationException) GoString() string { 1353 return s.String() 1354 } 1355 1356 func newErrorConstraintViolationException(v protocol.ResponseMetadata) error { 1357 return &ConstraintViolationException{ 1358 RespMetadata: v, 1359 } 1360 } 1361 1362 // Code returns the exception type name. 1363 func (s *ConstraintViolationException) Code() string { 1364 return "ConstraintViolationException" 1365 } 1366 1367 // Message returns the exception's message. 1368 func (s *ConstraintViolationException) Message() string { 1369 if s.Message_ != nil { 1370 return *s.Message_ 1371 } 1372 return "" 1373 } 1374 1375 // OrigErr always returns nil, satisfies awserr.Error interface. 1376 func (s *ConstraintViolationException) OrigErr() error { 1377 return nil 1378 } 1379 1380 func (s *ConstraintViolationException) Error() string { 1381 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 1382 } 1383 1384 // Status code returns the HTTP status code for the request's response error. 1385 func (s *ConstraintViolationException) StatusCode() int { 1386 return s.RespMetadata.StatusCode 1387 } 1388 1389 // RequestID returns the service's response RequestID for request. 1390 func (s *ConstraintViolationException) RequestID() string { 1391 return s.RespMetadata.RequestID 1392 } 1393 1394 type DescribeReportCreationInput struct { 1395 _ struct{} `type:"structure"` 1396 } 1397 1398 // String returns the string representation. 1399 // 1400 // API parameter values that are decorated as "sensitive" in the API will not 1401 // be included in the string output. The member name will be present, but the 1402 // value will be replaced with "sensitive". 1403 func (s DescribeReportCreationInput) String() string { 1404 return awsutil.Prettify(s) 1405 } 1406 1407 // GoString returns the string representation. 1408 // 1409 // API parameter values that are decorated as "sensitive" in the API will not 1410 // be included in the string output. The member name will be present, but the 1411 // value will be replaced with "sensitive". 1412 func (s DescribeReportCreationInput) GoString() string { 1413 return s.String() 1414 } 1415 1416 type DescribeReportCreationOutput struct { 1417 _ struct{} `type:"structure"` 1418 1419 // Details of the common errors that all operations return. 1420 ErrorMessage *string `type:"string"` 1421 1422 // The path to the Amazon S3 bucket where the report was stored on creation. 1423 S3Location *string `type:"string"` 1424 1425 // Reports the status of the operation. 1426 // 1427 // The operation status can be one of the following: 1428 // 1429 // * RUNNING - Report creation is in progress. 1430 // 1431 // * SUCCEEDED - Report creation is complete. You can open the report from 1432 // the Amazon S3 bucket that you specified when you ran StartReportCreation. 1433 // 1434 // * FAILED - Report creation timed out or the Amazon S3 bucket is not accessible. 1435 // 1436 // * NO REPORT - No report was generated in the last 90 days. 1437 Status *string `type:"string"` 1438 } 1439 1440 // String returns the string representation. 1441 // 1442 // API parameter values that are decorated as "sensitive" in the API will not 1443 // be included in the string output. The member name will be present, but the 1444 // value will be replaced with "sensitive". 1445 func (s DescribeReportCreationOutput) String() string { 1446 return awsutil.Prettify(s) 1447 } 1448 1449 // GoString returns the string representation. 1450 // 1451 // API parameter values that are decorated as "sensitive" in the API will not 1452 // be included in the string output. The member name will be present, but the 1453 // value will be replaced with "sensitive". 1454 func (s DescribeReportCreationOutput) GoString() string { 1455 return s.String() 1456 } 1457 1458 // SetErrorMessage sets the ErrorMessage field's value. 1459 func (s *DescribeReportCreationOutput) SetErrorMessage(v string) *DescribeReportCreationOutput { 1460 s.ErrorMessage = &v 1461 return s 1462 } 1463 1464 // SetS3Location sets the S3Location field's value. 1465 func (s *DescribeReportCreationOutput) SetS3Location(v string) *DescribeReportCreationOutput { 1466 s.S3Location = &v 1467 return s 1468 } 1469 1470 // SetStatus sets the Status field's value. 1471 func (s *DescribeReportCreationOutput) SetStatus(v string) *DescribeReportCreationOutput { 1472 s.Status = &v 1473 return s 1474 } 1475 1476 // Information about the errors that are returned for each failed resource. 1477 // This information can include InternalServiceException and InvalidParameterException 1478 // errors. It can also include any valid error code returned by the AWS service 1479 // that hosts the resource that the ARN key represents. 1480 // 1481 // The following are common error codes that you might receive from other AWS 1482 // services: 1483 // 1484 // * InternalServiceException – This can mean that the Resource Groups 1485 // Tagging API didn't receive a response from another AWS service. It can 1486 // also mean the the resource type in the request is not supported by the 1487 // Resource Groups Tagging API. In these cases, it's safe to retry the request 1488 // and then call GetResources (http://docs.aws.amazon.com/resourcegroupstagging/latest/APIReference/API_GetResources.html) 1489 // to verify the changes. 1490 // 1491 // * AccessDeniedException – This can mean that you need permission to 1492 // calling tagging operations in the AWS service that contains the resource. 1493 // For example, to use the Resource Groups Tagging API to tag a CloudWatch 1494 // alarm resource, you need permission to call TagResources (http://docs.aws.amazon.com/resourcegroupstagging/latest/APIReference/API_TagResources.html) 1495 // and TagResource (http://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_TagResource.html) 1496 // in the CloudWatch API. 1497 // 1498 // For more information on errors that are generated from other AWS services, 1499 // see the documentation for that service. 1500 type FailureInfo struct { 1501 _ struct{} `type:"structure"` 1502 1503 // The code of the common error. Valid values include InternalServiceException, 1504 // InvalidParameterException, and any valid error code returned by the AWS service 1505 // that hosts the resource that you want to tag. 1506 ErrorCode *string `type:"string" enum:"ErrorCode"` 1507 1508 // The message of the common error. 1509 ErrorMessage *string `type:"string"` 1510 1511 // The HTTP status code of the common error. 1512 StatusCode *int64 `type:"integer"` 1513 } 1514 1515 // String returns the string representation. 1516 // 1517 // API parameter values that are decorated as "sensitive" in the API will not 1518 // be included in the string output. The member name will be present, but the 1519 // value will be replaced with "sensitive". 1520 func (s FailureInfo) String() string { 1521 return awsutil.Prettify(s) 1522 } 1523 1524 // GoString returns the string representation. 1525 // 1526 // API parameter values that are decorated as "sensitive" in the API will not 1527 // be included in the string output. The member name will be present, but the 1528 // value will be replaced with "sensitive". 1529 func (s FailureInfo) GoString() string { 1530 return s.String() 1531 } 1532 1533 // SetErrorCode sets the ErrorCode field's value. 1534 func (s *FailureInfo) SetErrorCode(v string) *FailureInfo { 1535 s.ErrorCode = &v 1536 return s 1537 } 1538 1539 // SetErrorMessage sets the ErrorMessage field's value. 1540 func (s *FailureInfo) SetErrorMessage(v string) *FailureInfo { 1541 s.ErrorMessage = &v 1542 return s 1543 } 1544 1545 // SetStatusCode sets the StatusCode field's value. 1546 func (s *FailureInfo) SetStatusCode(v int64) *FailureInfo { 1547 s.StatusCode = &v 1548 return s 1549 } 1550 1551 type GetComplianceSummaryInput struct { 1552 _ struct{} `type:"structure"` 1553 1554 // Specifies a list of attributes to group the counts of noncompliant resources 1555 // by. If supplied, the counts are sorted by those attributes. 1556 GroupBy []*string `type:"list"` 1557 1558 // Specifies the maximum number of results to be returned in each page. A query 1559 // can return fewer than this maximum, even if there are more results still 1560 // to return. You should always check the PaginationToken response value to 1561 // see if there are more results. You can specify a minimum of 1 and a maximum 1562 // value of 100. 1563 MaxResults *int64 `min:"1" type:"integer"` 1564 1565 // Specifies a PaginationToken response value from a previous request to indicate 1566 // that you want the next page of results. Leave this parameter empty in your 1567 // initial request. 1568 PaginationToken *string `type:"string"` 1569 1570 // Specifies a list of AWS Regions to limit the output by. If you use this parameter, 1571 // the count of returned noncompliant resources includes only resources in the 1572 // specified Regions. 1573 RegionFilters []*string `min:"1" type:"list"` 1574 1575 // Specifies that you want the response to include information for only resources 1576 // of the specified types. The format of each resource type is service[:resourceType]. 1577 // For example, specifying a resource type of ec2 returns all Amazon EC2 resources 1578 // (which includes EC2 instances). Specifying a resource type of ec2:instance 1579 // returns only EC2 instances. 1580 // 1581 // The string for each service name and resource type is the same as that embedded 1582 // in a resource's Amazon Resource Name (ARN). Consult the AWS General Reference 1583 // for the following: 1584 // 1585 // * For a list of service name strings, see AWS Service Namespaces (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#genref-aws-service-namespaces). 1586 // 1587 // * For resource type strings, see Example ARNs (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#arns-syntax). 1588 // 1589 // * For more information about ARNs, see Amazon Resource Names (ARNs) and 1590 // AWS Service Namespaces (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html). 1591 // 1592 // You can specify multiple resource types by using a comma separated array. 1593 // The array can include up to 100 items. Note that the length constraint requirement 1594 // applies to each resource type filter. 1595 ResourceTypeFilters []*string `type:"list"` 1596 1597 // Specifies that you want the response to include information for only resources 1598 // that have tags with the specified tag keys. If you use this parameter, the 1599 // count of returned noncompliant resources includes only resources that have 1600 // the specified tag keys. 1601 TagKeyFilters []*string `min:"1" type:"list"` 1602 1603 // Specifies target identifiers (usually, specific account IDs) to limit the 1604 // output by. If you use this parameter, the count of returned noncompliant 1605 // resources includes only resources with the specified target IDs. 1606 TargetIdFilters []*string `min:"1" type:"list"` 1607 } 1608 1609 // String returns the string representation. 1610 // 1611 // API parameter values that are decorated as "sensitive" in the API will not 1612 // be included in the string output. The member name will be present, but the 1613 // value will be replaced with "sensitive". 1614 func (s GetComplianceSummaryInput) String() string { 1615 return awsutil.Prettify(s) 1616 } 1617 1618 // GoString returns the string representation. 1619 // 1620 // API parameter values that are decorated as "sensitive" in the API will not 1621 // be included in the string output. The member name will be present, but the 1622 // value will be replaced with "sensitive". 1623 func (s GetComplianceSummaryInput) GoString() string { 1624 return s.String() 1625 } 1626 1627 // Validate inspects the fields of the type to determine if they are valid. 1628 func (s *GetComplianceSummaryInput) Validate() error { 1629 invalidParams := request.ErrInvalidParams{Context: "GetComplianceSummaryInput"} 1630 if s.MaxResults != nil && *s.MaxResults < 1 { 1631 invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) 1632 } 1633 if s.RegionFilters != nil && len(s.RegionFilters) < 1 { 1634 invalidParams.Add(request.NewErrParamMinLen("RegionFilters", 1)) 1635 } 1636 if s.TagKeyFilters != nil && len(s.TagKeyFilters) < 1 { 1637 invalidParams.Add(request.NewErrParamMinLen("TagKeyFilters", 1)) 1638 } 1639 if s.TargetIdFilters != nil && len(s.TargetIdFilters) < 1 { 1640 invalidParams.Add(request.NewErrParamMinLen("TargetIdFilters", 1)) 1641 } 1642 1643 if invalidParams.Len() > 0 { 1644 return invalidParams 1645 } 1646 return nil 1647 } 1648 1649 // SetGroupBy sets the GroupBy field's value. 1650 func (s *GetComplianceSummaryInput) SetGroupBy(v []*string) *GetComplianceSummaryInput { 1651 s.GroupBy = v 1652 return s 1653 } 1654 1655 // SetMaxResults sets the MaxResults field's value. 1656 func (s *GetComplianceSummaryInput) SetMaxResults(v int64) *GetComplianceSummaryInput { 1657 s.MaxResults = &v 1658 return s 1659 } 1660 1661 // SetPaginationToken sets the PaginationToken field's value. 1662 func (s *GetComplianceSummaryInput) SetPaginationToken(v string) *GetComplianceSummaryInput { 1663 s.PaginationToken = &v 1664 return s 1665 } 1666 1667 // SetRegionFilters sets the RegionFilters field's value. 1668 func (s *GetComplianceSummaryInput) SetRegionFilters(v []*string) *GetComplianceSummaryInput { 1669 s.RegionFilters = v 1670 return s 1671 } 1672 1673 // SetResourceTypeFilters sets the ResourceTypeFilters field's value. 1674 func (s *GetComplianceSummaryInput) SetResourceTypeFilters(v []*string) *GetComplianceSummaryInput { 1675 s.ResourceTypeFilters = v 1676 return s 1677 } 1678 1679 // SetTagKeyFilters sets the TagKeyFilters field's value. 1680 func (s *GetComplianceSummaryInput) SetTagKeyFilters(v []*string) *GetComplianceSummaryInput { 1681 s.TagKeyFilters = v 1682 return s 1683 } 1684 1685 // SetTargetIdFilters sets the TargetIdFilters field's value. 1686 func (s *GetComplianceSummaryInput) SetTargetIdFilters(v []*string) *GetComplianceSummaryInput { 1687 s.TargetIdFilters = v 1688 return s 1689 } 1690 1691 type GetComplianceSummaryOutput struct { 1692 _ struct{} `type:"structure"` 1693 1694 // A string that indicates that there is more data available than this response 1695 // contains. To receive the next part of the response, specify this response 1696 // value as the PaginationToken value in the request for the next page. 1697 PaginationToken *string `type:"string"` 1698 1699 // A table that shows counts of noncompliant resources. 1700 SummaryList []*Summary `type:"list"` 1701 } 1702 1703 // String returns the string representation. 1704 // 1705 // API parameter values that are decorated as "sensitive" in the API will not 1706 // be included in the string output. The member name will be present, but the 1707 // value will be replaced with "sensitive". 1708 func (s GetComplianceSummaryOutput) String() string { 1709 return awsutil.Prettify(s) 1710 } 1711 1712 // GoString returns the string representation. 1713 // 1714 // API parameter values that are decorated as "sensitive" in the API will not 1715 // be included in the string output. The member name will be present, but the 1716 // value will be replaced with "sensitive". 1717 func (s GetComplianceSummaryOutput) GoString() string { 1718 return s.String() 1719 } 1720 1721 // SetPaginationToken sets the PaginationToken field's value. 1722 func (s *GetComplianceSummaryOutput) SetPaginationToken(v string) *GetComplianceSummaryOutput { 1723 s.PaginationToken = &v 1724 return s 1725 } 1726 1727 // SetSummaryList sets the SummaryList field's value. 1728 func (s *GetComplianceSummaryOutput) SetSummaryList(v []*Summary) *GetComplianceSummaryOutput { 1729 s.SummaryList = v 1730 return s 1731 } 1732 1733 type GetResourcesInput struct { 1734 _ struct{} `type:"structure"` 1735 1736 // Specifies whether to exclude resources that are compliant with the tag policy. 1737 // Set this to true if you are interested in retrieving information on noncompliant 1738 // resources only. 1739 // 1740 // You can use this parameter only if the IncludeComplianceDetails parameter 1741 // is also set to true. 1742 ExcludeCompliantResources *bool `type:"boolean"` 1743 1744 // Specifies whether to include details regarding the compliance with the effective 1745 // tag policy. Set this to true to determine whether resources are compliant 1746 // with the tag policy and to get details. 1747 IncludeComplianceDetails *bool `type:"boolean"` 1748 1749 // Specifies a PaginationToken response value from a previous request to indicate 1750 // that you want the next page of results. Leave this parameter empty in your 1751 // initial request. 1752 PaginationToken *string `type:"string"` 1753 1754 // Specifies a list of ARNs of resources for which you want to retrieve tag 1755 // data. You can't specify both this parameter and any of the pagination parameters 1756 // (ResourcesPerPage, TagsPerPage, PaginationToken) in the same request. If 1757 // you specify both, you get an Invalid Parameter exception. 1758 // 1759 // If a resource specified by this parameter doesn't exist, it doesn't generate 1760 // an error; it simply isn't included in the response. 1761 // 1762 // An ARN (Amazon Resource Name) uniquely identifies a resource. For more information, 1763 // see Amazon Resource Names (ARNs) and AWS Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) 1764 // in the AWS General Reference. 1765 ResourceARNList []*string `min:"1" type:"list"` 1766 1767 // Specifies the resource types that you want included in the response. The 1768 // format of each resource type is service[:resourceType]. For example, specifying 1769 // a resource type of ec2 returns all Amazon EC2 resources (which includes EC2 1770 // instances). Specifying a resource type of ec2:instance returns only EC2 instances. 1771 // 1772 // The string for each service name and resource type is the same as that embedded 1773 // in a resource's Amazon Resource Name (ARN). Consult the AWS General Reference 1774 // for the following: 1775 // 1776 // For more information about ARNs, see Amazon Resource Names (ARNs) and AWS 1777 // Service Namespaces (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html). 1778 // 1779 // You can specify multiple resource types by using an array. The array can 1780 // include up to 100 items. Note that the length constraint requirement applies 1781 // to each resource type filter. 1782 ResourceTypeFilters []*string `type:"list"` 1783 1784 // Specifies the maximum number of results to be returned in each page. A query 1785 // can return fewer than this maximum, even if there are more results still 1786 // to return. You should always check the PaginationToken response value to 1787 // see if there are more results. You can specify a minimum of 1 and a maximum 1788 // value of 100. 1789 ResourcesPerPage *int64 `type:"integer"` 1790 1791 // Specifies a list of TagFilters (keys and values) to restrict the output to 1792 // only those resources that have the specified tag and, if included, the specified 1793 // value. Each TagFilter must contain a key with values optional. A request 1794 // can include up to 50 keys, and each key can include up to 20 values. 1795 // 1796 // Note the following when deciding how to use TagFilters: 1797 // 1798 // * If you don't specify a TagFilter, the response includes all resources 1799 // that are currently tagged or ever had a tag. Resources that currently 1800 // don't have tags are shown with an empty tag set, like this: "Tags": []. 1801 // 1802 // * If you specify more than one filter in a single request, the response 1803 // returns only those resources that satisfy all filters. 1804 // 1805 // * If you specify a filter that contains more than one value for a key, 1806 // the response returns resources that match any of the specified values 1807 // for that key. 1808 // 1809 // * If you don't specify any values for a key, the response returns resources 1810 // that are tagged with that key and any or no value. For example, for the 1811 // following filters: filter1= {keyA,{value1}}, filter2={keyB,{value2,value3,value4}}, 1812 // filter3= {keyC}: GetResources({filter1}) returns resources tagged with 1813 // key1=value1 GetResources({filter2}) returns resources tagged with key2=value2 1814 // or key2=value3 or key2=value4 GetResources({filter3}) returns resources 1815 // tagged with any tag with the key key3, and with any or no value GetResources({filter1,filter2,filter3}) 1816 // returns resources tagged with (key1=value1) and (key2=value2 or key2=value3 1817 // or key2=value4) and (key3, any or no value) 1818 TagFilters []*TagFilter `type:"list"` 1819 1820 // AWS recommends using ResourcesPerPage instead of this parameter. 1821 // 1822 // A limit that restricts the number of tags (key and value pairs) returned 1823 // by GetResources in paginated output. A resource with no tags is counted as 1824 // having one tag (one key and value pair). 1825 // 1826 // GetResources does not split a resource and its associated tags across pages. 1827 // If the specified TagsPerPage would cause such a break, a PaginationToken 1828 // is returned in place of the affected resource and its tags. Use that token 1829 // in another request to get the remaining data. For example, if you specify 1830 // a TagsPerPage of 100 and the account has 22 resources with 10 tags each (meaning 1831 // that each resource has 10 key and value pairs), the output will consist of 1832 // three pages. The first page displays the first 10 resources, each with its 1833 // 10 tags. The second page displays the next 10 resources, each with its 10 1834 // tags. The third page displays the remaining 2 resources, each with its 10 1835 // tags. 1836 // 1837 // You can set TagsPerPage to a minimum of 100 items up to a maximum of 500 1838 // items. 1839 TagsPerPage *int64 `type:"integer"` 1840 } 1841 1842 // String returns the string representation. 1843 // 1844 // API parameter values that are decorated as "sensitive" in the API will not 1845 // be included in the string output. The member name will be present, but the 1846 // value will be replaced with "sensitive". 1847 func (s GetResourcesInput) String() string { 1848 return awsutil.Prettify(s) 1849 } 1850 1851 // GoString returns the string representation. 1852 // 1853 // API parameter values that are decorated as "sensitive" in the API will not 1854 // be included in the string output. The member name will be present, but the 1855 // value will be replaced with "sensitive". 1856 func (s GetResourcesInput) GoString() string { 1857 return s.String() 1858 } 1859 1860 // Validate inspects the fields of the type to determine if they are valid. 1861 func (s *GetResourcesInput) Validate() error { 1862 invalidParams := request.ErrInvalidParams{Context: "GetResourcesInput"} 1863 if s.ResourceARNList != nil && len(s.ResourceARNList) < 1 { 1864 invalidParams.Add(request.NewErrParamMinLen("ResourceARNList", 1)) 1865 } 1866 if s.TagFilters != nil { 1867 for i, v := range s.TagFilters { 1868 if v == nil { 1869 continue 1870 } 1871 if err := v.Validate(); err != nil { 1872 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TagFilters", i), err.(request.ErrInvalidParams)) 1873 } 1874 } 1875 } 1876 1877 if invalidParams.Len() > 0 { 1878 return invalidParams 1879 } 1880 return nil 1881 } 1882 1883 // SetExcludeCompliantResources sets the ExcludeCompliantResources field's value. 1884 func (s *GetResourcesInput) SetExcludeCompliantResources(v bool) *GetResourcesInput { 1885 s.ExcludeCompliantResources = &v 1886 return s 1887 } 1888 1889 // SetIncludeComplianceDetails sets the IncludeComplianceDetails field's value. 1890 func (s *GetResourcesInput) SetIncludeComplianceDetails(v bool) *GetResourcesInput { 1891 s.IncludeComplianceDetails = &v 1892 return s 1893 } 1894 1895 // SetPaginationToken sets the PaginationToken field's value. 1896 func (s *GetResourcesInput) SetPaginationToken(v string) *GetResourcesInput { 1897 s.PaginationToken = &v 1898 return s 1899 } 1900 1901 // SetResourceARNList sets the ResourceARNList field's value. 1902 func (s *GetResourcesInput) SetResourceARNList(v []*string) *GetResourcesInput { 1903 s.ResourceARNList = v 1904 return s 1905 } 1906 1907 // SetResourceTypeFilters sets the ResourceTypeFilters field's value. 1908 func (s *GetResourcesInput) SetResourceTypeFilters(v []*string) *GetResourcesInput { 1909 s.ResourceTypeFilters = v 1910 return s 1911 } 1912 1913 // SetResourcesPerPage sets the ResourcesPerPage field's value. 1914 func (s *GetResourcesInput) SetResourcesPerPage(v int64) *GetResourcesInput { 1915 s.ResourcesPerPage = &v 1916 return s 1917 } 1918 1919 // SetTagFilters sets the TagFilters field's value. 1920 func (s *GetResourcesInput) SetTagFilters(v []*TagFilter) *GetResourcesInput { 1921 s.TagFilters = v 1922 return s 1923 } 1924 1925 // SetTagsPerPage sets the TagsPerPage field's value. 1926 func (s *GetResourcesInput) SetTagsPerPage(v int64) *GetResourcesInput { 1927 s.TagsPerPage = &v 1928 return s 1929 } 1930 1931 type GetResourcesOutput struct { 1932 _ struct{} `type:"structure"` 1933 1934 // A string that indicates that there is more data available than this response 1935 // contains. To receive the next part of the response, specify this response 1936 // value as the PaginationToken value in the request for the next page. 1937 PaginationToken *string `type:"string"` 1938 1939 // A list of resource ARNs and the tags (keys and values) associated with those 1940 // ARNs. 1941 ResourceTagMappingList []*ResourceTagMapping `type:"list"` 1942 } 1943 1944 // String returns the string representation. 1945 // 1946 // API parameter values that are decorated as "sensitive" in the API will not 1947 // be included in the string output. The member name will be present, but the 1948 // value will be replaced with "sensitive". 1949 func (s GetResourcesOutput) String() string { 1950 return awsutil.Prettify(s) 1951 } 1952 1953 // GoString returns the string representation. 1954 // 1955 // API parameter values that are decorated as "sensitive" in the API will not 1956 // be included in the string output. The member name will be present, but the 1957 // value will be replaced with "sensitive". 1958 func (s GetResourcesOutput) GoString() string { 1959 return s.String() 1960 } 1961 1962 // SetPaginationToken sets the PaginationToken field's value. 1963 func (s *GetResourcesOutput) SetPaginationToken(v string) *GetResourcesOutput { 1964 s.PaginationToken = &v 1965 return s 1966 } 1967 1968 // SetResourceTagMappingList sets the ResourceTagMappingList field's value. 1969 func (s *GetResourcesOutput) SetResourceTagMappingList(v []*ResourceTagMapping) *GetResourcesOutput { 1970 s.ResourceTagMappingList = v 1971 return s 1972 } 1973 1974 type GetTagKeysInput struct { 1975 _ struct{} `type:"structure"` 1976 1977 // Specifies a PaginationToken response value from a previous request to indicate 1978 // that you want the next page of results. Leave this parameter empty in your 1979 // initial request. 1980 PaginationToken *string `type:"string"` 1981 } 1982 1983 // String returns the string representation. 1984 // 1985 // API parameter values that are decorated as "sensitive" in the API will not 1986 // be included in the string output. The member name will be present, but the 1987 // value will be replaced with "sensitive". 1988 func (s GetTagKeysInput) String() string { 1989 return awsutil.Prettify(s) 1990 } 1991 1992 // GoString returns the string representation. 1993 // 1994 // API parameter values that are decorated as "sensitive" in the API will not 1995 // be included in the string output. The member name will be present, but the 1996 // value will be replaced with "sensitive". 1997 func (s GetTagKeysInput) GoString() string { 1998 return s.String() 1999 } 2000 2001 // SetPaginationToken sets the PaginationToken field's value. 2002 func (s *GetTagKeysInput) SetPaginationToken(v string) *GetTagKeysInput { 2003 s.PaginationToken = &v 2004 return s 2005 } 2006 2007 type GetTagKeysOutput struct { 2008 _ struct{} `type:"structure"` 2009 2010 // A string that indicates that there is more data available than this response 2011 // contains. To receive the next part of the response, specify this response 2012 // value as the PaginationToken value in the request for the next page. 2013 PaginationToken *string `type:"string"` 2014 2015 // A list of all tag keys in the AWS account. 2016 TagKeys []*string `type:"list"` 2017 } 2018 2019 // String returns the string representation. 2020 // 2021 // API parameter values that are decorated as "sensitive" in the API will not 2022 // be included in the string output. The member name will be present, but the 2023 // value will be replaced with "sensitive". 2024 func (s GetTagKeysOutput) String() string { 2025 return awsutil.Prettify(s) 2026 } 2027 2028 // GoString returns the string representation. 2029 // 2030 // API parameter values that are decorated as "sensitive" in the API will not 2031 // be included in the string output. The member name will be present, but the 2032 // value will be replaced with "sensitive". 2033 func (s GetTagKeysOutput) GoString() string { 2034 return s.String() 2035 } 2036 2037 // SetPaginationToken sets the PaginationToken field's value. 2038 func (s *GetTagKeysOutput) SetPaginationToken(v string) *GetTagKeysOutput { 2039 s.PaginationToken = &v 2040 return s 2041 } 2042 2043 // SetTagKeys sets the TagKeys field's value. 2044 func (s *GetTagKeysOutput) SetTagKeys(v []*string) *GetTagKeysOutput { 2045 s.TagKeys = v 2046 return s 2047 } 2048 2049 type GetTagValuesInput struct { 2050 _ struct{} `type:"structure"` 2051 2052 // Specifies the tag key for which you want to list all existing values that 2053 // are currently used in the specified AWS Region for the calling AWS account. 2054 // 2055 // Key is a required field 2056 Key *string `min:"1" type:"string" required:"true"` 2057 2058 // Specifies a PaginationToken response value from a previous request to indicate 2059 // that you want the next page of results. Leave this parameter empty in your 2060 // initial request. 2061 PaginationToken *string `type:"string"` 2062 } 2063 2064 // String returns the string representation. 2065 // 2066 // API parameter values that are decorated as "sensitive" in the API will not 2067 // be included in the string output. The member name will be present, but the 2068 // value will be replaced with "sensitive". 2069 func (s GetTagValuesInput) String() string { 2070 return awsutil.Prettify(s) 2071 } 2072 2073 // GoString returns the string representation. 2074 // 2075 // API parameter values that are decorated as "sensitive" in the API will not 2076 // be included in the string output. The member name will be present, but the 2077 // value will be replaced with "sensitive". 2078 func (s GetTagValuesInput) GoString() string { 2079 return s.String() 2080 } 2081 2082 // Validate inspects the fields of the type to determine if they are valid. 2083 func (s *GetTagValuesInput) Validate() error { 2084 invalidParams := request.ErrInvalidParams{Context: "GetTagValuesInput"} 2085 if s.Key == nil { 2086 invalidParams.Add(request.NewErrParamRequired("Key")) 2087 } 2088 if s.Key != nil && len(*s.Key) < 1 { 2089 invalidParams.Add(request.NewErrParamMinLen("Key", 1)) 2090 } 2091 2092 if invalidParams.Len() > 0 { 2093 return invalidParams 2094 } 2095 return nil 2096 } 2097 2098 // SetKey sets the Key field's value. 2099 func (s *GetTagValuesInput) SetKey(v string) *GetTagValuesInput { 2100 s.Key = &v 2101 return s 2102 } 2103 2104 // SetPaginationToken sets the PaginationToken field's value. 2105 func (s *GetTagValuesInput) SetPaginationToken(v string) *GetTagValuesInput { 2106 s.PaginationToken = &v 2107 return s 2108 } 2109 2110 type GetTagValuesOutput struct { 2111 _ struct{} `type:"structure"` 2112 2113 // A string that indicates that there is more data available than this response 2114 // contains. To receive the next part of the response, specify this response 2115 // value as the PaginationToken value in the request for the next page. 2116 PaginationToken *string `type:"string"` 2117 2118 // A list of all tag values for the specified key currently used in the specified 2119 // AWS Region for the calling AWS account. 2120 TagValues []*string `type:"list"` 2121 } 2122 2123 // String returns the string representation. 2124 // 2125 // API parameter values that are decorated as "sensitive" in the API will not 2126 // be included in the string output. The member name will be present, but the 2127 // value will be replaced with "sensitive". 2128 func (s GetTagValuesOutput) String() string { 2129 return awsutil.Prettify(s) 2130 } 2131 2132 // GoString returns the string representation. 2133 // 2134 // API parameter values that are decorated as "sensitive" in the API will not 2135 // be included in the string output. The member name will be present, but the 2136 // value will be replaced with "sensitive". 2137 func (s GetTagValuesOutput) GoString() string { 2138 return s.String() 2139 } 2140 2141 // SetPaginationToken sets the PaginationToken field's value. 2142 func (s *GetTagValuesOutput) SetPaginationToken(v string) *GetTagValuesOutput { 2143 s.PaginationToken = &v 2144 return s 2145 } 2146 2147 // SetTagValues sets the TagValues field's value. 2148 func (s *GetTagValuesOutput) SetTagValues(v []*string) *GetTagValuesOutput { 2149 s.TagValues = v 2150 return s 2151 } 2152 2153 // The request processing failed because of an unknown error, exception, or 2154 // failure. You can retry the request. 2155 type InternalServiceException struct { 2156 _ struct{} `type:"structure"` 2157 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 2158 2159 Message_ *string `locationName:"Message" type:"string"` 2160 } 2161 2162 // String returns the string representation. 2163 // 2164 // API parameter values that are decorated as "sensitive" in the API will not 2165 // be included in the string output. The member name will be present, but the 2166 // value will be replaced with "sensitive". 2167 func (s InternalServiceException) String() string { 2168 return awsutil.Prettify(s) 2169 } 2170 2171 // GoString returns the string representation. 2172 // 2173 // API parameter values that are decorated as "sensitive" in the API will not 2174 // be included in the string output. The member name will be present, but the 2175 // value will be replaced with "sensitive". 2176 func (s InternalServiceException) GoString() string { 2177 return s.String() 2178 } 2179 2180 func newErrorInternalServiceException(v protocol.ResponseMetadata) error { 2181 return &InternalServiceException{ 2182 RespMetadata: v, 2183 } 2184 } 2185 2186 // Code returns the exception type name. 2187 func (s *InternalServiceException) Code() string { 2188 return "InternalServiceException" 2189 } 2190 2191 // Message returns the exception's message. 2192 func (s *InternalServiceException) Message() string { 2193 if s.Message_ != nil { 2194 return *s.Message_ 2195 } 2196 return "" 2197 } 2198 2199 // OrigErr always returns nil, satisfies awserr.Error interface. 2200 func (s *InternalServiceException) OrigErr() error { 2201 return nil 2202 } 2203 2204 func (s *InternalServiceException) Error() string { 2205 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 2206 } 2207 2208 // Status code returns the HTTP status code for the request's response error. 2209 func (s *InternalServiceException) StatusCode() int { 2210 return s.RespMetadata.StatusCode 2211 } 2212 2213 // RequestID returns the service's response RequestID for request. 2214 func (s *InternalServiceException) RequestID() string { 2215 return s.RespMetadata.RequestID 2216 } 2217 2218 // This error indicates one of the following: 2219 // 2220 // * A parameter is missing. 2221 // 2222 // * A malformed string was supplied for the request parameter. 2223 // 2224 // * An out-of-range value was supplied for the request parameter. 2225 // 2226 // * The target ID is invalid, unsupported, or doesn't exist. 2227 // 2228 // * You can't access the Amazon S3 bucket for report storage. For more information, 2229 // see Additional Requirements for Organization-wide Tag Compliance Reports 2230 // (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_tag-policies-prereqs.html#bucket-policies-org-report) 2231 // in the AWS Organizations User Guide. 2232 type InvalidParameterException struct { 2233 _ struct{} `type:"structure"` 2234 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 2235 2236 Message_ *string `locationName:"Message" type:"string"` 2237 } 2238 2239 // String returns the string representation. 2240 // 2241 // API parameter values that are decorated as "sensitive" in the API will not 2242 // be included in the string output. The member name will be present, but the 2243 // value will be replaced with "sensitive". 2244 func (s InvalidParameterException) String() string { 2245 return awsutil.Prettify(s) 2246 } 2247 2248 // GoString returns the string representation. 2249 // 2250 // API parameter values that are decorated as "sensitive" in the API will not 2251 // be included in the string output. The member name will be present, but the 2252 // value will be replaced with "sensitive". 2253 func (s InvalidParameterException) GoString() string { 2254 return s.String() 2255 } 2256 2257 func newErrorInvalidParameterException(v protocol.ResponseMetadata) error { 2258 return &InvalidParameterException{ 2259 RespMetadata: v, 2260 } 2261 } 2262 2263 // Code returns the exception type name. 2264 func (s *InvalidParameterException) Code() string { 2265 return "InvalidParameterException" 2266 } 2267 2268 // Message returns the exception's message. 2269 func (s *InvalidParameterException) Message() string { 2270 if s.Message_ != nil { 2271 return *s.Message_ 2272 } 2273 return "" 2274 } 2275 2276 // OrigErr always returns nil, satisfies awserr.Error interface. 2277 func (s *InvalidParameterException) OrigErr() error { 2278 return nil 2279 } 2280 2281 func (s *InvalidParameterException) Error() string { 2282 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 2283 } 2284 2285 // Status code returns the HTTP status code for the request's response error. 2286 func (s *InvalidParameterException) StatusCode() int { 2287 return s.RespMetadata.StatusCode 2288 } 2289 2290 // RequestID returns the service's response RequestID for request. 2291 func (s *InvalidParameterException) RequestID() string { 2292 return s.RespMetadata.RequestID 2293 } 2294 2295 // A PaginationToken is valid for a maximum of 15 minutes. Your request was 2296 // denied because the specified PaginationToken has expired. 2297 type PaginationTokenExpiredException struct { 2298 _ struct{} `type:"structure"` 2299 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 2300 2301 Message_ *string `locationName:"Message" type:"string"` 2302 } 2303 2304 // String returns the string representation. 2305 // 2306 // API parameter values that are decorated as "sensitive" in the API will not 2307 // be included in the string output. The member name will be present, but the 2308 // value will be replaced with "sensitive". 2309 func (s PaginationTokenExpiredException) String() string { 2310 return awsutil.Prettify(s) 2311 } 2312 2313 // GoString returns the string representation. 2314 // 2315 // API parameter values that are decorated as "sensitive" in the API will not 2316 // be included in the string output. The member name will be present, but the 2317 // value will be replaced with "sensitive". 2318 func (s PaginationTokenExpiredException) GoString() string { 2319 return s.String() 2320 } 2321 2322 func newErrorPaginationTokenExpiredException(v protocol.ResponseMetadata) error { 2323 return &PaginationTokenExpiredException{ 2324 RespMetadata: v, 2325 } 2326 } 2327 2328 // Code returns the exception type name. 2329 func (s *PaginationTokenExpiredException) Code() string { 2330 return "PaginationTokenExpiredException" 2331 } 2332 2333 // Message returns the exception's message. 2334 func (s *PaginationTokenExpiredException) Message() string { 2335 if s.Message_ != nil { 2336 return *s.Message_ 2337 } 2338 return "" 2339 } 2340 2341 // OrigErr always returns nil, satisfies awserr.Error interface. 2342 func (s *PaginationTokenExpiredException) OrigErr() error { 2343 return nil 2344 } 2345 2346 func (s *PaginationTokenExpiredException) Error() string { 2347 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 2348 } 2349 2350 // Status code returns the HTTP status code for the request's response error. 2351 func (s *PaginationTokenExpiredException) StatusCode() int { 2352 return s.RespMetadata.StatusCode 2353 } 2354 2355 // RequestID returns the service's response RequestID for request. 2356 func (s *PaginationTokenExpiredException) RequestID() string { 2357 return s.RespMetadata.RequestID 2358 } 2359 2360 // A list of resource ARNs and the tags (keys and values) that are associated 2361 // with each. 2362 type ResourceTagMapping struct { 2363 _ struct{} `type:"structure"` 2364 2365 // Information that shows whether a resource is compliant with the effective 2366 // tag policy, including details on any noncompliant tag keys. 2367 ComplianceDetails *ComplianceDetails `type:"structure"` 2368 2369 // The ARN of the resource. 2370 ResourceARN *string `min:"1" type:"string"` 2371 2372 // The tags that have been applied to one or more AWS resources. 2373 Tags []*Tag `type:"list"` 2374 } 2375 2376 // String returns the string representation. 2377 // 2378 // API parameter values that are decorated as "sensitive" in the API will not 2379 // be included in the string output. The member name will be present, but the 2380 // value will be replaced with "sensitive". 2381 func (s ResourceTagMapping) String() string { 2382 return awsutil.Prettify(s) 2383 } 2384 2385 // GoString returns the string representation. 2386 // 2387 // API parameter values that are decorated as "sensitive" in the API will not 2388 // be included in the string output. The member name will be present, but the 2389 // value will be replaced with "sensitive". 2390 func (s ResourceTagMapping) GoString() string { 2391 return s.String() 2392 } 2393 2394 // SetComplianceDetails sets the ComplianceDetails field's value. 2395 func (s *ResourceTagMapping) SetComplianceDetails(v *ComplianceDetails) *ResourceTagMapping { 2396 s.ComplianceDetails = v 2397 return s 2398 } 2399 2400 // SetResourceARN sets the ResourceARN field's value. 2401 func (s *ResourceTagMapping) SetResourceARN(v string) *ResourceTagMapping { 2402 s.ResourceARN = &v 2403 return s 2404 } 2405 2406 // SetTags sets the Tags field's value. 2407 func (s *ResourceTagMapping) SetTags(v []*Tag) *ResourceTagMapping { 2408 s.Tags = v 2409 return s 2410 } 2411 2412 type StartReportCreationInput struct { 2413 _ struct{} `type:"structure"` 2414 2415 // The name of the Amazon S3 bucket where the report will be stored; for example: 2416 // 2417 // awsexamplebucket 2418 // 2419 // For more information on S3 bucket requirements, including an example bucket 2420 // policy, see the example S3 bucket policy on this page. 2421 // 2422 // S3Bucket is a required field 2423 S3Bucket *string `min:"3" type:"string" required:"true"` 2424 } 2425 2426 // String returns the string representation. 2427 // 2428 // API parameter values that are decorated as "sensitive" in the API will not 2429 // be included in the string output. The member name will be present, but the 2430 // value will be replaced with "sensitive". 2431 func (s StartReportCreationInput) String() string { 2432 return awsutil.Prettify(s) 2433 } 2434 2435 // GoString returns the string representation. 2436 // 2437 // API parameter values that are decorated as "sensitive" in the API will not 2438 // be included in the string output. The member name will be present, but the 2439 // value will be replaced with "sensitive". 2440 func (s StartReportCreationInput) GoString() string { 2441 return s.String() 2442 } 2443 2444 // Validate inspects the fields of the type to determine if they are valid. 2445 func (s *StartReportCreationInput) Validate() error { 2446 invalidParams := request.ErrInvalidParams{Context: "StartReportCreationInput"} 2447 if s.S3Bucket == nil { 2448 invalidParams.Add(request.NewErrParamRequired("S3Bucket")) 2449 } 2450 if s.S3Bucket != nil && len(*s.S3Bucket) < 3 { 2451 invalidParams.Add(request.NewErrParamMinLen("S3Bucket", 3)) 2452 } 2453 2454 if invalidParams.Len() > 0 { 2455 return invalidParams 2456 } 2457 return nil 2458 } 2459 2460 // SetS3Bucket sets the S3Bucket field's value. 2461 func (s *StartReportCreationInput) SetS3Bucket(v string) *StartReportCreationInput { 2462 s.S3Bucket = &v 2463 return s 2464 } 2465 2466 type StartReportCreationOutput struct { 2467 _ struct{} `type:"structure"` 2468 } 2469 2470 // String returns the string representation. 2471 // 2472 // API parameter values that are decorated as "sensitive" in the API will not 2473 // be included in the string output. The member name will be present, but the 2474 // value will be replaced with "sensitive". 2475 func (s StartReportCreationOutput) String() string { 2476 return awsutil.Prettify(s) 2477 } 2478 2479 // GoString returns the string representation. 2480 // 2481 // API parameter values that are decorated as "sensitive" in the API will not 2482 // be included in the string output. The member name will be present, but the 2483 // value will be replaced with "sensitive". 2484 func (s StartReportCreationOutput) GoString() string { 2485 return s.String() 2486 } 2487 2488 // A count of noncompliant resources. 2489 type Summary struct { 2490 _ struct{} `type:"structure"` 2491 2492 // The timestamp that shows when this summary was generated in this Region. 2493 LastUpdated *string `type:"string"` 2494 2495 // The count of noncompliant resources. 2496 NonCompliantResources *int64 `type:"long"` 2497 2498 // The AWS Region that the summary applies to. 2499 Region *string `min:"1" type:"string"` 2500 2501 // The AWS resource type. 2502 ResourceType *string `type:"string"` 2503 2504 // The account identifier or the root identifier of the organization. If you 2505 // don't know the root ID, you can call the AWS Organizations ListRoots (http://docs.aws.amazon.com/organizations/latest/APIReference/API_ListRoots.html) 2506 // API. 2507 TargetId *string `min:"6" type:"string"` 2508 2509 // Whether the target is an account, an OU, or the organization root. 2510 TargetIdType *string `type:"string" enum:"TargetIdType"` 2511 } 2512 2513 // String returns the string representation. 2514 // 2515 // API parameter values that are decorated as "sensitive" in the API will not 2516 // be included in the string output. The member name will be present, but the 2517 // value will be replaced with "sensitive". 2518 func (s Summary) String() string { 2519 return awsutil.Prettify(s) 2520 } 2521 2522 // GoString returns the string representation. 2523 // 2524 // API parameter values that are decorated as "sensitive" in the API will not 2525 // be included in the string output. The member name will be present, but the 2526 // value will be replaced with "sensitive". 2527 func (s Summary) GoString() string { 2528 return s.String() 2529 } 2530 2531 // SetLastUpdated sets the LastUpdated field's value. 2532 func (s *Summary) SetLastUpdated(v string) *Summary { 2533 s.LastUpdated = &v 2534 return s 2535 } 2536 2537 // SetNonCompliantResources sets the NonCompliantResources field's value. 2538 func (s *Summary) SetNonCompliantResources(v int64) *Summary { 2539 s.NonCompliantResources = &v 2540 return s 2541 } 2542 2543 // SetRegion sets the Region field's value. 2544 func (s *Summary) SetRegion(v string) *Summary { 2545 s.Region = &v 2546 return s 2547 } 2548 2549 // SetResourceType sets the ResourceType field's value. 2550 func (s *Summary) SetResourceType(v string) *Summary { 2551 s.ResourceType = &v 2552 return s 2553 } 2554 2555 // SetTargetId sets the TargetId field's value. 2556 func (s *Summary) SetTargetId(v string) *Summary { 2557 s.TargetId = &v 2558 return s 2559 } 2560 2561 // SetTargetIdType sets the TargetIdType field's value. 2562 func (s *Summary) SetTargetIdType(v string) *Summary { 2563 s.TargetIdType = &v 2564 return s 2565 } 2566 2567 // The metadata that you apply to AWS resources to help you categorize and organize 2568 // them. Each tag consists of a key and a value, both of which you define. For 2569 // more information, see Tagging AWS Resources (http://docs.aws.amazon.com/general/latest/gr/aws_tagging.html) 2570 // in the AWS General Reference. 2571 type Tag struct { 2572 _ struct{} `type:"structure"` 2573 2574 // One part of a key-value pair that makes up a tag. A key is a general label 2575 // that acts like a category for more specific tag values. 2576 // 2577 // Key is a required field 2578 Key *string `min:"1" type:"string" required:"true"` 2579 2580 // One part of a key-value pair that make up a tag. A value acts as a descriptor 2581 // within a tag category (key). The value can be empty or null. 2582 // 2583 // Value is a required field 2584 Value *string `type:"string" required:"true"` 2585 } 2586 2587 // String returns the string representation. 2588 // 2589 // API parameter values that are decorated as "sensitive" in the API will not 2590 // be included in the string output. The member name will be present, but the 2591 // value will be replaced with "sensitive". 2592 func (s Tag) String() string { 2593 return awsutil.Prettify(s) 2594 } 2595 2596 // GoString returns the string representation. 2597 // 2598 // API parameter values that are decorated as "sensitive" in the API will not 2599 // be included in the string output. The member name will be present, but the 2600 // value will be replaced with "sensitive". 2601 func (s Tag) GoString() string { 2602 return s.String() 2603 } 2604 2605 // SetKey sets the Key field's value. 2606 func (s *Tag) SetKey(v string) *Tag { 2607 s.Key = &v 2608 return s 2609 } 2610 2611 // SetValue sets the Value field's value. 2612 func (s *Tag) SetValue(v string) *Tag { 2613 s.Value = &v 2614 return s 2615 } 2616 2617 // A list of tags (keys and values) that are used to specify the associated 2618 // resources. 2619 type TagFilter struct { 2620 _ struct{} `type:"structure"` 2621 2622 // One part of a key-value pair that makes up a tag. A key is a general label 2623 // that acts like a category for more specific tag values. 2624 Key *string `min:"1" type:"string"` 2625 2626 // One part of a key-value pair that make up a tag. A value acts as a descriptor 2627 // within a tag category (key). The value can be empty or null. 2628 Values []*string `type:"list"` 2629 } 2630 2631 // String returns the string representation. 2632 // 2633 // API parameter values that are decorated as "sensitive" in the API will not 2634 // be included in the string output. The member name will be present, but the 2635 // value will be replaced with "sensitive". 2636 func (s TagFilter) String() string { 2637 return awsutil.Prettify(s) 2638 } 2639 2640 // GoString returns the string representation. 2641 // 2642 // API parameter values that are decorated as "sensitive" in the API will not 2643 // be included in the string output. The member name will be present, but the 2644 // value will be replaced with "sensitive". 2645 func (s TagFilter) GoString() string { 2646 return s.String() 2647 } 2648 2649 // Validate inspects the fields of the type to determine if they are valid. 2650 func (s *TagFilter) Validate() error { 2651 invalidParams := request.ErrInvalidParams{Context: "TagFilter"} 2652 if s.Key != nil && len(*s.Key) < 1 { 2653 invalidParams.Add(request.NewErrParamMinLen("Key", 1)) 2654 } 2655 2656 if invalidParams.Len() > 0 { 2657 return invalidParams 2658 } 2659 return nil 2660 } 2661 2662 // SetKey sets the Key field's value. 2663 func (s *TagFilter) SetKey(v string) *TagFilter { 2664 s.Key = &v 2665 return s 2666 } 2667 2668 // SetValues sets the Values field's value. 2669 func (s *TagFilter) SetValues(v []*string) *TagFilter { 2670 s.Values = v 2671 return s 2672 } 2673 2674 type TagResourcesInput struct { 2675 _ struct{} `type:"structure"` 2676 2677 // Specifies the list of ARNs of the resources that you want to apply tags to. 2678 // 2679 // An ARN (Amazon Resource Name) uniquely identifies a resource. For more information, 2680 // see Amazon Resource Names (ARNs) and AWS Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) 2681 // in the AWS General Reference. 2682 // 2683 // ResourceARNList is a required field 2684 ResourceARNList []*string `min:"1" type:"list" required:"true"` 2685 2686 // Specifies a list of tags that you want to add to the specified resources. 2687 // A tag consists of a key and a value that you define. 2688 // 2689 // Tags is a required field 2690 Tags map[string]*string `min:"1" type:"map" required:"true"` 2691 } 2692 2693 // String returns the string representation. 2694 // 2695 // API parameter values that are decorated as "sensitive" in the API will not 2696 // be included in the string output. The member name will be present, but the 2697 // value will be replaced with "sensitive". 2698 func (s TagResourcesInput) String() string { 2699 return awsutil.Prettify(s) 2700 } 2701 2702 // GoString returns the string representation. 2703 // 2704 // API parameter values that are decorated as "sensitive" in the API will not 2705 // be included in the string output. The member name will be present, but the 2706 // value will be replaced with "sensitive". 2707 func (s TagResourcesInput) GoString() string { 2708 return s.String() 2709 } 2710 2711 // Validate inspects the fields of the type to determine if they are valid. 2712 func (s *TagResourcesInput) Validate() error { 2713 invalidParams := request.ErrInvalidParams{Context: "TagResourcesInput"} 2714 if s.ResourceARNList == nil { 2715 invalidParams.Add(request.NewErrParamRequired("ResourceARNList")) 2716 } 2717 if s.ResourceARNList != nil && len(s.ResourceARNList) < 1 { 2718 invalidParams.Add(request.NewErrParamMinLen("ResourceARNList", 1)) 2719 } 2720 if s.Tags == nil { 2721 invalidParams.Add(request.NewErrParamRequired("Tags")) 2722 } 2723 if s.Tags != nil && len(s.Tags) < 1 { 2724 invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) 2725 } 2726 2727 if invalidParams.Len() > 0 { 2728 return invalidParams 2729 } 2730 return nil 2731 } 2732 2733 // SetResourceARNList sets the ResourceARNList field's value. 2734 func (s *TagResourcesInput) SetResourceARNList(v []*string) *TagResourcesInput { 2735 s.ResourceARNList = v 2736 return s 2737 } 2738 2739 // SetTags sets the Tags field's value. 2740 func (s *TagResourcesInput) SetTags(v map[string]*string) *TagResourcesInput { 2741 s.Tags = v 2742 return s 2743 } 2744 2745 type TagResourcesOutput struct { 2746 _ struct{} `type:"structure"` 2747 2748 // A map containing a key-value pair for each failed item that couldn't be tagged. 2749 // The key is the ARN of the failed resource. The value is a FailureInfo object 2750 // that contains an error code, a status code, and an error message. If there 2751 // are no errors, the FailedResourcesMap is empty. 2752 FailedResourcesMap map[string]*FailureInfo `type:"map"` 2753 } 2754 2755 // String returns the string representation. 2756 // 2757 // API parameter values that are decorated as "sensitive" in the API will not 2758 // be included in the string output. The member name will be present, but the 2759 // value will be replaced with "sensitive". 2760 func (s TagResourcesOutput) String() string { 2761 return awsutil.Prettify(s) 2762 } 2763 2764 // GoString returns the string representation. 2765 // 2766 // API parameter values that are decorated as "sensitive" in the API will not 2767 // be included in the string output. The member name will be present, but the 2768 // value will be replaced with "sensitive". 2769 func (s TagResourcesOutput) GoString() string { 2770 return s.String() 2771 } 2772 2773 // SetFailedResourcesMap sets the FailedResourcesMap field's value. 2774 func (s *TagResourcesOutput) SetFailedResourcesMap(v map[string]*FailureInfo) *TagResourcesOutput { 2775 s.FailedResourcesMap = v 2776 return s 2777 } 2778 2779 // The request was denied to limit the frequency of submitted requests. 2780 type ThrottledException struct { 2781 _ struct{} `type:"structure"` 2782 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 2783 2784 Message_ *string `locationName:"Message" type:"string"` 2785 } 2786 2787 // String returns the string representation. 2788 // 2789 // API parameter values that are decorated as "sensitive" in the API will not 2790 // be included in the string output. The member name will be present, but the 2791 // value will be replaced with "sensitive". 2792 func (s ThrottledException) String() string { 2793 return awsutil.Prettify(s) 2794 } 2795 2796 // GoString returns the string representation. 2797 // 2798 // API parameter values that are decorated as "sensitive" in the API will not 2799 // be included in the string output. The member name will be present, but the 2800 // value will be replaced with "sensitive". 2801 func (s ThrottledException) GoString() string { 2802 return s.String() 2803 } 2804 2805 func newErrorThrottledException(v protocol.ResponseMetadata) error { 2806 return &ThrottledException{ 2807 RespMetadata: v, 2808 } 2809 } 2810 2811 // Code returns the exception type name. 2812 func (s *ThrottledException) Code() string { 2813 return "ThrottledException" 2814 } 2815 2816 // Message returns the exception's message. 2817 func (s *ThrottledException) Message() string { 2818 if s.Message_ != nil { 2819 return *s.Message_ 2820 } 2821 return "" 2822 } 2823 2824 // OrigErr always returns nil, satisfies awserr.Error interface. 2825 func (s *ThrottledException) OrigErr() error { 2826 return nil 2827 } 2828 2829 func (s *ThrottledException) Error() string { 2830 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 2831 } 2832 2833 // Status code returns the HTTP status code for the request's response error. 2834 func (s *ThrottledException) StatusCode() int { 2835 return s.RespMetadata.StatusCode 2836 } 2837 2838 // RequestID returns the service's response RequestID for request. 2839 func (s *ThrottledException) RequestID() string { 2840 return s.RespMetadata.RequestID 2841 } 2842 2843 type UntagResourcesInput struct { 2844 _ struct{} `type:"structure"` 2845 2846 // Specifies a list of ARNs of the resources that you want to remove tags from. 2847 // 2848 // An ARN (Amazon Resource Name) uniquely identifies a resource. For more information, 2849 // see Amazon Resource Names (ARNs) and AWS Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) 2850 // in the AWS General Reference. 2851 // 2852 // ResourceARNList is a required field 2853 ResourceARNList []*string `min:"1" type:"list" required:"true"` 2854 2855 // Specifies a list of tag keys that you want to remove from the specified resources. 2856 // 2857 // TagKeys is a required field 2858 TagKeys []*string `min:"1" type:"list" required:"true"` 2859 } 2860 2861 // String returns the string representation. 2862 // 2863 // API parameter values that are decorated as "sensitive" in the API will not 2864 // be included in the string output. The member name will be present, but the 2865 // value will be replaced with "sensitive". 2866 func (s UntagResourcesInput) String() string { 2867 return awsutil.Prettify(s) 2868 } 2869 2870 // GoString returns the string representation. 2871 // 2872 // API parameter values that are decorated as "sensitive" in the API will not 2873 // be included in the string output. The member name will be present, but the 2874 // value will be replaced with "sensitive". 2875 func (s UntagResourcesInput) GoString() string { 2876 return s.String() 2877 } 2878 2879 // Validate inspects the fields of the type to determine if they are valid. 2880 func (s *UntagResourcesInput) Validate() error { 2881 invalidParams := request.ErrInvalidParams{Context: "UntagResourcesInput"} 2882 if s.ResourceARNList == nil { 2883 invalidParams.Add(request.NewErrParamRequired("ResourceARNList")) 2884 } 2885 if s.ResourceARNList != nil && len(s.ResourceARNList) < 1 { 2886 invalidParams.Add(request.NewErrParamMinLen("ResourceARNList", 1)) 2887 } 2888 if s.TagKeys == nil { 2889 invalidParams.Add(request.NewErrParamRequired("TagKeys")) 2890 } 2891 if s.TagKeys != nil && len(s.TagKeys) < 1 { 2892 invalidParams.Add(request.NewErrParamMinLen("TagKeys", 1)) 2893 } 2894 2895 if invalidParams.Len() > 0 { 2896 return invalidParams 2897 } 2898 return nil 2899 } 2900 2901 // SetResourceARNList sets the ResourceARNList field's value. 2902 func (s *UntagResourcesInput) SetResourceARNList(v []*string) *UntagResourcesInput { 2903 s.ResourceARNList = v 2904 return s 2905 } 2906 2907 // SetTagKeys sets the TagKeys field's value. 2908 func (s *UntagResourcesInput) SetTagKeys(v []*string) *UntagResourcesInput { 2909 s.TagKeys = v 2910 return s 2911 } 2912 2913 type UntagResourcesOutput struct { 2914 _ struct{} `type:"structure"` 2915 2916 // A map containing a key-value pair for each failed item that couldn't be untagged. 2917 // The key is the ARN of the failed resource. The value is a FailureInfo object 2918 // that contains an error code, a status code, and an error message. If there 2919 // are no errors, the FailedResourcesMap is empty. 2920 FailedResourcesMap map[string]*FailureInfo `type:"map"` 2921 } 2922 2923 // String returns the string representation. 2924 // 2925 // API parameter values that are decorated as "sensitive" in the API will not 2926 // be included in the string output. The member name will be present, but the 2927 // value will be replaced with "sensitive". 2928 func (s UntagResourcesOutput) String() string { 2929 return awsutil.Prettify(s) 2930 } 2931 2932 // GoString returns the string representation. 2933 // 2934 // API parameter values that are decorated as "sensitive" in the API will not 2935 // be included in the string output. The member name will be present, but the 2936 // value will be replaced with "sensitive". 2937 func (s UntagResourcesOutput) GoString() string { 2938 return s.String() 2939 } 2940 2941 // SetFailedResourcesMap sets the FailedResourcesMap field's value. 2942 func (s *UntagResourcesOutput) SetFailedResourcesMap(v map[string]*FailureInfo) *UntagResourcesOutput { 2943 s.FailedResourcesMap = v 2944 return s 2945 } 2946 2947 const ( 2948 // ErrorCodeInternalServiceException is a ErrorCode enum value 2949 ErrorCodeInternalServiceException = "InternalServiceException" 2950 2951 // ErrorCodeInvalidParameterException is a ErrorCode enum value 2952 ErrorCodeInvalidParameterException = "InvalidParameterException" 2953 ) 2954 2955 // ErrorCode_Values returns all elements of the ErrorCode enum 2956 func ErrorCode_Values() []string { 2957 return []string{ 2958 ErrorCodeInternalServiceException, 2959 ErrorCodeInvalidParameterException, 2960 } 2961 } 2962 2963 const ( 2964 // GroupByAttributeTargetId is a GroupByAttribute enum value 2965 GroupByAttributeTargetId = "TARGET_ID" 2966 2967 // GroupByAttributeRegion is a GroupByAttribute enum value 2968 GroupByAttributeRegion = "REGION" 2969 2970 // GroupByAttributeResourceType is a GroupByAttribute enum value 2971 GroupByAttributeResourceType = "RESOURCE_TYPE" 2972 ) 2973 2974 // GroupByAttribute_Values returns all elements of the GroupByAttribute enum 2975 func GroupByAttribute_Values() []string { 2976 return []string{ 2977 GroupByAttributeTargetId, 2978 GroupByAttributeRegion, 2979 GroupByAttributeResourceType, 2980 } 2981 } 2982 2983 const ( 2984 // TargetIdTypeAccount is a TargetIdType enum value 2985 TargetIdTypeAccount = "ACCOUNT" 2986 2987 // TargetIdTypeOu is a TargetIdType enum value 2988 TargetIdTypeOu = "OU" 2989 2990 // TargetIdTypeRoot is a TargetIdType enum value 2991 TargetIdTypeRoot = "ROOT" 2992 ) 2993 2994 // TargetIdType_Values returns all elements of the TargetIdType enum 2995 func TargetIdType_Values() []string { 2996 return []string{ 2997 TargetIdTypeAccount, 2998 TargetIdTypeOu, 2999 TargetIdTypeRoot, 3000 } 3001 }