github.com/aavshr/aws-sdk-go@v1.41.3/service/accessanalyzer/api.go (about) 1 // Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. 2 3 package accessanalyzer 4 5 import ( 6 "fmt" 7 "time" 8 9 "github.com/aavshr/aws-sdk-go/aws" 10 "github.com/aavshr/aws-sdk-go/aws/awsutil" 11 "github.com/aavshr/aws-sdk-go/aws/request" 12 "github.com/aavshr/aws-sdk-go/private/protocol" 13 "github.com/aavshr/aws-sdk-go/private/protocol/restjson" 14 ) 15 16 const opApplyArchiveRule = "ApplyArchiveRule" 17 18 // ApplyArchiveRuleRequest generates a "aws/request.Request" representing the 19 // client's request for the ApplyArchiveRule operation. The "output" return 20 // value will be populated with the request's response once the request completes 21 // successfully. 22 // 23 // Use "Send" method on the returned Request to send the API call to the service. 24 // the "output" return value is not valid until after Send returns without error. 25 // 26 // See ApplyArchiveRule for more information on using the ApplyArchiveRule 27 // API call, and error handling. 28 // 29 // This method is useful when you want to inject custom logic or configuration 30 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 31 // 32 // 33 // // Example sending a request using the ApplyArchiveRuleRequest method. 34 // req, resp := client.ApplyArchiveRuleRequest(params) 35 // 36 // err := req.Send() 37 // if err == nil { // resp is now filled 38 // fmt.Println(resp) 39 // } 40 // 41 // See also, https://docs.aws.amazon.com/goto/WebAPI/accessanalyzer-2019-11-01/ApplyArchiveRule 42 func (c *AccessAnalyzer) ApplyArchiveRuleRequest(input *ApplyArchiveRuleInput) (req *request.Request, output *ApplyArchiveRuleOutput) { 43 op := &request.Operation{ 44 Name: opApplyArchiveRule, 45 HTTPMethod: "PUT", 46 HTTPPath: "/archive-rule", 47 } 48 49 if input == nil { 50 input = &ApplyArchiveRuleInput{} 51 } 52 53 output = &ApplyArchiveRuleOutput{} 54 req = c.newRequest(op, input, output) 55 req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 56 return 57 } 58 59 // ApplyArchiveRule API operation for Access Analyzer. 60 // 61 // Retroactively applies the archive rule to existing findings that meet the 62 // archive rule criteria. 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 Access Analyzer's 69 // API operation ApplyArchiveRule for usage and error information. 70 // 71 // Returned Error Types: 72 // * ResourceNotFoundException 73 // The specified resource could not be found. 74 // 75 // * ValidationException 76 // Validation exception error. 77 // 78 // * InternalServerException 79 // Internal server error. 80 // 81 // * ThrottlingException 82 // Throttling limit exceeded error. 83 // 84 // * AccessDeniedException 85 // You do not have sufficient access to perform this action. 86 // 87 // See also, https://docs.aws.amazon.com/goto/WebAPI/accessanalyzer-2019-11-01/ApplyArchiveRule 88 func (c *AccessAnalyzer) ApplyArchiveRule(input *ApplyArchiveRuleInput) (*ApplyArchiveRuleOutput, error) { 89 req, out := c.ApplyArchiveRuleRequest(input) 90 return out, req.Send() 91 } 92 93 // ApplyArchiveRuleWithContext is the same as ApplyArchiveRule with the addition of 94 // the ability to pass a context and additional request options. 95 // 96 // See ApplyArchiveRule for details on how to use this API operation. 97 // 98 // The context must be non-nil and will be used for request cancellation. If 99 // the context is nil a panic will occur. In the future the SDK may create 100 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 101 // for more information on using Contexts. 102 func (c *AccessAnalyzer) ApplyArchiveRuleWithContext(ctx aws.Context, input *ApplyArchiveRuleInput, opts ...request.Option) (*ApplyArchiveRuleOutput, error) { 103 req, out := c.ApplyArchiveRuleRequest(input) 104 req.SetContext(ctx) 105 req.ApplyOptions(opts...) 106 return out, req.Send() 107 } 108 109 const opCancelPolicyGeneration = "CancelPolicyGeneration" 110 111 // CancelPolicyGenerationRequest generates a "aws/request.Request" representing the 112 // client's request for the CancelPolicyGeneration operation. The "output" return 113 // value will be populated with the request's response once the request completes 114 // successfully. 115 // 116 // Use "Send" method on the returned Request to send the API call to the service. 117 // the "output" return value is not valid until after Send returns without error. 118 // 119 // See CancelPolicyGeneration for more information on using the CancelPolicyGeneration 120 // API call, and error handling. 121 // 122 // This method is useful when you want to inject custom logic or configuration 123 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 124 // 125 // 126 // // Example sending a request using the CancelPolicyGenerationRequest method. 127 // req, resp := client.CancelPolicyGenerationRequest(params) 128 // 129 // err := req.Send() 130 // if err == nil { // resp is now filled 131 // fmt.Println(resp) 132 // } 133 // 134 // See also, https://docs.aws.amazon.com/goto/WebAPI/accessanalyzer-2019-11-01/CancelPolicyGeneration 135 func (c *AccessAnalyzer) CancelPolicyGenerationRequest(input *CancelPolicyGenerationInput) (req *request.Request, output *CancelPolicyGenerationOutput) { 136 op := &request.Operation{ 137 Name: opCancelPolicyGeneration, 138 HTTPMethod: "PUT", 139 HTTPPath: "/policy/generation/{jobId}", 140 } 141 142 if input == nil { 143 input = &CancelPolicyGenerationInput{} 144 } 145 146 output = &CancelPolicyGenerationOutput{} 147 req = c.newRequest(op, input, output) 148 req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 149 return 150 } 151 152 // CancelPolicyGeneration API operation for Access Analyzer. 153 // 154 // Cancels the requested policy generation. 155 // 156 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 157 // with awserr.Error's Code and Message methods to get detailed information about 158 // the error. 159 // 160 // See the AWS API reference guide for Access Analyzer's 161 // API operation CancelPolicyGeneration for usage and error information. 162 // 163 // Returned Error Types: 164 // * ValidationException 165 // Validation exception error. 166 // 167 // * InternalServerException 168 // Internal server error. 169 // 170 // * ThrottlingException 171 // Throttling limit exceeded error. 172 // 173 // * AccessDeniedException 174 // You do not have sufficient access to perform this action. 175 // 176 // See also, https://docs.aws.amazon.com/goto/WebAPI/accessanalyzer-2019-11-01/CancelPolicyGeneration 177 func (c *AccessAnalyzer) CancelPolicyGeneration(input *CancelPolicyGenerationInput) (*CancelPolicyGenerationOutput, error) { 178 req, out := c.CancelPolicyGenerationRequest(input) 179 return out, req.Send() 180 } 181 182 // CancelPolicyGenerationWithContext is the same as CancelPolicyGeneration with the addition of 183 // the ability to pass a context and additional request options. 184 // 185 // See CancelPolicyGeneration for details on how to use this API operation. 186 // 187 // The context must be non-nil and will be used for request cancellation. If 188 // the context is nil a panic will occur. In the future the SDK may create 189 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 190 // for more information on using Contexts. 191 func (c *AccessAnalyzer) CancelPolicyGenerationWithContext(ctx aws.Context, input *CancelPolicyGenerationInput, opts ...request.Option) (*CancelPolicyGenerationOutput, error) { 192 req, out := c.CancelPolicyGenerationRequest(input) 193 req.SetContext(ctx) 194 req.ApplyOptions(opts...) 195 return out, req.Send() 196 } 197 198 const opCreateAccessPreview = "CreateAccessPreview" 199 200 // CreateAccessPreviewRequest generates a "aws/request.Request" representing the 201 // client's request for the CreateAccessPreview operation. The "output" return 202 // value will be populated with the request's response once the request completes 203 // successfully. 204 // 205 // Use "Send" method on the returned Request to send the API call to the service. 206 // the "output" return value is not valid until after Send returns without error. 207 // 208 // See CreateAccessPreview for more information on using the CreateAccessPreview 209 // API call, and error handling. 210 // 211 // This method is useful when you want to inject custom logic or configuration 212 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 213 // 214 // 215 // // Example sending a request using the CreateAccessPreviewRequest method. 216 // req, resp := client.CreateAccessPreviewRequest(params) 217 // 218 // err := req.Send() 219 // if err == nil { // resp is now filled 220 // fmt.Println(resp) 221 // } 222 // 223 // See also, https://docs.aws.amazon.com/goto/WebAPI/accessanalyzer-2019-11-01/CreateAccessPreview 224 func (c *AccessAnalyzer) CreateAccessPreviewRequest(input *CreateAccessPreviewInput) (req *request.Request, output *CreateAccessPreviewOutput) { 225 op := &request.Operation{ 226 Name: opCreateAccessPreview, 227 HTTPMethod: "PUT", 228 HTTPPath: "/access-preview", 229 } 230 231 if input == nil { 232 input = &CreateAccessPreviewInput{} 233 } 234 235 output = &CreateAccessPreviewOutput{} 236 req = c.newRequest(op, input, output) 237 return 238 } 239 240 // CreateAccessPreview API operation for Access Analyzer. 241 // 242 // Creates an access preview that allows you to preview IAM Access Analyzer 243 // findings for your resource before deploying resource permissions. 244 // 245 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 246 // with awserr.Error's Code and Message methods to get detailed information about 247 // the error. 248 // 249 // See the AWS API reference guide for Access Analyzer's 250 // API operation CreateAccessPreview for usage and error information. 251 // 252 // Returned Error Types: 253 // * ResourceNotFoundException 254 // The specified resource could not be found. 255 // 256 // * ConflictException 257 // A conflict exception error. 258 // 259 // * ValidationException 260 // Validation exception error. 261 // 262 // * InternalServerException 263 // Internal server error. 264 // 265 // * ServiceQuotaExceededException 266 // Service quote met error. 267 // 268 // * ThrottlingException 269 // Throttling limit exceeded error. 270 // 271 // * AccessDeniedException 272 // You do not have sufficient access to perform this action. 273 // 274 // See also, https://docs.aws.amazon.com/goto/WebAPI/accessanalyzer-2019-11-01/CreateAccessPreview 275 func (c *AccessAnalyzer) CreateAccessPreview(input *CreateAccessPreviewInput) (*CreateAccessPreviewOutput, error) { 276 req, out := c.CreateAccessPreviewRequest(input) 277 return out, req.Send() 278 } 279 280 // CreateAccessPreviewWithContext is the same as CreateAccessPreview with the addition of 281 // the ability to pass a context and additional request options. 282 // 283 // See CreateAccessPreview for details on how to use this API operation. 284 // 285 // The context must be non-nil and will be used for request cancellation. If 286 // the context is nil a panic will occur. In the future the SDK may create 287 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 288 // for more information on using Contexts. 289 func (c *AccessAnalyzer) CreateAccessPreviewWithContext(ctx aws.Context, input *CreateAccessPreviewInput, opts ...request.Option) (*CreateAccessPreviewOutput, error) { 290 req, out := c.CreateAccessPreviewRequest(input) 291 req.SetContext(ctx) 292 req.ApplyOptions(opts...) 293 return out, req.Send() 294 } 295 296 const opCreateAnalyzer = "CreateAnalyzer" 297 298 // CreateAnalyzerRequest generates a "aws/request.Request" representing the 299 // client's request for the CreateAnalyzer operation. The "output" return 300 // value will be populated with the request's response once the request completes 301 // successfully. 302 // 303 // Use "Send" method on the returned Request to send the API call to the service. 304 // the "output" return value is not valid until after Send returns without error. 305 // 306 // See CreateAnalyzer for more information on using the CreateAnalyzer 307 // API call, and error handling. 308 // 309 // This method is useful when you want to inject custom logic or configuration 310 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 311 // 312 // 313 // // Example sending a request using the CreateAnalyzerRequest method. 314 // req, resp := client.CreateAnalyzerRequest(params) 315 // 316 // err := req.Send() 317 // if err == nil { // resp is now filled 318 // fmt.Println(resp) 319 // } 320 // 321 // See also, https://docs.aws.amazon.com/goto/WebAPI/accessanalyzer-2019-11-01/CreateAnalyzer 322 func (c *AccessAnalyzer) CreateAnalyzerRequest(input *CreateAnalyzerInput) (req *request.Request, output *CreateAnalyzerOutput) { 323 op := &request.Operation{ 324 Name: opCreateAnalyzer, 325 HTTPMethod: "PUT", 326 HTTPPath: "/analyzer", 327 } 328 329 if input == nil { 330 input = &CreateAnalyzerInput{} 331 } 332 333 output = &CreateAnalyzerOutput{} 334 req = c.newRequest(op, input, output) 335 return 336 } 337 338 // CreateAnalyzer API operation for Access Analyzer. 339 // 340 // Creates an analyzer for your account. 341 // 342 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 343 // with awserr.Error's Code and Message methods to get detailed information about 344 // the error. 345 // 346 // See the AWS API reference guide for Access Analyzer's 347 // API operation CreateAnalyzer for usage and error information. 348 // 349 // Returned Error Types: 350 // * ConflictException 351 // A conflict exception error. 352 // 353 // * ValidationException 354 // Validation exception error. 355 // 356 // * InternalServerException 357 // Internal server error. 358 // 359 // * ServiceQuotaExceededException 360 // Service quote met error. 361 // 362 // * ThrottlingException 363 // Throttling limit exceeded error. 364 // 365 // * AccessDeniedException 366 // You do not have sufficient access to perform this action. 367 // 368 // See also, https://docs.aws.amazon.com/goto/WebAPI/accessanalyzer-2019-11-01/CreateAnalyzer 369 func (c *AccessAnalyzer) CreateAnalyzer(input *CreateAnalyzerInput) (*CreateAnalyzerOutput, error) { 370 req, out := c.CreateAnalyzerRequest(input) 371 return out, req.Send() 372 } 373 374 // CreateAnalyzerWithContext is the same as CreateAnalyzer with the addition of 375 // the ability to pass a context and additional request options. 376 // 377 // See CreateAnalyzer for details on how to use this API operation. 378 // 379 // The context must be non-nil and will be used for request cancellation. If 380 // the context is nil a panic will occur. In the future the SDK may create 381 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 382 // for more information on using Contexts. 383 func (c *AccessAnalyzer) CreateAnalyzerWithContext(ctx aws.Context, input *CreateAnalyzerInput, opts ...request.Option) (*CreateAnalyzerOutput, error) { 384 req, out := c.CreateAnalyzerRequest(input) 385 req.SetContext(ctx) 386 req.ApplyOptions(opts...) 387 return out, req.Send() 388 } 389 390 const opCreateArchiveRule = "CreateArchiveRule" 391 392 // CreateArchiveRuleRequest generates a "aws/request.Request" representing the 393 // client's request for the CreateArchiveRule operation. The "output" return 394 // value will be populated with the request's response once the request completes 395 // successfully. 396 // 397 // Use "Send" method on the returned Request to send the API call to the service. 398 // the "output" return value is not valid until after Send returns without error. 399 // 400 // See CreateArchiveRule for more information on using the CreateArchiveRule 401 // API call, and error handling. 402 // 403 // This method is useful when you want to inject custom logic or configuration 404 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 405 // 406 // 407 // // Example sending a request using the CreateArchiveRuleRequest method. 408 // req, resp := client.CreateArchiveRuleRequest(params) 409 // 410 // err := req.Send() 411 // if err == nil { // resp is now filled 412 // fmt.Println(resp) 413 // } 414 // 415 // See also, https://docs.aws.amazon.com/goto/WebAPI/accessanalyzer-2019-11-01/CreateArchiveRule 416 func (c *AccessAnalyzer) CreateArchiveRuleRequest(input *CreateArchiveRuleInput) (req *request.Request, output *CreateArchiveRuleOutput) { 417 op := &request.Operation{ 418 Name: opCreateArchiveRule, 419 HTTPMethod: "PUT", 420 HTTPPath: "/analyzer/{analyzerName}/archive-rule", 421 } 422 423 if input == nil { 424 input = &CreateArchiveRuleInput{} 425 } 426 427 output = &CreateArchiveRuleOutput{} 428 req = c.newRequest(op, input, output) 429 req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 430 return 431 } 432 433 // CreateArchiveRule API operation for Access Analyzer. 434 // 435 // Creates an archive rule for the specified analyzer. Archive rules automatically 436 // archive new findings that meet the criteria you define when you create the 437 // rule. 438 // 439 // To learn about filter keys that you can use to create an archive rule, see 440 // IAM Access Analyzer filter keys (https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-reference-filter-keys.html) 441 // in the IAM User Guide. 442 // 443 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 444 // with awserr.Error's Code and Message methods to get detailed information about 445 // the error. 446 // 447 // See the AWS API reference guide for Access Analyzer's 448 // API operation CreateArchiveRule for usage and error information. 449 // 450 // Returned Error Types: 451 // * ResourceNotFoundException 452 // The specified resource could not be found. 453 // 454 // * ConflictException 455 // A conflict exception error. 456 // 457 // * ValidationException 458 // Validation exception error. 459 // 460 // * InternalServerException 461 // Internal server error. 462 // 463 // * ServiceQuotaExceededException 464 // Service quote met error. 465 // 466 // * ThrottlingException 467 // Throttling limit exceeded error. 468 // 469 // * AccessDeniedException 470 // You do not have sufficient access to perform this action. 471 // 472 // See also, https://docs.aws.amazon.com/goto/WebAPI/accessanalyzer-2019-11-01/CreateArchiveRule 473 func (c *AccessAnalyzer) CreateArchiveRule(input *CreateArchiveRuleInput) (*CreateArchiveRuleOutput, error) { 474 req, out := c.CreateArchiveRuleRequest(input) 475 return out, req.Send() 476 } 477 478 // CreateArchiveRuleWithContext is the same as CreateArchiveRule with the addition of 479 // the ability to pass a context and additional request options. 480 // 481 // See CreateArchiveRule for details on how to use this API operation. 482 // 483 // The context must be non-nil and will be used for request cancellation. If 484 // the context is nil a panic will occur. In the future the SDK may create 485 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 486 // for more information on using Contexts. 487 func (c *AccessAnalyzer) CreateArchiveRuleWithContext(ctx aws.Context, input *CreateArchiveRuleInput, opts ...request.Option) (*CreateArchiveRuleOutput, error) { 488 req, out := c.CreateArchiveRuleRequest(input) 489 req.SetContext(ctx) 490 req.ApplyOptions(opts...) 491 return out, req.Send() 492 } 493 494 const opDeleteAnalyzer = "DeleteAnalyzer" 495 496 // DeleteAnalyzerRequest generates a "aws/request.Request" representing the 497 // client's request for the DeleteAnalyzer operation. The "output" return 498 // value will be populated with the request's response once the request completes 499 // successfully. 500 // 501 // Use "Send" method on the returned Request to send the API call to the service. 502 // the "output" return value is not valid until after Send returns without error. 503 // 504 // See DeleteAnalyzer for more information on using the DeleteAnalyzer 505 // API call, and error handling. 506 // 507 // This method is useful when you want to inject custom logic or configuration 508 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 509 // 510 // 511 // // Example sending a request using the DeleteAnalyzerRequest method. 512 // req, resp := client.DeleteAnalyzerRequest(params) 513 // 514 // err := req.Send() 515 // if err == nil { // resp is now filled 516 // fmt.Println(resp) 517 // } 518 // 519 // See also, https://docs.aws.amazon.com/goto/WebAPI/accessanalyzer-2019-11-01/DeleteAnalyzer 520 func (c *AccessAnalyzer) DeleteAnalyzerRequest(input *DeleteAnalyzerInput) (req *request.Request, output *DeleteAnalyzerOutput) { 521 op := &request.Operation{ 522 Name: opDeleteAnalyzer, 523 HTTPMethod: "DELETE", 524 HTTPPath: "/analyzer/{analyzerName}", 525 } 526 527 if input == nil { 528 input = &DeleteAnalyzerInput{} 529 } 530 531 output = &DeleteAnalyzerOutput{} 532 req = c.newRequest(op, input, output) 533 req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 534 return 535 } 536 537 // DeleteAnalyzer API operation for Access Analyzer. 538 // 539 // Deletes the specified analyzer. When you delete an analyzer, IAM Access Analyzer 540 // is disabled for the account or organization in the current or specific Region. 541 // All findings that were generated by the analyzer are deleted. You cannot 542 // undo this action. 543 // 544 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 545 // with awserr.Error's Code and Message methods to get detailed information about 546 // the error. 547 // 548 // See the AWS API reference guide for Access Analyzer's 549 // API operation DeleteAnalyzer for usage and error information. 550 // 551 // Returned Error Types: 552 // * ResourceNotFoundException 553 // The specified resource could not be found. 554 // 555 // * ValidationException 556 // Validation exception error. 557 // 558 // * InternalServerException 559 // Internal server error. 560 // 561 // * ThrottlingException 562 // Throttling limit exceeded error. 563 // 564 // * AccessDeniedException 565 // You do not have sufficient access to perform this action. 566 // 567 // See also, https://docs.aws.amazon.com/goto/WebAPI/accessanalyzer-2019-11-01/DeleteAnalyzer 568 func (c *AccessAnalyzer) DeleteAnalyzer(input *DeleteAnalyzerInput) (*DeleteAnalyzerOutput, error) { 569 req, out := c.DeleteAnalyzerRequest(input) 570 return out, req.Send() 571 } 572 573 // DeleteAnalyzerWithContext is the same as DeleteAnalyzer with the addition of 574 // the ability to pass a context and additional request options. 575 // 576 // See DeleteAnalyzer for details on how to use this API operation. 577 // 578 // The context must be non-nil and will be used for request cancellation. If 579 // the context is nil a panic will occur. In the future the SDK may create 580 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 581 // for more information on using Contexts. 582 func (c *AccessAnalyzer) DeleteAnalyzerWithContext(ctx aws.Context, input *DeleteAnalyzerInput, opts ...request.Option) (*DeleteAnalyzerOutput, error) { 583 req, out := c.DeleteAnalyzerRequest(input) 584 req.SetContext(ctx) 585 req.ApplyOptions(opts...) 586 return out, req.Send() 587 } 588 589 const opDeleteArchiveRule = "DeleteArchiveRule" 590 591 // DeleteArchiveRuleRequest generates a "aws/request.Request" representing the 592 // client's request for the DeleteArchiveRule operation. The "output" return 593 // value will be populated with the request's response once the request completes 594 // successfully. 595 // 596 // Use "Send" method on the returned Request to send the API call to the service. 597 // the "output" return value is not valid until after Send returns without error. 598 // 599 // See DeleteArchiveRule for more information on using the DeleteArchiveRule 600 // API call, and error handling. 601 // 602 // This method is useful when you want to inject custom logic or configuration 603 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 604 // 605 // 606 // // Example sending a request using the DeleteArchiveRuleRequest method. 607 // req, resp := client.DeleteArchiveRuleRequest(params) 608 // 609 // err := req.Send() 610 // if err == nil { // resp is now filled 611 // fmt.Println(resp) 612 // } 613 // 614 // See also, https://docs.aws.amazon.com/goto/WebAPI/accessanalyzer-2019-11-01/DeleteArchiveRule 615 func (c *AccessAnalyzer) DeleteArchiveRuleRequest(input *DeleteArchiveRuleInput) (req *request.Request, output *DeleteArchiveRuleOutput) { 616 op := &request.Operation{ 617 Name: opDeleteArchiveRule, 618 HTTPMethod: "DELETE", 619 HTTPPath: "/analyzer/{analyzerName}/archive-rule/{ruleName}", 620 } 621 622 if input == nil { 623 input = &DeleteArchiveRuleInput{} 624 } 625 626 output = &DeleteArchiveRuleOutput{} 627 req = c.newRequest(op, input, output) 628 req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 629 return 630 } 631 632 // DeleteArchiveRule API operation for Access Analyzer. 633 // 634 // Deletes the specified archive rule. 635 // 636 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 637 // with awserr.Error's Code and Message methods to get detailed information about 638 // the error. 639 // 640 // See the AWS API reference guide for Access Analyzer's 641 // API operation DeleteArchiveRule for usage and error information. 642 // 643 // Returned Error Types: 644 // * ResourceNotFoundException 645 // The specified resource could not be found. 646 // 647 // * ValidationException 648 // Validation exception error. 649 // 650 // * InternalServerException 651 // Internal server error. 652 // 653 // * ThrottlingException 654 // Throttling limit exceeded error. 655 // 656 // * AccessDeniedException 657 // You do not have sufficient access to perform this action. 658 // 659 // See also, https://docs.aws.amazon.com/goto/WebAPI/accessanalyzer-2019-11-01/DeleteArchiveRule 660 func (c *AccessAnalyzer) DeleteArchiveRule(input *DeleteArchiveRuleInput) (*DeleteArchiveRuleOutput, error) { 661 req, out := c.DeleteArchiveRuleRequest(input) 662 return out, req.Send() 663 } 664 665 // DeleteArchiveRuleWithContext is the same as DeleteArchiveRule with the addition of 666 // the ability to pass a context and additional request options. 667 // 668 // See DeleteArchiveRule for details on how to use this API operation. 669 // 670 // The context must be non-nil and will be used for request cancellation. If 671 // the context is nil a panic will occur. In the future the SDK may create 672 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 673 // for more information on using Contexts. 674 func (c *AccessAnalyzer) DeleteArchiveRuleWithContext(ctx aws.Context, input *DeleteArchiveRuleInput, opts ...request.Option) (*DeleteArchiveRuleOutput, error) { 675 req, out := c.DeleteArchiveRuleRequest(input) 676 req.SetContext(ctx) 677 req.ApplyOptions(opts...) 678 return out, req.Send() 679 } 680 681 const opGetAccessPreview = "GetAccessPreview" 682 683 // GetAccessPreviewRequest generates a "aws/request.Request" representing the 684 // client's request for the GetAccessPreview operation. The "output" return 685 // value will be populated with the request's response once the request completes 686 // successfully. 687 // 688 // Use "Send" method on the returned Request to send the API call to the service. 689 // the "output" return value is not valid until after Send returns without error. 690 // 691 // See GetAccessPreview for more information on using the GetAccessPreview 692 // API call, and error handling. 693 // 694 // This method is useful when you want to inject custom logic or configuration 695 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 696 // 697 // 698 // // Example sending a request using the GetAccessPreviewRequest method. 699 // req, resp := client.GetAccessPreviewRequest(params) 700 // 701 // err := req.Send() 702 // if err == nil { // resp is now filled 703 // fmt.Println(resp) 704 // } 705 // 706 // See also, https://docs.aws.amazon.com/goto/WebAPI/accessanalyzer-2019-11-01/GetAccessPreview 707 func (c *AccessAnalyzer) GetAccessPreviewRequest(input *GetAccessPreviewInput) (req *request.Request, output *GetAccessPreviewOutput) { 708 op := &request.Operation{ 709 Name: opGetAccessPreview, 710 HTTPMethod: "GET", 711 HTTPPath: "/access-preview/{accessPreviewId}", 712 } 713 714 if input == nil { 715 input = &GetAccessPreviewInput{} 716 } 717 718 output = &GetAccessPreviewOutput{} 719 req = c.newRequest(op, input, output) 720 return 721 } 722 723 // GetAccessPreview API operation for Access Analyzer. 724 // 725 // Retrieves information about an access preview for the specified analyzer. 726 // 727 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 728 // with awserr.Error's Code and Message methods to get detailed information about 729 // the error. 730 // 731 // See the AWS API reference guide for Access Analyzer's 732 // API operation GetAccessPreview for usage and error information. 733 // 734 // Returned Error Types: 735 // * ResourceNotFoundException 736 // The specified resource could not be found. 737 // 738 // * ValidationException 739 // Validation exception error. 740 // 741 // * InternalServerException 742 // Internal server error. 743 // 744 // * ThrottlingException 745 // Throttling limit exceeded error. 746 // 747 // * AccessDeniedException 748 // You do not have sufficient access to perform this action. 749 // 750 // See also, https://docs.aws.amazon.com/goto/WebAPI/accessanalyzer-2019-11-01/GetAccessPreview 751 func (c *AccessAnalyzer) GetAccessPreview(input *GetAccessPreviewInput) (*GetAccessPreviewOutput, error) { 752 req, out := c.GetAccessPreviewRequest(input) 753 return out, req.Send() 754 } 755 756 // GetAccessPreviewWithContext is the same as GetAccessPreview with the addition of 757 // the ability to pass a context and additional request options. 758 // 759 // See GetAccessPreview for details on how to use this API operation. 760 // 761 // The context must be non-nil and will be used for request cancellation. If 762 // the context is nil a panic will occur. In the future the SDK may create 763 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 764 // for more information on using Contexts. 765 func (c *AccessAnalyzer) GetAccessPreviewWithContext(ctx aws.Context, input *GetAccessPreviewInput, opts ...request.Option) (*GetAccessPreviewOutput, error) { 766 req, out := c.GetAccessPreviewRequest(input) 767 req.SetContext(ctx) 768 req.ApplyOptions(opts...) 769 return out, req.Send() 770 } 771 772 const opGetAnalyzedResource = "GetAnalyzedResource" 773 774 // GetAnalyzedResourceRequest generates a "aws/request.Request" representing the 775 // client's request for the GetAnalyzedResource operation. The "output" return 776 // value will be populated with the request's response once the request completes 777 // successfully. 778 // 779 // Use "Send" method on the returned Request to send the API call to the service. 780 // the "output" return value is not valid until after Send returns without error. 781 // 782 // See GetAnalyzedResource for more information on using the GetAnalyzedResource 783 // API call, and error handling. 784 // 785 // This method is useful when you want to inject custom logic or configuration 786 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 787 // 788 // 789 // // Example sending a request using the GetAnalyzedResourceRequest method. 790 // req, resp := client.GetAnalyzedResourceRequest(params) 791 // 792 // err := req.Send() 793 // if err == nil { // resp is now filled 794 // fmt.Println(resp) 795 // } 796 // 797 // See also, https://docs.aws.amazon.com/goto/WebAPI/accessanalyzer-2019-11-01/GetAnalyzedResource 798 func (c *AccessAnalyzer) GetAnalyzedResourceRequest(input *GetAnalyzedResourceInput) (req *request.Request, output *GetAnalyzedResourceOutput) { 799 op := &request.Operation{ 800 Name: opGetAnalyzedResource, 801 HTTPMethod: "GET", 802 HTTPPath: "/analyzed-resource", 803 } 804 805 if input == nil { 806 input = &GetAnalyzedResourceInput{} 807 } 808 809 output = &GetAnalyzedResourceOutput{} 810 req = c.newRequest(op, input, output) 811 return 812 } 813 814 // GetAnalyzedResource API operation for Access Analyzer. 815 // 816 // Retrieves information about a resource that was analyzed. 817 // 818 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 819 // with awserr.Error's Code and Message methods to get detailed information about 820 // the error. 821 // 822 // See the AWS API reference guide for Access Analyzer's 823 // API operation GetAnalyzedResource for usage and error information. 824 // 825 // Returned Error Types: 826 // * ResourceNotFoundException 827 // The specified resource could not be found. 828 // 829 // * ValidationException 830 // Validation exception error. 831 // 832 // * InternalServerException 833 // Internal server error. 834 // 835 // * ThrottlingException 836 // Throttling limit exceeded error. 837 // 838 // * AccessDeniedException 839 // You do not have sufficient access to perform this action. 840 // 841 // See also, https://docs.aws.amazon.com/goto/WebAPI/accessanalyzer-2019-11-01/GetAnalyzedResource 842 func (c *AccessAnalyzer) GetAnalyzedResource(input *GetAnalyzedResourceInput) (*GetAnalyzedResourceOutput, error) { 843 req, out := c.GetAnalyzedResourceRequest(input) 844 return out, req.Send() 845 } 846 847 // GetAnalyzedResourceWithContext is the same as GetAnalyzedResource with the addition of 848 // the ability to pass a context and additional request options. 849 // 850 // See GetAnalyzedResource for details on how to use this API operation. 851 // 852 // The context must be non-nil and will be used for request cancellation. If 853 // the context is nil a panic will occur. In the future the SDK may create 854 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 855 // for more information on using Contexts. 856 func (c *AccessAnalyzer) GetAnalyzedResourceWithContext(ctx aws.Context, input *GetAnalyzedResourceInput, opts ...request.Option) (*GetAnalyzedResourceOutput, error) { 857 req, out := c.GetAnalyzedResourceRequest(input) 858 req.SetContext(ctx) 859 req.ApplyOptions(opts...) 860 return out, req.Send() 861 } 862 863 const opGetAnalyzer = "GetAnalyzer" 864 865 // GetAnalyzerRequest generates a "aws/request.Request" representing the 866 // client's request for the GetAnalyzer operation. The "output" return 867 // value will be populated with the request's response once the request completes 868 // successfully. 869 // 870 // Use "Send" method on the returned Request to send the API call to the service. 871 // the "output" return value is not valid until after Send returns without error. 872 // 873 // See GetAnalyzer for more information on using the GetAnalyzer 874 // API call, and error handling. 875 // 876 // This method is useful when you want to inject custom logic or configuration 877 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 878 // 879 // 880 // // Example sending a request using the GetAnalyzerRequest method. 881 // req, resp := client.GetAnalyzerRequest(params) 882 // 883 // err := req.Send() 884 // if err == nil { // resp is now filled 885 // fmt.Println(resp) 886 // } 887 // 888 // See also, https://docs.aws.amazon.com/goto/WebAPI/accessanalyzer-2019-11-01/GetAnalyzer 889 func (c *AccessAnalyzer) GetAnalyzerRequest(input *GetAnalyzerInput) (req *request.Request, output *GetAnalyzerOutput) { 890 op := &request.Operation{ 891 Name: opGetAnalyzer, 892 HTTPMethod: "GET", 893 HTTPPath: "/analyzer/{analyzerName}", 894 } 895 896 if input == nil { 897 input = &GetAnalyzerInput{} 898 } 899 900 output = &GetAnalyzerOutput{} 901 req = c.newRequest(op, input, output) 902 return 903 } 904 905 // GetAnalyzer API operation for Access Analyzer. 906 // 907 // Retrieves information about the specified analyzer. 908 // 909 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 910 // with awserr.Error's Code and Message methods to get detailed information about 911 // the error. 912 // 913 // See the AWS API reference guide for Access Analyzer's 914 // API operation GetAnalyzer for usage and error information. 915 // 916 // Returned Error Types: 917 // * ResourceNotFoundException 918 // The specified resource could not be found. 919 // 920 // * ValidationException 921 // Validation exception error. 922 // 923 // * InternalServerException 924 // Internal server error. 925 // 926 // * ThrottlingException 927 // Throttling limit exceeded error. 928 // 929 // * AccessDeniedException 930 // You do not have sufficient access to perform this action. 931 // 932 // See also, https://docs.aws.amazon.com/goto/WebAPI/accessanalyzer-2019-11-01/GetAnalyzer 933 func (c *AccessAnalyzer) GetAnalyzer(input *GetAnalyzerInput) (*GetAnalyzerOutput, error) { 934 req, out := c.GetAnalyzerRequest(input) 935 return out, req.Send() 936 } 937 938 // GetAnalyzerWithContext is the same as GetAnalyzer with the addition of 939 // the ability to pass a context and additional request options. 940 // 941 // See GetAnalyzer for details on how to use this API operation. 942 // 943 // The context must be non-nil and will be used for request cancellation. If 944 // the context is nil a panic will occur. In the future the SDK may create 945 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 946 // for more information on using Contexts. 947 func (c *AccessAnalyzer) GetAnalyzerWithContext(ctx aws.Context, input *GetAnalyzerInput, opts ...request.Option) (*GetAnalyzerOutput, error) { 948 req, out := c.GetAnalyzerRequest(input) 949 req.SetContext(ctx) 950 req.ApplyOptions(opts...) 951 return out, req.Send() 952 } 953 954 const opGetArchiveRule = "GetArchiveRule" 955 956 // GetArchiveRuleRequest generates a "aws/request.Request" representing the 957 // client's request for the GetArchiveRule operation. The "output" return 958 // value will be populated with the request's response once the request completes 959 // successfully. 960 // 961 // Use "Send" method on the returned Request to send the API call to the service. 962 // the "output" return value is not valid until after Send returns without error. 963 // 964 // See GetArchiveRule for more information on using the GetArchiveRule 965 // API call, and error handling. 966 // 967 // This method is useful when you want to inject custom logic or configuration 968 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 969 // 970 // 971 // // Example sending a request using the GetArchiveRuleRequest method. 972 // req, resp := client.GetArchiveRuleRequest(params) 973 // 974 // err := req.Send() 975 // if err == nil { // resp is now filled 976 // fmt.Println(resp) 977 // } 978 // 979 // See also, https://docs.aws.amazon.com/goto/WebAPI/accessanalyzer-2019-11-01/GetArchiveRule 980 func (c *AccessAnalyzer) GetArchiveRuleRequest(input *GetArchiveRuleInput) (req *request.Request, output *GetArchiveRuleOutput) { 981 op := &request.Operation{ 982 Name: opGetArchiveRule, 983 HTTPMethod: "GET", 984 HTTPPath: "/analyzer/{analyzerName}/archive-rule/{ruleName}", 985 } 986 987 if input == nil { 988 input = &GetArchiveRuleInput{} 989 } 990 991 output = &GetArchiveRuleOutput{} 992 req = c.newRequest(op, input, output) 993 return 994 } 995 996 // GetArchiveRule API operation for Access Analyzer. 997 // 998 // Retrieves information about an archive rule. 999 // 1000 // To learn about filter keys that you can use to create an archive rule, see 1001 // IAM Access Analyzer filter keys (https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-reference-filter-keys.html) 1002 // in the IAM User Guide. 1003 // 1004 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1005 // with awserr.Error's Code and Message methods to get detailed information about 1006 // the error. 1007 // 1008 // See the AWS API reference guide for Access Analyzer's 1009 // API operation GetArchiveRule for usage and error information. 1010 // 1011 // Returned Error Types: 1012 // * ResourceNotFoundException 1013 // The specified resource could not be found. 1014 // 1015 // * ValidationException 1016 // Validation exception error. 1017 // 1018 // * InternalServerException 1019 // Internal server error. 1020 // 1021 // * ThrottlingException 1022 // Throttling limit exceeded error. 1023 // 1024 // * AccessDeniedException 1025 // You do not have sufficient access to perform this action. 1026 // 1027 // See also, https://docs.aws.amazon.com/goto/WebAPI/accessanalyzer-2019-11-01/GetArchiveRule 1028 func (c *AccessAnalyzer) GetArchiveRule(input *GetArchiveRuleInput) (*GetArchiveRuleOutput, error) { 1029 req, out := c.GetArchiveRuleRequest(input) 1030 return out, req.Send() 1031 } 1032 1033 // GetArchiveRuleWithContext is the same as GetArchiveRule with the addition of 1034 // the ability to pass a context and additional request options. 1035 // 1036 // See GetArchiveRule for details on how to use this API operation. 1037 // 1038 // The context must be non-nil and will be used for request cancellation. If 1039 // the context is nil a panic will occur. In the future the SDK may create 1040 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1041 // for more information on using Contexts. 1042 func (c *AccessAnalyzer) GetArchiveRuleWithContext(ctx aws.Context, input *GetArchiveRuleInput, opts ...request.Option) (*GetArchiveRuleOutput, error) { 1043 req, out := c.GetArchiveRuleRequest(input) 1044 req.SetContext(ctx) 1045 req.ApplyOptions(opts...) 1046 return out, req.Send() 1047 } 1048 1049 const opGetFinding = "GetFinding" 1050 1051 // GetFindingRequest generates a "aws/request.Request" representing the 1052 // client's request for the GetFinding operation. The "output" return 1053 // value will be populated with the request's response once the request completes 1054 // successfully. 1055 // 1056 // Use "Send" method on the returned Request to send the API call to the service. 1057 // the "output" return value is not valid until after Send returns without error. 1058 // 1059 // See GetFinding for more information on using the GetFinding 1060 // API call, and error handling. 1061 // 1062 // This method is useful when you want to inject custom logic or configuration 1063 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 1064 // 1065 // 1066 // // Example sending a request using the GetFindingRequest method. 1067 // req, resp := client.GetFindingRequest(params) 1068 // 1069 // err := req.Send() 1070 // if err == nil { // resp is now filled 1071 // fmt.Println(resp) 1072 // } 1073 // 1074 // See also, https://docs.aws.amazon.com/goto/WebAPI/accessanalyzer-2019-11-01/GetFinding 1075 func (c *AccessAnalyzer) GetFindingRequest(input *GetFindingInput) (req *request.Request, output *GetFindingOutput) { 1076 op := &request.Operation{ 1077 Name: opGetFinding, 1078 HTTPMethod: "GET", 1079 HTTPPath: "/finding/{id}", 1080 } 1081 1082 if input == nil { 1083 input = &GetFindingInput{} 1084 } 1085 1086 output = &GetFindingOutput{} 1087 req = c.newRequest(op, input, output) 1088 return 1089 } 1090 1091 // GetFinding API operation for Access Analyzer. 1092 // 1093 // Retrieves information about the specified finding. 1094 // 1095 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1096 // with awserr.Error's Code and Message methods to get detailed information about 1097 // the error. 1098 // 1099 // See the AWS API reference guide for Access Analyzer's 1100 // API operation GetFinding for usage and error information. 1101 // 1102 // Returned Error Types: 1103 // * ResourceNotFoundException 1104 // The specified resource could not be found. 1105 // 1106 // * ValidationException 1107 // Validation exception error. 1108 // 1109 // * InternalServerException 1110 // Internal server error. 1111 // 1112 // * ThrottlingException 1113 // Throttling limit exceeded error. 1114 // 1115 // * AccessDeniedException 1116 // You do not have sufficient access to perform this action. 1117 // 1118 // See also, https://docs.aws.amazon.com/goto/WebAPI/accessanalyzer-2019-11-01/GetFinding 1119 func (c *AccessAnalyzer) GetFinding(input *GetFindingInput) (*GetFindingOutput, error) { 1120 req, out := c.GetFindingRequest(input) 1121 return out, req.Send() 1122 } 1123 1124 // GetFindingWithContext is the same as GetFinding with the addition of 1125 // the ability to pass a context and additional request options. 1126 // 1127 // See GetFinding for details on how to use this API operation. 1128 // 1129 // The context must be non-nil and will be used for request cancellation. If 1130 // the context is nil a panic will occur. In the future the SDK may create 1131 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1132 // for more information on using Contexts. 1133 func (c *AccessAnalyzer) GetFindingWithContext(ctx aws.Context, input *GetFindingInput, opts ...request.Option) (*GetFindingOutput, error) { 1134 req, out := c.GetFindingRequest(input) 1135 req.SetContext(ctx) 1136 req.ApplyOptions(opts...) 1137 return out, req.Send() 1138 } 1139 1140 const opGetGeneratedPolicy = "GetGeneratedPolicy" 1141 1142 // GetGeneratedPolicyRequest generates a "aws/request.Request" representing the 1143 // client's request for the GetGeneratedPolicy operation. The "output" return 1144 // value will be populated with the request's response once the request completes 1145 // successfully. 1146 // 1147 // Use "Send" method on the returned Request to send the API call to the service. 1148 // the "output" return value is not valid until after Send returns without error. 1149 // 1150 // See GetGeneratedPolicy for more information on using the GetGeneratedPolicy 1151 // API call, and error handling. 1152 // 1153 // This method is useful when you want to inject custom logic or configuration 1154 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 1155 // 1156 // 1157 // // Example sending a request using the GetGeneratedPolicyRequest method. 1158 // req, resp := client.GetGeneratedPolicyRequest(params) 1159 // 1160 // err := req.Send() 1161 // if err == nil { // resp is now filled 1162 // fmt.Println(resp) 1163 // } 1164 // 1165 // See also, https://docs.aws.amazon.com/goto/WebAPI/accessanalyzer-2019-11-01/GetGeneratedPolicy 1166 func (c *AccessAnalyzer) GetGeneratedPolicyRequest(input *GetGeneratedPolicyInput) (req *request.Request, output *GetGeneratedPolicyOutput) { 1167 op := &request.Operation{ 1168 Name: opGetGeneratedPolicy, 1169 HTTPMethod: "GET", 1170 HTTPPath: "/policy/generation/{jobId}", 1171 } 1172 1173 if input == nil { 1174 input = &GetGeneratedPolicyInput{} 1175 } 1176 1177 output = &GetGeneratedPolicyOutput{} 1178 req = c.newRequest(op, input, output) 1179 return 1180 } 1181 1182 // GetGeneratedPolicy API operation for Access Analyzer. 1183 // 1184 // Retrieves the policy that was generated using StartPolicyGeneration. 1185 // 1186 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1187 // with awserr.Error's Code and Message methods to get detailed information about 1188 // the error. 1189 // 1190 // See the AWS API reference guide for Access Analyzer's 1191 // API operation GetGeneratedPolicy for usage and error information. 1192 // 1193 // Returned Error Types: 1194 // * ValidationException 1195 // Validation exception error. 1196 // 1197 // * InternalServerException 1198 // Internal server error. 1199 // 1200 // * ThrottlingException 1201 // Throttling limit exceeded error. 1202 // 1203 // * AccessDeniedException 1204 // You do not have sufficient access to perform this action. 1205 // 1206 // See also, https://docs.aws.amazon.com/goto/WebAPI/accessanalyzer-2019-11-01/GetGeneratedPolicy 1207 func (c *AccessAnalyzer) GetGeneratedPolicy(input *GetGeneratedPolicyInput) (*GetGeneratedPolicyOutput, error) { 1208 req, out := c.GetGeneratedPolicyRequest(input) 1209 return out, req.Send() 1210 } 1211 1212 // GetGeneratedPolicyWithContext is the same as GetGeneratedPolicy with the addition of 1213 // the ability to pass a context and additional request options. 1214 // 1215 // See GetGeneratedPolicy for details on how to use this API operation. 1216 // 1217 // The context must be non-nil and will be used for request cancellation. If 1218 // the context is nil a panic will occur. In the future the SDK may create 1219 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1220 // for more information on using Contexts. 1221 func (c *AccessAnalyzer) GetGeneratedPolicyWithContext(ctx aws.Context, input *GetGeneratedPolicyInput, opts ...request.Option) (*GetGeneratedPolicyOutput, error) { 1222 req, out := c.GetGeneratedPolicyRequest(input) 1223 req.SetContext(ctx) 1224 req.ApplyOptions(opts...) 1225 return out, req.Send() 1226 } 1227 1228 const opListAccessPreviewFindings = "ListAccessPreviewFindings" 1229 1230 // ListAccessPreviewFindingsRequest generates a "aws/request.Request" representing the 1231 // client's request for the ListAccessPreviewFindings operation. The "output" return 1232 // value will be populated with the request's response once the request completes 1233 // successfully. 1234 // 1235 // Use "Send" method on the returned Request to send the API call to the service. 1236 // the "output" return value is not valid until after Send returns without error. 1237 // 1238 // See ListAccessPreviewFindings for more information on using the ListAccessPreviewFindings 1239 // API call, and error handling. 1240 // 1241 // This method is useful when you want to inject custom logic or configuration 1242 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 1243 // 1244 // 1245 // // Example sending a request using the ListAccessPreviewFindingsRequest method. 1246 // req, resp := client.ListAccessPreviewFindingsRequest(params) 1247 // 1248 // err := req.Send() 1249 // if err == nil { // resp is now filled 1250 // fmt.Println(resp) 1251 // } 1252 // 1253 // See also, https://docs.aws.amazon.com/goto/WebAPI/accessanalyzer-2019-11-01/ListAccessPreviewFindings 1254 func (c *AccessAnalyzer) ListAccessPreviewFindingsRequest(input *ListAccessPreviewFindingsInput) (req *request.Request, output *ListAccessPreviewFindingsOutput) { 1255 op := &request.Operation{ 1256 Name: opListAccessPreviewFindings, 1257 HTTPMethod: "POST", 1258 HTTPPath: "/access-preview/{accessPreviewId}", 1259 Paginator: &request.Paginator{ 1260 InputTokens: []string{"nextToken"}, 1261 OutputTokens: []string{"nextToken"}, 1262 LimitToken: "maxResults", 1263 TruncationToken: "", 1264 }, 1265 } 1266 1267 if input == nil { 1268 input = &ListAccessPreviewFindingsInput{} 1269 } 1270 1271 output = &ListAccessPreviewFindingsOutput{} 1272 req = c.newRequest(op, input, output) 1273 return 1274 } 1275 1276 // ListAccessPreviewFindings API operation for Access Analyzer. 1277 // 1278 // Retrieves a list of access preview findings generated by the specified access 1279 // preview. 1280 // 1281 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1282 // with awserr.Error's Code and Message methods to get detailed information about 1283 // the error. 1284 // 1285 // See the AWS API reference guide for Access Analyzer's 1286 // API operation ListAccessPreviewFindings for usage and error information. 1287 // 1288 // Returned Error Types: 1289 // * ResourceNotFoundException 1290 // The specified resource could not be found. 1291 // 1292 // * ConflictException 1293 // A conflict exception error. 1294 // 1295 // * ValidationException 1296 // Validation exception error. 1297 // 1298 // * InternalServerException 1299 // Internal server error. 1300 // 1301 // * ThrottlingException 1302 // Throttling limit exceeded error. 1303 // 1304 // * AccessDeniedException 1305 // You do not have sufficient access to perform this action. 1306 // 1307 // See also, https://docs.aws.amazon.com/goto/WebAPI/accessanalyzer-2019-11-01/ListAccessPreviewFindings 1308 func (c *AccessAnalyzer) ListAccessPreviewFindings(input *ListAccessPreviewFindingsInput) (*ListAccessPreviewFindingsOutput, error) { 1309 req, out := c.ListAccessPreviewFindingsRequest(input) 1310 return out, req.Send() 1311 } 1312 1313 // ListAccessPreviewFindingsWithContext is the same as ListAccessPreviewFindings with the addition of 1314 // the ability to pass a context and additional request options. 1315 // 1316 // See ListAccessPreviewFindings for details on how to use this API operation. 1317 // 1318 // The context must be non-nil and will be used for request cancellation. If 1319 // the context is nil a panic will occur. In the future the SDK may create 1320 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1321 // for more information on using Contexts. 1322 func (c *AccessAnalyzer) ListAccessPreviewFindingsWithContext(ctx aws.Context, input *ListAccessPreviewFindingsInput, opts ...request.Option) (*ListAccessPreviewFindingsOutput, error) { 1323 req, out := c.ListAccessPreviewFindingsRequest(input) 1324 req.SetContext(ctx) 1325 req.ApplyOptions(opts...) 1326 return out, req.Send() 1327 } 1328 1329 // ListAccessPreviewFindingsPages iterates over the pages of a ListAccessPreviewFindings operation, 1330 // calling the "fn" function with the response data for each page. To stop 1331 // iterating, return false from the fn function. 1332 // 1333 // See ListAccessPreviewFindings method for more information on how to use this operation. 1334 // 1335 // Note: This operation can generate multiple requests to a service. 1336 // 1337 // // Example iterating over at most 3 pages of a ListAccessPreviewFindings operation. 1338 // pageNum := 0 1339 // err := client.ListAccessPreviewFindingsPages(params, 1340 // func(page *accessanalyzer.ListAccessPreviewFindingsOutput, lastPage bool) bool { 1341 // pageNum++ 1342 // fmt.Println(page) 1343 // return pageNum <= 3 1344 // }) 1345 // 1346 func (c *AccessAnalyzer) ListAccessPreviewFindingsPages(input *ListAccessPreviewFindingsInput, fn func(*ListAccessPreviewFindingsOutput, bool) bool) error { 1347 return c.ListAccessPreviewFindingsPagesWithContext(aws.BackgroundContext(), input, fn) 1348 } 1349 1350 // ListAccessPreviewFindingsPagesWithContext same as ListAccessPreviewFindingsPages except 1351 // it takes a Context and allows setting request options on the pages. 1352 // 1353 // The context must be non-nil and will be used for request cancellation. If 1354 // the context is nil a panic will occur. In the future the SDK may create 1355 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1356 // for more information on using Contexts. 1357 func (c *AccessAnalyzer) ListAccessPreviewFindingsPagesWithContext(ctx aws.Context, input *ListAccessPreviewFindingsInput, fn func(*ListAccessPreviewFindingsOutput, bool) bool, opts ...request.Option) error { 1358 p := request.Pagination{ 1359 NewRequest: func() (*request.Request, error) { 1360 var inCpy *ListAccessPreviewFindingsInput 1361 if input != nil { 1362 tmp := *input 1363 inCpy = &tmp 1364 } 1365 req, _ := c.ListAccessPreviewFindingsRequest(inCpy) 1366 req.SetContext(ctx) 1367 req.ApplyOptions(opts...) 1368 return req, nil 1369 }, 1370 } 1371 1372 for p.Next() { 1373 if !fn(p.Page().(*ListAccessPreviewFindingsOutput), !p.HasNextPage()) { 1374 break 1375 } 1376 } 1377 1378 return p.Err() 1379 } 1380 1381 const opListAccessPreviews = "ListAccessPreviews" 1382 1383 // ListAccessPreviewsRequest generates a "aws/request.Request" representing the 1384 // client's request for the ListAccessPreviews operation. The "output" return 1385 // value will be populated with the request's response once the request completes 1386 // successfully. 1387 // 1388 // Use "Send" method on the returned Request to send the API call to the service. 1389 // the "output" return value is not valid until after Send returns without error. 1390 // 1391 // See ListAccessPreviews for more information on using the ListAccessPreviews 1392 // API call, and error handling. 1393 // 1394 // This method is useful when you want to inject custom logic or configuration 1395 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 1396 // 1397 // 1398 // // Example sending a request using the ListAccessPreviewsRequest method. 1399 // req, resp := client.ListAccessPreviewsRequest(params) 1400 // 1401 // err := req.Send() 1402 // if err == nil { // resp is now filled 1403 // fmt.Println(resp) 1404 // } 1405 // 1406 // See also, https://docs.aws.amazon.com/goto/WebAPI/accessanalyzer-2019-11-01/ListAccessPreviews 1407 func (c *AccessAnalyzer) ListAccessPreviewsRequest(input *ListAccessPreviewsInput) (req *request.Request, output *ListAccessPreviewsOutput) { 1408 op := &request.Operation{ 1409 Name: opListAccessPreviews, 1410 HTTPMethod: "GET", 1411 HTTPPath: "/access-preview", 1412 Paginator: &request.Paginator{ 1413 InputTokens: []string{"nextToken"}, 1414 OutputTokens: []string{"nextToken"}, 1415 LimitToken: "maxResults", 1416 TruncationToken: "", 1417 }, 1418 } 1419 1420 if input == nil { 1421 input = &ListAccessPreviewsInput{} 1422 } 1423 1424 output = &ListAccessPreviewsOutput{} 1425 req = c.newRequest(op, input, output) 1426 return 1427 } 1428 1429 // ListAccessPreviews API operation for Access Analyzer. 1430 // 1431 // Retrieves a list of access previews for the specified analyzer. 1432 // 1433 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1434 // with awserr.Error's Code and Message methods to get detailed information about 1435 // the error. 1436 // 1437 // See the AWS API reference guide for Access Analyzer's 1438 // API operation ListAccessPreviews for usage and error information. 1439 // 1440 // Returned Error Types: 1441 // * ResourceNotFoundException 1442 // The specified resource could not be found. 1443 // 1444 // * ValidationException 1445 // Validation exception error. 1446 // 1447 // * InternalServerException 1448 // Internal server error. 1449 // 1450 // * ThrottlingException 1451 // Throttling limit exceeded error. 1452 // 1453 // * AccessDeniedException 1454 // You do not have sufficient access to perform this action. 1455 // 1456 // See also, https://docs.aws.amazon.com/goto/WebAPI/accessanalyzer-2019-11-01/ListAccessPreviews 1457 func (c *AccessAnalyzer) ListAccessPreviews(input *ListAccessPreviewsInput) (*ListAccessPreviewsOutput, error) { 1458 req, out := c.ListAccessPreviewsRequest(input) 1459 return out, req.Send() 1460 } 1461 1462 // ListAccessPreviewsWithContext is the same as ListAccessPreviews with the addition of 1463 // the ability to pass a context and additional request options. 1464 // 1465 // See ListAccessPreviews for details on how to use this API operation. 1466 // 1467 // The context must be non-nil and will be used for request cancellation. If 1468 // the context is nil a panic will occur. In the future the SDK may create 1469 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1470 // for more information on using Contexts. 1471 func (c *AccessAnalyzer) ListAccessPreviewsWithContext(ctx aws.Context, input *ListAccessPreviewsInput, opts ...request.Option) (*ListAccessPreviewsOutput, error) { 1472 req, out := c.ListAccessPreviewsRequest(input) 1473 req.SetContext(ctx) 1474 req.ApplyOptions(opts...) 1475 return out, req.Send() 1476 } 1477 1478 // ListAccessPreviewsPages iterates over the pages of a ListAccessPreviews operation, 1479 // calling the "fn" function with the response data for each page. To stop 1480 // iterating, return false from the fn function. 1481 // 1482 // See ListAccessPreviews method for more information on how to use this operation. 1483 // 1484 // Note: This operation can generate multiple requests to a service. 1485 // 1486 // // Example iterating over at most 3 pages of a ListAccessPreviews operation. 1487 // pageNum := 0 1488 // err := client.ListAccessPreviewsPages(params, 1489 // func(page *accessanalyzer.ListAccessPreviewsOutput, lastPage bool) bool { 1490 // pageNum++ 1491 // fmt.Println(page) 1492 // return pageNum <= 3 1493 // }) 1494 // 1495 func (c *AccessAnalyzer) ListAccessPreviewsPages(input *ListAccessPreviewsInput, fn func(*ListAccessPreviewsOutput, bool) bool) error { 1496 return c.ListAccessPreviewsPagesWithContext(aws.BackgroundContext(), input, fn) 1497 } 1498 1499 // ListAccessPreviewsPagesWithContext same as ListAccessPreviewsPages except 1500 // it takes a Context and allows setting request options on the pages. 1501 // 1502 // The context must be non-nil and will be used for request cancellation. If 1503 // the context is nil a panic will occur. In the future the SDK may create 1504 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1505 // for more information on using Contexts. 1506 func (c *AccessAnalyzer) ListAccessPreviewsPagesWithContext(ctx aws.Context, input *ListAccessPreviewsInput, fn func(*ListAccessPreviewsOutput, bool) bool, opts ...request.Option) error { 1507 p := request.Pagination{ 1508 NewRequest: func() (*request.Request, error) { 1509 var inCpy *ListAccessPreviewsInput 1510 if input != nil { 1511 tmp := *input 1512 inCpy = &tmp 1513 } 1514 req, _ := c.ListAccessPreviewsRequest(inCpy) 1515 req.SetContext(ctx) 1516 req.ApplyOptions(opts...) 1517 return req, nil 1518 }, 1519 } 1520 1521 for p.Next() { 1522 if !fn(p.Page().(*ListAccessPreviewsOutput), !p.HasNextPage()) { 1523 break 1524 } 1525 } 1526 1527 return p.Err() 1528 } 1529 1530 const opListAnalyzedResources = "ListAnalyzedResources" 1531 1532 // ListAnalyzedResourcesRequest generates a "aws/request.Request" representing the 1533 // client's request for the ListAnalyzedResources operation. The "output" return 1534 // value will be populated with the request's response once the request completes 1535 // successfully. 1536 // 1537 // Use "Send" method on the returned Request to send the API call to the service. 1538 // the "output" return value is not valid until after Send returns without error. 1539 // 1540 // See ListAnalyzedResources for more information on using the ListAnalyzedResources 1541 // API call, and error handling. 1542 // 1543 // This method is useful when you want to inject custom logic or configuration 1544 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 1545 // 1546 // 1547 // // Example sending a request using the ListAnalyzedResourcesRequest method. 1548 // req, resp := client.ListAnalyzedResourcesRequest(params) 1549 // 1550 // err := req.Send() 1551 // if err == nil { // resp is now filled 1552 // fmt.Println(resp) 1553 // } 1554 // 1555 // See also, https://docs.aws.amazon.com/goto/WebAPI/accessanalyzer-2019-11-01/ListAnalyzedResources 1556 func (c *AccessAnalyzer) ListAnalyzedResourcesRequest(input *ListAnalyzedResourcesInput) (req *request.Request, output *ListAnalyzedResourcesOutput) { 1557 op := &request.Operation{ 1558 Name: opListAnalyzedResources, 1559 HTTPMethod: "POST", 1560 HTTPPath: "/analyzed-resource", 1561 Paginator: &request.Paginator{ 1562 InputTokens: []string{"nextToken"}, 1563 OutputTokens: []string{"nextToken"}, 1564 LimitToken: "maxResults", 1565 TruncationToken: "", 1566 }, 1567 } 1568 1569 if input == nil { 1570 input = &ListAnalyzedResourcesInput{} 1571 } 1572 1573 output = &ListAnalyzedResourcesOutput{} 1574 req = c.newRequest(op, input, output) 1575 return 1576 } 1577 1578 // ListAnalyzedResources API operation for Access Analyzer. 1579 // 1580 // Retrieves a list of resources of the specified type that have been analyzed 1581 // by the specified analyzer.. 1582 // 1583 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1584 // with awserr.Error's Code and Message methods to get detailed information about 1585 // the error. 1586 // 1587 // See the AWS API reference guide for Access Analyzer's 1588 // API operation ListAnalyzedResources for usage and error information. 1589 // 1590 // Returned Error Types: 1591 // * ResourceNotFoundException 1592 // The specified resource could not be found. 1593 // 1594 // * ValidationException 1595 // Validation exception error. 1596 // 1597 // * InternalServerException 1598 // Internal server error. 1599 // 1600 // * ThrottlingException 1601 // Throttling limit exceeded error. 1602 // 1603 // * AccessDeniedException 1604 // You do not have sufficient access to perform this action. 1605 // 1606 // See also, https://docs.aws.amazon.com/goto/WebAPI/accessanalyzer-2019-11-01/ListAnalyzedResources 1607 func (c *AccessAnalyzer) ListAnalyzedResources(input *ListAnalyzedResourcesInput) (*ListAnalyzedResourcesOutput, error) { 1608 req, out := c.ListAnalyzedResourcesRequest(input) 1609 return out, req.Send() 1610 } 1611 1612 // ListAnalyzedResourcesWithContext is the same as ListAnalyzedResources with the addition of 1613 // the ability to pass a context and additional request options. 1614 // 1615 // See ListAnalyzedResources for details on how to use this API operation. 1616 // 1617 // The context must be non-nil and will be used for request cancellation. If 1618 // the context is nil a panic will occur. In the future the SDK may create 1619 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1620 // for more information on using Contexts. 1621 func (c *AccessAnalyzer) ListAnalyzedResourcesWithContext(ctx aws.Context, input *ListAnalyzedResourcesInput, opts ...request.Option) (*ListAnalyzedResourcesOutput, error) { 1622 req, out := c.ListAnalyzedResourcesRequest(input) 1623 req.SetContext(ctx) 1624 req.ApplyOptions(opts...) 1625 return out, req.Send() 1626 } 1627 1628 // ListAnalyzedResourcesPages iterates over the pages of a ListAnalyzedResources operation, 1629 // calling the "fn" function with the response data for each page. To stop 1630 // iterating, return false from the fn function. 1631 // 1632 // See ListAnalyzedResources method for more information on how to use this operation. 1633 // 1634 // Note: This operation can generate multiple requests to a service. 1635 // 1636 // // Example iterating over at most 3 pages of a ListAnalyzedResources operation. 1637 // pageNum := 0 1638 // err := client.ListAnalyzedResourcesPages(params, 1639 // func(page *accessanalyzer.ListAnalyzedResourcesOutput, lastPage bool) bool { 1640 // pageNum++ 1641 // fmt.Println(page) 1642 // return pageNum <= 3 1643 // }) 1644 // 1645 func (c *AccessAnalyzer) ListAnalyzedResourcesPages(input *ListAnalyzedResourcesInput, fn func(*ListAnalyzedResourcesOutput, bool) bool) error { 1646 return c.ListAnalyzedResourcesPagesWithContext(aws.BackgroundContext(), input, fn) 1647 } 1648 1649 // ListAnalyzedResourcesPagesWithContext same as ListAnalyzedResourcesPages except 1650 // it takes a Context and allows setting request options on the pages. 1651 // 1652 // The context must be non-nil and will be used for request cancellation. If 1653 // the context is nil a panic will occur. In the future the SDK may create 1654 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1655 // for more information on using Contexts. 1656 func (c *AccessAnalyzer) ListAnalyzedResourcesPagesWithContext(ctx aws.Context, input *ListAnalyzedResourcesInput, fn func(*ListAnalyzedResourcesOutput, bool) bool, opts ...request.Option) error { 1657 p := request.Pagination{ 1658 NewRequest: func() (*request.Request, error) { 1659 var inCpy *ListAnalyzedResourcesInput 1660 if input != nil { 1661 tmp := *input 1662 inCpy = &tmp 1663 } 1664 req, _ := c.ListAnalyzedResourcesRequest(inCpy) 1665 req.SetContext(ctx) 1666 req.ApplyOptions(opts...) 1667 return req, nil 1668 }, 1669 } 1670 1671 for p.Next() { 1672 if !fn(p.Page().(*ListAnalyzedResourcesOutput), !p.HasNextPage()) { 1673 break 1674 } 1675 } 1676 1677 return p.Err() 1678 } 1679 1680 const opListAnalyzers = "ListAnalyzers" 1681 1682 // ListAnalyzersRequest generates a "aws/request.Request" representing the 1683 // client's request for the ListAnalyzers operation. The "output" return 1684 // value will be populated with the request's response once the request completes 1685 // successfully. 1686 // 1687 // Use "Send" method on the returned Request to send the API call to the service. 1688 // the "output" return value is not valid until after Send returns without error. 1689 // 1690 // See ListAnalyzers for more information on using the ListAnalyzers 1691 // API call, and error handling. 1692 // 1693 // This method is useful when you want to inject custom logic or configuration 1694 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 1695 // 1696 // 1697 // // Example sending a request using the ListAnalyzersRequest method. 1698 // req, resp := client.ListAnalyzersRequest(params) 1699 // 1700 // err := req.Send() 1701 // if err == nil { // resp is now filled 1702 // fmt.Println(resp) 1703 // } 1704 // 1705 // See also, https://docs.aws.amazon.com/goto/WebAPI/accessanalyzer-2019-11-01/ListAnalyzers 1706 func (c *AccessAnalyzer) ListAnalyzersRequest(input *ListAnalyzersInput) (req *request.Request, output *ListAnalyzersOutput) { 1707 op := &request.Operation{ 1708 Name: opListAnalyzers, 1709 HTTPMethod: "GET", 1710 HTTPPath: "/analyzer", 1711 Paginator: &request.Paginator{ 1712 InputTokens: []string{"nextToken"}, 1713 OutputTokens: []string{"nextToken"}, 1714 LimitToken: "maxResults", 1715 TruncationToken: "", 1716 }, 1717 } 1718 1719 if input == nil { 1720 input = &ListAnalyzersInput{} 1721 } 1722 1723 output = &ListAnalyzersOutput{} 1724 req = c.newRequest(op, input, output) 1725 return 1726 } 1727 1728 // ListAnalyzers API operation for Access Analyzer. 1729 // 1730 // Retrieves a list of analyzers. 1731 // 1732 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1733 // with awserr.Error's Code and Message methods to get detailed information about 1734 // the error. 1735 // 1736 // See the AWS API reference guide for Access Analyzer's 1737 // API operation ListAnalyzers for usage and error information. 1738 // 1739 // Returned Error Types: 1740 // * ValidationException 1741 // Validation exception error. 1742 // 1743 // * InternalServerException 1744 // Internal server error. 1745 // 1746 // * ThrottlingException 1747 // Throttling limit exceeded error. 1748 // 1749 // * AccessDeniedException 1750 // You do not have sufficient access to perform this action. 1751 // 1752 // See also, https://docs.aws.amazon.com/goto/WebAPI/accessanalyzer-2019-11-01/ListAnalyzers 1753 func (c *AccessAnalyzer) ListAnalyzers(input *ListAnalyzersInput) (*ListAnalyzersOutput, error) { 1754 req, out := c.ListAnalyzersRequest(input) 1755 return out, req.Send() 1756 } 1757 1758 // ListAnalyzersWithContext is the same as ListAnalyzers with the addition of 1759 // the ability to pass a context and additional request options. 1760 // 1761 // See ListAnalyzers for details on how to use this API operation. 1762 // 1763 // The context must be non-nil and will be used for request cancellation. If 1764 // the context is nil a panic will occur. In the future the SDK may create 1765 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1766 // for more information on using Contexts. 1767 func (c *AccessAnalyzer) ListAnalyzersWithContext(ctx aws.Context, input *ListAnalyzersInput, opts ...request.Option) (*ListAnalyzersOutput, error) { 1768 req, out := c.ListAnalyzersRequest(input) 1769 req.SetContext(ctx) 1770 req.ApplyOptions(opts...) 1771 return out, req.Send() 1772 } 1773 1774 // ListAnalyzersPages iterates over the pages of a ListAnalyzers operation, 1775 // calling the "fn" function with the response data for each page. To stop 1776 // iterating, return false from the fn function. 1777 // 1778 // See ListAnalyzers method for more information on how to use this operation. 1779 // 1780 // Note: This operation can generate multiple requests to a service. 1781 // 1782 // // Example iterating over at most 3 pages of a ListAnalyzers operation. 1783 // pageNum := 0 1784 // err := client.ListAnalyzersPages(params, 1785 // func(page *accessanalyzer.ListAnalyzersOutput, lastPage bool) bool { 1786 // pageNum++ 1787 // fmt.Println(page) 1788 // return pageNum <= 3 1789 // }) 1790 // 1791 func (c *AccessAnalyzer) ListAnalyzersPages(input *ListAnalyzersInput, fn func(*ListAnalyzersOutput, bool) bool) error { 1792 return c.ListAnalyzersPagesWithContext(aws.BackgroundContext(), input, fn) 1793 } 1794 1795 // ListAnalyzersPagesWithContext same as ListAnalyzersPages except 1796 // it takes a Context and allows setting request options on the pages. 1797 // 1798 // The context must be non-nil and will be used for request cancellation. If 1799 // the context is nil a panic will occur. In the future the SDK may create 1800 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1801 // for more information on using Contexts. 1802 func (c *AccessAnalyzer) ListAnalyzersPagesWithContext(ctx aws.Context, input *ListAnalyzersInput, fn func(*ListAnalyzersOutput, bool) bool, opts ...request.Option) error { 1803 p := request.Pagination{ 1804 NewRequest: func() (*request.Request, error) { 1805 var inCpy *ListAnalyzersInput 1806 if input != nil { 1807 tmp := *input 1808 inCpy = &tmp 1809 } 1810 req, _ := c.ListAnalyzersRequest(inCpy) 1811 req.SetContext(ctx) 1812 req.ApplyOptions(opts...) 1813 return req, nil 1814 }, 1815 } 1816 1817 for p.Next() { 1818 if !fn(p.Page().(*ListAnalyzersOutput), !p.HasNextPage()) { 1819 break 1820 } 1821 } 1822 1823 return p.Err() 1824 } 1825 1826 const opListArchiveRules = "ListArchiveRules" 1827 1828 // ListArchiveRulesRequest generates a "aws/request.Request" representing the 1829 // client's request for the ListArchiveRules operation. The "output" return 1830 // value will be populated with the request's response once the request completes 1831 // successfully. 1832 // 1833 // Use "Send" method on the returned Request to send the API call to the service. 1834 // the "output" return value is not valid until after Send returns without error. 1835 // 1836 // See ListArchiveRules for more information on using the ListArchiveRules 1837 // API call, and error handling. 1838 // 1839 // This method is useful when you want to inject custom logic or configuration 1840 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 1841 // 1842 // 1843 // // Example sending a request using the ListArchiveRulesRequest method. 1844 // req, resp := client.ListArchiveRulesRequest(params) 1845 // 1846 // err := req.Send() 1847 // if err == nil { // resp is now filled 1848 // fmt.Println(resp) 1849 // } 1850 // 1851 // See also, https://docs.aws.amazon.com/goto/WebAPI/accessanalyzer-2019-11-01/ListArchiveRules 1852 func (c *AccessAnalyzer) ListArchiveRulesRequest(input *ListArchiveRulesInput) (req *request.Request, output *ListArchiveRulesOutput) { 1853 op := &request.Operation{ 1854 Name: opListArchiveRules, 1855 HTTPMethod: "GET", 1856 HTTPPath: "/analyzer/{analyzerName}/archive-rule", 1857 Paginator: &request.Paginator{ 1858 InputTokens: []string{"nextToken"}, 1859 OutputTokens: []string{"nextToken"}, 1860 LimitToken: "maxResults", 1861 TruncationToken: "", 1862 }, 1863 } 1864 1865 if input == nil { 1866 input = &ListArchiveRulesInput{} 1867 } 1868 1869 output = &ListArchiveRulesOutput{} 1870 req = c.newRequest(op, input, output) 1871 return 1872 } 1873 1874 // ListArchiveRules API operation for Access Analyzer. 1875 // 1876 // Retrieves a list of archive rules created for the specified analyzer. 1877 // 1878 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1879 // with awserr.Error's Code and Message methods to get detailed information about 1880 // the error. 1881 // 1882 // See the AWS API reference guide for Access Analyzer's 1883 // API operation ListArchiveRules for usage and error information. 1884 // 1885 // Returned Error Types: 1886 // * ValidationException 1887 // Validation exception error. 1888 // 1889 // * InternalServerException 1890 // Internal server error. 1891 // 1892 // * ThrottlingException 1893 // Throttling limit exceeded error. 1894 // 1895 // * AccessDeniedException 1896 // You do not have sufficient access to perform this action. 1897 // 1898 // See also, https://docs.aws.amazon.com/goto/WebAPI/accessanalyzer-2019-11-01/ListArchiveRules 1899 func (c *AccessAnalyzer) ListArchiveRules(input *ListArchiveRulesInput) (*ListArchiveRulesOutput, error) { 1900 req, out := c.ListArchiveRulesRequest(input) 1901 return out, req.Send() 1902 } 1903 1904 // ListArchiveRulesWithContext is the same as ListArchiveRules with the addition of 1905 // the ability to pass a context and additional request options. 1906 // 1907 // See ListArchiveRules for details on how to use this API operation. 1908 // 1909 // The context must be non-nil and will be used for request cancellation. If 1910 // the context is nil a panic will occur. In the future the SDK may create 1911 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1912 // for more information on using Contexts. 1913 func (c *AccessAnalyzer) ListArchiveRulesWithContext(ctx aws.Context, input *ListArchiveRulesInput, opts ...request.Option) (*ListArchiveRulesOutput, error) { 1914 req, out := c.ListArchiveRulesRequest(input) 1915 req.SetContext(ctx) 1916 req.ApplyOptions(opts...) 1917 return out, req.Send() 1918 } 1919 1920 // ListArchiveRulesPages iterates over the pages of a ListArchiveRules operation, 1921 // calling the "fn" function with the response data for each page. To stop 1922 // iterating, return false from the fn function. 1923 // 1924 // See ListArchiveRules method for more information on how to use this operation. 1925 // 1926 // Note: This operation can generate multiple requests to a service. 1927 // 1928 // // Example iterating over at most 3 pages of a ListArchiveRules operation. 1929 // pageNum := 0 1930 // err := client.ListArchiveRulesPages(params, 1931 // func(page *accessanalyzer.ListArchiveRulesOutput, lastPage bool) bool { 1932 // pageNum++ 1933 // fmt.Println(page) 1934 // return pageNum <= 3 1935 // }) 1936 // 1937 func (c *AccessAnalyzer) ListArchiveRulesPages(input *ListArchiveRulesInput, fn func(*ListArchiveRulesOutput, bool) bool) error { 1938 return c.ListArchiveRulesPagesWithContext(aws.BackgroundContext(), input, fn) 1939 } 1940 1941 // ListArchiveRulesPagesWithContext same as ListArchiveRulesPages except 1942 // it takes a Context and allows setting request options on the pages. 1943 // 1944 // The context must be non-nil and will be used for request cancellation. If 1945 // the context is nil a panic will occur. In the future the SDK may create 1946 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1947 // for more information on using Contexts. 1948 func (c *AccessAnalyzer) ListArchiveRulesPagesWithContext(ctx aws.Context, input *ListArchiveRulesInput, fn func(*ListArchiveRulesOutput, bool) bool, opts ...request.Option) error { 1949 p := request.Pagination{ 1950 NewRequest: func() (*request.Request, error) { 1951 var inCpy *ListArchiveRulesInput 1952 if input != nil { 1953 tmp := *input 1954 inCpy = &tmp 1955 } 1956 req, _ := c.ListArchiveRulesRequest(inCpy) 1957 req.SetContext(ctx) 1958 req.ApplyOptions(opts...) 1959 return req, nil 1960 }, 1961 } 1962 1963 for p.Next() { 1964 if !fn(p.Page().(*ListArchiveRulesOutput), !p.HasNextPage()) { 1965 break 1966 } 1967 } 1968 1969 return p.Err() 1970 } 1971 1972 const opListFindings = "ListFindings" 1973 1974 // ListFindingsRequest generates a "aws/request.Request" representing the 1975 // client's request for the ListFindings operation. The "output" return 1976 // value will be populated with the request's response once the request completes 1977 // successfully. 1978 // 1979 // Use "Send" method on the returned Request to send the API call to the service. 1980 // the "output" return value is not valid until after Send returns without error. 1981 // 1982 // See ListFindings for more information on using the ListFindings 1983 // API call, and error handling. 1984 // 1985 // This method is useful when you want to inject custom logic or configuration 1986 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 1987 // 1988 // 1989 // // Example sending a request using the ListFindingsRequest method. 1990 // req, resp := client.ListFindingsRequest(params) 1991 // 1992 // err := req.Send() 1993 // if err == nil { // resp is now filled 1994 // fmt.Println(resp) 1995 // } 1996 // 1997 // See also, https://docs.aws.amazon.com/goto/WebAPI/accessanalyzer-2019-11-01/ListFindings 1998 func (c *AccessAnalyzer) ListFindingsRequest(input *ListFindingsInput) (req *request.Request, output *ListFindingsOutput) { 1999 op := &request.Operation{ 2000 Name: opListFindings, 2001 HTTPMethod: "POST", 2002 HTTPPath: "/finding", 2003 Paginator: &request.Paginator{ 2004 InputTokens: []string{"nextToken"}, 2005 OutputTokens: []string{"nextToken"}, 2006 LimitToken: "maxResults", 2007 TruncationToken: "", 2008 }, 2009 } 2010 2011 if input == nil { 2012 input = &ListFindingsInput{} 2013 } 2014 2015 output = &ListFindingsOutput{} 2016 req = c.newRequest(op, input, output) 2017 return 2018 } 2019 2020 // ListFindings API operation for Access Analyzer. 2021 // 2022 // Retrieves a list of findings generated by the specified analyzer. 2023 // 2024 // To learn about filter keys that you can use to retrieve a list of findings, 2025 // see IAM Access Analyzer filter keys (https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-reference-filter-keys.html) 2026 // in the IAM User Guide. 2027 // 2028 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2029 // with awserr.Error's Code and Message methods to get detailed information about 2030 // the error. 2031 // 2032 // See the AWS API reference guide for Access Analyzer's 2033 // API operation ListFindings for usage and error information. 2034 // 2035 // Returned Error Types: 2036 // * ResourceNotFoundException 2037 // The specified resource could not be found. 2038 // 2039 // * ValidationException 2040 // Validation exception error. 2041 // 2042 // * InternalServerException 2043 // Internal server error. 2044 // 2045 // * ThrottlingException 2046 // Throttling limit exceeded error. 2047 // 2048 // * AccessDeniedException 2049 // You do not have sufficient access to perform this action. 2050 // 2051 // See also, https://docs.aws.amazon.com/goto/WebAPI/accessanalyzer-2019-11-01/ListFindings 2052 func (c *AccessAnalyzer) ListFindings(input *ListFindingsInput) (*ListFindingsOutput, error) { 2053 req, out := c.ListFindingsRequest(input) 2054 return out, req.Send() 2055 } 2056 2057 // ListFindingsWithContext is the same as ListFindings with the addition of 2058 // the ability to pass a context and additional request options. 2059 // 2060 // See ListFindings for details on how to use this API operation. 2061 // 2062 // The context must be non-nil and will be used for request cancellation. If 2063 // the context is nil a panic will occur. In the future the SDK may create 2064 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2065 // for more information on using Contexts. 2066 func (c *AccessAnalyzer) ListFindingsWithContext(ctx aws.Context, input *ListFindingsInput, opts ...request.Option) (*ListFindingsOutput, error) { 2067 req, out := c.ListFindingsRequest(input) 2068 req.SetContext(ctx) 2069 req.ApplyOptions(opts...) 2070 return out, req.Send() 2071 } 2072 2073 // ListFindingsPages iterates over the pages of a ListFindings operation, 2074 // calling the "fn" function with the response data for each page. To stop 2075 // iterating, return false from the fn function. 2076 // 2077 // See ListFindings method for more information on how to use this operation. 2078 // 2079 // Note: This operation can generate multiple requests to a service. 2080 // 2081 // // Example iterating over at most 3 pages of a ListFindings operation. 2082 // pageNum := 0 2083 // err := client.ListFindingsPages(params, 2084 // func(page *accessanalyzer.ListFindingsOutput, lastPage bool) bool { 2085 // pageNum++ 2086 // fmt.Println(page) 2087 // return pageNum <= 3 2088 // }) 2089 // 2090 func (c *AccessAnalyzer) ListFindingsPages(input *ListFindingsInput, fn func(*ListFindingsOutput, bool) bool) error { 2091 return c.ListFindingsPagesWithContext(aws.BackgroundContext(), input, fn) 2092 } 2093 2094 // ListFindingsPagesWithContext same as ListFindingsPages except 2095 // it takes a Context and allows setting request options on the pages. 2096 // 2097 // The context must be non-nil and will be used for request cancellation. If 2098 // the context is nil a panic will occur. In the future the SDK may create 2099 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2100 // for more information on using Contexts. 2101 func (c *AccessAnalyzer) ListFindingsPagesWithContext(ctx aws.Context, input *ListFindingsInput, fn func(*ListFindingsOutput, bool) bool, opts ...request.Option) error { 2102 p := request.Pagination{ 2103 NewRequest: func() (*request.Request, error) { 2104 var inCpy *ListFindingsInput 2105 if input != nil { 2106 tmp := *input 2107 inCpy = &tmp 2108 } 2109 req, _ := c.ListFindingsRequest(inCpy) 2110 req.SetContext(ctx) 2111 req.ApplyOptions(opts...) 2112 return req, nil 2113 }, 2114 } 2115 2116 for p.Next() { 2117 if !fn(p.Page().(*ListFindingsOutput), !p.HasNextPage()) { 2118 break 2119 } 2120 } 2121 2122 return p.Err() 2123 } 2124 2125 const opListPolicyGenerations = "ListPolicyGenerations" 2126 2127 // ListPolicyGenerationsRequest generates a "aws/request.Request" representing the 2128 // client's request for the ListPolicyGenerations operation. The "output" return 2129 // value will be populated with the request's response once the request completes 2130 // successfully. 2131 // 2132 // Use "Send" method on the returned Request to send the API call to the service. 2133 // the "output" return value is not valid until after Send returns without error. 2134 // 2135 // See ListPolicyGenerations for more information on using the ListPolicyGenerations 2136 // API call, and error handling. 2137 // 2138 // This method is useful when you want to inject custom logic or configuration 2139 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 2140 // 2141 // 2142 // // Example sending a request using the ListPolicyGenerationsRequest method. 2143 // req, resp := client.ListPolicyGenerationsRequest(params) 2144 // 2145 // err := req.Send() 2146 // if err == nil { // resp is now filled 2147 // fmt.Println(resp) 2148 // } 2149 // 2150 // See also, https://docs.aws.amazon.com/goto/WebAPI/accessanalyzer-2019-11-01/ListPolicyGenerations 2151 func (c *AccessAnalyzer) ListPolicyGenerationsRequest(input *ListPolicyGenerationsInput) (req *request.Request, output *ListPolicyGenerationsOutput) { 2152 op := &request.Operation{ 2153 Name: opListPolicyGenerations, 2154 HTTPMethod: "GET", 2155 HTTPPath: "/policy/generation", 2156 Paginator: &request.Paginator{ 2157 InputTokens: []string{"nextToken"}, 2158 OutputTokens: []string{"nextToken"}, 2159 LimitToken: "maxResults", 2160 TruncationToken: "", 2161 }, 2162 } 2163 2164 if input == nil { 2165 input = &ListPolicyGenerationsInput{} 2166 } 2167 2168 output = &ListPolicyGenerationsOutput{} 2169 req = c.newRequest(op, input, output) 2170 return 2171 } 2172 2173 // ListPolicyGenerations API operation for Access Analyzer. 2174 // 2175 // Lists all of the policy generations requested in the last seven days. 2176 // 2177 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2178 // with awserr.Error's Code and Message methods to get detailed information about 2179 // the error. 2180 // 2181 // See the AWS API reference guide for Access Analyzer's 2182 // API operation ListPolicyGenerations for usage and error information. 2183 // 2184 // Returned Error Types: 2185 // * ValidationException 2186 // Validation exception error. 2187 // 2188 // * InternalServerException 2189 // Internal server error. 2190 // 2191 // * ThrottlingException 2192 // Throttling limit exceeded error. 2193 // 2194 // * AccessDeniedException 2195 // You do not have sufficient access to perform this action. 2196 // 2197 // See also, https://docs.aws.amazon.com/goto/WebAPI/accessanalyzer-2019-11-01/ListPolicyGenerations 2198 func (c *AccessAnalyzer) ListPolicyGenerations(input *ListPolicyGenerationsInput) (*ListPolicyGenerationsOutput, error) { 2199 req, out := c.ListPolicyGenerationsRequest(input) 2200 return out, req.Send() 2201 } 2202 2203 // ListPolicyGenerationsWithContext is the same as ListPolicyGenerations with the addition of 2204 // the ability to pass a context and additional request options. 2205 // 2206 // See ListPolicyGenerations for details on how to use this API operation. 2207 // 2208 // The context must be non-nil and will be used for request cancellation. If 2209 // the context is nil a panic will occur. In the future the SDK may create 2210 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2211 // for more information on using Contexts. 2212 func (c *AccessAnalyzer) ListPolicyGenerationsWithContext(ctx aws.Context, input *ListPolicyGenerationsInput, opts ...request.Option) (*ListPolicyGenerationsOutput, error) { 2213 req, out := c.ListPolicyGenerationsRequest(input) 2214 req.SetContext(ctx) 2215 req.ApplyOptions(opts...) 2216 return out, req.Send() 2217 } 2218 2219 // ListPolicyGenerationsPages iterates over the pages of a ListPolicyGenerations operation, 2220 // calling the "fn" function with the response data for each page. To stop 2221 // iterating, return false from the fn function. 2222 // 2223 // See ListPolicyGenerations method for more information on how to use this operation. 2224 // 2225 // Note: This operation can generate multiple requests to a service. 2226 // 2227 // // Example iterating over at most 3 pages of a ListPolicyGenerations operation. 2228 // pageNum := 0 2229 // err := client.ListPolicyGenerationsPages(params, 2230 // func(page *accessanalyzer.ListPolicyGenerationsOutput, lastPage bool) bool { 2231 // pageNum++ 2232 // fmt.Println(page) 2233 // return pageNum <= 3 2234 // }) 2235 // 2236 func (c *AccessAnalyzer) ListPolicyGenerationsPages(input *ListPolicyGenerationsInput, fn func(*ListPolicyGenerationsOutput, bool) bool) error { 2237 return c.ListPolicyGenerationsPagesWithContext(aws.BackgroundContext(), input, fn) 2238 } 2239 2240 // ListPolicyGenerationsPagesWithContext same as ListPolicyGenerationsPages except 2241 // it takes a Context and allows setting request options on the pages. 2242 // 2243 // The context must be non-nil and will be used for request cancellation. If 2244 // the context is nil a panic will occur. In the future the SDK may create 2245 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2246 // for more information on using Contexts. 2247 func (c *AccessAnalyzer) ListPolicyGenerationsPagesWithContext(ctx aws.Context, input *ListPolicyGenerationsInput, fn func(*ListPolicyGenerationsOutput, bool) bool, opts ...request.Option) error { 2248 p := request.Pagination{ 2249 NewRequest: func() (*request.Request, error) { 2250 var inCpy *ListPolicyGenerationsInput 2251 if input != nil { 2252 tmp := *input 2253 inCpy = &tmp 2254 } 2255 req, _ := c.ListPolicyGenerationsRequest(inCpy) 2256 req.SetContext(ctx) 2257 req.ApplyOptions(opts...) 2258 return req, nil 2259 }, 2260 } 2261 2262 for p.Next() { 2263 if !fn(p.Page().(*ListPolicyGenerationsOutput), !p.HasNextPage()) { 2264 break 2265 } 2266 } 2267 2268 return p.Err() 2269 } 2270 2271 const opListTagsForResource = "ListTagsForResource" 2272 2273 // ListTagsForResourceRequest generates a "aws/request.Request" representing the 2274 // client's request for the ListTagsForResource operation. The "output" return 2275 // value will be populated with the request's response once the request completes 2276 // successfully. 2277 // 2278 // Use "Send" method on the returned Request to send the API call to the service. 2279 // the "output" return value is not valid until after Send returns without error. 2280 // 2281 // See ListTagsForResource for more information on using the ListTagsForResource 2282 // API call, and error handling. 2283 // 2284 // This method is useful when you want to inject custom logic or configuration 2285 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 2286 // 2287 // 2288 // // Example sending a request using the ListTagsForResourceRequest method. 2289 // req, resp := client.ListTagsForResourceRequest(params) 2290 // 2291 // err := req.Send() 2292 // if err == nil { // resp is now filled 2293 // fmt.Println(resp) 2294 // } 2295 // 2296 // See also, https://docs.aws.amazon.com/goto/WebAPI/accessanalyzer-2019-11-01/ListTagsForResource 2297 func (c *AccessAnalyzer) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) { 2298 op := &request.Operation{ 2299 Name: opListTagsForResource, 2300 HTTPMethod: "GET", 2301 HTTPPath: "/tags/{resourceArn}", 2302 } 2303 2304 if input == nil { 2305 input = &ListTagsForResourceInput{} 2306 } 2307 2308 output = &ListTagsForResourceOutput{} 2309 req = c.newRequest(op, input, output) 2310 return 2311 } 2312 2313 // ListTagsForResource API operation for Access Analyzer. 2314 // 2315 // Retrieves a list of tags applied to the specified resource. 2316 // 2317 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2318 // with awserr.Error's Code and Message methods to get detailed information about 2319 // the error. 2320 // 2321 // See the AWS API reference guide for Access Analyzer's 2322 // API operation ListTagsForResource for usage and error information. 2323 // 2324 // Returned Error Types: 2325 // * ResourceNotFoundException 2326 // The specified resource could not be found. 2327 // 2328 // * ValidationException 2329 // Validation exception error. 2330 // 2331 // * InternalServerException 2332 // Internal server error. 2333 // 2334 // * ThrottlingException 2335 // Throttling limit exceeded error. 2336 // 2337 // * AccessDeniedException 2338 // You do not have sufficient access to perform this action. 2339 // 2340 // See also, https://docs.aws.amazon.com/goto/WebAPI/accessanalyzer-2019-11-01/ListTagsForResource 2341 func (c *AccessAnalyzer) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) { 2342 req, out := c.ListTagsForResourceRequest(input) 2343 return out, req.Send() 2344 } 2345 2346 // ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of 2347 // the ability to pass a context and additional request options. 2348 // 2349 // See ListTagsForResource for details on how to use this API operation. 2350 // 2351 // The context must be non-nil and will be used for request cancellation. If 2352 // the context is nil a panic will occur. In the future the SDK may create 2353 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2354 // for more information on using Contexts. 2355 func (c *AccessAnalyzer) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) { 2356 req, out := c.ListTagsForResourceRequest(input) 2357 req.SetContext(ctx) 2358 req.ApplyOptions(opts...) 2359 return out, req.Send() 2360 } 2361 2362 const opStartPolicyGeneration = "StartPolicyGeneration" 2363 2364 // StartPolicyGenerationRequest generates a "aws/request.Request" representing the 2365 // client's request for the StartPolicyGeneration operation. The "output" return 2366 // value will be populated with the request's response once the request completes 2367 // successfully. 2368 // 2369 // Use "Send" method on the returned Request to send the API call to the service. 2370 // the "output" return value is not valid until after Send returns without error. 2371 // 2372 // See StartPolicyGeneration for more information on using the StartPolicyGeneration 2373 // API call, and error handling. 2374 // 2375 // This method is useful when you want to inject custom logic or configuration 2376 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 2377 // 2378 // 2379 // // Example sending a request using the StartPolicyGenerationRequest method. 2380 // req, resp := client.StartPolicyGenerationRequest(params) 2381 // 2382 // err := req.Send() 2383 // if err == nil { // resp is now filled 2384 // fmt.Println(resp) 2385 // } 2386 // 2387 // See also, https://docs.aws.amazon.com/goto/WebAPI/accessanalyzer-2019-11-01/StartPolicyGeneration 2388 func (c *AccessAnalyzer) StartPolicyGenerationRequest(input *StartPolicyGenerationInput) (req *request.Request, output *StartPolicyGenerationOutput) { 2389 op := &request.Operation{ 2390 Name: opStartPolicyGeneration, 2391 HTTPMethod: "PUT", 2392 HTTPPath: "/policy/generation", 2393 } 2394 2395 if input == nil { 2396 input = &StartPolicyGenerationInput{} 2397 } 2398 2399 output = &StartPolicyGenerationOutput{} 2400 req = c.newRequest(op, input, output) 2401 return 2402 } 2403 2404 // StartPolicyGeneration API operation for Access Analyzer. 2405 // 2406 // Starts the policy generation request. 2407 // 2408 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2409 // with awserr.Error's Code and Message methods to get detailed information about 2410 // the error. 2411 // 2412 // See the AWS API reference guide for Access Analyzer's 2413 // API operation StartPolicyGeneration for usage and error information. 2414 // 2415 // Returned Error Types: 2416 // * ConflictException 2417 // A conflict exception error. 2418 // 2419 // * ValidationException 2420 // Validation exception error. 2421 // 2422 // * InternalServerException 2423 // Internal server error. 2424 // 2425 // * ServiceQuotaExceededException 2426 // Service quote met error. 2427 // 2428 // * ThrottlingException 2429 // Throttling limit exceeded error. 2430 // 2431 // * AccessDeniedException 2432 // You do not have sufficient access to perform this action. 2433 // 2434 // See also, https://docs.aws.amazon.com/goto/WebAPI/accessanalyzer-2019-11-01/StartPolicyGeneration 2435 func (c *AccessAnalyzer) StartPolicyGeneration(input *StartPolicyGenerationInput) (*StartPolicyGenerationOutput, error) { 2436 req, out := c.StartPolicyGenerationRequest(input) 2437 return out, req.Send() 2438 } 2439 2440 // StartPolicyGenerationWithContext is the same as StartPolicyGeneration with the addition of 2441 // the ability to pass a context and additional request options. 2442 // 2443 // See StartPolicyGeneration for details on how to use this API operation. 2444 // 2445 // The context must be non-nil and will be used for request cancellation. If 2446 // the context is nil a panic will occur. In the future the SDK may create 2447 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2448 // for more information on using Contexts. 2449 func (c *AccessAnalyzer) StartPolicyGenerationWithContext(ctx aws.Context, input *StartPolicyGenerationInput, opts ...request.Option) (*StartPolicyGenerationOutput, error) { 2450 req, out := c.StartPolicyGenerationRequest(input) 2451 req.SetContext(ctx) 2452 req.ApplyOptions(opts...) 2453 return out, req.Send() 2454 } 2455 2456 const opStartResourceScan = "StartResourceScan" 2457 2458 // StartResourceScanRequest generates a "aws/request.Request" representing the 2459 // client's request for the StartResourceScan operation. The "output" return 2460 // value will be populated with the request's response once the request completes 2461 // successfully. 2462 // 2463 // Use "Send" method on the returned Request to send the API call to the service. 2464 // the "output" return value is not valid until after Send returns without error. 2465 // 2466 // See StartResourceScan for more information on using the StartResourceScan 2467 // API call, and error handling. 2468 // 2469 // This method is useful when you want to inject custom logic or configuration 2470 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 2471 // 2472 // 2473 // // Example sending a request using the StartResourceScanRequest method. 2474 // req, resp := client.StartResourceScanRequest(params) 2475 // 2476 // err := req.Send() 2477 // if err == nil { // resp is now filled 2478 // fmt.Println(resp) 2479 // } 2480 // 2481 // See also, https://docs.aws.amazon.com/goto/WebAPI/accessanalyzer-2019-11-01/StartResourceScan 2482 func (c *AccessAnalyzer) StartResourceScanRequest(input *StartResourceScanInput) (req *request.Request, output *StartResourceScanOutput) { 2483 op := &request.Operation{ 2484 Name: opStartResourceScan, 2485 HTTPMethod: "POST", 2486 HTTPPath: "/resource/scan", 2487 } 2488 2489 if input == nil { 2490 input = &StartResourceScanInput{} 2491 } 2492 2493 output = &StartResourceScanOutput{} 2494 req = c.newRequest(op, input, output) 2495 req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 2496 return 2497 } 2498 2499 // StartResourceScan API operation for Access Analyzer. 2500 // 2501 // Immediately starts a scan of the policies applied to the specified resource. 2502 // 2503 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2504 // with awserr.Error's Code and Message methods to get detailed information about 2505 // the error. 2506 // 2507 // See the AWS API reference guide for Access Analyzer's 2508 // API operation StartResourceScan for usage and error information. 2509 // 2510 // Returned Error Types: 2511 // * ResourceNotFoundException 2512 // The specified resource could not be found. 2513 // 2514 // * ValidationException 2515 // Validation exception error. 2516 // 2517 // * InternalServerException 2518 // Internal server error. 2519 // 2520 // * ThrottlingException 2521 // Throttling limit exceeded error. 2522 // 2523 // * AccessDeniedException 2524 // You do not have sufficient access to perform this action. 2525 // 2526 // See also, https://docs.aws.amazon.com/goto/WebAPI/accessanalyzer-2019-11-01/StartResourceScan 2527 func (c *AccessAnalyzer) StartResourceScan(input *StartResourceScanInput) (*StartResourceScanOutput, error) { 2528 req, out := c.StartResourceScanRequest(input) 2529 return out, req.Send() 2530 } 2531 2532 // StartResourceScanWithContext is the same as StartResourceScan with the addition of 2533 // the ability to pass a context and additional request options. 2534 // 2535 // See StartResourceScan for details on how to use this API operation. 2536 // 2537 // The context must be non-nil and will be used for request cancellation. If 2538 // the context is nil a panic will occur. In the future the SDK may create 2539 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2540 // for more information on using Contexts. 2541 func (c *AccessAnalyzer) StartResourceScanWithContext(ctx aws.Context, input *StartResourceScanInput, opts ...request.Option) (*StartResourceScanOutput, error) { 2542 req, out := c.StartResourceScanRequest(input) 2543 req.SetContext(ctx) 2544 req.ApplyOptions(opts...) 2545 return out, req.Send() 2546 } 2547 2548 const opTagResource = "TagResource" 2549 2550 // TagResourceRequest generates a "aws/request.Request" representing the 2551 // client's request for the TagResource operation. The "output" return 2552 // value will be populated with the request's response once the request completes 2553 // successfully. 2554 // 2555 // Use "Send" method on the returned Request to send the API call to the service. 2556 // the "output" return value is not valid until after Send returns without error. 2557 // 2558 // See TagResource for more information on using the TagResource 2559 // API call, and error handling. 2560 // 2561 // This method is useful when you want to inject custom logic or configuration 2562 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 2563 // 2564 // 2565 // // Example sending a request using the TagResourceRequest method. 2566 // req, resp := client.TagResourceRequest(params) 2567 // 2568 // err := req.Send() 2569 // if err == nil { // resp is now filled 2570 // fmt.Println(resp) 2571 // } 2572 // 2573 // See also, https://docs.aws.amazon.com/goto/WebAPI/accessanalyzer-2019-11-01/TagResource 2574 func (c *AccessAnalyzer) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) { 2575 op := &request.Operation{ 2576 Name: opTagResource, 2577 HTTPMethod: "POST", 2578 HTTPPath: "/tags/{resourceArn}", 2579 } 2580 2581 if input == nil { 2582 input = &TagResourceInput{} 2583 } 2584 2585 output = &TagResourceOutput{} 2586 req = c.newRequest(op, input, output) 2587 req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 2588 return 2589 } 2590 2591 // TagResource API operation for Access Analyzer. 2592 // 2593 // Adds a tag to the specified resource. 2594 // 2595 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2596 // with awserr.Error's Code and Message methods to get detailed information about 2597 // the error. 2598 // 2599 // See the AWS API reference guide for Access Analyzer's 2600 // API operation TagResource for usage and error information. 2601 // 2602 // Returned Error Types: 2603 // * ResourceNotFoundException 2604 // The specified resource could not be found. 2605 // 2606 // * ValidationException 2607 // Validation exception error. 2608 // 2609 // * InternalServerException 2610 // Internal server error. 2611 // 2612 // * ThrottlingException 2613 // Throttling limit exceeded error. 2614 // 2615 // * AccessDeniedException 2616 // You do not have sufficient access to perform this action. 2617 // 2618 // See also, https://docs.aws.amazon.com/goto/WebAPI/accessanalyzer-2019-11-01/TagResource 2619 func (c *AccessAnalyzer) TagResource(input *TagResourceInput) (*TagResourceOutput, error) { 2620 req, out := c.TagResourceRequest(input) 2621 return out, req.Send() 2622 } 2623 2624 // TagResourceWithContext is the same as TagResource with the addition of 2625 // the ability to pass a context and additional request options. 2626 // 2627 // See TagResource for details on how to use this API operation. 2628 // 2629 // The context must be non-nil and will be used for request cancellation. If 2630 // the context is nil a panic will occur. In the future the SDK may create 2631 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2632 // for more information on using Contexts. 2633 func (c *AccessAnalyzer) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) { 2634 req, out := c.TagResourceRequest(input) 2635 req.SetContext(ctx) 2636 req.ApplyOptions(opts...) 2637 return out, req.Send() 2638 } 2639 2640 const opUntagResource = "UntagResource" 2641 2642 // UntagResourceRequest generates a "aws/request.Request" representing the 2643 // client's request for the UntagResource operation. The "output" return 2644 // value will be populated with the request's response once the request completes 2645 // successfully. 2646 // 2647 // Use "Send" method on the returned Request to send the API call to the service. 2648 // the "output" return value is not valid until after Send returns without error. 2649 // 2650 // See UntagResource for more information on using the UntagResource 2651 // API call, and error handling. 2652 // 2653 // This method is useful when you want to inject custom logic or configuration 2654 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 2655 // 2656 // 2657 // // Example sending a request using the UntagResourceRequest method. 2658 // req, resp := client.UntagResourceRequest(params) 2659 // 2660 // err := req.Send() 2661 // if err == nil { // resp is now filled 2662 // fmt.Println(resp) 2663 // } 2664 // 2665 // See also, https://docs.aws.amazon.com/goto/WebAPI/accessanalyzer-2019-11-01/UntagResource 2666 func (c *AccessAnalyzer) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) { 2667 op := &request.Operation{ 2668 Name: opUntagResource, 2669 HTTPMethod: "DELETE", 2670 HTTPPath: "/tags/{resourceArn}", 2671 } 2672 2673 if input == nil { 2674 input = &UntagResourceInput{} 2675 } 2676 2677 output = &UntagResourceOutput{} 2678 req = c.newRequest(op, input, output) 2679 req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 2680 return 2681 } 2682 2683 // UntagResource API operation for Access Analyzer. 2684 // 2685 // Removes a tag from the specified resource. 2686 // 2687 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2688 // with awserr.Error's Code and Message methods to get detailed information about 2689 // the error. 2690 // 2691 // See the AWS API reference guide for Access Analyzer's 2692 // API operation UntagResource for usage and error information. 2693 // 2694 // Returned Error Types: 2695 // * ResourceNotFoundException 2696 // The specified resource could not be found. 2697 // 2698 // * ValidationException 2699 // Validation exception error. 2700 // 2701 // * InternalServerException 2702 // Internal server error. 2703 // 2704 // * ThrottlingException 2705 // Throttling limit exceeded error. 2706 // 2707 // * AccessDeniedException 2708 // You do not have sufficient access to perform this action. 2709 // 2710 // See also, https://docs.aws.amazon.com/goto/WebAPI/accessanalyzer-2019-11-01/UntagResource 2711 func (c *AccessAnalyzer) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) { 2712 req, out := c.UntagResourceRequest(input) 2713 return out, req.Send() 2714 } 2715 2716 // UntagResourceWithContext is the same as UntagResource with the addition of 2717 // the ability to pass a context and additional request options. 2718 // 2719 // See UntagResource for details on how to use this API operation. 2720 // 2721 // The context must be non-nil and will be used for request cancellation. If 2722 // the context is nil a panic will occur. In the future the SDK may create 2723 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2724 // for more information on using Contexts. 2725 func (c *AccessAnalyzer) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) { 2726 req, out := c.UntagResourceRequest(input) 2727 req.SetContext(ctx) 2728 req.ApplyOptions(opts...) 2729 return out, req.Send() 2730 } 2731 2732 const opUpdateArchiveRule = "UpdateArchiveRule" 2733 2734 // UpdateArchiveRuleRequest generates a "aws/request.Request" representing the 2735 // client's request for the UpdateArchiveRule operation. The "output" return 2736 // value will be populated with the request's response once the request completes 2737 // successfully. 2738 // 2739 // Use "Send" method on the returned Request to send the API call to the service. 2740 // the "output" return value is not valid until after Send returns without error. 2741 // 2742 // See UpdateArchiveRule for more information on using the UpdateArchiveRule 2743 // API call, and error handling. 2744 // 2745 // This method is useful when you want to inject custom logic or configuration 2746 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 2747 // 2748 // 2749 // // Example sending a request using the UpdateArchiveRuleRequest method. 2750 // req, resp := client.UpdateArchiveRuleRequest(params) 2751 // 2752 // err := req.Send() 2753 // if err == nil { // resp is now filled 2754 // fmt.Println(resp) 2755 // } 2756 // 2757 // See also, https://docs.aws.amazon.com/goto/WebAPI/accessanalyzer-2019-11-01/UpdateArchiveRule 2758 func (c *AccessAnalyzer) UpdateArchiveRuleRequest(input *UpdateArchiveRuleInput) (req *request.Request, output *UpdateArchiveRuleOutput) { 2759 op := &request.Operation{ 2760 Name: opUpdateArchiveRule, 2761 HTTPMethod: "PUT", 2762 HTTPPath: "/analyzer/{analyzerName}/archive-rule/{ruleName}", 2763 } 2764 2765 if input == nil { 2766 input = &UpdateArchiveRuleInput{} 2767 } 2768 2769 output = &UpdateArchiveRuleOutput{} 2770 req = c.newRequest(op, input, output) 2771 req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 2772 return 2773 } 2774 2775 // UpdateArchiveRule API operation for Access Analyzer. 2776 // 2777 // Updates the criteria and values for the specified archive rule. 2778 // 2779 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2780 // with awserr.Error's Code and Message methods to get detailed information about 2781 // the error. 2782 // 2783 // See the AWS API reference guide for Access Analyzer's 2784 // API operation UpdateArchiveRule for usage and error information. 2785 // 2786 // Returned Error Types: 2787 // * ResourceNotFoundException 2788 // The specified resource could not be found. 2789 // 2790 // * ValidationException 2791 // Validation exception error. 2792 // 2793 // * InternalServerException 2794 // Internal server error. 2795 // 2796 // * ThrottlingException 2797 // Throttling limit exceeded error. 2798 // 2799 // * AccessDeniedException 2800 // You do not have sufficient access to perform this action. 2801 // 2802 // See also, https://docs.aws.amazon.com/goto/WebAPI/accessanalyzer-2019-11-01/UpdateArchiveRule 2803 func (c *AccessAnalyzer) UpdateArchiveRule(input *UpdateArchiveRuleInput) (*UpdateArchiveRuleOutput, error) { 2804 req, out := c.UpdateArchiveRuleRequest(input) 2805 return out, req.Send() 2806 } 2807 2808 // UpdateArchiveRuleWithContext is the same as UpdateArchiveRule with the addition of 2809 // the ability to pass a context and additional request options. 2810 // 2811 // See UpdateArchiveRule for details on how to use this API operation. 2812 // 2813 // The context must be non-nil and will be used for request cancellation. If 2814 // the context is nil a panic will occur. In the future the SDK may create 2815 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2816 // for more information on using Contexts. 2817 func (c *AccessAnalyzer) UpdateArchiveRuleWithContext(ctx aws.Context, input *UpdateArchiveRuleInput, opts ...request.Option) (*UpdateArchiveRuleOutput, error) { 2818 req, out := c.UpdateArchiveRuleRequest(input) 2819 req.SetContext(ctx) 2820 req.ApplyOptions(opts...) 2821 return out, req.Send() 2822 } 2823 2824 const opUpdateFindings = "UpdateFindings" 2825 2826 // UpdateFindingsRequest generates a "aws/request.Request" representing the 2827 // client's request for the UpdateFindings operation. The "output" return 2828 // value will be populated with the request's response once the request completes 2829 // successfully. 2830 // 2831 // Use "Send" method on the returned Request to send the API call to the service. 2832 // the "output" return value is not valid until after Send returns without error. 2833 // 2834 // See UpdateFindings for more information on using the UpdateFindings 2835 // API call, and error handling. 2836 // 2837 // This method is useful when you want to inject custom logic or configuration 2838 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 2839 // 2840 // 2841 // // Example sending a request using the UpdateFindingsRequest method. 2842 // req, resp := client.UpdateFindingsRequest(params) 2843 // 2844 // err := req.Send() 2845 // if err == nil { // resp is now filled 2846 // fmt.Println(resp) 2847 // } 2848 // 2849 // See also, https://docs.aws.amazon.com/goto/WebAPI/accessanalyzer-2019-11-01/UpdateFindings 2850 func (c *AccessAnalyzer) UpdateFindingsRequest(input *UpdateFindingsInput) (req *request.Request, output *UpdateFindingsOutput) { 2851 op := &request.Operation{ 2852 Name: opUpdateFindings, 2853 HTTPMethod: "PUT", 2854 HTTPPath: "/finding", 2855 } 2856 2857 if input == nil { 2858 input = &UpdateFindingsInput{} 2859 } 2860 2861 output = &UpdateFindingsOutput{} 2862 req = c.newRequest(op, input, output) 2863 req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 2864 return 2865 } 2866 2867 // UpdateFindings API operation for Access Analyzer. 2868 // 2869 // Updates the status for the specified findings. 2870 // 2871 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2872 // with awserr.Error's Code and Message methods to get detailed information about 2873 // the error. 2874 // 2875 // See the AWS API reference guide for Access Analyzer's 2876 // API operation UpdateFindings for usage and error information. 2877 // 2878 // Returned Error Types: 2879 // * ResourceNotFoundException 2880 // The specified resource could not be found. 2881 // 2882 // * ValidationException 2883 // Validation exception error. 2884 // 2885 // * InternalServerException 2886 // Internal server error. 2887 // 2888 // * ThrottlingException 2889 // Throttling limit exceeded error. 2890 // 2891 // * AccessDeniedException 2892 // You do not have sufficient access to perform this action. 2893 // 2894 // See also, https://docs.aws.amazon.com/goto/WebAPI/accessanalyzer-2019-11-01/UpdateFindings 2895 func (c *AccessAnalyzer) UpdateFindings(input *UpdateFindingsInput) (*UpdateFindingsOutput, error) { 2896 req, out := c.UpdateFindingsRequest(input) 2897 return out, req.Send() 2898 } 2899 2900 // UpdateFindingsWithContext is the same as UpdateFindings with the addition of 2901 // the ability to pass a context and additional request options. 2902 // 2903 // See UpdateFindings for details on how to use this API operation. 2904 // 2905 // The context must be non-nil and will be used for request cancellation. If 2906 // the context is nil a panic will occur. In the future the SDK may create 2907 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2908 // for more information on using Contexts. 2909 func (c *AccessAnalyzer) UpdateFindingsWithContext(ctx aws.Context, input *UpdateFindingsInput, opts ...request.Option) (*UpdateFindingsOutput, error) { 2910 req, out := c.UpdateFindingsRequest(input) 2911 req.SetContext(ctx) 2912 req.ApplyOptions(opts...) 2913 return out, req.Send() 2914 } 2915 2916 const opValidatePolicy = "ValidatePolicy" 2917 2918 // ValidatePolicyRequest generates a "aws/request.Request" representing the 2919 // client's request for the ValidatePolicy operation. The "output" return 2920 // value will be populated with the request's response once the request completes 2921 // successfully. 2922 // 2923 // Use "Send" method on the returned Request to send the API call to the service. 2924 // the "output" return value is not valid until after Send returns without error. 2925 // 2926 // See ValidatePolicy for more information on using the ValidatePolicy 2927 // API call, and error handling. 2928 // 2929 // This method is useful when you want to inject custom logic or configuration 2930 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 2931 // 2932 // 2933 // // Example sending a request using the ValidatePolicyRequest method. 2934 // req, resp := client.ValidatePolicyRequest(params) 2935 // 2936 // err := req.Send() 2937 // if err == nil { // resp is now filled 2938 // fmt.Println(resp) 2939 // } 2940 // 2941 // See also, https://docs.aws.amazon.com/goto/WebAPI/accessanalyzer-2019-11-01/ValidatePolicy 2942 func (c *AccessAnalyzer) ValidatePolicyRequest(input *ValidatePolicyInput) (req *request.Request, output *ValidatePolicyOutput) { 2943 op := &request.Operation{ 2944 Name: opValidatePolicy, 2945 HTTPMethod: "POST", 2946 HTTPPath: "/policy/validation", 2947 Paginator: &request.Paginator{ 2948 InputTokens: []string{"nextToken"}, 2949 OutputTokens: []string{"nextToken"}, 2950 LimitToken: "maxResults", 2951 TruncationToken: "", 2952 }, 2953 } 2954 2955 if input == nil { 2956 input = &ValidatePolicyInput{} 2957 } 2958 2959 output = &ValidatePolicyOutput{} 2960 req = c.newRequest(op, input, output) 2961 return 2962 } 2963 2964 // ValidatePolicy API operation for Access Analyzer. 2965 // 2966 // Requests the validation of a policy and returns a list of findings. The findings 2967 // help you identify issues and provide actionable recommendations to resolve 2968 // the issue and enable you to author functional policies that meet security 2969 // best practices. 2970 // 2971 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2972 // with awserr.Error's Code and Message methods to get detailed information about 2973 // the error. 2974 // 2975 // See the AWS API reference guide for Access Analyzer's 2976 // API operation ValidatePolicy for usage and error information. 2977 // 2978 // Returned Error Types: 2979 // * ValidationException 2980 // Validation exception error. 2981 // 2982 // * InternalServerException 2983 // Internal server error. 2984 // 2985 // * ThrottlingException 2986 // Throttling limit exceeded error. 2987 // 2988 // * AccessDeniedException 2989 // You do not have sufficient access to perform this action. 2990 // 2991 // See also, https://docs.aws.amazon.com/goto/WebAPI/accessanalyzer-2019-11-01/ValidatePolicy 2992 func (c *AccessAnalyzer) ValidatePolicy(input *ValidatePolicyInput) (*ValidatePolicyOutput, error) { 2993 req, out := c.ValidatePolicyRequest(input) 2994 return out, req.Send() 2995 } 2996 2997 // ValidatePolicyWithContext is the same as ValidatePolicy with the addition of 2998 // the ability to pass a context and additional request options. 2999 // 3000 // See ValidatePolicy for details on how to use this API operation. 3001 // 3002 // The context must be non-nil and will be used for request cancellation. If 3003 // the context is nil a panic will occur. In the future the SDK may create 3004 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3005 // for more information on using Contexts. 3006 func (c *AccessAnalyzer) ValidatePolicyWithContext(ctx aws.Context, input *ValidatePolicyInput, opts ...request.Option) (*ValidatePolicyOutput, error) { 3007 req, out := c.ValidatePolicyRequest(input) 3008 req.SetContext(ctx) 3009 req.ApplyOptions(opts...) 3010 return out, req.Send() 3011 } 3012 3013 // ValidatePolicyPages iterates over the pages of a ValidatePolicy operation, 3014 // calling the "fn" function with the response data for each page. To stop 3015 // iterating, return false from the fn function. 3016 // 3017 // See ValidatePolicy method for more information on how to use this operation. 3018 // 3019 // Note: This operation can generate multiple requests to a service. 3020 // 3021 // // Example iterating over at most 3 pages of a ValidatePolicy operation. 3022 // pageNum := 0 3023 // err := client.ValidatePolicyPages(params, 3024 // func(page *accessanalyzer.ValidatePolicyOutput, lastPage bool) bool { 3025 // pageNum++ 3026 // fmt.Println(page) 3027 // return pageNum <= 3 3028 // }) 3029 // 3030 func (c *AccessAnalyzer) ValidatePolicyPages(input *ValidatePolicyInput, fn func(*ValidatePolicyOutput, bool) bool) error { 3031 return c.ValidatePolicyPagesWithContext(aws.BackgroundContext(), input, fn) 3032 } 3033 3034 // ValidatePolicyPagesWithContext same as ValidatePolicyPages except 3035 // it takes a Context and allows setting request options on the pages. 3036 // 3037 // The context must be non-nil and will be used for request cancellation. If 3038 // the context is nil a panic will occur. In the future the SDK may create 3039 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3040 // for more information on using Contexts. 3041 func (c *AccessAnalyzer) ValidatePolicyPagesWithContext(ctx aws.Context, input *ValidatePolicyInput, fn func(*ValidatePolicyOutput, bool) bool, opts ...request.Option) error { 3042 p := request.Pagination{ 3043 NewRequest: func() (*request.Request, error) { 3044 var inCpy *ValidatePolicyInput 3045 if input != nil { 3046 tmp := *input 3047 inCpy = &tmp 3048 } 3049 req, _ := c.ValidatePolicyRequest(inCpy) 3050 req.SetContext(ctx) 3051 req.ApplyOptions(opts...) 3052 return req, nil 3053 }, 3054 } 3055 3056 for p.Next() { 3057 if !fn(p.Page().(*ValidatePolicyOutput), !p.HasNextPage()) { 3058 break 3059 } 3060 } 3061 3062 return p.Err() 3063 } 3064 3065 // You do not have sufficient access to perform this action. 3066 type AccessDeniedException struct { 3067 _ struct{} `type:"structure"` 3068 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 3069 3070 Message_ *string `locationName:"message" type:"string"` 3071 } 3072 3073 // String returns the string representation. 3074 // 3075 // API parameter values that are decorated as "sensitive" in the API will not 3076 // be included in the string output. The member name will be present, but the 3077 // value will be replaced with "sensitive". 3078 func (s AccessDeniedException) String() string { 3079 return awsutil.Prettify(s) 3080 } 3081 3082 // GoString returns the string representation. 3083 // 3084 // API parameter values that are decorated as "sensitive" in the API will not 3085 // be included in the string output. The member name will be present, but the 3086 // value will be replaced with "sensitive". 3087 func (s AccessDeniedException) GoString() string { 3088 return s.String() 3089 } 3090 3091 func newErrorAccessDeniedException(v protocol.ResponseMetadata) error { 3092 return &AccessDeniedException{ 3093 RespMetadata: v, 3094 } 3095 } 3096 3097 // Code returns the exception type name. 3098 func (s *AccessDeniedException) Code() string { 3099 return "AccessDeniedException" 3100 } 3101 3102 // Message returns the exception's message. 3103 func (s *AccessDeniedException) Message() string { 3104 if s.Message_ != nil { 3105 return *s.Message_ 3106 } 3107 return "" 3108 } 3109 3110 // OrigErr always returns nil, satisfies awserr.Error interface. 3111 func (s *AccessDeniedException) OrigErr() error { 3112 return nil 3113 } 3114 3115 func (s *AccessDeniedException) Error() string { 3116 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 3117 } 3118 3119 // Status code returns the HTTP status code for the request's response error. 3120 func (s *AccessDeniedException) StatusCode() int { 3121 return s.RespMetadata.StatusCode 3122 } 3123 3124 // RequestID returns the service's response RequestID for request. 3125 func (s *AccessDeniedException) RequestID() string { 3126 return s.RespMetadata.RequestID 3127 } 3128 3129 // Contains information about an access preview. 3130 type AccessPreview struct { 3131 _ struct{} `type:"structure"` 3132 3133 // The ARN of the analyzer used to generate the access preview. 3134 // 3135 // AnalyzerArn is a required field 3136 AnalyzerArn *string `locationName:"analyzerArn" type:"string" required:"true"` 3137 3138 // A map of resource ARNs for the proposed resource configuration. 3139 // 3140 // Configurations is a required field 3141 Configurations map[string]*Configuration `locationName:"configurations" type:"map" required:"true"` 3142 3143 // The time at which the access preview was created. 3144 // 3145 // CreatedAt is a required field 3146 CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" timestampFormat:"iso8601" required:"true"` 3147 3148 // The unique ID for the access preview. 3149 // 3150 // Id is a required field 3151 Id *string `locationName:"id" type:"string" required:"true"` 3152 3153 // The status of the access preview. 3154 // 3155 // * Creating - The access preview creation is in progress. 3156 // 3157 // * Completed - The access preview is complete. You can preview findings 3158 // for external access to the resource. 3159 // 3160 // * Failed - The access preview creation has failed. 3161 // 3162 // Status is a required field 3163 Status *string `locationName:"status" type:"string" required:"true" enum:"AccessPreviewStatus"` 3164 3165 // Provides more details about the current status of the access preview. 3166 // 3167 // For example, if the creation of the access preview fails, a Failed status 3168 // is returned. This failure can be due to an internal issue with the analysis 3169 // or due to an invalid resource configuration. 3170 StatusReason *AccessPreviewStatusReason `locationName:"statusReason" type:"structure"` 3171 } 3172 3173 // String returns the string representation. 3174 // 3175 // API parameter values that are decorated as "sensitive" in the API will not 3176 // be included in the string output. The member name will be present, but the 3177 // value will be replaced with "sensitive". 3178 func (s AccessPreview) String() string { 3179 return awsutil.Prettify(s) 3180 } 3181 3182 // GoString returns the string representation. 3183 // 3184 // API parameter values that are decorated as "sensitive" in the API will not 3185 // be included in the string output. The member name will be present, but the 3186 // value will be replaced with "sensitive". 3187 func (s AccessPreview) GoString() string { 3188 return s.String() 3189 } 3190 3191 // SetAnalyzerArn sets the AnalyzerArn field's value. 3192 func (s *AccessPreview) SetAnalyzerArn(v string) *AccessPreview { 3193 s.AnalyzerArn = &v 3194 return s 3195 } 3196 3197 // SetConfigurations sets the Configurations field's value. 3198 func (s *AccessPreview) SetConfigurations(v map[string]*Configuration) *AccessPreview { 3199 s.Configurations = v 3200 return s 3201 } 3202 3203 // SetCreatedAt sets the CreatedAt field's value. 3204 func (s *AccessPreview) SetCreatedAt(v time.Time) *AccessPreview { 3205 s.CreatedAt = &v 3206 return s 3207 } 3208 3209 // SetId sets the Id field's value. 3210 func (s *AccessPreview) SetId(v string) *AccessPreview { 3211 s.Id = &v 3212 return s 3213 } 3214 3215 // SetStatus sets the Status field's value. 3216 func (s *AccessPreview) SetStatus(v string) *AccessPreview { 3217 s.Status = &v 3218 return s 3219 } 3220 3221 // SetStatusReason sets the StatusReason field's value. 3222 func (s *AccessPreview) SetStatusReason(v *AccessPreviewStatusReason) *AccessPreview { 3223 s.StatusReason = v 3224 return s 3225 } 3226 3227 // An access preview finding generated by the access preview. 3228 type AccessPreviewFinding struct { 3229 _ struct{} `type:"structure"` 3230 3231 // The action in the analyzed policy statement that an external principal has 3232 // permission to perform. 3233 Action []*string `locationName:"action" type:"list"` 3234 3235 // Provides context on how the access preview finding compares to existing access 3236 // identified in IAM Access Analyzer. 3237 // 3238 // * New - The finding is for newly-introduced access. 3239 // 3240 // * Unchanged - The preview finding is an existing finding that would remain 3241 // unchanged. 3242 // 3243 // * Changed - The preview finding is an existing finding with a change in 3244 // status. 3245 // 3246 // For example, a Changed finding with preview status Resolved and existing 3247 // status Active indicates the existing Active finding would become Resolved 3248 // as a result of the proposed permissions change. 3249 // 3250 // ChangeType is a required field 3251 ChangeType *string `locationName:"changeType" type:"string" required:"true" enum:"FindingChangeType"` 3252 3253 // The condition in the analyzed policy statement that resulted in a finding. 3254 Condition map[string]*string `locationName:"condition" type:"map"` 3255 3256 // The time at which the access preview finding was created. 3257 // 3258 // CreatedAt is a required field 3259 CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" timestampFormat:"iso8601" required:"true"` 3260 3261 // An error. 3262 Error *string `locationName:"error" type:"string"` 3263 3264 // The existing ID of the finding in IAM Access Analyzer, provided only for 3265 // existing findings. 3266 ExistingFindingId *string `locationName:"existingFindingId" type:"string"` 3267 3268 // The existing status of the finding, provided only for existing findings. 3269 ExistingFindingStatus *string `locationName:"existingFindingStatus" type:"string" enum:"FindingStatus"` 3270 3271 // The ID of the access preview finding. This ID uniquely identifies the element 3272 // in the list of access preview findings and is not related to the finding 3273 // ID in Access Analyzer. 3274 // 3275 // Id is a required field 3276 Id *string `locationName:"id" type:"string" required:"true"` 3277 3278 // Indicates whether the policy that generated the finding allows public access 3279 // to the resource. 3280 IsPublic *bool `locationName:"isPublic" type:"boolean"` 3281 3282 // The external principal that has access to a resource within the zone of trust. 3283 Principal map[string]*string `locationName:"principal" type:"map"` 3284 3285 // The resource that an external principal has access to. This is the resource 3286 // associated with the access preview. 3287 Resource *string `locationName:"resource" type:"string"` 3288 3289 // The Amazon Web Services account ID that owns the resource. For most Amazon 3290 // Web Services resources, the owning account is the account in which the resource 3291 // was created. 3292 // 3293 // ResourceOwnerAccount is a required field 3294 ResourceOwnerAccount *string `locationName:"resourceOwnerAccount" type:"string" required:"true"` 3295 3296 // The type of the resource that can be accessed in the finding. 3297 // 3298 // ResourceType is a required field 3299 ResourceType *string `locationName:"resourceType" type:"string" required:"true" enum:"ResourceType"` 3300 3301 // The sources of the finding. This indicates how the access that generated 3302 // the finding is granted. It is populated for Amazon S3 bucket findings. 3303 Sources []*FindingSource `locationName:"sources" type:"list"` 3304 3305 // The preview status of the finding. This is what the status of the finding 3306 // would be after permissions deployment. For example, a Changed finding with 3307 // preview status Resolved and existing status Active indicates the existing 3308 // Active finding would become Resolved as a result of the proposed permissions 3309 // change. 3310 // 3311 // Status is a required field 3312 Status *string `locationName:"status" type:"string" required:"true" enum:"FindingStatus"` 3313 } 3314 3315 // String returns the string representation. 3316 // 3317 // API parameter values that are decorated as "sensitive" in the API will not 3318 // be included in the string output. The member name will be present, but the 3319 // value will be replaced with "sensitive". 3320 func (s AccessPreviewFinding) String() string { 3321 return awsutil.Prettify(s) 3322 } 3323 3324 // GoString returns the string representation. 3325 // 3326 // API parameter values that are decorated as "sensitive" in the API will not 3327 // be included in the string output. The member name will be present, but the 3328 // value will be replaced with "sensitive". 3329 func (s AccessPreviewFinding) GoString() string { 3330 return s.String() 3331 } 3332 3333 // SetAction sets the Action field's value. 3334 func (s *AccessPreviewFinding) SetAction(v []*string) *AccessPreviewFinding { 3335 s.Action = v 3336 return s 3337 } 3338 3339 // SetChangeType sets the ChangeType field's value. 3340 func (s *AccessPreviewFinding) SetChangeType(v string) *AccessPreviewFinding { 3341 s.ChangeType = &v 3342 return s 3343 } 3344 3345 // SetCondition sets the Condition field's value. 3346 func (s *AccessPreviewFinding) SetCondition(v map[string]*string) *AccessPreviewFinding { 3347 s.Condition = v 3348 return s 3349 } 3350 3351 // SetCreatedAt sets the CreatedAt field's value. 3352 func (s *AccessPreviewFinding) SetCreatedAt(v time.Time) *AccessPreviewFinding { 3353 s.CreatedAt = &v 3354 return s 3355 } 3356 3357 // SetError sets the Error field's value. 3358 func (s *AccessPreviewFinding) SetError(v string) *AccessPreviewFinding { 3359 s.Error = &v 3360 return s 3361 } 3362 3363 // SetExistingFindingId sets the ExistingFindingId field's value. 3364 func (s *AccessPreviewFinding) SetExistingFindingId(v string) *AccessPreviewFinding { 3365 s.ExistingFindingId = &v 3366 return s 3367 } 3368 3369 // SetExistingFindingStatus sets the ExistingFindingStatus field's value. 3370 func (s *AccessPreviewFinding) SetExistingFindingStatus(v string) *AccessPreviewFinding { 3371 s.ExistingFindingStatus = &v 3372 return s 3373 } 3374 3375 // SetId sets the Id field's value. 3376 func (s *AccessPreviewFinding) SetId(v string) *AccessPreviewFinding { 3377 s.Id = &v 3378 return s 3379 } 3380 3381 // SetIsPublic sets the IsPublic field's value. 3382 func (s *AccessPreviewFinding) SetIsPublic(v bool) *AccessPreviewFinding { 3383 s.IsPublic = &v 3384 return s 3385 } 3386 3387 // SetPrincipal sets the Principal field's value. 3388 func (s *AccessPreviewFinding) SetPrincipal(v map[string]*string) *AccessPreviewFinding { 3389 s.Principal = v 3390 return s 3391 } 3392 3393 // SetResource sets the Resource field's value. 3394 func (s *AccessPreviewFinding) SetResource(v string) *AccessPreviewFinding { 3395 s.Resource = &v 3396 return s 3397 } 3398 3399 // SetResourceOwnerAccount sets the ResourceOwnerAccount field's value. 3400 func (s *AccessPreviewFinding) SetResourceOwnerAccount(v string) *AccessPreviewFinding { 3401 s.ResourceOwnerAccount = &v 3402 return s 3403 } 3404 3405 // SetResourceType sets the ResourceType field's value. 3406 func (s *AccessPreviewFinding) SetResourceType(v string) *AccessPreviewFinding { 3407 s.ResourceType = &v 3408 return s 3409 } 3410 3411 // SetSources sets the Sources field's value. 3412 func (s *AccessPreviewFinding) SetSources(v []*FindingSource) *AccessPreviewFinding { 3413 s.Sources = v 3414 return s 3415 } 3416 3417 // SetStatus sets the Status field's value. 3418 func (s *AccessPreviewFinding) SetStatus(v string) *AccessPreviewFinding { 3419 s.Status = &v 3420 return s 3421 } 3422 3423 // Provides more details about the current status of the access preview. For 3424 // example, if the creation of the access preview fails, a Failed status is 3425 // returned. This failure can be due to an internal issue with the analysis 3426 // or due to an invalid proposed resource configuration. 3427 type AccessPreviewStatusReason struct { 3428 _ struct{} `type:"structure"` 3429 3430 // The reason code for the current status of the access preview. 3431 // 3432 // Code is a required field 3433 Code *string `locationName:"code" type:"string" required:"true" enum:"AccessPreviewStatusReasonCode"` 3434 } 3435 3436 // String returns the string representation. 3437 // 3438 // API parameter values that are decorated as "sensitive" in the API will not 3439 // be included in the string output. The member name will be present, but the 3440 // value will be replaced with "sensitive". 3441 func (s AccessPreviewStatusReason) String() string { 3442 return awsutil.Prettify(s) 3443 } 3444 3445 // GoString returns the string representation. 3446 // 3447 // API parameter values that are decorated as "sensitive" in the API will not 3448 // be included in the string output. The member name will be present, but the 3449 // value will be replaced with "sensitive". 3450 func (s AccessPreviewStatusReason) GoString() string { 3451 return s.String() 3452 } 3453 3454 // SetCode sets the Code field's value. 3455 func (s *AccessPreviewStatusReason) SetCode(v string) *AccessPreviewStatusReason { 3456 s.Code = &v 3457 return s 3458 } 3459 3460 // Contains a summary of information about an access preview. 3461 type AccessPreviewSummary struct { 3462 _ struct{} `type:"structure"` 3463 3464 // The ARN of the analyzer used to generate the access preview. 3465 // 3466 // AnalyzerArn is a required field 3467 AnalyzerArn *string `locationName:"analyzerArn" type:"string" required:"true"` 3468 3469 // The time at which the access preview was created. 3470 // 3471 // CreatedAt is a required field 3472 CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" timestampFormat:"iso8601" required:"true"` 3473 3474 // The unique ID for the access preview. 3475 // 3476 // Id is a required field 3477 Id *string `locationName:"id" type:"string" required:"true"` 3478 3479 // The status of the access preview. 3480 // 3481 // * Creating - The access preview creation is in progress. 3482 // 3483 // * Completed - The access preview is complete and previews the findings 3484 // for external access to the resource. 3485 // 3486 // * Failed - The access preview creation has failed. 3487 // 3488 // Status is a required field 3489 Status *string `locationName:"status" type:"string" required:"true" enum:"AccessPreviewStatus"` 3490 3491 // Provides more details about the current status of the access preview. For 3492 // example, if the creation of the access preview fails, a Failed status is 3493 // returned. This failure can be due to an internal issue with the analysis 3494 // or due to an invalid proposed resource configuration. 3495 StatusReason *AccessPreviewStatusReason `locationName:"statusReason" type:"structure"` 3496 } 3497 3498 // String returns the string representation. 3499 // 3500 // API parameter values that are decorated as "sensitive" in the API will not 3501 // be included in the string output. The member name will be present, but the 3502 // value will be replaced with "sensitive". 3503 func (s AccessPreviewSummary) String() string { 3504 return awsutil.Prettify(s) 3505 } 3506 3507 // GoString returns the string representation. 3508 // 3509 // API parameter values that are decorated as "sensitive" in the API will not 3510 // be included in the string output. The member name will be present, but the 3511 // value will be replaced with "sensitive". 3512 func (s AccessPreviewSummary) GoString() string { 3513 return s.String() 3514 } 3515 3516 // SetAnalyzerArn sets the AnalyzerArn field's value. 3517 func (s *AccessPreviewSummary) SetAnalyzerArn(v string) *AccessPreviewSummary { 3518 s.AnalyzerArn = &v 3519 return s 3520 } 3521 3522 // SetCreatedAt sets the CreatedAt field's value. 3523 func (s *AccessPreviewSummary) SetCreatedAt(v time.Time) *AccessPreviewSummary { 3524 s.CreatedAt = &v 3525 return s 3526 } 3527 3528 // SetId sets the Id field's value. 3529 func (s *AccessPreviewSummary) SetId(v string) *AccessPreviewSummary { 3530 s.Id = &v 3531 return s 3532 } 3533 3534 // SetStatus sets the Status field's value. 3535 func (s *AccessPreviewSummary) SetStatus(v string) *AccessPreviewSummary { 3536 s.Status = &v 3537 return s 3538 } 3539 3540 // SetStatusReason sets the StatusReason field's value. 3541 func (s *AccessPreviewSummary) SetStatusReason(v *AccessPreviewStatusReason) *AccessPreviewSummary { 3542 s.StatusReason = v 3543 return s 3544 } 3545 3546 // You specify each grantee as a type-value pair using one of these types. You 3547 // can specify only one type of grantee. For more information, see PutBucketAcl 3548 // (https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketAcl.html). 3549 type AclGrantee struct { 3550 _ struct{} `type:"structure"` 3551 3552 // The value specified is the canonical user ID of an Amazon Web Services account. 3553 Id *string `locationName:"id" type:"string"` 3554 3555 // Used for granting permissions to a predefined group. 3556 Uri *string `locationName:"uri" type:"string"` 3557 } 3558 3559 // String returns the string representation. 3560 // 3561 // API parameter values that are decorated as "sensitive" in the API will not 3562 // be included in the string output. The member name will be present, but the 3563 // value will be replaced with "sensitive". 3564 func (s AclGrantee) String() string { 3565 return awsutil.Prettify(s) 3566 } 3567 3568 // GoString returns the string representation. 3569 // 3570 // API parameter values that are decorated as "sensitive" in the API will not 3571 // be included in the string output. The member name will be present, but the 3572 // value will be replaced with "sensitive". 3573 func (s AclGrantee) GoString() string { 3574 return s.String() 3575 } 3576 3577 // SetId sets the Id field's value. 3578 func (s *AclGrantee) SetId(v string) *AclGrantee { 3579 s.Id = &v 3580 return s 3581 } 3582 3583 // SetUri sets the Uri field's value. 3584 func (s *AclGrantee) SetUri(v string) *AclGrantee { 3585 s.Uri = &v 3586 return s 3587 } 3588 3589 // Contains details about the analyzed resource. 3590 type AnalyzedResource struct { 3591 _ struct{} `type:"structure"` 3592 3593 // The actions that an external principal is granted permission to use by the 3594 // policy that generated the finding. 3595 Actions []*string `locationName:"actions" type:"list"` 3596 3597 // The time at which the resource was analyzed. 3598 // 3599 // AnalyzedAt is a required field 3600 AnalyzedAt *time.Time `locationName:"analyzedAt" type:"timestamp" timestampFormat:"iso8601" required:"true"` 3601 3602 // The time at which the finding was created. 3603 // 3604 // CreatedAt is a required field 3605 CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" timestampFormat:"iso8601" required:"true"` 3606 3607 // An error message. 3608 Error *string `locationName:"error" type:"string"` 3609 3610 // Indicates whether the policy that generated the finding grants public access 3611 // to the resource. 3612 // 3613 // IsPublic is a required field 3614 IsPublic *bool `locationName:"isPublic" type:"boolean" required:"true"` 3615 3616 // The ARN of the resource that was analyzed. 3617 // 3618 // ResourceArn is a required field 3619 ResourceArn *string `locationName:"resourceArn" type:"string" required:"true"` 3620 3621 // The Amazon Web Services account ID that owns the resource. 3622 // 3623 // ResourceOwnerAccount is a required field 3624 ResourceOwnerAccount *string `locationName:"resourceOwnerAccount" type:"string" required:"true"` 3625 3626 // The type of the resource that was analyzed. 3627 // 3628 // ResourceType is a required field 3629 ResourceType *string `locationName:"resourceType" type:"string" required:"true" enum:"ResourceType"` 3630 3631 // Indicates how the access that generated the finding is granted. This is populated 3632 // for Amazon S3 bucket findings. 3633 SharedVia []*string `locationName:"sharedVia" type:"list"` 3634 3635 // The current status of the finding generated from the analyzed resource. 3636 Status *string `locationName:"status" type:"string" enum:"FindingStatus"` 3637 3638 // The time at which the finding was updated. 3639 // 3640 // UpdatedAt is a required field 3641 UpdatedAt *time.Time `locationName:"updatedAt" type:"timestamp" timestampFormat:"iso8601" required:"true"` 3642 } 3643 3644 // String returns the string representation. 3645 // 3646 // API parameter values that are decorated as "sensitive" in the API will not 3647 // be included in the string output. The member name will be present, but the 3648 // value will be replaced with "sensitive". 3649 func (s AnalyzedResource) String() string { 3650 return awsutil.Prettify(s) 3651 } 3652 3653 // GoString returns the string representation. 3654 // 3655 // API parameter values that are decorated as "sensitive" in the API will not 3656 // be included in the string output. The member name will be present, but the 3657 // value will be replaced with "sensitive". 3658 func (s AnalyzedResource) GoString() string { 3659 return s.String() 3660 } 3661 3662 // SetActions sets the Actions field's value. 3663 func (s *AnalyzedResource) SetActions(v []*string) *AnalyzedResource { 3664 s.Actions = v 3665 return s 3666 } 3667 3668 // SetAnalyzedAt sets the AnalyzedAt field's value. 3669 func (s *AnalyzedResource) SetAnalyzedAt(v time.Time) *AnalyzedResource { 3670 s.AnalyzedAt = &v 3671 return s 3672 } 3673 3674 // SetCreatedAt sets the CreatedAt field's value. 3675 func (s *AnalyzedResource) SetCreatedAt(v time.Time) *AnalyzedResource { 3676 s.CreatedAt = &v 3677 return s 3678 } 3679 3680 // SetError sets the Error field's value. 3681 func (s *AnalyzedResource) SetError(v string) *AnalyzedResource { 3682 s.Error = &v 3683 return s 3684 } 3685 3686 // SetIsPublic sets the IsPublic field's value. 3687 func (s *AnalyzedResource) SetIsPublic(v bool) *AnalyzedResource { 3688 s.IsPublic = &v 3689 return s 3690 } 3691 3692 // SetResourceArn sets the ResourceArn field's value. 3693 func (s *AnalyzedResource) SetResourceArn(v string) *AnalyzedResource { 3694 s.ResourceArn = &v 3695 return s 3696 } 3697 3698 // SetResourceOwnerAccount sets the ResourceOwnerAccount field's value. 3699 func (s *AnalyzedResource) SetResourceOwnerAccount(v string) *AnalyzedResource { 3700 s.ResourceOwnerAccount = &v 3701 return s 3702 } 3703 3704 // SetResourceType sets the ResourceType field's value. 3705 func (s *AnalyzedResource) SetResourceType(v string) *AnalyzedResource { 3706 s.ResourceType = &v 3707 return s 3708 } 3709 3710 // SetSharedVia sets the SharedVia field's value. 3711 func (s *AnalyzedResource) SetSharedVia(v []*string) *AnalyzedResource { 3712 s.SharedVia = v 3713 return s 3714 } 3715 3716 // SetStatus sets the Status field's value. 3717 func (s *AnalyzedResource) SetStatus(v string) *AnalyzedResource { 3718 s.Status = &v 3719 return s 3720 } 3721 3722 // SetUpdatedAt sets the UpdatedAt field's value. 3723 func (s *AnalyzedResource) SetUpdatedAt(v time.Time) *AnalyzedResource { 3724 s.UpdatedAt = &v 3725 return s 3726 } 3727 3728 // Contains the ARN of the analyzed resource. 3729 type AnalyzedResourceSummary struct { 3730 _ struct{} `type:"structure"` 3731 3732 // The ARN of the analyzed resource. 3733 // 3734 // ResourceArn is a required field 3735 ResourceArn *string `locationName:"resourceArn" type:"string" required:"true"` 3736 3737 // The Amazon Web Services account ID that owns the resource. 3738 // 3739 // ResourceOwnerAccount is a required field 3740 ResourceOwnerAccount *string `locationName:"resourceOwnerAccount" type:"string" required:"true"` 3741 3742 // The type of resource that was analyzed. 3743 // 3744 // ResourceType is a required field 3745 ResourceType *string `locationName:"resourceType" type:"string" required:"true" enum:"ResourceType"` 3746 } 3747 3748 // String returns the string representation. 3749 // 3750 // API parameter values that are decorated as "sensitive" in the API will not 3751 // be included in the string output. The member name will be present, but the 3752 // value will be replaced with "sensitive". 3753 func (s AnalyzedResourceSummary) String() string { 3754 return awsutil.Prettify(s) 3755 } 3756 3757 // GoString returns the string representation. 3758 // 3759 // API parameter values that are decorated as "sensitive" in the API will not 3760 // be included in the string output. The member name will be present, but the 3761 // value will be replaced with "sensitive". 3762 func (s AnalyzedResourceSummary) GoString() string { 3763 return s.String() 3764 } 3765 3766 // SetResourceArn sets the ResourceArn field's value. 3767 func (s *AnalyzedResourceSummary) SetResourceArn(v string) *AnalyzedResourceSummary { 3768 s.ResourceArn = &v 3769 return s 3770 } 3771 3772 // SetResourceOwnerAccount sets the ResourceOwnerAccount field's value. 3773 func (s *AnalyzedResourceSummary) SetResourceOwnerAccount(v string) *AnalyzedResourceSummary { 3774 s.ResourceOwnerAccount = &v 3775 return s 3776 } 3777 3778 // SetResourceType sets the ResourceType field's value. 3779 func (s *AnalyzedResourceSummary) SetResourceType(v string) *AnalyzedResourceSummary { 3780 s.ResourceType = &v 3781 return s 3782 } 3783 3784 // Contains information about the analyzer. 3785 type AnalyzerSummary struct { 3786 _ struct{} `type:"structure"` 3787 3788 // The ARN of the analyzer. 3789 // 3790 // Arn is a required field 3791 Arn *string `locationName:"arn" type:"string" required:"true"` 3792 3793 // A timestamp for the time at which the analyzer was created. 3794 // 3795 // CreatedAt is a required field 3796 CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" timestampFormat:"iso8601" required:"true"` 3797 3798 // The resource that was most recently analyzed by the analyzer. 3799 LastResourceAnalyzed *string `locationName:"lastResourceAnalyzed" type:"string"` 3800 3801 // The time at which the most recently analyzed resource was analyzed. 3802 LastResourceAnalyzedAt *time.Time `locationName:"lastResourceAnalyzedAt" type:"timestamp" timestampFormat:"iso8601"` 3803 3804 // The name of the analyzer. 3805 // 3806 // Name is a required field 3807 Name *string `locationName:"name" min:"1" type:"string" required:"true"` 3808 3809 // The status of the analyzer. An Active analyzer successfully monitors supported 3810 // resources and generates new findings. The analyzer is Disabled when a user 3811 // action, such as removing trusted access for Identity and Access Management 3812 // Access Analyzer from Organizations, causes the analyzer to stop generating 3813 // new findings. The status is Creating when the analyzer creation is in progress 3814 // and Failed when the analyzer creation has failed. 3815 // 3816 // Status is a required field 3817 Status *string `locationName:"status" type:"string" required:"true" enum:"AnalyzerStatus"` 3818 3819 // The statusReason provides more details about the current status of the analyzer. 3820 // For example, if the creation for the analyzer fails, a Failed status is returned. 3821 // For an analyzer with organization as the type, this failure can be due to 3822 // an issue with creating the service-linked roles required in the member accounts 3823 // of the Amazon Web Services organization. 3824 StatusReason *StatusReason `locationName:"statusReason" type:"structure"` 3825 3826 // The tags added to the analyzer. 3827 Tags map[string]*string `locationName:"tags" type:"map"` 3828 3829 // The type of analyzer, which corresponds to the zone of trust chosen for the 3830 // analyzer. 3831 // 3832 // Type is a required field 3833 Type *string `locationName:"type" type:"string" required:"true" enum:"Type"` 3834 } 3835 3836 // String returns the string representation. 3837 // 3838 // API parameter values that are decorated as "sensitive" in the API will not 3839 // be included in the string output. The member name will be present, but the 3840 // value will be replaced with "sensitive". 3841 func (s AnalyzerSummary) String() string { 3842 return awsutil.Prettify(s) 3843 } 3844 3845 // GoString returns the string representation. 3846 // 3847 // API parameter values that are decorated as "sensitive" in the API will not 3848 // be included in the string output. The member name will be present, but the 3849 // value will be replaced with "sensitive". 3850 func (s AnalyzerSummary) GoString() string { 3851 return s.String() 3852 } 3853 3854 // SetArn sets the Arn field's value. 3855 func (s *AnalyzerSummary) SetArn(v string) *AnalyzerSummary { 3856 s.Arn = &v 3857 return s 3858 } 3859 3860 // SetCreatedAt sets the CreatedAt field's value. 3861 func (s *AnalyzerSummary) SetCreatedAt(v time.Time) *AnalyzerSummary { 3862 s.CreatedAt = &v 3863 return s 3864 } 3865 3866 // SetLastResourceAnalyzed sets the LastResourceAnalyzed field's value. 3867 func (s *AnalyzerSummary) SetLastResourceAnalyzed(v string) *AnalyzerSummary { 3868 s.LastResourceAnalyzed = &v 3869 return s 3870 } 3871 3872 // SetLastResourceAnalyzedAt sets the LastResourceAnalyzedAt field's value. 3873 func (s *AnalyzerSummary) SetLastResourceAnalyzedAt(v time.Time) *AnalyzerSummary { 3874 s.LastResourceAnalyzedAt = &v 3875 return s 3876 } 3877 3878 // SetName sets the Name field's value. 3879 func (s *AnalyzerSummary) SetName(v string) *AnalyzerSummary { 3880 s.Name = &v 3881 return s 3882 } 3883 3884 // SetStatus sets the Status field's value. 3885 func (s *AnalyzerSummary) SetStatus(v string) *AnalyzerSummary { 3886 s.Status = &v 3887 return s 3888 } 3889 3890 // SetStatusReason sets the StatusReason field's value. 3891 func (s *AnalyzerSummary) SetStatusReason(v *StatusReason) *AnalyzerSummary { 3892 s.StatusReason = v 3893 return s 3894 } 3895 3896 // SetTags sets the Tags field's value. 3897 func (s *AnalyzerSummary) SetTags(v map[string]*string) *AnalyzerSummary { 3898 s.Tags = v 3899 return s 3900 } 3901 3902 // SetType sets the Type field's value. 3903 func (s *AnalyzerSummary) SetType(v string) *AnalyzerSummary { 3904 s.Type = &v 3905 return s 3906 } 3907 3908 // Retroactively applies an archive rule. 3909 type ApplyArchiveRuleInput struct { 3910 _ struct{} `type:"structure"` 3911 3912 // The Amazon resource name (ARN) of the analyzer. 3913 // 3914 // AnalyzerArn is a required field 3915 AnalyzerArn *string `locationName:"analyzerArn" type:"string" required:"true"` 3916 3917 // A client token. 3918 ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"` 3919 3920 // The name of the rule to apply. 3921 // 3922 // RuleName is a required field 3923 RuleName *string `locationName:"ruleName" min:"1" type:"string" required:"true"` 3924 } 3925 3926 // String returns the string representation. 3927 // 3928 // API parameter values that are decorated as "sensitive" in the API will not 3929 // be included in the string output. The member name will be present, but the 3930 // value will be replaced with "sensitive". 3931 func (s ApplyArchiveRuleInput) String() string { 3932 return awsutil.Prettify(s) 3933 } 3934 3935 // GoString returns the string representation. 3936 // 3937 // API parameter values that are decorated as "sensitive" in the API will not 3938 // be included in the string output. The member name will be present, but the 3939 // value will be replaced with "sensitive". 3940 func (s ApplyArchiveRuleInput) GoString() string { 3941 return s.String() 3942 } 3943 3944 // Validate inspects the fields of the type to determine if they are valid. 3945 func (s *ApplyArchiveRuleInput) Validate() error { 3946 invalidParams := request.ErrInvalidParams{Context: "ApplyArchiveRuleInput"} 3947 if s.AnalyzerArn == nil { 3948 invalidParams.Add(request.NewErrParamRequired("AnalyzerArn")) 3949 } 3950 if s.RuleName == nil { 3951 invalidParams.Add(request.NewErrParamRequired("RuleName")) 3952 } 3953 if s.RuleName != nil && len(*s.RuleName) < 1 { 3954 invalidParams.Add(request.NewErrParamMinLen("RuleName", 1)) 3955 } 3956 3957 if invalidParams.Len() > 0 { 3958 return invalidParams 3959 } 3960 return nil 3961 } 3962 3963 // SetAnalyzerArn sets the AnalyzerArn field's value. 3964 func (s *ApplyArchiveRuleInput) SetAnalyzerArn(v string) *ApplyArchiveRuleInput { 3965 s.AnalyzerArn = &v 3966 return s 3967 } 3968 3969 // SetClientToken sets the ClientToken field's value. 3970 func (s *ApplyArchiveRuleInput) SetClientToken(v string) *ApplyArchiveRuleInput { 3971 s.ClientToken = &v 3972 return s 3973 } 3974 3975 // SetRuleName sets the RuleName field's value. 3976 func (s *ApplyArchiveRuleInput) SetRuleName(v string) *ApplyArchiveRuleInput { 3977 s.RuleName = &v 3978 return s 3979 } 3980 3981 type ApplyArchiveRuleOutput struct { 3982 _ struct{} `type:"structure" nopayload:"true"` 3983 } 3984 3985 // String returns the string representation. 3986 // 3987 // API parameter values that are decorated as "sensitive" in the API will not 3988 // be included in the string output. The member name will be present, but the 3989 // value will be replaced with "sensitive". 3990 func (s ApplyArchiveRuleOutput) String() string { 3991 return awsutil.Prettify(s) 3992 } 3993 3994 // GoString returns the string representation. 3995 // 3996 // API parameter values that are decorated as "sensitive" in the API will not 3997 // be included in the string output. The member name will be present, but the 3998 // value will be replaced with "sensitive". 3999 func (s ApplyArchiveRuleOutput) GoString() string { 4000 return s.String() 4001 } 4002 4003 // Contains information about an archive rule. 4004 type ArchiveRuleSummary struct { 4005 _ struct{} `type:"structure"` 4006 4007 // The time at which the archive rule was created. 4008 // 4009 // CreatedAt is a required field 4010 CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" timestampFormat:"iso8601" required:"true"` 4011 4012 // A filter used to define the archive rule. 4013 // 4014 // Filter is a required field 4015 Filter map[string]*Criterion `locationName:"filter" type:"map" required:"true"` 4016 4017 // The name of the archive rule. 4018 // 4019 // RuleName is a required field 4020 RuleName *string `locationName:"ruleName" min:"1" type:"string" required:"true"` 4021 4022 // The time at which the archive rule was last updated. 4023 // 4024 // UpdatedAt is a required field 4025 UpdatedAt *time.Time `locationName:"updatedAt" type:"timestamp" timestampFormat:"iso8601" required:"true"` 4026 } 4027 4028 // String returns the string representation. 4029 // 4030 // API parameter values that are decorated as "sensitive" in the API will not 4031 // be included in the string output. The member name will be present, but the 4032 // value will be replaced with "sensitive". 4033 func (s ArchiveRuleSummary) String() string { 4034 return awsutil.Prettify(s) 4035 } 4036 4037 // GoString returns the string representation. 4038 // 4039 // API parameter values that are decorated as "sensitive" in the API will not 4040 // be included in the string output. The member name will be present, but the 4041 // value will be replaced with "sensitive". 4042 func (s ArchiveRuleSummary) GoString() string { 4043 return s.String() 4044 } 4045 4046 // SetCreatedAt sets the CreatedAt field's value. 4047 func (s *ArchiveRuleSummary) SetCreatedAt(v time.Time) *ArchiveRuleSummary { 4048 s.CreatedAt = &v 4049 return s 4050 } 4051 4052 // SetFilter sets the Filter field's value. 4053 func (s *ArchiveRuleSummary) SetFilter(v map[string]*Criterion) *ArchiveRuleSummary { 4054 s.Filter = v 4055 return s 4056 } 4057 4058 // SetRuleName sets the RuleName field's value. 4059 func (s *ArchiveRuleSummary) SetRuleName(v string) *ArchiveRuleSummary { 4060 s.RuleName = &v 4061 return s 4062 } 4063 4064 // SetUpdatedAt sets the UpdatedAt field's value. 4065 func (s *ArchiveRuleSummary) SetUpdatedAt(v time.Time) *ArchiveRuleSummary { 4066 s.UpdatedAt = &v 4067 return s 4068 } 4069 4070 type CancelPolicyGenerationInput struct { 4071 _ struct{} `type:"structure" nopayload:"true"` 4072 4073 // The JobId that is returned by the StartPolicyGeneration operation. The JobId 4074 // can be used with GetGeneratedPolicy to retrieve the generated policies or 4075 // used with CancelPolicyGeneration to cancel the policy generation request. 4076 // 4077 // JobId is a required field 4078 JobId *string `location:"uri" locationName:"jobId" type:"string" required:"true"` 4079 } 4080 4081 // String returns the string representation. 4082 // 4083 // API parameter values that are decorated as "sensitive" in the API will not 4084 // be included in the string output. The member name will be present, but the 4085 // value will be replaced with "sensitive". 4086 func (s CancelPolicyGenerationInput) String() string { 4087 return awsutil.Prettify(s) 4088 } 4089 4090 // GoString returns the string representation. 4091 // 4092 // API parameter values that are decorated as "sensitive" in the API will not 4093 // be included in the string output. The member name will be present, but the 4094 // value will be replaced with "sensitive". 4095 func (s CancelPolicyGenerationInput) GoString() string { 4096 return s.String() 4097 } 4098 4099 // Validate inspects the fields of the type to determine if they are valid. 4100 func (s *CancelPolicyGenerationInput) Validate() error { 4101 invalidParams := request.ErrInvalidParams{Context: "CancelPolicyGenerationInput"} 4102 if s.JobId == nil { 4103 invalidParams.Add(request.NewErrParamRequired("JobId")) 4104 } 4105 if s.JobId != nil && len(*s.JobId) < 1 { 4106 invalidParams.Add(request.NewErrParamMinLen("JobId", 1)) 4107 } 4108 4109 if invalidParams.Len() > 0 { 4110 return invalidParams 4111 } 4112 return nil 4113 } 4114 4115 // SetJobId sets the JobId field's value. 4116 func (s *CancelPolicyGenerationInput) SetJobId(v string) *CancelPolicyGenerationInput { 4117 s.JobId = &v 4118 return s 4119 } 4120 4121 type CancelPolicyGenerationOutput struct { 4122 _ struct{} `type:"structure" nopayload:"true"` 4123 } 4124 4125 // String returns the string representation. 4126 // 4127 // API parameter values that are decorated as "sensitive" in the API will not 4128 // be included in the string output. The member name will be present, but the 4129 // value will be replaced with "sensitive". 4130 func (s CancelPolicyGenerationOutput) String() string { 4131 return awsutil.Prettify(s) 4132 } 4133 4134 // GoString returns the string representation. 4135 // 4136 // API parameter values that are decorated as "sensitive" in the API will not 4137 // be included in the string output. The member name will be present, but the 4138 // value will be replaced with "sensitive". 4139 func (s CancelPolicyGenerationOutput) GoString() string { 4140 return s.String() 4141 } 4142 4143 // Contains information about CloudTrail access. 4144 type CloudTrailDetails struct { 4145 _ struct{} `type:"structure"` 4146 4147 // The ARN of the service role that IAM Access Analyzer uses to access your 4148 // CloudTrail trail and service last accessed information. 4149 // 4150 // AccessRole is a required field 4151 AccessRole *string `locationName:"accessRole" type:"string" required:"true"` 4152 4153 // The end of the time range for which IAM Access Analyzer reviews your CloudTrail 4154 // events. Events with a timestamp after this time are not considered to generate 4155 // a policy. If this is not included in the request, the default value is the 4156 // current time. 4157 EndTime *time.Time `locationName:"endTime" type:"timestamp" timestampFormat:"iso8601"` 4158 4159 // The start of the time range for which IAM Access Analyzer reviews your CloudTrail 4160 // events. Events with a timestamp before this time are not considered to generate 4161 // a policy. 4162 // 4163 // StartTime is a required field 4164 StartTime *time.Time `locationName:"startTime" type:"timestamp" timestampFormat:"iso8601" required:"true"` 4165 4166 // A Trail object that contains settings for a trail. 4167 // 4168 // Trails is a required field 4169 Trails []*Trail `locationName:"trails" type:"list" required:"true"` 4170 } 4171 4172 // String returns the string representation. 4173 // 4174 // API parameter values that are decorated as "sensitive" in the API will not 4175 // be included in the string output. The member name will be present, but the 4176 // value will be replaced with "sensitive". 4177 func (s CloudTrailDetails) String() string { 4178 return awsutil.Prettify(s) 4179 } 4180 4181 // GoString returns the string representation. 4182 // 4183 // API parameter values that are decorated as "sensitive" in the API will not 4184 // be included in the string output. The member name will be present, but the 4185 // value will be replaced with "sensitive". 4186 func (s CloudTrailDetails) GoString() string { 4187 return s.String() 4188 } 4189 4190 // Validate inspects the fields of the type to determine if they are valid. 4191 func (s *CloudTrailDetails) Validate() error { 4192 invalidParams := request.ErrInvalidParams{Context: "CloudTrailDetails"} 4193 if s.AccessRole == nil { 4194 invalidParams.Add(request.NewErrParamRequired("AccessRole")) 4195 } 4196 if s.StartTime == nil { 4197 invalidParams.Add(request.NewErrParamRequired("StartTime")) 4198 } 4199 if s.Trails == nil { 4200 invalidParams.Add(request.NewErrParamRequired("Trails")) 4201 } 4202 if s.Trails != nil { 4203 for i, v := range s.Trails { 4204 if v == nil { 4205 continue 4206 } 4207 if err := v.Validate(); err != nil { 4208 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Trails", i), err.(request.ErrInvalidParams)) 4209 } 4210 } 4211 } 4212 4213 if invalidParams.Len() > 0 { 4214 return invalidParams 4215 } 4216 return nil 4217 } 4218 4219 // SetAccessRole sets the AccessRole field's value. 4220 func (s *CloudTrailDetails) SetAccessRole(v string) *CloudTrailDetails { 4221 s.AccessRole = &v 4222 return s 4223 } 4224 4225 // SetEndTime sets the EndTime field's value. 4226 func (s *CloudTrailDetails) SetEndTime(v time.Time) *CloudTrailDetails { 4227 s.EndTime = &v 4228 return s 4229 } 4230 4231 // SetStartTime sets the StartTime field's value. 4232 func (s *CloudTrailDetails) SetStartTime(v time.Time) *CloudTrailDetails { 4233 s.StartTime = &v 4234 return s 4235 } 4236 4237 // SetTrails sets the Trails field's value. 4238 func (s *CloudTrailDetails) SetTrails(v []*Trail) *CloudTrailDetails { 4239 s.Trails = v 4240 return s 4241 } 4242 4243 // Contains information about CloudTrail access. 4244 type CloudTrailProperties struct { 4245 _ struct{} `type:"structure"` 4246 4247 // The end of the time range for which IAM Access Analyzer reviews your CloudTrail 4248 // events. Events with a timestamp after this time are not considered to generate 4249 // a policy. If this is not included in the request, the default value is the 4250 // current time. 4251 // 4252 // EndTime is a required field 4253 EndTime *time.Time `locationName:"endTime" type:"timestamp" timestampFormat:"iso8601" required:"true"` 4254 4255 // The start of the time range for which IAM Access Analyzer reviews your CloudTrail 4256 // events. Events with a timestamp before this time are not considered to generate 4257 // a policy. 4258 // 4259 // StartTime is a required field 4260 StartTime *time.Time `locationName:"startTime" type:"timestamp" timestampFormat:"iso8601" required:"true"` 4261 4262 // A TrailProperties object that contains settings for trail properties. 4263 // 4264 // TrailProperties is a required field 4265 TrailProperties []*TrailProperties `locationName:"trailProperties" type:"list" required:"true"` 4266 } 4267 4268 // String returns the string representation. 4269 // 4270 // API parameter values that are decorated as "sensitive" in the API will not 4271 // be included in the string output. The member name will be present, but the 4272 // value will be replaced with "sensitive". 4273 func (s CloudTrailProperties) String() string { 4274 return awsutil.Prettify(s) 4275 } 4276 4277 // GoString returns the string representation. 4278 // 4279 // API parameter values that are decorated as "sensitive" in the API will not 4280 // be included in the string output. The member name will be present, but the 4281 // value will be replaced with "sensitive". 4282 func (s CloudTrailProperties) GoString() string { 4283 return s.String() 4284 } 4285 4286 // SetEndTime sets the EndTime field's value. 4287 func (s *CloudTrailProperties) SetEndTime(v time.Time) *CloudTrailProperties { 4288 s.EndTime = &v 4289 return s 4290 } 4291 4292 // SetStartTime sets the StartTime field's value. 4293 func (s *CloudTrailProperties) SetStartTime(v time.Time) *CloudTrailProperties { 4294 s.StartTime = &v 4295 return s 4296 } 4297 4298 // SetTrailProperties sets the TrailProperties field's value. 4299 func (s *CloudTrailProperties) SetTrailProperties(v []*TrailProperties) *CloudTrailProperties { 4300 s.TrailProperties = v 4301 return s 4302 } 4303 4304 // Access control configuration structures for your resource. You specify the 4305 // configuration as a type-value pair. You can specify only one type of access 4306 // control configuration. 4307 type Configuration struct { 4308 _ struct{} `type:"structure"` 4309 4310 // The access control configuration is for an IAM role. 4311 IamRole *IamRoleConfiguration `locationName:"iamRole" type:"structure"` 4312 4313 // The access control configuration is for a KMS key. 4314 KmsKey *KmsKeyConfiguration `locationName:"kmsKey" type:"structure"` 4315 4316 // The access control configuration is for an Amazon S3 Bucket. 4317 S3Bucket *S3BucketConfiguration `locationName:"s3Bucket" type:"structure"` 4318 4319 // The access control configuration is for a Secrets Manager secret. 4320 SecretsManagerSecret *SecretsManagerSecretConfiguration `locationName:"secretsManagerSecret" type:"structure"` 4321 4322 // The access control configuration is for an Amazon SQS queue. 4323 SqsQueue *SqsQueueConfiguration `locationName:"sqsQueue" type:"structure"` 4324 } 4325 4326 // String returns the string representation. 4327 // 4328 // API parameter values that are decorated as "sensitive" in the API will not 4329 // be included in the string output. The member name will be present, but the 4330 // value will be replaced with "sensitive". 4331 func (s Configuration) String() string { 4332 return awsutil.Prettify(s) 4333 } 4334 4335 // GoString returns the string representation. 4336 // 4337 // API parameter values that are decorated as "sensitive" in the API will not 4338 // be included in the string output. The member name will be present, but the 4339 // value will be replaced with "sensitive". 4340 func (s Configuration) GoString() string { 4341 return s.String() 4342 } 4343 4344 // Validate inspects the fields of the type to determine if they are valid. 4345 func (s *Configuration) Validate() error { 4346 invalidParams := request.ErrInvalidParams{Context: "Configuration"} 4347 if s.KmsKey != nil { 4348 if err := s.KmsKey.Validate(); err != nil { 4349 invalidParams.AddNested("KmsKey", err.(request.ErrInvalidParams)) 4350 } 4351 } 4352 if s.S3Bucket != nil { 4353 if err := s.S3Bucket.Validate(); err != nil { 4354 invalidParams.AddNested("S3Bucket", err.(request.ErrInvalidParams)) 4355 } 4356 } 4357 4358 if invalidParams.Len() > 0 { 4359 return invalidParams 4360 } 4361 return nil 4362 } 4363 4364 // SetIamRole sets the IamRole field's value. 4365 func (s *Configuration) SetIamRole(v *IamRoleConfiguration) *Configuration { 4366 s.IamRole = v 4367 return s 4368 } 4369 4370 // SetKmsKey sets the KmsKey field's value. 4371 func (s *Configuration) SetKmsKey(v *KmsKeyConfiguration) *Configuration { 4372 s.KmsKey = v 4373 return s 4374 } 4375 4376 // SetS3Bucket sets the S3Bucket field's value. 4377 func (s *Configuration) SetS3Bucket(v *S3BucketConfiguration) *Configuration { 4378 s.S3Bucket = v 4379 return s 4380 } 4381 4382 // SetSecretsManagerSecret sets the SecretsManagerSecret field's value. 4383 func (s *Configuration) SetSecretsManagerSecret(v *SecretsManagerSecretConfiguration) *Configuration { 4384 s.SecretsManagerSecret = v 4385 return s 4386 } 4387 4388 // SetSqsQueue sets the SqsQueue field's value. 4389 func (s *Configuration) SetSqsQueue(v *SqsQueueConfiguration) *Configuration { 4390 s.SqsQueue = v 4391 return s 4392 } 4393 4394 // A conflict exception error. 4395 type ConflictException struct { 4396 _ struct{} `type:"structure"` 4397 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 4398 4399 Message_ *string `locationName:"message" type:"string"` 4400 4401 // The ID of the resource. 4402 // 4403 // ResourceId is a required field 4404 ResourceId *string `locationName:"resourceId" type:"string" required:"true"` 4405 4406 // The resource type. 4407 // 4408 // ResourceType is a required field 4409 ResourceType *string `locationName:"resourceType" type:"string" required:"true"` 4410 } 4411 4412 // String returns the string representation. 4413 // 4414 // API parameter values that are decorated as "sensitive" in the API will not 4415 // be included in the string output. The member name will be present, but the 4416 // value will be replaced with "sensitive". 4417 func (s ConflictException) String() string { 4418 return awsutil.Prettify(s) 4419 } 4420 4421 // GoString returns the string representation. 4422 // 4423 // API parameter values that are decorated as "sensitive" in the API will not 4424 // be included in the string output. The member name will be present, but the 4425 // value will be replaced with "sensitive". 4426 func (s ConflictException) GoString() string { 4427 return s.String() 4428 } 4429 4430 func newErrorConflictException(v protocol.ResponseMetadata) error { 4431 return &ConflictException{ 4432 RespMetadata: v, 4433 } 4434 } 4435 4436 // Code returns the exception type name. 4437 func (s *ConflictException) Code() string { 4438 return "ConflictException" 4439 } 4440 4441 // Message returns the exception's message. 4442 func (s *ConflictException) Message() string { 4443 if s.Message_ != nil { 4444 return *s.Message_ 4445 } 4446 return "" 4447 } 4448 4449 // OrigErr always returns nil, satisfies awserr.Error interface. 4450 func (s *ConflictException) OrigErr() error { 4451 return nil 4452 } 4453 4454 func (s *ConflictException) Error() string { 4455 return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) 4456 } 4457 4458 // Status code returns the HTTP status code for the request's response error. 4459 func (s *ConflictException) StatusCode() int { 4460 return s.RespMetadata.StatusCode 4461 } 4462 4463 // RequestID returns the service's response RequestID for request. 4464 func (s *ConflictException) RequestID() string { 4465 return s.RespMetadata.RequestID 4466 } 4467 4468 type CreateAccessPreviewInput struct { 4469 _ struct{} `type:"structure"` 4470 4471 // The ARN of the account analyzer (https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-getting-started.html#permission-resources) 4472 // used to generate the access preview. You can only create an access preview 4473 // for analyzers with an Account type and Active status. 4474 // 4475 // AnalyzerArn is a required field 4476 AnalyzerArn *string `locationName:"analyzerArn" type:"string" required:"true"` 4477 4478 // A client token. 4479 ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"` 4480 4481 // Access control configuration for your resource that is used to generate the 4482 // access preview. The access preview includes findings for external access 4483 // allowed to the resource with the proposed access control configuration. The 4484 // configuration must contain exactly one element. 4485 // 4486 // Configurations is a required field 4487 Configurations map[string]*Configuration `locationName:"configurations" type:"map" required:"true"` 4488 } 4489 4490 // String returns the string representation. 4491 // 4492 // API parameter values that are decorated as "sensitive" in the API will not 4493 // be included in the string output. The member name will be present, but the 4494 // value will be replaced with "sensitive". 4495 func (s CreateAccessPreviewInput) String() string { 4496 return awsutil.Prettify(s) 4497 } 4498 4499 // GoString returns the string representation. 4500 // 4501 // API parameter values that are decorated as "sensitive" in the API will not 4502 // be included in the string output. The member name will be present, but the 4503 // value will be replaced with "sensitive". 4504 func (s CreateAccessPreviewInput) GoString() string { 4505 return s.String() 4506 } 4507 4508 // Validate inspects the fields of the type to determine if they are valid. 4509 func (s *CreateAccessPreviewInput) Validate() error { 4510 invalidParams := request.ErrInvalidParams{Context: "CreateAccessPreviewInput"} 4511 if s.AnalyzerArn == nil { 4512 invalidParams.Add(request.NewErrParamRequired("AnalyzerArn")) 4513 } 4514 if s.Configurations == nil { 4515 invalidParams.Add(request.NewErrParamRequired("Configurations")) 4516 } 4517 if s.Configurations != nil { 4518 for i, v := range s.Configurations { 4519 if v == nil { 4520 continue 4521 } 4522 if err := v.Validate(); err != nil { 4523 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Configurations", i), err.(request.ErrInvalidParams)) 4524 } 4525 } 4526 } 4527 4528 if invalidParams.Len() > 0 { 4529 return invalidParams 4530 } 4531 return nil 4532 } 4533 4534 // SetAnalyzerArn sets the AnalyzerArn field's value. 4535 func (s *CreateAccessPreviewInput) SetAnalyzerArn(v string) *CreateAccessPreviewInput { 4536 s.AnalyzerArn = &v 4537 return s 4538 } 4539 4540 // SetClientToken sets the ClientToken field's value. 4541 func (s *CreateAccessPreviewInput) SetClientToken(v string) *CreateAccessPreviewInput { 4542 s.ClientToken = &v 4543 return s 4544 } 4545 4546 // SetConfigurations sets the Configurations field's value. 4547 func (s *CreateAccessPreviewInput) SetConfigurations(v map[string]*Configuration) *CreateAccessPreviewInput { 4548 s.Configurations = v 4549 return s 4550 } 4551 4552 type CreateAccessPreviewOutput struct { 4553 _ struct{} `type:"structure"` 4554 4555 // The unique ID for the access preview. 4556 // 4557 // Id is a required field 4558 Id *string `locationName:"id" type:"string" required:"true"` 4559 } 4560 4561 // String returns the string representation. 4562 // 4563 // API parameter values that are decorated as "sensitive" in the API will not 4564 // be included in the string output. The member name will be present, but the 4565 // value will be replaced with "sensitive". 4566 func (s CreateAccessPreviewOutput) String() string { 4567 return awsutil.Prettify(s) 4568 } 4569 4570 // GoString returns the string representation. 4571 // 4572 // API parameter values that are decorated as "sensitive" in the API will not 4573 // be included in the string output. The member name will be present, but the 4574 // value will be replaced with "sensitive". 4575 func (s CreateAccessPreviewOutput) GoString() string { 4576 return s.String() 4577 } 4578 4579 // SetId sets the Id field's value. 4580 func (s *CreateAccessPreviewOutput) SetId(v string) *CreateAccessPreviewOutput { 4581 s.Id = &v 4582 return s 4583 } 4584 4585 // Creates an analyzer. 4586 type CreateAnalyzerInput struct { 4587 _ struct{} `type:"structure"` 4588 4589 // The name of the analyzer to create. 4590 // 4591 // AnalyzerName is a required field 4592 AnalyzerName *string `locationName:"analyzerName" min:"1" type:"string" required:"true"` 4593 4594 // Specifies the archive rules to add for the analyzer. Archive rules automatically 4595 // archive findings that meet the criteria you define for the rule. 4596 ArchiveRules []*InlineArchiveRule `locationName:"archiveRules" type:"list"` 4597 4598 // A client token. 4599 ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"` 4600 4601 // The tags to apply to the analyzer. 4602 Tags map[string]*string `locationName:"tags" type:"map"` 4603 4604 // The type of analyzer to create. Only ACCOUNT and ORGANIZATION analyzers are 4605 // supported. You can create only one analyzer per account per Region. You can 4606 // create up to 5 analyzers per organization per Region. 4607 // 4608 // Type is a required field 4609 Type *string `locationName:"type" type:"string" required:"true" enum:"Type"` 4610 } 4611 4612 // String returns the string representation. 4613 // 4614 // API parameter values that are decorated as "sensitive" in the API will not 4615 // be included in the string output. The member name will be present, but the 4616 // value will be replaced with "sensitive". 4617 func (s CreateAnalyzerInput) String() string { 4618 return awsutil.Prettify(s) 4619 } 4620 4621 // GoString returns the string representation. 4622 // 4623 // API parameter values that are decorated as "sensitive" in the API will not 4624 // be included in the string output. The member name will be present, but the 4625 // value will be replaced with "sensitive". 4626 func (s CreateAnalyzerInput) GoString() string { 4627 return s.String() 4628 } 4629 4630 // Validate inspects the fields of the type to determine if they are valid. 4631 func (s *CreateAnalyzerInput) Validate() error { 4632 invalidParams := request.ErrInvalidParams{Context: "CreateAnalyzerInput"} 4633 if s.AnalyzerName == nil { 4634 invalidParams.Add(request.NewErrParamRequired("AnalyzerName")) 4635 } 4636 if s.AnalyzerName != nil && len(*s.AnalyzerName) < 1 { 4637 invalidParams.Add(request.NewErrParamMinLen("AnalyzerName", 1)) 4638 } 4639 if s.Type == nil { 4640 invalidParams.Add(request.NewErrParamRequired("Type")) 4641 } 4642 if s.ArchiveRules != nil { 4643 for i, v := range s.ArchiveRules { 4644 if v == nil { 4645 continue 4646 } 4647 if err := v.Validate(); err != nil { 4648 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ArchiveRules", i), err.(request.ErrInvalidParams)) 4649 } 4650 } 4651 } 4652 4653 if invalidParams.Len() > 0 { 4654 return invalidParams 4655 } 4656 return nil 4657 } 4658 4659 // SetAnalyzerName sets the AnalyzerName field's value. 4660 func (s *CreateAnalyzerInput) SetAnalyzerName(v string) *CreateAnalyzerInput { 4661 s.AnalyzerName = &v 4662 return s 4663 } 4664 4665 // SetArchiveRules sets the ArchiveRules field's value. 4666 func (s *CreateAnalyzerInput) SetArchiveRules(v []*InlineArchiveRule) *CreateAnalyzerInput { 4667 s.ArchiveRules = v 4668 return s 4669 } 4670 4671 // SetClientToken sets the ClientToken field's value. 4672 func (s *CreateAnalyzerInput) SetClientToken(v string) *CreateAnalyzerInput { 4673 s.ClientToken = &v 4674 return s 4675 } 4676 4677 // SetTags sets the Tags field's value. 4678 func (s *CreateAnalyzerInput) SetTags(v map[string]*string) *CreateAnalyzerInput { 4679 s.Tags = v 4680 return s 4681 } 4682 4683 // SetType sets the Type field's value. 4684 func (s *CreateAnalyzerInput) SetType(v string) *CreateAnalyzerInput { 4685 s.Type = &v 4686 return s 4687 } 4688 4689 // The response to the request to create an analyzer. 4690 type CreateAnalyzerOutput struct { 4691 _ struct{} `type:"structure"` 4692 4693 // The ARN of the analyzer that was created by the request. 4694 Arn *string `locationName:"arn" type:"string"` 4695 } 4696 4697 // String returns the string representation. 4698 // 4699 // API parameter values that are decorated as "sensitive" in the API will not 4700 // be included in the string output. The member name will be present, but the 4701 // value will be replaced with "sensitive". 4702 func (s CreateAnalyzerOutput) String() string { 4703 return awsutil.Prettify(s) 4704 } 4705 4706 // GoString returns the string representation. 4707 // 4708 // API parameter values that are decorated as "sensitive" in the API will not 4709 // be included in the string output. The member name will be present, but the 4710 // value will be replaced with "sensitive". 4711 func (s CreateAnalyzerOutput) GoString() string { 4712 return s.String() 4713 } 4714 4715 // SetArn sets the Arn field's value. 4716 func (s *CreateAnalyzerOutput) SetArn(v string) *CreateAnalyzerOutput { 4717 s.Arn = &v 4718 return s 4719 } 4720 4721 // Creates an archive rule. 4722 type CreateArchiveRuleInput struct { 4723 _ struct{} `type:"structure"` 4724 4725 // The name of the created analyzer. 4726 // 4727 // AnalyzerName is a required field 4728 AnalyzerName *string `location:"uri" locationName:"analyzerName" min:"1" type:"string" required:"true"` 4729 4730 // A client token. 4731 ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"` 4732 4733 // The criteria for the rule. 4734 // 4735 // Filter is a required field 4736 Filter map[string]*Criterion `locationName:"filter" type:"map" required:"true"` 4737 4738 // The name of the rule to create. 4739 // 4740 // RuleName is a required field 4741 RuleName *string `locationName:"ruleName" min:"1" type:"string" required:"true"` 4742 } 4743 4744 // String returns the string representation. 4745 // 4746 // API parameter values that are decorated as "sensitive" in the API will not 4747 // be included in the string output. The member name will be present, but the 4748 // value will be replaced with "sensitive". 4749 func (s CreateArchiveRuleInput) String() string { 4750 return awsutil.Prettify(s) 4751 } 4752 4753 // GoString returns the string representation. 4754 // 4755 // API parameter values that are decorated as "sensitive" in the API will not 4756 // be included in the string output. The member name will be present, but the 4757 // value will be replaced with "sensitive". 4758 func (s CreateArchiveRuleInput) GoString() string { 4759 return s.String() 4760 } 4761 4762 // Validate inspects the fields of the type to determine if they are valid. 4763 func (s *CreateArchiveRuleInput) Validate() error { 4764 invalidParams := request.ErrInvalidParams{Context: "CreateArchiveRuleInput"} 4765 if s.AnalyzerName == nil { 4766 invalidParams.Add(request.NewErrParamRequired("AnalyzerName")) 4767 } 4768 if s.AnalyzerName != nil && len(*s.AnalyzerName) < 1 { 4769 invalidParams.Add(request.NewErrParamMinLen("AnalyzerName", 1)) 4770 } 4771 if s.Filter == nil { 4772 invalidParams.Add(request.NewErrParamRequired("Filter")) 4773 } 4774 if s.RuleName == nil { 4775 invalidParams.Add(request.NewErrParamRequired("RuleName")) 4776 } 4777 if s.RuleName != nil && len(*s.RuleName) < 1 { 4778 invalidParams.Add(request.NewErrParamMinLen("RuleName", 1)) 4779 } 4780 if s.Filter != nil { 4781 for i, v := range s.Filter { 4782 if v == nil { 4783 continue 4784 } 4785 if err := v.Validate(); err != nil { 4786 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filter", i), err.(request.ErrInvalidParams)) 4787 } 4788 } 4789 } 4790 4791 if invalidParams.Len() > 0 { 4792 return invalidParams 4793 } 4794 return nil 4795 } 4796 4797 // SetAnalyzerName sets the AnalyzerName field's value. 4798 func (s *CreateArchiveRuleInput) SetAnalyzerName(v string) *CreateArchiveRuleInput { 4799 s.AnalyzerName = &v 4800 return s 4801 } 4802 4803 // SetClientToken sets the ClientToken field's value. 4804 func (s *CreateArchiveRuleInput) SetClientToken(v string) *CreateArchiveRuleInput { 4805 s.ClientToken = &v 4806 return s 4807 } 4808 4809 // SetFilter sets the Filter field's value. 4810 func (s *CreateArchiveRuleInput) SetFilter(v map[string]*Criterion) *CreateArchiveRuleInput { 4811 s.Filter = v 4812 return s 4813 } 4814 4815 // SetRuleName sets the RuleName field's value. 4816 func (s *CreateArchiveRuleInput) SetRuleName(v string) *CreateArchiveRuleInput { 4817 s.RuleName = &v 4818 return s 4819 } 4820 4821 type CreateArchiveRuleOutput struct { 4822 _ struct{} `type:"structure" nopayload:"true"` 4823 } 4824 4825 // String returns the string representation. 4826 // 4827 // API parameter values that are decorated as "sensitive" in the API will not 4828 // be included in the string output. The member name will be present, but the 4829 // value will be replaced with "sensitive". 4830 func (s CreateArchiveRuleOutput) String() string { 4831 return awsutil.Prettify(s) 4832 } 4833 4834 // GoString returns the string representation. 4835 // 4836 // API parameter values that are decorated as "sensitive" in the API will not 4837 // be included in the string output. The member name will be present, but the 4838 // value will be replaced with "sensitive". 4839 func (s CreateArchiveRuleOutput) GoString() string { 4840 return s.String() 4841 } 4842 4843 // The criteria to use in the filter that defines the archive rule. 4844 type Criterion struct { 4845 _ struct{} `type:"structure"` 4846 4847 // A "contains" operator to match for the filter used to create the rule. 4848 Contains []*string `locationName:"contains" min:"1" type:"list"` 4849 4850 // An "equals" operator to match for the filter used to create the rule. 4851 Eq []*string `locationName:"eq" min:"1" type:"list"` 4852 4853 // An "exists" operator to match for the filter used to create the rule. 4854 Exists *bool `locationName:"exists" type:"boolean"` 4855 4856 // A "not equals" operator to match for the filter used to create the rule. 4857 Neq []*string `locationName:"neq" min:"1" type:"list"` 4858 } 4859 4860 // String returns the string representation. 4861 // 4862 // API parameter values that are decorated as "sensitive" in the API will not 4863 // be included in the string output. The member name will be present, but the 4864 // value will be replaced with "sensitive". 4865 func (s Criterion) String() string { 4866 return awsutil.Prettify(s) 4867 } 4868 4869 // GoString returns the string representation. 4870 // 4871 // API parameter values that are decorated as "sensitive" in the API will not 4872 // be included in the string output. The member name will be present, but the 4873 // value will be replaced with "sensitive". 4874 func (s Criterion) GoString() string { 4875 return s.String() 4876 } 4877 4878 // Validate inspects the fields of the type to determine if they are valid. 4879 func (s *Criterion) Validate() error { 4880 invalidParams := request.ErrInvalidParams{Context: "Criterion"} 4881 if s.Contains != nil && len(s.Contains) < 1 { 4882 invalidParams.Add(request.NewErrParamMinLen("Contains", 1)) 4883 } 4884 if s.Eq != nil && len(s.Eq) < 1 { 4885 invalidParams.Add(request.NewErrParamMinLen("Eq", 1)) 4886 } 4887 if s.Neq != nil && len(s.Neq) < 1 { 4888 invalidParams.Add(request.NewErrParamMinLen("Neq", 1)) 4889 } 4890 4891 if invalidParams.Len() > 0 { 4892 return invalidParams 4893 } 4894 return nil 4895 } 4896 4897 // SetContains sets the Contains field's value. 4898 func (s *Criterion) SetContains(v []*string) *Criterion { 4899 s.Contains = v 4900 return s 4901 } 4902 4903 // SetEq sets the Eq field's value. 4904 func (s *Criterion) SetEq(v []*string) *Criterion { 4905 s.Eq = v 4906 return s 4907 } 4908 4909 // SetExists sets the Exists field's value. 4910 func (s *Criterion) SetExists(v bool) *Criterion { 4911 s.Exists = &v 4912 return s 4913 } 4914 4915 // SetNeq sets the Neq field's value. 4916 func (s *Criterion) SetNeq(v []*string) *Criterion { 4917 s.Neq = v 4918 return s 4919 } 4920 4921 // Deletes an analyzer. 4922 type DeleteAnalyzerInput struct { 4923 _ struct{} `type:"structure" nopayload:"true"` 4924 4925 // The name of the analyzer to delete. 4926 // 4927 // AnalyzerName is a required field 4928 AnalyzerName *string `location:"uri" locationName:"analyzerName" min:"1" type:"string" required:"true"` 4929 4930 // A client token. 4931 ClientToken *string `location:"querystring" locationName:"clientToken" type:"string" idempotencyToken:"true"` 4932 } 4933 4934 // String returns the string representation. 4935 // 4936 // API parameter values that are decorated as "sensitive" in the API will not 4937 // be included in the string output. The member name will be present, but the 4938 // value will be replaced with "sensitive". 4939 func (s DeleteAnalyzerInput) String() string { 4940 return awsutil.Prettify(s) 4941 } 4942 4943 // GoString returns the string representation. 4944 // 4945 // API parameter values that are decorated as "sensitive" in the API will not 4946 // be included in the string output. The member name will be present, but the 4947 // value will be replaced with "sensitive". 4948 func (s DeleteAnalyzerInput) GoString() string { 4949 return s.String() 4950 } 4951 4952 // Validate inspects the fields of the type to determine if they are valid. 4953 func (s *DeleteAnalyzerInput) Validate() error { 4954 invalidParams := request.ErrInvalidParams{Context: "DeleteAnalyzerInput"} 4955 if s.AnalyzerName == nil { 4956 invalidParams.Add(request.NewErrParamRequired("AnalyzerName")) 4957 } 4958 if s.AnalyzerName != nil && len(*s.AnalyzerName) < 1 { 4959 invalidParams.Add(request.NewErrParamMinLen("AnalyzerName", 1)) 4960 } 4961 4962 if invalidParams.Len() > 0 { 4963 return invalidParams 4964 } 4965 return nil 4966 } 4967 4968 // SetAnalyzerName sets the AnalyzerName field's value. 4969 func (s *DeleteAnalyzerInput) SetAnalyzerName(v string) *DeleteAnalyzerInput { 4970 s.AnalyzerName = &v 4971 return s 4972 } 4973 4974 // SetClientToken sets the ClientToken field's value. 4975 func (s *DeleteAnalyzerInput) SetClientToken(v string) *DeleteAnalyzerInput { 4976 s.ClientToken = &v 4977 return s 4978 } 4979 4980 type DeleteAnalyzerOutput struct { 4981 _ struct{} `type:"structure" nopayload:"true"` 4982 } 4983 4984 // String returns the string representation. 4985 // 4986 // API parameter values that are decorated as "sensitive" in the API will not 4987 // be included in the string output. The member name will be present, but the 4988 // value will be replaced with "sensitive". 4989 func (s DeleteAnalyzerOutput) String() string { 4990 return awsutil.Prettify(s) 4991 } 4992 4993 // GoString returns the string representation. 4994 // 4995 // API parameter values that are decorated as "sensitive" in the API will not 4996 // be included in the string output. The member name will be present, but the 4997 // value will be replaced with "sensitive". 4998 func (s DeleteAnalyzerOutput) GoString() string { 4999 return s.String() 5000 } 5001 5002 // Deletes an archive rule. 5003 type DeleteArchiveRuleInput struct { 5004 _ struct{} `type:"structure" nopayload:"true"` 5005 5006 // The name of the analyzer that associated with the archive rule to delete. 5007 // 5008 // AnalyzerName is a required field 5009 AnalyzerName *string `location:"uri" locationName:"analyzerName" min:"1" type:"string" required:"true"` 5010 5011 // A client token. 5012 ClientToken *string `location:"querystring" locationName:"clientToken" type:"string" idempotencyToken:"true"` 5013 5014 // The name of the rule to delete. 5015 // 5016 // RuleName is a required field 5017 RuleName *string `location:"uri" locationName:"ruleName" min:"1" type:"string" required:"true"` 5018 } 5019 5020 // String returns the string representation. 5021 // 5022 // API parameter values that are decorated as "sensitive" in the API will not 5023 // be included in the string output. The member name will be present, but the 5024 // value will be replaced with "sensitive". 5025 func (s DeleteArchiveRuleInput) String() string { 5026 return awsutil.Prettify(s) 5027 } 5028 5029 // GoString returns the string representation. 5030 // 5031 // API parameter values that are decorated as "sensitive" in the API will not 5032 // be included in the string output. The member name will be present, but the 5033 // value will be replaced with "sensitive". 5034 func (s DeleteArchiveRuleInput) GoString() string { 5035 return s.String() 5036 } 5037 5038 // Validate inspects the fields of the type to determine if they are valid. 5039 func (s *DeleteArchiveRuleInput) Validate() error { 5040 invalidParams := request.ErrInvalidParams{Context: "DeleteArchiveRuleInput"} 5041 if s.AnalyzerName == nil { 5042 invalidParams.Add(request.NewErrParamRequired("AnalyzerName")) 5043 } 5044 if s.AnalyzerName != nil && len(*s.AnalyzerName) < 1 { 5045 invalidParams.Add(request.NewErrParamMinLen("AnalyzerName", 1)) 5046 } 5047 if s.RuleName == nil { 5048 invalidParams.Add(request.NewErrParamRequired("RuleName")) 5049 } 5050 if s.RuleName != nil && len(*s.RuleName) < 1 { 5051 invalidParams.Add(request.NewErrParamMinLen("RuleName", 1)) 5052 } 5053 5054 if invalidParams.Len() > 0 { 5055 return invalidParams 5056 } 5057 return nil 5058 } 5059 5060 // SetAnalyzerName sets the AnalyzerName field's value. 5061 func (s *DeleteArchiveRuleInput) SetAnalyzerName(v string) *DeleteArchiveRuleInput { 5062 s.AnalyzerName = &v 5063 return s 5064 } 5065 5066 // SetClientToken sets the ClientToken field's value. 5067 func (s *DeleteArchiveRuleInput) SetClientToken(v string) *DeleteArchiveRuleInput { 5068 s.ClientToken = &v 5069 return s 5070 } 5071 5072 // SetRuleName sets the RuleName field's value. 5073 func (s *DeleteArchiveRuleInput) SetRuleName(v string) *DeleteArchiveRuleInput { 5074 s.RuleName = &v 5075 return s 5076 } 5077 5078 type DeleteArchiveRuleOutput struct { 5079 _ struct{} `type:"structure" nopayload:"true"` 5080 } 5081 5082 // String returns the string representation. 5083 // 5084 // API parameter values that are decorated as "sensitive" in the API will not 5085 // be included in the string output. The member name will be present, but the 5086 // value will be replaced with "sensitive". 5087 func (s DeleteArchiveRuleOutput) String() string { 5088 return awsutil.Prettify(s) 5089 } 5090 5091 // GoString returns the string representation. 5092 // 5093 // API parameter values that are decorated as "sensitive" in the API will not 5094 // be included in the string output. The member name will be present, but the 5095 // value will be replaced with "sensitive". 5096 func (s DeleteArchiveRuleOutput) GoString() string { 5097 return s.String() 5098 } 5099 5100 // Contains information about a finding. 5101 type Finding struct { 5102 _ struct{} `type:"structure"` 5103 5104 // The action in the analyzed policy statement that an external principal has 5105 // permission to use. 5106 Action []*string `locationName:"action" type:"list"` 5107 5108 // The time at which the resource was analyzed. 5109 // 5110 // AnalyzedAt is a required field 5111 AnalyzedAt *time.Time `locationName:"analyzedAt" type:"timestamp" timestampFormat:"iso8601" required:"true"` 5112 5113 // The condition in the analyzed policy statement that resulted in a finding. 5114 // 5115 // Condition is a required field 5116 Condition map[string]*string `locationName:"condition" type:"map" required:"true"` 5117 5118 // The time at which the finding was generated. 5119 // 5120 // CreatedAt is a required field 5121 CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" timestampFormat:"iso8601" required:"true"` 5122 5123 // An error. 5124 Error *string `locationName:"error" type:"string"` 5125 5126 // The ID of the finding. 5127 // 5128 // Id is a required field 5129 Id *string `locationName:"id" type:"string" required:"true"` 5130 5131 // Indicates whether the policy that generated the finding allows public access 5132 // to the resource. 5133 IsPublic *bool `locationName:"isPublic" type:"boolean"` 5134 5135 // The external principal that access to a resource within the zone of trust. 5136 Principal map[string]*string `locationName:"principal" type:"map"` 5137 5138 // The resource that an external principal has access to. 5139 Resource *string `locationName:"resource" type:"string"` 5140 5141 // The Amazon Web Services account ID that owns the resource. 5142 // 5143 // ResourceOwnerAccount is a required field 5144 ResourceOwnerAccount *string `locationName:"resourceOwnerAccount" type:"string" required:"true"` 5145 5146 // The type of the resource identified in the finding. 5147 // 5148 // ResourceType is a required field 5149 ResourceType *string `locationName:"resourceType" type:"string" required:"true" enum:"ResourceType"` 5150 5151 // The sources of the finding. This indicates how the access that generated 5152 // the finding is granted. It is populated for Amazon S3 bucket findings. 5153 Sources []*FindingSource `locationName:"sources" type:"list"` 5154 5155 // The current status of the finding. 5156 // 5157 // Status is a required field 5158 Status *string `locationName:"status" type:"string" required:"true" enum:"FindingStatus"` 5159 5160 // The time at which the finding was updated. 5161 // 5162 // UpdatedAt is a required field 5163 UpdatedAt *time.Time `locationName:"updatedAt" type:"timestamp" timestampFormat:"iso8601" required:"true"` 5164 } 5165 5166 // String returns the string representation. 5167 // 5168 // API parameter values that are decorated as "sensitive" in the API will not 5169 // be included in the string output. The member name will be present, but the 5170 // value will be replaced with "sensitive". 5171 func (s Finding) String() string { 5172 return awsutil.Prettify(s) 5173 } 5174 5175 // GoString returns the string representation. 5176 // 5177 // API parameter values that are decorated as "sensitive" in the API will not 5178 // be included in the string output. The member name will be present, but the 5179 // value will be replaced with "sensitive". 5180 func (s Finding) GoString() string { 5181 return s.String() 5182 } 5183 5184 // SetAction sets the Action field's value. 5185 func (s *Finding) SetAction(v []*string) *Finding { 5186 s.Action = v 5187 return s 5188 } 5189 5190 // SetAnalyzedAt sets the AnalyzedAt field's value. 5191 func (s *Finding) SetAnalyzedAt(v time.Time) *Finding { 5192 s.AnalyzedAt = &v 5193 return s 5194 } 5195 5196 // SetCondition sets the Condition field's value. 5197 func (s *Finding) SetCondition(v map[string]*string) *Finding { 5198 s.Condition = v 5199 return s 5200 } 5201 5202 // SetCreatedAt sets the CreatedAt field's value. 5203 func (s *Finding) SetCreatedAt(v time.Time) *Finding { 5204 s.CreatedAt = &v 5205 return s 5206 } 5207 5208 // SetError sets the Error field's value. 5209 func (s *Finding) SetError(v string) *Finding { 5210 s.Error = &v 5211 return s 5212 } 5213 5214 // SetId sets the Id field's value. 5215 func (s *Finding) SetId(v string) *Finding { 5216 s.Id = &v 5217 return s 5218 } 5219 5220 // SetIsPublic sets the IsPublic field's value. 5221 func (s *Finding) SetIsPublic(v bool) *Finding { 5222 s.IsPublic = &v 5223 return s 5224 } 5225 5226 // SetPrincipal sets the Principal field's value. 5227 func (s *Finding) SetPrincipal(v map[string]*string) *Finding { 5228 s.Principal = v 5229 return s 5230 } 5231 5232 // SetResource sets the Resource field's value. 5233 func (s *Finding) SetResource(v string) *Finding { 5234 s.Resource = &v 5235 return s 5236 } 5237 5238 // SetResourceOwnerAccount sets the ResourceOwnerAccount field's value. 5239 func (s *Finding) SetResourceOwnerAccount(v string) *Finding { 5240 s.ResourceOwnerAccount = &v 5241 return s 5242 } 5243 5244 // SetResourceType sets the ResourceType field's value. 5245 func (s *Finding) SetResourceType(v string) *Finding { 5246 s.ResourceType = &v 5247 return s 5248 } 5249 5250 // SetSources sets the Sources field's value. 5251 func (s *Finding) SetSources(v []*FindingSource) *Finding { 5252 s.Sources = v 5253 return s 5254 } 5255 5256 // SetStatus sets the Status field's value. 5257 func (s *Finding) SetStatus(v string) *Finding { 5258 s.Status = &v 5259 return s 5260 } 5261 5262 // SetUpdatedAt sets the UpdatedAt field's value. 5263 func (s *Finding) SetUpdatedAt(v time.Time) *Finding { 5264 s.UpdatedAt = &v 5265 return s 5266 } 5267 5268 // The source of the finding. This indicates how the access that generated the 5269 // finding is granted. It is populated for Amazon S3 bucket findings. 5270 type FindingSource struct { 5271 _ struct{} `type:"structure"` 5272 5273 // Includes details about how the access that generated the finding is granted. 5274 // This is populated for Amazon S3 bucket findings. 5275 Detail *FindingSourceDetail `locationName:"detail" type:"structure"` 5276 5277 // Indicates the type of access that generated the finding. 5278 // 5279 // Type is a required field 5280 Type *string `locationName:"type" type:"string" required:"true" enum:"FindingSourceType"` 5281 } 5282 5283 // String returns the string representation. 5284 // 5285 // API parameter values that are decorated as "sensitive" in the API will not 5286 // be included in the string output. The member name will be present, but the 5287 // value will be replaced with "sensitive". 5288 func (s FindingSource) String() string { 5289 return awsutil.Prettify(s) 5290 } 5291 5292 // GoString returns the string representation. 5293 // 5294 // API parameter values that are decorated as "sensitive" in the API will not 5295 // be included in the string output. The member name will be present, but the 5296 // value will be replaced with "sensitive". 5297 func (s FindingSource) GoString() string { 5298 return s.String() 5299 } 5300 5301 // SetDetail sets the Detail field's value. 5302 func (s *FindingSource) SetDetail(v *FindingSourceDetail) *FindingSource { 5303 s.Detail = v 5304 return s 5305 } 5306 5307 // SetType sets the Type field's value. 5308 func (s *FindingSource) SetType(v string) *FindingSource { 5309 s.Type = &v 5310 return s 5311 } 5312 5313 // Includes details about how the access that generated the finding is granted. 5314 // This is populated for Amazon S3 bucket findings. 5315 type FindingSourceDetail struct { 5316 _ struct{} `type:"structure"` 5317 5318 // The ARN of the access point that generated the finding. The ARN format depends 5319 // on whether the ARN represents an access point or a multi-region access point. 5320 AccessPointArn *string `locationName:"accessPointArn" type:"string"` 5321 } 5322 5323 // String returns the string representation. 5324 // 5325 // API parameter values that are decorated as "sensitive" in the API will not 5326 // be included in the string output. The member name will be present, but the 5327 // value will be replaced with "sensitive". 5328 func (s FindingSourceDetail) String() string { 5329 return awsutil.Prettify(s) 5330 } 5331 5332 // GoString returns the string representation. 5333 // 5334 // API parameter values that are decorated as "sensitive" in the API will not 5335 // be included in the string output. The member name will be present, but the 5336 // value will be replaced with "sensitive". 5337 func (s FindingSourceDetail) GoString() string { 5338 return s.String() 5339 } 5340 5341 // SetAccessPointArn sets the AccessPointArn field's value. 5342 func (s *FindingSourceDetail) SetAccessPointArn(v string) *FindingSourceDetail { 5343 s.AccessPointArn = &v 5344 return s 5345 } 5346 5347 // Contains information about a finding. 5348 type FindingSummary struct { 5349 _ struct{} `type:"structure"` 5350 5351 // The action in the analyzed policy statement that an external principal has 5352 // permission to use. 5353 Action []*string `locationName:"action" type:"list"` 5354 5355 // The time at which the resource-based policy that generated the finding was 5356 // analyzed. 5357 // 5358 // AnalyzedAt is a required field 5359 AnalyzedAt *time.Time `locationName:"analyzedAt" type:"timestamp" timestampFormat:"iso8601" required:"true"` 5360 5361 // The condition in the analyzed policy statement that resulted in a finding. 5362 // 5363 // Condition is a required field 5364 Condition map[string]*string `locationName:"condition" type:"map" required:"true"` 5365 5366 // The time at which the finding was created. 5367 // 5368 // CreatedAt is a required field 5369 CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" timestampFormat:"iso8601" required:"true"` 5370 5371 // The error that resulted in an Error finding. 5372 Error *string `locationName:"error" type:"string"` 5373 5374 // The ID of the finding. 5375 // 5376 // Id is a required field 5377 Id *string `locationName:"id" type:"string" required:"true"` 5378 5379 // Indicates whether the finding reports a resource that has a policy that allows 5380 // public access. 5381 IsPublic *bool `locationName:"isPublic" type:"boolean"` 5382 5383 // The external principal that has access to a resource within the zone of trust. 5384 Principal map[string]*string `locationName:"principal" type:"map"` 5385 5386 // The resource that the external principal has access to. 5387 Resource *string `locationName:"resource" type:"string"` 5388 5389 // The Amazon Web Services account ID that owns the resource. 5390 // 5391 // ResourceOwnerAccount is a required field 5392 ResourceOwnerAccount *string `locationName:"resourceOwnerAccount" type:"string" required:"true"` 5393 5394 // The type of the resource that the external principal has access to. 5395 // 5396 // ResourceType is a required field 5397 ResourceType *string `locationName:"resourceType" type:"string" required:"true" enum:"ResourceType"` 5398 5399 // The sources of the finding. This indicates how the access that generated 5400 // the finding is granted. It is populated for Amazon S3 bucket findings. 5401 Sources []*FindingSource `locationName:"sources" type:"list"` 5402 5403 // The status of the finding. 5404 // 5405 // Status is a required field 5406 Status *string `locationName:"status" type:"string" required:"true" enum:"FindingStatus"` 5407 5408 // The time at which the finding was most recently updated. 5409 // 5410 // UpdatedAt is a required field 5411 UpdatedAt *time.Time `locationName:"updatedAt" type:"timestamp" timestampFormat:"iso8601" required:"true"` 5412 } 5413 5414 // String returns the string representation. 5415 // 5416 // API parameter values that are decorated as "sensitive" in the API will not 5417 // be included in the string output. The member name will be present, but the 5418 // value will be replaced with "sensitive". 5419 func (s FindingSummary) String() string { 5420 return awsutil.Prettify(s) 5421 } 5422 5423 // GoString returns the string representation. 5424 // 5425 // API parameter values that are decorated as "sensitive" in the API will not 5426 // be included in the string output. The member name will be present, but the 5427 // value will be replaced with "sensitive". 5428 func (s FindingSummary) GoString() string { 5429 return s.String() 5430 } 5431 5432 // SetAction sets the Action field's value. 5433 func (s *FindingSummary) SetAction(v []*string) *FindingSummary { 5434 s.Action = v 5435 return s 5436 } 5437 5438 // SetAnalyzedAt sets the AnalyzedAt field's value. 5439 func (s *FindingSummary) SetAnalyzedAt(v time.Time) *FindingSummary { 5440 s.AnalyzedAt = &v 5441 return s 5442 } 5443 5444 // SetCondition sets the Condition field's value. 5445 func (s *FindingSummary) SetCondition(v map[string]*string) *FindingSummary { 5446 s.Condition = v 5447 return s 5448 } 5449 5450 // SetCreatedAt sets the CreatedAt field's value. 5451 func (s *FindingSummary) SetCreatedAt(v time.Time) *FindingSummary { 5452 s.CreatedAt = &v 5453 return s 5454 } 5455 5456 // SetError sets the Error field's value. 5457 func (s *FindingSummary) SetError(v string) *FindingSummary { 5458 s.Error = &v 5459 return s 5460 } 5461 5462 // SetId sets the Id field's value. 5463 func (s *FindingSummary) SetId(v string) *FindingSummary { 5464 s.Id = &v 5465 return s 5466 } 5467 5468 // SetIsPublic sets the IsPublic field's value. 5469 func (s *FindingSummary) SetIsPublic(v bool) *FindingSummary { 5470 s.IsPublic = &v 5471 return s 5472 } 5473 5474 // SetPrincipal sets the Principal field's value. 5475 func (s *FindingSummary) SetPrincipal(v map[string]*string) *FindingSummary { 5476 s.Principal = v 5477 return s 5478 } 5479 5480 // SetResource sets the Resource field's value. 5481 func (s *FindingSummary) SetResource(v string) *FindingSummary { 5482 s.Resource = &v 5483 return s 5484 } 5485 5486 // SetResourceOwnerAccount sets the ResourceOwnerAccount field's value. 5487 func (s *FindingSummary) SetResourceOwnerAccount(v string) *FindingSummary { 5488 s.ResourceOwnerAccount = &v 5489 return s 5490 } 5491 5492 // SetResourceType sets the ResourceType field's value. 5493 func (s *FindingSummary) SetResourceType(v string) *FindingSummary { 5494 s.ResourceType = &v 5495 return s 5496 } 5497 5498 // SetSources sets the Sources field's value. 5499 func (s *FindingSummary) SetSources(v []*FindingSource) *FindingSummary { 5500 s.Sources = v 5501 return s 5502 } 5503 5504 // SetStatus sets the Status field's value. 5505 func (s *FindingSummary) SetStatus(v string) *FindingSummary { 5506 s.Status = &v 5507 return s 5508 } 5509 5510 // SetUpdatedAt sets the UpdatedAt field's value. 5511 func (s *FindingSummary) SetUpdatedAt(v time.Time) *FindingSummary { 5512 s.UpdatedAt = &v 5513 return s 5514 } 5515 5516 // Contains the text for the generated policy. 5517 type GeneratedPolicy struct { 5518 _ struct{} `type:"structure"` 5519 5520 // The text to use as the content for the new policy. The policy is created 5521 // using the CreatePolicy (https://docs.aws.amazon.com/IAM/latest/APIReference/API_CreatePolicy.html) 5522 // action. 5523 // 5524 // Policy is a required field 5525 Policy *string `locationName:"policy" type:"string" required:"true"` 5526 } 5527 5528 // String returns the string representation. 5529 // 5530 // API parameter values that are decorated as "sensitive" in the API will not 5531 // be included in the string output. The member name will be present, but the 5532 // value will be replaced with "sensitive". 5533 func (s GeneratedPolicy) String() string { 5534 return awsutil.Prettify(s) 5535 } 5536 5537 // GoString returns the string representation. 5538 // 5539 // API parameter values that are decorated as "sensitive" in the API will not 5540 // be included in the string output. The member name will be present, but the 5541 // value will be replaced with "sensitive". 5542 func (s GeneratedPolicy) GoString() string { 5543 return s.String() 5544 } 5545 5546 // SetPolicy sets the Policy field's value. 5547 func (s *GeneratedPolicy) SetPolicy(v string) *GeneratedPolicy { 5548 s.Policy = &v 5549 return s 5550 } 5551 5552 // Contains the generated policy details. 5553 type GeneratedPolicyProperties struct { 5554 _ struct{} `type:"structure"` 5555 5556 // Lists details about the Trail used to generated policy. 5557 CloudTrailProperties *CloudTrailProperties `locationName:"cloudTrailProperties" type:"structure"` 5558 5559 // This value is set to true if the generated policy contains all possible actions 5560 // for a service that IAM Access Analyzer identified from the CloudTrail trail 5561 // that you specified, and false otherwise. 5562 IsComplete *bool `locationName:"isComplete" type:"boolean"` 5563 5564 // The ARN of the IAM entity (user or role) for which you are generating a policy. 5565 // 5566 // PrincipalArn is a required field 5567 PrincipalArn *string `locationName:"principalArn" type:"string" required:"true"` 5568 } 5569 5570 // String returns the string representation. 5571 // 5572 // API parameter values that are decorated as "sensitive" in the API will not 5573 // be included in the string output. The member name will be present, but the 5574 // value will be replaced with "sensitive". 5575 func (s GeneratedPolicyProperties) String() string { 5576 return awsutil.Prettify(s) 5577 } 5578 5579 // GoString returns the string representation. 5580 // 5581 // API parameter values that are decorated as "sensitive" in the API will not 5582 // be included in the string output. The member name will be present, but the 5583 // value will be replaced with "sensitive". 5584 func (s GeneratedPolicyProperties) GoString() string { 5585 return s.String() 5586 } 5587 5588 // SetCloudTrailProperties sets the CloudTrailProperties field's value. 5589 func (s *GeneratedPolicyProperties) SetCloudTrailProperties(v *CloudTrailProperties) *GeneratedPolicyProperties { 5590 s.CloudTrailProperties = v 5591 return s 5592 } 5593 5594 // SetIsComplete sets the IsComplete field's value. 5595 func (s *GeneratedPolicyProperties) SetIsComplete(v bool) *GeneratedPolicyProperties { 5596 s.IsComplete = &v 5597 return s 5598 } 5599 5600 // SetPrincipalArn sets the PrincipalArn field's value. 5601 func (s *GeneratedPolicyProperties) SetPrincipalArn(v string) *GeneratedPolicyProperties { 5602 s.PrincipalArn = &v 5603 return s 5604 } 5605 5606 // Contains the text for the generated policy and its details. 5607 type GeneratedPolicyResult struct { 5608 _ struct{} `type:"structure"` 5609 5610 // The text to use as the content for the new policy. The policy is created 5611 // using the CreatePolicy (https://docs.aws.amazon.com/IAM/latest/APIReference/API_CreatePolicy.html) 5612 // action. 5613 GeneratedPolicies []*GeneratedPolicy `locationName:"generatedPolicies" type:"list"` 5614 5615 // A GeneratedPolicyProperties object that contains properties of the generated 5616 // policy. 5617 // 5618 // Properties is a required field 5619 Properties *GeneratedPolicyProperties `locationName:"properties" type:"structure" required:"true"` 5620 } 5621 5622 // String returns the string representation. 5623 // 5624 // API parameter values that are decorated as "sensitive" in the API will not 5625 // be included in the string output. The member name will be present, but the 5626 // value will be replaced with "sensitive". 5627 func (s GeneratedPolicyResult) String() string { 5628 return awsutil.Prettify(s) 5629 } 5630 5631 // GoString returns the string representation. 5632 // 5633 // API parameter values that are decorated as "sensitive" in the API will not 5634 // be included in the string output. The member name will be present, but the 5635 // value will be replaced with "sensitive". 5636 func (s GeneratedPolicyResult) GoString() string { 5637 return s.String() 5638 } 5639 5640 // SetGeneratedPolicies sets the GeneratedPolicies field's value. 5641 func (s *GeneratedPolicyResult) SetGeneratedPolicies(v []*GeneratedPolicy) *GeneratedPolicyResult { 5642 s.GeneratedPolicies = v 5643 return s 5644 } 5645 5646 // SetProperties sets the Properties field's value. 5647 func (s *GeneratedPolicyResult) SetProperties(v *GeneratedPolicyProperties) *GeneratedPolicyResult { 5648 s.Properties = v 5649 return s 5650 } 5651 5652 type GetAccessPreviewInput struct { 5653 _ struct{} `type:"structure" nopayload:"true"` 5654 5655 // The unique ID for the access preview. 5656 // 5657 // AccessPreviewId is a required field 5658 AccessPreviewId *string `location:"uri" locationName:"accessPreviewId" type:"string" required:"true"` 5659 5660 // The ARN of the analyzer (https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-getting-started.html#permission-resources) 5661 // used to generate the access preview. 5662 // 5663 // AnalyzerArn is a required field 5664 AnalyzerArn *string `location:"querystring" locationName:"analyzerArn" type:"string" required:"true"` 5665 } 5666 5667 // String returns the string representation. 5668 // 5669 // API parameter values that are decorated as "sensitive" in the API will not 5670 // be included in the string output. The member name will be present, but the 5671 // value will be replaced with "sensitive". 5672 func (s GetAccessPreviewInput) String() string { 5673 return awsutil.Prettify(s) 5674 } 5675 5676 // GoString returns the string representation. 5677 // 5678 // API parameter values that are decorated as "sensitive" in the API will not 5679 // be included in the string output. The member name will be present, but the 5680 // value will be replaced with "sensitive". 5681 func (s GetAccessPreviewInput) GoString() string { 5682 return s.String() 5683 } 5684 5685 // Validate inspects the fields of the type to determine if they are valid. 5686 func (s *GetAccessPreviewInput) Validate() error { 5687 invalidParams := request.ErrInvalidParams{Context: "GetAccessPreviewInput"} 5688 if s.AccessPreviewId == nil { 5689 invalidParams.Add(request.NewErrParamRequired("AccessPreviewId")) 5690 } 5691 if s.AccessPreviewId != nil && len(*s.AccessPreviewId) < 1 { 5692 invalidParams.Add(request.NewErrParamMinLen("AccessPreviewId", 1)) 5693 } 5694 if s.AnalyzerArn == nil { 5695 invalidParams.Add(request.NewErrParamRequired("AnalyzerArn")) 5696 } 5697 5698 if invalidParams.Len() > 0 { 5699 return invalidParams 5700 } 5701 return nil 5702 } 5703 5704 // SetAccessPreviewId sets the AccessPreviewId field's value. 5705 func (s *GetAccessPreviewInput) SetAccessPreviewId(v string) *GetAccessPreviewInput { 5706 s.AccessPreviewId = &v 5707 return s 5708 } 5709 5710 // SetAnalyzerArn sets the AnalyzerArn field's value. 5711 func (s *GetAccessPreviewInput) SetAnalyzerArn(v string) *GetAccessPreviewInput { 5712 s.AnalyzerArn = &v 5713 return s 5714 } 5715 5716 type GetAccessPreviewOutput struct { 5717 _ struct{} `type:"structure"` 5718 5719 // An object that contains information about the access preview. 5720 // 5721 // AccessPreview is a required field 5722 AccessPreview *AccessPreview `locationName:"accessPreview" type:"structure" required:"true"` 5723 } 5724 5725 // String returns the string representation. 5726 // 5727 // API parameter values that are decorated as "sensitive" in the API will not 5728 // be included in the string output. The member name will be present, but the 5729 // value will be replaced with "sensitive". 5730 func (s GetAccessPreviewOutput) String() string { 5731 return awsutil.Prettify(s) 5732 } 5733 5734 // GoString returns the string representation. 5735 // 5736 // API parameter values that are decorated as "sensitive" in the API will not 5737 // be included in the string output. The member name will be present, but the 5738 // value will be replaced with "sensitive". 5739 func (s GetAccessPreviewOutput) GoString() string { 5740 return s.String() 5741 } 5742 5743 // SetAccessPreview sets the AccessPreview field's value. 5744 func (s *GetAccessPreviewOutput) SetAccessPreview(v *AccessPreview) *GetAccessPreviewOutput { 5745 s.AccessPreview = v 5746 return s 5747 } 5748 5749 // Retrieves an analyzed resource. 5750 type GetAnalyzedResourceInput struct { 5751 _ struct{} `type:"structure" nopayload:"true"` 5752 5753 // The ARN of the analyzer (https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-getting-started.html#permission-resources) 5754 // to retrieve information from. 5755 // 5756 // AnalyzerArn is a required field 5757 AnalyzerArn *string `location:"querystring" locationName:"analyzerArn" type:"string" required:"true"` 5758 5759 // The ARN of the resource to retrieve information about. 5760 // 5761 // ResourceArn is a required field 5762 ResourceArn *string `location:"querystring" locationName:"resourceArn" type:"string" required:"true"` 5763 } 5764 5765 // String returns the string representation. 5766 // 5767 // API parameter values that are decorated as "sensitive" in the API will not 5768 // be included in the string output. The member name will be present, but the 5769 // value will be replaced with "sensitive". 5770 func (s GetAnalyzedResourceInput) String() string { 5771 return awsutil.Prettify(s) 5772 } 5773 5774 // GoString returns the string representation. 5775 // 5776 // API parameter values that are decorated as "sensitive" in the API will not 5777 // be included in the string output. The member name will be present, but the 5778 // value will be replaced with "sensitive". 5779 func (s GetAnalyzedResourceInput) GoString() string { 5780 return s.String() 5781 } 5782 5783 // Validate inspects the fields of the type to determine if they are valid. 5784 func (s *GetAnalyzedResourceInput) Validate() error { 5785 invalidParams := request.ErrInvalidParams{Context: "GetAnalyzedResourceInput"} 5786 if s.AnalyzerArn == nil { 5787 invalidParams.Add(request.NewErrParamRequired("AnalyzerArn")) 5788 } 5789 if s.ResourceArn == nil { 5790 invalidParams.Add(request.NewErrParamRequired("ResourceArn")) 5791 } 5792 5793 if invalidParams.Len() > 0 { 5794 return invalidParams 5795 } 5796 return nil 5797 } 5798 5799 // SetAnalyzerArn sets the AnalyzerArn field's value. 5800 func (s *GetAnalyzedResourceInput) SetAnalyzerArn(v string) *GetAnalyzedResourceInput { 5801 s.AnalyzerArn = &v 5802 return s 5803 } 5804 5805 // SetResourceArn sets the ResourceArn field's value. 5806 func (s *GetAnalyzedResourceInput) SetResourceArn(v string) *GetAnalyzedResourceInput { 5807 s.ResourceArn = &v 5808 return s 5809 } 5810 5811 // The response to the request. 5812 type GetAnalyzedResourceOutput struct { 5813 _ struct{} `type:"structure"` 5814 5815 // An AnalyzedResource object that contains information that IAM Access Analyzer 5816 // found when it analyzed the resource. 5817 Resource *AnalyzedResource `locationName:"resource" type:"structure"` 5818 } 5819 5820 // String returns the string representation. 5821 // 5822 // API parameter values that are decorated as "sensitive" in the API will not 5823 // be included in the string output. The member name will be present, but the 5824 // value will be replaced with "sensitive". 5825 func (s GetAnalyzedResourceOutput) String() string { 5826 return awsutil.Prettify(s) 5827 } 5828 5829 // GoString returns the string representation. 5830 // 5831 // API parameter values that are decorated as "sensitive" in the API will not 5832 // be included in the string output. The member name will be present, but the 5833 // value will be replaced with "sensitive". 5834 func (s GetAnalyzedResourceOutput) GoString() string { 5835 return s.String() 5836 } 5837 5838 // SetResource sets the Resource field's value. 5839 func (s *GetAnalyzedResourceOutput) SetResource(v *AnalyzedResource) *GetAnalyzedResourceOutput { 5840 s.Resource = v 5841 return s 5842 } 5843 5844 // Retrieves an analyzer. 5845 type GetAnalyzerInput struct { 5846 _ struct{} `type:"structure" nopayload:"true"` 5847 5848 // The name of the analyzer retrieved. 5849 // 5850 // AnalyzerName is a required field 5851 AnalyzerName *string `location:"uri" locationName:"analyzerName" min:"1" type:"string" required:"true"` 5852 } 5853 5854 // String returns the string representation. 5855 // 5856 // API parameter values that are decorated as "sensitive" in the API will not 5857 // be included in the string output. The member name will be present, but the 5858 // value will be replaced with "sensitive". 5859 func (s GetAnalyzerInput) String() string { 5860 return awsutil.Prettify(s) 5861 } 5862 5863 // GoString returns the string representation. 5864 // 5865 // API parameter values that are decorated as "sensitive" in the API will not 5866 // be included in the string output. The member name will be present, but the 5867 // value will be replaced with "sensitive". 5868 func (s GetAnalyzerInput) GoString() string { 5869 return s.String() 5870 } 5871 5872 // Validate inspects the fields of the type to determine if they are valid. 5873 func (s *GetAnalyzerInput) Validate() error { 5874 invalidParams := request.ErrInvalidParams{Context: "GetAnalyzerInput"} 5875 if s.AnalyzerName == nil { 5876 invalidParams.Add(request.NewErrParamRequired("AnalyzerName")) 5877 } 5878 if s.AnalyzerName != nil && len(*s.AnalyzerName) < 1 { 5879 invalidParams.Add(request.NewErrParamMinLen("AnalyzerName", 1)) 5880 } 5881 5882 if invalidParams.Len() > 0 { 5883 return invalidParams 5884 } 5885 return nil 5886 } 5887 5888 // SetAnalyzerName sets the AnalyzerName field's value. 5889 func (s *GetAnalyzerInput) SetAnalyzerName(v string) *GetAnalyzerInput { 5890 s.AnalyzerName = &v 5891 return s 5892 } 5893 5894 // The response to the request. 5895 type GetAnalyzerOutput struct { 5896 _ struct{} `type:"structure"` 5897 5898 // An AnalyzerSummary object that contains information about the analyzer. 5899 // 5900 // Analyzer is a required field 5901 Analyzer *AnalyzerSummary `locationName:"analyzer" type:"structure" required:"true"` 5902 } 5903 5904 // String returns the string representation. 5905 // 5906 // API parameter values that are decorated as "sensitive" in the API will not 5907 // be included in the string output. The member name will be present, but the 5908 // value will be replaced with "sensitive". 5909 func (s GetAnalyzerOutput) String() string { 5910 return awsutil.Prettify(s) 5911 } 5912 5913 // GoString returns the string representation. 5914 // 5915 // API parameter values that are decorated as "sensitive" in the API will not 5916 // be included in the string output. The member name will be present, but the 5917 // value will be replaced with "sensitive". 5918 func (s GetAnalyzerOutput) GoString() string { 5919 return s.String() 5920 } 5921 5922 // SetAnalyzer sets the Analyzer field's value. 5923 func (s *GetAnalyzerOutput) SetAnalyzer(v *AnalyzerSummary) *GetAnalyzerOutput { 5924 s.Analyzer = v 5925 return s 5926 } 5927 5928 // Retrieves an archive rule. 5929 type GetArchiveRuleInput struct { 5930 _ struct{} `type:"structure" nopayload:"true"` 5931 5932 // The name of the analyzer to retrieve rules from. 5933 // 5934 // AnalyzerName is a required field 5935 AnalyzerName *string `location:"uri" locationName:"analyzerName" min:"1" type:"string" required:"true"` 5936 5937 // The name of the rule to retrieve. 5938 // 5939 // RuleName is a required field 5940 RuleName *string `location:"uri" locationName:"ruleName" min:"1" type:"string" required:"true"` 5941 } 5942 5943 // String returns the string representation. 5944 // 5945 // API parameter values that are decorated as "sensitive" in the API will not 5946 // be included in the string output. The member name will be present, but the 5947 // value will be replaced with "sensitive". 5948 func (s GetArchiveRuleInput) String() string { 5949 return awsutil.Prettify(s) 5950 } 5951 5952 // GoString returns the string representation. 5953 // 5954 // API parameter values that are decorated as "sensitive" in the API will not 5955 // be included in the string output. The member name will be present, but the 5956 // value will be replaced with "sensitive". 5957 func (s GetArchiveRuleInput) GoString() string { 5958 return s.String() 5959 } 5960 5961 // Validate inspects the fields of the type to determine if they are valid. 5962 func (s *GetArchiveRuleInput) Validate() error { 5963 invalidParams := request.ErrInvalidParams{Context: "GetArchiveRuleInput"} 5964 if s.AnalyzerName == nil { 5965 invalidParams.Add(request.NewErrParamRequired("AnalyzerName")) 5966 } 5967 if s.AnalyzerName != nil && len(*s.AnalyzerName) < 1 { 5968 invalidParams.Add(request.NewErrParamMinLen("AnalyzerName", 1)) 5969 } 5970 if s.RuleName == nil { 5971 invalidParams.Add(request.NewErrParamRequired("RuleName")) 5972 } 5973 if s.RuleName != nil && len(*s.RuleName) < 1 { 5974 invalidParams.Add(request.NewErrParamMinLen("RuleName", 1)) 5975 } 5976 5977 if invalidParams.Len() > 0 { 5978 return invalidParams 5979 } 5980 return nil 5981 } 5982 5983 // SetAnalyzerName sets the AnalyzerName field's value. 5984 func (s *GetArchiveRuleInput) SetAnalyzerName(v string) *GetArchiveRuleInput { 5985 s.AnalyzerName = &v 5986 return s 5987 } 5988 5989 // SetRuleName sets the RuleName field's value. 5990 func (s *GetArchiveRuleInput) SetRuleName(v string) *GetArchiveRuleInput { 5991 s.RuleName = &v 5992 return s 5993 } 5994 5995 // The response to the request. 5996 type GetArchiveRuleOutput struct { 5997 _ struct{} `type:"structure"` 5998 5999 // Contains information about an archive rule. 6000 // 6001 // ArchiveRule is a required field 6002 ArchiveRule *ArchiveRuleSummary `locationName:"archiveRule" type:"structure" required:"true"` 6003 } 6004 6005 // String returns the string representation. 6006 // 6007 // API parameter values that are decorated as "sensitive" in the API will not 6008 // be included in the string output. The member name will be present, but the 6009 // value will be replaced with "sensitive". 6010 func (s GetArchiveRuleOutput) String() string { 6011 return awsutil.Prettify(s) 6012 } 6013 6014 // GoString returns the string representation. 6015 // 6016 // API parameter values that are decorated as "sensitive" in the API will not 6017 // be included in the string output. The member name will be present, but the 6018 // value will be replaced with "sensitive". 6019 func (s GetArchiveRuleOutput) GoString() string { 6020 return s.String() 6021 } 6022 6023 // SetArchiveRule sets the ArchiveRule field's value. 6024 func (s *GetArchiveRuleOutput) SetArchiveRule(v *ArchiveRuleSummary) *GetArchiveRuleOutput { 6025 s.ArchiveRule = v 6026 return s 6027 } 6028 6029 // Retrieves a finding. 6030 type GetFindingInput struct { 6031 _ struct{} `type:"structure" nopayload:"true"` 6032 6033 // The ARN of the analyzer (https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-getting-started.html#permission-resources) 6034 // that generated the finding. 6035 // 6036 // AnalyzerArn is a required field 6037 AnalyzerArn *string `location:"querystring" locationName:"analyzerArn" type:"string" required:"true"` 6038 6039 // The ID of the finding to retrieve. 6040 // 6041 // Id is a required field 6042 Id *string `location:"uri" locationName:"id" type:"string" required:"true"` 6043 } 6044 6045 // String returns the string representation. 6046 // 6047 // API parameter values that are decorated as "sensitive" in the API will not 6048 // be included in the string output. The member name will be present, but the 6049 // value will be replaced with "sensitive". 6050 func (s GetFindingInput) String() string { 6051 return awsutil.Prettify(s) 6052 } 6053 6054 // GoString returns the string representation. 6055 // 6056 // API parameter values that are decorated as "sensitive" in the API will not 6057 // be included in the string output. The member name will be present, but the 6058 // value will be replaced with "sensitive". 6059 func (s GetFindingInput) GoString() string { 6060 return s.String() 6061 } 6062 6063 // Validate inspects the fields of the type to determine if they are valid. 6064 func (s *GetFindingInput) Validate() error { 6065 invalidParams := request.ErrInvalidParams{Context: "GetFindingInput"} 6066 if s.AnalyzerArn == nil { 6067 invalidParams.Add(request.NewErrParamRequired("AnalyzerArn")) 6068 } 6069 if s.Id == nil { 6070 invalidParams.Add(request.NewErrParamRequired("Id")) 6071 } 6072 if s.Id != nil && len(*s.Id) < 1 { 6073 invalidParams.Add(request.NewErrParamMinLen("Id", 1)) 6074 } 6075 6076 if invalidParams.Len() > 0 { 6077 return invalidParams 6078 } 6079 return nil 6080 } 6081 6082 // SetAnalyzerArn sets the AnalyzerArn field's value. 6083 func (s *GetFindingInput) SetAnalyzerArn(v string) *GetFindingInput { 6084 s.AnalyzerArn = &v 6085 return s 6086 } 6087 6088 // SetId sets the Id field's value. 6089 func (s *GetFindingInput) SetId(v string) *GetFindingInput { 6090 s.Id = &v 6091 return s 6092 } 6093 6094 // The response to the request. 6095 type GetFindingOutput struct { 6096 _ struct{} `type:"structure"` 6097 6098 // A finding object that contains finding details. 6099 Finding *Finding `locationName:"finding" type:"structure"` 6100 } 6101 6102 // String returns the string representation. 6103 // 6104 // API parameter values that are decorated as "sensitive" in the API will not 6105 // be included in the string output. The member name will be present, but the 6106 // value will be replaced with "sensitive". 6107 func (s GetFindingOutput) String() string { 6108 return awsutil.Prettify(s) 6109 } 6110 6111 // GoString returns the string representation. 6112 // 6113 // API parameter values that are decorated as "sensitive" in the API will not 6114 // be included in the string output. The member name will be present, but the 6115 // value will be replaced with "sensitive". 6116 func (s GetFindingOutput) GoString() string { 6117 return s.String() 6118 } 6119 6120 // SetFinding sets the Finding field's value. 6121 func (s *GetFindingOutput) SetFinding(v *Finding) *GetFindingOutput { 6122 s.Finding = v 6123 return s 6124 } 6125 6126 type GetGeneratedPolicyInput struct { 6127 _ struct{} `type:"structure" nopayload:"true"` 6128 6129 // The level of detail that you want to generate. You can specify whether to 6130 // generate policies with placeholders for resource ARNs for actions that support 6131 // resource level granularity in policies. 6132 // 6133 // For example, in the resource section of a policy, you can receive a placeholder 6134 // such as "Resource":"arn:aws:s3:::${BucketName}" instead of "*". 6135 IncludeResourcePlaceholders *bool `location:"querystring" locationName:"includeResourcePlaceholders" type:"boolean"` 6136 6137 // The level of detail that you want to generate. You can specify whether to 6138 // generate service-level policies. 6139 // 6140 // IAM Access Analyzer uses iam:servicelastaccessed to identify services that 6141 // have been used recently to create this service-level template. 6142 IncludeServiceLevelTemplate *bool `location:"querystring" locationName:"includeServiceLevelTemplate" type:"boolean"` 6143 6144 // The JobId that is returned by the StartPolicyGeneration operation. The JobId 6145 // can be used with GetGeneratedPolicy to retrieve the generated policies or 6146 // used with CancelPolicyGeneration to cancel the policy generation request. 6147 // 6148 // JobId is a required field 6149 JobId *string `location:"uri" locationName:"jobId" type:"string" required:"true"` 6150 } 6151 6152 // String returns the string representation. 6153 // 6154 // API parameter values that are decorated as "sensitive" in the API will not 6155 // be included in the string output. The member name will be present, but the 6156 // value will be replaced with "sensitive". 6157 func (s GetGeneratedPolicyInput) String() string { 6158 return awsutil.Prettify(s) 6159 } 6160 6161 // GoString returns the string representation. 6162 // 6163 // API parameter values that are decorated as "sensitive" in the API will not 6164 // be included in the string output. The member name will be present, but the 6165 // value will be replaced with "sensitive". 6166 func (s GetGeneratedPolicyInput) GoString() string { 6167 return s.String() 6168 } 6169 6170 // Validate inspects the fields of the type to determine if they are valid. 6171 func (s *GetGeneratedPolicyInput) Validate() error { 6172 invalidParams := request.ErrInvalidParams{Context: "GetGeneratedPolicyInput"} 6173 if s.JobId == nil { 6174 invalidParams.Add(request.NewErrParamRequired("JobId")) 6175 } 6176 if s.JobId != nil && len(*s.JobId) < 1 { 6177 invalidParams.Add(request.NewErrParamMinLen("JobId", 1)) 6178 } 6179 6180 if invalidParams.Len() > 0 { 6181 return invalidParams 6182 } 6183 return nil 6184 } 6185 6186 // SetIncludeResourcePlaceholders sets the IncludeResourcePlaceholders field's value. 6187 func (s *GetGeneratedPolicyInput) SetIncludeResourcePlaceholders(v bool) *GetGeneratedPolicyInput { 6188 s.IncludeResourcePlaceholders = &v 6189 return s 6190 } 6191 6192 // SetIncludeServiceLevelTemplate sets the IncludeServiceLevelTemplate field's value. 6193 func (s *GetGeneratedPolicyInput) SetIncludeServiceLevelTemplate(v bool) *GetGeneratedPolicyInput { 6194 s.IncludeServiceLevelTemplate = &v 6195 return s 6196 } 6197 6198 // SetJobId sets the JobId field's value. 6199 func (s *GetGeneratedPolicyInput) SetJobId(v string) *GetGeneratedPolicyInput { 6200 s.JobId = &v 6201 return s 6202 } 6203 6204 type GetGeneratedPolicyOutput struct { 6205 _ struct{} `type:"structure"` 6206 6207 // A GeneratedPolicyResult object that contains the generated policies and associated 6208 // details. 6209 // 6210 // GeneratedPolicyResult is a required field 6211 GeneratedPolicyResult *GeneratedPolicyResult `locationName:"generatedPolicyResult" type:"structure" required:"true"` 6212 6213 // A GeneratedPolicyDetails object that contains details about the generated 6214 // policy. 6215 // 6216 // JobDetails is a required field 6217 JobDetails *JobDetails `locationName:"jobDetails" type:"structure" required:"true"` 6218 } 6219 6220 // String returns the string representation. 6221 // 6222 // API parameter values that are decorated as "sensitive" in the API will not 6223 // be included in the string output. The member name will be present, but the 6224 // value will be replaced with "sensitive". 6225 func (s GetGeneratedPolicyOutput) String() string { 6226 return awsutil.Prettify(s) 6227 } 6228 6229 // GoString returns the string representation. 6230 // 6231 // API parameter values that are decorated as "sensitive" in the API will not 6232 // be included in the string output. The member name will be present, but the 6233 // value will be replaced with "sensitive". 6234 func (s GetGeneratedPolicyOutput) GoString() string { 6235 return s.String() 6236 } 6237 6238 // SetGeneratedPolicyResult sets the GeneratedPolicyResult field's value. 6239 func (s *GetGeneratedPolicyOutput) SetGeneratedPolicyResult(v *GeneratedPolicyResult) *GetGeneratedPolicyOutput { 6240 s.GeneratedPolicyResult = v 6241 return s 6242 } 6243 6244 // SetJobDetails sets the JobDetails field's value. 6245 func (s *GetGeneratedPolicyOutput) SetJobDetails(v *JobDetails) *GetGeneratedPolicyOutput { 6246 s.JobDetails = v 6247 return s 6248 } 6249 6250 // The proposed access control configuration for an IAM role. You can propose 6251 // a configuration for a new IAM role or an existing IAM role that you own by 6252 // specifying the trust policy. If the configuration is for a new IAM role, 6253 // you must specify the trust policy. If the configuration is for an existing 6254 // IAM role that you own and you do not propose the trust policy, the access 6255 // preview uses the existing trust policy for the role. The proposed trust policy 6256 // cannot be an empty string. For more information about role trust policy limits, 6257 // see IAM and STS quotas (https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_iam-quotas.html). 6258 type IamRoleConfiguration struct { 6259 _ struct{} `type:"structure"` 6260 6261 // The proposed trust policy for the IAM role. 6262 TrustPolicy *string `locationName:"trustPolicy" type:"string"` 6263 } 6264 6265 // String returns the string representation. 6266 // 6267 // API parameter values that are decorated as "sensitive" in the API will not 6268 // be included in the string output. The member name will be present, but the 6269 // value will be replaced with "sensitive". 6270 func (s IamRoleConfiguration) String() string { 6271 return awsutil.Prettify(s) 6272 } 6273 6274 // GoString returns the string representation. 6275 // 6276 // API parameter values that are decorated as "sensitive" in the API will not 6277 // be included in the string output. The member name will be present, but the 6278 // value will be replaced with "sensitive". 6279 func (s IamRoleConfiguration) GoString() string { 6280 return s.String() 6281 } 6282 6283 // SetTrustPolicy sets the TrustPolicy field's value. 6284 func (s *IamRoleConfiguration) SetTrustPolicy(v string) *IamRoleConfiguration { 6285 s.TrustPolicy = &v 6286 return s 6287 } 6288 6289 // An criterion statement in an archive rule. Each archive rule may have multiple 6290 // criteria. 6291 type InlineArchiveRule struct { 6292 _ struct{} `type:"structure"` 6293 6294 // The condition and values for a criterion. 6295 // 6296 // Filter is a required field 6297 Filter map[string]*Criterion `locationName:"filter" type:"map" required:"true"` 6298 6299 // The name of the rule. 6300 // 6301 // RuleName is a required field 6302 RuleName *string `locationName:"ruleName" min:"1" type:"string" required:"true"` 6303 } 6304 6305 // String returns the string representation. 6306 // 6307 // API parameter values that are decorated as "sensitive" in the API will not 6308 // be included in the string output. The member name will be present, but the 6309 // value will be replaced with "sensitive". 6310 func (s InlineArchiveRule) String() string { 6311 return awsutil.Prettify(s) 6312 } 6313 6314 // GoString returns the string representation. 6315 // 6316 // API parameter values that are decorated as "sensitive" in the API will not 6317 // be included in the string output. The member name will be present, but the 6318 // value will be replaced with "sensitive". 6319 func (s InlineArchiveRule) GoString() string { 6320 return s.String() 6321 } 6322 6323 // Validate inspects the fields of the type to determine if they are valid. 6324 func (s *InlineArchiveRule) Validate() error { 6325 invalidParams := request.ErrInvalidParams{Context: "InlineArchiveRule"} 6326 if s.Filter == nil { 6327 invalidParams.Add(request.NewErrParamRequired("Filter")) 6328 } 6329 if s.RuleName == nil { 6330 invalidParams.Add(request.NewErrParamRequired("RuleName")) 6331 } 6332 if s.RuleName != nil && len(*s.RuleName) < 1 { 6333 invalidParams.Add(request.NewErrParamMinLen("RuleName", 1)) 6334 } 6335 if s.Filter != nil { 6336 for i, v := range s.Filter { 6337 if v == nil { 6338 continue 6339 } 6340 if err := v.Validate(); err != nil { 6341 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filter", i), err.(request.ErrInvalidParams)) 6342 } 6343 } 6344 } 6345 6346 if invalidParams.Len() > 0 { 6347 return invalidParams 6348 } 6349 return nil 6350 } 6351 6352 // SetFilter sets the Filter field's value. 6353 func (s *InlineArchiveRule) SetFilter(v map[string]*Criterion) *InlineArchiveRule { 6354 s.Filter = v 6355 return s 6356 } 6357 6358 // SetRuleName sets the RuleName field's value. 6359 func (s *InlineArchiveRule) SetRuleName(v string) *InlineArchiveRule { 6360 s.RuleName = &v 6361 return s 6362 } 6363 6364 // Internal server error. 6365 type InternalServerException struct { 6366 _ struct{} `type:"structure"` 6367 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 6368 6369 Message_ *string `locationName:"message" type:"string"` 6370 6371 // The seconds to wait to retry. 6372 RetryAfterSeconds *int64 `location:"header" locationName:"Retry-After" type:"integer"` 6373 } 6374 6375 // String returns the string representation. 6376 // 6377 // API parameter values that are decorated as "sensitive" in the API will not 6378 // be included in the string output. The member name will be present, but the 6379 // value will be replaced with "sensitive". 6380 func (s InternalServerException) String() string { 6381 return awsutil.Prettify(s) 6382 } 6383 6384 // GoString returns the string representation. 6385 // 6386 // API parameter values that are decorated as "sensitive" in the API will not 6387 // be included in the string output. The member name will be present, but the 6388 // value will be replaced with "sensitive". 6389 func (s InternalServerException) GoString() string { 6390 return s.String() 6391 } 6392 6393 func newErrorInternalServerException(v protocol.ResponseMetadata) error { 6394 return &InternalServerException{ 6395 RespMetadata: v, 6396 } 6397 } 6398 6399 // Code returns the exception type name. 6400 func (s *InternalServerException) Code() string { 6401 return "InternalServerException" 6402 } 6403 6404 // Message returns the exception's message. 6405 func (s *InternalServerException) Message() string { 6406 if s.Message_ != nil { 6407 return *s.Message_ 6408 } 6409 return "" 6410 } 6411 6412 // OrigErr always returns nil, satisfies awserr.Error interface. 6413 func (s *InternalServerException) OrigErr() error { 6414 return nil 6415 } 6416 6417 func (s *InternalServerException) Error() string { 6418 return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) 6419 } 6420 6421 // Status code returns the HTTP status code for the request's response error. 6422 func (s *InternalServerException) StatusCode() int { 6423 return s.RespMetadata.StatusCode 6424 } 6425 6426 // RequestID returns the service's response RequestID for request. 6427 func (s *InternalServerException) RequestID() string { 6428 return s.RespMetadata.RequestID 6429 } 6430 6431 // This configuration sets the network origin for the Amazon S3 access point 6432 // or multi-region access point to Internet. 6433 type InternetConfiguration struct { 6434 _ struct{} `type:"structure" nopayload:"true"` 6435 } 6436 6437 // String returns the string representation. 6438 // 6439 // API parameter values that are decorated as "sensitive" in the API will not 6440 // be included in the string output. The member name will be present, but the 6441 // value will be replaced with "sensitive". 6442 func (s InternetConfiguration) String() string { 6443 return awsutil.Prettify(s) 6444 } 6445 6446 // GoString returns the string representation. 6447 // 6448 // API parameter values that are decorated as "sensitive" in the API will not 6449 // be included in the string output. The member name will be present, but the 6450 // value will be replaced with "sensitive". 6451 func (s InternetConfiguration) GoString() string { 6452 return s.String() 6453 } 6454 6455 // Contains details about the policy generation request. 6456 type JobDetails struct { 6457 _ struct{} `type:"structure"` 6458 6459 // A timestamp of when the job was completed. 6460 CompletedOn *time.Time `locationName:"completedOn" type:"timestamp" timestampFormat:"iso8601"` 6461 6462 // The job error for the policy generation request. 6463 JobError *JobError `locationName:"jobError" type:"structure"` 6464 6465 // The JobId that is returned by the StartPolicyGeneration operation. The JobId 6466 // can be used with GetGeneratedPolicy to retrieve the generated policies or 6467 // used with CancelPolicyGeneration to cancel the policy generation request. 6468 // 6469 // JobId is a required field 6470 JobId *string `locationName:"jobId" type:"string" required:"true"` 6471 6472 // A timestamp of when the job was started. 6473 // 6474 // StartedOn is a required field 6475 StartedOn *time.Time `locationName:"startedOn" type:"timestamp" timestampFormat:"iso8601" required:"true"` 6476 6477 // The status of the job request. 6478 // 6479 // Status is a required field 6480 Status *string `locationName:"status" type:"string" required:"true" enum:"JobStatus"` 6481 } 6482 6483 // String returns the string representation. 6484 // 6485 // API parameter values that are decorated as "sensitive" in the API will not 6486 // be included in the string output. The member name will be present, but the 6487 // value will be replaced with "sensitive". 6488 func (s JobDetails) String() string { 6489 return awsutil.Prettify(s) 6490 } 6491 6492 // GoString returns the string representation. 6493 // 6494 // API parameter values that are decorated as "sensitive" in the API will not 6495 // be included in the string output. The member name will be present, but the 6496 // value will be replaced with "sensitive". 6497 func (s JobDetails) GoString() string { 6498 return s.String() 6499 } 6500 6501 // SetCompletedOn sets the CompletedOn field's value. 6502 func (s *JobDetails) SetCompletedOn(v time.Time) *JobDetails { 6503 s.CompletedOn = &v 6504 return s 6505 } 6506 6507 // SetJobError sets the JobError field's value. 6508 func (s *JobDetails) SetJobError(v *JobError) *JobDetails { 6509 s.JobError = v 6510 return s 6511 } 6512 6513 // SetJobId sets the JobId field's value. 6514 func (s *JobDetails) SetJobId(v string) *JobDetails { 6515 s.JobId = &v 6516 return s 6517 } 6518 6519 // SetStartedOn sets the StartedOn field's value. 6520 func (s *JobDetails) SetStartedOn(v time.Time) *JobDetails { 6521 s.StartedOn = &v 6522 return s 6523 } 6524 6525 // SetStatus sets the Status field's value. 6526 func (s *JobDetails) SetStatus(v string) *JobDetails { 6527 s.Status = &v 6528 return s 6529 } 6530 6531 // Contains the details about the policy generation error. 6532 type JobError struct { 6533 _ struct{} `type:"structure"` 6534 6535 // The job error code. 6536 // 6537 // Code is a required field 6538 Code *string `locationName:"code" type:"string" required:"true" enum:"JobErrorCode"` 6539 6540 // Specific information about the error. For example, which service quota was 6541 // exceeded or which resource was not found. 6542 // 6543 // Message is a required field 6544 Message *string `locationName:"message" type:"string" required:"true"` 6545 } 6546 6547 // String returns the string representation. 6548 // 6549 // API parameter values that are decorated as "sensitive" in the API will not 6550 // be included in the string output. The member name will be present, but the 6551 // value will be replaced with "sensitive". 6552 func (s JobError) String() string { 6553 return awsutil.Prettify(s) 6554 } 6555 6556 // GoString returns the string representation. 6557 // 6558 // API parameter values that are decorated as "sensitive" in the API will not 6559 // be included in the string output. The member name will be present, but the 6560 // value will be replaced with "sensitive". 6561 func (s JobError) GoString() string { 6562 return s.String() 6563 } 6564 6565 // SetCode sets the Code field's value. 6566 func (s *JobError) SetCode(v string) *JobError { 6567 s.Code = &v 6568 return s 6569 } 6570 6571 // SetMessage sets the Message field's value. 6572 func (s *JobError) SetMessage(v string) *JobError { 6573 s.Message = &v 6574 return s 6575 } 6576 6577 // A proposed grant configuration for a KMS key. For more information, see CreateGrant 6578 // (https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateGrant.html). 6579 type KmsGrantConfiguration struct { 6580 _ struct{} `type:"structure"` 6581 6582 // Use this structure to propose allowing cryptographic operations (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#cryptographic-operations) 6583 // in the grant only when the operation request includes the specified encryption 6584 // context (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context). 6585 Constraints *KmsGrantConstraints `locationName:"constraints" type:"structure"` 6586 6587 // The principal that is given permission to perform the operations that the 6588 // grant permits. 6589 // 6590 // GranteePrincipal is a required field 6591 GranteePrincipal *string `locationName:"granteePrincipal" type:"string" required:"true"` 6592 6593 // The Amazon Web Services account under which the grant was issued. The account 6594 // is used to propose KMS grants issued by accounts other than the owner of 6595 // the key. 6596 // 6597 // IssuingAccount is a required field 6598 IssuingAccount *string `locationName:"issuingAccount" type:"string" required:"true"` 6599 6600 // A list of operations that the grant permits. 6601 // 6602 // Operations is a required field 6603 Operations []*string `locationName:"operations" type:"list" required:"true"` 6604 6605 // The principal that is given permission to retire the grant by using RetireGrant 6606 // (https://docs.aws.amazon.com/kms/latest/APIReference/API_RetireGrant.html) 6607 // operation. 6608 RetiringPrincipal *string `locationName:"retiringPrincipal" type:"string"` 6609 } 6610 6611 // String returns the string representation. 6612 // 6613 // API parameter values that are decorated as "sensitive" in the API will not 6614 // be included in the string output. The member name will be present, but the 6615 // value will be replaced with "sensitive". 6616 func (s KmsGrantConfiguration) String() string { 6617 return awsutil.Prettify(s) 6618 } 6619 6620 // GoString returns the string representation. 6621 // 6622 // API parameter values that are decorated as "sensitive" in the API will not 6623 // be included in the string output. The member name will be present, but the 6624 // value will be replaced with "sensitive". 6625 func (s KmsGrantConfiguration) GoString() string { 6626 return s.String() 6627 } 6628 6629 // Validate inspects the fields of the type to determine if they are valid. 6630 func (s *KmsGrantConfiguration) Validate() error { 6631 invalidParams := request.ErrInvalidParams{Context: "KmsGrantConfiguration"} 6632 if s.GranteePrincipal == nil { 6633 invalidParams.Add(request.NewErrParamRequired("GranteePrincipal")) 6634 } 6635 if s.IssuingAccount == nil { 6636 invalidParams.Add(request.NewErrParamRequired("IssuingAccount")) 6637 } 6638 if s.Operations == nil { 6639 invalidParams.Add(request.NewErrParamRequired("Operations")) 6640 } 6641 6642 if invalidParams.Len() > 0 { 6643 return invalidParams 6644 } 6645 return nil 6646 } 6647 6648 // SetConstraints sets the Constraints field's value. 6649 func (s *KmsGrantConfiguration) SetConstraints(v *KmsGrantConstraints) *KmsGrantConfiguration { 6650 s.Constraints = v 6651 return s 6652 } 6653 6654 // SetGranteePrincipal sets the GranteePrincipal field's value. 6655 func (s *KmsGrantConfiguration) SetGranteePrincipal(v string) *KmsGrantConfiguration { 6656 s.GranteePrincipal = &v 6657 return s 6658 } 6659 6660 // SetIssuingAccount sets the IssuingAccount field's value. 6661 func (s *KmsGrantConfiguration) SetIssuingAccount(v string) *KmsGrantConfiguration { 6662 s.IssuingAccount = &v 6663 return s 6664 } 6665 6666 // SetOperations sets the Operations field's value. 6667 func (s *KmsGrantConfiguration) SetOperations(v []*string) *KmsGrantConfiguration { 6668 s.Operations = v 6669 return s 6670 } 6671 6672 // SetRetiringPrincipal sets the RetiringPrincipal field's value. 6673 func (s *KmsGrantConfiguration) SetRetiringPrincipal(v string) *KmsGrantConfiguration { 6674 s.RetiringPrincipal = &v 6675 return s 6676 } 6677 6678 // Use this structure to propose allowing cryptographic operations (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#cryptographic-operations) 6679 // in the grant only when the operation request includes the specified encryption 6680 // context (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context). 6681 // You can specify only one type of encryption context. An empty map is treated 6682 // as not specified. For more information, see GrantConstraints (https://docs.aws.amazon.com/kms/latest/APIReference/API_GrantConstraints.html). 6683 type KmsGrantConstraints struct { 6684 _ struct{} `type:"structure"` 6685 6686 // A list of key-value pairs that must match the encryption context in the cryptographic 6687 // operation (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#cryptographic-operations) 6688 // request. The grant allows the operation only when the encryption context 6689 // in the request is the same as the encryption context specified in this constraint. 6690 EncryptionContextEquals map[string]*string `locationName:"encryptionContextEquals" type:"map"` 6691 6692 // A list of key-value pairs that must be included in the encryption context 6693 // of the cryptographic operation (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#cryptographic-operations) 6694 // request. The grant allows the cryptographic operation only when the encryption 6695 // context in the request includes the key-value pairs specified in this constraint, 6696 // although it can include additional key-value pairs. 6697 EncryptionContextSubset map[string]*string `locationName:"encryptionContextSubset" type:"map"` 6698 } 6699 6700 // String returns the string representation. 6701 // 6702 // API parameter values that are decorated as "sensitive" in the API will not 6703 // be included in the string output. The member name will be present, but the 6704 // value will be replaced with "sensitive". 6705 func (s KmsGrantConstraints) String() string { 6706 return awsutil.Prettify(s) 6707 } 6708 6709 // GoString returns the string representation. 6710 // 6711 // API parameter values that are decorated as "sensitive" in the API will not 6712 // be included in the string output. The member name will be present, but the 6713 // value will be replaced with "sensitive". 6714 func (s KmsGrantConstraints) GoString() string { 6715 return s.String() 6716 } 6717 6718 // SetEncryptionContextEquals sets the EncryptionContextEquals field's value. 6719 func (s *KmsGrantConstraints) SetEncryptionContextEquals(v map[string]*string) *KmsGrantConstraints { 6720 s.EncryptionContextEquals = v 6721 return s 6722 } 6723 6724 // SetEncryptionContextSubset sets the EncryptionContextSubset field's value. 6725 func (s *KmsGrantConstraints) SetEncryptionContextSubset(v map[string]*string) *KmsGrantConstraints { 6726 s.EncryptionContextSubset = v 6727 return s 6728 } 6729 6730 // Proposed access control configuration for a KMS key. You can propose a configuration 6731 // for a new KMS key or an existing KMS key that you own by specifying the key 6732 // policy and KMS grant configuration. If the configuration is for an existing 6733 // key and you do not specify the key policy, the access preview uses the existing 6734 // policy for the key. If the access preview is for a new resource and you do 6735 // not specify the key policy, then the access preview uses the default key 6736 // policy. The proposed key policy cannot be an empty string. For more information, 6737 // see Default key policy (https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html#key-policy-default). 6738 // For more information about key policy limits, see Resource quotas (https://docs.aws.amazon.com/kms/latest/developerguide/resource-limits.html). 6739 type KmsKeyConfiguration struct { 6740 _ struct{} `type:"structure"` 6741 6742 // A list of proposed grant configurations for the KMS key. If the proposed 6743 // grant configuration is for an existing key, the access preview uses the proposed 6744 // list of grant configurations in place of the existing grants. Otherwise, 6745 // the access preview uses the existing grants for the key. 6746 Grants []*KmsGrantConfiguration `locationName:"grants" type:"list"` 6747 6748 // Resource policy configuration for the KMS key. The only valid value for the 6749 // name of the key policy is default. For more information, see Default key 6750 // policy (https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html#key-policy-default). 6751 KeyPolicies map[string]*string `locationName:"keyPolicies" type:"map"` 6752 } 6753 6754 // String returns the string representation. 6755 // 6756 // API parameter values that are decorated as "sensitive" in the API will not 6757 // be included in the string output. The member name will be present, but the 6758 // value will be replaced with "sensitive". 6759 func (s KmsKeyConfiguration) String() string { 6760 return awsutil.Prettify(s) 6761 } 6762 6763 // GoString returns the string representation. 6764 // 6765 // API parameter values that are decorated as "sensitive" in the API will not 6766 // be included in the string output. The member name will be present, but the 6767 // value will be replaced with "sensitive". 6768 func (s KmsKeyConfiguration) GoString() string { 6769 return s.String() 6770 } 6771 6772 // Validate inspects the fields of the type to determine if they are valid. 6773 func (s *KmsKeyConfiguration) Validate() error { 6774 invalidParams := request.ErrInvalidParams{Context: "KmsKeyConfiguration"} 6775 if s.Grants != nil { 6776 for i, v := range s.Grants { 6777 if v == nil { 6778 continue 6779 } 6780 if err := v.Validate(); err != nil { 6781 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Grants", i), err.(request.ErrInvalidParams)) 6782 } 6783 } 6784 } 6785 6786 if invalidParams.Len() > 0 { 6787 return invalidParams 6788 } 6789 return nil 6790 } 6791 6792 // SetGrants sets the Grants field's value. 6793 func (s *KmsKeyConfiguration) SetGrants(v []*KmsGrantConfiguration) *KmsKeyConfiguration { 6794 s.Grants = v 6795 return s 6796 } 6797 6798 // SetKeyPolicies sets the KeyPolicies field's value. 6799 func (s *KmsKeyConfiguration) SetKeyPolicies(v map[string]*string) *KmsKeyConfiguration { 6800 s.KeyPolicies = v 6801 return s 6802 } 6803 6804 type ListAccessPreviewFindingsInput struct { 6805 _ struct{} `type:"structure"` 6806 6807 // The unique ID for the access preview. 6808 // 6809 // AccessPreviewId is a required field 6810 AccessPreviewId *string `location:"uri" locationName:"accessPreviewId" type:"string" required:"true"` 6811 6812 // The ARN of the analyzer (https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-getting-started.html#permission-resources) 6813 // used to generate the access. 6814 // 6815 // AnalyzerArn is a required field 6816 AnalyzerArn *string `locationName:"analyzerArn" type:"string" required:"true"` 6817 6818 // Criteria to filter the returned findings. 6819 Filter map[string]*Criterion `locationName:"filter" type:"map"` 6820 6821 // The maximum number of results to return in the response. 6822 MaxResults *int64 `locationName:"maxResults" type:"integer"` 6823 6824 // A token used for pagination of results returned. 6825 NextToken *string `locationName:"nextToken" type:"string"` 6826 } 6827 6828 // String returns the string representation. 6829 // 6830 // API parameter values that are decorated as "sensitive" in the API will not 6831 // be included in the string output. The member name will be present, but the 6832 // value will be replaced with "sensitive". 6833 func (s ListAccessPreviewFindingsInput) String() string { 6834 return awsutil.Prettify(s) 6835 } 6836 6837 // GoString returns the string representation. 6838 // 6839 // API parameter values that are decorated as "sensitive" in the API will not 6840 // be included in the string output. The member name will be present, but the 6841 // value will be replaced with "sensitive". 6842 func (s ListAccessPreviewFindingsInput) GoString() string { 6843 return s.String() 6844 } 6845 6846 // Validate inspects the fields of the type to determine if they are valid. 6847 func (s *ListAccessPreviewFindingsInput) Validate() error { 6848 invalidParams := request.ErrInvalidParams{Context: "ListAccessPreviewFindingsInput"} 6849 if s.AccessPreviewId == nil { 6850 invalidParams.Add(request.NewErrParamRequired("AccessPreviewId")) 6851 } 6852 if s.AccessPreviewId != nil && len(*s.AccessPreviewId) < 1 { 6853 invalidParams.Add(request.NewErrParamMinLen("AccessPreviewId", 1)) 6854 } 6855 if s.AnalyzerArn == nil { 6856 invalidParams.Add(request.NewErrParamRequired("AnalyzerArn")) 6857 } 6858 if s.Filter != nil { 6859 for i, v := range s.Filter { 6860 if v == nil { 6861 continue 6862 } 6863 if err := v.Validate(); err != nil { 6864 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filter", i), err.(request.ErrInvalidParams)) 6865 } 6866 } 6867 } 6868 6869 if invalidParams.Len() > 0 { 6870 return invalidParams 6871 } 6872 return nil 6873 } 6874 6875 // SetAccessPreviewId sets the AccessPreviewId field's value. 6876 func (s *ListAccessPreviewFindingsInput) SetAccessPreviewId(v string) *ListAccessPreviewFindingsInput { 6877 s.AccessPreviewId = &v 6878 return s 6879 } 6880 6881 // SetAnalyzerArn sets the AnalyzerArn field's value. 6882 func (s *ListAccessPreviewFindingsInput) SetAnalyzerArn(v string) *ListAccessPreviewFindingsInput { 6883 s.AnalyzerArn = &v 6884 return s 6885 } 6886 6887 // SetFilter sets the Filter field's value. 6888 func (s *ListAccessPreviewFindingsInput) SetFilter(v map[string]*Criterion) *ListAccessPreviewFindingsInput { 6889 s.Filter = v 6890 return s 6891 } 6892 6893 // SetMaxResults sets the MaxResults field's value. 6894 func (s *ListAccessPreviewFindingsInput) SetMaxResults(v int64) *ListAccessPreviewFindingsInput { 6895 s.MaxResults = &v 6896 return s 6897 } 6898 6899 // SetNextToken sets the NextToken field's value. 6900 func (s *ListAccessPreviewFindingsInput) SetNextToken(v string) *ListAccessPreviewFindingsInput { 6901 s.NextToken = &v 6902 return s 6903 } 6904 6905 type ListAccessPreviewFindingsOutput struct { 6906 _ struct{} `type:"structure"` 6907 6908 // A list of access preview findings that match the specified filter criteria. 6909 // 6910 // Findings is a required field 6911 Findings []*AccessPreviewFinding `locationName:"findings" type:"list" required:"true"` 6912 6913 // A token used for pagination of results returned. 6914 NextToken *string `locationName:"nextToken" type:"string"` 6915 } 6916 6917 // String returns the string representation. 6918 // 6919 // API parameter values that are decorated as "sensitive" in the API will not 6920 // be included in the string output. The member name will be present, but the 6921 // value will be replaced with "sensitive". 6922 func (s ListAccessPreviewFindingsOutput) String() string { 6923 return awsutil.Prettify(s) 6924 } 6925 6926 // GoString returns the string representation. 6927 // 6928 // API parameter values that are decorated as "sensitive" in the API will not 6929 // be included in the string output. The member name will be present, but the 6930 // value will be replaced with "sensitive". 6931 func (s ListAccessPreviewFindingsOutput) GoString() string { 6932 return s.String() 6933 } 6934 6935 // SetFindings sets the Findings field's value. 6936 func (s *ListAccessPreviewFindingsOutput) SetFindings(v []*AccessPreviewFinding) *ListAccessPreviewFindingsOutput { 6937 s.Findings = v 6938 return s 6939 } 6940 6941 // SetNextToken sets the NextToken field's value. 6942 func (s *ListAccessPreviewFindingsOutput) SetNextToken(v string) *ListAccessPreviewFindingsOutput { 6943 s.NextToken = &v 6944 return s 6945 } 6946 6947 type ListAccessPreviewsInput struct { 6948 _ struct{} `type:"structure" nopayload:"true"` 6949 6950 // The ARN of the analyzer (https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-getting-started.html#permission-resources) 6951 // used to generate the access preview. 6952 // 6953 // AnalyzerArn is a required field 6954 AnalyzerArn *string `location:"querystring" locationName:"analyzerArn" type:"string" required:"true"` 6955 6956 // The maximum number of results to return in the response. 6957 MaxResults *int64 `location:"querystring" locationName:"maxResults" type:"integer"` 6958 6959 // A token used for pagination of results returned. 6960 NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` 6961 } 6962 6963 // String returns the string representation. 6964 // 6965 // API parameter values that are decorated as "sensitive" in the API will not 6966 // be included in the string output. The member name will be present, but the 6967 // value will be replaced with "sensitive". 6968 func (s ListAccessPreviewsInput) String() string { 6969 return awsutil.Prettify(s) 6970 } 6971 6972 // GoString returns the string representation. 6973 // 6974 // API parameter values that are decorated as "sensitive" in the API will not 6975 // be included in the string output. The member name will be present, but the 6976 // value will be replaced with "sensitive". 6977 func (s ListAccessPreviewsInput) GoString() string { 6978 return s.String() 6979 } 6980 6981 // Validate inspects the fields of the type to determine if they are valid. 6982 func (s *ListAccessPreviewsInput) Validate() error { 6983 invalidParams := request.ErrInvalidParams{Context: "ListAccessPreviewsInput"} 6984 if s.AnalyzerArn == nil { 6985 invalidParams.Add(request.NewErrParamRequired("AnalyzerArn")) 6986 } 6987 6988 if invalidParams.Len() > 0 { 6989 return invalidParams 6990 } 6991 return nil 6992 } 6993 6994 // SetAnalyzerArn sets the AnalyzerArn field's value. 6995 func (s *ListAccessPreviewsInput) SetAnalyzerArn(v string) *ListAccessPreviewsInput { 6996 s.AnalyzerArn = &v 6997 return s 6998 } 6999 7000 // SetMaxResults sets the MaxResults field's value. 7001 func (s *ListAccessPreviewsInput) SetMaxResults(v int64) *ListAccessPreviewsInput { 7002 s.MaxResults = &v 7003 return s 7004 } 7005 7006 // SetNextToken sets the NextToken field's value. 7007 func (s *ListAccessPreviewsInput) SetNextToken(v string) *ListAccessPreviewsInput { 7008 s.NextToken = &v 7009 return s 7010 } 7011 7012 type ListAccessPreviewsOutput struct { 7013 _ struct{} `type:"structure"` 7014 7015 // A list of access previews retrieved for the analyzer. 7016 // 7017 // AccessPreviews is a required field 7018 AccessPreviews []*AccessPreviewSummary `locationName:"accessPreviews" type:"list" required:"true"` 7019 7020 // A token used for pagination of results returned. 7021 NextToken *string `locationName:"nextToken" type:"string"` 7022 } 7023 7024 // String returns the string representation. 7025 // 7026 // API parameter values that are decorated as "sensitive" in the API will not 7027 // be included in the string output. The member name will be present, but the 7028 // value will be replaced with "sensitive". 7029 func (s ListAccessPreviewsOutput) String() string { 7030 return awsutil.Prettify(s) 7031 } 7032 7033 // GoString returns the string representation. 7034 // 7035 // API parameter values that are decorated as "sensitive" in the API will not 7036 // be included in the string output. The member name will be present, but the 7037 // value will be replaced with "sensitive". 7038 func (s ListAccessPreviewsOutput) GoString() string { 7039 return s.String() 7040 } 7041 7042 // SetAccessPreviews sets the AccessPreviews field's value. 7043 func (s *ListAccessPreviewsOutput) SetAccessPreviews(v []*AccessPreviewSummary) *ListAccessPreviewsOutput { 7044 s.AccessPreviews = v 7045 return s 7046 } 7047 7048 // SetNextToken sets the NextToken field's value. 7049 func (s *ListAccessPreviewsOutput) SetNextToken(v string) *ListAccessPreviewsOutput { 7050 s.NextToken = &v 7051 return s 7052 } 7053 7054 // Retrieves a list of resources that have been analyzed. 7055 type ListAnalyzedResourcesInput struct { 7056 _ struct{} `type:"structure"` 7057 7058 // The ARN of the analyzer (https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-getting-started.html#permission-resources) 7059 // to retrieve a list of analyzed resources from. 7060 // 7061 // AnalyzerArn is a required field 7062 AnalyzerArn *string `locationName:"analyzerArn" type:"string" required:"true"` 7063 7064 // The maximum number of results to return in the response. 7065 MaxResults *int64 `locationName:"maxResults" type:"integer"` 7066 7067 // A token used for pagination of results returned. 7068 NextToken *string `locationName:"nextToken" type:"string"` 7069 7070 // The type of resource. 7071 ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"` 7072 } 7073 7074 // String returns the string representation. 7075 // 7076 // API parameter values that are decorated as "sensitive" in the API will not 7077 // be included in the string output. The member name will be present, but the 7078 // value will be replaced with "sensitive". 7079 func (s ListAnalyzedResourcesInput) String() string { 7080 return awsutil.Prettify(s) 7081 } 7082 7083 // GoString returns the string representation. 7084 // 7085 // API parameter values that are decorated as "sensitive" in the API will not 7086 // be included in the string output. The member name will be present, but the 7087 // value will be replaced with "sensitive". 7088 func (s ListAnalyzedResourcesInput) GoString() string { 7089 return s.String() 7090 } 7091 7092 // Validate inspects the fields of the type to determine if they are valid. 7093 func (s *ListAnalyzedResourcesInput) Validate() error { 7094 invalidParams := request.ErrInvalidParams{Context: "ListAnalyzedResourcesInput"} 7095 if s.AnalyzerArn == nil { 7096 invalidParams.Add(request.NewErrParamRequired("AnalyzerArn")) 7097 } 7098 7099 if invalidParams.Len() > 0 { 7100 return invalidParams 7101 } 7102 return nil 7103 } 7104 7105 // SetAnalyzerArn sets the AnalyzerArn field's value. 7106 func (s *ListAnalyzedResourcesInput) SetAnalyzerArn(v string) *ListAnalyzedResourcesInput { 7107 s.AnalyzerArn = &v 7108 return s 7109 } 7110 7111 // SetMaxResults sets the MaxResults field's value. 7112 func (s *ListAnalyzedResourcesInput) SetMaxResults(v int64) *ListAnalyzedResourcesInput { 7113 s.MaxResults = &v 7114 return s 7115 } 7116 7117 // SetNextToken sets the NextToken field's value. 7118 func (s *ListAnalyzedResourcesInput) SetNextToken(v string) *ListAnalyzedResourcesInput { 7119 s.NextToken = &v 7120 return s 7121 } 7122 7123 // SetResourceType sets the ResourceType field's value. 7124 func (s *ListAnalyzedResourcesInput) SetResourceType(v string) *ListAnalyzedResourcesInput { 7125 s.ResourceType = &v 7126 return s 7127 } 7128 7129 // The response to the request. 7130 type ListAnalyzedResourcesOutput struct { 7131 _ struct{} `type:"structure"` 7132 7133 // A list of resources that were analyzed. 7134 // 7135 // AnalyzedResources is a required field 7136 AnalyzedResources []*AnalyzedResourceSummary `locationName:"analyzedResources" type:"list" required:"true"` 7137 7138 // A token used for pagination of results returned. 7139 NextToken *string `locationName:"nextToken" type:"string"` 7140 } 7141 7142 // String returns the string representation. 7143 // 7144 // API parameter values that are decorated as "sensitive" in the API will not 7145 // be included in the string output. The member name will be present, but the 7146 // value will be replaced with "sensitive". 7147 func (s ListAnalyzedResourcesOutput) String() string { 7148 return awsutil.Prettify(s) 7149 } 7150 7151 // GoString returns the string representation. 7152 // 7153 // API parameter values that are decorated as "sensitive" in the API will not 7154 // be included in the string output. The member name will be present, but the 7155 // value will be replaced with "sensitive". 7156 func (s ListAnalyzedResourcesOutput) GoString() string { 7157 return s.String() 7158 } 7159 7160 // SetAnalyzedResources sets the AnalyzedResources field's value. 7161 func (s *ListAnalyzedResourcesOutput) SetAnalyzedResources(v []*AnalyzedResourceSummary) *ListAnalyzedResourcesOutput { 7162 s.AnalyzedResources = v 7163 return s 7164 } 7165 7166 // SetNextToken sets the NextToken field's value. 7167 func (s *ListAnalyzedResourcesOutput) SetNextToken(v string) *ListAnalyzedResourcesOutput { 7168 s.NextToken = &v 7169 return s 7170 } 7171 7172 // Retrieves a list of analyzers. 7173 type ListAnalyzersInput struct { 7174 _ struct{} `type:"structure" nopayload:"true"` 7175 7176 // The maximum number of results to return in the response. 7177 MaxResults *int64 `location:"querystring" locationName:"maxResults" type:"integer"` 7178 7179 // A token used for pagination of results returned. 7180 NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` 7181 7182 // The type of analyzer. 7183 Type *string `location:"querystring" locationName:"type" type:"string" enum:"Type"` 7184 } 7185 7186 // String returns the string representation. 7187 // 7188 // API parameter values that are decorated as "sensitive" in the API will not 7189 // be included in the string output. The member name will be present, but the 7190 // value will be replaced with "sensitive". 7191 func (s ListAnalyzersInput) String() string { 7192 return awsutil.Prettify(s) 7193 } 7194 7195 // GoString returns the string representation. 7196 // 7197 // API parameter values that are decorated as "sensitive" in the API will not 7198 // be included in the string output. The member name will be present, but the 7199 // value will be replaced with "sensitive". 7200 func (s ListAnalyzersInput) GoString() string { 7201 return s.String() 7202 } 7203 7204 // SetMaxResults sets the MaxResults field's value. 7205 func (s *ListAnalyzersInput) SetMaxResults(v int64) *ListAnalyzersInput { 7206 s.MaxResults = &v 7207 return s 7208 } 7209 7210 // SetNextToken sets the NextToken field's value. 7211 func (s *ListAnalyzersInput) SetNextToken(v string) *ListAnalyzersInput { 7212 s.NextToken = &v 7213 return s 7214 } 7215 7216 // SetType sets the Type field's value. 7217 func (s *ListAnalyzersInput) SetType(v string) *ListAnalyzersInput { 7218 s.Type = &v 7219 return s 7220 } 7221 7222 // The response to the request. 7223 type ListAnalyzersOutput struct { 7224 _ struct{} `type:"structure"` 7225 7226 // The analyzers retrieved. 7227 // 7228 // Analyzers is a required field 7229 Analyzers []*AnalyzerSummary `locationName:"analyzers" type:"list" required:"true"` 7230 7231 // A token used for pagination of results returned. 7232 NextToken *string `locationName:"nextToken" type:"string"` 7233 } 7234 7235 // String returns the string representation. 7236 // 7237 // API parameter values that are decorated as "sensitive" in the API will not 7238 // be included in the string output. The member name will be present, but the 7239 // value will be replaced with "sensitive". 7240 func (s ListAnalyzersOutput) String() string { 7241 return awsutil.Prettify(s) 7242 } 7243 7244 // GoString returns the string representation. 7245 // 7246 // API parameter values that are decorated as "sensitive" in the API will not 7247 // be included in the string output. The member name will be present, but the 7248 // value will be replaced with "sensitive". 7249 func (s ListAnalyzersOutput) GoString() string { 7250 return s.String() 7251 } 7252 7253 // SetAnalyzers sets the Analyzers field's value. 7254 func (s *ListAnalyzersOutput) SetAnalyzers(v []*AnalyzerSummary) *ListAnalyzersOutput { 7255 s.Analyzers = v 7256 return s 7257 } 7258 7259 // SetNextToken sets the NextToken field's value. 7260 func (s *ListAnalyzersOutput) SetNextToken(v string) *ListAnalyzersOutput { 7261 s.NextToken = &v 7262 return s 7263 } 7264 7265 // Retrieves a list of archive rules created for the specified analyzer. 7266 type ListArchiveRulesInput struct { 7267 _ struct{} `type:"structure" nopayload:"true"` 7268 7269 // The name of the analyzer to retrieve rules from. 7270 // 7271 // AnalyzerName is a required field 7272 AnalyzerName *string `location:"uri" locationName:"analyzerName" min:"1" type:"string" required:"true"` 7273 7274 // The maximum number of results to return in the request. 7275 MaxResults *int64 `location:"querystring" locationName:"maxResults" type:"integer"` 7276 7277 // A token used for pagination of results returned. 7278 NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` 7279 } 7280 7281 // String returns the string representation. 7282 // 7283 // API parameter values that are decorated as "sensitive" in the API will not 7284 // be included in the string output. The member name will be present, but the 7285 // value will be replaced with "sensitive". 7286 func (s ListArchiveRulesInput) String() string { 7287 return awsutil.Prettify(s) 7288 } 7289 7290 // GoString returns the string representation. 7291 // 7292 // API parameter values that are decorated as "sensitive" in the API will not 7293 // be included in the string output. The member name will be present, but the 7294 // value will be replaced with "sensitive". 7295 func (s ListArchiveRulesInput) GoString() string { 7296 return s.String() 7297 } 7298 7299 // Validate inspects the fields of the type to determine if they are valid. 7300 func (s *ListArchiveRulesInput) Validate() error { 7301 invalidParams := request.ErrInvalidParams{Context: "ListArchiveRulesInput"} 7302 if s.AnalyzerName == nil { 7303 invalidParams.Add(request.NewErrParamRequired("AnalyzerName")) 7304 } 7305 if s.AnalyzerName != nil && len(*s.AnalyzerName) < 1 { 7306 invalidParams.Add(request.NewErrParamMinLen("AnalyzerName", 1)) 7307 } 7308 7309 if invalidParams.Len() > 0 { 7310 return invalidParams 7311 } 7312 return nil 7313 } 7314 7315 // SetAnalyzerName sets the AnalyzerName field's value. 7316 func (s *ListArchiveRulesInput) SetAnalyzerName(v string) *ListArchiveRulesInput { 7317 s.AnalyzerName = &v 7318 return s 7319 } 7320 7321 // SetMaxResults sets the MaxResults field's value. 7322 func (s *ListArchiveRulesInput) SetMaxResults(v int64) *ListArchiveRulesInput { 7323 s.MaxResults = &v 7324 return s 7325 } 7326 7327 // SetNextToken sets the NextToken field's value. 7328 func (s *ListArchiveRulesInput) SetNextToken(v string) *ListArchiveRulesInput { 7329 s.NextToken = &v 7330 return s 7331 } 7332 7333 // The response to the request. 7334 type ListArchiveRulesOutput struct { 7335 _ struct{} `type:"structure"` 7336 7337 // A list of archive rules created for the specified analyzer. 7338 // 7339 // ArchiveRules is a required field 7340 ArchiveRules []*ArchiveRuleSummary `locationName:"archiveRules" type:"list" required:"true"` 7341 7342 // A token used for pagination of results returned. 7343 NextToken *string `locationName:"nextToken" type:"string"` 7344 } 7345 7346 // String returns the string representation. 7347 // 7348 // API parameter values that are decorated as "sensitive" in the API will not 7349 // be included in the string output. The member name will be present, but the 7350 // value will be replaced with "sensitive". 7351 func (s ListArchiveRulesOutput) String() string { 7352 return awsutil.Prettify(s) 7353 } 7354 7355 // GoString returns the string representation. 7356 // 7357 // API parameter values that are decorated as "sensitive" in the API will not 7358 // be included in the string output. The member name will be present, but the 7359 // value will be replaced with "sensitive". 7360 func (s ListArchiveRulesOutput) GoString() string { 7361 return s.String() 7362 } 7363 7364 // SetArchiveRules sets the ArchiveRules field's value. 7365 func (s *ListArchiveRulesOutput) SetArchiveRules(v []*ArchiveRuleSummary) *ListArchiveRulesOutput { 7366 s.ArchiveRules = v 7367 return s 7368 } 7369 7370 // SetNextToken sets the NextToken field's value. 7371 func (s *ListArchiveRulesOutput) SetNextToken(v string) *ListArchiveRulesOutput { 7372 s.NextToken = &v 7373 return s 7374 } 7375 7376 // Retrieves a list of findings generated by the specified analyzer. 7377 type ListFindingsInput struct { 7378 _ struct{} `type:"structure"` 7379 7380 // The ARN of the analyzer (https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-getting-started.html#permission-resources) 7381 // to retrieve findings from. 7382 // 7383 // AnalyzerArn is a required field 7384 AnalyzerArn *string `locationName:"analyzerArn" type:"string" required:"true"` 7385 7386 // A filter to match for the findings to return. 7387 Filter map[string]*Criterion `locationName:"filter" type:"map"` 7388 7389 // The maximum number of results to return in the response. 7390 MaxResults *int64 `locationName:"maxResults" type:"integer"` 7391 7392 // A token used for pagination of results returned. 7393 NextToken *string `locationName:"nextToken" type:"string"` 7394 7395 // The sort order for the findings returned. 7396 Sort *SortCriteria `locationName:"sort" type:"structure"` 7397 } 7398 7399 // String returns the string representation. 7400 // 7401 // API parameter values that are decorated as "sensitive" in the API will not 7402 // be included in the string output. The member name will be present, but the 7403 // value will be replaced with "sensitive". 7404 func (s ListFindingsInput) String() string { 7405 return awsutil.Prettify(s) 7406 } 7407 7408 // GoString returns the string representation. 7409 // 7410 // API parameter values that are decorated as "sensitive" in the API will not 7411 // be included in the string output. The member name will be present, but the 7412 // value will be replaced with "sensitive". 7413 func (s ListFindingsInput) GoString() string { 7414 return s.String() 7415 } 7416 7417 // Validate inspects the fields of the type to determine if they are valid. 7418 func (s *ListFindingsInput) Validate() error { 7419 invalidParams := request.ErrInvalidParams{Context: "ListFindingsInput"} 7420 if s.AnalyzerArn == nil { 7421 invalidParams.Add(request.NewErrParamRequired("AnalyzerArn")) 7422 } 7423 if s.Filter != nil { 7424 for i, v := range s.Filter { 7425 if v == nil { 7426 continue 7427 } 7428 if err := v.Validate(); err != nil { 7429 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filter", i), err.(request.ErrInvalidParams)) 7430 } 7431 } 7432 } 7433 7434 if invalidParams.Len() > 0 { 7435 return invalidParams 7436 } 7437 return nil 7438 } 7439 7440 // SetAnalyzerArn sets the AnalyzerArn field's value. 7441 func (s *ListFindingsInput) SetAnalyzerArn(v string) *ListFindingsInput { 7442 s.AnalyzerArn = &v 7443 return s 7444 } 7445 7446 // SetFilter sets the Filter field's value. 7447 func (s *ListFindingsInput) SetFilter(v map[string]*Criterion) *ListFindingsInput { 7448 s.Filter = v 7449 return s 7450 } 7451 7452 // SetMaxResults sets the MaxResults field's value. 7453 func (s *ListFindingsInput) SetMaxResults(v int64) *ListFindingsInput { 7454 s.MaxResults = &v 7455 return s 7456 } 7457 7458 // SetNextToken sets the NextToken field's value. 7459 func (s *ListFindingsInput) SetNextToken(v string) *ListFindingsInput { 7460 s.NextToken = &v 7461 return s 7462 } 7463 7464 // SetSort sets the Sort field's value. 7465 func (s *ListFindingsInput) SetSort(v *SortCriteria) *ListFindingsInput { 7466 s.Sort = v 7467 return s 7468 } 7469 7470 // The response to the request. 7471 type ListFindingsOutput struct { 7472 _ struct{} `type:"structure"` 7473 7474 // A list of findings retrieved from the analyzer that match the filter criteria 7475 // specified, if any. 7476 // 7477 // Findings is a required field 7478 Findings []*FindingSummary `locationName:"findings" type:"list" required:"true"` 7479 7480 // A token used for pagination of results returned. 7481 NextToken *string `locationName:"nextToken" type:"string"` 7482 } 7483 7484 // String returns the string representation. 7485 // 7486 // API parameter values that are decorated as "sensitive" in the API will not 7487 // be included in the string output. The member name will be present, but the 7488 // value will be replaced with "sensitive". 7489 func (s ListFindingsOutput) String() string { 7490 return awsutil.Prettify(s) 7491 } 7492 7493 // GoString returns the string representation. 7494 // 7495 // API parameter values that are decorated as "sensitive" in the API will not 7496 // be included in the string output. The member name will be present, but the 7497 // value will be replaced with "sensitive". 7498 func (s ListFindingsOutput) GoString() string { 7499 return s.String() 7500 } 7501 7502 // SetFindings sets the Findings field's value. 7503 func (s *ListFindingsOutput) SetFindings(v []*FindingSummary) *ListFindingsOutput { 7504 s.Findings = v 7505 return s 7506 } 7507 7508 // SetNextToken sets the NextToken field's value. 7509 func (s *ListFindingsOutput) SetNextToken(v string) *ListFindingsOutput { 7510 s.NextToken = &v 7511 return s 7512 } 7513 7514 type ListPolicyGenerationsInput struct { 7515 _ struct{} `type:"structure" nopayload:"true"` 7516 7517 // The maximum number of results to return in the response. 7518 MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` 7519 7520 // A token used for pagination of results returned. 7521 NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` 7522 7523 // The ARN of the IAM entity (user or role) for which you are generating a policy. 7524 // Use this with ListGeneratedPolicies to filter the results to only include 7525 // results for a specific principal. 7526 PrincipalArn *string `location:"querystring" locationName:"principalArn" type:"string"` 7527 } 7528 7529 // String returns the string representation. 7530 // 7531 // API parameter values that are decorated as "sensitive" in the API will not 7532 // be included in the string output. The member name will be present, but the 7533 // value will be replaced with "sensitive". 7534 func (s ListPolicyGenerationsInput) String() string { 7535 return awsutil.Prettify(s) 7536 } 7537 7538 // GoString returns the string representation. 7539 // 7540 // API parameter values that are decorated as "sensitive" in the API will not 7541 // be included in the string output. The member name will be present, but the 7542 // value will be replaced with "sensitive". 7543 func (s ListPolicyGenerationsInput) GoString() string { 7544 return s.String() 7545 } 7546 7547 // Validate inspects the fields of the type to determine if they are valid. 7548 func (s *ListPolicyGenerationsInput) Validate() error { 7549 invalidParams := request.ErrInvalidParams{Context: "ListPolicyGenerationsInput"} 7550 if s.MaxResults != nil && *s.MaxResults < 1 { 7551 invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) 7552 } 7553 7554 if invalidParams.Len() > 0 { 7555 return invalidParams 7556 } 7557 return nil 7558 } 7559 7560 // SetMaxResults sets the MaxResults field's value. 7561 func (s *ListPolicyGenerationsInput) SetMaxResults(v int64) *ListPolicyGenerationsInput { 7562 s.MaxResults = &v 7563 return s 7564 } 7565 7566 // SetNextToken sets the NextToken field's value. 7567 func (s *ListPolicyGenerationsInput) SetNextToken(v string) *ListPolicyGenerationsInput { 7568 s.NextToken = &v 7569 return s 7570 } 7571 7572 // SetPrincipalArn sets the PrincipalArn field's value. 7573 func (s *ListPolicyGenerationsInput) SetPrincipalArn(v string) *ListPolicyGenerationsInput { 7574 s.PrincipalArn = &v 7575 return s 7576 } 7577 7578 type ListPolicyGenerationsOutput struct { 7579 _ struct{} `type:"structure"` 7580 7581 // A token used for pagination of results returned. 7582 NextToken *string `locationName:"nextToken" type:"string"` 7583 7584 // A PolicyGeneration object that contains details about the generated policy. 7585 // 7586 // PolicyGenerations is a required field 7587 PolicyGenerations []*PolicyGeneration `locationName:"policyGenerations" type:"list" required:"true"` 7588 } 7589 7590 // String returns the string representation. 7591 // 7592 // API parameter values that are decorated as "sensitive" in the API will not 7593 // be included in the string output. The member name will be present, but the 7594 // value will be replaced with "sensitive". 7595 func (s ListPolicyGenerationsOutput) String() string { 7596 return awsutil.Prettify(s) 7597 } 7598 7599 // GoString returns the string representation. 7600 // 7601 // API parameter values that are decorated as "sensitive" in the API will not 7602 // be included in the string output. The member name will be present, but the 7603 // value will be replaced with "sensitive". 7604 func (s ListPolicyGenerationsOutput) GoString() string { 7605 return s.String() 7606 } 7607 7608 // SetNextToken sets the NextToken field's value. 7609 func (s *ListPolicyGenerationsOutput) SetNextToken(v string) *ListPolicyGenerationsOutput { 7610 s.NextToken = &v 7611 return s 7612 } 7613 7614 // SetPolicyGenerations sets the PolicyGenerations field's value. 7615 func (s *ListPolicyGenerationsOutput) SetPolicyGenerations(v []*PolicyGeneration) *ListPolicyGenerationsOutput { 7616 s.PolicyGenerations = v 7617 return s 7618 } 7619 7620 // Retrieves a list of tags applied to the specified resource. 7621 type ListTagsForResourceInput struct { 7622 _ struct{} `type:"structure" nopayload:"true"` 7623 7624 // The ARN of the resource to retrieve tags from. 7625 // 7626 // ResourceArn is a required field 7627 ResourceArn *string `location:"uri" locationName:"resourceArn" type:"string" required:"true"` 7628 } 7629 7630 // String returns the string representation. 7631 // 7632 // API parameter values that are decorated as "sensitive" in the API will not 7633 // be included in the string output. The member name will be present, but the 7634 // value will be replaced with "sensitive". 7635 func (s ListTagsForResourceInput) String() string { 7636 return awsutil.Prettify(s) 7637 } 7638 7639 // GoString returns the string representation. 7640 // 7641 // API parameter values that are decorated as "sensitive" in the API will not 7642 // be included in the string output. The member name will be present, but the 7643 // value will be replaced with "sensitive". 7644 func (s ListTagsForResourceInput) GoString() string { 7645 return s.String() 7646 } 7647 7648 // Validate inspects the fields of the type to determine if they are valid. 7649 func (s *ListTagsForResourceInput) Validate() error { 7650 invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"} 7651 if s.ResourceArn == nil { 7652 invalidParams.Add(request.NewErrParamRequired("ResourceArn")) 7653 } 7654 if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { 7655 invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) 7656 } 7657 7658 if invalidParams.Len() > 0 { 7659 return invalidParams 7660 } 7661 return nil 7662 } 7663 7664 // SetResourceArn sets the ResourceArn field's value. 7665 func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput { 7666 s.ResourceArn = &v 7667 return s 7668 } 7669 7670 // The response to the request. 7671 type ListTagsForResourceOutput struct { 7672 _ struct{} `type:"structure"` 7673 7674 // The tags that are applied to the specified resource. 7675 Tags map[string]*string `locationName:"tags" type:"map"` 7676 } 7677 7678 // String returns the string representation. 7679 // 7680 // API parameter values that are decorated as "sensitive" in the API will not 7681 // be included in the string output. The member name will be present, but the 7682 // value will be replaced with "sensitive". 7683 func (s ListTagsForResourceOutput) String() string { 7684 return awsutil.Prettify(s) 7685 } 7686 7687 // GoString returns the string representation. 7688 // 7689 // API parameter values that are decorated as "sensitive" in the API will not 7690 // be included in the string output. The member name will be present, but the 7691 // value will be replaced with "sensitive". 7692 func (s ListTagsForResourceOutput) GoString() string { 7693 return s.String() 7694 } 7695 7696 // SetTags sets the Tags field's value. 7697 func (s *ListTagsForResourceOutput) SetTags(v map[string]*string) *ListTagsForResourceOutput { 7698 s.Tags = v 7699 return s 7700 } 7701 7702 // A location in a policy that is represented as a path through the JSON representation 7703 // and a corresponding span. 7704 type Location struct { 7705 _ struct{} `type:"structure"` 7706 7707 // A path in a policy, represented as a sequence of path elements. 7708 // 7709 // Path is a required field 7710 Path []*PathElement `locationName:"path" type:"list" required:"true"` 7711 7712 // A span in a policy. 7713 // 7714 // Span is a required field 7715 Span *Span `locationName:"span" type:"structure" required:"true"` 7716 } 7717 7718 // String returns the string representation. 7719 // 7720 // API parameter values that are decorated as "sensitive" in the API will not 7721 // be included in the string output. The member name will be present, but the 7722 // value will be replaced with "sensitive". 7723 func (s Location) String() string { 7724 return awsutil.Prettify(s) 7725 } 7726 7727 // GoString returns the string representation. 7728 // 7729 // API parameter values that are decorated as "sensitive" in the API will not 7730 // be included in the string output. The member name will be present, but the 7731 // value will be replaced with "sensitive". 7732 func (s Location) GoString() string { 7733 return s.String() 7734 } 7735 7736 // SetPath sets the Path field's value. 7737 func (s *Location) SetPath(v []*PathElement) *Location { 7738 s.Path = v 7739 return s 7740 } 7741 7742 // SetSpan sets the Span field's value. 7743 func (s *Location) SetSpan(v *Span) *Location { 7744 s.Span = v 7745 return s 7746 } 7747 7748 // The proposed InternetConfiguration or VpcConfiguration to apply to the Amazon 7749 // S3 access point. VpcConfiguration does not apply to multi-region access points. 7750 // You can make the access point accessible from the internet, or you can specify 7751 // that all requests made through that access point must originate from a specific 7752 // virtual private cloud (VPC). You can specify only one type of network configuration. 7753 // For more information, see Creating access points (https://docs.aws.amazon.com/AmazonS3/latest/dev/creating-access-points.html). 7754 type NetworkOriginConfiguration struct { 7755 _ struct{} `type:"structure"` 7756 7757 // The configuration for the Amazon S3 access point or multi-region access point 7758 // with an Internet origin. 7759 InternetConfiguration *InternetConfiguration `locationName:"internetConfiguration" type:"structure"` 7760 7761 // The proposed virtual private cloud (VPC) configuration for the Amazon S3 7762 // access point. VPC configuration does not apply to multi-region access points. 7763 // For more information, see VpcConfiguration (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_VpcConfiguration.html). 7764 VpcConfiguration *VpcConfiguration `locationName:"vpcConfiguration" type:"structure"` 7765 } 7766 7767 // String returns the string representation. 7768 // 7769 // API parameter values that are decorated as "sensitive" in the API will not 7770 // be included in the string output. The member name will be present, but the 7771 // value will be replaced with "sensitive". 7772 func (s NetworkOriginConfiguration) String() string { 7773 return awsutil.Prettify(s) 7774 } 7775 7776 // GoString returns the string representation. 7777 // 7778 // API parameter values that are decorated as "sensitive" in the API will not 7779 // be included in the string output. The member name will be present, but the 7780 // value will be replaced with "sensitive". 7781 func (s NetworkOriginConfiguration) GoString() string { 7782 return s.String() 7783 } 7784 7785 // Validate inspects the fields of the type to determine if they are valid. 7786 func (s *NetworkOriginConfiguration) Validate() error { 7787 invalidParams := request.ErrInvalidParams{Context: "NetworkOriginConfiguration"} 7788 if s.VpcConfiguration != nil { 7789 if err := s.VpcConfiguration.Validate(); err != nil { 7790 invalidParams.AddNested("VpcConfiguration", err.(request.ErrInvalidParams)) 7791 } 7792 } 7793 7794 if invalidParams.Len() > 0 { 7795 return invalidParams 7796 } 7797 return nil 7798 } 7799 7800 // SetInternetConfiguration sets the InternetConfiguration field's value. 7801 func (s *NetworkOriginConfiguration) SetInternetConfiguration(v *InternetConfiguration) *NetworkOriginConfiguration { 7802 s.InternetConfiguration = v 7803 return s 7804 } 7805 7806 // SetVpcConfiguration sets the VpcConfiguration field's value. 7807 func (s *NetworkOriginConfiguration) SetVpcConfiguration(v *VpcConfiguration) *NetworkOriginConfiguration { 7808 s.VpcConfiguration = v 7809 return s 7810 } 7811 7812 // A single element in a path through the JSON representation of a policy. 7813 type PathElement struct { 7814 _ struct{} `type:"structure"` 7815 7816 // Refers to an index in a JSON array. 7817 Index *int64 `locationName:"index" type:"integer"` 7818 7819 // Refers to a key in a JSON object. 7820 Key *string `locationName:"key" type:"string"` 7821 7822 // Refers to a substring of a literal string in a JSON object. 7823 Substring *Substring `locationName:"substring" type:"structure"` 7824 7825 // Refers to the value associated with a given key in a JSON object. 7826 Value *string `locationName:"value" type:"string"` 7827 } 7828 7829 // String returns the string representation. 7830 // 7831 // API parameter values that are decorated as "sensitive" in the API will not 7832 // be included in the string output. The member name will be present, but the 7833 // value will be replaced with "sensitive". 7834 func (s PathElement) String() string { 7835 return awsutil.Prettify(s) 7836 } 7837 7838 // GoString returns the string representation. 7839 // 7840 // API parameter values that are decorated as "sensitive" in the API will not 7841 // be included in the string output. The member name will be present, but the 7842 // value will be replaced with "sensitive". 7843 func (s PathElement) GoString() string { 7844 return s.String() 7845 } 7846 7847 // SetIndex sets the Index field's value. 7848 func (s *PathElement) SetIndex(v int64) *PathElement { 7849 s.Index = &v 7850 return s 7851 } 7852 7853 // SetKey sets the Key field's value. 7854 func (s *PathElement) SetKey(v string) *PathElement { 7855 s.Key = &v 7856 return s 7857 } 7858 7859 // SetSubstring sets the Substring field's value. 7860 func (s *PathElement) SetSubstring(v *Substring) *PathElement { 7861 s.Substring = v 7862 return s 7863 } 7864 7865 // SetValue sets the Value field's value. 7866 func (s *PathElement) SetValue(v string) *PathElement { 7867 s.Value = &v 7868 return s 7869 } 7870 7871 // Contains details about the policy generation status and properties. 7872 type PolicyGeneration struct { 7873 _ struct{} `type:"structure"` 7874 7875 // A timestamp of when the policy generation was completed. 7876 CompletedOn *time.Time `locationName:"completedOn" type:"timestamp" timestampFormat:"iso8601"` 7877 7878 // The JobId that is returned by the StartPolicyGeneration operation. The JobId 7879 // can be used with GetGeneratedPolicy to retrieve the generated policies or 7880 // used with CancelPolicyGeneration to cancel the policy generation request. 7881 // 7882 // JobId is a required field 7883 JobId *string `locationName:"jobId" type:"string" required:"true"` 7884 7885 // The ARN of the IAM entity (user or role) for which you are generating a policy. 7886 // 7887 // PrincipalArn is a required field 7888 PrincipalArn *string `locationName:"principalArn" type:"string" required:"true"` 7889 7890 // A timestamp of when the policy generation started. 7891 // 7892 // StartedOn is a required field 7893 StartedOn *time.Time `locationName:"startedOn" type:"timestamp" timestampFormat:"iso8601" required:"true"` 7894 7895 // The status of the policy generation request. 7896 // 7897 // Status is a required field 7898 Status *string `locationName:"status" type:"string" required:"true" enum:"JobStatus"` 7899 } 7900 7901 // String returns the string representation. 7902 // 7903 // API parameter values that are decorated as "sensitive" in the API will not 7904 // be included in the string output. The member name will be present, but the 7905 // value will be replaced with "sensitive". 7906 func (s PolicyGeneration) String() string { 7907 return awsutil.Prettify(s) 7908 } 7909 7910 // GoString returns the string representation. 7911 // 7912 // API parameter values that are decorated as "sensitive" in the API will not 7913 // be included in the string output. The member name will be present, but the 7914 // value will be replaced with "sensitive". 7915 func (s PolicyGeneration) GoString() string { 7916 return s.String() 7917 } 7918 7919 // SetCompletedOn sets the CompletedOn field's value. 7920 func (s *PolicyGeneration) SetCompletedOn(v time.Time) *PolicyGeneration { 7921 s.CompletedOn = &v 7922 return s 7923 } 7924 7925 // SetJobId sets the JobId field's value. 7926 func (s *PolicyGeneration) SetJobId(v string) *PolicyGeneration { 7927 s.JobId = &v 7928 return s 7929 } 7930 7931 // SetPrincipalArn sets the PrincipalArn field's value. 7932 func (s *PolicyGeneration) SetPrincipalArn(v string) *PolicyGeneration { 7933 s.PrincipalArn = &v 7934 return s 7935 } 7936 7937 // SetStartedOn sets the StartedOn field's value. 7938 func (s *PolicyGeneration) SetStartedOn(v time.Time) *PolicyGeneration { 7939 s.StartedOn = &v 7940 return s 7941 } 7942 7943 // SetStatus sets the Status field's value. 7944 func (s *PolicyGeneration) SetStatus(v string) *PolicyGeneration { 7945 s.Status = &v 7946 return s 7947 } 7948 7949 // Contains the ARN details about the IAM entity for which the policy is generated. 7950 type PolicyGenerationDetails struct { 7951 _ struct{} `type:"structure"` 7952 7953 // The ARN of the IAM entity (user or role) for which you are generating a policy. 7954 // 7955 // PrincipalArn is a required field 7956 PrincipalArn *string `locationName:"principalArn" type:"string" required:"true"` 7957 } 7958 7959 // String returns the string representation. 7960 // 7961 // API parameter values that are decorated as "sensitive" in the API will not 7962 // be included in the string output. The member name will be present, but the 7963 // value will be replaced with "sensitive". 7964 func (s PolicyGenerationDetails) String() string { 7965 return awsutil.Prettify(s) 7966 } 7967 7968 // GoString returns the string representation. 7969 // 7970 // API parameter values that are decorated as "sensitive" in the API will not 7971 // be included in the string output. The member name will be present, but the 7972 // value will be replaced with "sensitive". 7973 func (s PolicyGenerationDetails) GoString() string { 7974 return s.String() 7975 } 7976 7977 // Validate inspects the fields of the type to determine if they are valid. 7978 func (s *PolicyGenerationDetails) Validate() error { 7979 invalidParams := request.ErrInvalidParams{Context: "PolicyGenerationDetails"} 7980 if s.PrincipalArn == nil { 7981 invalidParams.Add(request.NewErrParamRequired("PrincipalArn")) 7982 } 7983 7984 if invalidParams.Len() > 0 { 7985 return invalidParams 7986 } 7987 return nil 7988 } 7989 7990 // SetPrincipalArn sets the PrincipalArn field's value. 7991 func (s *PolicyGenerationDetails) SetPrincipalArn(v string) *PolicyGenerationDetails { 7992 s.PrincipalArn = &v 7993 return s 7994 } 7995 7996 // A position in a policy. 7997 type Position struct { 7998 _ struct{} `type:"structure"` 7999 8000 // The column of the position, starting from 0. 8001 // 8002 // Column is a required field 8003 Column *int64 `locationName:"column" type:"integer" required:"true"` 8004 8005 // The line of the position, starting from 1. 8006 // 8007 // Line is a required field 8008 Line *int64 `locationName:"line" type:"integer" required:"true"` 8009 8010 // The offset within the policy that corresponds to the position, starting from 8011 // 0. 8012 // 8013 // Offset is a required field 8014 Offset *int64 `locationName:"offset" type:"integer" required:"true"` 8015 } 8016 8017 // String returns the string representation. 8018 // 8019 // API parameter values that are decorated as "sensitive" in the API will not 8020 // be included in the string output. The member name will be present, but the 8021 // value will be replaced with "sensitive". 8022 func (s Position) String() string { 8023 return awsutil.Prettify(s) 8024 } 8025 8026 // GoString returns the string representation. 8027 // 8028 // API parameter values that are decorated as "sensitive" in the API will not 8029 // be included in the string output. The member name will be present, but the 8030 // value will be replaced with "sensitive". 8031 func (s Position) GoString() string { 8032 return s.String() 8033 } 8034 8035 // SetColumn sets the Column field's value. 8036 func (s *Position) SetColumn(v int64) *Position { 8037 s.Column = &v 8038 return s 8039 } 8040 8041 // SetLine sets the Line field's value. 8042 func (s *Position) SetLine(v int64) *Position { 8043 s.Line = &v 8044 return s 8045 } 8046 8047 // SetOffset sets the Offset field's value. 8048 func (s *Position) SetOffset(v int64) *Position { 8049 s.Offset = &v 8050 return s 8051 } 8052 8053 // The specified resource could not be found. 8054 type ResourceNotFoundException struct { 8055 _ struct{} `type:"structure"` 8056 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 8057 8058 Message_ *string `locationName:"message" type:"string"` 8059 8060 // The ID of the resource. 8061 // 8062 // ResourceId is a required field 8063 ResourceId *string `locationName:"resourceId" type:"string" required:"true"` 8064 8065 // The type of the resource. 8066 // 8067 // ResourceType is a required field 8068 ResourceType *string `locationName:"resourceType" type:"string" required:"true"` 8069 } 8070 8071 // String returns the string representation. 8072 // 8073 // API parameter values that are decorated as "sensitive" in the API will not 8074 // be included in the string output. The member name will be present, but the 8075 // value will be replaced with "sensitive". 8076 func (s ResourceNotFoundException) String() string { 8077 return awsutil.Prettify(s) 8078 } 8079 8080 // GoString returns the string representation. 8081 // 8082 // API parameter values that are decorated as "sensitive" in the API will not 8083 // be included in the string output. The member name will be present, but the 8084 // value will be replaced with "sensitive". 8085 func (s ResourceNotFoundException) GoString() string { 8086 return s.String() 8087 } 8088 8089 func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error { 8090 return &ResourceNotFoundException{ 8091 RespMetadata: v, 8092 } 8093 } 8094 8095 // Code returns the exception type name. 8096 func (s *ResourceNotFoundException) Code() string { 8097 return "ResourceNotFoundException" 8098 } 8099 8100 // Message returns the exception's message. 8101 func (s *ResourceNotFoundException) Message() string { 8102 if s.Message_ != nil { 8103 return *s.Message_ 8104 } 8105 return "" 8106 } 8107 8108 // OrigErr always returns nil, satisfies awserr.Error interface. 8109 func (s *ResourceNotFoundException) OrigErr() error { 8110 return nil 8111 } 8112 8113 func (s *ResourceNotFoundException) Error() string { 8114 return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) 8115 } 8116 8117 // Status code returns the HTTP status code for the request's response error. 8118 func (s *ResourceNotFoundException) StatusCode() int { 8119 return s.RespMetadata.StatusCode 8120 } 8121 8122 // RequestID returns the service's response RequestID for request. 8123 func (s *ResourceNotFoundException) RequestID() string { 8124 return s.RespMetadata.RequestID 8125 } 8126 8127 // The configuration for an Amazon S3 access point or multi-region access point 8128 // for the bucket. You can propose up to 10 access points or multi-region access 8129 // points per bucket. If the proposed Amazon S3 access point configuration is 8130 // for an existing bucket, the access preview uses the proposed access point 8131 // configuration in place of the existing access points. To propose an access 8132 // point without a policy, you can provide an empty string as the access point 8133 // policy. For more information, see Creating access points (https://docs.aws.amazon.com/https:/docs.aws.amazon.com/AmazonS3/latest/dev/creating-access-points.html). 8134 // For more information about access point policy limits, see Access points 8135 // restrictions and limitations (https://docs.aws.amazon.com/AmazonS3/latest/dev/access-points-restrictions-limitations.html). 8136 type S3AccessPointConfiguration struct { 8137 _ struct{} `type:"structure"` 8138 8139 // The access point or multi-region access point policy. 8140 AccessPointPolicy *string `locationName:"accessPointPolicy" type:"string"` 8141 8142 // The proposed Internet and VpcConfiguration to apply to this Amazon S3 access 8143 // point. VpcConfiguration does not apply to multi-region access points. If 8144 // the access preview is for a new resource and neither is specified, the access 8145 // preview uses Internet for the network origin. If the access preview is for 8146 // an existing resource and neither is specified, the access preview uses the 8147 // exiting network origin. 8148 NetworkOrigin *NetworkOriginConfiguration `locationName:"networkOrigin" type:"structure"` 8149 8150 // The proposed S3PublicAccessBlock configuration to apply to this Amazon S3 8151 // access point or multi-region access point. 8152 PublicAccessBlock *S3PublicAccessBlockConfiguration `locationName:"publicAccessBlock" type:"structure"` 8153 } 8154 8155 // String returns the string representation. 8156 // 8157 // API parameter values that are decorated as "sensitive" in the API will not 8158 // be included in the string output. The member name will be present, but the 8159 // value will be replaced with "sensitive". 8160 func (s S3AccessPointConfiguration) String() string { 8161 return awsutil.Prettify(s) 8162 } 8163 8164 // GoString returns the string representation. 8165 // 8166 // API parameter values that are decorated as "sensitive" in the API will not 8167 // be included in the string output. The member name will be present, but the 8168 // value will be replaced with "sensitive". 8169 func (s S3AccessPointConfiguration) GoString() string { 8170 return s.String() 8171 } 8172 8173 // Validate inspects the fields of the type to determine if they are valid. 8174 func (s *S3AccessPointConfiguration) Validate() error { 8175 invalidParams := request.ErrInvalidParams{Context: "S3AccessPointConfiguration"} 8176 if s.NetworkOrigin != nil { 8177 if err := s.NetworkOrigin.Validate(); err != nil { 8178 invalidParams.AddNested("NetworkOrigin", err.(request.ErrInvalidParams)) 8179 } 8180 } 8181 if s.PublicAccessBlock != nil { 8182 if err := s.PublicAccessBlock.Validate(); err != nil { 8183 invalidParams.AddNested("PublicAccessBlock", err.(request.ErrInvalidParams)) 8184 } 8185 } 8186 8187 if invalidParams.Len() > 0 { 8188 return invalidParams 8189 } 8190 return nil 8191 } 8192 8193 // SetAccessPointPolicy sets the AccessPointPolicy field's value. 8194 func (s *S3AccessPointConfiguration) SetAccessPointPolicy(v string) *S3AccessPointConfiguration { 8195 s.AccessPointPolicy = &v 8196 return s 8197 } 8198 8199 // SetNetworkOrigin sets the NetworkOrigin field's value. 8200 func (s *S3AccessPointConfiguration) SetNetworkOrigin(v *NetworkOriginConfiguration) *S3AccessPointConfiguration { 8201 s.NetworkOrigin = v 8202 return s 8203 } 8204 8205 // SetPublicAccessBlock sets the PublicAccessBlock field's value. 8206 func (s *S3AccessPointConfiguration) SetPublicAccessBlock(v *S3PublicAccessBlockConfiguration) *S3AccessPointConfiguration { 8207 s.PublicAccessBlock = v 8208 return s 8209 } 8210 8211 // A proposed access control list grant configuration for an Amazon S3 bucket. 8212 // For more information, see How to Specify an ACL (https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#setting-acls). 8213 type S3BucketAclGrantConfiguration struct { 8214 _ struct{} `type:"structure"` 8215 8216 // The grantee to whom you’re assigning access rights. 8217 // 8218 // Grantee is a required field 8219 Grantee *AclGrantee `locationName:"grantee" type:"structure" required:"true"` 8220 8221 // The permissions being granted. 8222 // 8223 // Permission is a required field 8224 Permission *string `locationName:"permission" type:"string" required:"true" enum:"AclPermission"` 8225 } 8226 8227 // String returns the string representation. 8228 // 8229 // API parameter values that are decorated as "sensitive" in the API will not 8230 // be included in the string output. The member name will be present, but the 8231 // value will be replaced with "sensitive". 8232 func (s S3BucketAclGrantConfiguration) String() string { 8233 return awsutil.Prettify(s) 8234 } 8235 8236 // GoString returns the string representation. 8237 // 8238 // API parameter values that are decorated as "sensitive" in the API will not 8239 // be included in the string output. The member name will be present, but the 8240 // value will be replaced with "sensitive". 8241 func (s S3BucketAclGrantConfiguration) GoString() string { 8242 return s.String() 8243 } 8244 8245 // Validate inspects the fields of the type to determine if they are valid. 8246 func (s *S3BucketAclGrantConfiguration) Validate() error { 8247 invalidParams := request.ErrInvalidParams{Context: "S3BucketAclGrantConfiguration"} 8248 if s.Grantee == nil { 8249 invalidParams.Add(request.NewErrParamRequired("Grantee")) 8250 } 8251 if s.Permission == nil { 8252 invalidParams.Add(request.NewErrParamRequired("Permission")) 8253 } 8254 8255 if invalidParams.Len() > 0 { 8256 return invalidParams 8257 } 8258 return nil 8259 } 8260 8261 // SetGrantee sets the Grantee field's value. 8262 func (s *S3BucketAclGrantConfiguration) SetGrantee(v *AclGrantee) *S3BucketAclGrantConfiguration { 8263 s.Grantee = v 8264 return s 8265 } 8266 8267 // SetPermission sets the Permission field's value. 8268 func (s *S3BucketAclGrantConfiguration) SetPermission(v string) *S3BucketAclGrantConfiguration { 8269 s.Permission = &v 8270 return s 8271 } 8272 8273 // Proposed access control configuration for an Amazon S3 bucket. You can propose 8274 // a configuration for a new Amazon S3 bucket or an existing Amazon S3 bucket 8275 // that you own by specifying the Amazon S3 bucket policy, bucket ACLs, bucket 8276 // BPA settings, Amazon S3 access points, and multi-region access points attached 8277 // to the bucket. If the configuration is for an existing Amazon S3 bucket and 8278 // you do not specify the Amazon S3 bucket policy, the access preview uses the 8279 // existing policy attached to the bucket. If the access preview is for a new 8280 // resource and you do not specify the Amazon S3 bucket policy, the access preview 8281 // assumes a bucket without a policy. To propose deletion of an existing bucket 8282 // policy, you can specify an empty string. For more information about bucket 8283 // policy limits, see Bucket Policy Examples (https://docs.aws.amazon.com/AmazonS3/latest/dev/example-bucket-policies.html). 8284 type S3BucketConfiguration struct { 8285 _ struct{} `type:"structure"` 8286 8287 // The configuration of Amazon S3 access points or multi-region access points 8288 // for the bucket. You can propose up to 10 new access points per bucket. 8289 AccessPoints map[string]*S3AccessPointConfiguration `locationName:"accessPoints" type:"map"` 8290 8291 // The proposed list of ACL grants for the Amazon S3 bucket. You can propose 8292 // up to 100 ACL grants per bucket. If the proposed grant configuration is for 8293 // an existing bucket, the access preview uses the proposed list of grant configurations 8294 // in place of the existing grants. Otherwise, the access preview uses the existing 8295 // grants for the bucket. 8296 BucketAclGrants []*S3BucketAclGrantConfiguration `locationName:"bucketAclGrants" type:"list"` 8297 8298 // The proposed bucket policy for the Amazon S3 bucket. 8299 BucketPolicy *string `locationName:"bucketPolicy" type:"string"` 8300 8301 // The proposed block public access configuration for the Amazon S3 bucket. 8302 BucketPublicAccessBlock *S3PublicAccessBlockConfiguration `locationName:"bucketPublicAccessBlock" type:"structure"` 8303 } 8304 8305 // String returns the string representation. 8306 // 8307 // API parameter values that are decorated as "sensitive" in the API will not 8308 // be included in the string output. The member name will be present, but the 8309 // value will be replaced with "sensitive". 8310 func (s S3BucketConfiguration) String() string { 8311 return awsutil.Prettify(s) 8312 } 8313 8314 // GoString returns the string representation. 8315 // 8316 // API parameter values that are decorated as "sensitive" in the API will not 8317 // be included in the string output. The member name will be present, but the 8318 // value will be replaced with "sensitive". 8319 func (s S3BucketConfiguration) GoString() string { 8320 return s.String() 8321 } 8322 8323 // Validate inspects the fields of the type to determine if they are valid. 8324 func (s *S3BucketConfiguration) Validate() error { 8325 invalidParams := request.ErrInvalidParams{Context: "S3BucketConfiguration"} 8326 if s.AccessPoints != nil { 8327 for i, v := range s.AccessPoints { 8328 if v == nil { 8329 continue 8330 } 8331 if err := v.Validate(); err != nil { 8332 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AccessPoints", i), err.(request.ErrInvalidParams)) 8333 } 8334 } 8335 } 8336 if s.BucketAclGrants != nil { 8337 for i, v := range s.BucketAclGrants { 8338 if v == nil { 8339 continue 8340 } 8341 if err := v.Validate(); err != nil { 8342 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "BucketAclGrants", i), err.(request.ErrInvalidParams)) 8343 } 8344 } 8345 } 8346 if s.BucketPublicAccessBlock != nil { 8347 if err := s.BucketPublicAccessBlock.Validate(); err != nil { 8348 invalidParams.AddNested("BucketPublicAccessBlock", err.(request.ErrInvalidParams)) 8349 } 8350 } 8351 8352 if invalidParams.Len() > 0 { 8353 return invalidParams 8354 } 8355 return nil 8356 } 8357 8358 // SetAccessPoints sets the AccessPoints field's value. 8359 func (s *S3BucketConfiguration) SetAccessPoints(v map[string]*S3AccessPointConfiguration) *S3BucketConfiguration { 8360 s.AccessPoints = v 8361 return s 8362 } 8363 8364 // SetBucketAclGrants sets the BucketAclGrants field's value. 8365 func (s *S3BucketConfiguration) SetBucketAclGrants(v []*S3BucketAclGrantConfiguration) *S3BucketConfiguration { 8366 s.BucketAclGrants = v 8367 return s 8368 } 8369 8370 // SetBucketPolicy sets the BucketPolicy field's value. 8371 func (s *S3BucketConfiguration) SetBucketPolicy(v string) *S3BucketConfiguration { 8372 s.BucketPolicy = &v 8373 return s 8374 } 8375 8376 // SetBucketPublicAccessBlock sets the BucketPublicAccessBlock field's value. 8377 func (s *S3BucketConfiguration) SetBucketPublicAccessBlock(v *S3PublicAccessBlockConfiguration) *S3BucketConfiguration { 8378 s.BucketPublicAccessBlock = v 8379 return s 8380 } 8381 8382 // The PublicAccessBlock configuration to apply to this Amazon S3 bucket. If 8383 // the proposed configuration is for an existing Amazon S3 bucket and the configuration 8384 // is not specified, the access preview uses the existing setting. If the proposed 8385 // configuration is for a new bucket and the configuration is not specified, 8386 // the access preview uses false. If the proposed configuration is for a new 8387 // access point or multi-region access point and the access point BPA configuration 8388 // is not specified, the access preview uses true. For more information, see 8389 // PublicAccessBlockConfiguration (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-publicaccessblockconfiguration.html). 8390 type S3PublicAccessBlockConfiguration struct { 8391 _ struct{} `type:"structure"` 8392 8393 // Specifies whether Amazon S3 should ignore public ACLs for this bucket and 8394 // objects in this bucket. 8395 // 8396 // IgnorePublicAcls is a required field 8397 IgnorePublicAcls *bool `locationName:"ignorePublicAcls" type:"boolean" required:"true"` 8398 8399 // Specifies whether Amazon S3 should restrict public bucket policies for this 8400 // bucket. 8401 // 8402 // RestrictPublicBuckets is a required field 8403 RestrictPublicBuckets *bool `locationName:"restrictPublicBuckets" type:"boolean" required:"true"` 8404 } 8405 8406 // String returns the string representation. 8407 // 8408 // API parameter values that are decorated as "sensitive" in the API will not 8409 // be included in the string output. The member name will be present, but the 8410 // value will be replaced with "sensitive". 8411 func (s S3PublicAccessBlockConfiguration) String() string { 8412 return awsutil.Prettify(s) 8413 } 8414 8415 // GoString returns the string representation. 8416 // 8417 // API parameter values that are decorated as "sensitive" in the API will not 8418 // be included in the string output. The member name will be present, but the 8419 // value will be replaced with "sensitive". 8420 func (s S3PublicAccessBlockConfiguration) GoString() string { 8421 return s.String() 8422 } 8423 8424 // Validate inspects the fields of the type to determine if they are valid. 8425 func (s *S3PublicAccessBlockConfiguration) Validate() error { 8426 invalidParams := request.ErrInvalidParams{Context: "S3PublicAccessBlockConfiguration"} 8427 if s.IgnorePublicAcls == nil { 8428 invalidParams.Add(request.NewErrParamRequired("IgnorePublicAcls")) 8429 } 8430 if s.RestrictPublicBuckets == nil { 8431 invalidParams.Add(request.NewErrParamRequired("RestrictPublicBuckets")) 8432 } 8433 8434 if invalidParams.Len() > 0 { 8435 return invalidParams 8436 } 8437 return nil 8438 } 8439 8440 // SetIgnorePublicAcls sets the IgnorePublicAcls field's value. 8441 func (s *S3PublicAccessBlockConfiguration) SetIgnorePublicAcls(v bool) *S3PublicAccessBlockConfiguration { 8442 s.IgnorePublicAcls = &v 8443 return s 8444 } 8445 8446 // SetRestrictPublicBuckets sets the RestrictPublicBuckets field's value. 8447 func (s *S3PublicAccessBlockConfiguration) SetRestrictPublicBuckets(v bool) *S3PublicAccessBlockConfiguration { 8448 s.RestrictPublicBuckets = &v 8449 return s 8450 } 8451 8452 // The configuration for a Secrets Manager secret. For more information, see 8453 // CreateSecret (https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_CreateSecret.html). 8454 // 8455 // You can propose a configuration for a new secret or an existing secret that 8456 // you own by specifying the secret policy and optional KMS encryption key. 8457 // If the configuration is for an existing secret and you do not specify the 8458 // secret policy, the access preview uses the existing policy for the secret. 8459 // If the access preview is for a new resource and you do not specify the policy, 8460 // the access preview assumes a secret without a policy. To propose deletion 8461 // of an existing policy, you can specify an empty string. If the proposed configuration 8462 // is for a new secret and you do not specify the KMS key ID, the access preview 8463 // uses the default CMK of the Amazon Web Services account. If you specify an 8464 // empty string for the KMS key ID, the access preview uses the default CMK 8465 // of the Amazon Web Services account. For more information about secret policy 8466 // limits, see Quotas for Secrets Manager. (https://docs.aws.amazon.com/secretsmanager/latest/userguide/reference_limits.html). 8467 type SecretsManagerSecretConfiguration struct { 8468 _ struct{} `type:"structure"` 8469 8470 // The proposed ARN, key ID, or alias of the KMS customer master key (CMK). 8471 KmsKeyId *string `locationName:"kmsKeyId" type:"string"` 8472 8473 // The proposed resource policy defining who can access or manage the secret. 8474 SecretPolicy *string `locationName:"secretPolicy" type:"string"` 8475 } 8476 8477 // String returns the string representation. 8478 // 8479 // API parameter values that are decorated as "sensitive" in the API will not 8480 // be included in the string output. The member name will be present, but the 8481 // value will be replaced with "sensitive". 8482 func (s SecretsManagerSecretConfiguration) String() string { 8483 return awsutil.Prettify(s) 8484 } 8485 8486 // GoString returns the string representation. 8487 // 8488 // API parameter values that are decorated as "sensitive" in the API will not 8489 // be included in the string output. The member name will be present, but the 8490 // value will be replaced with "sensitive". 8491 func (s SecretsManagerSecretConfiguration) GoString() string { 8492 return s.String() 8493 } 8494 8495 // SetKmsKeyId sets the KmsKeyId field's value. 8496 func (s *SecretsManagerSecretConfiguration) SetKmsKeyId(v string) *SecretsManagerSecretConfiguration { 8497 s.KmsKeyId = &v 8498 return s 8499 } 8500 8501 // SetSecretPolicy sets the SecretPolicy field's value. 8502 func (s *SecretsManagerSecretConfiguration) SetSecretPolicy(v string) *SecretsManagerSecretConfiguration { 8503 s.SecretPolicy = &v 8504 return s 8505 } 8506 8507 // Service quote met error. 8508 type ServiceQuotaExceededException struct { 8509 _ struct{} `type:"structure"` 8510 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 8511 8512 Message_ *string `locationName:"message" type:"string"` 8513 8514 // The resource ID. 8515 // 8516 // ResourceId is a required field 8517 ResourceId *string `locationName:"resourceId" type:"string" required:"true"` 8518 8519 // The resource type. 8520 // 8521 // ResourceType is a required field 8522 ResourceType *string `locationName:"resourceType" type:"string" required:"true"` 8523 } 8524 8525 // String returns the string representation. 8526 // 8527 // API parameter values that are decorated as "sensitive" in the API will not 8528 // be included in the string output. The member name will be present, but the 8529 // value will be replaced with "sensitive". 8530 func (s ServiceQuotaExceededException) String() string { 8531 return awsutil.Prettify(s) 8532 } 8533 8534 // GoString returns the string representation. 8535 // 8536 // API parameter values that are decorated as "sensitive" in the API will not 8537 // be included in the string output. The member name will be present, but the 8538 // value will be replaced with "sensitive". 8539 func (s ServiceQuotaExceededException) GoString() string { 8540 return s.String() 8541 } 8542 8543 func newErrorServiceQuotaExceededException(v protocol.ResponseMetadata) error { 8544 return &ServiceQuotaExceededException{ 8545 RespMetadata: v, 8546 } 8547 } 8548 8549 // Code returns the exception type name. 8550 func (s *ServiceQuotaExceededException) Code() string { 8551 return "ServiceQuotaExceededException" 8552 } 8553 8554 // Message returns the exception's message. 8555 func (s *ServiceQuotaExceededException) Message() string { 8556 if s.Message_ != nil { 8557 return *s.Message_ 8558 } 8559 return "" 8560 } 8561 8562 // OrigErr always returns nil, satisfies awserr.Error interface. 8563 func (s *ServiceQuotaExceededException) OrigErr() error { 8564 return nil 8565 } 8566 8567 func (s *ServiceQuotaExceededException) Error() string { 8568 return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) 8569 } 8570 8571 // Status code returns the HTTP status code for the request's response error. 8572 func (s *ServiceQuotaExceededException) StatusCode() int { 8573 return s.RespMetadata.StatusCode 8574 } 8575 8576 // RequestID returns the service's response RequestID for request. 8577 func (s *ServiceQuotaExceededException) RequestID() string { 8578 return s.RespMetadata.RequestID 8579 } 8580 8581 // The criteria used to sort. 8582 type SortCriteria struct { 8583 _ struct{} `type:"structure"` 8584 8585 // The name of the attribute to sort on. 8586 AttributeName *string `locationName:"attributeName" type:"string"` 8587 8588 // The sort order, ascending or descending. 8589 OrderBy *string `locationName:"orderBy" type:"string" enum:"OrderBy"` 8590 } 8591 8592 // String returns the string representation. 8593 // 8594 // API parameter values that are decorated as "sensitive" in the API will not 8595 // be included in the string output. The member name will be present, but the 8596 // value will be replaced with "sensitive". 8597 func (s SortCriteria) String() string { 8598 return awsutil.Prettify(s) 8599 } 8600 8601 // GoString returns the string representation. 8602 // 8603 // API parameter values that are decorated as "sensitive" in the API will not 8604 // be included in the string output. The member name will be present, but the 8605 // value will be replaced with "sensitive". 8606 func (s SortCriteria) GoString() string { 8607 return s.String() 8608 } 8609 8610 // SetAttributeName sets the AttributeName field's value. 8611 func (s *SortCriteria) SetAttributeName(v string) *SortCriteria { 8612 s.AttributeName = &v 8613 return s 8614 } 8615 8616 // SetOrderBy sets the OrderBy field's value. 8617 func (s *SortCriteria) SetOrderBy(v string) *SortCriteria { 8618 s.OrderBy = &v 8619 return s 8620 } 8621 8622 // A span in a policy. The span consists of a start position (inclusive) and 8623 // end position (exclusive). 8624 type Span struct { 8625 _ struct{} `type:"structure"` 8626 8627 // The end position of the span (exclusive). 8628 // 8629 // End is a required field 8630 End *Position `locationName:"end" type:"structure" required:"true"` 8631 8632 // The start position of the span (inclusive). 8633 // 8634 // Start is a required field 8635 Start *Position `locationName:"start" type:"structure" required:"true"` 8636 } 8637 8638 // String returns the string representation. 8639 // 8640 // API parameter values that are decorated as "sensitive" in the API will not 8641 // be included in the string output. The member name will be present, but the 8642 // value will be replaced with "sensitive". 8643 func (s Span) String() string { 8644 return awsutil.Prettify(s) 8645 } 8646 8647 // GoString returns the string representation. 8648 // 8649 // API parameter values that are decorated as "sensitive" in the API will not 8650 // be included in the string output. The member name will be present, but the 8651 // value will be replaced with "sensitive". 8652 func (s Span) GoString() string { 8653 return s.String() 8654 } 8655 8656 // SetEnd sets the End field's value. 8657 func (s *Span) SetEnd(v *Position) *Span { 8658 s.End = v 8659 return s 8660 } 8661 8662 // SetStart sets the Start field's value. 8663 func (s *Span) SetStart(v *Position) *Span { 8664 s.Start = v 8665 return s 8666 } 8667 8668 // The proposed access control configuration for an Amazon SQS queue. You can 8669 // propose a configuration for a new Amazon SQS queue or an existing Amazon 8670 // SQS queue that you own by specifying the Amazon SQS policy. If the configuration 8671 // is for an existing Amazon SQS queue and you do not specify the Amazon SQS 8672 // policy, the access preview uses the existing Amazon SQS policy for the queue. 8673 // If the access preview is for a new resource and you do not specify the policy, 8674 // the access preview assumes an Amazon SQS queue without a policy. To propose 8675 // deletion of an existing Amazon SQS queue policy, you can specify an empty 8676 // string for the Amazon SQS policy. For more information about Amazon SQS policy 8677 // limits, see Quotas related to policies (https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/quotas-policies.html). 8678 type SqsQueueConfiguration struct { 8679 _ struct{} `type:"structure"` 8680 8681 // The proposed resource policy for the Amazon SQS queue. 8682 QueuePolicy *string `locationName:"queuePolicy" type:"string"` 8683 } 8684 8685 // String returns the string representation. 8686 // 8687 // API parameter values that are decorated as "sensitive" in the API will not 8688 // be included in the string output. The member name will be present, but the 8689 // value will be replaced with "sensitive". 8690 func (s SqsQueueConfiguration) String() string { 8691 return awsutil.Prettify(s) 8692 } 8693 8694 // GoString returns the string representation. 8695 // 8696 // API parameter values that are decorated as "sensitive" in the API will not 8697 // be included in the string output. The member name will be present, but the 8698 // value will be replaced with "sensitive". 8699 func (s SqsQueueConfiguration) GoString() string { 8700 return s.String() 8701 } 8702 8703 // SetQueuePolicy sets the QueuePolicy field's value. 8704 func (s *SqsQueueConfiguration) SetQueuePolicy(v string) *SqsQueueConfiguration { 8705 s.QueuePolicy = &v 8706 return s 8707 } 8708 8709 type StartPolicyGenerationInput struct { 8710 _ struct{} `type:"structure"` 8711 8712 // A unique, case-sensitive identifier that you provide to ensure the idempotency 8713 // of the request. Idempotency ensures that an API request completes only once. 8714 // With an idempotent request, if the original request completes successfully, 8715 // the subsequent retries with the same client token return the result from 8716 // the original successful request and they have no additional effect. 8717 // 8718 // If you do not specify a client token, one is automatically generated by the 8719 // Amazon Web Services SDK. 8720 ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"` 8721 8722 // A CloudTrailDetails object that contains details about a Trail that you want 8723 // to analyze to generate policies. 8724 CloudTrailDetails *CloudTrailDetails `locationName:"cloudTrailDetails" type:"structure"` 8725 8726 // Contains the ARN of the IAM entity (user or role) for which you are generating 8727 // a policy. 8728 // 8729 // PolicyGenerationDetails is a required field 8730 PolicyGenerationDetails *PolicyGenerationDetails `locationName:"policyGenerationDetails" type:"structure" required:"true"` 8731 } 8732 8733 // String returns the string representation. 8734 // 8735 // API parameter values that are decorated as "sensitive" in the API will not 8736 // be included in the string output. The member name will be present, but the 8737 // value will be replaced with "sensitive". 8738 func (s StartPolicyGenerationInput) String() string { 8739 return awsutil.Prettify(s) 8740 } 8741 8742 // GoString returns the string representation. 8743 // 8744 // API parameter values that are decorated as "sensitive" in the API will not 8745 // be included in the string output. The member name will be present, but the 8746 // value will be replaced with "sensitive". 8747 func (s StartPolicyGenerationInput) GoString() string { 8748 return s.String() 8749 } 8750 8751 // Validate inspects the fields of the type to determine if they are valid. 8752 func (s *StartPolicyGenerationInput) Validate() error { 8753 invalidParams := request.ErrInvalidParams{Context: "StartPolicyGenerationInput"} 8754 if s.PolicyGenerationDetails == nil { 8755 invalidParams.Add(request.NewErrParamRequired("PolicyGenerationDetails")) 8756 } 8757 if s.CloudTrailDetails != nil { 8758 if err := s.CloudTrailDetails.Validate(); err != nil { 8759 invalidParams.AddNested("CloudTrailDetails", err.(request.ErrInvalidParams)) 8760 } 8761 } 8762 if s.PolicyGenerationDetails != nil { 8763 if err := s.PolicyGenerationDetails.Validate(); err != nil { 8764 invalidParams.AddNested("PolicyGenerationDetails", err.(request.ErrInvalidParams)) 8765 } 8766 } 8767 8768 if invalidParams.Len() > 0 { 8769 return invalidParams 8770 } 8771 return nil 8772 } 8773 8774 // SetClientToken sets the ClientToken field's value. 8775 func (s *StartPolicyGenerationInput) SetClientToken(v string) *StartPolicyGenerationInput { 8776 s.ClientToken = &v 8777 return s 8778 } 8779 8780 // SetCloudTrailDetails sets the CloudTrailDetails field's value. 8781 func (s *StartPolicyGenerationInput) SetCloudTrailDetails(v *CloudTrailDetails) *StartPolicyGenerationInput { 8782 s.CloudTrailDetails = v 8783 return s 8784 } 8785 8786 // SetPolicyGenerationDetails sets the PolicyGenerationDetails field's value. 8787 func (s *StartPolicyGenerationInput) SetPolicyGenerationDetails(v *PolicyGenerationDetails) *StartPolicyGenerationInput { 8788 s.PolicyGenerationDetails = v 8789 return s 8790 } 8791 8792 type StartPolicyGenerationOutput struct { 8793 _ struct{} `type:"structure"` 8794 8795 // The JobId that is returned by the StartPolicyGeneration operation. The JobId 8796 // can be used with GetGeneratedPolicy to retrieve the generated policies or 8797 // used with CancelPolicyGeneration to cancel the policy generation request. 8798 // 8799 // JobId is a required field 8800 JobId *string `locationName:"jobId" type:"string" required:"true"` 8801 } 8802 8803 // String returns the string representation. 8804 // 8805 // API parameter values that are decorated as "sensitive" in the API will not 8806 // be included in the string output. The member name will be present, but the 8807 // value will be replaced with "sensitive". 8808 func (s StartPolicyGenerationOutput) String() string { 8809 return awsutil.Prettify(s) 8810 } 8811 8812 // GoString returns the string representation. 8813 // 8814 // API parameter values that are decorated as "sensitive" in the API will not 8815 // be included in the string output. The member name will be present, but the 8816 // value will be replaced with "sensitive". 8817 func (s StartPolicyGenerationOutput) GoString() string { 8818 return s.String() 8819 } 8820 8821 // SetJobId sets the JobId field's value. 8822 func (s *StartPolicyGenerationOutput) SetJobId(v string) *StartPolicyGenerationOutput { 8823 s.JobId = &v 8824 return s 8825 } 8826 8827 // Starts a scan of the policies applied to the specified resource. 8828 type StartResourceScanInput struct { 8829 _ struct{} `type:"structure"` 8830 8831 // The ARN of the analyzer (https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-getting-started.html#permission-resources) 8832 // to use to scan the policies applied to the specified resource. 8833 // 8834 // AnalyzerArn is a required field 8835 AnalyzerArn *string `locationName:"analyzerArn" type:"string" required:"true"` 8836 8837 // The ARN of the resource to scan. 8838 // 8839 // ResourceArn is a required field 8840 ResourceArn *string `locationName:"resourceArn" type:"string" required:"true"` 8841 } 8842 8843 // String returns the string representation. 8844 // 8845 // API parameter values that are decorated as "sensitive" in the API will not 8846 // be included in the string output. The member name will be present, but the 8847 // value will be replaced with "sensitive". 8848 func (s StartResourceScanInput) String() string { 8849 return awsutil.Prettify(s) 8850 } 8851 8852 // GoString returns the string representation. 8853 // 8854 // API parameter values that are decorated as "sensitive" in the API will not 8855 // be included in the string output. The member name will be present, but the 8856 // value will be replaced with "sensitive". 8857 func (s StartResourceScanInput) GoString() string { 8858 return s.String() 8859 } 8860 8861 // Validate inspects the fields of the type to determine if they are valid. 8862 func (s *StartResourceScanInput) Validate() error { 8863 invalidParams := request.ErrInvalidParams{Context: "StartResourceScanInput"} 8864 if s.AnalyzerArn == nil { 8865 invalidParams.Add(request.NewErrParamRequired("AnalyzerArn")) 8866 } 8867 if s.ResourceArn == nil { 8868 invalidParams.Add(request.NewErrParamRequired("ResourceArn")) 8869 } 8870 8871 if invalidParams.Len() > 0 { 8872 return invalidParams 8873 } 8874 return nil 8875 } 8876 8877 // SetAnalyzerArn sets the AnalyzerArn field's value. 8878 func (s *StartResourceScanInput) SetAnalyzerArn(v string) *StartResourceScanInput { 8879 s.AnalyzerArn = &v 8880 return s 8881 } 8882 8883 // SetResourceArn sets the ResourceArn field's value. 8884 func (s *StartResourceScanInput) SetResourceArn(v string) *StartResourceScanInput { 8885 s.ResourceArn = &v 8886 return s 8887 } 8888 8889 type StartResourceScanOutput struct { 8890 _ struct{} `type:"structure" nopayload:"true"` 8891 } 8892 8893 // String returns the string representation. 8894 // 8895 // API parameter values that are decorated as "sensitive" in the API will not 8896 // be included in the string output. The member name will be present, but the 8897 // value will be replaced with "sensitive". 8898 func (s StartResourceScanOutput) String() string { 8899 return awsutil.Prettify(s) 8900 } 8901 8902 // GoString returns the string representation. 8903 // 8904 // API parameter values that are decorated as "sensitive" in the API will not 8905 // be included in the string output. The member name will be present, but the 8906 // value will be replaced with "sensitive". 8907 func (s StartResourceScanOutput) GoString() string { 8908 return s.String() 8909 } 8910 8911 // Provides more details about the current status of the analyzer. For example, 8912 // if the creation for the analyzer fails, a Failed status is returned. For 8913 // an analyzer with organization as the type, this failure can be due to an 8914 // issue with creating the service-linked roles required in the member accounts 8915 // of the Amazon Web Services organization. 8916 type StatusReason struct { 8917 _ struct{} `type:"structure"` 8918 8919 // The reason code for the current status of the analyzer. 8920 // 8921 // Code is a required field 8922 Code *string `locationName:"code" type:"string" required:"true" enum:"ReasonCode"` 8923 } 8924 8925 // String returns the string representation. 8926 // 8927 // API parameter values that are decorated as "sensitive" in the API will not 8928 // be included in the string output. The member name will be present, but the 8929 // value will be replaced with "sensitive". 8930 func (s StatusReason) String() string { 8931 return awsutil.Prettify(s) 8932 } 8933 8934 // GoString returns the string representation. 8935 // 8936 // API parameter values that are decorated as "sensitive" in the API will not 8937 // be included in the string output. The member name will be present, but the 8938 // value will be replaced with "sensitive". 8939 func (s StatusReason) GoString() string { 8940 return s.String() 8941 } 8942 8943 // SetCode sets the Code field's value. 8944 func (s *StatusReason) SetCode(v string) *StatusReason { 8945 s.Code = &v 8946 return s 8947 } 8948 8949 // A reference to a substring of a literal string in a JSON document. 8950 type Substring struct { 8951 _ struct{} `type:"structure"` 8952 8953 // The length of the substring. 8954 // 8955 // Length is a required field 8956 Length *int64 `locationName:"length" type:"integer" required:"true"` 8957 8958 // The start index of the substring, starting from 0. 8959 // 8960 // Start is a required field 8961 Start *int64 `locationName:"start" type:"integer" required:"true"` 8962 } 8963 8964 // String returns the string representation. 8965 // 8966 // API parameter values that are decorated as "sensitive" in the API will not 8967 // be included in the string output. The member name will be present, but the 8968 // value will be replaced with "sensitive". 8969 func (s Substring) String() string { 8970 return awsutil.Prettify(s) 8971 } 8972 8973 // GoString returns the string representation. 8974 // 8975 // API parameter values that are decorated as "sensitive" in the API will not 8976 // be included in the string output. The member name will be present, but the 8977 // value will be replaced with "sensitive". 8978 func (s Substring) GoString() string { 8979 return s.String() 8980 } 8981 8982 // SetLength sets the Length field's value. 8983 func (s *Substring) SetLength(v int64) *Substring { 8984 s.Length = &v 8985 return s 8986 } 8987 8988 // SetStart sets the Start field's value. 8989 func (s *Substring) SetStart(v int64) *Substring { 8990 s.Start = &v 8991 return s 8992 } 8993 8994 // Adds a tag to the specified resource. 8995 type TagResourceInput struct { 8996 _ struct{} `type:"structure"` 8997 8998 // The ARN of the resource to add the tag to. 8999 // 9000 // ResourceArn is a required field 9001 ResourceArn *string `location:"uri" locationName:"resourceArn" type:"string" required:"true"` 9002 9003 // The tags to add to the resource. 9004 // 9005 // Tags is a required field 9006 Tags map[string]*string `locationName:"tags" type:"map" required:"true"` 9007 } 9008 9009 // String returns the string representation. 9010 // 9011 // API parameter values that are decorated as "sensitive" in the API will not 9012 // be included in the string output. The member name will be present, but the 9013 // value will be replaced with "sensitive". 9014 func (s TagResourceInput) String() string { 9015 return awsutil.Prettify(s) 9016 } 9017 9018 // GoString returns the string representation. 9019 // 9020 // API parameter values that are decorated as "sensitive" in the API will not 9021 // be included in the string output. The member name will be present, but the 9022 // value will be replaced with "sensitive". 9023 func (s TagResourceInput) GoString() string { 9024 return s.String() 9025 } 9026 9027 // Validate inspects the fields of the type to determine if they are valid. 9028 func (s *TagResourceInput) Validate() error { 9029 invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"} 9030 if s.ResourceArn == nil { 9031 invalidParams.Add(request.NewErrParamRequired("ResourceArn")) 9032 } 9033 if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { 9034 invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) 9035 } 9036 if s.Tags == nil { 9037 invalidParams.Add(request.NewErrParamRequired("Tags")) 9038 } 9039 9040 if invalidParams.Len() > 0 { 9041 return invalidParams 9042 } 9043 return nil 9044 } 9045 9046 // SetResourceArn sets the ResourceArn field's value. 9047 func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput { 9048 s.ResourceArn = &v 9049 return s 9050 } 9051 9052 // SetTags sets the Tags field's value. 9053 func (s *TagResourceInput) SetTags(v map[string]*string) *TagResourceInput { 9054 s.Tags = v 9055 return s 9056 } 9057 9058 // The response to the request. 9059 type TagResourceOutput struct { 9060 _ struct{} `type:"structure" nopayload:"true"` 9061 } 9062 9063 // String returns the string representation. 9064 // 9065 // API parameter values that are decorated as "sensitive" in the API will not 9066 // be included in the string output. The member name will be present, but the 9067 // value will be replaced with "sensitive". 9068 func (s TagResourceOutput) String() string { 9069 return awsutil.Prettify(s) 9070 } 9071 9072 // GoString returns the string representation. 9073 // 9074 // API parameter values that are decorated as "sensitive" in the API will not 9075 // be included in the string output. The member name will be present, but the 9076 // value will be replaced with "sensitive". 9077 func (s TagResourceOutput) GoString() string { 9078 return s.String() 9079 } 9080 9081 // Throttling limit exceeded error. 9082 type ThrottlingException struct { 9083 _ struct{} `type:"structure"` 9084 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 9085 9086 Message_ *string `locationName:"message" type:"string"` 9087 9088 // The seconds to wait to retry. 9089 RetryAfterSeconds *int64 `location:"header" locationName:"Retry-After" type:"integer"` 9090 } 9091 9092 // String returns the string representation. 9093 // 9094 // API parameter values that are decorated as "sensitive" in the API will not 9095 // be included in the string output. The member name will be present, but the 9096 // value will be replaced with "sensitive". 9097 func (s ThrottlingException) String() string { 9098 return awsutil.Prettify(s) 9099 } 9100 9101 // GoString returns the string representation. 9102 // 9103 // API parameter values that are decorated as "sensitive" in the API will not 9104 // be included in the string output. The member name will be present, but the 9105 // value will be replaced with "sensitive". 9106 func (s ThrottlingException) GoString() string { 9107 return s.String() 9108 } 9109 9110 func newErrorThrottlingException(v protocol.ResponseMetadata) error { 9111 return &ThrottlingException{ 9112 RespMetadata: v, 9113 } 9114 } 9115 9116 // Code returns the exception type name. 9117 func (s *ThrottlingException) Code() string { 9118 return "ThrottlingException" 9119 } 9120 9121 // Message returns the exception's message. 9122 func (s *ThrottlingException) Message() string { 9123 if s.Message_ != nil { 9124 return *s.Message_ 9125 } 9126 return "" 9127 } 9128 9129 // OrigErr always returns nil, satisfies awserr.Error interface. 9130 func (s *ThrottlingException) OrigErr() error { 9131 return nil 9132 } 9133 9134 func (s *ThrottlingException) Error() string { 9135 return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) 9136 } 9137 9138 // Status code returns the HTTP status code for the request's response error. 9139 func (s *ThrottlingException) StatusCode() int { 9140 return s.RespMetadata.StatusCode 9141 } 9142 9143 // RequestID returns the service's response RequestID for request. 9144 func (s *ThrottlingException) RequestID() string { 9145 return s.RespMetadata.RequestID 9146 } 9147 9148 // Contains details about the CloudTrail trail being analyzed to generate a 9149 // policy. 9150 type Trail struct { 9151 _ struct{} `type:"structure"` 9152 9153 // Possible values are true or false. If set to true, IAM Access Analyzer retrieves 9154 // CloudTrail data from all regions to analyze and generate a policy. 9155 AllRegions *bool `locationName:"allRegions" type:"boolean"` 9156 9157 // Specifies the ARN of the trail. The format of a trail ARN is arn:aws:cloudtrail:us-east-2:123456789012:trail/MyTrail. 9158 // 9159 // CloudTrailArn is a required field 9160 CloudTrailArn *string `locationName:"cloudTrailArn" type:"string" required:"true"` 9161 9162 // A list of regions to get CloudTrail data from and analyze to generate a policy. 9163 Regions []*string `locationName:"regions" type:"list"` 9164 } 9165 9166 // String returns the string representation. 9167 // 9168 // API parameter values that are decorated as "sensitive" in the API will not 9169 // be included in the string output. The member name will be present, but the 9170 // value will be replaced with "sensitive". 9171 func (s Trail) String() string { 9172 return awsutil.Prettify(s) 9173 } 9174 9175 // GoString returns the string representation. 9176 // 9177 // API parameter values that are decorated as "sensitive" in the API will not 9178 // be included in the string output. The member name will be present, but the 9179 // value will be replaced with "sensitive". 9180 func (s Trail) GoString() string { 9181 return s.String() 9182 } 9183 9184 // Validate inspects the fields of the type to determine if they are valid. 9185 func (s *Trail) Validate() error { 9186 invalidParams := request.ErrInvalidParams{Context: "Trail"} 9187 if s.CloudTrailArn == nil { 9188 invalidParams.Add(request.NewErrParamRequired("CloudTrailArn")) 9189 } 9190 9191 if invalidParams.Len() > 0 { 9192 return invalidParams 9193 } 9194 return nil 9195 } 9196 9197 // SetAllRegions sets the AllRegions field's value. 9198 func (s *Trail) SetAllRegions(v bool) *Trail { 9199 s.AllRegions = &v 9200 return s 9201 } 9202 9203 // SetCloudTrailArn sets the CloudTrailArn field's value. 9204 func (s *Trail) SetCloudTrailArn(v string) *Trail { 9205 s.CloudTrailArn = &v 9206 return s 9207 } 9208 9209 // SetRegions sets the Regions field's value. 9210 func (s *Trail) SetRegions(v []*string) *Trail { 9211 s.Regions = v 9212 return s 9213 } 9214 9215 // Contains details about the CloudTrail trail being analyzed to generate a 9216 // policy. 9217 type TrailProperties struct { 9218 _ struct{} `type:"structure"` 9219 9220 // Possible values are true or false. If set to true, IAM Access Analyzer retrieves 9221 // CloudTrail data from all regions to analyze and generate a policy. 9222 AllRegions *bool `locationName:"allRegions" type:"boolean"` 9223 9224 // Specifies the ARN of the trail. The format of a trail ARN is arn:aws:cloudtrail:us-east-2:123456789012:trail/MyTrail. 9225 // 9226 // CloudTrailArn is a required field 9227 CloudTrailArn *string `locationName:"cloudTrailArn" type:"string" required:"true"` 9228 9229 // A list of regions to get CloudTrail data from and analyze to generate a policy. 9230 Regions []*string `locationName:"regions" type:"list"` 9231 } 9232 9233 // String returns the string representation. 9234 // 9235 // API parameter values that are decorated as "sensitive" in the API will not 9236 // be included in the string output. The member name will be present, but the 9237 // value will be replaced with "sensitive". 9238 func (s TrailProperties) String() string { 9239 return awsutil.Prettify(s) 9240 } 9241 9242 // GoString returns the string representation. 9243 // 9244 // API parameter values that are decorated as "sensitive" in the API will not 9245 // be included in the string output. The member name will be present, but the 9246 // value will be replaced with "sensitive". 9247 func (s TrailProperties) GoString() string { 9248 return s.String() 9249 } 9250 9251 // SetAllRegions sets the AllRegions field's value. 9252 func (s *TrailProperties) SetAllRegions(v bool) *TrailProperties { 9253 s.AllRegions = &v 9254 return s 9255 } 9256 9257 // SetCloudTrailArn sets the CloudTrailArn field's value. 9258 func (s *TrailProperties) SetCloudTrailArn(v string) *TrailProperties { 9259 s.CloudTrailArn = &v 9260 return s 9261 } 9262 9263 // SetRegions sets the Regions field's value. 9264 func (s *TrailProperties) SetRegions(v []*string) *TrailProperties { 9265 s.Regions = v 9266 return s 9267 } 9268 9269 // Removes a tag from the specified resource. 9270 type UntagResourceInput struct { 9271 _ struct{} `type:"structure" nopayload:"true"` 9272 9273 // The ARN of the resource to remove the tag from. 9274 // 9275 // ResourceArn is a required field 9276 ResourceArn *string `location:"uri" locationName:"resourceArn" type:"string" required:"true"` 9277 9278 // The key for the tag to add. 9279 // 9280 // TagKeys is a required field 9281 TagKeys []*string `location:"querystring" locationName:"tagKeys" type:"list" required:"true"` 9282 } 9283 9284 // String returns the string representation. 9285 // 9286 // API parameter values that are decorated as "sensitive" in the API will not 9287 // be included in the string output. The member name will be present, but the 9288 // value will be replaced with "sensitive". 9289 func (s UntagResourceInput) String() string { 9290 return awsutil.Prettify(s) 9291 } 9292 9293 // GoString returns the string representation. 9294 // 9295 // API parameter values that are decorated as "sensitive" in the API will not 9296 // be included in the string output. The member name will be present, but the 9297 // value will be replaced with "sensitive". 9298 func (s UntagResourceInput) GoString() string { 9299 return s.String() 9300 } 9301 9302 // Validate inspects the fields of the type to determine if they are valid. 9303 func (s *UntagResourceInput) Validate() error { 9304 invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"} 9305 if s.ResourceArn == nil { 9306 invalidParams.Add(request.NewErrParamRequired("ResourceArn")) 9307 } 9308 if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { 9309 invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) 9310 } 9311 if s.TagKeys == nil { 9312 invalidParams.Add(request.NewErrParamRequired("TagKeys")) 9313 } 9314 9315 if invalidParams.Len() > 0 { 9316 return invalidParams 9317 } 9318 return nil 9319 } 9320 9321 // SetResourceArn sets the ResourceArn field's value. 9322 func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput { 9323 s.ResourceArn = &v 9324 return s 9325 } 9326 9327 // SetTagKeys sets the TagKeys field's value. 9328 func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput { 9329 s.TagKeys = v 9330 return s 9331 } 9332 9333 // The response to the request. 9334 type UntagResourceOutput struct { 9335 _ struct{} `type:"structure" nopayload:"true"` 9336 } 9337 9338 // String returns the string representation. 9339 // 9340 // API parameter values that are decorated as "sensitive" in the API will not 9341 // be included in the string output. The member name will be present, but the 9342 // value will be replaced with "sensitive". 9343 func (s UntagResourceOutput) String() string { 9344 return awsutil.Prettify(s) 9345 } 9346 9347 // GoString returns the string representation. 9348 // 9349 // API parameter values that are decorated as "sensitive" in the API will not 9350 // be included in the string output. The member name will be present, but the 9351 // value will be replaced with "sensitive". 9352 func (s UntagResourceOutput) GoString() string { 9353 return s.String() 9354 } 9355 9356 // Updates the specified archive rule. 9357 type UpdateArchiveRuleInput struct { 9358 _ struct{} `type:"structure"` 9359 9360 // The name of the analyzer to update the archive rules for. 9361 // 9362 // AnalyzerName is a required field 9363 AnalyzerName *string `location:"uri" locationName:"analyzerName" min:"1" type:"string" required:"true"` 9364 9365 // A client token. 9366 ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"` 9367 9368 // A filter to match for the rules to update. Only rules that match the filter 9369 // are updated. 9370 // 9371 // Filter is a required field 9372 Filter map[string]*Criterion `locationName:"filter" type:"map" required:"true"` 9373 9374 // The name of the rule to update. 9375 // 9376 // RuleName is a required field 9377 RuleName *string `location:"uri" locationName:"ruleName" min:"1" type:"string" required:"true"` 9378 } 9379 9380 // String returns the string representation. 9381 // 9382 // API parameter values that are decorated as "sensitive" in the API will not 9383 // be included in the string output. The member name will be present, but the 9384 // value will be replaced with "sensitive". 9385 func (s UpdateArchiveRuleInput) String() string { 9386 return awsutil.Prettify(s) 9387 } 9388 9389 // GoString returns the string representation. 9390 // 9391 // API parameter values that are decorated as "sensitive" in the API will not 9392 // be included in the string output. The member name will be present, but the 9393 // value will be replaced with "sensitive". 9394 func (s UpdateArchiveRuleInput) GoString() string { 9395 return s.String() 9396 } 9397 9398 // Validate inspects the fields of the type to determine if they are valid. 9399 func (s *UpdateArchiveRuleInput) Validate() error { 9400 invalidParams := request.ErrInvalidParams{Context: "UpdateArchiveRuleInput"} 9401 if s.AnalyzerName == nil { 9402 invalidParams.Add(request.NewErrParamRequired("AnalyzerName")) 9403 } 9404 if s.AnalyzerName != nil && len(*s.AnalyzerName) < 1 { 9405 invalidParams.Add(request.NewErrParamMinLen("AnalyzerName", 1)) 9406 } 9407 if s.Filter == nil { 9408 invalidParams.Add(request.NewErrParamRequired("Filter")) 9409 } 9410 if s.RuleName == nil { 9411 invalidParams.Add(request.NewErrParamRequired("RuleName")) 9412 } 9413 if s.RuleName != nil && len(*s.RuleName) < 1 { 9414 invalidParams.Add(request.NewErrParamMinLen("RuleName", 1)) 9415 } 9416 if s.Filter != nil { 9417 for i, v := range s.Filter { 9418 if v == nil { 9419 continue 9420 } 9421 if err := v.Validate(); err != nil { 9422 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filter", i), err.(request.ErrInvalidParams)) 9423 } 9424 } 9425 } 9426 9427 if invalidParams.Len() > 0 { 9428 return invalidParams 9429 } 9430 return nil 9431 } 9432 9433 // SetAnalyzerName sets the AnalyzerName field's value. 9434 func (s *UpdateArchiveRuleInput) SetAnalyzerName(v string) *UpdateArchiveRuleInput { 9435 s.AnalyzerName = &v 9436 return s 9437 } 9438 9439 // SetClientToken sets the ClientToken field's value. 9440 func (s *UpdateArchiveRuleInput) SetClientToken(v string) *UpdateArchiveRuleInput { 9441 s.ClientToken = &v 9442 return s 9443 } 9444 9445 // SetFilter sets the Filter field's value. 9446 func (s *UpdateArchiveRuleInput) SetFilter(v map[string]*Criterion) *UpdateArchiveRuleInput { 9447 s.Filter = v 9448 return s 9449 } 9450 9451 // SetRuleName sets the RuleName field's value. 9452 func (s *UpdateArchiveRuleInput) SetRuleName(v string) *UpdateArchiveRuleInput { 9453 s.RuleName = &v 9454 return s 9455 } 9456 9457 type UpdateArchiveRuleOutput struct { 9458 _ struct{} `type:"structure" nopayload:"true"` 9459 } 9460 9461 // String returns the string representation. 9462 // 9463 // API parameter values that are decorated as "sensitive" in the API will not 9464 // be included in the string output. The member name will be present, but the 9465 // value will be replaced with "sensitive". 9466 func (s UpdateArchiveRuleOutput) String() string { 9467 return awsutil.Prettify(s) 9468 } 9469 9470 // GoString returns the string representation. 9471 // 9472 // API parameter values that are decorated as "sensitive" in the API will not 9473 // be included in the string output. The member name will be present, but the 9474 // value will be replaced with "sensitive". 9475 func (s UpdateArchiveRuleOutput) GoString() string { 9476 return s.String() 9477 } 9478 9479 // Updates findings with the new values provided in the request. 9480 type UpdateFindingsInput struct { 9481 _ struct{} `type:"structure"` 9482 9483 // The ARN of the analyzer (https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-getting-started.html#permission-resources) 9484 // that generated the findings to update. 9485 // 9486 // AnalyzerArn is a required field 9487 AnalyzerArn *string `locationName:"analyzerArn" type:"string" required:"true"` 9488 9489 // A client token. 9490 ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"` 9491 9492 // The IDs of the findings to update. 9493 Ids []*string `locationName:"ids" type:"list"` 9494 9495 // The ARN of the resource identified in the finding. 9496 ResourceArn *string `locationName:"resourceArn" type:"string"` 9497 9498 // The state represents the action to take to update the finding Status. Use 9499 // ARCHIVE to change an Active finding to an Archived finding. Use ACTIVE to 9500 // change an Archived finding to an Active finding. 9501 // 9502 // Status is a required field 9503 Status *string `locationName:"status" type:"string" required:"true" enum:"FindingStatusUpdate"` 9504 } 9505 9506 // String returns the string representation. 9507 // 9508 // API parameter values that are decorated as "sensitive" in the API will not 9509 // be included in the string output. The member name will be present, but the 9510 // value will be replaced with "sensitive". 9511 func (s UpdateFindingsInput) String() string { 9512 return awsutil.Prettify(s) 9513 } 9514 9515 // GoString returns the string representation. 9516 // 9517 // API parameter values that are decorated as "sensitive" in the API will not 9518 // be included in the string output. The member name will be present, but the 9519 // value will be replaced with "sensitive". 9520 func (s UpdateFindingsInput) GoString() string { 9521 return s.String() 9522 } 9523 9524 // Validate inspects the fields of the type to determine if they are valid. 9525 func (s *UpdateFindingsInput) Validate() error { 9526 invalidParams := request.ErrInvalidParams{Context: "UpdateFindingsInput"} 9527 if s.AnalyzerArn == nil { 9528 invalidParams.Add(request.NewErrParamRequired("AnalyzerArn")) 9529 } 9530 if s.Status == nil { 9531 invalidParams.Add(request.NewErrParamRequired("Status")) 9532 } 9533 9534 if invalidParams.Len() > 0 { 9535 return invalidParams 9536 } 9537 return nil 9538 } 9539 9540 // SetAnalyzerArn sets the AnalyzerArn field's value. 9541 func (s *UpdateFindingsInput) SetAnalyzerArn(v string) *UpdateFindingsInput { 9542 s.AnalyzerArn = &v 9543 return s 9544 } 9545 9546 // SetClientToken sets the ClientToken field's value. 9547 func (s *UpdateFindingsInput) SetClientToken(v string) *UpdateFindingsInput { 9548 s.ClientToken = &v 9549 return s 9550 } 9551 9552 // SetIds sets the Ids field's value. 9553 func (s *UpdateFindingsInput) SetIds(v []*string) *UpdateFindingsInput { 9554 s.Ids = v 9555 return s 9556 } 9557 9558 // SetResourceArn sets the ResourceArn field's value. 9559 func (s *UpdateFindingsInput) SetResourceArn(v string) *UpdateFindingsInput { 9560 s.ResourceArn = &v 9561 return s 9562 } 9563 9564 // SetStatus sets the Status field's value. 9565 func (s *UpdateFindingsInput) SetStatus(v string) *UpdateFindingsInput { 9566 s.Status = &v 9567 return s 9568 } 9569 9570 type UpdateFindingsOutput struct { 9571 _ struct{} `type:"structure" nopayload:"true"` 9572 } 9573 9574 // String returns the string representation. 9575 // 9576 // API parameter values that are decorated as "sensitive" in the API will not 9577 // be included in the string output. The member name will be present, but the 9578 // value will be replaced with "sensitive". 9579 func (s UpdateFindingsOutput) String() string { 9580 return awsutil.Prettify(s) 9581 } 9582 9583 // GoString returns the string representation. 9584 // 9585 // API parameter values that are decorated as "sensitive" in the API will not 9586 // be included in the string output. The member name will be present, but the 9587 // value will be replaced with "sensitive". 9588 func (s UpdateFindingsOutput) GoString() string { 9589 return s.String() 9590 } 9591 9592 // A finding in a policy. Each finding is an actionable recommendation that 9593 // can be used to improve the policy. 9594 type ValidatePolicyFinding struct { 9595 _ struct{} `type:"structure"` 9596 9597 // A localized message that explains the finding and provides guidance on how 9598 // to address it. 9599 // 9600 // FindingDetails is a required field 9601 FindingDetails *string `locationName:"findingDetails" type:"string" required:"true"` 9602 9603 // The impact of the finding. 9604 // 9605 // Security warnings report when the policy allows access that we consider overly 9606 // permissive. 9607 // 9608 // Errors report when a part of the policy is not functional. 9609 // 9610 // Warnings report non-security issues when a policy does not conform to policy 9611 // writing best practices. 9612 // 9613 // Suggestions recommend stylistic improvements in the policy that do not impact 9614 // access. 9615 // 9616 // FindingType is a required field 9617 FindingType *string `locationName:"findingType" type:"string" required:"true" enum:"ValidatePolicyFindingType"` 9618 9619 // The issue code provides an identifier of the issue associated with this finding. 9620 // 9621 // IssueCode is a required field 9622 IssueCode *string `locationName:"issueCode" type:"string" required:"true"` 9623 9624 // A link to additional documentation about the type of finding. 9625 // 9626 // LearnMoreLink is a required field 9627 LearnMoreLink *string `locationName:"learnMoreLink" type:"string" required:"true"` 9628 9629 // The list of locations in the policy document that are related to the finding. 9630 // The issue code provides a summary of an issue identified by the finding. 9631 // 9632 // Locations is a required field 9633 Locations []*Location `locationName:"locations" type:"list" required:"true"` 9634 } 9635 9636 // String returns the string representation. 9637 // 9638 // API parameter values that are decorated as "sensitive" in the API will not 9639 // be included in the string output. The member name will be present, but the 9640 // value will be replaced with "sensitive". 9641 func (s ValidatePolicyFinding) String() string { 9642 return awsutil.Prettify(s) 9643 } 9644 9645 // GoString returns the string representation. 9646 // 9647 // API parameter values that are decorated as "sensitive" in the API will not 9648 // be included in the string output. The member name will be present, but the 9649 // value will be replaced with "sensitive". 9650 func (s ValidatePolicyFinding) GoString() string { 9651 return s.String() 9652 } 9653 9654 // SetFindingDetails sets the FindingDetails field's value. 9655 func (s *ValidatePolicyFinding) SetFindingDetails(v string) *ValidatePolicyFinding { 9656 s.FindingDetails = &v 9657 return s 9658 } 9659 9660 // SetFindingType sets the FindingType field's value. 9661 func (s *ValidatePolicyFinding) SetFindingType(v string) *ValidatePolicyFinding { 9662 s.FindingType = &v 9663 return s 9664 } 9665 9666 // SetIssueCode sets the IssueCode field's value. 9667 func (s *ValidatePolicyFinding) SetIssueCode(v string) *ValidatePolicyFinding { 9668 s.IssueCode = &v 9669 return s 9670 } 9671 9672 // SetLearnMoreLink sets the LearnMoreLink field's value. 9673 func (s *ValidatePolicyFinding) SetLearnMoreLink(v string) *ValidatePolicyFinding { 9674 s.LearnMoreLink = &v 9675 return s 9676 } 9677 9678 // SetLocations sets the Locations field's value. 9679 func (s *ValidatePolicyFinding) SetLocations(v []*Location) *ValidatePolicyFinding { 9680 s.Locations = v 9681 return s 9682 } 9683 9684 type ValidatePolicyInput struct { 9685 _ struct{} `type:"structure"` 9686 9687 // The locale to use for localizing the findings. 9688 Locale *string `locationName:"locale" type:"string" enum:"Locale"` 9689 9690 // The maximum number of results to return in the response. 9691 MaxResults *int64 `location:"querystring" locationName:"maxResults" type:"integer"` 9692 9693 // A token used for pagination of results returned. 9694 NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` 9695 9696 // The JSON policy document to use as the content for the policy. 9697 // 9698 // PolicyDocument is a required field 9699 PolicyDocument *string `locationName:"policyDocument" type:"string" required:"true"` 9700 9701 // The type of policy to validate. Identity policies grant permissions to IAM 9702 // principals. Identity policies include managed and inline policies for IAM 9703 // roles, users, and groups. They also include service-control policies (SCPs) 9704 // that are attached to an Amazon Web Services organization, organizational 9705 // unit (OU), or an account. 9706 // 9707 // Resource policies grant permissions on Amazon Web Services resources. Resource 9708 // policies include trust policies for IAM roles and bucket policies for Amazon 9709 // S3 buckets. You can provide a generic input such as identity policy or resource 9710 // policy or a specific input such as managed policy or Amazon S3 bucket policy. 9711 // 9712 // PolicyType is a required field 9713 PolicyType *string `locationName:"policyType" type:"string" required:"true" enum:"PolicyType"` 9714 } 9715 9716 // String returns the string representation. 9717 // 9718 // API parameter values that are decorated as "sensitive" in the API will not 9719 // be included in the string output. The member name will be present, but the 9720 // value will be replaced with "sensitive". 9721 func (s ValidatePolicyInput) String() string { 9722 return awsutil.Prettify(s) 9723 } 9724 9725 // GoString returns the string representation. 9726 // 9727 // API parameter values that are decorated as "sensitive" in the API will not 9728 // be included in the string output. The member name will be present, but the 9729 // value will be replaced with "sensitive". 9730 func (s ValidatePolicyInput) GoString() string { 9731 return s.String() 9732 } 9733 9734 // Validate inspects the fields of the type to determine if they are valid. 9735 func (s *ValidatePolicyInput) Validate() error { 9736 invalidParams := request.ErrInvalidParams{Context: "ValidatePolicyInput"} 9737 if s.PolicyDocument == nil { 9738 invalidParams.Add(request.NewErrParamRequired("PolicyDocument")) 9739 } 9740 if s.PolicyType == nil { 9741 invalidParams.Add(request.NewErrParamRequired("PolicyType")) 9742 } 9743 9744 if invalidParams.Len() > 0 { 9745 return invalidParams 9746 } 9747 return nil 9748 } 9749 9750 // SetLocale sets the Locale field's value. 9751 func (s *ValidatePolicyInput) SetLocale(v string) *ValidatePolicyInput { 9752 s.Locale = &v 9753 return s 9754 } 9755 9756 // SetMaxResults sets the MaxResults field's value. 9757 func (s *ValidatePolicyInput) SetMaxResults(v int64) *ValidatePolicyInput { 9758 s.MaxResults = &v 9759 return s 9760 } 9761 9762 // SetNextToken sets the NextToken field's value. 9763 func (s *ValidatePolicyInput) SetNextToken(v string) *ValidatePolicyInput { 9764 s.NextToken = &v 9765 return s 9766 } 9767 9768 // SetPolicyDocument sets the PolicyDocument field's value. 9769 func (s *ValidatePolicyInput) SetPolicyDocument(v string) *ValidatePolicyInput { 9770 s.PolicyDocument = &v 9771 return s 9772 } 9773 9774 // SetPolicyType sets the PolicyType field's value. 9775 func (s *ValidatePolicyInput) SetPolicyType(v string) *ValidatePolicyInput { 9776 s.PolicyType = &v 9777 return s 9778 } 9779 9780 type ValidatePolicyOutput struct { 9781 _ struct{} `type:"structure"` 9782 9783 // The list of findings in a policy returned by IAM Access Analyzer based on 9784 // its suite of policy checks. 9785 // 9786 // Findings is a required field 9787 Findings []*ValidatePolicyFinding `locationName:"findings" type:"list" required:"true"` 9788 9789 // A token used for pagination of results returned. 9790 NextToken *string `locationName:"nextToken" type:"string"` 9791 } 9792 9793 // String returns the string representation. 9794 // 9795 // API parameter values that are decorated as "sensitive" in the API will not 9796 // be included in the string output. The member name will be present, but the 9797 // value will be replaced with "sensitive". 9798 func (s ValidatePolicyOutput) String() string { 9799 return awsutil.Prettify(s) 9800 } 9801 9802 // GoString returns the string representation. 9803 // 9804 // API parameter values that are decorated as "sensitive" in the API will not 9805 // be included in the string output. The member name will be present, but the 9806 // value will be replaced with "sensitive". 9807 func (s ValidatePolicyOutput) GoString() string { 9808 return s.String() 9809 } 9810 9811 // SetFindings sets the Findings field's value. 9812 func (s *ValidatePolicyOutput) SetFindings(v []*ValidatePolicyFinding) *ValidatePolicyOutput { 9813 s.Findings = v 9814 return s 9815 } 9816 9817 // SetNextToken sets the NextToken field's value. 9818 func (s *ValidatePolicyOutput) SetNextToken(v string) *ValidatePolicyOutput { 9819 s.NextToken = &v 9820 return s 9821 } 9822 9823 // Validation exception error. 9824 type ValidationException struct { 9825 _ struct{} `type:"structure"` 9826 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 9827 9828 // A list of fields that didn't validate. 9829 FieldList []*ValidationExceptionField `locationName:"fieldList" type:"list"` 9830 9831 Message_ *string `locationName:"message" type:"string"` 9832 9833 // The reason for the exception. 9834 // 9835 // Reason is a required field 9836 Reason *string `locationName:"reason" type:"string" required:"true" enum:"ValidationExceptionReason"` 9837 } 9838 9839 // String returns the string representation. 9840 // 9841 // API parameter values that are decorated as "sensitive" in the API will not 9842 // be included in the string output. The member name will be present, but the 9843 // value will be replaced with "sensitive". 9844 func (s ValidationException) String() string { 9845 return awsutil.Prettify(s) 9846 } 9847 9848 // GoString returns the string representation. 9849 // 9850 // API parameter values that are decorated as "sensitive" in the API will not 9851 // be included in the string output. The member name will be present, but the 9852 // value will be replaced with "sensitive". 9853 func (s ValidationException) GoString() string { 9854 return s.String() 9855 } 9856 9857 func newErrorValidationException(v protocol.ResponseMetadata) error { 9858 return &ValidationException{ 9859 RespMetadata: v, 9860 } 9861 } 9862 9863 // Code returns the exception type name. 9864 func (s *ValidationException) Code() string { 9865 return "ValidationException" 9866 } 9867 9868 // Message returns the exception's message. 9869 func (s *ValidationException) Message() string { 9870 if s.Message_ != nil { 9871 return *s.Message_ 9872 } 9873 return "" 9874 } 9875 9876 // OrigErr always returns nil, satisfies awserr.Error interface. 9877 func (s *ValidationException) OrigErr() error { 9878 return nil 9879 } 9880 9881 func (s *ValidationException) Error() string { 9882 return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) 9883 } 9884 9885 // Status code returns the HTTP status code for the request's response error. 9886 func (s *ValidationException) StatusCode() int { 9887 return s.RespMetadata.StatusCode 9888 } 9889 9890 // RequestID returns the service's response RequestID for request. 9891 func (s *ValidationException) RequestID() string { 9892 return s.RespMetadata.RequestID 9893 } 9894 9895 // Contains information about a validation exception. 9896 type ValidationExceptionField struct { 9897 _ struct{} `type:"structure"` 9898 9899 // A message about the validation exception. 9900 // 9901 // Message is a required field 9902 Message *string `locationName:"message" type:"string" required:"true"` 9903 9904 // The name of the validation exception. 9905 // 9906 // Name is a required field 9907 Name *string `locationName:"name" type:"string" required:"true"` 9908 } 9909 9910 // String returns the string representation. 9911 // 9912 // API parameter values that are decorated as "sensitive" in the API will not 9913 // be included in the string output. The member name will be present, but the 9914 // value will be replaced with "sensitive". 9915 func (s ValidationExceptionField) String() string { 9916 return awsutil.Prettify(s) 9917 } 9918 9919 // GoString returns the string representation. 9920 // 9921 // API parameter values that are decorated as "sensitive" in the API will not 9922 // be included in the string output. The member name will be present, but the 9923 // value will be replaced with "sensitive". 9924 func (s ValidationExceptionField) GoString() string { 9925 return s.String() 9926 } 9927 9928 // SetMessage sets the Message field's value. 9929 func (s *ValidationExceptionField) SetMessage(v string) *ValidationExceptionField { 9930 s.Message = &v 9931 return s 9932 } 9933 9934 // SetName sets the Name field's value. 9935 func (s *ValidationExceptionField) SetName(v string) *ValidationExceptionField { 9936 s.Name = &v 9937 return s 9938 } 9939 9940 // The proposed virtual private cloud (VPC) configuration for the Amazon S3 9941 // access point. VPC configuration does not apply to multi-region access points. 9942 // For more information, see VpcConfiguration (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_VpcConfiguration.html). 9943 type VpcConfiguration struct { 9944 _ struct{} `type:"structure"` 9945 9946 // If this field is specified, this access point will only allow connections 9947 // from the specified VPC ID. 9948 // 9949 // VpcId is a required field 9950 VpcId *string `locationName:"vpcId" type:"string" required:"true"` 9951 } 9952 9953 // String returns the string representation. 9954 // 9955 // API parameter values that are decorated as "sensitive" in the API will not 9956 // be included in the string output. The member name will be present, but the 9957 // value will be replaced with "sensitive". 9958 func (s VpcConfiguration) String() string { 9959 return awsutil.Prettify(s) 9960 } 9961 9962 // GoString returns the string representation. 9963 // 9964 // API parameter values that are decorated as "sensitive" in the API will not 9965 // be included in the string output. The member name will be present, but the 9966 // value will be replaced with "sensitive". 9967 func (s VpcConfiguration) GoString() string { 9968 return s.String() 9969 } 9970 9971 // Validate inspects the fields of the type to determine if they are valid. 9972 func (s *VpcConfiguration) Validate() error { 9973 invalidParams := request.ErrInvalidParams{Context: "VpcConfiguration"} 9974 if s.VpcId == nil { 9975 invalidParams.Add(request.NewErrParamRequired("VpcId")) 9976 } 9977 9978 if invalidParams.Len() > 0 { 9979 return invalidParams 9980 } 9981 return nil 9982 } 9983 9984 // SetVpcId sets the VpcId field's value. 9985 func (s *VpcConfiguration) SetVpcId(v string) *VpcConfiguration { 9986 s.VpcId = &v 9987 return s 9988 } 9989 9990 const ( 9991 // AccessPreviewStatusCompleted is a AccessPreviewStatus enum value 9992 AccessPreviewStatusCompleted = "COMPLETED" 9993 9994 // AccessPreviewStatusCreating is a AccessPreviewStatus enum value 9995 AccessPreviewStatusCreating = "CREATING" 9996 9997 // AccessPreviewStatusFailed is a AccessPreviewStatus enum value 9998 AccessPreviewStatusFailed = "FAILED" 9999 ) 10000 10001 // AccessPreviewStatus_Values returns all elements of the AccessPreviewStatus enum 10002 func AccessPreviewStatus_Values() []string { 10003 return []string{ 10004 AccessPreviewStatusCompleted, 10005 AccessPreviewStatusCreating, 10006 AccessPreviewStatusFailed, 10007 } 10008 } 10009 10010 const ( 10011 // AccessPreviewStatusReasonCodeInternalError is a AccessPreviewStatusReasonCode enum value 10012 AccessPreviewStatusReasonCodeInternalError = "INTERNAL_ERROR" 10013 10014 // AccessPreviewStatusReasonCodeInvalidConfiguration is a AccessPreviewStatusReasonCode enum value 10015 AccessPreviewStatusReasonCodeInvalidConfiguration = "INVALID_CONFIGURATION" 10016 ) 10017 10018 // AccessPreviewStatusReasonCode_Values returns all elements of the AccessPreviewStatusReasonCode enum 10019 func AccessPreviewStatusReasonCode_Values() []string { 10020 return []string{ 10021 AccessPreviewStatusReasonCodeInternalError, 10022 AccessPreviewStatusReasonCodeInvalidConfiguration, 10023 } 10024 } 10025 10026 const ( 10027 // AclPermissionRead is a AclPermission enum value 10028 AclPermissionRead = "READ" 10029 10030 // AclPermissionWrite is a AclPermission enum value 10031 AclPermissionWrite = "WRITE" 10032 10033 // AclPermissionReadAcp is a AclPermission enum value 10034 AclPermissionReadAcp = "READ_ACP" 10035 10036 // AclPermissionWriteAcp is a AclPermission enum value 10037 AclPermissionWriteAcp = "WRITE_ACP" 10038 10039 // AclPermissionFullControl is a AclPermission enum value 10040 AclPermissionFullControl = "FULL_CONTROL" 10041 ) 10042 10043 // AclPermission_Values returns all elements of the AclPermission enum 10044 func AclPermission_Values() []string { 10045 return []string{ 10046 AclPermissionRead, 10047 AclPermissionWrite, 10048 AclPermissionReadAcp, 10049 AclPermissionWriteAcp, 10050 AclPermissionFullControl, 10051 } 10052 } 10053 10054 const ( 10055 // AnalyzerStatusActive is a AnalyzerStatus enum value 10056 AnalyzerStatusActive = "ACTIVE" 10057 10058 // AnalyzerStatusCreating is a AnalyzerStatus enum value 10059 AnalyzerStatusCreating = "CREATING" 10060 10061 // AnalyzerStatusDisabled is a AnalyzerStatus enum value 10062 AnalyzerStatusDisabled = "DISABLED" 10063 10064 // AnalyzerStatusFailed is a AnalyzerStatus enum value 10065 AnalyzerStatusFailed = "FAILED" 10066 ) 10067 10068 // AnalyzerStatus_Values returns all elements of the AnalyzerStatus enum 10069 func AnalyzerStatus_Values() []string { 10070 return []string{ 10071 AnalyzerStatusActive, 10072 AnalyzerStatusCreating, 10073 AnalyzerStatusDisabled, 10074 AnalyzerStatusFailed, 10075 } 10076 } 10077 10078 const ( 10079 // FindingChangeTypeChanged is a FindingChangeType enum value 10080 FindingChangeTypeChanged = "CHANGED" 10081 10082 // FindingChangeTypeNew is a FindingChangeType enum value 10083 FindingChangeTypeNew = "NEW" 10084 10085 // FindingChangeTypeUnchanged is a FindingChangeType enum value 10086 FindingChangeTypeUnchanged = "UNCHANGED" 10087 ) 10088 10089 // FindingChangeType_Values returns all elements of the FindingChangeType enum 10090 func FindingChangeType_Values() []string { 10091 return []string{ 10092 FindingChangeTypeChanged, 10093 FindingChangeTypeNew, 10094 FindingChangeTypeUnchanged, 10095 } 10096 } 10097 10098 const ( 10099 // FindingSourceTypePolicy is a FindingSourceType enum value 10100 FindingSourceTypePolicy = "POLICY" 10101 10102 // FindingSourceTypeBucketAcl is a FindingSourceType enum value 10103 FindingSourceTypeBucketAcl = "BUCKET_ACL" 10104 10105 // FindingSourceTypeS3AccessPoint is a FindingSourceType enum value 10106 FindingSourceTypeS3AccessPoint = "S3_ACCESS_POINT" 10107 ) 10108 10109 // FindingSourceType_Values returns all elements of the FindingSourceType enum 10110 func FindingSourceType_Values() []string { 10111 return []string{ 10112 FindingSourceTypePolicy, 10113 FindingSourceTypeBucketAcl, 10114 FindingSourceTypeS3AccessPoint, 10115 } 10116 } 10117 10118 const ( 10119 // FindingStatusActive is a FindingStatus enum value 10120 FindingStatusActive = "ACTIVE" 10121 10122 // FindingStatusArchived is a FindingStatus enum value 10123 FindingStatusArchived = "ARCHIVED" 10124 10125 // FindingStatusResolved is a FindingStatus enum value 10126 FindingStatusResolved = "RESOLVED" 10127 ) 10128 10129 // FindingStatus_Values returns all elements of the FindingStatus enum 10130 func FindingStatus_Values() []string { 10131 return []string{ 10132 FindingStatusActive, 10133 FindingStatusArchived, 10134 FindingStatusResolved, 10135 } 10136 } 10137 10138 const ( 10139 // FindingStatusUpdateActive is a FindingStatusUpdate enum value 10140 FindingStatusUpdateActive = "ACTIVE" 10141 10142 // FindingStatusUpdateArchived is a FindingStatusUpdate enum value 10143 FindingStatusUpdateArchived = "ARCHIVED" 10144 ) 10145 10146 // FindingStatusUpdate_Values returns all elements of the FindingStatusUpdate enum 10147 func FindingStatusUpdate_Values() []string { 10148 return []string{ 10149 FindingStatusUpdateActive, 10150 FindingStatusUpdateArchived, 10151 } 10152 } 10153 10154 const ( 10155 // JobErrorCodeAuthorizationError is a JobErrorCode enum value 10156 JobErrorCodeAuthorizationError = "AUTHORIZATION_ERROR" 10157 10158 // JobErrorCodeResourceNotFoundError is a JobErrorCode enum value 10159 JobErrorCodeResourceNotFoundError = "RESOURCE_NOT_FOUND_ERROR" 10160 10161 // JobErrorCodeServiceQuotaExceededError is a JobErrorCode enum value 10162 JobErrorCodeServiceQuotaExceededError = "SERVICE_QUOTA_EXCEEDED_ERROR" 10163 10164 // JobErrorCodeServiceError is a JobErrorCode enum value 10165 JobErrorCodeServiceError = "SERVICE_ERROR" 10166 ) 10167 10168 // JobErrorCode_Values returns all elements of the JobErrorCode enum 10169 func JobErrorCode_Values() []string { 10170 return []string{ 10171 JobErrorCodeAuthorizationError, 10172 JobErrorCodeResourceNotFoundError, 10173 JobErrorCodeServiceQuotaExceededError, 10174 JobErrorCodeServiceError, 10175 } 10176 } 10177 10178 const ( 10179 // JobStatusInProgress is a JobStatus enum value 10180 JobStatusInProgress = "IN_PROGRESS" 10181 10182 // JobStatusSucceeded is a JobStatus enum value 10183 JobStatusSucceeded = "SUCCEEDED" 10184 10185 // JobStatusFailed is a JobStatus enum value 10186 JobStatusFailed = "FAILED" 10187 10188 // JobStatusCanceled is a JobStatus enum value 10189 JobStatusCanceled = "CANCELED" 10190 ) 10191 10192 // JobStatus_Values returns all elements of the JobStatus enum 10193 func JobStatus_Values() []string { 10194 return []string{ 10195 JobStatusInProgress, 10196 JobStatusSucceeded, 10197 JobStatusFailed, 10198 JobStatusCanceled, 10199 } 10200 } 10201 10202 const ( 10203 // KmsGrantOperationCreateGrant is a KmsGrantOperation enum value 10204 KmsGrantOperationCreateGrant = "CreateGrant" 10205 10206 // KmsGrantOperationDecrypt is a KmsGrantOperation enum value 10207 KmsGrantOperationDecrypt = "Decrypt" 10208 10209 // KmsGrantOperationDescribeKey is a KmsGrantOperation enum value 10210 KmsGrantOperationDescribeKey = "DescribeKey" 10211 10212 // KmsGrantOperationEncrypt is a KmsGrantOperation enum value 10213 KmsGrantOperationEncrypt = "Encrypt" 10214 10215 // KmsGrantOperationGenerateDataKey is a KmsGrantOperation enum value 10216 KmsGrantOperationGenerateDataKey = "GenerateDataKey" 10217 10218 // KmsGrantOperationGenerateDataKeyPair is a KmsGrantOperation enum value 10219 KmsGrantOperationGenerateDataKeyPair = "GenerateDataKeyPair" 10220 10221 // KmsGrantOperationGenerateDataKeyPairWithoutPlaintext is a KmsGrantOperation enum value 10222 KmsGrantOperationGenerateDataKeyPairWithoutPlaintext = "GenerateDataKeyPairWithoutPlaintext" 10223 10224 // KmsGrantOperationGenerateDataKeyWithoutPlaintext is a KmsGrantOperation enum value 10225 KmsGrantOperationGenerateDataKeyWithoutPlaintext = "GenerateDataKeyWithoutPlaintext" 10226 10227 // KmsGrantOperationGetPublicKey is a KmsGrantOperation enum value 10228 KmsGrantOperationGetPublicKey = "GetPublicKey" 10229 10230 // KmsGrantOperationReEncryptFrom is a KmsGrantOperation enum value 10231 KmsGrantOperationReEncryptFrom = "ReEncryptFrom" 10232 10233 // KmsGrantOperationReEncryptTo is a KmsGrantOperation enum value 10234 KmsGrantOperationReEncryptTo = "ReEncryptTo" 10235 10236 // KmsGrantOperationRetireGrant is a KmsGrantOperation enum value 10237 KmsGrantOperationRetireGrant = "RetireGrant" 10238 10239 // KmsGrantOperationSign is a KmsGrantOperation enum value 10240 KmsGrantOperationSign = "Sign" 10241 10242 // KmsGrantOperationVerify is a KmsGrantOperation enum value 10243 KmsGrantOperationVerify = "Verify" 10244 ) 10245 10246 // KmsGrantOperation_Values returns all elements of the KmsGrantOperation enum 10247 func KmsGrantOperation_Values() []string { 10248 return []string{ 10249 KmsGrantOperationCreateGrant, 10250 KmsGrantOperationDecrypt, 10251 KmsGrantOperationDescribeKey, 10252 KmsGrantOperationEncrypt, 10253 KmsGrantOperationGenerateDataKey, 10254 KmsGrantOperationGenerateDataKeyPair, 10255 KmsGrantOperationGenerateDataKeyPairWithoutPlaintext, 10256 KmsGrantOperationGenerateDataKeyWithoutPlaintext, 10257 KmsGrantOperationGetPublicKey, 10258 KmsGrantOperationReEncryptFrom, 10259 KmsGrantOperationReEncryptTo, 10260 KmsGrantOperationRetireGrant, 10261 KmsGrantOperationSign, 10262 KmsGrantOperationVerify, 10263 } 10264 } 10265 10266 const ( 10267 // LocaleDe is a Locale enum value 10268 LocaleDe = "DE" 10269 10270 // LocaleEn is a Locale enum value 10271 LocaleEn = "EN" 10272 10273 // LocaleEs is a Locale enum value 10274 LocaleEs = "ES" 10275 10276 // LocaleFr is a Locale enum value 10277 LocaleFr = "FR" 10278 10279 // LocaleIt is a Locale enum value 10280 LocaleIt = "IT" 10281 10282 // LocaleJa is a Locale enum value 10283 LocaleJa = "JA" 10284 10285 // LocaleKo is a Locale enum value 10286 LocaleKo = "KO" 10287 10288 // LocalePtBr is a Locale enum value 10289 LocalePtBr = "PT_BR" 10290 10291 // LocaleZhCn is a Locale enum value 10292 LocaleZhCn = "ZH_CN" 10293 10294 // LocaleZhTw is a Locale enum value 10295 LocaleZhTw = "ZH_TW" 10296 ) 10297 10298 // Locale_Values returns all elements of the Locale enum 10299 func Locale_Values() []string { 10300 return []string{ 10301 LocaleDe, 10302 LocaleEn, 10303 LocaleEs, 10304 LocaleFr, 10305 LocaleIt, 10306 LocaleJa, 10307 LocaleKo, 10308 LocalePtBr, 10309 LocaleZhCn, 10310 LocaleZhTw, 10311 } 10312 } 10313 10314 const ( 10315 // OrderByAsc is a OrderBy enum value 10316 OrderByAsc = "ASC" 10317 10318 // OrderByDesc is a OrderBy enum value 10319 OrderByDesc = "DESC" 10320 ) 10321 10322 // OrderBy_Values returns all elements of the OrderBy enum 10323 func OrderBy_Values() []string { 10324 return []string{ 10325 OrderByAsc, 10326 OrderByDesc, 10327 } 10328 } 10329 10330 const ( 10331 // PolicyTypeIdentityPolicy is a PolicyType enum value 10332 PolicyTypeIdentityPolicy = "IDENTITY_POLICY" 10333 10334 // PolicyTypeResourcePolicy is a PolicyType enum value 10335 PolicyTypeResourcePolicy = "RESOURCE_POLICY" 10336 10337 // PolicyTypeServiceControlPolicy is a PolicyType enum value 10338 PolicyTypeServiceControlPolicy = "SERVICE_CONTROL_POLICY" 10339 ) 10340 10341 // PolicyType_Values returns all elements of the PolicyType enum 10342 func PolicyType_Values() []string { 10343 return []string{ 10344 PolicyTypeIdentityPolicy, 10345 PolicyTypeResourcePolicy, 10346 PolicyTypeServiceControlPolicy, 10347 } 10348 } 10349 10350 const ( 10351 // ReasonCodeAwsServiceAccessDisabled is a ReasonCode enum value 10352 ReasonCodeAwsServiceAccessDisabled = "AWS_SERVICE_ACCESS_DISABLED" 10353 10354 // ReasonCodeDelegatedAdministratorDeregistered is a ReasonCode enum value 10355 ReasonCodeDelegatedAdministratorDeregistered = "DELEGATED_ADMINISTRATOR_DEREGISTERED" 10356 10357 // ReasonCodeOrganizationDeleted is a ReasonCode enum value 10358 ReasonCodeOrganizationDeleted = "ORGANIZATION_DELETED" 10359 10360 // ReasonCodeServiceLinkedRoleCreationFailed is a ReasonCode enum value 10361 ReasonCodeServiceLinkedRoleCreationFailed = "SERVICE_LINKED_ROLE_CREATION_FAILED" 10362 ) 10363 10364 // ReasonCode_Values returns all elements of the ReasonCode enum 10365 func ReasonCode_Values() []string { 10366 return []string{ 10367 ReasonCodeAwsServiceAccessDisabled, 10368 ReasonCodeDelegatedAdministratorDeregistered, 10369 ReasonCodeOrganizationDeleted, 10370 ReasonCodeServiceLinkedRoleCreationFailed, 10371 } 10372 } 10373 10374 const ( 10375 // ResourceTypeAwsS3Bucket is a ResourceType enum value 10376 ResourceTypeAwsS3Bucket = "AWS::S3::Bucket" 10377 10378 // ResourceTypeAwsIamRole is a ResourceType enum value 10379 ResourceTypeAwsIamRole = "AWS::IAM::Role" 10380 10381 // ResourceTypeAwsSqsQueue is a ResourceType enum value 10382 ResourceTypeAwsSqsQueue = "AWS::SQS::Queue" 10383 10384 // ResourceTypeAwsLambdaFunction is a ResourceType enum value 10385 ResourceTypeAwsLambdaFunction = "AWS::Lambda::Function" 10386 10387 // ResourceTypeAwsLambdaLayerVersion is a ResourceType enum value 10388 ResourceTypeAwsLambdaLayerVersion = "AWS::Lambda::LayerVersion" 10389 10390 // ResourceTypeAwsKmsKey is a ResourceType enum value 10391 ResourceTypeAwsKmsKey = "AWS::KMS::Key" 10392 10393 // ResourceTypeAwsSecretsManagerSecret is a ResourceType enum value 10394 ResourceTypeAwsSecretsManagerSecret = "AWS::SecretsManager::Secret" 10395 ) 10396 10397 // ResourceType_Values returns all elements of the ResourceType enum 10398 func ResourceType_Values() []string { 10399 return []string{ 10400 ResourceTypeAwsS3Bucket, 10401 ResourceTypeAwsIamRole, 10402 ResourceTypeAwsSqsQueue, 10403 ResourceTypeAwsLambdaFunction, 10404 ResourceTypeAwsLambdaLayerVersion, 10405 ResourceTypeAwsKmsKey, 10406 ResourceTypeAwsSecretsManagerSecret, 10407 } 10408 } 10409 10410 const ( 10411 // TypeAccount is a Type enum value 10412 TypeAccount = "ACCOUNT" 10413 10414 // TypeOrganization is a Type enum value 10415 TypeOrganization = "ORGANIZATION" 10416 ) 10417 10418 // Type_Values returns all elements of the Type enum 10419 func Type_Values() []string { 10420 return []string{ 10421 TypeAccount, 10422 TypeOrganization, 10423 } 10424 } 10425 10426 const ( 10427 // ValidatePolicyFindingTypeError is a ValidatePolicyFindingType enum value 10428 ValidatePolicyFindingTypeError = "ERROR" 10429 10430 // ValidatePolicyFindingTypeSecurityWarning is a ValidatePolicyFindingType enum value 10431 ValidatePolicyFindingTypeSecurityWarning = "SECURITY_WARNING" 10432 10433 // ValidatePolicyFindingTypeSuggestion is a ValidatePolicyFindingType enum value 10434 ValidatePolicyFindingTypeSuggestion = "SUGGESTION" 10435 10436 // ValidatePolicyFindingTypeWarning is a ValidatePolicyFindingType enum value 10437 ValidatePolicyFindingTypeWarning = "WARNING" 10438 ) 10439 10440 // ValidatePolicyFindingType_Values returns all elements of the ValidatePolicyFindingType enum 10441 func ValidatePolicyFindingType_Values() []string { 10442 return []string{ 10443 ValidatePolicyFindingTypeError, 10444 ValidatePolicyFindingTypeSecurityWarning, 10445 ValidatePolicyFindingTypeSuggestion, 10446 ValidatePolicyFindingTypeWarning, 10447 } 10448 } 10449 10450 const ( 10451 // ValidationExceptionReasonUnknownOperation is a ValidationExceptionReason enum value 10452 ValidationExceptionReasonUnknownOperation = "unknownOperation" 10453 10454 // ValidationExceptionReasonCannotParse is a ValidationExceptionReason enum value 10455 ValidationExceptionReasonCannotParse = "cannotParse" 10456 10457 // ValidationExceptionReasonFieldValidationFailed is a ValidationExceptionReason enum value 10458 ValidationExceptionReasonFieldValidationFailed = "fieldValidationFailed" 10459 10460 // ValidationExceptionReasonOther is a ValidationExceptionReason enum value 10461 ValidationExceptionReasonOther = "other" 10462 ) 10463 10464 // ValidationExceptionReason_Values returns all elements of the ValidationExceptionReason enum 10465 func ValidationExceptionReason_Values() []string { 10466 return []string{ 10467 ValidationExceptionReasonUnknownOperation, 10468 ValidationExceptionReasonCannotParse, 10469 ValidationExceptionReasonFieldValidationFailed, 10470 ValidationExceptionReasonOther, 10471 } 10472 }