1// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. 2 3package iam 4 5import ( 6 "fmt" 7 "time" 8 9 "github.com/aws/aws-sdk-go/aws" 10 "github.com/aws/aws-sdk-go/aws/awsutil" 11 "github.com/aws/aws-sdk-go/aws/request" 12 "github.com/aws/aws-sdk-go/private/protocol" 13 "github.com/aws/aws-sdk-go/private/protocol/query" 14) 15 16const opAddClientIDToOpenIDConnectProvider = "AddClientIDToOpenIDConnectProvider" 17 18// AddClientIDToOpenIDConnectProviderRequest generates a "aws/request.Request" representing the 19// client's request for the AddClientIDToOpenIDConnectProvider operation. The "output" return 20// value will be populated with the request's response once the request complets 21// successfuly. 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 AddClientIDToOpenIDConnectProvider for more information on using the AddClientIDToOpenIDConnectProvider 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 AddClientIDToOpenIDConnectProviderRequest method. 34// req, resp := client.AddClientIDToOpenIDConnectProviderRequest(params) 35// 36// err := req.Send() 37// if err == nil { // resp is now filled 38// fmt.Println(resp) 39// } 40// 41// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/AddClientIDToOpenIDConnectProvider 42func (c *IAM) AddClientIDToOpenIDConnectProviderRequest(input *AddClientIDToOpenIDConnectProviderInput) (req *request.Request, output *AddClientIDToOpenIDConnectProviderOutput) { 43 op := &request.Operation{ 44 Name: opAddClientIDToOpenIDConnectProvider, 45 HTTPMethod: "POST", 46 HTTPPath: "/", 47 } 48 49 if input == nil { 50 input = &AddClientIDToOpenIDConnectProviderInput{} 51 } 52 53 output = &AddClientIDToOpenIDConnectProviderOutput{} 54 req = c.newRequest(op, input, output) 55 req.Handlers.Unmarshal.Remove(query.UnmarshalHandler) 56 req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) 57 return 58} 59 60// AddClientIDToOpenIDConnectProvider API operation for AWS Identity and Access Management. 61// 62// Adds a new client ID (also known as audience) to the list of client IDs already 63// registered for the specified IAM OpenID Connect (OIDC) provider resource. 64// 65// This action is idempotent; it does not fail or return an error if you add 66// an existing client ID to the provider. 67// 68// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 69// with awserr.Error's Code and Message methods to get detailed information about 70// the error. 71// 72// See the AWS API reference guide for AWS Identity and Access Management's 73// API operation AddClientIDToOpenIDConnectProvider for usage and error information. 74// 75// Returned Error Codes: 76// * ErrCodeInvalidInputException "InvalidInput" 77// The request was rejected because an invalid or out-of-range value was supplied 78// for an input parameter. 79// 80// * ErrCodeNoSuchEntityException "NoSuchEntity" 81// The request was rejected because it referenced an entity that does not exist. 82// The error message describes the entity. 83// 84// * ErrCodeLimitExceededException "LimitExceeded" 85// The request was rejected because it attempted to create resources beyond 86// the current AWS account limits. The error message describes the limit exceeded. 87// 88// * ErrCodeServiceFailureException "ServiceFailure" 89// The request processing has failed because of an unknown error, exception 90// or failure. 91// 92// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/AddClientIDToOpenIDConnectProvider 93func (c *IAM) AddClientIDToOpenIDConnectProvider(input *AddClientIDToOpenIDConnectProviderInput) (*AddClientIDToOpenIDConnectProviderOutput, error) { 94 req, out := c.AddClientIDToOpenIDConnectProviderRequest(input) 95 return out, req.Send() 96} 97 98// AddClientIDToOpenIDConnectProviderWithContext is the same as AddClientIDToOpenIDConnectProvider with the addition of 99// the ability to pass a context and additional request options. 100// 101// See AddClientIDToOpenIDConnectProvider for details on how to use this API operation. 102// 103// The context must be non-nil and will be used for request cancellation. If 104// the context is nil a panic will occur. In the future the SDK may create 105// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 106// for more information on using Contexts. 107func (c *IAM) AddClientIDToOpenIDConnectProviderWithContext(ctx aws.Context, input *AddClientIDToOpenIDConnectProviderInput, opts ...request.Option) (*AddClientIDToOpenIDConnectProviderOutput, error) { 108 req, out := c.AddClientIDToOpenIDConnectProviderRequest(input) 109 req.SetContext(ctx) 110 req.ApplyOptions(opts...) 111 return out, req.Send() 112} 113 114const opAddRoleToInstanceProfile = "AddRoleToInstanceProfile" 115 116// AddRoleToInstanceProfileRequest generates a "aws/request.Request" representing the 117// client's request for the AddRoleToInstanceProfile operation. The "output" return 118// value will be populated with the request's response once the request complets 119// successfuly. 120// 121// Use "Send" method on the returned Request to send the API call to the service. 122// the "output" return value is not valid until after Send returns without error. 123// 124// See AddRoleToInstanceProfile for more information on using the AddRoleToInstanceProfile 125// API call, and error handling. 126// 127// This method is useful when you want to inject custom logic or configuration 128// into the SDK's request lifecycle. Such as custom headers, or retry logic. 129// 130// 131// // Example sending a request using the AddRoleToInstanceProfileRequest method. 132// req, resp := client.AddRoleToInstanceProfileRequest(params) 133// 134// err := req.Send() 135// if err == nil { // resp is now filled 136// fmt.Println(resp) 137// } 138// 139// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/AddRoleToInstanceProfile 140func (c *IAM) AddRoleToInstanceProfileRequest(input *AddRoleToInstanceProfileInput) (req *request.Request, output *AddRoleToInstanceProfileOutput) { 141 op := &request.Operation{ 142 Name: opAddRoleToInstanceProfile, 143 HTTPMethod: "POST", 144 HTTPPath: "/", 145 } 146 147 if input == nil { 148 input = &AddRoleToInstanceProfileInput{} 149 } 150 151 output = &AddRoleToInstanceProfileOutput{} 152 req = c.newRequest(op, input, output) 153 req.Handlers.Unmarshal.Remove(query.UnmarshalHandler) 154 req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) 155 return 156} 157 158// AddRoleToInstanceProfile API operation for AWS Identity and Access Management. 159// 160// Adds the specified IAM role to the specified instance profile. An instance 161// profile can contain only one role, and this limit cannot be increased. 162// 163// The caller of this API must be granted the PassRole permission on the IAM 164// role by a permission policy. 165// 166// For more information about roles, go to Working with Roles (http://docs.aws.amazon.com/IAM/latest/UserGuide/WorkingWithRoles.html). 167// For more information about instance profiles, go to About Instance Profiles 168// (http://docs.aws.amazon.com/IAM/latest/UserGuide/AboutInstanceProfiles.html). 169// 170// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 171// with awserr.Error's Code and Message methods to get detailed information about 172// the error. 173// 174// See the AWS API reference guide for AWS Identity and Access Management's 175// API operation AddRoleToInstanceProfile for usage and error information. 176// 177// Returned Error Codes: 178// * ErrCodeNoSuchEntityException "NoSuchEntity" 179// The request was rejected because it referenced an entity that does not exist. 180// The error message describes the entity. 181// 182// * ErrCodeEntityAlreadyExistsException "EntityAlreadyExists" 183// The request was rejected because it attempted to create a resource that already 184// exists. 185// 186// * ErrCodeLimitExceededException "LimitExceeded" 187// The request was rejected because it attempted to create resources beyond 188// the current AWS account limits. The error message describes the limit exceeded. 189// 190// * ErrCodeUnmodifiableEntityException "UnmodifiableEntity" 191// The request was rejected because only the service that depends on the service-linked 192// role can modify or delete the role on your behalf. The error message includes 193// the name of the service that depends on this service-linked role. You must 194// request the change through that service. 195// 196// * ErrCodeServiceFailureException "ServiceFailure" 197// The request processing has failed because of an unknown error, exception 198// or failure. 199// 200// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/AddRoleToInstanceProfile 201func (c *IAM) AddRoleToInstanceProfile(input *AddRoleToInstanceProfileInput) (*AddRoleToInstanceProfileOutput, error) { 202 req, out := c.AddRoleToInstanceProfileRequest(input) 203 return out, req.Send() 204} 205 206// AddRoleToInstanceProfileWithContext is the same as AddRoleToInstanceProfile with the addition of 207// the ability to pass a context and additional request options. 208// 209// See AddRoleToInstanceProfile for details on how to use this API operation. 210// 211// The context must be non-nil and will be used for request cancellation. If 212// the context is nil a panic will occur. In the future the SDK may create 213// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 214// for more information on using Contexts. 215func (c *IAM) AddRoleToInstanceProfileWithContext(ctx aws.Context, input *AddRoleToInstanceProfileInput, opts ...request.Option) (*AddRoleToInstanceProfileOutput, error) { 216 req, out := c.AddRoleToInstanceProfileRequest(input) 217 req.SetContext(ctx) 218 req.ApplyOptions(opts...) 219 return out, req.Send() 220} 221 222const opAddUserToGroup = "AddUserToGroup" 223 224// AddUserToGroupRequest generates a "aws/request.Request" representing the 225// client's request for the AddUserToGroup operation. The "output" return 226// value will be populated with the request's response once the request complets 227// successfuly. 228// 229// Use "Send" method on the returned Request to send the API call to the service. 230// the "output" return value is not valid until after Send returns without error. 231// 232// See AddUserToGroup for more information on using the AddUserToGroup 233// API call, and error handling. 234// 235// This method is useful when you want to inject custom logic or configuration 236// into the SDK's request lifecycle. Such as custom headers, or retry logic. 237// 238// 239// // Example sending a request using the AddUserToGroupRequest method. 240// req, resp := client.AddUserToGroupRequest(params) 241// 242// err := req.Send() 243// if err == nil { // resp is now filled 244// fmt.Println(resp) 245// } 246// 247// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/AddUserToGroup 248func (c *IAM) AddUserToGroupRequest(input *AddUserToGroupInput) (req *request.Request, output *AddUserToGroupOutput) { 249 op := &request.Operation{ 250 Name: opAddUserToGroup, 251 HTTPMethod: "POST", 252 HTTPPath: "/", 253 } 254 255 if input == nil { 256 input = &AddUserToGroupInput{} 257 } 258 259 output = &AddUserToGroupOutput{} 260 req = c.newRequest(op, input, output) 261 req.Handlers.Unmarshal.Remove(query.UnmarshalHandler) 262 req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) 263 return 264} 265 266// AddUserToGroup API operation for AWS Identity and Access Management. 267// 268// Adds the specified user to the specified group. 269// 270// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 271// with awserr.Error's Code and Message methods to get detailed information about 272// the error. 273// 274// See the AWS API reference guide for AWS Identity and Access Management's 275// API operation AddUserToGroup for usage and error information. 276// 277// Returned Error Codes: 278// * ErrCodeNoSuchEntityException "NoSuchEntity" 279// The request was rejected because it referenced an entity that does not exist. 280// The error message describes the entity. 281// 282// * ErrCodeLimitExceededException "LimitExceeded" 283// The request was rejected because it attempted to create resources beyond 284// the current AWS account limits. The error message describes the limit exceeded. 285// 286// * ErrCodeServiceFailureException "ServiceFailure" 287// The request processing has failed because of an unknown error, exception 288// or failure. 289// 290// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/AddUserToGroup 291func (c *IAM) AddUserToGroup(input *AddUserToGroupInput) (*AddUserToGroupOutput, error) { 292 req, out := c.AddUserToGroupRequest(input) 293 return out, req.Send() 294} 295 296// AddUserToGroupWithContext is the same as AddUserToGroup with the addition of 297// the ability to pass a context and additional request options. 298// 299// See AddUserToGroup for details on how to use this API operation. 300// 301// The context must be non-nil and will be used for request cancellation. If 302// the context is nil a panic will occur. In the future the SDK may create 303// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 304// for more information on using Contexts. 305func (c *IAM) AddUserToGroupWithContext(ctx aws.Context, input *AddUserToGroupInput, opts ...request.Option) (*AddUserToGroupOutput, error) { 306 req, out := c.AddUserToGroupRequest(input) 307 req.SetContext(ctx) 308 req.ApplyOptions(opts...) 309 return out, req.Send() 310} 311 312const opAttachGroupPolicy = "AttachGroupPolicy" 313 314// AttachGroupPolicyRequest generates a "aws/request.Request" representing the 315// client's request for the AttachGroupPolicy operation. The "output" return 316// value will be populated with the request's response once the request complets 317// successfuly. 318// 319// Use "Send" method on the returned Request to send the API call to the service. 320// the "output" return value is not valid until after Send returns without error. 321// 322// See AttachGroupPolicy for more information on using the AttachGroupPolicy 323// API call, and error handling. 324// 325// This method is useful when you want to inject custom logic or configuration 326// into the SDK's request lifecycle. Such as custom headers, or retry logic. 327// 328// 329// // Example sending a request using the AttachGroupPolicyRequest method. 330// req, resp := client.AttachGroupPolicyRequest(params) 331// 332// err := req.Send() 333// if err == nil { // resp is now filled 334// fmt.Println(resp) 335// } 336// 337// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/AttachGroupPolicy 338func (c *IAM) AttachGroupPolicyRequest(input *AttachGroupPolicyInput) (req *request.Request, output *AttachGroupPolicyOutput) { 339 op := &request.Operation{ 340 Name: opAttachGroupPolicy, 341 HTTPMethod: "POST", 342 HTTPPath: "/", 343 } 344 345 if input == nil { 346 input = &AttachGroupPolicyInput{} 347 } 348 349 output = &AttachGroupPolicyOutput{} 350 req = c.newRequest(op, input, output) 351 req.Handlers.Unmarshal.Remove(query.UnmarshalHandler) 352 req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) 353 return 354} 355 356// AttachGroupPolicy API operation for AWS Identity and Access Management. 357// 358// Attaches the specified managed policy to the specified IAM group. 359// 360// You use this API to attach a managed policy to a group. To embed an inline 361// policy in a group, use PutGroupPolicy. 362// 363// For more information about policies, see Managed Policies and Inline Policies 364// (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html) 365// in the IAM User Guide. 366// 367// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 368// with awserr.Error's Code and Message methods to get detailed information about 369// the error. 370// 371// See the AWS API reference guide for AWS Identity and Access Management's 372// API operation AttachGroupPolicy for usage and error information. 373// 374// Returned Error Codes: 375// * ErrCodeNoSuchEntityException "NoSuchEntity" 376// The request was rejected because it referenced an entity that does not exist. 377// The error message describes the entity. 378// 379// * ErrCodeLimitExceededException "LimitExceeded" 380// The request was rejected because it attempted to create resources beyond 381// the current AWS account limits. The error message describes the limit exceeded. 382// 383// * ErrCodeInvalidInputException "InvalidInput" 384// The request was rejected because an invalid or out-of-range value was supplied 385// for an input parameter. 386// 387// * ErrCodePolicyNotAttachableException "PolicyNotAttachable" 388// The request failed because AWS service role policies can only be attached 389// to the service-linked role for that service. 390// 391// * ErrCodeServiceFailureException "ServiceFailure" 392// The request processing has failed because of an unknown error, exception 393// or failure. 394// 395// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/AttachGroupPolicy 396func (c *IAM) AttachGroupPolicy(input *AttachGroupPolicyInput) (*AttachGroupPolicyOutput, error) { 397 req, out := c.AttachGroupPolicyRequest(input) 398 return out, req.Send() 399} 400 401// AttachGroupPolicyWithContext is the same as AttachGroupPolicy with the addition of 402// the ability to pass a context and additional request options. 403// 404// See AttachGroupPolicy for details on how to use this API operation. 405// 406// The context must be non-nil and will be used for request cancellation. If 407// the context is nil a panic will occur. In the future the SDK may create 408// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 409// for more information on using Contexts. 410func (c *IAM) AttachGroupPolicyWithContext(ctx aws.Context, input *AttachGroupPolicyInput, opts ...request.Option) (*AttachGroupPolicyOutput, error) { 411 req, out := c.AttachGroupPolicyRequest(input) 412 req.SetContext(ctx) 413 req.ApplyOptions(opts...) 414 return out, req.Send() 415} 416 417const opAttachRolePolicy = "AttachRolePolicy" 418 419// AttachRolePolicyRequest generates a "aws/request.Request" representing the 420// client's request for the AttachRolePolicy operation. The "output" return 421// value will be populated with the request's response once the request complets 422// successfuly. 423// 424// Use "Send" method on the returned Request to send the API call to the service. 425// the "output" return value is not valid until after Send returns without error. 426// 427// See AttachRolePolicy for more information on using the AttachRolePolicy 428// API call, and error handling. 429// 430// This method is useful when you want to inject custom logic or configuration 431// into the SDK's request lifecycle. Such as custom headers, or retry logic. 432// 433// 434// // Example sending a request using the AttachRolePolicyRequest method. 435// req, resp := client.AttachRolePolicyRequest(params) 436// 437// err := req.Send() 438// if err == nil { // resp is now filled 439// fmt.Println(resp) 440// } 441// 442// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/AttachRolePolicy 443func (c *IAM) AttachRolePolicyRequest(input *AttachRolePolicyInput) (req *request.Request, output *AttachRolePolicyOutput) { 444 op := &request.Operation{ 445 Name: opAttachRolePolicy, 446 HTTPMethod: "POST", 447 HTTPPath: "/", 448 } 449 450 if input == nil { 451 input = &AttachRolePolicyInput{} 452 } 453 454 output = &AttachRolePolicyOutput{} 455 req = c.newRequest(op, input, output) 456 req.Handlers.Unmarshal.Remove(query.UnmarshalHandler) 457 req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) 458 return 459} 460 461// AttachRolePolicy API operation for AWS Identity and Access Management. 462// 463// Attaches the specified managed policy to the specified IAM role. When you 464// attach a managed policy to a role, the managed policy becomes part of the 465// role's permission (access) policy. 466// 467// You cannot use a managed policy as the role's trust policy. The role's trust 468// policy is created at the same time as the role, using CreateRole. You can 469// update a role's trust policy using UpdateAssumeRolePolicy. 470// 471// Use this API to attach a managed policy to a role. To embed an inline policy 472// in a role, use PutRolePolicy. For more information about policies, see Managed 473// Policies and Inline Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html) 474// in the IAM User Guide. 475// 476// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 477// with awserr.Error's Code and Message methods to get detailed information about 478// the error. 479// 480// See the AWS API reference guide for AWS Identity and Access Management's 481// API operation AttachRolePolicy for usage and error information. 482// 483// Returned Error Codes: 484// * ErrCodeNoSuchEntityException "NoSuchEntity" 485// The request was rejected because it referenced an entity that does not exist. 486// The error message describes the entity. 487// 488// * ErrCodeLimitExceededException "LimitExceeded" 489// The request was rejected because it attempted to create resources beyond 490// the current AWS account limits. The error message describes the limit exceeded. 491// 492// * ErrCodeInvalidInputException "InvalidInput" 493// The request was rejected because an invalid or out-of-range value was supplied 494// for an input parameter. 495// 496// * ErrCodeUnmodifiableEntityException "UnmodifiableEntity" 497// The request was rejected because only the service that depends on the service-linked 498// role can modify or delete the role on your behalf. The error message includes 499// the name of the service that depends on this service-linked role. You must 500// request the change through that service. 501// 502// * ErrCodePolicyNotAttachableException "PolicyNotAttachable" 503// The request failed because AWS service role policies can only be attached 504// to the service-linked role for that service. 505// 506// * ErrCodeServiceFailureException "ServiceFailure" 507// The request processing has failed because of an unknown error, exception 508// or failure. 509// 510// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/AttachRolePolicy 511func (c *IAM) AttachRolePolicy(input *AttachRolePolicyInput) (*AttachRolePolicyOutput, error) { 512 req, out := c.AttachRolePolicyRequest(input) 513 return out, req.Send() 514} 515 516// AttachRolePolicyWithContext is the same as AttachRolePolicy with the addition of 517// the ability to pass a context and additional request options. 518// 519// See AttachRolePolicy for details on how to use this API operation. 520// 521// The context must be non-nil and will be used for request cancellation. If 522// the context is nil a panic will occur. In the future the SDK may create 523// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 524// for more information on using Contexts. 525func (c *IAM) AttachRolePolicyWithContext(ctx aws.Context, input *AttachRolePolicyInput, opts ...request.Option) (*AttachRolePolicyOutput, error) { 526 req, out := c.AttachRolePolicyRequest(input) 527 req.SetContext(ctx) 528 req.ApplyOptions(opts...) 529 return out, req.Send() 530} 531 532const opAttachUserPolicy = "AttachUserPolicy" 533 534// AttachUserPolicyRequest generates a "aws/request.Request" representing the 535// client's request for the AttachUserPolicy operation. The "output" return 536// value will be populated with the request's response once the request complets 537// successfuly. 538// 539// Use "Send" method on the returned Request to send the API call to the service. 540// the "output" return value is not valid until after Send returns without error. 541// 542// See AttachUserPolicy for more information on using the AttachUserPolicy 543// API call, and error handling. 544// 545// This method is useful when you want to inject custom logic or configuration 546// into the SDK's request lifecycle. Such as custom headers, or retry logic. 547// 548// 549// // Example sending a request using the AttachUserPolicyRequest method. 550// req, resp := client.AttachUserPolicyRequest(params) 551// 552// err := req.Send() 553// if err == nil { // resp is now filled 554// fmt.Println(resp) 555// } 556// 557// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/AttachUserPolicy 558func (c *IAM) AttachUserPolicyRequest(input *AttachUserPolicyInput) (req *request.Request, output *AttachUserPolicyOutput) { 559 op := &request.Operation{ 560 Name: opAttachUserPolicy, 561 HTTPMethod: "POST", 562 HTTPPath: "/", 563 } 564 565 if input == nil { 566 input = &AttachUserPolicyInput{} 567 } 568 569 output = &AttachUserPolicyOutput{} 570 req = c.newRequest(op, input, output) 571 req.Handlers.Unmarshal.Remove(query.UnmarshalHandler) 572 req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) 573 return 574} 575 576// AttachUserPolicy API operation for AWS Identity and Access Management. 577// 578// Attaches the specified managed policy to the specified user. 579// 580// You use this API to attach a managed policy to a user. To embed an inline 581// policy in a user, use PutUserPolicy. 582// 583// For more information about policies, see Managed Policies and Inline Policies 584// (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html) 585// in the IAM User Guide. 586// 587// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 588// with awserr.Error's Code and Message methods to get detailed information about 589// the error. 590// 591// See the AWS API reference guide for AWS Identity and Access Management's 592// API operation AttachUserPolicy for usage and error information. 593// 594// Returned Error Codes: 595// * ErrCodeNoSuchEntityException "NoSuchEntity" 596// The request was rejected because it referenced an entity that does not exist. 597// The error message describes the entity. 598// 599// * ErrCodeLimitExceededException "LimitExceeded" 600// The request was rejected because it attempted to create resources beyond 601// the current AWS account limits. The error message describes the limit exceeded. 602// 603// * ErrCodeInvalidInputException "InvalidInput" 604// The request was rejected because an invalid or out-of-range value was supplied 605// for an input parameter. 606// 607// * ErrCodePolicyNotAttachableException "PolicyNotAttachable" 608// The request failed because AWS service role policies can only be attached 609// to the service-linked role for that service. 610// 611// * ErrCodeServiceFailureException "ServiceFailure" 612// The request processing has failed because of an unknown error, exception 613// or failure. 614// 615// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/AttachUserPolicy 616func (c *IAM) AttachUserPolicy(input *AttachUserPolicyInput) (*AttachUserPolicyOutput, error) { 617 req, out := c.AttachUserPolicyRequest(input) 618 return out, req.Send() 619} 620 621// AttachUserPolicyWithContext is the same as AttachUserPolicy with the addition of 622// the ability to pass a context and additional request options. 623// 624// See AttachUserPolicy for details on how to use this API operation. 625// 626// The context must be non-nil and will be used for request cancellation. If 627// the context is nil a panic will occur. In the future the SDK may create 628// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 629// for more information on using Contexts. 630func (c *IAM) AttachUserPolicyWithContext(ctx aws.Context, input *AttachUserPolicyInput, opts ...request.Option) (*AttachUserPolicyOutput, error) { 631 req, out := c.AttachUserPolicyRequest(input) 632 req.SetContext(ctx) 633 req.ApplyOptions(opts...) 634 return out, req.Send() 635} 636 637const opChangePassword = "ChangePassword" 638 639// ChangePasswordRequest generates a "aws/request.Request" representing the 640// client's request for the ChangePassword operation. The "output" return 641// value will be populated with the request's response once the request complets 642// successfuly. 643// 644// Use "Send" method on the returned Request to send the API call to the service. 645// the "output" return value is not valid until after Send returns without error. 646// 647// See ChangePassword for more information on using the ChangePassword 648// API call, and error handling. 649// 650// This method is useful when you want to inject custom logic or configuration 651// into the SDK's request lifecycle. Such as custom headers, or retry logic. 652// 653// 654// // Example sending a request using the ChangePasswordRequest method. 655// req, resp := client.ChangePasswordRequest(params) 656// 657// err := req.Send() 658// if err == nil { // resp is now filled 659// fmt.Println(resp) 660// } 661// 662// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ChangePassword 663func (c *IAM) ChangePasswordRequest(input *ChangePasswordInput) (req *request.Request, output *ChangePasswordOutput) { 664 op := &request.Operation{ 665 Name: opChangePassword, 666 HTTPMethod: "POST", 667 HTTPPath: "/", 668 } 669 670 if input == nil { 671 input = &ChangePasswordInput{} 672 } 673 674 output = &ChangePasswordOutput{} 675 req = c.newRequest(op, input, output) 676 req.Handlers.Unmarshal.Remove(query.UnmarshalHandler) 677 req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) 678 return 679} 680 681// ChangePassword API operation for AWS Identity and Access Management. 682// 683// Changes the password of the IAM user who is calling this action. The root 684// account password is not affected by this action. 685// 686// To change the password for a different user, see UpdateLoginProfile. For 687// more information about modifying passwords, see Managing Passwords (http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_ManagingLogins.html) 688// in the IAM User Guide. 689// 690// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 691// with awserr.Error's Code and Message methods to get detailed information about 692// the error. 693// 694// See the AWS API reference guide for AWS Identity and Access Management's 695// API operation ChangePassword for usage and error information. 696// 697// Returned Error Codes: 698// * ErrCodeNoSuchEntityException "NoSuchEntity" 699// The request was rejected because it referenced an entity that does not exist. 700// The error message describes the entity. 701// 702// * ErrCodeInvalidUserTypeException "InvalidUserType" 703// The request was rejected because the type of user for the transaction was 704// incorrect. 705// 706// * ErrCodeLimitExceededException "LimitExceeded" 707// The request was rejected because it attempted to create resources beyond 708// the current AWS account limits. The error message describes the limit exceeded. 709// 710// * ErrCodeEntityTemporarilyUnmodifiableException "EntityTemporarilyUnmodifiable" 711// The request was rejected because it referenced an entity that is temporarily 712// unmodifiable, such as a user name that was deleted and then recreated. The 713// error indicates that the request is likely to succeed if you try again after 714// waiting several minutes. The error message describes the entity. 715// 716// * ErrCodePasswordPolicyViolationException "PasswordPolicyViolation" 717// The request was rejected because the provided password did not meet the requirements 718// imposed by the account password policy. 719// 720// * ErrCodeServiceFailureException "ServiceFailure" 721// The request processing has failed because of an unknown error, exception 722// or failure. 723// 724// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ChangePassword 725func (c *IAM) ChangePassword(input *ChangePasswordInput) (*ChangePasswordOutput, error) { 726 req, out := c.ChangePasswordRequest(input) 727 return out, req.Send() 728} 729 730// ChangePasswordWithContext is the same as ChangePassword with the addition of 731// the ability to pass a context and additional request options. 732// 733// See ChangePassword for details on how to use this API operation. 734// 735// The context must be non-nil and will be used for request cancellation. If 736// the context is nil a panic will occur. In the future the SDK may create 737// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 738// for more information on using Contexts. 739func (c *IAM) ChangePasswordWithContext(ctx aws.Context, input *ChangePasswordInput, opts ...request.Option) (*ChangePasswordOutput, error) { 740 req, out := c.ChangePasswordRequest(input) 741 req.SetContext(ctx) 742 req.ApplyOptions(opts...) 743 return out, req.Send() 744} 745 746const opCreateAccessKey = "CreateAccessKey" 747 748// CreateAccessKeyRequest generates a "aws/request.Request" representing the 749// client's request for the CreateAccessKey operation. The "output" return 750// value will be populated with the request's response once the request complets 751// successfuly. 752// 753// Use "Send" method on the returned Request to send the API call to the service. 754// the "output" return value is not valid until after Send returns without error. 755// 756// See CreateAccessKey for more information on using the CreateAccessKey 757// API call, and error handling. 758// 759// This method is useful when you want to inject custom logic or configuration 760// into the SDK's request lifecycle. Such as custom headers, or retry logic. 761// 762// 763// // Example sending a request using the CreateAccessKeyRequest method. 764// req, resp := client.CreateAccessKeyRequest(params) 765// 766// err := req.Send() 767// if err == nil { // resp is now filled 768// fmt.Println(resp) 769// } 770// 771// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/CreateAccessKey 772func (c *IAM) CreateAccessKeyRequest(input *CreateAccessKeyInput) (req *request.Request, output *CreateAccessKeyOutput) { 773 op := &request.Operation{ 774 Name: opCreateAccessKey, 775 HTTPMethod: "POST", 776 HTTPPath: "/", 777 } 778 779 if input == nil { 780 input = &CreateAccessKeyInput{} 781 } 782 783 output = &CreateAccessKeyOutput{} 784 req = c.newRequest(op, input, output) 785 return 786} 787 788// CreateAccessKey API operation for AWS Identity and Access Management. 789// 790// Creates a new AWS secret access key and corresponding AWS access key ID for 791// the specified user. The default status for new keys is Active. 792// 793// If you do not specify a user name, IAM determines the user name implicitly 794// based on the AWS access key ID signing the request. Because this action works 795// for access keys under the AWS account, you can use this action to manage 796// root credentials even if the AWS account has no associated users. 797// 798// For information about limits on the number of keys you can create, see Limitations 799// on IAM Entities (http://docs.aws.amazon.com/IAM/latest/UserGuide/LimitationsOnEntities.html) 800// in the IAM User Guide. 801// 802// To ensure the security of your AWS account, the secret access key is accessible 803// only during key and user creation. You must save the key (for example, in 804// a text file) if you want to be able to access it again. If a secret key is 805// lost, you can delete the access keys for the associated user and then create 806// new keys. 807// 808// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 809// with awserr.Error's Code and Message methods to get detailed information about 810// the error. 811// 812// See the AWS API reference guide for AWS Identity and Access Management's 813// API operation CreateAccessKey for usage and error information. 814// 815// Returned Error Codes: 816// * ErrCodeNoSuchEntityException "NoSuchEntity" 817// The request was rejected because it referenced an entity that does not exist. 818// The error message describes the entity. 819// 820// * ErrCodeLimitExceededException "LimitExceeded" 821// The request was rejected because it attempted to create resources beyond 822// the current AWS account limits. The error message describes the limit exceeded. 823// 824// * ErrCodeServiceFailureException "ServiceFailure" 825// The request processing has failed because of an unknown error, exception 826// or failure. 827// 828// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/CreateAccessKey 829func (c *IAM) CreateAccessKey(input *CreateAccessKeyInput) (*CreateAccessKeyOutput, error) { 830 req, out := c.CreateAccessKeyRequest(input) 831 return out, req.Send() 832} 833 834// CreateAccessKeyWithContext is the same as CreateAccessKey with the addition of 835// the ability to pass a context and additional request options. 836// 837// See CreateAccessKey for details on how to use this API operation. 838// 839// The context must be non-nil and will be used for request cancellation. If 840// the context is nil a panic will occur. In the future the SDK may create 841// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 842// for more information on using Contexts. 843func (c *IAM) CreateAccessKeyWithContext(ctx aws.Context, input *CreateAccessKeyInput, opts ...request.Option) (*CreateAccessKeyOutput, error) { 844 req, out := c.CreateAccessKeyRequest(input) 845 req.SetContext(ctx) 846 req.ApplyOptions(opts...) 847 return out, req.Send() 848} 849 850const opCreateAccountAlias = "CreateAccountAlias" 851 852// CreateAccountAliasRequest generates a "aws/request.Request" representing the 853// client's request for the CreateAccountAlias operation. The "output" return 854// value will be populated with the request's response once the request complets 855// successfuly. 856// 857// Use "Send" method on the returned Request to send the API call to the service. 858// the "output" return value is not valid until after Send returns without error. 859// 860// See CreateAccountAlias for more information on using the CreateAccountAlias 861// API call, and error handling. 862// 863// This method is useful when you want to inject custom logic or configuration 864// into the SDK's request lifecycle. Such as custom headers, or retry logic. 865// 866// 867// // Example sending a request using the CreateAccountAliasRequest method. 868// req, resp := client.CreateAccountAliasRequest(params) 869// 870// err := req.Send() 871// if err == nil { // resp is now filled 872// fmt.Println(resp) 873// } 874// 875// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/CreateAccountAlias 876func (c *IAM) CreateAccountAliasRequest(input *CreateAccountAliasInput) (req *request.Request, output *CreateAccountAliasOutput) { 877 op := &request.Operation{ 878 Name: opCreateAccountAlias, 879 HTTPMethod: "POST", 880 HTTPPath: "/", 881 } 882 883 if input == nil { 884 input = &CreateAccountAliasInput{} 885 } 886 887 output = &CreateAccountAliasOutput{} 888 req = c.newRequest(op, input, output) 889 req.Handlers.Unmarshal.Remove(query.UnmarshalHandler) 890 req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) 891 return 892} 893 894// CreateAccountAlias API operation for AWS Identity and Access Management. 895// 896// Creates an alias for your AWS account. For information about using an AWS 897// account alias, see Using an Alias for Your AWS Account ID (http://docs.aws.amazon.com/IAM/latest/UserGuide/AccountAlias.html) 898// in the IAM User Guide. 899// 900// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 901// with awserr.Error's Code and Message methods to get detailed information about 902// the error. 903// 904// See the AWS API reference guide for AWS Identity and Access Management's 905// API operation CreateAccountAlias for usage and error information. 906// 907// Returned Error Codes: 908// * ErrCodeEntityAlreadyExistsException "EntityAlreadyExists" 909// The request was rejected because it attempted to create a resource that already 910// exists. 911// 912// * ErrCodeLimitExceededException "LimitExceeded" 913// The request was rejected because it attempted to create resources beyond 914// the current AWS account limits. The error message describes the limit exceeded. 915// 916// * ErrCodeServiceFailureException "ServiceFailure" 917// The request processing has failed because of an unknown error, exception 918// or failure. 919// 920// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/CreateAccountAlias 921func (c *IAM) CreateAccountAlias(input *CreateAccountAliasInput) (*CreateAccountAliasOutput, error) { 922 req, out := c.CreateAccountAliasRequest(input) 923 return out, req.Send() 924} 925 926// CreateAccountAliasWithContext is the same as CreateAccountAlias with the addition of 927// the ability to pass a context and additional request options. 928// 929// See CreateAccountAlias for details on how to use this API operation. 930// 931// The context must be non-nil and will be used for request cancellation. If 932// the context is nil a panic will occur. In the future the SDK may create 933// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 934// for more information on using Contexts. 935func (c *IAM) CreateAccountAliasWithContext(ctx aws.Context, input *CreateAccountAliasInput, opts ...request.Option) (*CreateAccountAliasOutput, error) { 936 req, out := c.CreateAccountAliasRequest(input) 937 req.SetContext(ctx) 938 req.ApplyOptions(opts...) 939 return out, req.Send() 940} 941 942const opCreateGroup = "CreateGroup" 943 944// CreateGroupRequest generates a "aws/request.Request" representing the 945// client's request for the CreateGroup operation. The "output" return 946// value will be populated with the request's response once the request complets 947// successfuly. 948// 949// Use "Send" method on the returned Request to send the API call to the service. 950// the "output" return value is not valid until after Send returns without error. 951// 952// See CreateGroup for more information on using the CreateGroup 953// API call, and error handling. 954// 955// This method is useful when you want to inject custom logic or configuration 956// into the SDK's request lifecycle. Such as custom headers, or retry logic. 957// 958// 959// // Example sending a request using the CreateGroupRequest method. 960// req, resp := client.CreateGroupRequest(params) 961// 962// err := req.Send() 963// if err == nil { // resp is now filled 964// fmt.Println(resp) 965// } 966// 967// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/CreateGroup 968func (c *IAM) CreateGroupRequest(input *CreateGroupInput) (req *request.Request, output *CreateGroupOutput) { 969 op := &request.Operation{ 970 Name: opCreateGroup, 971 HTTPMethod: "POST", 972 HTTPPath: "/", 973 } 974 975 if input == nil { 976 input = &CreateGroupInput{} 977 } 978 979 output = &CreateGroupOutput{} 980 req = c.newRequest(op, input, output) 981 return 982} 983 984// CreateGroup API operation for AWS Identity and Access Management. 985// 986// Creates a new group. 987// 988// For information about the number of groups you can create, see Limitations 989// on IAM Entities (http://docs.aws.amazon.com/IAM/latest/UserGuide/LimitationsOnEntities.html) 990// in the IAM User Guide. 991// 992// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 993// with awserr.Error's Code and Message methods to get detailed information about 994// the error. 995// 996// See the AWS API reference guide for AWS Identity and Access Management's 997// API operation CreateGroup for usage and error information. 998// 999// Returned Error Codes: 1000// * ErrCodeLimitExceededException "LimitExceeded" 1001// The request was rejected because it attempted to create resources beyond 1002// the current AWS account limits. The error message describes the limit exceeded. 1003// 1004// * ErrCodeEntityAlreadyExistsException "EntityAlreadyExists" 1005// The request was rejected because it attempted to create a resource that already 1006// exists. 1007// 1008// * ErrCodeNoSuchEntityException "NoSuchEntity" 1009// The request was rejected because it referenced an entity that does not exist. 1010// The error message describes the entity. 1011// 1012// * ErrCodeServiceFailureException "ServiceFailure" 1013// The request processing has failed because of an unknown error, exception 1014// or failure. 1015// 1016// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/CreateGroup 1017func (c *IAM) CreateGroup(input *CreateGroupInput) (*CreateGroupOutput, error) { 1018 req, out := c.CreateGroupRequest(input) 1019 return out, req.Send() 1020} 1021 1022// CreateGroupWithContext is the same as CreateGroup with the addition of 1023// the ability to pass a context and additional request options. 1024// 1025// See CreateGroup for details on how to use this API operation. 1026// 1027// The context must be non-nil and will be used for request cancellation. If 1028// the context is nil a panic will occur. In the future the SDK may create 1029// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1030// for more information on using Contexts. 1031func (c *IAM) CreateGroupWithContext(ctx aws.Context, input *CreateGroupInput, opts ...request.Option) (*CreateGroupOutput, error) { 1032 req, out := c.CreateGroupRequest(input) 1033 req.SetContext(ctx) 1034 req.ApplyOptions(opts...) 1035 return out, req.Send() 1036} 1037 1038const opCreateInstanceProfile = "CreateInstanceProfile" 1039 1040// CreateInstanceProfileRequest generates a "aws/request.Request" representing the 1041// client's request for the CreateInstanceProfile operation. The "output" return 1042// value will be populated with the request's response once the request complets 1043// successfuly. 1044// 1045// Use "Send" method on the returned Request to send the API call to the service. 1046// the "output" return value is not valid until after Send returns without error. 1047// 1048// See CreateInstanceProfile for more information on using the CreateInstanceProfile 1049// API call, and error handling. 1050// 1051// This method is useful when you want to inject custom logic or configuration 1052// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1053// 1054// 1055// // Example sending a request using the CreateInstanceProfileRequest method. 1056// req, resp := client.CreateInstanceProfileRequest(params) 1057// 1058// err := req.Send() 1059// if err == nil { // resp is now filled 1060// fmt.Println(resp) 1061// } 1062// 1063// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/CreateInstanceProfile 1064func (c *IAM) CreateInstanceProfileRequest(input *CreateInstanceProfileInput) (req *request.Request, output *CreateInstanceProfileOutput) { 1065 op := &request.Operation{ 1066 Name: opCreateInstanceProfile, 1067 HTTPMethod: "POST", 1068 HTTPPath: "/", 1069 } 1070 1071 if input == nil { 1072 input = &CreateInstanceProfileInput{} 1073 } 1074 1075 output = &CreateInstanceProfileOutput{} 1076 req = c.newRequest(op, input, output) 1077 return 1078} 1079 1080// CreateInstanceProfile API operation for AWS Identity and Access Management. 1081// 1082// Creates a new instance profile. For information about instance profiles, 1083// go to About Instance Profiles (http://docs.aws.amazon.com/IAM/latest/UserGuide/AboutInstanceProfiles.html). 1084// 1085// For information about the number of instance profiles you can create, see 1086// Limitations on IAM Entities (http://docs.aws.amazon.com/IAM/latest/UserGuide/LimitationsOnEntities.html) 1087// in the IAM User Guide. 1088// 1089// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1090// with awserr.Error's Code and Message methods to get detailed information about 1091// the error. 1092// 1093// See the AWS API reference guide for AWS Identity and Access Management's 1094// API operation CreateInstanceProfile for usage and error information. 1095// 1096// Returned Error Codes: 1097// * ErrCodeEntityAlreadyExistsException "EntityAlreadyExists" 1098// The request was rejected because it attempted to create a resource that already 1099// exists. 1100// 1101// * ErrCodeLimitExceededException "LimitExceeded" 1102// The request was rejected because it attempted to create resources beyond 1103// the current AWS account limits. The error message describes the limit exceeded. 1104// 1105// * ErrCodeServiceFailureException "ServiceFailure" 1106// The request processing has failed because of an unknown error, exception 1107// or failure. 1108// 1109// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/CreateInstanceProfile 1110func (c *IAM) CreateInstanceProfile(input *CreateInstanceProfileInput) (*CreateInstanceProfileOutput, error) { 1111 req, out := c.CreateInstanceProfileRequest(input) 1112 return out, req.Send() 1113} 1114 1115// CreateInstanceProfileWithContext is the same as CreateInstanceProfile with the addition of 1116// the ability to pass a context and additional request options. 1117// 1118// See CreateInstanceProfile for details on how to use this API operation. 1119// 1120// The context must be non-nil and will be used for request cancellation. If 1121// the context is nil a panic will occur. In the future the SDK may create 1122// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1123// for more information on using Contexts. 1124func (c *IAM) CreateInstanceProfileWithContext(ctx aws.Context, input *CreateInstanceProfileInput, opts ...request.Option) (*CreateInstanceProfileOutput, error) { 1125 req, out := c.CreateInstanceProfileRequest(input) 1126 req.SetContext(ctx) 1127 req.ApplyOptions(opts...) 1128 return out, req.Send() 1129} 1130 1131const opCreateLoginProfile = "CreateLoginProfile" 1132 1133// CreateLoginProfileRequest generates a "aws/request.Request" representing the 1134// client's request for the CreateLoginProfile operation. The "output" return 1135// value will be populated with the request's response once the request complets 1136// successfuly. 1137// 1138// Use "Send" method on the returned Request to send the API call to the service. 1139// the "output" return value is not valid until after Send returns without error. 1140// 1141// See CreateLoginProfile for more information on using the CreateLoginProfile 1142// API call, and error handling. 1143// 1144// This method is useful when you want to inject custom logic or configuration 1145// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1146// 1147// 1148// // Example sending a request using the CreateLoginProfileRequest method. 1149// req, resp := client.CreateLoginProfileRequest(params) 1150// 1151// err := req.Send() 1152// if err == nil { // resp is now filled 1153// fmt.Println(resp) 1154// } 1155// 1156// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/CreateLoginProfile 1157func (c *IAM) CreateLoginProfileRequest(input *CreateLoginProfileInput) (req *request.Request, output *CreateLoginProfileOutput) { 1158 op := &request.Operation{ 1159 Name: opCreateLoginProfile, 1160 HTTPMethod: "POST", 1161 HTTPPath: "/", 1162 } 1163 1164 if input == nil { 1165 input = &CreateLoginProfileInput{} 1166 } 1167 1168 output = &CreateLoginProfileOutput{} 1169 req = c.newRequest(op, input, output) 1170 return 1171} 1172 1173// CreateLoginProfile API operation for AWS Identity and Access Management. 1174// 1175// Creates a password for the specified user, giving the user the ability to 1176// access AWS services through the AWS Management Console. For more information 1177// about managing passwords, see Managing Passwords (http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_ManagingLogins.html) 1178// in the IAM User Guide. 1179// 1180// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1181// with awserr.Error's Code and Message methods to get detailed information about 1182// the error. 1183// 1184// See the AWS API reference guide for AWS Identity and Access Management's 1185// API operation CreateLoginProfile for usage and error information. 1186// 1187// Returned Error Codes: 1188// * ErrCodeEntityAlreadyExistsException "EntityAlreadyExists" 1189// The request was rejected because it attempted to create a resource that already 1190// exists. 1191// 1192// * ErrCodeNoSuchEntityException "NoSuchEntity" 1193// The request was rejected because it referenced an entity that does not exist. 1194// The error message describes the entity. 1195// 1196// * ErrCodePasswordPolicyViolationException "PasswordPolicyViolation" 1197// The request was rejected because the provided password did not meet the requirements 1198// imposed by the account password policy. 1199// 1200// * ErrCodeLimitExceededException "LimitExceeded" 1201// The request was rejected because it attempted to create resources beyond 1202// the current AWS account limits. The error message describes the limit exceeded. 1203// 1204// * ErrCodeServiceFailureException "ServiceFailure" 1205// The request processing has failed because of an unknown error, exception 1206// or failure. 1207// 1208// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/CreateLoginProfile 1209func (c *IAM) CreateLoginProfile(input *CreateLoginProfileInput) (*CreateLoginProfileOutput, error) { 1210 req, out := c.CreateLoginProfileRequest(input) 1211 return out, req.Send() 1212} 1213 1214// CreateLoginProfileWithContext is the same as CreateLoginProfile with the addition of 1215// the ability to pass a context and additional request options. 1216// 1217// See CreateLoginProfile for details on how to use this API operation. 1218// 1219// The context must be non-nil and will be used for request cancellation. If 1220// the context is nil a panic will occur. In the future the SDK may create 1221// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1222// for more information on using Contexts. 1223func (c *IAM) CreateLoginProfileWithContext(ctx aws.Context, input *CreateLoginProfileInput, opts ...request.Option) (*CreateLoginProfileOutput, error) { 1224 req, out := c.CreateLoginProfileRequest(input) 1225 req.SetContext(ctx) 1226 req.ApplyOptions(opts...) 1227 return out, req.Send() 1228} 1229 1230const opCreateOpenIDConnectProvider = "CreateOpenIDConnectProvider" 1231 1232// CreateOpenIDConnectProviderRequest generates a "aws/request.Request" representing the 1233// client's request for the CreateOpenIDConnectProvider operation. The "output" return 1234// value will be populated with the request's response once the request complets 1235// successfuly. 1236// 1237// Use "Send" method on the returned Request to send the API call to the service. 1238// the "output" return value is not valid until after Send returns without error. 1239// 1240// See CreateOpenIDConnectProvider for more information on using the CreateOpenIDConnectProvider 1241// API call, and error handling. 1242// 1243// This method is useful when you want to inject custom logic or configuration 1244// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1245// 1246// 1247// // Example sending a request using the CreateOpenIDConnectProviderRequest method. 1248// req, resp := client.CreateOpenIDConnectProviderRequest(params) 1249// 1250// err := req.Send() 1251// if err == nil { // resp is now filled 1252// fmt.Println(resp) 1253// } 1254// 1255// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/CreateOpenIDConnectProvider 1256func (c *IAM) CreateOpenIDConnectProviderRequest(input *CreateOpenIDConnectProviderInput) (req *request.Request, output *CreateOpenIDConnectProviderOutput) { 1257 op := &request.Operation{ 1258 Name: opCreateOpenIDConnectProvider, 1259 HTTPMethod: "POST", 1260 HTTPPath: "/", 1261 } 1262 1263 if input == nil { 1264 input = &CreateOpenIDConnectProviderInput{} 1265 } 1266 1267 output = &CreateOpenIDConnectProviderOutput{} 1268 req = c.newRequest(op, input, output) 1269 return 1270} 1271 1272// CreateOpenIDConnectProvider API operation for AWS Identity and Access Management. 1273// 1274// Creates an IAM entity to describe an identity provider (IdP) that supports 1275// OpenID Connect (OIDC) (http://openid.net/connect/). 1276// 1277// The OIDC provider that you create with this operation can be used as a principal 1278// in a role's trust policy to establish a trust relationship between AWS and 1279// the OIDC provider. 1280// 1281// When you create the IAM OIDC provider, you specify the URL of the OIDC identity 1282// provider (IdP) to trust, a list of client IDs (also known as audiences) that 1283// identify the application or applications that are allowed to authenticate 1284// using the OIDC provider, and a list of thumbprints of the server certificate(s) 1285// that the IdP uses. You get all of this information from the OIDC IdP that 1286// you want to use for access to AWS. 1287// 1288// Because trust for the OIDC provider is ultimately derived from the IAM provider 1289// that this action creates, it is a best practice to limit access to the CreateOpenIDConnectProvider 1290// action to highly-privileged users. 1291// 1292// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1293// with awserr.Error's Code and Message methods to get detailed information about 1294// the error. 1295// 1296// See the AWS API reference guide for AWS Identity and Access Management's 1297// API operation CreateOpenIDConnectProvider for usage and error information. 1298// 1299// Returned Error Codes: 1300// * ErrCodeInvalidInputException "InvalidInput" 1301// The request was rejected because an invalid or out-of-range value was supplied 1302// for an input parameter. 1303// 1304// * ErrCodeEntityAlreadyExistsException "EntityAlreadyExists" 1305// The request was rejected because it attempted to create a resource that already 1306// exists. 1307// 1308// * ErrCodeLimitExceededException "LimitExceeded" 1309// The request was rejected because it attempted to create resources beyond 1310// the current AWS account limits. The error message describes the limit exceeded. 1311// 1312// * ErrCodeServiceFailureException "ServiceFailure" 1313// The request processing has failed because of an unknown error, exception 1314// or failure. 1315// 1316// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/CreateOpenIDConnectProvider 1317func (c *IAM) CreateOpenIDConnectProvider(input *CreateOpenIDConnectProviderInput) (*CreateOpenIDConnectProviderOutput, error) { 1318 req, out := c.CreateOpenIDConnectProviderRequest(input) 1319 return out, req.Send() 1320} 1321 1322// CreateOpenIDConnectProviderWithContext is the same as CreateOpenIDConnectProvider with the addition of 1323// the ability to pass a context and additional request options. 1324// 1325// See CreateOpenIDConnectProvider for details on how to use this API operation. 1326// 1327// The context must be non-nil and will be used for request cancellation. If 1328// the context is nil a panic will occur. In the future the SDK may create 1329// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1330// for more information on using Contexts. 1331func (c *IAM) CreateOpenIDConnectProviderWithContext(ctx aws.Context, input *CreateOpenIDConnectProviderInput, opts ...request.Option) (*CreateOpenIDConnectProviderOutput, error) { 1332 req, out := c.CreateOpenIDConnectProviderRequest(input) 1333 req.SetContext(ctx) 1334 req.ApplyOptions(opts...) 1335 return out, req.Send() 1336} 1337 1338const opCreatePolicy = "CreatePolicy" 1339 1340// CreatePolicyRequest generates a "aws/request.Request" representing the 1341// client's request for the CreatePolicy operation. The "output" return 1342// value will be populated with the request's response once the request complets 1343// successfuly. 1344// 1345// Use "Send" method on the returned Request to send the API call to the service. 1346// the "output" return value is not valid until after Send returns without error. 1347// 1348// See CreatePolicy for more information on using the CreatePolicy 1349// API call, and error handling. 1350// 1351// This method is useful when you want to inject custom logic or configuration 1352// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1353// 1354// 1355// // Example sending a request using the CreatePolicyRequest method. 1356// req, resp := client.CreatePolicyRequest(params) 1357// 1358// err := req.Send() 1359// if err == nil { // resp is now filled 1360// fmt.Println(resp) 1361// } 1362// 1363// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/CreatePolicy 1364func (c *IAM) CreatePolicyRequest(input *CreatePolicyInput) (req *request.Request, output *CreatePolicyOutput) { 1365 op := &request.Operation{ 1366 Name: opCreatePolicy, 1367 HTTPMethod: "POST", 1368 HTTPPath: "/", 1369 } 1370 1371 if input == nil { 1372 input = &CreatePolicyInput{} 1373 } 1374 1375 output = &CreatePolicyOutput{} 1376 req = c.newRequest(op, input, output) 1377 return 1378} 1379 1380// CreatePolicy API operation for AWS Identity and Access Management. 1381// 1382// Creates a new managed policy for your AWS account. 1383// 1384// This operation creates a policy version with a version identifier of v1 and 1385// sets v1 as the policy's default version. For more information about policy 1386// versions, see Versioning for Managed Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-versions.html) 1387// in the IAM User Guide. 1388// 1389// For more information about managed policies in general, see Managed Policies 1390// and Inline Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html) 1391// in the IAM User Guide. 1392// 1393// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1394// with awserr.Error's Code and Message methods to get detailed information about 1395// the error. 1396// 1397// See the AWS API reference guide for AWS Identity and Access Management's 1398// API operation CreatePolicy for usage and error information. 1399// 1400// Returned Error Codes: 1401// * ErrCodeInvalidInputException "InvalidInput" 1402// The request was rejected because an invalid or out-of-range value was supplied 1403// for an input parameter. 1404// 1405// * ErrCodeLimitExceededException "LimitExceeded" 1406// The request was rejected because it attempted to create resources beyond 1407// the current AWS account limits. The error message describes the limit exceeded. 1408// 1409// * ErrCodeEntityAlreadyExistsException "EntityAlreadyExists" 1410// The request was rejected because it attempted to create a resource that already 1411// exists. 1412// 1413// * ErrCodeMalformedPolicyDocumentException "MalformedPolicyDocument" 1414// The request was rejected because the policy document was malformed. The error 1415// message describes the specific error. 1416// 1417// * ErrCodeServiceFailureException "ServiceFailure" 1418// The request processing has failed because of an unknown error, exception 1419// or failure. 1420// 1421// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/CreatePolicy 1422func (c *IAM) CreatePolicy(input *CreatePolicyInput) (*CreatePolicyOutput, error) { 1423 req, out := c.CreatePolicyRequest(input) 1424 return out, req.Send() 1425} 1426 1427// CreatePolicyWithContext is the same as CreatePolicy with the addition of 1428// the ability to pass a context and additional request options. 1429// 1430// See CreatePolicy for details on how to use this API operation. 1431// 1432// The context must be non-nil and will be used for request cancellation. If 1433// the context is nil a panic will occur. In the future the SDK may create 1434// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1435// for more information on using Contexts. 1436func (c *IAM) CreatePolicyWithContext(ctx aws.Context, input *CreatePolicyInput, opts ...request.Option) (*CreatePolicyOutput, error) { 1437 req, out := c.CreatePolicyRequest(input) 1438 req.SetContext(ctx) 1439 req.ApplyOptions(opts...) 1440 return out, req.Send() 1441} 1442 1443const opCreatePolicyVersion = "CreatePolicyVersion" 1444 1445// CreatePolicyVersionRequest generates a "aws/request.Request" representing the 1446// client's request for the CreatePolicyVersion operation. The "output" return 1447// value will be populated with the request's response once the request complets 1448// successfuly. 1449// 1450// Use "Send" method on the returned Request to send the API call to the service. 1451// the "output" return value is not valid until after Send returns without error. 1452// 1453// See CreatePolicyVersion for more information on using the CreatePolicyVersion 1454// API call, and error handling. 1455// 1456// This method is useful when you want to inject custom logic or configuration 1457// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1458// 1459// 1460// // Example sending a request using the CreatePolicyVersionRequest method. 1461// req, resp := client.CreatePolicyVersionRequest(params) 1462// 1463// err := req.Send() 1464// if err == nil { // resp is now filled 1465// fmt.Println(resp) 1466// } 1467// 1468// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/CreatePolicyVersion 1469func (c *IAM) CreatePolicyVersionRequest(input *CreatePolicyVersionInput) (req *request.Request, output *CreatePolicyVersionOutput) { 1470 op := &request.Operation{ 1471 Name: opCreatePolicyVersion, 1472 HTTPMethod: "POST", 1473 HTTPPath: "/", 1474 } 1475 1476 if input == nil { 1477 input = &CreatePolicyVersionInput{} 1478 } 1479 1480 output = &CreatePolicyVersionOutput{} 1481 req = c.newRequest(op, input, output) 1482 return 1483} 1484 1485// CreatePolicyVersion API operation for AWS Identity and Access Management. 1486// 1487// Creates a new version of the specified managed policy. To update a managed 1488// policy, you create a new policy version. A managed policy can have up to 1489// five versions. If the policy has five versions, you must delete an existing 1490// version using DeletePolicyVersion before you create a new version. 1491// 1492// Optionally, you can set the new version as the policy's default version. 1493// The default version is the version that is in effect for the IAM users, groups, 1494// and roles to which the policy is attached. 1495// 1496// For more information about managed policy versions, see Versioning for Managed 1497// Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-versions.html) 1498// in the IAM User Guide. 1499// 1500// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1501// with awserr.Error's Code and Message methods to get detailed information about 1502// the error. 1503// 1504// See the AWS API reference guide for AWS Identity and Access Management's 1505// API operation CreatePolicyVersion for usage and error information. 1506// 1507// Returned Error Codes: 1508// * ErrCodeNoSuchEntityException "NoSuchEntity" 1509// The request was rejected because it referenced an entity that does not exist. 1510// The error message describes the entity. 1511// 1512// * ErrCodeMalformedPolicyDocumentException "MalformedPolicyDocument" 1513// The request was rejected because the policy document was malformed. The error 1514// message describes the specific error. 1515// 1516// * ErrCodeInvalidInputException "InvalidInput" 1517// The request was rejected because an invalid or out-of-range value was supplied 1518// for an input parameter. 1519// 1520// * ErrCodeLimitExceededException "LimitExceeded" 1521// The request was rejected because it attempted to create resources beyond 1522// the current AWS account limits. The error message describes the limit exceeded. 1523// 1524// * ErrCodeServiceFailureException "ServiceFailure" 1525// The request processing has failed because of an unknown error, exception 1526// or failure. 1527// 1528// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/CreatePolicyVersion 1529func (c *IAM) CreatePolicyVersion(input *CreatePolicyVersionInput) (*CreatePolicyVersionOutput, error) { 1530 req, out := c.CreatePolicyVersionRequest(input) 1531 return out, req.Send() 1532} 1533 1534// CreatePolicyVersionWithContext is the same as CreatePolicyVersion with the addition of 1535// the ability to pass a context and additional request options. 1536// 1537// See CreatePolicyVersion for details on how to use this API operation. 1538// 1539// The context must be non-nil and will be used for request cancellation. If 1540// the context is nil a panic will occur. In the future the SDK may create 1541// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1542// for more information on using Contexts. 1543func (c *IAM) CreatePolicyVersionWithContext(ctx aws.Context, input *CreatePolicyVersionInput, opts ...request.Option) (*CreatePolicyVersionOutput, error) { 1544 req, out := c.CreatePolicyVersionRequest(input) 1545 req.SetContext(ctx) 1546 req.ApplyOptions(opts...) 1547 return out, req.Send() 1548} 1549 1550const opCreateRole = "CreateRole" 1551 1552// CreateRoleRequest generates a "aws/request.Request" representing the 1553// client's request for the CreateRole operation. The "output" return 1554// value will be populated with the request's response once the request complets 1555// successfuly. 1556// 1557// Use "Send" method on the returned Request to send the API call to the service. 1558// the "output" return value is not valid until after Send returns without error. 1559// 1560// See CreateRole for more information on using the CreateRole 1561// API call, and error handling. 1562// 1563// This method is useful when you want to inject custom logic or configuration 1564// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1565// 1566// 1567// // Example sending a request using the CreateRoleRequest method. 1568// req, resp := client.CreateRoleRequest(params) 1569// 1570// err := req.Send() 1571// if err == nil { // resp is now filled 1572// fmt.Println(resp) 1573// } 1574// 1575// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/CreateRole 1576func (c *IAM) CreateRoleRequest(input *CreateRoleInput) (req *request.Request, output *CreateRoleOutput) { 1577 op := &request.Operation{ 1578 Name: opCreateRole, 1579 HTTPMethod: "POST", 1580 HTTPPath: "/", 1581 } 1582 1583 if input == nil { 1584 input = &CreateRoleInput{} 1585 } 1586 1587 output = &CreateRoleOutput{} 1588 req = c.newRequest(op, input, output) 1589 return 1590} 1591 1592// CreateRole API operation for AWS Identity and Access Management. 1593// 1594// Creates a new role for your AWS account. For more information about roles, 1595// go to Working with Roles (http://docs.aws.amazon.com/IAM/latest/UserGuide/WorkingWithRoles.html). 1596// For information about limitations on role names and the number of roles you 1597// can create, go to Limitations on IAM Entities (http://docs.aws.amazon.com/IAM/latest/UserGuide/LimitationsOnEntities.html) 1598// in the IAM User Guide. 1599// 1600// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1601// with awserr.Error's Code and Message methods to get detailed information about 1602// the error. 1603// 1604// See the AWS API reference guide for AWS Identity and Access Management's 1605// API operation CreateRole for usage and error information. 1606// 1607// Returned Error Codes: 1608// * ErrCodeLimitExceededException "LimitExceeded" 1609// The request was rejected because it attempted to create resources beyond 1610// the current AWS account limits. The error message describes the limit exceeded. 1611// 1612// * ErrCodeInvalidInputException "InvalidInput" 1613// The request was rejected because an invalid or out-of-range value was supplied 1614// for an input parameter. 1615// 1616// * ErrCodeEntityAlreadyExistsException "EntityAlreadyExists" 1617// The request was rejected because it attempted to create a resource that already 1618// exists. 1619// 1620// * ErrCodeMalformedPolicyDocumentException "MalformedPolicyDocument" 1621// The request was rejected because the policy document was malformed. The error 1622// message describes the specific error. 1623// 1624// * ErrCodeServiceFailureException "ServiceFailure" 1625// The request processing has failed because of an unknown error, exception 1626// or failure. 1627// 1628// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/CreateRole 1629func (c *IAM) CreateRole(input *CreateRoleInput) (*CreateRoleOutput, error) { 1630 req, out := c.CreateRoleRequest(input) 1631 return out, req.Send() 1632} 1633 1634// CreateRoleWithContext is the same as CreateRole with the addition of 1635// the ability to pass a context and additional request options. 1636// 1637// See CreateRole for details on how to use this API operation. 1638// 1639// The context must be non-nil and will be used for request cancellation. If 1640// the context is nil a panic will occur. In the future the SDK may create 1641// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1642// for more information on using Contexts. 1643func (c *IAM) CreateRoleWithContext(ctx aws.Context, input *CreateRoleInput, opts ...request.Option) (*CreateRoleOutput, error) { 1644 req, out := c.CreateRoleRequest(input) 1645 req.SetContext(ctx) 1646 req.ApplyOptions(opts...) 1647 return out, req.Send() 1648} 1649 1650const opCreateSAMLProvider = "CreateSAMLProvider" 1651 1652// CreateSAMLProviderRequest generates a "aws/request.Request" representing the 1653// client's request for the CreateSAMLProvider operation. The "output" return 1654// value will be populated with the request's response once the request complets 1655// successfuly. 1656// 1657// Use "Send" method on the returned Request to send the API call to the service. 1658// the "output" return value is not valid until after Send returns without error. 1659// 1660// See CreateSAMLProvider for more information on using the CreateSAMLProvider 1661// API call, and error handling. 1662// 1663// This method is useful when you want to inject custom logic or configuration 1664// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1665// 1666// 1667// // Example sending a request using the CreateSAMLProviderRequest method. 1668// req, resp := client.CreateSAMLProviderRequest(params) 1669// 1670// err := req.Send() 1671// if err == nil { // resp is now filled 1672// fmt.Println(resp) 1673// } 1674// 1675// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/CreateSAMLProvider 1676func (c *IAM) CreateSAMLProviderRequest(input *CreateSAMLProviderInput) (req *request.Request, output *CreateSAMLProviderOutput) { 1677 op := &request.Operation{ 1678 Name: opCreateSAMLProvider, 1679 HTTPMethod: "POST", 1680 HTTPPath: "/", 1681 } 1682 1683 if input == nil { 1684 input = &CreateSAMLProviderInput{} 1685 } 1686 1687 output = &CreateSAMLProviderOutput{} 1688 req = c.newRequest(op, input, output) 1689 return 1690} 1691 1692// CreateSAMLProvider API operation for AWS Identity and Access Management. 1693// 1694// Creates an IAM resource that describes an identity provider (IdP) that supports 1695// SAML 2.0. 1696// 1697// The SAML provider resource that you create with this operation can be used 1698// as a principal in an IAM role's trust policy to enable federated users who 1699// sign-in using the SAML IdP to assume the role. You can create an IAM role 1700// that supports Web-based single sign-on (SSO) to the AWS Management Console 1701// or one that supports API access to AWS. 1702// 1703// When you create the SAML provider resource, you upload an a SAML metadata 1704// document that you get from your IdP and that includes the issuer's name, 1705// expiration information, and keys that can be used to validate the SAML authentication 1706// response (assertions) that the IdP sends. You must generate the metadata 1707// document using the identity management software that is used as your organization's 1708// IdP. 1709// 1710// This operation requires Signature Version 4 (http://docs.aws.amazon.com/general/latest/gr/signature-version-4.html). 1711// 1712// For more information, see Enabling SAML 2.0 Federated Users to Access the 1713// AWS Management Console (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_enable-console-saml.html) 1714// and About SAML 2.0-based Federation (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_saml.html) 1715// in the IAM User Guide. 1716// 1717// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1718// with awserr.Error's Code and Message methods to get detailed information about 1719// the error. 1720// 1721// See the AWS API reference guide for AWS Identity and Access Management's 1722// API operation CreateSAMLProvider for usage and error information. 1723// 1724// Returned Error Codes: 1725// * ErrCodeInvalidInputException "InvalidInput" 1726// The request was rejected because an invalid or out-of-range value was supplied 1727// for an input parameter. 1728// 1729// * ErrCodeEntityAlreadyExistsException "EntityAlreadyExists" 1730// The request was rejected because it attempted to create a resource that already 1731// exists. 1732// 1733// * ErrCodeLimitExceededException "LimitExceeded" 1734// The request was rejected because it attempted to create resources beyond 1735// the current AWS account limits. The error message describes the limit exceeded. 1736// 1737// * ErrCodeServiceFailureException "ServiceFailure" 1738// The request processing has failed because of an unknown error, exception 1739// or failure. 1740// 1741// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/CreateSAMLProvider 1742func (c *IAM) CreateSAMLProvider(input *CreateSAMLProviderInput) (*CreateSAMLProviderOutput, error) { 1743 req, out := c.CreateSAMLProviderRequest(input) 1744 return out, req.Send() 1745} 1746 1747// CreateSAMLProviderWithContext is the same as CreateSAMLProvider with the addition of 1748// the ability to pass a context and additional request options. 1749// 1750// See CreateSAMLProvider for details on how to use this API operation. 1751// 1752// The context must be non-nil and will be used for request cancellation. If 1753// the context is nil a panic will occur. In the future the SDK may create 1754// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1755// for more information on using Contexts. 1756func (c *IAM) CreateSAMLProviderWithContext(ctx aws.Context, input *CreateSAMLProviderInput, opts ...request.Option) (*CreateSAMLProviderOutput, error) { 1757 req, out := c.CreateSAMLProviderRequest(input) 1758 req.SetContext(ctx) 1759 req.ApplyOptions(opts...) 1760 return out, req.Send() 1761} 1762 1763const opCreateServiceLinkedRole = "CreateServiceLinkedRole" 1764 1765// CreateServiceLinkedRoleRequest generates a "aws/request.Request" representing the 1766// client's request for the CreateServiceLinkedRole operation. The "output" return 1767// value will be populated with the request's response once the request complets 1768// successfuly. 1769// 1770// Use "Send" method on the returned Request to send the API call to the service. 1771// the "output" return value is not valid until after Send returns without error. 1772// 1773// See CreateServiceLinkedRole for more information on using the CreateServiceLinkedRole 1774// API call, and error handling. 1775// 1776// This method is useful when you want to inject custom logic or configuration 1777// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1778// 1779// 1780// // Example sending a request using the CreateServiceLinkedRoleRequest method. 1781// req, resp := client.CreateServiceLinkedRoleRequest(params) 1782// 1783// err := req.Send() 1784// if err == nil { // resp is now filled 1785// fmt.Println(resp) 1786// } 1787// 1788// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/CreateServiceLinkedRole 1789func (c *IAM) CreateServiceLinkedRoleRequest(input *CreateServiceLinkedRoleInput) (req *request.Request, output *CreateServiceLinkedRoleOutput) { 1790 op := &request.Operation{ 1791 Name: opCreateServiceLinkedRole, 1792 HTTPMethod: "POST", 1793 HTTPPath: "/", 1794 } 1795 1796 if input == nil { 1797 input = &CreateServiceLinkedRoleInput{} 1798 } 1799 1800 output = &CreateServiceLinkedRoleOutput{} 1801 req = c.newRequest(op, input, output) 1802 return 1803} 1804 1805// CreateServiceLinkedRole API operation for AWS Identity and Access Management. 1806// 1807// Creates an IAM role that is linked to a specific AWS service. The service 1808// controls the attached policies and when the role can be deleted. This helps 1809// ensure that the service is not broken by an unexpectedly changed or deleted 1810// role, which could put your AWS resources into an unknown state. Allowing 1811// the service to control the role helps improve service stability and proper 1812// cleanup when a service and its role are no longer needed. 1813// 1814// The name of the role is autogenerated by combining the string that you specify 1815// for the AWSServiceName parameter with the string that you specify for the 1816// CustomSuffix parameter. The resulting name must be unique in your account 1817// or the request fails. 1818// 1819// To attach a policy to this service-linked role, you must make the request 1820// using the AWS service that depends on this role. 1821// 1822// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1823// with awserr.Error's Code and Message methods to get detailed information about 1824// the error. 1825// 1826// See the AWS API reference guide for AWS Identity and Access Management's 1827// API operation CreateServiceLinkedRole for usage and error information. 1828// 1829// Returned Error Codes: 1830// * ErrCodeInvalidInputException "InvalidInput" 1831// The request was rejected because an invalid or out-of-range value was supplied 1832// for an input parameter. 1833// 1834// * ErrCodeLimitExceededException "LimitExceeded" 1835// The request was rejected because it attempted to create resources beyond 1836// the current AWS account limits. The error message describes the limit exceeded. 1837// 1838// * ErrCodeNoSuchEntityException "NoSuchEntity" 1839// The request was rejected because it referenced an entity that does not exist. 1840// The error message describes the entity. 1841// 1842// * ErrCodeServiceFailureException "ServiceFailure" 1843// The request processing has failed because of an unknown error, exception 1844// or failure. 1845// 1846// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/CreateServiceLinkedRole 1847func (c *IAM) CreateServiceLinkedRole(input *CreateServiceLinkedRoleInput) (*CreateServiceLinkedRoleOutput, error) { 1848 req, out := c.CreateServiceLinkedRoleRequest(input) 1849 return out, req.Send() 1850} 1851 1852// CreateServiceLinkedRoleWithContext is the same as CreateServiceLinkedRole with the addition of 1853// the ability to pass a context and additional request options. 1854// 1855// See CreateServiceLinkedRole for details on how to use this API operation. 1856// 1857// The context must be non-nil and will be used for request cancellation. If 1858// the context is nil a panic will occur. In the future the SDK may create 1859// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1860// for more information on using Contexts. 1861func (c *IAM) CreateServiceLinkedRoleWithContext(ctx aws.Context, input *CreateServiceLinkedRoleInput, opts ...request.Option) (*CreateServiceLinkedRoleOutput, error) { 1862 req, out := c.CreateServiceLinkedRoleRequest(input) 1863 req.SetContext(ctx) 1864 req.ApplyOptions(opts...) 1865 return out, req.Send() 1866} 1867 1868const opCreateServiceSpecificCredential = "CreateServiceSpecificCredential" 1869 1870// CreateServiceSpecificCredentialRequest generates a "aws/request.Request" representing the 1871// client's request for the CreateServiceSpecificCredential operation. The "output" return 1872// value will be populated with the request's response once the request complets 1873// successfuly. 1874// 1875// Use "Send" method on the returned Request to send the API call to the service. 1876// the "output" return value is not valid until after Send returns without error. 1877// 1878// See CreateServiceSpecificCredential for more information on using the CreateServiceSpecificCredential 1879// API call, and error handling. 1880// 1881// This method is useful when you want to inject custom logic or configuration 1882// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1883// 1884// 1885// // Example sending a request using the CreateServiceSpecificCredentialRequest method. 1886// req, resp := client.CreateServiceSpecificCredentialRequest(params) 1887// 1888// err := req.Send() 1889// if err == nil { // resp is now filled 1890// fmt.Println(resp) 1891// } 1892// 1893// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/CreateServiceSpecificCredential 1894func (c *IAM) CreateServiceSpecificCredentialRequest(input *CreateServiceSpecificCredentialInput) (req *request.Request, output *CreateServiceSpecificCredentialOutput) { 1895 op := &request.Operation{ 1896 Name: opCreateServiceSpecificCredential, 1897 HTTPMethod: "POST", 1898 HTTPPath: "/", 1899 } 1900 1901 if input == nil { 1902 input = &CreateServiceSpecificCredentialInput{} 1903 } 1904 1905 output = &CreateServiceSpecificCredentialOutput{} 1906 req = c.newRequest(op, input, output) 1907 return 1908} 1909 1910// CreateServiceSpecificCredential API operation for AWS Identity and Access Management. 1911// 1912// Generates a set of credentials consisting of a user name and password that 1913// can be used to access the service specified in the request. These credentials 1914// are generated by IAM, and can be used only for the specified service. 1915// 1916// You can have a maximum of two sets of service-specific credentials for each 1917// supported service per user. 1918// 1919// The only supported service at this time is AWS CodeCommit. 1920// 1921// You can reset the password to a new service-generated value by calling ResetServiceSpecificCredential. 1922// 1923// For more information about service-specific credentials, see Using IAM with 1924// AWS CodeCommit: Git Credentials, SSH Keys, and AWS Access Keys (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_ssh-keys.html) 1925// in the IAM User Guide. 1926// 1927// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1928// with awserr.Error's Code and Message methods to get detailed information about 1929// the error. 1930// 1931// See the AWS API reference guide for AWS Identity and Access Management's 1932// API operation CreateServiceSpecificCredential for usage and error information. 1933// 1934// Returned Error Codes: 1935// * ErrCodeLimitExceededException "LimitExceeded" 1936// The request was rejected because it attempted to create resources beyond 1937// the current AWS account limits. The error message describes the limit exceeded. 1938// 1939// * ErrCodeNoSuchEntityException "NoSuchEntity" 1940// The request was rejected because it referenced an entity that does not exist. 1941// The error message describes the entity. 1942// 1943// * ErrCodeServiceNotSupportedException "NotSupportedService" 1944// The specified service does not support service-specific credentials. 1945// 1946// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/CreateServiceSpecificCredential 1947func (c *IAM) CreateServiceSpecificCredential(input *CreateServiceSpecificCredentialInput) (*CreateServiceSpecificCredentialOutput, error) { 1948 req, out := c.CreateServiceSpecificCredentialRequest(input) 1949 return out, req.Send() 1950} 1951 1952// CreateServiceSpecificCredentialWithContext is the same as CreateServiceSpecificCredential with the addition of 1953// the ability to pass a context and additional request options. 1954// 1955// See CreateServiceSpecificCredential for details on how to use this API operation. 1956// 1957// The context must be non-nil and will be used for request cancellation. If 1958// the context is nil a panic will occur. In the future the SDK may create 1959// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1960// for more information on using Contexts. 1961func (c *IAM) CreateServiceSpecificCredentialWithContext(ctx aws.Context, input *CreateServiceSpecificCredentialInput, opts ...request.Option) (*CreateServiceSpecificCredentialOutput, error) { 1962 req, out := c.CreateServiceSpecificCredentialRequest(input) 1963 req.SetContext(ctx) 1964 req.ApplyOptions(opts...) 1965 return out, req.Send() 1966} 1967 1968const opCreateUser = "CreateUser" 1969 1970// CreateUserRequest generates a "aws/request.Request" representing the 1971// client's request for the CreateUser operation. The "output" return 1972// value will be populated with the request's response once the request complets 1973// successfuly. 1974// 1975// Use "Send" method on the returned Request to send the API call to the service. 1976// the "output" return value is not valid until after Send returns without error. 1977// 1978// See CreateUser for more information on using the CreateUser 1979// API call, and error handling. 1980// 1981// This method is useful when you want to inject custom logic or configuration 1982// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1983// 1984// 1985// // Example sending a request using the CreateUserRequest method. 1986// req, resp := client.CreateUserRequest(params) 1987// 1988// err := req.Send() 1989// if err == nil { // resp is now filled 1990// fmt.Println(resp) 1991// } 1992// 1993// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/CreateUser 1994func (c *IAM) CreateUserRequest(input *CreateUserInput) (req *request.Request, output *CreateUserOutput) { 1995 op := &request.Operation{ 1996 Name: opCreateUser, 1997 HTTPMethod: "POST", 1998 HTTPPath: "/", 1999 } 2000 2001 if input == nil { 2002 input = &CreateUserInput{} 2003 } 2004 2005 output = &CreateUserOutput{} 2006 req = c.newRequest(op, input, output) 2007 return 2008} 2009 2010// CreateUser API operation for AWS Identity and Access Management. 2011// 2012// Creates a new IAM user for your AWS account. 2013// 2014// For information about limitations on the number of IAM users you can create, 2015// see Limitations on IAM Entities (http://docs.aws.amazon.com/IAM/latest/UserGuide/LimitationsOnEntities.html) 2016// in the IAM User Guide. 2017// 2018// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2019// with awserr.Error's Code and Message methods to get detailed information about 2020// the error. 2021// 2022// See the AWS API reference guide for AWS Identity and Access Management's 2023// API operation CreateUser for usage and error information. 2024// 2025// Returned Error Codes: 2026// * ErrCodeLimitExceededException "LimitExceeded" 2027// The request was rejected because it attempted to create resources beyond 2028// the current AWS account limits. The error message describes the limit exceeded. 2029// 2030// * ErrCodeEntityAlreadyExistsException "EntityAlreadyExists" 2031// The request was rejected because it attempted to create a resource that already 2032// exists. 2033// 2034// * ErrCodeNoSuchEntityException "NoSuchEntity" 2035// The request was rejected because it referenced an entity that does not exist. 2036// The error message describes the entity. 2037// 2038// * ErrCodeServiceFailureException "ServiceFailure" 2039// The request processing has failed because of an unknown error, exception 2040// or failure. 2041// 2042// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/CreateUser 2043func (c *IAM) CreateUser(input *CreateUserInput) (*CreateUserOutput, error) { 2044 req, out := c.CreateUserRequest(input) 2045 return out, req.Send() 2046} 2047 2048// CreateUserWithContext is the same as CreateUser with the addition of 2049// the ability to pass a context and additional request options. 2050// 2051// See CreateUser for details on how to use this API operation. 2052// 2053// The context must be non-nil and will be used for request cancellation. If 2054// the context is nil a panic will occur. In the future the SDK may create 2055// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2056// for more information on using Contexts. 2057func (c *IAM) CreateUserWithContext(ctx aws.Context, input *CreateUserInput, opts ...request.Option) (*CreateUserOutput, error) { 2058 req, out := c.CreateUserRequest(input) 2059 req.SetContext(ctx) 2060 req.ApplyOptions(opts...) 2061 return out, req.Send() 2062} 2063 2064const opCreateVirtualMFADevice = "CreateVirtualMFADevice" 2065 2066// CreateVirtualMFADeviceRequest generates a "aws/request.Request" representing the 2067// client's request for the CreateVirtualMFADevice operation. The "output" return 2068// value will be populated with the request's response once the request complets 2069// successfuly. 2070// 2071// Use "Send" method on the returned Request to send the API call to the service. 2072// the "output" return value is not valid until after Send returns without error. 2073// 2074// See CreateVirtualMFADevice for more information on using the CreateVirtualMFADevice 2075// API call, and error handling. 2076// 2077// This method is useful when you want to inject custom logic or configuration 2078// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2079// 2080// 2081// // Example sending a request using the CreateVirtualMFADeviceRequest method. 2082// req, resp := client.CreateVirtualMFADeviceRequest(params) 2083// 2084// err := req.Send() 2085// if err == nil { // resp is now filled 2086// fmt.Println(resp) 2087// } 2088// 2089// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/CreateVirtualMFADevice 2090func (c *IAM) CreateVirtualMFADeviceRequest(input *CreateVirtualMFADeviceInput) (req *request.Request, output *CreateVirtualMFADeviceOutput) { 2091 op := &request.Operation{ 2092 Name: opCreateVirtualMFADevice, 2093 HTTPMethod: "POST", 2094 HTTPPath: "/", 2095 } 2096 2097 if input == nil { 2098 input = &CreateVirtualMFADeviceInput{} 2099 } 2100 2101 output = &CreateVirtualMFADeviceOutput{} 2102 req = c.newRequest(op, input, output) 2103 return 2104} 2105 2106// CreateVirtualMFADevice API operation for AWS Identity and Access Management. 2107// 2108// Creates a new virtual MFA device for the AWS account. After creating the 2109// virtual MFA, use EnableMFADevice to attach the MFA device to an IAM user. 2110// For more information about creating and working with virtual MFA devices, 2111// go to Using a Virtual MFA Device (http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_VirtualMFA.html) 2112// in the IAM User Guide. 2113// 2114// For information about limits on the number of MFA devices you can create, 2115// see Limitations on Entities (http://docs.aws.amazon.com/IAM/latest/UserGuide/LimitationsOnEntities.html) 2116// in the IAM User Guide. 2117// 2118// The seed information contained in the QR code and the Base32 string should 2119// be treated like any other secret access information, such as your AWS access 2120// keys or your passwords. After you provision your virtual device, you should 2121// ensure that the information is destroyed following secure procedures. 2122// 2123// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2124// with awserr.Error's Code and Message methods to get detailed information about 2125// the error. 2126// 2127// See the AWS API reference guide for AWS Identity and Access Management's 2128// API operation CreateVirtualMFADevice for usage and error information. 2129// 2130// Returned Error Codes: 2131// * ErrCodeLimitExceededException "LimitExceeded" 2132// The request was rejected because it attempted to create resources beyond 2133// the current AWS account limits. The error message describes the limit exceeded. 2134// 2135// * ErrCodeEntityAlreadyExistsException "EntityAlreadyExists" 2136// The request was rejected because it attempted to create a resource that already 2137// exists. 2138// 2139// * ErrCodeServiceFailureException "ServiceFailure" 2140// The request processing has failed because of an unknown error, exception 2141// or failure. 2142// 2143// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/CreateVirtualMFADevice 2144func (c *IAM) CreateVirtualMFADevice(input *CreateVirtualMFADeviceInput) (*CreateVirtualMFADeviceOutput, error) { 2145 req, out := c.CreateVirtualMFADeviceRequest(input) 2146 return out, req.Send() 2147} 2148 2149// CreateVirtualMFADeviceWithContext is the same as CreateVirtualMFADevice with the addition of 2150// the ability to pass a context and additional request options. 2151// 2152// See CreateVirtualMFADevice for details on how to use this API operation. 2153// 2154// The context must be non-nil and will be used for request cancellation. If 2155// the context is nil a panic will occur. In the future the SDK may create 2156// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2157// for more information on using Contexts. 2158func (c *IAM) CreateVirtualMFADeviceWithContext(ctx aws.Context, input *CreateVirtualMFADeviceInput, opts ...request.Option) (*CreateVirtualMFADeviceOutput, error) { 2159 req, out := c.CreateVirtualMFADeviceRequest(input) 2160 req.SetContext(ctx) 2161 req.ApplyOptions(opts...) 2162 return out, req.Send() 2163} 2164 2165const opDeactivateMFADevice = "DeactivateMFADevice" 2166 2167// DeactivateMFADeviceRequest generates a "aws/request.Request" representing the 2168// client's request for the DeactivateMFADevice operation. The "output" return 2169// value will be populated with the request's response once the request complets 2170// successfuly. 2171// 2172// Use "Send" method on the returned Request to send the API call to the service. 2173// the "output" return value is not valid until after Send returns without error. 2174// 2175// See DeactivateMFADevice for more information on using the DeactivateMFADevice 2176// API call, and error handling. 2177// 2178// This method is useful when you want to inject custom logic or configuration 2179// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2180// 2181// 2182// // Example sending a request using the DeactivateMFADeviceRequest method. 2183// req, resp := client.DeactivateMFADeviceRequest(params) 2184// 2185// err := req.Send() 2186// if err == nil { // resp is now filled 2187// fmt.Println(resp) 2188// } 2189// 2190// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/DeactivateMFADevice 2191func (c *IAM) DeactivateMFADeviceRequest(input *DeactivateMFADeviceInput) (req *request.Request, output *DeactivateMFADeviceOutput) { 2192 op := &request.Operation{ 2193 Name: opDeactivateMFADevice, 2194 HTTPMethod: "POST", 2195 HTTPPath: "/", 2196 } 2197 2198 if input == nil { 2199 input = &DeactivateMFADeviceInput{} 2200 } 2201 2202 output = &DeactivateMFADeviceOutput{} 2203 req = c.newRequest(op, input, output) 2204 req.Handlers.Unmarshal.Remove(query.UnmarshalHandler) 2205 req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) 2206 return 2207} 2208 2209// DeactivateMFADevice API operation for AWS Identity and Access Management. 2210// 2211// Deactivates the specified MFA device and removes it from association with 2212// the user name for which it was originally enabled. 2213// 2214// For more information about creating and working with virtual MFA devices, 2215// go to Using a Virtual MFA Device (http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_VirtualMFA.html) 2216// in the IAM User Guide. 2217// 2218// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2219// with awserr.Error's Code and Message methods to get detailed information about 2220// the error. 2221// 2222// See the AWS API reference guide for AWS Identity and Access Management's 2223// API operation DeactivateMFADevice for usage and error information. 2224// 2225// Returned Error Codes: 2226// * ErrCodeEntityTemporarilyUnmodifiableException "EntityTemporarilyUnmodifiable" 2227// The request was rejected because it referenced an entity that is temporarily 2228// unmodifiable, such as a user name that was deleted and then recreated. The 2229// error indicates that the request is likely to succeed if you try again after 2230// waiting several minutes. The error message describes the entity. 2231// 2232// * ErrCodeNoSuchEntityException "NoSuchEntity" 2233// The request was rejected because it referenced an entity that does not exist. 2234// The error message describes the entity. 2235// 2236// * ErrCodeLimitExceededException "LimitExceeded" 2237// The request was rejected because it attempted to create resources beyond 2238// the current AWS account limits. The error message describes the limit exceeded. 2239// 2240// * ErrCodeServiceFailureException "ServiceFailure" 2241// The request processing has failed because of an unknown error, exception 2242// or failure. 2243// 2244// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/DeactivateMFADevice 2245func (c *IAM) DeactivateMFADevice(input *DeactivateMFADeviceInput) (*DeactivateMFADeviceOutput, error) { 2246 req, out := c.DeactivateMFADeviceRequest(input) 2247 return out, req.Send() 2248} 2249 2250// DeactivateMFADeviceWithContext is the same as DeactivateMFADevice with the addition of 2251// the ability to pass a context and additional request options. 2252// 2253// See DeactivateMFADevice for details on how to use this API operation. 2254// 2255// The context must be non-nil and will be used for request cancellation. If 2256// the context is nil a panic will occur. In the future the SDK may create 2257// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2258// for more information on using Contexts. 2259func (c *IAM) DeactivateMFADeviceWithContext(ctx aws.Context, input *DeactivateMFADeviceInput, opts ...request.Option) (*DeactivateMFADeviceOutput, error) { 2260 req, out := c.DeactivateMFADeviceRequest(input) 2261 req.SetContext(ctx) 2262 req.ApplyOptions(opts...) 2263 return out, req.Send() 2264} 2265 2266const opDeleteAccessKey = "DeleteAccessKey" 2267 2268// DeleteAccessKeyRequest generates a "aws/request.Request" representing the 2269// client's request for the DeleteAccessKey operation. The "output" return 2270// value will be populated with the request's response once the request complets 2271// successfuly. 2272// 2273// Use "Send" method on the returned Request to send the API call to the service. 2274// the "output" return value is not valid until after Send returns without error. 2275// 2276// See DeleteAccessKey for more information on using the DeleteAccessKey 2277// API call, and error handling. 2278// 2279// This method is useful when you want to inject custom logic or configuration 2280// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2281// 2282// 2283// // Example sending a request using the DeleteAccessKeyRequest method. 2284// req, resp := client.DeleteAccessKeyRequest(params) 2285// 2286// err := req.Send() 2287// if err == nil { // resp is now filled 2288// fmt.Println(resp) 2289// } 2290// 2291// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/DeleteAccessKey 2292func (c *IAM) DeleteAccessKeyRequest(input *DeleteAccessKeyInput) (req *request.Request, output *DeleteAccessKeyOutput) { 2293 op := &request.Operation{ 2294 Name: opDeleteAccessKey, 2295 HTTPMethod: "POST", 2296 HTTPPath: "/", 2297 } 2298 2299 if input == nil { 2300 input = &DeleteAccessKeyInput{} 2301 } 2302 2303 output = &DeleteAccessKeyOutput{} 2304 req = c.newRequest(op, input, output) 2305 req.Handlers.Unmarshal.Remove(query.UnmarshalHandler) 2306 req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) 2307 return 2308} 2309 2310// DeleteAccessKey API operation for AWS Identity and Access Management. 2311// 2312// Deletes the access key pair associated with the specified IAM user. 2313// 2314// If you do not specify a user name, IAM determines the user name implicitly 2315// based on the AWS access key ID signing the request. Because this action works 2316// for access keys under the AWS account, you can use this action to manage 2317// root credentials even if the AWS account has no associated users. 2318// 2319// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2320// with awserr.Error's Code and Message methods to get detailed information about 2321// the error. 2322// 2323// See the AWS API reference guide for AWS Identity and Access Management's 2324// API operation DeleteAccessKey for usage and error information. 2325// 2326// Returned Error Codes: 2327// * ErrCodeNoSuchEntityException "NoSuchEntity" 2328// The request was rejected because it referenced an entity that does not exist. 2329// The error message describes the entity. 2330// 2331// * ErrCodeLimitExceededException "LimitExceeded" 2332// The request was rejected because it attempted to create resources beyond 2333// the current AWS account limits. The error message describes the limit exceeded. 2334// 2335// * ErrCodeServiceFailureException "ServiceFailure" 2336// The request processing has failed because of an unknown error, exception 2337// or failure. 2338// 2339// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/DeleteAccessKey 2340func (c *IAM) DeleteAccessKey(input *DeleteAccessKeyInput) (*DeleteAccessKeyOutput, error) { 2341 req, out := c.DeleteAccessKeyRequest(input) 2342 return out, req.Send() 2343} 2344 2345// DeleteAccessKeyWithContext is the same as DeleteAccessKey with the addition of 2346// the ability to pass a context and additional request options. 2347// 2348// See DeleteAccessKey for details on how to use this API operation. 2349// 2350// The context must be non-nil and will be used for request cancellation. If 2351// the context is nil a panic will occur. In the future the SDK may create 2352// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2353// for more information on using Contexts. 2354func (c *IAM) DeleteAccessKeyWithContext(ctx aws.Context, input *DeleteAccessKeyInput, opts ...request.Option) (*DeleteAccessKeyOutput, error) { 2355 req, out := c.DeleteAccessKeyRequest(input) 2356 req.SetContext(ctx) 2357 req.ApplyOptions(opts...) 2358 return out, req.Send() 2359} 2360 2361const opDeleteAccountAlias = "DeleteAccountAlias" 2362 2363// DeleteAccountAliasRequest generates a "aws/request.Request" representing the 2364// client's request for the DeleteAccountAlias operation. The "output" return 2365// value will be populated with the request's response once the request complets 2366// successfuly. 2367// 2368// Use "Send" method on the returned Request to send the API call to the service. 2369// the "output" return value is not valid until after Send returns without error. 2370// 2371// See DeleteAccountAlias for more information on using the DeleteAccountAlias 2372// API call, and error handling. 2373// 2374// This method is useful when you want to inject custom logic or configuration 2375// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2376// 2377// 2378// // Example sending a request using the DeleteAccountAliasRequest method. 2379// req, resp := client.DeleteAccountAliasRequest(params) 2380// 2381// err := req.Send() 2382// if err == nil { // resp is now filled 2383// fmt.Println(resp) 2384// } 2385// 2386// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/DeleteAccountAlias 2387func (c *IAM) DeleteAccountAliasRequest(input *DeleteAccountAliasInput) (req *request.Request, output *DeleteAccountAliasOutput) { 2388 op := &request.Operation{ 2389 Name: opDeleteAccountAlias, 2390 HTTPMethod: "POST", 2391 HTTPPath: "/", 2392 } 2393 2394 if input == nil { 2395 input = &DeleteAccountAliasInput{} 2396 } 2397 2398 output = &DeleteAccountAliasOutput{} 2399 req = c.newRequest(op, input, output) 2400 req.Handlers.Unmarshal.Remove(query.UnmarshalHandler) 2401 req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) 2402 return 2403} 2404 2405// DeleteAccountAlias API operation for AWS Identity and Access Management. 2406// 2407// Deletes the specified AWS account alias. For information about using an AWS 2408// account alias, see Using an Alias for Your AWS Account ID (http://docs.aws.amazon.com/IAM/latest/UserGuide/AccountAlias.html) 2409// in the IAM User Guide. 2410// 2411// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2412// with awserr.Error's Code and Message methods to get detailed information about 2413// the error. 2414// 2415// See the AWS API reference guide for AWS Identity and Access Management's 2416// API operation DeleteAccountAlias for usage and error information. 2417// 2418// Returned Error Codes: 2419// * ErrCodeNoSuchEntityException "NoSuchEntity" 2420// The request was rejected because it referenced an entity that does not exist. 2421// The error message describes the entity. 2422// 2423// * ErrCodeLimitExceededException "LimitExceeded" 2424// The request was rejected because it attempted to create resources beyond 2425// the current AWS account limits. The error message describes the limit exceeded. 2426// 2427// * ErrCodeServiceFailureException "ServiceFailure" 2428// The request processing has failed because of an unknown error, exception 2429// or failure. 2430// 2431// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/DeleteAccountAlias 2432func (c *IAM) DeleteAccountAlias(input *DeleteAccountAliasInput) (*DeleteAccountAliasOutput, error) { 2433 req, out := c.DeleteAccountAliasRequest(input) 2434 return out, req.Send() 2435} 2436 2437// DeleteAccountAliasWithContext is the same as DeleteAccountAlias with the addition of 2438// the ability to pass a context and additional request options. 2439// 2440// See DeleteAccountAlias for details on how to use this API operation. 2441// 2442// The context must be non-nil and will be used for request cancellation. If 2443// the context is nil a panic will occur. In the future the SDK may create 2444// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2445// for more information on using Contexts. 2446func (c *IAM) DeleteAccountAliasWithContext(ctx aws.Context, input *DeleteAccountAliasInput, opts ...request.Option) (*DeleteAccountAliasOutput, error) { 2447 req, out := c.DeleteAccountAliasRequest(input) 2448 req.SetContext(ctx) 2449 req.ApplyOptions(opts...) 2450 return out, req.Send() 2451} 2452 2453const opDeleteAccountPasswordPolicy = "DeleteAccountPasswordPolicy" 2454 2455// DeleteAccountPasswordPolicyRequest generates a "aws/request.Request" representing the 2456// client's request for the DeleteAccountPasswordPolicy operation. The "output" return 2457// value will be populated with the request's response once the request complets 2458// successfuly. 2459// 2460// Use "Send" method on the returned Request to send the API call to the service. 2461// the "output" return value is not valid until after Send returns without error. 2462// 2463// See DeleteAccountPasswordPolicy for more information on using the DeleteAccountPasswordPolicy 2464// API call, and error handling. 2465// 2466// This method is useful when you want to inject custom logic or configuration 2467// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2468// 2469// 2470// // Example sending a request using the DeleteAccountPasswordPolicyRequest method. 2471// req, resp := client.DeleteAccountPasswordPolicyRequest(params) 2472// 2473// err := req.Send() 2474// if err == nil { // resp is now filled 2475// fmt.Println(resp) 2476// } 2477// 2478// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/DeleteAccountPasswordPolicy 2479func (c *IAM) DeleteAccountPasswordPolicyRequest(input *DeleteAccountPasswordPolicyInput) (req *request.Request, output *DeleteAccountPasswordPolicyOutput) { 2480 op := &request.Operation{ 2481 Name: opDeleteAccountPasswordPolicy, 2482 HTTPMethod: "POST", 2483 HTTPPath: "/", 2484 } 2485 2486 if input == nil { 2487 input = &DeleteAccountPasswordPolicyInput{} 2488 } 2489 2490 output = &DeleteAccountPasswordPolicyOutput{} 2491 req = c.newRequest(op, input, output) 2492 req.Handlers.Unmarshal.Remove(query.UnmarshalHandler) 2493 req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) 2494 return 2495} 2496 2497// DeleteAccountPasswordPolicy API operation for AWS Identity and Access Management. 2498// 2499// Deletes the password policy for the AWS account. There are no parameters. 2500// 2501// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2502// with awserr.Error's Code and Message methods to get detailed information about 2503// the error. 2504// 2505// See the AWS API reference guide for AWS Identity and Access Management's 2506// API operation DeleteAccountPasswordPolicy for usage and error information. 2507// 2508// Returned Error Codes: 2509// * ErrCodeNoSuchEntityException "NoSuchEntity" 2510// The request was rejected because it referenced an entity that does not exist. 2511// The error message describes the entity. 2512// 2513// * ErrCodeLimitExceededException "LimitExceeded" 2514// The request was rejected because it attempted to create resources beyond 2515// the current AWS account limits. The error message describes the limit exceeded. 2516// 2517// * ErrCodeServiceFailureException "ServiceFailure" 2518// The request processing has failed because of an unknown error, exception 2519// or failure. 2520// 2521// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/DeleteAccountPasswordPolicy 2522func (c *IAM) DeleteAccountPasswordPolicy(input *DeleteAccountPasswordPolicyInput) (*DeleteAccountPasswordPolicyOutput, error) { 2523 req, out := c.DeleteAccountPasswordPolicyRequest(input) 2524 return out, req.Send() 2525} 2526 2527// DeleteAccountPasswordPolicyWithContext is the same as DeleteAccountPasswordPolicy with the addition of 2528// the ability to pass a context and additional request options. 2529// 2530// See DeleteAccountPasswordPolicy for details on how to use this API operation. 2531// 2532// The context must be non-nil and will be used for request cancellation. If 2533// the context is nil a panic will occur. In the future the SDK may create 2534// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2535// for more information on using Contexts. 2536func (c *IAM) DeleteAccountPasswordPolicyWithContext(ctx aws.Context, input *DeleteAccountPasswordPolicyInput, opts ...request.Option) (*DeleteAccountPasswordPolicyOutput, error) { 2537 req, out := c.DeleteAccountPasswordPolicyRequest(input) 2538 req.SetContext(ctx) 2539 req.ApplyOptions(opts...) 2540 return out, req.Send() 2541} 2542 2543const opDeleteGroup = "DeleteGroup" 2544 2545// DeleteGroupRequest generates a "aws/request.Request" representing the 2546// client's request for the DeleteGroup operation. The "output" return 2547// value will be populated with the request's response once the request complets 2548// successfuly. 2549// 2550// Use "Send" method on the returned Request to send the API call to the service. 2551// the "output" return value is not valid until after Send returns without error. 2552// 2553// See DeleteGroup for more information on using the DeleteGroup 2554// API call, and error handling. 2555// 2556// This method is useful when you want to inject custom logic or configuration 2557// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2558// 2559// 2560// // Example sending a request using the DeleteGroupRequest method. 2561// req, resp := client.DeleteGroupRequest(params) 2562// 2563// err := req.Send() 2564// if err == nil { // resp is now filled 2565// fmt.Println(resp) 2566// } 2567// 2568// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/DeleteGroup 2569func (c *IAM) DeleteGroupRequest(input *DeleteGroupInput) (req *request.Request, output *DeleteGroupOutput) { 2570 op := &request.Operation{ 2571 Name: opDeleteGroup, 2572 HTTPMethod: "POST", 2573 HTTPPath: "/", 2574 } 2575 2576 if input == nil { 2577 input = &DeleteGroupInput{} 2578 } 2579 2580 output = &DeleteGroupOutput{} 2581 req = c.newRequest(op, input, output) 2582 req.Handlers.Unmarshal.Remove(query.UnmarshalHandler) 2583 req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) 2584 return 2585} 2586 2587// DeleteGroup API operation for AWS Identity and Access Management. 2588// 2589// Deletes the specified IAM group. The group must not contain any users or 2590// have any attached policies. 2591// 2592// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2593// with awserr.Error's Code and Message methods to get detailed information about 2594// the error. 2595// 2596// See the AWS API reference guide for AWS Identity and Access Management's 2597// API operation DeleteGroup for usage and error information. 2598// 2599// Returned Error Codes: 2600// * ErrCodeNoSuchEntityException "NoSuchEntity" 2601// The request was rejected because it referenced an entity that does not exist. 2602// The error message describes the entity. 2603// 2604// * ErrCodeDeleteConflictException "DeleteConflict" 2605// The request was rejected because it attempted to delete a resource that has 2606// attached subordinate entities. The error message describes these entities. 2607// 2608// * ErrCodeLimitExceededException "LimitExceeded" 2609// The request was rejected because it attempted to create resources beyond 2610// the current AWS account limits. The error message describes the limit exceeded. 2611// 2612// * ErrCodeServiceFailureException "ServiceFailure" 2613// The request processing has failed because of an unknown error, exception 2614// or failure. 2615// 2616// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/DeleteGroup 2617func (c *IAM) DeleteGroup(input *DeleteGroupInput) (*DeleteGroupOutput, error) { 2618 req, out := c.DeleteGroupRequest(input) 2619 return out, req.Send() 2620} 2621 2622// DeleteGroupWithContext is the same as DeleteGroup with the addition of 2623// the ability to pass a context and additional request options. 2624// 2625// See DeleteGroup for details on how to use this API operation. 2626// 2627// The context must be non-nil and will be used for request cancellation. If 2628// the context is nil a panic will occur. In the future the SDK may create 2629// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2630// for more information on using Contexts. 2631func (c *IAM) DeleteGroupWithContext(ctx aws.Context, input *DeleteGroupInput, opts ...request.Option) (*DeleteGroupOutput, error) { 2632 req, out := c.DeleteGroupRequest(input) 2633 req.SetContext(ctx) 2634 req.ApplyOptions(opts...) 2635 return out, req.Send() 2636} 2637 2638const opDeleteGroupPolicy = "DeleteGroupPolicy" 2639 2640// DeleteGroupPolicyRequest generates a "aws/request.Request" representing the 2641// client's request for the DeleteGroupPolicy operation. The "output" return 2642// value will be populated with the request's response once the request complets 2643// successfuly. 2644// 2645// Use "Send" method on the returned Request to send the API call to the service. 2646// the "output" return value is not valid until after Send returns without error. 2647// 2648// See DeleteGroupPolicy for more information on using the DeleteGroupPolicy 2649// API call, and error handling. 2650// 2651// This method is useful when you want to inject custom logic or configuration 2652// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2653// 2654// 2655// // Example sending a request using the DeleteGroupPolicyRequest method. 2656// req, resp := client.DeleteGroupPolicyRequest(params) 2657// 2658// err := req.Send() 2659// if err == nil { // resp is now filled 2660// fmt.Println(resp) 2661// } 2662// 2663// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/DeleteGroupPolicy 2664func (c *IAM) DeleteGroupPolicyRequest(input *DeleteGroupPolicyInput) (req *request.Request, output *DeleteGroupPolicyOutput) { 2665 op := &request.Operation{ 2666 Name: opDeleteGroupPolicy, 2667 HTTPMethod: "POST", 2668 HTTPPath: "/", 2669 } 2670 2671 if input == nil { 2672 input = &DeleteGroupPolicyInput{} 2673 } 2674 2675 output = &DeleteGroupPolicyOutput{} 2676 req = c.newRequest(op, input, output) 2677 req.Handlers.Unmarshal.Remove(query.UnmarshalHandler) 2678 req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) 2679 return 2680} 2681 2682// DeleteGroupPolicy API operation for AWS Identity and Access Management. 2683// 2684// Deletes the specified inline policy that is embedded in the specified IAM 2685// group. 2686// 2687// A group can also have managed policies attached to it. To detach a managed 2688// policy from a group, use DetachGroupPolicy. For more information about policies, 2689// refer to Managed Policies and Inline Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html) 2690// in the IAM User Guide. 2691// 2692// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2693// with awserr.Error's Code and Message methods to get detailed information about 2694// the error. 2695// 2696// See the AWS API reference guide for AWS Identity and Access Management's 2697// API operation DeleteGroupPolicy for usage and error information. 2698// 2699// Returned Error Codes: 2700// * ErrCodeNoSuchEntityException "NoSuchEntity" 2701// The request was rejected because it referenced an entity that does not exist. 2702// The error message describes the entity. 2703// 2704// * ErrCodeLimitExceededException "LimitExceeded" 2705// The request was rejected because it attempted to create resources beyond 2706// the current AWS account limits. The error message describes the limit exceeded. 2707// 2708// * ErrCodeServiceFailureException "ServiceFailure" 2709// The request processing has failed because of an unknown error, exception 2710// or failure. 2711// 2712// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/DeleteGroupPolicy 2713func (c *IAM) DeleteGroupPolicy(input *DeleteGroupPolicyInput) (*DeleteGroupPolicyOutput, error) { 2714 req, out := c.DeleteGroupPolicyRequest(input) 2715 return out, req.Send() 2716} 2717 2718// DeleteGroupPolicyWithContext is the same as DeleteGroupPolicy with the addition of 2719// the ability to pass a context and additional request options. 2720// 2721// See DeleteGroupPolicy for details on how to use this API operation. 2722// 2723// The context must be non-nil and will be used for request cancellation. If 2724// the context is nil a panic will occur. In the future the SDK may create 2725// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2726// for more information on using Contexts. 2727func (c *IAM) DeleteGroupPolicyWithContext(ctx aws.Context, input *DeleteGroupPolicyInput, opts ...request.Option) (*DeleteGroupPolicyOutput, error) { 2728 req, out := c.DeleteGroupPolicyRequest(input) 2729 req.SetContext(ctx) 2730 req.ApplyOptions(opts...) 2731 return out, req.Send() 2732} 2733 2734const opDeleteInstanceProfile = "DeleteInstanceProfile" 2735 2736// DeleteInstanceProfileRequest generates a "aws/request.Request" representing the 2737// client's request for the DeleteInstanceProfile operation. The "output" return 2738// value will be populated with the request's response once the request complets 2739// successfuly. 2740// 2741// Use "Send" method on the returned Request to send the API call to the service. 2742// the "output" return value is not valid until after Send returns without error. 2743// 2744// See DeleteInstanceProfile for more information on using the DeleteInstanceProfile 2745// API call, and error handling. 2746// 2747// This method is useful when you want to inject custom logic or configuration 2748// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2749// 2750// 2751// // Example sending a request using the DeleteInstanceProfileRequest method. 2752// req, resp := client.DeleteInstanceProfileRequest(params) 2753// 2754// err := req.Send() 2755// if err == nil { // resp is now filled 2756// fmt.Println(resp) 2757// } 2758// 2759// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/DeleteInstanceProfile 2760func (c *IAM) DeleteInstanceProfileRequest(input *DeleteInstanceProfileInput) (req *request.Request, output *DeleteInstanceProfileOutput) { 2761 op := &request.Operation{ 2762 Name: opDeleteInstanceProfile, 2763 HTTPMethod: "POST", 2764 HTTPPath: "/", 2765 } 2766 2767 if input == nil { 2768 input = &DeleteInstanceProfileInput{} 2769 } 2770 2771 output = &DeleteInstanceProfileOutput{} 2772 req = c.newRequest(op, input, output) 2773 req.Handlers.Unmarshal.Remove(query.UnmarshalHandler) 2774 req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) 2775 return 2776} 2777 2778// DeleteInstanceProfile API operation for AWS Identity and Access Management. 2779// 2780// Deletes the specified instance profile. The instance profile must not have 2781// an associated role. 2782// 2783// Make sure you do not have any Amazon EC2 instances running with the instance 2784// profile you are about to delete. Deleting a role or instance profile that 2785// is associated with a running instance will break any applications running 2786// on the instance. 2787// 2788// For more information about instance profiles, go to About Instance Profiles 2789// (http://docs.aws.amazon.com/IAM/latest/UserGuide/AboutInstanceProfiles.html). 2790// 2791// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2792// with awserr.Error's Code and Message methods to get detailed information about 2793// the error. 2794// 2795// See the AWS API reference guide for AWS Identity and Access Management's 2796// API operation DeleteInstanceProfile for usage and error information. 2797// 2798// Returned Error Codes: 2799// * ErrCodeNoSuchEntityException "NoSuchEntity" 2800// The request was rejected because it referenced an entity that does not exist. 2801// The error message describes the entity. 2802// 2803// * ErrCodeDeleteConflictException "DeleteConflict" 2804// The request was rejected because it attempted to delete a resource that has 2805// attached subordinate entities. The error message describes these entities. 2806// 2807// * ErrCodeLimitExceededException "LimitExceeded" 2808// The request was rejected because it attempted to create resources beyond 2809// the current AWS account limits. The error message describes the limit exceeded. 2810// 2811// * ErrCodeServiceFailureException "ServiceFailure" 2812// The request processing has failed because of an unknown error, exception 2813// or failure. 2814// 2815// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/DeleteInstanceProfile 2816func (c *IAM) DeleteInstanceProfile(input *DeleteInstanceProfileInput) (*DeleteInstanceProfileOutput, error) { 2817 req, out := c.DeleteInstanceProfileRequest(input) 2818 return out, req.Send() 2819} 2820 2821// DeleteInstanceProfileWithContext is the same as DeleteInstanceProfile with the addition of 2822// the ability to pass a context and additional request options. 2823// 2824// See DeleteInstanceProfile for details on how to use this API operation. 2825// 2826// The context must be non-nil and will be used for request cancellation. If 2827// the context is nil a panic will occur. In the future the SDK may create 2828// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2829// for more information on using Contexts. 2830func (c *IAM) DeleteInstanceProfileWithContext(ctx aws.Context, input *DeleteInstanceProfileInput, opts ...request.Option) (*DeleteInstanceProfileOutput, error) { 2831 req, out := c.DeleteInstanceProfileRequest(input) 2832 req.SetContext(ctx) 2833 req.ApplyOptions(opts...) 2834 return out, req.Send() 2835} 2836 2837const opDeleteLoginProfile = "DeleteLoginProfile" 2838 2839// DeleteLoginProfileRequest generates a "aws/request.Request" representing the 2840// client's request for the DeleteLoginProfile operation. The "output" return 2841// value will be populated with the request's response once the request complets 2842// successfuly. 2843// 2844// Use "Send" method on the returned Request to send the API call to the service. 2845// the "output" return value is not valid until after Send returns without error. 2846// 2847// See DeleteLoginProfile for more information on using the DeleteLoginProfile 2848// API call, and error handling. 2849// 2850// This method is useful when you want to inject custom logic or configuration 2851// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2852// 2853// 2854// // Example sending a request using the DeleteLoginProfileRequest method. 2855// req, resp := client.DeleteLoginProfileRequest(params) 2856// 2857// err := req.Send() 2858// if err == nil { // resp is now filled 2859// fmt.Println(resp) 2860// } 2861// 2862// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/DeleteLoginProfile 2863func (c *IAM) DeleteLoginProfileRequest(input *DeleteLoginProfileInput) (req *request.Request, output *DeleteLoginProfileOutput) { 2864 op := &request.Operation{ 2865 Name: opDeleteLoginProfile, 2866 HTTPMethod: "POST", 2867 HTTPPath: "/", 2868 } 2869 2870 if input == nil { 2871 input = &DeleteLoginProfileInput{} 2872 } 2873 2874 output = &DeleteLoginProfileOutput{} 2875 req = c.newRequest(op, input, output) 2876 req.Handlers.Unmarshal.Remove(query.UnmarshalHandler) 2877 req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) 2878 return 2879} 2880 2881// DeleteLoginProfile API operation for AWS Identity and Access Management. 2882// 2883// Deletes the password for the specified IAM user, which terminates the user's 2884// ability to access AWS services through the AWS Management Console. 2885// 2886// Deleting a user's password does not prevent a user from accessing AWS through 2887// the command line interface or the API. To prevent all user access you must 2888// also either make any access keys inactive or delete them. For more information 2889// about making keys inactive or deleting them, see UpdateAccessKey and DeleteAccessKey. 2890// 2891// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2892// with awserr.Error's Code and Message methods to get detailed information about 2893// the error. 2894// 2895// See the AWS API reference guide for AWS Identity and Access Management's 2896// API operation DeleteLoginProfile for usage and error information. 2897// 2898// Returned Error Codes: 2899// * ErrCodeEntityTemporarilyUnmodifiableException "EntityTemporarilyUnmodifiable" 2900// The request was rejected because it referenced an entity that is temporarily 2901// unmodifiable, such as a user name that was deleted and then recreated. The 2902// error indicates that the request is likely to succeed if you try again after 2903// waiting several minutes. The error message describes the entity. 2904// 2905// * ErrCodeNoSuchEntityException "NoSuchEntity" 2906// The request was rejected because it referenced an entity that does not exist. 2907// The error message describes the entity. 2908// 2909// * ErrCodeLimitExceededException "LimitExceeded" 2910// The request was rejected because it attempted to create resources beyond 2911// the current AWS account limits. The error message describes the limit exceeded. 2912// 2913// * ErrCodeServiceFailureException "ServiceFailure" 2914// The request processing has failed because of an unknown error, exception 2915// or failure. 2916// 2917// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/DeleteLoginProfile 2918func (c *IAM) DeleteLoginProfile(input *DeleteLoginProfileInput) (*DeleteLoginProfileOutput, error) { 2919 req, out := c.DeleteLoginProfileRequest(input) 2920 return out, req.Send() 2921} 2922 2923// DeleteLoginProfileWithContext is the same as DeleteLoginProfile with the addition of 2924// the ability to pass a context and additional request options. 2925// 2926// See DeleteLoginProfile for details on how to use this API operation. 2927// 2928// The context must be non-nil and will be used for request cancellation. If 2929// the context is nil a panic will occur. In the future the SDK may create 2930// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2931// for more information on using Contexts. 2932func (c *IAM) DeleteLoginProfileWithContext(ctx aws.Context, input *DeleteLoginProfileInput, opts ...request.Option) (*DeleteLoginProfileOutput, error) { 2933 req, out := c.DeleteLoginProfileRequest(input) 2934 req.SetContext(ctx) 2935 req.ApplyOptions(opts...) 2936 return out, req.Send() 2937} 2938 2939const opDeleteOpenIDConnectProvider = "DeleteOpenIDConnectProvider" 2940 2941// DeleteOpenIDConnectProviderRequest generates a "aws/request.Request" representing the 2942// client's request for the DeleteOpenIDConnectProvider operation. The "output" return 2943// value will be populated with the request's response once the request complets 2944// successfuly. 2945// 2946// Use "Send" method on the returned Request to send the API call to the service. 2947// the "output" return value is not valid until after Send returns without error. 2948// 2949// See DeleteOpenIDConnectProvider for more information on using the DeleteOpenIDConnectProvider 2950// API call, and error handling. 2951// 2952// This method is useful when you want to inject custom logic or configuration 2953// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2954// 2955// 2956// // Example sending a request using the DeleteOpenIDConnectProviderRequest method. 2957// req, resp := client.DeleteOpenIDConnectProviderRequest(params) 2958// 2959// err := req.Send() 2960// if err == nil { // resp is now filled 2961// fmt.Println(resp) 2962// } 2963// 2964// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/DeleteOpenIDConnectProvider 2965func (c *IAM) DeleteOpenIDConnectProviderRequest(input *DeleteOpenIDConnectProviderInput) (req *request.Request, output *DeleteOpenIDConnectProviderOutput) { 2966 op := &request.Operation{ 2967 Name: opDeleteOpenIDConnectProvider, 2968 HTTPMethod: "POST", 2969 HTTPPath: "/", 2970 } 2971 2972 if input == nil { 2973 input = &DeleteOpenIDConnectProviderInput{} 2974 } 2975 2976 output = &DeleteOpenIDConnectProviderOutput{} 2977 req = c.newRequest(op, input, output) 2978 req.Handlers.Unmarshal.Remove(query.UnmarshalHandler) 2979 req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) 2980 return 2981} 2982 2983// DeleteOpenIDConnectProvider API operation for AWS Identity and Access Management. 2984// 2985// Deletes an OpenID Connect identity provider (IdP) resource object in IAM. 2986// 2987// Deleting an IAM OIDC provider resource does not update any roles that reference 2988// the provider as a principal in their trust policies. Any attempt to assume 2989// a role that references a deleted provider fails. 2990// 2991// This action is idempotent; it does not fail or return an error if you call 2992// the action for a provider that does not exist. 2993// 2994// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2995// with awserr.Error's Code and Message methods to get detailed information about 2996// the error. 2997// 2998// See the AWS API reference guide for AWS Identity and Access Management's 2999// API operation DeleteOpenIDConnectProvider for usage and error information. 3000// 3001// Returned Error Codes: 3002// * ErrCodeInvalidInputException "InvalidInput" 3003// The request was rejected because an invalid or out-of-range value was supplied 3004// for an input parameter. 3005// 3006// * ErrCodeNoSuchEntityException "NoSuchEntity" 3007// The request was rejected because it referenced an entity that does not exist. 3008// The error message describes the entity. 3009// 3010// * ErrCodeServiceFailureException "ServiceFailure" 3011// The request processing has failed because of an unknown error, exception 3012// or failure. 3013// 3014// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/DeleteOpenIDConnectProvider 3015func (c *IAM) DeleteOpenIDConnectProvider(input *DeleteOpenIDConnectProviderInput) (*DeleteOpenIDConnectProviderOutput, error) { 3016 req, out := c.DeleteOpenIDConnectProviderRequest(input) 3017 return out, req.Send() 3018} 3019 3020// DeleteOpenIDConnectProviderWithContext is the same as DeleteOpenIDConnectProvider with the addition of 3021// the ability to pass a context and additional request options. 3022// 3023// See DeleteOpenIDConnectProvider for details on how to use this API operation. 3024// 3025// The context must be non-nil and will be used for request cancellation. If 3026// the context is nil a panic will occur. In the future the SDK may create 3027// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3028// for more information on using Contexts. 3029func (c *IAM) DeleteOpenIDConnectProviderWithContext(ctx aws.Context, input *DeleteOpenIDConnectProviderInput, opts ...request.Option) (*DeleteOpenIDConnectProviderOutput, error) { 3030 req, out := c.DeleteOpenIDConnectProviderRequest(input) 3031 req.SetContext(ctx) 3032 req.ApplyOptions(opts...) 3033 return out, req.Send() 3034} 3035 3036const opDeletePolicy = "DeletePolicy" 3037 3038// DeletePolicyRequest generates a "aws/request.Request" representing the 3039// client's request for the DeletePolicy operation. The "output" return 3040// value will be populated with the request's response once the request complets 3041// successfuly. 3042// 3043// Use "Send" method on the returned Request to send the API call to the service. 3044// the "output" return value is not valid until after Send returns without error. 3045// 3046// See DeletePolicy for more information on using the DeletePolicy 3047// API call, and error handling. 3048// 3049// This method is useful when you want to inject custom logic or configuration 3050// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3051// 3052// 3053// // Example sending a request using the DeletePolicyRequest method. 3054// req, resp := client.DeletePolicyRequest(params) 3055// 3056// err := req.Send() 3057// if err == nil { // resp is now filled 3058// fmt.Println(resp) 3059// } 3060// 3061// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/DeletePolicy 3062func (c *IAM) DeletePolicyRequest(input *DeletePolicyInput) (req *request.Request, output *DeletePolicyOutput) { 3063 op := &request.Operation{ 3064 Name: opDeletePolicy, 3065 HTTPMethod: "POST", 3066 HTTPPath: "/", 3067 } 3068 3069 if input == nil { 3070 input = &DeletePolicyInput{} 3071 } 3072 3073 output = &DeletePolicyOutput{} 3074 req = c.newRequest(op, input, output) 3075 req.Handlers.Unmarshal.Remove(query.UnmarshalHandler) 3076 req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) 3077 return 3078} 3079 3080// DeletePolicy API operation for AWS Identity and Access Management. 3081// 3082// Deletes the specified managed policy. 3083// 3084// Before you can delete a managed policy, you must first detach the policy 3085// from all users, groups, and roles that it is attached to, and you must delete 3086// all of the policy's versions. The following steps describe the process for 3087// deleting a managed policy: 3088// 3089// * Detach the policy from all users, groups, and roles that the policy 3090// is attached to, using the DetachUserPolicy, DetachGroupPolicy, or DetachRolePolicy 3091// APIs. To list all the users, groups, and roles that a policy is attached 3092// to, use ListEntitiesForPolicy. 3093// 3094// * Delete all versions of the policy using DeletePolicyVersion. To list 3095// the policy's versions, use ListPolicyVersions. You cannot use DeletePolicyVersion 3096// to delete the version that is marked as the default version. You delete 3097// the policy's default version in the next step of the process. 3098// 3099// * Delete the policy (this automatically deletes the policy's default version) 3100// using this API. 3101// 3102// For information about managed policies, see Managed Policies and Inline Policies 3103// (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html) 3104// in the IAM User Guide. 3105// 3106// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3107// with awserr.Error's Code and Message methods to get detailed information about 3108// the error. 3109// 3110// See the AWS API reference guide for AWS Identity and Access Management's 3111// API operation DeletePolicy for usage and error information. 3112// 3113// Returned Error Codes: 3114// * ErrCodeNoSuchEntityException "NoSuchEntity" 3115// The request was rejected because it referenced an entity that does not exist. 3116// The error message describes the entity. 3117// 3118// * ErrCodeLimitExceededException "LimitExceeded" 3119// The request was rejected because it attempted to create resources beyond 3120// the current AWS account limits. The error message describes the limit exceeded. 3121// 3122// * ErrCodeInvalidInputException "InvalidInput" 3123// The request was rejected because an invalid or out-of-range value was supplied 3124// for an input parameter. 3125// 3126// * ErrCodeDeleteConflictException "DeleteConflict" 3127// The request was rejected because it attempted to delete a resource that has 3128// attached subordinate entities. The error message describes these entities. 3129// 3130// * ErrCodeServiceFailureException "ServiceFailure" 3131// The request processing has failed because of an unknown error, exception 3132// or failure. 3133// 3134// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/DeletePolicy 3135func (c *IAM) DeletePolicy(input *DeletePolicyInput) (*DeletePolicyOutput, error) { 3136 req, out := c.DeletePolicyRequest(input) 3137 return out, req.Send() 3138} 3139 3140// DeletePolicyWithContext is the same as DeletePolicy with the addition of 3141// the ability to pass a context and additional request options. 3142// 3143// See DeletePolicy for details on how to use this API operation. 3144// 3145// The context must be non-nil and will be used for request cancellation. If 3146// the context is nil a panic will occur. In the future the SDK may create 3147// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3148// for more information on using Contexts. 3149func (c *IAM) DeletePolicyWithContext(ctx aws.Context, input *DeletePolicyInput, opts ...request.Option) (*DeletePolicyOutput, error) { 3150 req, out := c.DeletePolicyRequest(input) 3151 req.SetContext(ctx) 3152 req.ApplyOptions(opts...) 3153 return out, req.Send() 3154} 3155 3156const opDeletePolicyVersion = "DeletePolicyVersion" 3157 3158// DeletePolicyVersionRequest generates a "aws/request.Request" representing the 3159// client's request for the DeletePolicyVersion operation. The "output" return 3160// value will be populated with the request's response once the request complets 3161// successfuly. 3162// 3163// Use "Send" method on the returned Request to send the API call to the service. 3164// the "output" return value is not valid until after Send returns without error. 3165// 3166// See DeletePolicyVersion for more information on using the DeletePolicyVersion 3167// API call, and error handling. 3168// 3169// This method is useful when you want to inject custom logic or configuration 3170// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3171// 3172// 3173// // Example sending a request using the DeletePolicyVersionRequest method. 3174// req, resp := client.DeletePolicyVersionRequest(params) 3175// 3176// err := req.Send() 3177// if err == nil { // resp is now filled 3178// fmt.Println(resp) 3179// } 3180// 3181// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/DeletePolicyVersion 3182func (c *IAM) DeletePolicyVersionRequest(input *DeletePolicyVersionInput) (req *request.Request, output *DeletePolicyVersionOutput) { 3183 op := &request.Operation{ 3184 Name: opDeletePolicyVersion, 3185 HTTPMethod: "POST", 3186 HTTPPath: "/", 3187 } 3188 3189 if input == nil { 3190 input = &DeletePolicyVersionInput{} 3191 } 3192 3193 output = &DeletePolicyVersionOutput{} 3194 req = c.newRequest(op, input, output) 3195 req.Handlers.Unmarshal.Remove(query.UnmarshalHandler) 3196 req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) 3197 return 3198} 3199 3200// DeletePolicyVersion API operation for AWS Identity and Access Management. 3201// 3202// Deletes the specified version from the specified managed policy. 3203// 3204// You cannot delete the default version from a policy using this API. To delete 3205// the default version from a policy, use DeletePolicy. To find out which version 3206// of a policy is marked as the default version, use ListPolicyVersions. 3207// 3208// For information about versions for managed policies, see Versioning for Managed 3209// Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-versions.html) 3210// in the IAM User Guide. 3211// 3212// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3213// with awserr.Error's Code and Message methods to get detailed information about 3214// the error. 3215// 3216// See the AWS API reference guide for AWS Identity and Access Management's 3217// API operation DeletePolicyVersion for usage and error information. 3218// 3219// Returned Error Codes: 3220// * ErrCodeNoSuchEntityException "NoSuchEntity" 3221// The request was rejected because it referenced an entity that does not exist. 3222// The error message describes the entity. 3223// 3224// * ErrCodeLimitExceededException "LimitExceeded" 3225// The request was rejected because it attempted to create resources beyond 3226// the current AWS account limits. The error message describes the limit exceeded. 3227// 3228// * ErrCodeInvalidInputException "InvalidInput" 3229// The request was rejected because an invalid or out-of-range value was supplied 3230// for an input parameter. 3231// 3232// * ErrCodeDeleteConflictException "DeleteConflict" 3233// The request was rejected because it attempted to delete a resource that has 3234// attached subordinate entities. The error message describes these entities. 3235// 3236// * ErrCodeServiceFailureException "ServiceFailure" 3237// The request processing has failed because of an unknown error, exception 3238// or failure. 3239// 3240// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/DeletePolicyVersion 3241func (c *IAM) DeletePolicyVersion(input *DeletePolicyVersionInput) (*DeletePolicyVersionOutput, error) { 3242 req, out := c.DeletePolicyVersionRequest(input) 3243 return out, req.Send() 3244} 3245 3246// DeletePolicyVersionWithContext is the same as DeletePolicyVersion with the addition of 3247// the ability to pass a context and additional request options. 3248// 3249// See DeletePolicyVersion for details on how to use this API operation. 3250// 3251// The context must be non-nil and will be used for request cancellation. If 3252// the context is nil a panic will occur. In the future the SDK may create 3253// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3254// for more information on using Contexts. 3255func (c *IAM) DeletePolicyVersionWithContext(ctx aws.Context, input *DeletePolicyVersionInput, opts ...request.Option) (*DeletePolicyVersionOutput, error) { 3256 req, out := c.DeletePolicyVersionRequest(input) 3257 req.SetContext(ctx) 3258 req.ApplyOptions(opts...) 3259 return out, req.Send() 3260} 3261 3262const opDeleteRole = "DeleteRole" 3263 3264// DeleteRoleRequest generates a "aws/request.Request" representing the 3265// client's request for the DeleteRole operation. The "output" return 3266// value will be populated with the request's response once the request complets 3267// successfuly. 3268// 3269// Use "Send" method on the returned Request to send the API call to the service. 3270// the "output" return value is not valid until after Send returns without error. 3271// 3272// See DeleteRole for more information on using the DeleteRole 3273// API call, and error handling. 3274// 3275// This method is useful when you want to inject custom logic or configuration 3276// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3277// 3278// 3279// // Example sending a request using the DeleteRoleRequest method. 3280// req, resp := client.DeleteRoleRequest(params) 3281// 3282// err := req.Send() 3283// if err == nil { // resp is now filled 3284// fmt.Println(resp) 3285// } 3286// 3287// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/DeleteRole 3288func (c *IAM) DeleteRoleRequest(input *DeleteRoleInput) (req *request.Request, output *DeleteRoleOutput) { 3289 op := &request.Operation{ 3290 Name: opDeleteRole, 3291 HTTPMethod: "POST", 3292 HTTPPath: "/", 3293 } 3294 3295 if input == nil { 3296 input = &DeleteRoleInput{} 3297 } 3298 3299 output = &DeleteRoleOutput{} 3300 req = c.newRequest(op, input, output) 3301 req.Handlers.Unmarshal.Remove(query.UnmarshalHandler) 3302 req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) 3303 return 3304} 3305 3306// DeleteRole API operation for AWS Identity and Access Management. 3307// 3308// Deletes the specified role. The role must not have any policies attached. 3309// For more information about roles, go to Working with Roles (http://docs.aws.amazon.com/IAM/latest/UserGuide/WorkingWithRoles.html). 3310// 3311// Make sure you do not have any Amazon EC2 instances running with the role 3312// you are about to delete. Deleting a role or instance profile that is associated 3313// with a running instance will break any applications running on the instance. 3314// 3315// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3316// with awserr.Error's Code and Message methods to get detailed information about 3317// the error. 3318// 3319// See the AWS API reference guide for AWS Identity and Access Management's 3320// API operation DeleteRole for usage and error information. 3321// 3322// Returned Error Codes: 3323// * ErrCodeNoSuchEntityException "NoSuchEntity" 3324// The request was rejected because it referenced an entity that does not exist. 3325// The error message describes the entity. 3326// 3327// * ErrCodeDeleteConflictException "DeleteConflict" 3328// The request was rejected because it attempted to delete a resource that has 3329// attached subordinate entities. The error message describes these entities. 3330// 3331// * ErrCodeLimitExceededException "LimitExceeded" 3332// The request was rejected because it attempted to create resources beyond 3333// the current AWS account limits. The error message describes the limit exceeded. 3334// 3335// * ErrCodeUnmodifiableEntityException "UnmodifiableEntity" 3336// The request was rejected because only the service that depends on the service-linked 3337// role can modify or delete the role on your behalf. The error message includes 3338// the name of the service that depends on this service-linked role. You must 3339// request the change through that service. 3340// 3341// * ErrCodeServiceFailureException "ServiceFailure" 3342// The request processing has failed because of an unknown error, exception 3343// or failure. 3344// 3345// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/DeleteRole 3346func (c *IAM) DeleteRole(input *DeleteRoleInput) (*DeleteRoleOutput, error) { 3347 req, out := c.DeleteRoleRequest(input) 3348 return out, req.Send() 3349} 3350 3351// DeleteRoleWithContext is the same as DeleteRole with the addition of 3352// the ability to pass a context and additional request options. 3353// 3354// See DeleteRole for details on how to use this API operation. 3355// 3356// The context must be non-nil and will be used for request cancellation. If 3357// the context is nil a panic will occur. In the future the SDK may create 3358// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3359// for more information on using Contexts. 3360func (c *IAM) DeleteRoleWithContext(ctx aws.Context, input *DeleteRoleInput, opts ...request.Option) (*DeleteRoleOutput, error) { 3361 req, out := c.DeleteRoleRequest(input) 3362 req.SetContext(ctx) 3363 req.ApplyOptions(opts...) 3364 return out, req.Send() 3365} 3366 3367const opDeleteRolePolicy = "DeleteRolePolicy" 3368 3369// DeleteRolePolicyRequest generates a "aws/request.Request" representing the 3370// client's request for the DeleteRolePolicy operation. The "output" return 3371// value will be populated with the request's response once the request complets 3372// successfuly. 3373// 3374// Use "Send" method on the returned Request to send the API call to the service. 3375// the "output" return value is not valid until after Send returns without error. 3376// 3377// See DeleteRolePolicy for more information on using the DeleteRolePolicy 3378// API call, and error handling. 3379// 3380// This method is useful when you want to inject custom logic or configuration 3381// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3382// 3383// 3384// // Example sending a request using the DeleteRolePolicyRequest method. 3385// req, resp := client.DeleteRolePolicyRequest(params) 3386// 3387// err := req.Send() 3388// if err == nil { // resp is now filled 3389// fmt.Println(resp) 3390// } 3391// 3392// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/DeleteRolePolicy 3393func (c *IAM) DeleteRolePolicyRequest(input *DeleteRolePolicyInput) (req *request.Request, output *DeleteRolePolicyOutput) { 3394 op := &request.Operation{ 3395 Name: opDeleteRolePolicy, 3396 HTTPMethod: "POST", 3397 HTTPPath: "/", 3398 } 3399 3400 if input == nil { 3401 input = &DeleteRolePolicyInput{} 3402 } 3403 3404 output = &DeleteRolePolicyOutput{} 3405 req = c.newRequest(op, input, output) 3406 req.Handlers.Unmarshal.Remove(query.UnmarshalHandler) 3407 req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) 3408 return 3409} 3410 3411// DeleteRolePolicy API operation for AWS Identity and Access Management. 3412// 3413// Deletes the specified inline policy that is embedded in the specified IAM 3414// role. 3415// 3416// A role can also have managed policies attached to it. To detach a managed 3417// policy from a role, use DetachRolePolicy. For more information about policies, 3418// refer to Managed Policies and Inline Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html) 3419// in the IAM User Guide. 3420// 3421// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3422// with awserr.Error's Code and Message methods to get detailed information about 3423// the error. 3424// 3425// See the AWS API reference guide for AWS Identity and Access Management's 3426// API operation DeleteRolePolicy for usage and error information. 3427// 3428// Returned Error Codes: 3429// * ErrCodeNoSuchEntityException "NoSuchEntity" 3430// The request was rejected because it referenced an entity that does not exist. 3431// The error message describes the entity. 3432// 3433// * ErrCodeLimitExceededException "LimitExceeded" 3434// The request was rejected because it attempted to create resources beyond 3435// the current AWS account limits. The error message describes the limit exceeded. 3436// 3437// * ErrCodeUnmodifiableEntityException "UnmodifiableEntity" 3438// The request was rejected because only the service that depends on the service-linked 3439// role can modify or delete the role on your behalf. The error message includes 3440// the name of the service that depends on this service-linked role. You must 3441// request the change through that service. 3442// 3443// * ErrCodeServiceFailureException "ServiceFailure" 3444// The request processing has failed because of an unknown error, exception 3445// or failure. 3446// 3447// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/DeleteRolePolicy 3448func (c *IAM) DeleteRolePolicy(input *DeleteRolePolicyInput) (*DeleteRolePolicyOutput, error) { 3449 req, out := c.DeleteRolePolicyRequest(input) 3450 return out, req.Send() 3451} 3452 3453// DeleteRolePolicyWithContext is the same as DeleteRolePolicy with the addition of 3454// the ability to pass a context and additional request options. 3455// 3456// See DeleteRolePolicy for details on how to use this API operation. 3457// 3458// The context must be non-nil and will be used for request cancellation. If 3459// the context is nil a panic will occur. In the future the SDK may create 3460// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3461// for more information on using Contexts. 3462func (c *IAM) DeleteRolePolicyWithContext(ctx aws.Context, input *DeleteRolePolicyInput, opts ...request.Option) (*DeleteRolePolicyOutput, error) { 3463 req, out := c.DeleteRolePolicyRequest(input) 3464 req.SetContext(ctx) 3465 req.ApplyOptions(opts...) 3466 return out, req.Send() 3467} 3468 3469const opDeleteSAMLProvider = "DeleteSAMLProvider" 3470 3471// DeleteSAMLProviderRequest generates a "aws/request.Request" representing the 3472// client's request for the DeleteSAMLProvider operation. The "output" return 3473// value will be populated with the request's response once the request complets 3474// successfuly. 3475// 3476// Use "Send" method on the returned Request to send the API call to the service. 3477// the "output" return value is not valid until after Send returns without error. 3478// 3479// See DeleteSAMLProvider for more information on using the DeleteSAMLProvider 3480// API call, and error handling. 3481// 3482// This method is useful when you want to inject custom logic or configuration 3483// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3484// 3485// 3486// // Example sending a request using the DeleteSAMLProviderRequest method. 3487// req, resp := client.DeleteSAMLProviderRequest(params) 3488// 3489// err := req.Send() 3490// if err == nil { // resp is now filled 3491// fmt.Println(resp) 3492// } 3493// 3494// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/DeleteSAMLProvider 3495func (c *IAM) DeleteSAMLProviderRequest(input *DeleteSAMLProviderInput) (req *request.Request, output *DeleteSAMLProviderOutput) { 3496 op := &request.Operation{ 3497 Name: opDeleteSAMLProvider, 3498 HTTPMethod: "POST", 3499 HTTPPath: "/", 3500 } 3501 3502 if input == nil { 3503 input = &DeleteSAMLProviderInput{} 3504 } 3505 3506 output = &DeleteSAMLProviderOutput{} 3507 req = c.newRequest(op, input, output) 3508 req.Handlers.Unmarshal.Remove(query.UnmarshalHandler) 3509 req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) 3510 return 3511} 3512 3513// DeleteSAMLProvider API operation for AWS Identity and Access Management. 3514// 3515// Deletes a SAML provider resource in IAM. 3516// 3517// Deleting the provider resource from IAM does not update any roles that reference 3518// the SAML provider resource's ARN as a principal in their trust policies. 3519// Any attempt to assume a role that references a non-existent provider resource 3520// ARN fails. 3521// 3522// This operation requires Signature Version 4 (http://docs.aws.amazon.com/general/latest/gr/signature-version-4.html). 3523// 3524// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3525// with awserr.Error's Code and Message methods to get detailed information about 3526// the error. 3527// 3528// See the AWS API reference guide for AWS Identity and Access Management's 3529// API operation DeleteSAMLProvider for usage and error information. 3530// 3531// Returned Error Codes: 3532// * ErrCodeInvalidInputException "InvalidInput" 3533// The request was rejected because an invalid or out-of-range value was supplied 3534// for an input parameter. 3535// 3536// * ErrCodeLimitExceededException "LimitExceeded" 3537// The request was rejected because it attempted to create resources beyond 3538// the current AWS account limits. The error message describes the limit exceeded. 3539// 3540// * ErrCodeNoSuchEntityException "NoSuchEntity" 3541// The request was rejected because it referenced an entity that does not exist. 3542// The error message describes the entity. 3543// 3544// * ErrCodeServiceFailureException "ServiceFailure" 3545// The request processing has failed because of an unknown error, exception 3546// or failure. 3547// 3548// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/DeleteSAMLProvider 3549func (c *IAM) DeleteSAMLProvider(input *DeleteSAMLProviderInput) (*DeleteSAMLProviderOutput, error) { 3550 req, out := c.DeleteSAMLProviderRequest(input) 3551 return out, req.Send() 3552} 3553 3554// DeleteSAMLProviderWithContext is the same as DeleteSAMLProvider with the addition of 3555// the ability to pass a context and additional request options. 3556// 3557// See DeleteSAMLProvider for details on how to use this API operation. 3558// 3559// The context must be non-nil and will be used for request cancellation. If 3560// the context is nil a panic will occur. In the future the SDK may create 3561// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3562// for more information on using Contexts. 3563func (c *IAM) DeleteSAMLProviderWithContext(ctx aws.Context, input *DeleteSAMLProviderInput, opts ...request.Option) (*DeleteSAMLProviderOutput, error) { 3564 req, out := c.DeleteSAMLProviderRequest(input) 3565 req.SetContext(ctx) 3566 req.ApplyOptions(opts...) 3567 return out, req.Send() 3568} 3569 3570const opDeleteSSHPublicKey = "DeleteSSHPublicKey" 3571 3572// DeleteSSHPublicKeyRequest generates a "aws/request.Request" representing the 3573// client's request for the DeleteSSHPublicKey operation. The "output" return 3574// value will be populated with the request's response once the request complets 3575// successfuly. 3576// 3577// Use "Send" method on the returned Request to send the API call to the service. 3578// the "output" return value is not valid until after Send returns without error. 3579// 3580// See DeleteSSHPublicKey for more information on using the DeleteSSHPublicKey 3581// API call, and error handling. 3582// 3583// This method is useful when you want to inject custom logic or configuration 3584// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3585// 3586// 3587// // Example sending a request using the DeleteSSHPublicKeyRequest method. 3588// req, resp := client.DeleteSSHPublicKeyRequest(params) 3589// 3590// err := req.Send() 3591// if err == nil { // resp is now filled 3592// fmt.Println(resp) 3593// } 3594// 3595// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/DeleteSSHPublicKey 3596func (c *IAM) DeleteSSHPublicKeyRequest(input *DeleteSSHPublicKeyInput) (req *request.Request, output *DeleteSSHPublicKeyOutput) { 3597 op := &request.Operation{ 3598 Name: opDeleteSSHPublicKey, 3599 HTTPMethod: "POST", 3600 HTTPPath: "/", 3601 } 3602 3603 if input == nil { 3604 input = &DeleteSSHPublicKeyInput{} 3605 } 3606 3607 output = &DeleteSSHPublicKeyOutput{} 3608 req = c.newRequest(op, input, output) 3609 req.Handlers.Unmarshal.Remove(query.UnmarshalHandler) 3610 req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) 3611 return 3612} 3613 3614// DeleteSSHPublicKey API operation for AWS Identity and Access Management. 3615// 3616// Deletes the specified SSH public key. 3617// 3618// The SSH public key deleted by this action is used only for authenticating 3619// the associated IAM user to an AWS CodeCommit repository. For more information 3620// about using SSH keys to authenticate to an AWS CodeCommit repository, see 3621// Set up AWS CodeCommit for SSH Connections (http://docs.aws.amazon.com/codecommit/latest/userguide/setting-up-credentials-ssh.html) 3622// in the AWS CodeCommit User Guide. 3623// 3624// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3625// with awserr.Error's Code and Message methods to get detailed information about 3626// the error. 3627// 3628// See the AWS API reference guide for AWS Identity and Access Management's 3629// API operation DeleteSSHPublicKey for usage and error information. 3630// 3631// Returned Error Codes: 3632// * ErrCodeNoSuchEntityException "NoSuchEntity" 3633// The request was rejected because it referenced an entity that does not exist. 3634// The error message describes the entity. 3635// 3636// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/DeleteSSHPublicKey 3637func (c *IAM) DeleteSSHPublicKey(input *DeleteSSHPublicKeyInput) (*DeleteSSHPublicKeyOutput, error) { 3638 req, out := c.DeleteSSHPublicKeyRequest(input) 3639 return out, req.Send() 3640} 3641 3642// DeleteSSHPublicKeyWithContext is the same as DeleteSSHPublicKey with the addition of 3643// the ability to pass a context and additional request options. 3644// 3645// See DeleteSSHPublicKey for details on how to use this API operation. 3646// 3647// The context must be non-nil and will be used for request cancellation. If 3648// the context is nil a panic will occur. In the future the SDK may create 3649// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3650// for more information on using Contexts. 3651func (c *IAM) DeleteSSHPublicKeyWithContext(ctx aws.Context, input *DeleteSSHPublicKeyInput, opts ...request.Option) (*DeleteSSHPublicKeyOutput, error) { 3652 req, out := c.DeleteSSHPublicKeyRequest(input) 3653 req.SetContext(ctx) 3654 req.ApplyOptions(opts...) 3655 return out, req.Send() 3656} 3657 3658const opDeleteServerCertificate = "DeleteServerCertificate" 3659 3660// DeleteServerCertificateRequest generates a "aws/request.Request" representing the 3661// client's request for the DeleteServerCertificate operation. The "output" return 3662// value will be populated with the request's response once the request complets 3663// successfuly. 3664// 3665// Use "Send" method on the returned Request to send the API call to the service. 3666// the "output" return value is not valid until after Send returns without error. 3667// 3668// See DeleteServerCertificate for more information on using the DeleteServerCertificate 3669// API call, and error handling. 3670// 3671// This method is useful when you want to inject custom logic or configuration 3672// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3673// 3674// 3675// // Example sending a request using the DeleteServerCertificateRequest method. 3676// req, resp := client.DeleteServerCertificateRequest(params) 3677// 3678// err := req.Send() 3679// if err == nil { // resp is now filled 3680// fmt.Println(resp) 3681// } 3682// 3683// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/DeleteServerCertificate 3684func (c *IAM) DeleteServerCertificateRequest(input *DeleteServerCertificateInput) (req *request.Request, output *DeleteServerCertificateOutput) { 3685 op := &request.Operation{ 3686 Name: opDeleteServerCertificate, 3687 HTTPMethod: "POST", 3688 HTTPPath: "/", 3689 } 3690 3691 if input == nil { 3692 input = &DeleteServerCertificateInput{} 3693 } 3694 3695 output = &DeleteServerCertificateOutput{} 3696 req = c.newRequest(op, input, output) 3697 req.Handlers.Unmarshal.Remove(query.UnmarshalHandler) 3698 req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) 3699 return 3700} 3701 3702// DeleteServerCertificate API operation for AWS Identity and Access Management. 3703// 3704// Deletes the specified server certificate. 3705// 3706// For more information about working with server certificates, including a 3707// list of AWS services that can use the server certificates that you manage 3708// with IAM, go to Working with Server Certificates (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_server-certs.html) 3709// in the IAM User Guide. 3710// 3711// If you are using a server certificate with Elastic Load Balancing, deleting 3712// the certificate could have implications for your application. If Elastic 3713// Load Balancing doesn't detect the deletion of bound certificates, it may 3714// continue to use the certificates. This could cause Elastic Load Balancing 3715// to stop accepting traffic. We recommend that you remove the reference to 3716// the certificate from Elastic Load Balancing before using this command to 3717// delete the certificate. For more information, go to DeleteLoadBalancerListeners 3718// (http://docs.aws.amazon.com/ElasticLoadBalancing/latest/APIReference/API_DeleteLoadBalancerListeners.html) 3719// in the Elastic Load Balancing API Reference. 3720// 3721// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3722// with awserr.Error's Code and Message methods to get detailed information about 3723// the error. 3724// 3725// See the AWS API reference guide for AWS Identity and Access Management's 3726// API operation DeleteServerCertificate for usage and error information. 3727// 3728// Returned Error Codes: 3729// * ErrCodeNoSuchEntityException "NoSuchEntity" 3730// The request was rejected because it referenced an entity that does not exist. 3731// The error message describes the entity. 3732// 3733// * ErrCodeDeleteConflictException "DeleteConflict" 3734// The request was rejected because it attempted to delete a resource that has 3735// attached subordinate entities. The error message describes these entities. 3736// 3737// * ErrCodeLimitExceededException "LimitExceeded" 3738// The request was rejected because it attempted to create resources beyond 3739// the current AWS account limits. The error message describes the limit exceeded. 3740// 3741// * ErrCodeServiceFailureException "ServiceFailure" 3742// The request processing has failed because of an unknown error, exception 3743// or failure. 3744// 3745// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/DeleteServerCertificate 3746func (c *IAM) DeleteServerCertificate(input *DeleteServerCertificateInput) (*DeleteServerCertificateOutput, error) { 3747 req, out := c.DeleteServerCertificateRequest(input) 3748 return out, req.Send() 3749} 3750 3751// DeleteServerCertificateWithContext is the same as DeleteServerCertificate with the addition of 3752// the ability to pass a context and additional request options. 3753// 3754// See DeleteServerCertificate for details on how to use this API operation. 3755// 3756// The context must be non-nil and will be used for request cancellation. If 3757// the context is nil a panic will occur. In the future the SDK may create 3758// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3759// for more information on using Contexts. 3760func (c *IAM) DeleteServerCertificateWithContext(ctx aws.Context, input *DeleteServerCertificateInput, opts ...request.Option) (*DeleteServerCertificateOutput, error) { 3761 req, out := c.DeleteServerCertificateRequest(input) 3762 req.SetContext(ctx) 3763 req.ApplyOptions(opts...) 3764 return out, req.Send() 3765} 3766 3767const opDeleteServiceLinkedRole = "DeleteServiceLinkedRole" 3768 3769// DeleteServiceLinkedRoleRequest generates a "aws/request.Request" representing the 3770// client's request for the DeleteServiceLinkedRole operation. The "output" return 3771// value will be populated with the request's response once the request complets 3772// successfuly. 3773// 3774// Use "Send" method on the returned Request to send the API call to the service. 3775// the "output" return value is not valid until after Send returns without error. 3776// 3777// See DeleteServiceLinkedRole for more information on using the DeleteServiceLinkedRole 3778// API call, and error handling. 3779// 3780// This method is useful when you want to inject custom logic or configuration 3781// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3782// 3783// 3784// // Example sending a request using the DeleteServiceLinkedRoleRequest method. 3785// req, resp := client.DeleteServiceLinkedRoleRequest(params) 3786// 3787// err := req.Send() 3788// if err == nil { // resp is now filled 3789// fmt.Println(resp) 3790// } 3791// 3792// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/DeleteServiceLinkedRole 3793func (c *IAM) DeleteServiceLinkedRoleRequest(input *DeleteServiceLinkedRoleInput) (req *request.Request, output *DeleteServiceLinkedRoleOutput) { 3794 op := &request.Operation{ 3795 Name: opDeleteServiceLinkedRole, 3796 HTTPMethod: "POST", 3797 HTTPPath: "/", 3798 } 3799 3800 if input == nil { 3801 input = &DeleteServiceLinkedRoleInput{} 3802 } 3803 3804 output = &DeleteServiceLinkedRoleOutput{} 3805 req = c.newRequest(op, input, output) 3806 return 3807} 3808 3809// DeleteServiceLinkedRole API operation for AWS Identity and Access Management. 3810// 3811// Submits a service-linked role deletion request and returns a DeletionTaskId, 3812// which you can use to check the status of the deletion. Before you call this 3813// operation, confirm that the role has no active sessions and that any resources 3814// used by the role in the linked service are deleted. If you call this operation 3815// more than once for the same service-linked role and an earlier deletion task 3816// is not complete, then the DeletionTaskId of the earlier request is returned. 3817// 3818// If you submit a deletion request for a service-linked role whose linked service 3819// is still accessing a resource, then the deletion task fails. If it fails, 3820// the GetServiceLinkedRoleDeletionStatus API operation returns the reason for 3821// the failure, including the resources that must be deleted. To delete the 3822// service-linked role, you must first remove those resources from the linked 3823// service and then submit the deletion request again. Resources are specific 3824// to the service that is linked to the role. For more information about removing 3825// resources from a service, see the AWS documentation (http://docs.aws.amazon.com/) 3826// for your service. 3827// 3828// For more information about service-linked roles, see Roles Terms and Concepts: 3829// AWS Service-Linked Role (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#iam-term-service-linked-role) 3830// in the IAM User Guide. 3831// 3832// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3833// with awserr.Error's Code and Message methods to get detailed information about 3834// the error. 3835// 3836// See the AWS API reference guide for AWS Identity and Access Management's 3837// API operation DeleteServiceLinkedRole for usage and error information. 3838// 3839// Returned Error Codes: 3840// * ErrCodeNoSuchEntityException "NoSuchEntity" 3841// The request was rejected because it referenced an entity that does not exist. 3842// The error message describes the entity. 3843// 3844// * ErrCodeLimitExceededException "LimitExceeded" 3845// The request was rejected because it attempted to create resources beyond 3846// the current AWS account limits. The error message describes the limit exceeded. 3847// 3848// * ErrCodeServiceFailureException "ServiceFailure" 3849// The request processing has failed because of an unknown error, exception 3850// or failure. 3851// 3852// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/DeleteServiceLinkedRole 3853func (c *IAM) DeleteServiceLinkedRole(input *DeleteServiceLinkedRoleInput) (*DeleteServiceLinkedRoleOutput, error) { 3854 req, out := c.DeleteServiceLinkedRoleRequest(input) 3855 return out, req.Send() 3856} 3857 3858// DeleteServiceLinkedRoleWithContext is the same as DeleteServiceLinkedRole with the addition of 3859// the ability to pass a context and additional request options. 3860// 3861// See DeleteServiceLinkedRole for details on how to use this API operation. 3862// 3863// The context must be non-nil and will be used for request cancellation. If 3864// the context is nil a panic will occur. In the future the SDK may create 3865// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3866// for more information on using Contexts. 3867func (c *IAM) DeleteServiceLinkedRoleWithContext(ctx aws.Context, input *DeleteServiceLinkedRoleInput, opts ...request.Option) (*DeleteServiceLinkedRoleOutput, error) { 3868 req, out := c.DeleteServiceLinkedRoleRequest(input) 3869 req.SetContext(ctx) 3870 req.ApplyOptions(opts...) 3871 return out, req.Send() 3872} 3873 3874const opDeleteServiceSpecificCredential = "DeleteServiceSpecificCredential" 3875 3876// DeleteServiceSpecificCredentialRequest generates a "aws/request.Request" representing the 3877// client's request for the DeleteServiceSpecificCredential operation. The "output" return 3878// value will be populated with the request's response once the request complets 3879// successfuly. 3880// 3881// Use "Send" method on the returned Request to send the API call to the service. 3882// the "output" return value is not valid until after Send returns without error. 3883// 3884// See DeleteServiceSpecificCredential for more information on using the DeleteServiceSpecificCredential 3885// API call, and error handling. 3886// 3887// This method is useful when you want to inject custom logic or configuration 3888// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3889// 3890// 3891// // Example sending a request using the DeleteServiceSpecificCredentialRequest method. 3892// req, resp := client.DeleteServiceSpecificCredentialRequest(params) 3893// 3894// err := req.Send() 3895// if err == nil { // resp is now filled 3896// fmt.Println(resp) 3897// } 3898// 3899// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/DeleteServiceSpecificCredential 3900func (c *IAM) DeleteServiceSpecificCredentialRequest(input *DeleteServiceSpecificCredentialInput) (req *request.Request, output *DeleteServiceSpecificCredentialOutput) { 3901 op := &request.Operation{ 3902 Name: opDeleteServiceSpecificCredential, 3903 HTTPMethod: "POST", 3904 HTTPPath: "/", 3905 } 3906 3907 if input == nil { 3908 input = &DeleteServiceSpecificCredentialInput{} 3909 } 3910 3911 output = &DeleteServiceSpecificCredentialOutput{} 3912 req = c.newRequest(op, input, output) 3913 req.Handlers.Unmarshal.Remove(query.UnmarshalHandler) 3914 req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) 3915 return 3916} 3917 3918// DeleteServiceSpecificCredential API operation for AWS Identity and Access Management. 3919// 3920// Deletes the specified service-specific credential. 3921// 3922// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3923// with awserr.Error's Code and Message methods to get detailed information about 3924// the error. 3925// 3926// See the AWS API reference guide for AWS Identity and Access Management's 3927// API operation DeleteServiceSpecificCredential for usage and error information. 3928// 3929// Returned Error Codes: 3930// * ErrCodeNoSuchEntityException "NoSuchEntity" 3931// The request was rejected because it referenced an entity that does not exist. 3932// The error message describes the entity. 3933// 3934// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/DeleteServiceSpecificCredential 3935func (c *IAM) DeleteServiceSpecificCredential(input *DeleteServiceSpecificCredentialInput) (*DeleteServiceSpecificCredentialOutput, error) { 3936 req, out := c.DeleteServiceSpecificCredentialRequest(input) 3937 return out, req.Send() 3938} 3939 3940// DeleteServiceSpecificCredentialWithContext is the same as DeleteServiceSpecificCredential with the addition of 3941// the ability to pass a context and additional request options. 3942// 3943// See DeleteServiceSpecificCredential for details on how to use this API operation. 3944// 3945// The context must be non-nil and will be used for request cancellation. If 3946// the context is nil a panic will occur. In the future the SDK may create 3947// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3948// for more information on using Contexts. 3949func (c *IAM) DeleteServiceSpecificCredentialWithContext(ctx aws.Context, input *DeleteServiceSpecificCredentialInput, opts ...request.Option) (*DeleteServiceSpecificCredentialOutput, error) { 3950 req, out := c.DeleteServiceSpecificCredentialRequest(input) 3951 req.SetContext(ctx) 3952 req.ApplyOptions(opts...) 3953 return out, req.Send() 3954} 3955 3956const opDeleteSigningCertificate = "DeleteSigningCertificate" 3957 3958// DeleteSigningCertificateRequest generates a "aws/request.Request" representing the 3959// client's request for the DeleteSigningCertificate operation. The "output" return 3960// value will be populated with the request's response once the request complets 3961// successfuly. 3962// 3963// Use "Send" method on the returned Request to send the API call to the service. 3964// the "output" return value is not valid until after Send returns without error. 3965// 3966// See DeleteSigningCertificate for more information on using the DeleteSigningCertificate 3967// API call, and error handling. 3968// 3969// This method is useful when you want to inject custom logic or configuration 3970// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3971// 3972// 3973// // Example sending a request using the DeleteSigningCertificateRequest method. 3974// req, resp := client.DeleteSigningCertificateRequest(params) 3975// 3976// err := req.Send() 3977// if err == nil { // resp is now filled 3978// fmt.Println(resp) 3979// } 3980// 3981// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/DeleteSigningCertificate 3982func (c *IAM) DeleteSigningCertificateRequest(input *DeleteSigningCertificateInput) (req *request.Request, output *DeleteSigningCertificateOutput) { 3983 op := &request.Operation{ 3984 Name: opDeleteSigningCertificate, 3985 HTTPMethod: "POST", 3986 HTTPPath: "/", 3987 } 3988 3989 if input == nil { 3990 input = &DeleteSigningCertificateInput{} 3991 } 3992 3993 output = &DeleteSigningCertificateOutput{} 3994 req = c.newRequest(op, input, output) 3995 req.Handlers.Unmarshal.Remove(query.UnmarshalHandler) 3996 req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) 3997 return 3998} 3999 4000// DeleteSigningCertificate API operation for AWS Identity and Access Management. 4001// 4002// Deletes a signing certificate associated with the specified IAM user. 4003// 4004// If you do not specify a user name, IAM determines the user name implicitly 4005// based on the AWS access key ID signing the request. Because this action works 4006// for access keys under the AWS account, you can use this action to manage 4007// root credentials even if the AWS account has no associated IAM users. 4008// 4009// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4010// with awserr.Error's Code and Message methods to get detailed information about 4011// the error. 4012// 4013// See the AWS API reference guide for AWS Identity and Access Management's 4014// API operation DeleteSigningCertificate for usage and error information. 4015// 4016// Returned Error Codes: 4017// * ErrCodeNoSuchEntityException "NoSuchEntity" 4018// The request was rejected because it referenced an entity that does not exist. 4019// The error message describes the entity. 4020// 4021// * ErrCodeLimitExceededException "LimitExceeded" 4022// The request was rejected because it attempted to create resources beyond 4023// the current AWS account limits. The error message describes the limit exceeded. 4024// 4025// * ErrCodeServiceFailureException "ServiceFailure" 4026// The request processing has failed because of an unknown error, exception 4027// or failure. 4028// 4029// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/DeleteSigningCertificate 4030func (c *IAM) DeleteSigningCertificate(input *DeleteSigningCertificateInput) (*DeleteSigningCertificateOutput, error) { 4031 req, out := c.DeleteSigningCertificateRequest(input) 4032 return out, req.Send() 4033} 4034 4035// DeleteSigningCertificateWithContext is the same as DeleteSigningCertificate with the addition of 4036// the ability to pass a context and additional request options. 4037// 4038// See DeleteSigningCertificate for details on how to use this API operation. 4039// 4040// The context must be non-nil and will be used for request cancellation. If 4041// the context is nil a panic will occur. In the future the SDK may create 4042// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4043// for more information on using Contexts. 4044func (c *IAM) DeleteSigningCertificateWithContext(ctx aws.Context, input *DeleteSigningCertificateInput, opts ...request.Option) (*DeleteSigningCertificateOutput, error) { 4045 req, out := c.DeleteSigningCertificateRequest(input) 4046 req.SetContext(ctx) 4047 req.ApplyOptions(opts...) 4048 return out, req.Send() 4049} 4050 4051const opDeleteUser = "DeleteUser" 4052 4053// DeleteUserRequest generates a "aws/request.Request" representing the 4054// client's request for the DeleteUser operation. The "output" return 4055// value will be populated with the request's response once the request complets 4056// successfuly. 4057// 4058// Use "Send" method on the returned Request to send the API call to the service. 4059// the "output" return value is not valid until after Send returns without error. 4060// 4061// See DeleteUser for more information on using the DeleteUser 4062// API call, and error handling. 4063// 4064// This method is useful when you want to inject custom logic or configuration 4065// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4066// 4067// 4068// // Example sending a request using the DeleteUserRequest method. 4069// req, resp := client.DeleteUserRequest(params) 4070// 4071// err := req.Send() 4072// if err == nil { // resp is now filled 4073// fmt.Println(resp) 4074// } 4075// 4076// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/DeleteUser 4077func (c *IAM) DeleteUserRequest(input *DeleteUserInput) (req *request.Request, output *DeleteUserOutput) { 4078 op := &request.Operation{ 4079 Name: opDeleteUser, 4080 HTTPMethod: "POST", 4081 HTTPPath: "/", 4082 } 4083 4084 if input == nil { 4085 input = &DeleteUserInput{} 4086 } 4087 4088 output = &DeleteUserOutput{} 4089 req = c.newRequest(op, input, output) 4090 req.Handlers.Unmarshal.Remove(query.UnmarshalHandler) 4091 req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) 4092 return 4093} 4094 4095// DeleteUser API operation for AWS Identity and Access Management. 4096// 4097// Deletes the specified IAM user. The user must not belong to any groups or 4098// have any access keys, signing certificates, or attached policies. 4099// 4100// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4101// with awserr.Error's Code and Message methods to get detailed information about 4102// the error. 4103// 4104// See the AWS API reference guide for AWS Identity and Access Management's 4105// API operation DeleteUser for usage and error information. 4106// 4107// Returned Error Codes: 4108// * ErrCodeLimitExceededException "LimitExceeded" 4109// The request was rejected because it attempted to create resources beyond 4110// the current AWS account limits. The error message describes the limit exceeded. 4111// 4112// * ErrCodeNoSuchEntityException "NoSuchEntity" 4113// The request was rejected because it referenced an entity that does not exist. 4114// The error message describes the entity. 4115// 4116// * ErrCodeDeleteConflictException "DeleteConflict" 4117// The request was rejected because it attempted to delete a resource that has 4118// attached subordinate entities. The error message describes these entities. 4119// 4120// * ErrCodeServiceFailureException "ServiceFailure" 4121// The request processing has failed because of an unknown error, exception 4122// or failure. 4123// 4124// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/DeleteUser 4125func (c *IAM) DeleteUser(input *DeleteUserInput) (*DeleteUserOutput, error) { 4126 req, out := c.DeleteUserRequest(input) 4127 return out, req.Send() 4128} 4129 4130// DeleteUserWithContext is the same as DeleteUser with the addition of 4131// the ability to pass a context and additional request options. 4132// 4133// See DeleteUser for details on how to use this API operation. 4134// 4135// The context must be non-nil and will be used for request cancellation. If 4136// the context is nil a panic will occur. In the future the SDK may create 4137// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4138// for more information on using Contexts. 4139func (c *IAM) DeleteUserWithContext(ctx aws.Context, input *DeleteUserInput, opts ...request.Option) (*DeleteUserOutput, error) { 4140 req, out := c.DeleteUserRequest(input) 4141 req.SetContext(ctx) 4142 req.ApplyOptions(opts...) 4143 return out, req.Send() 4144} 4145 4146const opDeleteUserPolicy = "DeleteUserPolicy" 4147 4148// DeleteUserPolicyRequest generates a "aws/request.Request" representing the 4149// client's request for the DeleteUserPolicy operation. The "output" return 4150// value will be populated with the request's response once the request complets 4151// successfuly. 4152// 4153// Use "Send" method on the returned Request to send the API call to the service. 4154// the "output" return value is not valid until after Send returns without error. 4155// 4156// See DeleteUserPolicy for more information on using the DeleteUserPolicy 4157// API call, and error handling. 4158// 4159// This method is useful when you want to inject custom logic or configuration 4160// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4161// 4162// 4163// // Example sending a request using the DeleteUserPolicyRequest method. 4164// req, resp := client.DeleteUserPolicyRequest(params) 4165// 4166// err := req.Send() 4167// if err == nil { // resp is now filled 4168// fmt.Println(resp) 4169// } 4170// 4171// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/DeleteUserPolicy 4172func (c *IAM) DeleteUserPolicyRequest(input *DeleteUserPolicyInput) (req *request.Request, output *DeleteUserPolicyOutput) { 4173 op := &request.Operation{ 4174 Name: opDeleteUserPolicy, 4175 HTTPMethod: "POST", 4176 HTTPPath: "/", 4177 } 4178 4179 if input == nil { 4180 input = &DeleteUserPolicyInput{} 4181 } 4182 4183 output = &DeleteUserPolicyOutput{} 4184 req = c.newRequest(op, input, output) 4185 req.Handlers.Unmarshal.Remove(query.UnmarshalHandler) 4186 req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) 4187 return 4188} 4189 4190// DeleteUserPolicy API operation for AWS Identity and Access Management. 4191// 4192// Deletes the specified inline policy that is embedded in the specified IAM 4193// user. 4194// 4195// A user can also have managed policies attached to it. To detach a managed 4196// policy from a user, use DetachUserPolicy. For more information about policies, 4197// refer to Managed Policies and Inline Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html) 4198// in the IAM User Guide. 4199// 4200// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4201// with awserr.Error's Code and Message methods to get detailed information about 4202// the error. 4203// 4204// See the AWS API reference guide for AWS Identity and Access Management's 4205// API operation DeleteUserPolicy for usage and error information. 4206// 4207// Returned Error Codes: 4208// * ErrCodeNoSuchEntityException "NoSuchEntity" 4209// The request was rejected because it referenced an entity that does not exist. 4210// The error message describes the entity. 4211// 4212// * ErrCodeLimitExceededException "LimitExceeded" 4213// The request was rejected because it attempted to create resources beyond 4214// the current AWS account limits. The error message describes the limit exceeded. 4215// 4216// * ErrCodeServiceFailureException "ServiceFailure" 4217// The request processing has failed because of an unknown error, exception 4218// or failure. 4219// 4220// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/DeleteUserPolicy 4221func (c *IAM) DeleteUserPolicy(input *DeleteUserPolicyInput) (*DeleteUserPolicyOutput, error) { 4222 req, out := c.DeleteUserPolicyRequest(input) 4223 return out, req.Send() 4224} 4225 4226// DeleteUserPolicyWithContext is the same as DeleteUserPolicy with the addition of 4227// the ability to pass a context and additional request options. 4228// 4229// See DeleteUserPolicy for details on how to use this API operation. 4230// 4231// The context must be non-nil and will be used for request cancellation. If 4232// the context is nil a panic will occur. In the future the SDK may create 4233// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4234// for more information on using Contexts. 4235func (c *IAM) DeleteUserPolicyWithContext(ctx aws.Context, input *DeleteUserPolicyInput, opts ...request.Option) (*DeleteUserPolicyOutput, error) { 4236 req, out := c.DeleteUserPolicyRequest(input) 4237 req.SetContext(ctx) 4238 req.ApplyOptions(opts...) 4239 return out, req.Send() 4240} 4241 4242const opDeleteVirtualMFADevice = "DeleteVirtualMFADevice" 4243 4244// DeleteVirtualMFADeviceRequest generates a "aws/request.Request" representing the 4245// client's request for the DeleteVirtualMFADevice operation. The "output" return 4246// value will be populated with the request's response once the request complets 4247// successfuly. 4248// 4249// Use "Send" method on the returned Request to send the API call to the service. 4250// the "output" return value is not valid until after Send returns without error. 4251// 4252// See DeleteVirtualMFADevice for more information on using the DeleteVirtualMFADevice 4253// API call, and error handling. 4254// 4255// This method is useful when you want to inject custom logic or configuration 4256// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4257// 4258// 4259// // Example sending a request using the DeleteVirtualMFADeviceRequest method. 4260// req, resp := client.DeleteVirtualMFADeviceRequest(params) 4261// 4262// err := req.Send() 4263// if err == nil { // resp is now filled 4264// fmt.Println(resp) 4265// } 4266// 4267// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/DeleteVirtualMFADevice 4268func (c *IAM) DeleteVirtualMFADeviceRequest(input *DeleteVirtualMFADeviceInput) (req *request.Request, output *DeleteVirtualMFADeviceOutput) { 4269 op := &request.Operation{ 4270 Name: opDeleteVirtualMFADevice, 4271 HTTPMethod: "POST", 4272 HTTPPath: "/", 4273 } 4274 4275 if input == nil { 4276 input = &DeleteVirtualMFADeviceInput{} 4277 } 4278 4279 output = &DeleteVirtualMFADeviceOutput{} 4280 req = c.newRequest(op, input, output) 4281 req.Handlers.Unmarshal.Remove(query.UnmarshalHandler) 4282 req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) 4283 return 4284} 4285 4286// DeleteVirtualMFADevice API operation for AWS Identity and Access Management. 4287// 4288// Deletes a virtual MFA device. 4289// 4290// You must deactivate a user's virtual MFA device before you can delete it. 4291// For information about deactivating MFA devices, see DeactivateMFADevice. 4292// 4293// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4294// with awserr.Error's Code and Message methods to get detailed information about 4295// the error. 4296// 4297// See the AWS API reference guide for AWS Identity and Access Management's 4298// API operation DeleteVirtualMFADevice for usage and error information. 4299// 4300// Returned Error Codes: 4301// * ErrCodeNoSuchEntityException "NoSuchEntity" 4302// The request was rejected because it referenced an entity that does not exist. 4303// The error message describes the entity. 4304// 4305// * ErrCodeDeleteConflictException "DeleteConflict" 4306// The request was rejected because it attempted to delete a resource that has 4307// attached subordinate entities. The error message describes these entities. 4308// 4309// * ErrCodeLimitExceededException "LimitExceeded" 4310// The request was rejected because it attempted to create resources beyond 4311// the current AWS account limits. The error message describes the limit exceeded. 4312// 4313// * ErrCodeServiceFailureException "ServiceFailure" 4314// The request processing has failed because of an unknown error, exception 4315// or failure. 4316// 4317// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/DeleteVirtualMFADevice 4318func (c *IAM) DeleteVirtualMFADevice(input *DeleteVirtualMFADeviceInput) (*DeleteVirtualMFADeviceOutput, error) { 4319 req, out := c.DeleteVirtualMFADeviceRequest(input) 4320 return out, req.Send() 4321} 4322 4323// DeleteVirtualMFADeviceWithContext is the same as DeleteVirtualMFADevice with the addition of 4324// the ability to pass a context and additional request options. 4325// 4326// See DeleteVirtualMFADevice for details on how to use this API operation. 4327// 4328// The context must be non-nil and will be used for request cancellation. If 4329// the context is nil a panic will occur. In the future the SDK may create 4330// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4331// for more information on using Contexts. 4332func (c *IAM) DeleteVirtualMFADeviceWithContext(ctx aws.Context, input *DeleteVirtualMFADeviceInput, opts ...request.Option) (*DeleteVirtualMFADeviceOutput, error) { 4333 req, out := c.DeleteVirtualMFADeviceRequest(input) 4334 req.SetContext(ctx) 4335 req.ApplyOptions(opts...) 4336 return out, req.Send() 4337} 4338 4339const opDetachGroupPolicy = "DetachGroupPolicy" 4340 4341// DetachGroupPolicyRequest generates a "aws/request.Request" representing the 4342// client's request for the DetachGroupPolicy operation. The "output" return 4343// value will be populated with the request's response once the request complets 4344// successfuly. 4345// 4346// Use "Send" method on the returned Request to send the API call to the service. 4347// the "output" return value is not valid until after Send returns without error. 4348// 4349// See DetachGroupPolicy for more information on using the DetachGroupPolicy 4350// API call, and error handling. 4351// 4352// This method is useful when you want to inject custom logic or configuration 4353// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4354// 4355// 4356// // Example sending a request using the DetachGroupPolicyRequest method. 4357// req, resp := client.DetachGroupPolicyRequest(params) 4358// 4359// err := req.Send() 4360// if err == nil { // resp is now filled 4361// fmt.Println(resp) 4362// } 4363// 4364// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/DetachGroupPolicy 4365func (c *IAM) DetachGroupPolicyRequest(input *DetachGroupPolicyInput) (req *request.Request, output *DetachGroupPolicyOutput) { 4366 op := &request.Operation{ 4367 Name: opDetachGroupPolicy, 4368 HTTPMethod: "POST", 4369 HTTPPath: "/", 4370 } 4371 4372 if input == nil { 4373 input = &DetachGroupPolicyInput{} 4374 } 4375 4376 output = &DetachGroupPolicyOutput{} 4377 req = c.newRequest(op, input, output) 4378 req.Handlers.Unmarshal.Remove(query.UnmarshalHandler) 4379 req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) 4380 return 4381} 4382 4383// DetachGroupPolicy API operation for AWS Identity and Access Management. 4384// 4385// Removes the specified managed policy from the specified IAM group. 4386// 4387// A group can also have inline policies embedded with it. To delete an inline 4388// policy, use the DeleteGroupPolicy API. For information about policies, see 4389// Managed Policies and Inline Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html) 4390// in the IAM User Guide. 4391// 4392// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4393// with awserr.Error's Code and Message methods to get detailed information about 4394// the error. 4395// 4396// See the AWS API reference guide for AWS Identity and Access Management's 4397// API operation DetachGroupPolicy for usage and error information. 4398// 4399// Returned Error Codes: 4400// * ErrCodeNoSuchEntityException "NoSuchEntity" 4401// The request was rejected because it referenced an entity that does not exist. 4402// The error message describes the entity. 4403// 4404// * ErrCodeLimitExceededException "LimitExceeded" 4405// The request was rejected because it attempted to create resources beyond 4406// the current AWS account limits. The error message describes the limit exceeded. 4407// 4408// * ErrCodeInvalidInputException "InvalidInput" 4409// The request was rejected because an invalid or out-of-range value was supplied 4410// for an input parameter. 4411// 4412// * ErrCodeServiceFailureException "ServiceFailure" 4413// The request processing has failed because of an unknown error, exception 4414// or failure. 4415// 4416// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/DetachGroupPolicy 4417func (c *IAM) DetachGroupPolicy(input *DetachGroupPolicyInput) (*DetachGroupPolicyOutput, error) { 4418 req, out := c.DetachGroupPolicyRequest(input) 4419 return out, req.Send() 4420} 4421 4422// DetachGroupPolicyWithContext is the same as DetachGroupPolicy with the addition of 4423// the ability to pass a context and additional request options. 4424// 4425// See DetachGroupPolicy for details on how to use this API operation. 4426// 4427// The context must be non-nil and will be used for request cancellation. If 4428// the context is nil a panic will occur. In the future the SDK may create 4429// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4430// for more information on using Contexts. 4431func (c *IAM) DetachGroupPolicyWithContext(ctx aws.Context, input *DetachGroupPolicyInput, opts ...request.Option) (*DetachGroupPolicyOutput, error) { 4432 req, out := c.DetachGroupPolicyRequest(input) 4433 req.SetContext(ctx) 4434 req.ApplyOptions(opts...) 4435 return out, req.Send() 4436} 4437 4438const opDetachRolePolicy = "DetachRolePolicy" 4439 4440// DetachRolePolicyRequest generates a "aws/request.Request" representing the 4441// client's request for the DetachRolePolicy operation. The "output" return 4442// value will be populated with the request's response once the request complets 4443// successfuly. 4444// 4445// Use "Send" method on the returned Request to send the API call to the service. 4446// the "output" return value is not valid until after Send returns without error. 4447// 4448// See DetachRolePolicy for more information on using the DetachRolePolicy 4449// API call, and error handling. 4450// 4451// This method is useful when you want to inject custom logic or configuration 4452// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4453// 4454// 4455// // Example sending a request using the DetachRolePolicyRequest method. 4456// req, resp := client.DetachRolePolicyRequest(params) 4457// 4458// err := req.Send() 4459// if err == nil { // resp is now filled 4460// fmt.Println(resp) 4461// } 4462// 4463// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/DetachRolePolicy 4464func (c *IAM) DetachRolePolicyRequest(input *DetachRolePolicyInput) (req *request.Request, output *DetachRolePolicyOutput) { 4465 op := &request.Operation{ 4466 Name: opDetachRolePolicy, 4467 HTTPMethod: "POST", 4468 HTTPPath: "/", 4469 } 4470 4471 if input == nil { 4472 input = &DetachRolePolicyInput{} 4473 } 4474 4475 output = &DetachRolePolicyOutput{} 4476 req = c.newRequest(op, input, output) 4477 req.Handlers.Unmarshal.Remove(query.UnmarshalHandler) 4478 req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) 4479 return 4480} 4481 4482// DetachRolePolicy API operation for AWS Identity and Access Management. 4483// 4484// Removes the specified managed policy from the specified role. 4485// 4486// A role can also have inline policies embedded with it. To delete an inline 4487// policy, use the DeleteRolePolicy API. For information about policies, see 4488// Managed Policies and Inline Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html) 4489// in the IAM User Guide. 4490// 4491// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4492// with awserr.Error's Code and Message methods to get detailed information about 4493// the error. 4494// 4495// See the AWS API reference guide for AWS Identity and Access Management's 4496// API operation DetachRolePolicy for usage and error information. 4497// 4498// Returned Error Codes: 4499// * ErrCodeNoSuchEntityException "NoSuchEntity" 4500// The request was rejected because it referenced an entity that does not exist. 4501// The error message describes the entity. 4502// 4503// * ErrCodeLimitExceededException "LimitExceeded" 4504// The request was rejected because it attempted to create resources beyond 4505// the current AWS account limits. The error message describes the limit exceeded. 4506// 4507// * ErrCodeInvalidInputException "InvalidInput" 4508// The request was rejected because an invalid or out-of-range value was supplied 4509// for an input parameter. 4510// 4511// * ErrCodeUnmodifiableEntityException "UnmodifiableEntity" 4512// The request was rejected because only the service that depends on the service-linked 4513// role can modify or delete the role on your behalf. The error message includes 4514// the name of the service that depends on this service-linked role. You must 4515// request the change through that service. 4516// 4517// * ErrCodeServiceFailureException "ServiceFailure" 4518// The request processing has failed because of an unknown error, exception 4519// or failure. 4520// 4521// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/DetachRolePolicy 4522func (c *IAM) DetachRolePolicy(input *DetachRolePolicyInput) (*DetachRolePolicyOutput, error) { 4523 req, out := c.DetachRolePolicyRequest(input) 4524 return out, req.Send() 4525} 4526 4527// DetachRolePolicyWithContext is the same as DetachRolePolicy with the addition of 4528// the ability to pass a context and additional request options. 4529// 4530// See DetachRolePolicy for details on how to use this API operation. 4531// 4532// The context must be non-nil and will be used for request cancellation. If 4533// the context is nil a panic will occur. In the future the SDK may create 4534// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4535// for more information on using Contexts. 4536func (c *IAM) DetachRolePolicyWithContext(ctx aws.Context, input *DetachRolePolicyInput, opts ...request.Option) (*DetachRolePolicyOutput, error) { 4537 req, out := c.DetachRolePolicyRequest(input) 4538 req.SetContext(ctx) 4539 req.ApplyOptions(opts...) 4540 return out, req.Send() 4541} 4542 4543const opDetachUserPolicy = "DetachUserPolicy" 4544 4545// DetachUserPolicyRequest generates a "aws/request.Request" representing the 4546// client's request for the DetachUserPolicy operation. The "output" return 4547// value will be populated with the request's response once the request complets 4548// successfuly. 4549// 4550// Use "Send" method on the returned Request to send the API call to the service. 4551// the "output" return value is not valid until after Send returns without error. 4552// 4553// See DetachUserPolicy for more information on using the DetachUserPolicy 4554// API call, and error handling. 4555// 4556// This method is useful when you want to inject custom logic or configuration 4557// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4558// 4559// 4560// // Example sending a request using the DetachUserPolicyRequest method. 4561// req, resp := client.DetachUserPolicyRequest(params) 4562// 4563// err := req.Send() 4564// if err == nil { // resp is now filled 4565// fmt.Println(resp) 4566// } 4567// 4568// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/DetachUserPolicy 4569func (c *IAM) DetachUserPolicyRequest(input *DetachUserPolicyInput) (req *request.Request, output *DetachUserPolicyOutput) { 4570 op := &request.Operation{ 4571 Name: opDetachUserPolicy, 4572 HTTPMethod: "POST", 4573 HTTPPath: "/", 4574 } 4575 4576 if input == nil { 4577 input = &DetachUserPolicyInput{} 4578 } 4579 4580 output = &DetachUserPolicyOutput{} 4581 req = c.newRequest(op, input, output) 4582 req.Handlers.Unmarshal.Remove(query.UnmarshalHandler) 4583 req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) 4584 return 4585} 4586 4587// DetachUserPolicy API operation for AWS Identity and Access Management. 4588// 4589// Removes the specified managed policy from the specified user. 4590// 4591// A user can also have inline policies embedded with it. To delete an inline 4592// policy, use the DeleteUserPolicy API. For information about policies, see 4593// Managed Policies and Inline Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html) 4594// in the IAM User Guide. 4595// 4596// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4597// with awserr.Error's Code and Message methods to get detailed information about 4598// the error. 4599// 4600// See the AWS API reference guide for AWS Identity and Access Management's 4601// API operation DetachUserPolicy for usage and error information. 4602// 4603// Returned Error Codes: 4604// * ErrCodeNoSuchEntityException "NoSuchEntity" 4605// The request was rejected because it referenced an entity that does not exist. 4606// The error message describes the entity. 4607// 4608// * ErrCodeLimitExceededException "LimitExceeded" 4609// The request was rejected because it attempted to create resources beyond 4610// the current AWS account limits. The error message describes the limit exceeded. 4611// 4612// * ErrCodeInvalidInputException "InvalidInput" 4613// The request was rejected because an invalid or out-of-range value was supplied 4614// for an input parameter. 4615// 4616// * ErrCodeServiceFailureException "ServiceFailure" 4617// The request processing has failed because of an unknown error, exception 4618// or failure. 4619// 4620// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/DetachUserPolicy 4621func (c *IAM) DetachUserPolicy(input *DetachUserPolicyInput) (*DetachUserPolicyOutput, error) { 4622 req, out := c.DetachUserPolicyRequest(input) 4623 return out, req.Send() 4624} 4625 4626// DetachUserPolicyWithContext is the same as DetachUserPolicy with the addition of 4627// the ability to pass a context and additional request options. 4628// 4629// See DetachUserPolicy for details on how to use this API operation. 4630// 4631// The context must be non-nil and will be used for request cancellation. If 4632// the context is nil a panic will occur. In the future the SDK may create 4633// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4634// for more information on using Contexts. 4635func (c *IAM) DetachUserPolicyWithContext(ctx aws.Context, input *DetachUserPolicyInput, opts ...request.Option) (*DetachUserPolicyOutput, error) { 4636 req, out := c.DetachUserPolicyRequest(input) 4637 req.SetContext(ctx) 4638 req.ApplyOptions(opts...) 4639 return out, req.Send() 4640} 4641 4642const opEnableMFADevice = "EnableMFADevice" 4643 4644// EnableMFADeviceRequest generates a "aws/request.Request" representing the 4645// client's request for the EnableMFADevice operation. The "output" return 4646// value will be populated with the request's response once the request complets 4647// successfuly. 4648// 4649// Use "Send" method on the returned Request to send the API call to the service. 4650// the "output" return value is not valid until after Send returns without error. 4651// 4652// See EnableMFADevice for more information on using the EnableMFADevice 4653// API call, and error handling. 4654// 4655// This method is useful when you want to inject custom logic or configuration 4656// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4657// 4658// 4659// // Example sending a request using the EnableMFADeviceRequest method. 4660// req, resp := client.EnableMFADeviceRequest(params) 4661// 4662// err := req.Send() 4663// if err == nil { // resp is now filled 4664// fmt.Println(resp) 4665// } 4666// 4667// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/EnableMFADevice 4668func (c *IAM) EnableMFADeviceRequest(input *EnableMFADeviceInput) (req *request.Request, output *EnableMFADeviceOutput) { 4669 op := &request.Operation{ 4670 Name: opEnableMFADevice, 4671 HTTPMethod: "POST", 4672 HTTPPath: "/", 4673 } 4674 4675 if input == nil { 4676 input = &EnableMFADeviceInput{} 4677 } 4678 4679 output = &EnableMFADeviceOutput{} 4680 req = c.newRequest(op, input, output) 4681 req.Handlers.Unmarshal.Remove(query.UnmarshalHandler) 4682 req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) 4683 return 4684} 4685 4686// EnableMFADevice API operation for AWS Identity and Access Management. 4687// 4688// Enables the specified MFA device and associates it with the specified IAM 4689// user. When enabled, the MFA device is required for every subsequent login 4690// by the IAM user associated with the device. 4691// 4692// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4693// with awserr.Error's Code and Message methods to get detailed information about 4694// the error. 4695// 4696// See the AWS API reference guide for AWS Identity and Access Management's 4697// API operation EnableMFADevice for usage and error information. 4698// 4699// Returned Error Codes: 4700// * ErrCodeEntityAlreadyExistsException "EntityAlreadyExists" 4701// The request was rejected because it attempted to create a resource that already 4702// exists. 4703// 4704// * ErrCodeEntityTemporarilyUnmodifiableException "EntityTemporarilyUnmodifiable" 4705// The request was rejected because it referenced an entity that is temporarily 4706// unmodifiable, such as a user name that was deleted and then recreated. The 4707// error indicates that the request is likely to succeed if you try again after 4708// waiting several minutes. The error message describes the entity. 4709// 4710// * ErrCodeInvalidAuthenticationCodeException "InvalidAuthenticationCode" 4711// The request was rejected because the authentication code was not recognized. 4712// The error message describes the specific error. 4713// 4714// * ErrCodeLimitExceededException "LimitExceeded" 4715// The request was rejected because it attempted to create resources beyond 4716// the current AWS account limits. The error message describes the limit exceeded. 4717// 4718// * ErrCodeNoSuchEntityException "NoSuchEntity" 4719// The request was rejected because it referenced an entity that does not exist. 4720// The error message describes the entity. 4721// 4722// * ErrCodeServiceFailureException "ServiceFailure" 4723// The request processing has failed because of an unknown error, exception 4724// or failure. 4725// 4726// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/EnableMFADevice 4727func (c *IAM) EnableMFADevice(input *EnableMFADeviceInput) (*EnableMFADeviceOutput, error) { 4728 req, out := c.EnableMFADeviceRequest(input) 4729 return out, req.Send() 4730} 4731 4732// EnableMFADeviceWithContext is the same as EnableMFADevice with the addition of 4733// the ability to pass a context and additional request options. 4734// 4735// See EnableMFADevice for details on how to use this API operation. 4736// 4737// The context must be non-nil and will be used for request cancellation. If 4738// the context is nil a panic will occur. In the future the SDK may create 4739// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4740// for more information on using Contexts. 4741func (c *IAM) EnableMFADeviceWithContext(ctx aws.Context, input *EnableMFADeviceInput, opts ...request.Option) (*EnableMFADeviceOutput, error) { 4742 req, out := c.EnableMFADeviceRequest(input) 4743 req.SetContext(ctx) 4744 req.ApplyOptions(opts...) 4745 return out, req.Send() 4746} 4747 4748const opGenerateCredentialReport = "GenerateCredentialReport" 4749 4750// GenerateCredentialReportRequest generates a "aws/request.Request" representing the 4751// client's request for the GenerateCredentialReport operation. The "output" return 4752// value will be populated with the request's response once the request complets 4753// successfuly. 4754// 4755// Use "Send" method on the returned Request to send the API call to the service. 4756// the "output" return value is not valid until after Send returns without error. 4757// 4758// See GenerateCredentialReport for more information on using the GenerateCredentialReport 4759// API call, and error handling. 4760// 4761// This method is useful when you want to inject custom logic or configuration 4762// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4763// 4764// 4765// // Example sending a request using the GenerateCredentialReportRequest method. 4766// req, resp := client.GenerateCredentialReportRequest(params) 4767// 4768// err := req.Send() 4769// if err == nil { // resp is now filled 4770// fmt.Println(resp) 4771// } 4772// 4773// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/GenerateCredentialReport 4774func (c *IAM) GenerateCredentialReportRequest(input *GenerateCredentialReportInput) (req *request.Request, output *GenerateCredentialReportOutput) { 4775 op := &request.Operation{ 4776 Name: opGenerateCredentialReport, 4777 HTTPMethod: "POST", 4778 HTTPPath: "/", 4779 } 4780 4781 if input == nil { 4782 input = &GenerateCredentialReportInput{} 4783 } 4784 4785 output = &GenerateCredentialReportOutput{} 4786 req = c.newRequest(op, input, output) 4787 return 4788} 4789 4790// GenerateCredentialReport API operation for AWS Identity and Access Management. 4791// 4792// Generates a credential report for the AWS account. For more information about 4793// the credential report, see Getting Credential Reports (http://docs.aws.amazon.com/IAM/latest/UserGuide/credential-reports.html) 4794// in the IAM User Guide. 4795// 4796// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4797// with awserr.Error's Code and Message methods to get detailed information about 4798// the error. 4799// 4800// See the AWS API reference guide for AWS Identity and Access Management's 4801// API operation GenerateCredentialReport for usage and error information. 4802// 4803// Returned Error Codes: 4804// * ErrCodeLimitExceededException "LimitExceeded" 4805// The request was rejected because it attempted to create resources beyond 4806// the current AWS account limits. The error message describes the limit exceeded. 4807// 4808// * ErrCodeServiceFailureException "ServiceFailure" 4809// The request processing has failed because of an unknown error, exception 4810// or failure. 4811// 4812// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/GenerateCredentialReport 4813func (c *IAM) GenerateCredentialReport(input *GenerateCredentialReportInput) (*GenerateCredentialReportOutput, error) { 4814 req, out := c.GenerateCredentialReportRequest(input) 4815 return out, req.Send() 4816} 4817 4818// GenerateCredentialReportWithContext is the same as GenerateCredentialReport with the addition of 4819// the ability to pass a context and additional request options. 4820// 4821// See GenerateCredentialReport for details on how to use this API operation. 4822// 4823// The context must be non-nil and will be used for request cancellation. If 4824// the context is nil a panic will occur. In the future the SDK may create 4825// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4826// for more information on using Contexts. 4827func (c *IAM) GenerateCredentialReportWithContext(ctx aws.Context, input *GenerateCredentialReportInput, opts ...request.Option) (*GenerateCredentialReportOutput, error) { 4828 req, out := c.GenerateCredentialReportRequest(input) 4829 req.SetContext(ctx) 4830 req.ApplyOptions(opts...) 4831 return out, req.Send() 4832} 4833 4834const opGetAccessKeyLastUsed = "GetAccessKeyLastUsed" 4835 4836// GetAccessKeyLastUsedRequest generates a "aws/request.Request" representing the 4837// client's request for the GetAccessKeyLastUsed operation. The "output" return 4838// value will be populated with the request's response once the request complets 4839// successfuly. 4840// 4841// Use "Send" method on the returned Request to send the API call to the service. 4842// the "output" return value is not valid until after Send returns without error. 4843// 4844// See GetAccessKeyLastUsed for more information on using the GetAccessKeyLastUsed 4845// API call, and error handling. 4846// 4847// This method is useful when you want to inject custom logic or configuration 4848// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4849// 4850// 4851// // Example sending a request using the GetAccessKeyLastUsedRequest method. 4852// req, resp := client.GetAccessKeyLastUsedRequest(params) 4853// 4854// err := req.Send() 4855// if err == nil { // resp is now filled 4856// fmt.Println(resp) 4857// } 4858// 4859// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/GetAccessKeyLastUsed 4860func (c *IAM) GetAccessKeyLastUsedRequest(input *GetAccessKeyLastUsedInput) (req *request.Request, output *GetAccessKeyLastUsedOutput) { 4861 op := &request.Operation{ 4862 Name: opGetAccessKeyLastUsed, 4863 HTTPMethod: "POST", 4864 HTTPPath: "/", 4865 } 4866 4867 if input == nil { 4868 input = &GetAccessKeyLastUsedInput{} 4869 } 4870 4871 output = &GetAccessKeyLastUsedOutput{} 4872 req = c.newRequest(op, input, output) 4873 return 4874} 4875 4876// GetAccessKeyLastUsed API operation for AWS Identity and Access Management. 4877// 4878// Retrieves information about when the specified access key was last used. 4879// The information includes the date and time of last use, along with the AWS 4880// service and region that were specified in the last request made with that 4881// key. 4882// 4883// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4884// with awserr.Error's Code and Message methods to get detailed information about 4885// the error. 4886// 4887// See the AWS API reference guide for AWS Identity and Access Management's 4888// API operation GetAccessKeyLastUsed for usage and error information. 4889// 4890// Returned Error Codes: 4891// * ErrCodeNoSuchEntityException "NoSuchEntity" 4892// The request was rejected because it referenced an entity that does not exist. 4893// The error message describes the entity. 4894// 4895// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/GetAccessKeyLastUsed 4896func (c *IAM) GetAccessKeyLastUsed(input *GetAccessKeyLastUsedInput) (*GetAccessKeyLastUsedOutput, error) { 4897 req, out := c.GetAccessKeyLastUsedRequest(input) 4898 return out, req.Send() 4899} 4900 4901// GetAccessKeyLastUsedWithContext is the same as GetAccessKeyLastUsed with the addition of 4902// the ability to pass a context and additional request options. 4903// 4904// See GetAccessKeyLastUsed for details on how to use this API operation. 4905// 4906// The context must be non-nil and will be used for request cancellation. If 4907// the context is nil a panic will occur. In the future the SDK may create 4908// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4909// for more information on using Contexts. 4910func (c *IAM) GetAccessKeyLastUsedWithContext(ctx aws.Context, input *GetAccessKeyLastUsedInput, opts ...request.Option) (*GetAccessKeyLastUsedOutput, error) { 4911 req, out := c.GetAccessKeyLastUsedRequest(input) 4912 req.SetContext(ctx) 4913 req.ApplyOptions(opts...) 4914 return out, req.Send() 4915} 4916 4917const opGetAccountAuthorizationDetails = "GetAccountAuthorizationDetails" 4918 4919// GetAccountAuthorizationDetailsRequest generates a "aws/request.Request" representing the 4920// client's request for the GetAccountAuthorizationDetails operation. The "output" return 4921// value will be populated with the request's response once the request complets 4922// successfuly. 4923// 4924// Use "Send" method on the returned Request to send the API call to the service. 4925// the "output" return value is not valid until after Send returns without error. 4926// 4927// See GetAccountAuthorizationDetails for more information on using the GetAccountAuthorizationDetails 4928// API call, and error handling. 4929// 4930// This method is useful when you want to inject custom logic or configuration 4931// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4932// 4933// 4934// // Example sending a request using the GetAccountAuthorizationDetailsRequest method. 4935// req, resp := client.GetAccountAuthorizationDetailsRequest(params) 4936// 4937// err := req.Send() 4938// if err == nil { // resp is now filled 4939// fmt.Println(resp) 4940// } 4941// 4942// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/GetAccountAuthorizationDetails 4943func (c *IAM) GetAccountAuthorizationDetailsRequest(input *GetAccountAuthorizationDetailsInput) (req *request.Request, output *GetAccountAuthorizationDetailsOutput) { 4944 op := &request.Operation{ 4945 Name: opGetAccountAuthorizationDetails, 4946 HTTPMethod: "POST", 4947 HTTPPath: "/", 4948 Paginator: &request.Paginator{ 4949 InputTokens: []string{"Marker"}, 4950 OutputTokens: []string{"Marker"}, 4951 LimitToken: "MaxItems", 4952 TruncationToken: "IsTruncated", 4953 }, 4954 } 4955 4956 if input == nil { 4957 input = &GetAccountAuthorizationDetailsInput{} 4958 } 4959 4960 output = &GetAccountAuthorizationDetailsOutput{} 4961 req = c.newRequest(op, input, output) 4962 return 4963} 4964 4965// GetAccountAuthorizationDetails API operation for AWS Identity and Access Management. 4966// 4967// Retrieves information about all IAM users, groups, roles, and policies in 4968// your AWS account, including their relationships to one another. Use this 4969// API to obtain a snapshot of the configuration of IAM permissions (users, 4970// groups, roles, and policies) in your account. 4971// 4972// You can optionally filter the results using the Filter parameter. You can 4973// paginate the results using the MaxItems and Marker parameters. 4974// 4975// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4976// with awserr.Error's Code and Message methods to get detailed information about 4977// the error. 4978// 4979// See the AWS API reference guide for AWS Identity and Access Management's 4980// API operation GetAccountAuthorizationDetails for usage and error information. 4981// 4982// Returned Error Codes: 4983// * ErrCodeServiceFailureException "ServiceFailure" 4984// The request processing has failed because of an unknown error, exception 4985// or failure. 4986// 4987// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/GetAccountAuthorizationDetails 4988func (c *IAM) GetAccountAuthorizationDetails(input *GetAccountAuthorizationDetailsInput) (*GetAccountAuthorizationDetailsOutput, error) { 4989 req, out := c.GetAccountAuthorizationDetailsRequest(input) 4990 return out, req.Send() 4991} 4992 4993// GetAccountAuthorizationDetailsWithContext is the same as GetAccountAuthorizationDetails with the addition of 4994// the ability to pass a context and additional request options. 4995// 4996// See GetAccountAuthorizationDetails for details on how to use this API operation. 4997// 4998// The context must be non-nil and will be used for request cancellation. If 4999// the context is nil a panic will occur. In the future the SDK may create 5000// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5001// for more information on using Contexts. 5002func (c *IAM) GetAccountAuthorizationDetailsWithContext(ctx aws.Context, input *GetAccountAuthorizationDetailsInput, opts ...request.Option) (*GetAccountAuthorizationDetailsOutput, error) { 5003 req, out := c.GetAccountAuthorizationDetailsRequest(input) 5004 req.SetContext(ctx) 5005 req.ApplyOptions(opts...) 5006 return out, req.Send() 5007} 5008 5009// GetAccountAuthorizationDetailsPages iterates over the pages of a GetAccountAuthorizationDetails operation, 5010// calling the "fn" function with the response data for each page. To stop 5011// iterating, return false from the fn function. 5012// 5013// See GetAccountAuthorizationDetails method for more information on how to use this operation. 5014// 5015// Note: This operation can generate multiple requests to a service. 5016// 5017// // Example iterating over at most 3 pages of a GetAccountAuthorizationDetails operation. 5018// pageNum := 0 5019// err := client.GetAccountAuthorizationDetailsPages(params, 5020// func(page *GetAccountAuthorizationDetailsOutput, lastPage bool) bool { 5021// pageNum++ 5022// fmt.Println(page) 5023// return pageNum <= 3 5024// }) 5025// 5026func (c *IAM) GetAccountAuthorizationDetailsPages(input *GetAccountAuthorizationDetailsInput, fn func(*GetAccountAuthorizationDetailsOutput, bool) bool) error { 5027 return c.GetAccountAuthorizationDetailsPagesWithContext(aws.BackgroundContext(), input, fn) 5028} 5029 5030// GetAccountAuthorizationDetailsPagesWithContext same as GetAccountAuthorizationDetailsPages except 5031// it takes a Context and allows setting request options on the pages. 5032// 5033// The context must be non-nil and will be used for request cancellation. If 5034// the context is nil a panic will occur. In the future the SDK may create 5035// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5036// for more information on using Contexts. 5037func (c *IAM) GetAccountAuthorizationDetailsPagesWithContext(ctx aws.Context, input *GetAccountAuthorizationDetailsInput, fn func(*GetAccountAuthorizationDetailsOutput, bool) bool, opts ...request.Option) error { 5038 p := request.Pagination{ 5039 NewRequest: func() (*request.Request, error) { 5040 var inCpy *GetAccountAuthorizationDetailsInput 5041 if input != nil { 5042 tmp := *input 5043 inCpy = &tmp 5044 } 5045 req, _ := c.GetAccountAuthorizationDetailsRequest(inCpy) 5046 req.SetContext(ctx) 5047 req.ApplyOptions(opts...) 5048 return req, nil 5049 }, 5050 } 5051 5052 cont := true 5053 for p.Next() && cont { 5054 cont = fn(p.Page().(*GetAccountAuthorizationDetailsOutput), !p.HasNextPage()) 5055 } 5056 return p.Err() 5057} 5058 5059const opGetAccountPasswordPolicy = "GetAccountPasswordPolicy" 5060 5061// GetAccountPasswordPolicyRequest generates a "aws/request.Request" representing the 5062// client's request for the GetAccountPasswordPolicy operation. The "output" return 5063// value will be populated with the request's response once the request complets 5064// successfuly. 5065// 5066// Use "Send" method on the returned Request to send the API call to the service. 5067// the "output" return value is not valid until after Send returns without error. 5068// 5069// See GetAccountPasswordPolicy for more information on using the GetAccountPasswordPolicy 5070// API call, and error handling. 5071// 5072// This method is useful when you want to inject custom logic or configuration 5073// into the SDK's request lifecycle. Such as custom headers, or retry logic. 5074// 5075// 5076// // Example sending a request using the GetAccountPasswordPolicyRequest method. 5077// req, resp := client.GetAccountPasswordPolicyRequest(params) 5078// 5079// err := req.Send() 5080// if err == nil { // resp is now filled 5081// fmt.Println(resp) 5082// } 5083// 5084// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/GetAccountPasswordPolicy 5085func (c *IAM) GetAccountPasswordPolicyRequest(input *GetAccountPasswordPolicyInput) (req *request.Request, output *GetAccountPasswordPolicyOutput) { 5086 op := &request.Operation{ 5087 Name: opGetAccountPasswordPolicy, 5088 HTTPMethod: "POST", 5089 HTTPPath: "/", 5090 } 5091 5092 if input == nil { 5093 input = &GetAccountPasswordPolicyInput{} 5094 } 5095 5096 output = &GetAccountPasswordPolicyOutput{} 5097 req = c.newRequest(op, input, output) 5098 return 5099} 5100 5101// GetAccountPasswordPolicy API operation for AWS Identity and Access Management. 5102// 5103// Retrieves the password policy for the AWS account. For more information about 5104// using a password policy, go to Managing an IAM Password Policy (http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_ManagingPasswordPolicies.html). 5105// 5106// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5107// with awserr.Error's Code and Message methods to get detailed information about 5108// the error. 5109// 5110// See the AWS API reference guide for AWS Identity and Access Management's 5111// API operation GetAccountPasswordPolicy for usage and error information. 5112// 5113// Returned Error Codes: 5114// * ErrCodeNoSuchEntityException "NoSuchEntity" 5115// The request was rejected because it referenced an entity that does not exist. 5116// The error message describes the entity. 5117// 5118// * ErrCodeServiceFailureException "ServiceFailure" 5119// The request processing has failed because of an unknown error, exception 5120// or failure. 5121// 5122// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/GetAccountPasswordPolicy 5123func (c *IAM) GetAccountPasswordPolicy(input *GetAccountPasswordPolicyInput) (*GetAccountPasswordPolicyOutput, error) { 5124 req, out := c.GetAccountPasswordPolicyRequest(input) 5125 return out, req.Send() 5126} 5127 5128// GetAccountPasswordPolicyWithContext is the same as GetAccountPasswordPolicy with the addition of 5129// the ability to pass a context and additional request options. 5130// 5131// See GetAccountPasswordPolicy for details on how to use this API operation. 5132// 5133// The context must be non-nil and will be used for request cancellation. If 5134// the context is nil a panic will occur. In the future the SDK may create 5135// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5136// for more information on using Contexts. 5137func (c *IAM) GetAccountPasswordPolicyWithContext(ctx aws.Context, input *GetAccountPasswordPolicyInput, opts ...request.Option) (*GetAccountPasswordPolicyOutput, error) { 5138 req, out := c.GetAccountPasswordPolicyRequest(input) 5139 req.SetContext(ctx) 5140 req.ApplyOptions(opts...) 5141 return out, req.Send() 5142} 5143 5144const opGetAccountSummary = "GetAccountSummary" 5145 5146// GetAccountSummaryRequest generates a "aws/request.Request" representing the 5147// client's request for the GetAccountSummary operation. The "output" return 5148// value will be populated with the request's response once the request complets 5149// successfuly. 5150// 5151// Use "Send" method on the returned Request to send the API call to the service. 5152// the "output" return value is not valid until after Send returns without error. 5153// 5154// See GetAccountSummary for more information on using the GetAccountSummary 5155// API call, and error handling. 5156// 5157// This method is useful when you want to inject custom logic or configuration 5158// into the SDK's request lifecycle. Such as custom headers, or retry logic. 5159// 5160// 5161// // Example sending a request using the GetAccountSummaryRequest method. 5162// req, resp := client.GetAccountSummaryRequest(params) 5163// 5164// err := req.Send() 5165// if err == nil { // resp is now filled 5166// fmt.Println(resp) 5167// } 5168// 5169// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/GetAccountSummary 5170func (c *IAM) GetAccountSummaryRequest(input *GetAccountSummaryInput) (req *request.Request, output *GetAccountSummaryOutput) { 5171 op := &request.Operation{ 5172 Name: opGetAccountSummary, 5173 HTTPMethod: "POST", 5174 HTTPPath: "/", 5175 } 5176 5177 if input == nil { 5178 input = &GetAccountSummaryInput{} 5179 } 5180 5181 output = &GetAccountSummaryOutput{} 5182 req = c.newRequest(op, input, output) 5183 return 5184} 5185 5186// GetAccountSummary API operation for AWS Identity and Access Management. 5187// 5188// Retrieves information about IAM entity usage and IAM quotas in the AWS account. 5189// 5190// For information about limitations on IAM entities, see Limitations on IAM 5191// Entities (http://docs.aws.amazon.com/IAM/latest/UserGuide/LimitationsOnEntities.html) 5192// in the IAM User Guide. 5193// 5194// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5195// with awserr.Error's Code and Message methods to get detailed information about 5196// the error. 5197// 5198// See the AWS API reference guide for AWS Identity and Access Management's 5199// API operation GetAccountSummary for usage and error information. 5200// 5201// Returned Error Codes: 5202// * ErrCodeServiceFailureException "ServiceFailure" 5203// The request processing has failed because of an unknown error, exception 5204// or failure. 5205// 5206// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/GetAccountSummary 5207func (c *IAM) GetAccountSummary(input *GetAccountSummaryInput) (*GetAccountSummaryOutput, error) { 5208 req, out := c.GetAccountSummaryRequest(input) 5209 return out, req.Send() 5210} 5211 5212// GetAccountSummaryWithContext is the same as GetAccountSummary with the addition of 5213// the ability to pass a context and additional request options. 5214// 5215// See GetAccountSummary for details on how to use this API operation. 5216// 5217// The context must be non-nil and will be used for request cancellation. If 5218// the context is nil a panic will occur. In the future the SDK may create 5219// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5220// for more information on using Contexts. 5221func (c *IAM) GetAccountSummaryWithContext(ctx aws.Context, input *GetAccountSummaryInput, opts ...request.Option) (*GetAccountSummaryOutput, error) { 5222 req, out := c.GetAccountSummaryRequest(input) 5223 req.SetContext(ctx) 5224 req.ApplyOptions(opts...) 5225 return out, req.Send() 5226} 5227 5228const opGetContextKeysForCustomPolicy = "GetContextKeysForCustomPolicy" 5229 5230// GetContextKeysForCustomPolicyRequest generates a "aws/request.Request" representing the 5231// client's request for the GetContextKeysForCustomPolicy operation. The "output" return 5232// value will be populated with the request's response once the request complets 5233// successfuly. 5234// 5235// Use "Send" method on the returned Request to send the API call to the service. 5236// the "output" return value is not valid until after Send returns without error. 5237// 5238// See GetContextKeysForCustomPolicy for more information on using the GetContextKeysForCustomPolicy 5239// API call, and error handling. 5240// 5241// This method is useful when you want to inject custom logic or configuration 5242// into the SDK's request lifecycle. Such as custom headers, or retry logic. 5243// 5244// 5245// // Example sending a request using the GetContextKeysForCustomPolicyRequest method. 5246// req, resp := client.GetContextKeysForCustomPolicyRequest(params) 5247// 5248// err := req.Send() 5249// if err == nil { // resp is now filled 5250// fmt.Println(resp) 5251// } 5252// 5253// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/GetContextKeysForCustomPolicy 5254func (c *IAM) GetContextKeysForCustomPolicyRequest(input *GetContextKeysForCustomPolicyInput) (req *request.Request, output *GetContextKeysForPolicyResponse) { 5255 op := &request.Operation{ 5256 Name: opGetContextKeysForCustomPolicy, 5257 HTTPMethod: "POST", 5258 HTTPPath: "/", 5259 } 5260 5261 if input == nil { 5262 input = &GetContextKeysForCustomPolicyInput{} 5263 } 5264 5265 output = &GetContextKeysForPolicyResponse{} 5266 req = c.newRequest(op, input, output) 5267 return 5268} 5269 5270// GetContextKeysForCustomPolicy API operation for AWS Identity and Access Management. 5271// 5272// Gets a list of all of the context keys referenced in the input policies. 5273// The policies are supplied as a list of one or more strings. To get the context 5274// keys from policies associated with an IAM user, group, or role, use GetContextKeysForPrincipalPolicy. 5275// 5276// Context keys are variables maintained by AWS and its services that provide 5277// details about the context of an API query request, and can be evaluated by 5278// testing against a value specified in an IAM policy. Use GetContextKeysForCustomPolicy 5279// to understand what key names and values you must supply when you call SimulateCustomPolicy. 5280// Note that all parameters are shown in unencoded form here for clarity, but 5281// must be URL encoded to be included as a part of a real HTML request. 5282// 5283// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5284// with awserr.Error's Code and Message methods to get detailed information about 5285// the error. 5286// 5287// See the AWS API reference guide for AWS Identity and Access Management's 5288// API operation GetContextKeysForCustomPolicy for usage and error information. 5289// 5290// Returned Error Codes: 5291// * ErrCodeInvalidInputException "InvalidInput" 5292// The request was rejected because an invalid or out-of-range value was supplied 5293// for an input parameter. 5294// 5295// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/GetContextKeysForCustomPolicy 5296func (c *IAM) GetContextKeysForCustomPolicy(input *GetContextKeysForCustomPolicyInput) (*GetContextKeysForPolicyResponse, error) { 5297 req, out := c.GetContextKeysForCustomPolicyRequest(input) 5298 return out, req.Send() 5299} 5300 5301// GetContextKeysForCustomPolicyWithContext is the same as GetContextKeysForCustomPolicy with the addition of 5302// the ability to pass a context and additional request options. 5303// 5304// See GetContextKeysForCustomPolicy for details on how to use this API operation. 5305// 5306// The context must be non-nil and will be used for request cancellation. If 5307// the context is nil a panic will occur. In the future the SDK may create 5308// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5309// for more information on using Contexts. 5310func (c *IAM) GetContextKeysForCustomPolicyWithContext(ctx aws.Context, input *GetContextKeysForCustomPolicyInput, opts ...request.Option) (*GetContextKeysForPolicyResponse, error) { 5311 req, out := c.GetContextKeysForCustomPolicyRequest(input) 5312 req.SetContext(ctx) 5313 req.ApplyOptions(opts...) 5314 return out, req.Send() 5315} 5316 5317const opGetContextKeysForPrincipalPolicy = "GetContextKeysForPrincipalPolicy" 5318 5319// GetContextKeysForPrincipalPolicyRequest generates a "aws/request.Request" representing the 5320// client's request for the GetContextKeysForPrincipalPolicy operation. The "output" return 5321// value will be populated with the request's response once the request complets 5322// successfuly. 5323// 5324// Use "Send" method on the returned Request to send the API call to the service. 5325// the "output" return value is not valid until after Send returns without error. 5326// 5327// See GetContextKeysForPrincipalPolicy for more information on using the GetContextKeysForPrincipalPolicy 5328// API call, and error handling. 5329// 5330// This method is useful when you want to inject custom logic or configuration 5331// into the SDK's request lifecycle. Such as custom headers, or retry logic. 5332// 5333// 5334// // Example sending a request using the GetContextKeysForPrincipalPolicyRequest method. 5335// req, resp := client.GetContextKeysForPrincipalPolicyRequest(params) 5336// 5337// err := req.Send() 5338// if err == nil { // resp is now filled 5339// fmt.Println(resp) 5340// } 5341// 5342// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/GetContextKeysForPrincipalPolicy 5343func (c *IAM) GetContextKeysForPrincipalPolicyRequest(input *GetContextKeysForPrincipalPolicyInput) (req *request.Request, output *GetContextKeysForPolicyResponse) { 5344 op := &request.Operation{ 5345 Name: opGetContextKeysForPrincipalPolicy, 5346 HTTPMethod: "POST", 5347 HTTPPath: "/", 5348 } 5349 5350 if input == nil { 5351 input = &GetContextKeysForPrincipalPolicyInput{} 5352 } 5353 5354 output = &GetContextKeysForPolicyResponse{} 5355 req = c.newRequest(op, input, output) 5356 return 5357} 5358 5359// GetContextKeysForPrincipalPolicy API operation for AWS Identity and Access Management. 5360// 5361// Gets a list of all of the context keys referenced in all of the IAM policies 5362// attached to the specified IAM entity. The entity can be an IAM user, group, 5363// or role. If you specify a user, then the request also includes all of the 5364// policies attached to groups that the user is a member of. 5365// 5366// You can optionally include a list of one or more additional policies, specified 5367// as strings. If you want to include only a list of policies by string, use 5368// GetContextKeysForCustomPolicy instead. 5369// 5370// Note: This API discloses information about the permissions granted to other 5371// users. If you do not want users to see other user's permissions, then consider 5372// allowing them to use GetContextKeysForCustomPolicy instead. 5373// 5374// Context keys are variables maintained by AWS and its services that provide 5375// details about the context of an API query request, and can be evaluated by 5376// testing against a value in an IAM policy. Use GetContextKeysForPrincipalPolicy 5377// to understand what key names and values you must supply when you call SimulatePrincipalPolicy. 5378// 5379// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5380// with awserr.Error's Code and Message methods to get detailed information about 5381// the error. 5382// 5383// See the AWS API reference guide for AWS Identity and Access Management's 5384// API operation GetContextKeysForPrincipalPolicy for usage and error information. 5385// 5386// Returned Error Codes: 5387// * ErrCodeNoSuchEntityException "NoSuchEntity" 5388// The request was rejected because it referenced an entity that does not exist. 5389// The error message describes the entity. 5390// 5391// * ErrCodeInvalidInputException "InvalidInput" 5392// The request was rejected because an invalid or out-of-range value was supplied 5393// for an input parameter. 5394// 5395// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/GetContextKeysForPrincipalPolicy 5396func (c *IAM) GetContextKeysForPrincipalPolicy(input *GetContextKeysForPrincipalPolicyInput) (*GetContextKeysForPolicyResponse, error) { 5397 req, out := c.GetContextKeysForPrincipalPolicyRequest(input) 5398 return out, req.Send() 5399} 5400 5401// GetContextKeysForPrincipalPolicyWithContext is the same as GetContextKeysForPrincipalPolicy with the addition of 5402// the ability to pass a context and additional request options. 5403// 5404// See GetContextKeysForPrincipalPolicy for details on how to use this API operation. 5405// 5406// The context must be non-nil and will be used for request cancellation. If 5407// the context is nil a panic will occur. In the future the SDK may create 5408// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5409// for more information on using Contexts. 5410func (c *IAM) GetContextKeysForPrincipalPolicyWithContext(ctx aws.Context, input *GetContextKeysForPrincipalPolicyInput, opts ...request.Option) (*GetContextKeysForPolicyResponse, error) { 5411 req, out := c.GetContextKeysForPrincipalPolicyRequest(input) 5412 req.SetContext(ctx) 5413 req.ApplyOptions(opts...) 5414 return out, req.Send() 5415} 5416 5417const opGetCredentialReport = "GetCredentialReport" 5418 5419// GetCredentialReportRequest generates a "aws/request.Request" representing the 5420// client's request for the GetCredentialReport operation. The "output" return 5421// value will be populated with the request's response once the request complets 5422// successfuly. 5423// 5424// Use "Send" method on the returned Request to send the API call to the service. 5425// the "output" return value is not valid until after Send returns without error. 5426// 5427// See GetCredentialReport for more information on using the GetCredentialReport 5428// API call, and error handling. 5429// 5430// This method is useful when you want to inject custom logic or configuration 5431// into the SDK's request lifecycle. Such as custom headers, or retry logic. 5432// 5433// 5434// // Example sending a request using the GetCredentialReportRequest method. 5435// req, resp := client.GetCredentialReportRequest(params) 5436// 5437// err := req.Send() 5438// if err == nil { // resp is now filled 5439// fmt.Println(resp) 5440// } 5441// 5442// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/GetCredentialReport 5443func (c *IAM) GetCredentialReportRequest(input *GetCredentialReportInput) (req *request.Request, output *GetCredentialReportOutput) { 5444 op := &request.Operation{ 5445 Name: opGetCredentialReport, 5446 HTTPMethod: "POST", 5447 HTTPPath: "/", 5448 } 5449 5450 if input == nil { 5451 input = &GetCredentialReportInput{} 5452 } 5453 5454 output = &GetCredentialReportOutput{} 5455 req = c.newRequest(op, input, output) 5456 return 5457} 5458 5459// GetCredentialReport API operation for AWS Identity and Access Management. 5460// 5461// Retrieves a credential report for the AWS account. For more information about 5462// the credential report, see Getting Credential Reports (http://docs.aws.amazon.com/IAM/latest/UserGuide/credential-reports.html) 5463// in the IAM User Guide. 5464// 5465// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5466// with awserr.Error's Code and Message methods to get detailed information about 5467// the error. 5468// 5469// See the AWS API reference guide for AWS Identity and Access Management's 5470// API operation GetCredentialReport for usage and error information. 5471// 5472// Returned Error Codes: 5473// * ErrCodeCredentialReportNotPresentException "ReportNotPresent" 5474// The request was rejected because the credential report does not exist. To 5475// generate a credential report, use GenerateCredentialReport. 5476// 5477// * ErrCodeCredentialReportExpiredException "ReportExpired" 5478// The request was rejected because the most recent credential report has expired. 5479// To generate a new credential report, use GenerateCredentialReport. For more 5480// information about credential report expiration, see Getting Credential Reports 5481// (http://docs.aws.amazon.com/IAM/latest/UserGuide/credential-reports.html) 5482// in the IAM User Guide. 5483// 5484// * ErrCodeCredentialReportNotReadyException "ReportInProgress" 5485// The request was rejected because the credential report is still being generated. 5486// 5487// * ErrCodeServiceFailureException "ServiceFailure" 5488// The request processing has failed because of an unknown error, exception 5489// or failure. 5490// 5491// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/GetCredentialReport 5492func (c *IAM) GetCredentialReport(input *GetCredentialReportInput) (*GetCredentialReportOutput, error) { 5493 req, out := c.GetCredentialReportRequest(input) 5494 return out, req.Send() 5495} 5496 5497// GetCredentialReportWithContext is the same as GetCredentialReport with the addition of 5498// the ability to pass a context and additional request options. 5499// 5500// See GetCredentialReport for details on how to use this API operation. 5501// 5502// The context must be non-nil and will be used for request cancellation. If 5503// the context is nil a panic will occur. In the future the SDK may create 5504// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5505// for more information on using Contexts. 5506func (c *IAM) GetCredentialReportWithContext(ctx aws.Context, input *GetCredentialReportInput, opts ...request.Option) (*GetCredentialReportOutput, error) { 5507 req, out := c.GetCredentialReportRequest(input) 5508 req.SetContext(ctx) 5509 req.ApplyOptions(opts...) 5510 return out, req.Send() 5511} 5512 5513const opGetGroup = "GetGroup" 5514 5515// GetGroupRequest generates a "aws/request.Request" representing the 5516// client's request for the GetGroup operation. The "output" return 5517// value will be populated with the request's response once the request complets 5518// successfuly. 5519// 5520// Use "Send" method on the returned Request to send the API call to the service. 5521// the "output" return value is not valid until after Send returns without error. 5522// 5523// See GetGroup for more information on using the GetGroup 5524// API call, and error handling. 5525// 5526// This method is useful when you want to inject custom logic or configuration 5527// into the SDK's request lifecycle. Such as custom headers, or retry logic. 5528// 5529// 5530// // Example sending a request using the GetGroupRequest method. 5531// req, resp := client.GetGroupRequest(params) 5532// 5533// err := req.Send() 5534// if err == nil { // resp is now filled 5535// fmt.Println(resp) 5536// } 5537// 5538// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/GetGroup 5539func (c *IAM) GetGroupRequest(input *GetGroupInput) (req *request.Request, output *GetGroupOutput) { 5540 op := &request.Operation{ 5541 Name: opGetGroup, 5542 HTTPMethod: "POST", 5543 HTTPPath: "/", 5544 Paginator: &request.Paginator{ 5545 InputTokens: []string{"Marker"}, 5546 OutputTokens: []string{"Marker"}, 5547 LimitToken: "MaxItems", 5548 TruncationToken: "IsTruncated", 5549 }, 5550 } 5551 5552 if input == nil { 5553 input = &GetGroupInput{} 5554 } 5555 5556 output = &GetGroupOutput{} 5557 req = c.newRequest(op, input, output) 5558 return 5559} 5560 5561// GetGroup API operation for AWS Identity and Access Management. 5562// 5563// Returns a list of IAM users that are in the specified IAM group. You can 5564// paginate the results using the MaxItems and Marker parameters. 5565// 5566// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5567// with awserr.Error's Code and Message methods to get detailed information about 5568// the error. 5569// 5570// See the AWS API reference guide for AWS Identity and Access Management's 5571// API operation GetGroup for usage and error information. 5572// 5573// Returned Error Codes: 5574// * ErrCodeNoSuchEntityException "NoSuchEntity" 5575// The request was rejected because it referenced an entity that does not exist. 5576// The error message describes the entity. 5577// 5578// * ErrCodeServiceFailureException "ServiceFailure" 5579// The request processing has failed because of an unknown error, exception 5580// or failure. 5581// 5582// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/GetGroup 5583func (c *IAM) GetGroup(input *GetGroupInput) (*GetGroupOutput, error) { 5584 req, out := c.GetGroupRequest(input) 5585 return out, req.Send() 5586} 5587 5588// GetGroupWithContext is the same as GetGroup with the addition of 5589// the ability to pass a context and additional request options. 5590// 5591// See GetGroup for details on how to use this API operation. 5592// 5593// The context must be non-nil and will be used for request cancellation. If 5594// the context is nil a panic will occur. In the future the SDK may create 5595// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5596// for more information on using Contexts. 5597func (c *IAM) GetGroupWithContext(ctx aws.Context, input *GetGroupInput, opts ...request.Option) (*GetGroupOutput, error) { 5598 req, out := c.GetGroupRequest(input) 5599 req.SetContext(ctx) 5600 req.ApplyOptions(opts...) 5601 return out, req.Send() 5602} 5603 5604// GetGroupPages iterates over the pages of a GetGroup operation, 5605// calling the "fn" function with the response data for each page. To stop 5606// iterating, return false from the fn function. 5607// 5608// See GetGroup method for more information on how to use this operation. 5609// 5610// Note: This operation can generate multiple requests to a service. 5611// 5612// // Example iterating over at most 3 pages of a GetGroup operation. 5613// pageNum := 0 5614// err := client.GetGroupPages(params, 5615// func(page *GetGroupOutput, lastPage bool) bool { 5616// pageNum++ 5617// fmt.Println(page) 5618// return pageNum <= 3 5619// }) 5620// 5621func (c *IAM) GetGroupPages(input *GetGroupInput, fn func(*GetGroupOutput, bool) bool) error { 5622 return c.GetGroupPagesWithContext(aws.BackgroundContext(), input, fn) 5623} 5624 5625// GetGroupPagesWithContext same as GetGroupPages except 5626// it takes a Context and allows setting request options on the pages. 5627// 5628// The context must be non-nil and will be used for request cancellation. If 5629// the context is nil a panic will occur. In the future the SDK may create 5630// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5631// for more information on using Contexts. 5632func (c *IAM) GetGroupPagesWithContext(ctx aws.Context, input *GetGroupInput, fn func(*GetGroupOutput, bool) bool, opts ...request.Option) error { 5633 p := request.Pagination{ 5634 NewRequest: func() (*request.Request, error) { 5635 var inCpy *GetGroupInput 5636 if input != nil { 5637 tmp := *input 5638 inCpy = &tmp 5639 } 5640 req, _ := c.GetGroupRequest(inCpy) 5641 req.SetContext(ctx) 5642 req.ApplyOptions(opts...) 5643 return req, nil 5644 }, 5645 } 5646 5647 cont := true 5648 for p.Next() && cont { 5649 cont = fn(p.Page().(*GetGroupOutput), !p.HasNextPage()) 5650 } 5651 return p.Err() 5652} 5653 5654const opGetGroupPolicy = "GetGroupPolicy" 5655 5656// GetGroupPolicyRequest generates a "aws/request.Request" representing the 5657// client's request for the GetGroupPolicy operation. The "output" return 5658// value will be populated with the request's response once the request complets 5659// successfuly. 5660// 5661// Use "Send" method on the returned Request to send the API call to the service. 5662// the "output" return value is not valid until after Send returns without error. 5663// 5664// See GetGroupPolicy for more information on using the GetGroupPolicy 5665// API call, and error handling. 5666// 5667// This method is useful when you want to inject custom logic or configuration 5668// into the SDK's request lifecycle. Such as custom headers, or retry logic. 5669// 5670// 5671// // Example sending a request using the GetGroupPolicyRequest method. 5672// req, resp := client.GetGroupPolicyRequest(params) 5673// 5674// err := req.Send() 5675// if err == nil { // resp is now filled 5676// fmt.Println(resp) 5677// } 5678// 5679// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/GetGroupPolicy 5680func (c *IAM) GetGroupPolicyRequest(input *GetGroupPolicyInput) (req *request.Request, output *GetGroupPolicyOutput) { 5681 op := &request.Operation{ 5682 Name: opGetGroupPolicy, 5683 HTTPMethod: "POST", 5684 HTTPPath: "/", 5685 } 5686 5687 if input == nil { 5688 input = &GetGroupPolicyInput{} 5689 } 5690 5691 output = &GetGroupPolicyOutput{} 5692 req = c.newRequest(op, input, output) 5693 return 5694} 5695 5696// GetGroupPolicy API operation for AWS Identity and Access Management. 5697// 5698// Retrieves the specified inline policy document that is embedded in the specified 5699// IAM group. 5700// 5701// Policies returned by this API are URL-encoded compliant with RFC 3986 (https://tools.ietf.org/html/rfc3986). 5702// You can use a URL decoding method to convert the policy back to plain JSON 5703// text. For example, if you use Java, you can use the decode method of the 5704// java.net.URLDecoder utility class in the Java SDK. Other languages and SDKs 5705// provide similar functionality. 5706// 5707// An IAM group can also have managed policies attached to it. To retrieve a 5708// managed policy document that is attached to a group, use GetPolicy to determine 5709// the policy's default version, then use GetPolicyVersion to retrieve the policy 5710// document. 5711// 5712// For more information about policies, see Managed Policies and Inline Policies 5713// (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html) 5714// in the IAM User Guide. 5715// 5716// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5717// with awserr.Error's Code and Message methods to get detailed information about 5718// the error. 5719// 5720// See the AWS API reference guide for AWS Identity and Access Management's 5721// API operation GetGroupPolicy for usage and error information. 5722// 5723// Returned Error Codes: 5724// * ErrCodeNoSuchEntityException "NoSuchEntity" 5725// The request was rejected because it referenced an entity that does not exist. 5726// The error message describes the entity. 5727// 5728// * ErrCodeServiceFailureException "ServiceFailure" 5729// The request processing has failed because of an unknown error, exception 5730// or failure. 5731// 5732// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/GetGroupPolicy 5733func (c *IAM) GetGroupPolicy(input *GetGroupPolicyInput) (*GetGroupPolicyOutput, error) { 5734 req, out := c.GetGroupPolicyRequest(input) 5735 return out, req.Send() 5736} 5737 5738// GetGroupPolicyWithContext is the same as GetGroupPolicy with the addition of 5739// the ability to pass a context and additional request options. 5740// 5741// See GetGroupPolicy for details on how to use this API operation. 5742// 5743// The context must be non-nil and will be used for request cancellation. If 5744// the context is nil a panic will occur. In the future the SDK may create 5745// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5746// for more information on using Contexts. 5747func (c *IAM) GetGroupPolicyWithContext(ctx aws.Context, input *GetGroupPolicyInput, opts ...request.Option) (*GetGroupPolicyOutput, error) { 5748 req, out := c.GetGroupPolicyRequest(input) 5749 req.SetContext(ctx) 5750 req.ApplyOptions(opts...) 5751 return out, req.Send() 5752} 5753 5754const opGetInstanceProfile = "GetInstanceProfile" 5755 5756// GetInstanceProfileRequest generates a "aws/request.Request" representing the 5757// client's request for the GetInstanceProfile operation. The "output" return 5758// value will be populated with the request's response once the request complets 5759// successfuly. 5760// 5761// Use "Send" method on the returned Request to send the API call to the service. 5762// the "output" return value is not valid until after Send returns without error. 5763// 5764// See GetInstanceProfile for more information on using the GetInstanceProfile 5765// API call, and error handling. 5766// 5767// This method is useful when you want to inject custom logic or configuration 5768// into the SDK's request lifecycle. Such as custom headers, or retry logic. 5769// 5770// 5771// // Example sending a request using the GetInstanceProfileRequest method. 5772// req, resp := client.GetInstanceProfileRequest(params) 5773// 5774// err := req.Send() 5775// if err == nil { // resp is now filled 5776// fmt.Println(resp) 5777// } 5778// 5779// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/GetInstanceProfile 5780func (c *IAM) GetInstanceProfileRequest(input *GetInstanceProfileInput) (req *request.Request, output *GetInstanceProfileOutput) { 5781 op := &request.Operation{ 5782 Name: opGetInstanceProfile, 5783 HTTPMethod: "POST", 5784 HTTPPath: "/", 5785 } 5786 5787 if input == nil { 5788 input = &GetInstanceProfileInput{} 5789 } 5790 5791 output = &GetInstanceProfileOutput{} 5792 req = c.newRequest(op, input, output) 5793 return 5794} 5795 5796// GetInstanceProfile API operation for AWS Identity and Access Management. 5797// 5798// Retrieves information about the specified instance profile, including the 5799// instance profile's path, GUID, ARN, and role. For more information about 5800// instance profiles, see About Instance Profiles (http://docs.aws.amazon.com/IAM/latest/UserGuide/AboutInstanceProfiles.html) 5801// in the IAM User Guide. 5802// 5803// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5804// with awserr.Error's Code and Message methods to get detailed information about 5805// the error. 5806// 5807// See the AWS API reference guide for AWS Identity and Access Management's 5808// API operation GetInstanceProfile for usage and error information. 5809// 5810// Returned Error Codes: 5811// * ErrCodeNoSuchEntityException "NoSuchEntity" 5812// The request was rejected because it referenced an entity that does not exist. 5813// The error message describes the entity. 5814// 5815// * ErrCodeServiceFailureException "ServiceFailure" 5816// The request processing has failed because of an unknown error, exception 5817// or failure. 5818// 5819// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/GetInstanceProfile 5820func (c *IAM) GetInstanceProfile(input *GetInstanceProfileInput) (*GetInstanceProfileOutput, error) { 5821 req, out := c.GetInstanceProfileRequest(input) 5822 return out, req.Send() 5823} 5824 5825// GetInstanceProfileWithContext is the same as GetInstanceProfile with the addition of 5826// the ability to pass a context and additional request options. 5827// 5828// See GetInstanceProfile for details on how to use this API operation. 5829// 5830// The context must be non-nil and will be used for request cancellation. If 5831// the context is nil a panic will occur. In the future the SDK may create 5832// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5833// for more information on using Contexts. 5834func (c *IAM) GetInstanceProfileWithContext(ctx aws.Context, input *GetInstanceProfileInput, opts ...request.Option) (*GetInstanceProfileOutput, error) { 5835 req, out := c.GetInstanceProfileRequest(input) 5836 req.SetContext(ctx) 5837 req.ApplyOptions(opts...) 5838 return out, req.Send() 5839} 5840 5841const opGetLoginProfile = "GetLoginProfile" 5842 5843// GetLoginProfileRequest generates a "aws/request.Request" representing the 5844// client's request for the GetLoginProfile operation. The "output" return 5845// value will be populated with the request's response once the request complets 5846// successfuly. 5847// 5848// Use "Send" method on the returned Request to send the API call to the service. 5849// the "output" return value is not valid until after Send returns without error. 5850// 5851// See GetLoginProfile for more information on using the GetLoginProfile 5852// API call, and error handling. 5853// 5854// This method is useful when you want to inject custom logic or configuration 5855// into the SDK's request lifecycle. Such as custom headers, or retry logic. 5856// 5857// 5858// // Example sending a request using the GetLoginProfileRequest method. 5859// req, resp := client.GetLoginProfileRequest(params) 5860// 5861// err := req.Send() 5862// if err == nil { // resp is now filled 5863// fmt.Println(resp) 5864// } 5865// 5866// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/GetLoginProfile 5867func (c *IAM) GetLoginProfileRequest(input *GetLoginProfileInput) (req *request.Request, output *GetLoginProfileOutput) { 5868 op := &request.Operation{ 5869 Name: opGetLoginProfile, 5870 HTTPMethod: "POST", 5871 HTTPPath: "/", 5872 } 5873 5874 if input == nil { 5875 input = &GetLoginProfileInput{} 5876 } 5877 5878 output = &GetLoginProfileOutput{} 5879 req = c.newRequest(op, input, output) 5880 return 5881} 5882 5883// GetLoginProfile API operation for AWS Identity and Access Management. 5884// 5885// Retrieves the user name and password-creation date for the specified IAM 5886// user. If the user has not been assigned a password, the action returns a 5887// 404 (NoSuchEntity) error. 5888// 5889// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5890// with awserr.Error's Code and Message methods to get detailed information about 5891// the error. 5892// 5893// See the AWS API reference guide for AWS Identity and Access Management's 5894// API operation GetLoginProfile for usage and error information. 5895// 5896// Returned Error Codes: 5897// * ErrCodeNoSuchEntityException "NoSuchEntity" 5898// The request was rejected because it referenced an entity that does not exist. 5899// The error message describes the entity. 5900// 5901// * ErrCodeServiceFailureException "ServiceFailure" 5902// The request processing has failed because of an unknown error, exception 5903// or failure. 5904// 5905// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/GetLoginProfile 5906func (c *IAM) GetLoginProfile(input *GetLoginProfileInput) (*GetLoginProfileOutput, error) { 5907 req, out := c.GetLoginProfileRequest(input) 5908 return out, req.Send() 5909} 5910 5911// GetLoginProfileWithContext is the same as GetLoginProfile with the addition of 5912// the ability to pass a context and additional request options. 5913// 5914// See GetLoginProfile for details on how to use this API operation. 5915// 5916// The context must be non-nil and will be used for request cancellation. If 5917// the context is nil a panic will occur. In the future the SDK may create 5918// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5919// for more information on using Contexts. 5920func (c *IAM) GetLoginProfileWithContext(ctx aws.Context, input *GetLoginProfileInput, opts ...request.Option) (*GetLoginProfileOutput, error) { 5921 req, out := c.GetLoginProfileRequest(input) 5922 req.SetContext(ctx) 5923 req.ApplyOptions(opts...) 5924 return out, req.Send() 5925} 5926 5927const opGetOpenIDConnectProvider = "GetOpenIDConnectProvider" 5928 5929// GetOpenIDConnectProviderRequest generates a "aws/request.Request" representing the 5930// client's request for the GetOpenIDConnectProvider operation. The "output" return 5931// value will be populated with the request's response once the request complets 5932// successfuly. 5933// 5934// Use "Send" method on the returned Request to send the API call to the service. 5935// the "output" return value is not valid until after Send returns without error. 5936// 5937// See GetOpenIDConnectProvider for more information on using the GetOpenIDConnectProvider 5938// API call, and error handling. 5939// 5940// This method is useful when you want to inject custom logic or configuration 5941// into the SDK's request lifecycle. Such as custom headers, or retry logic. 5942// 5943// 5944// // Example sending a request using the GetOpenIDConnectProviderRequest method. 5945// req, resp := client.GetOpenIDConnectProviderRequest(params) 5946// 5947// err := req.Send() 5948// if err == nil { // resp is now filled 5949// fmt.Println(resp) 5950// } 5951// 5952// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/GetOpenIDConnectProvider 5953func (c *IAM) GetOpenIDConnectProviderRequest(input *GetOpenIDConnectProviderInput) (req *request.Request, output *GetOpenIDConnectProviderOutput) { 5954 op := &request.Operation{ 5955 Name: opGetOpenIDConnectProvider, 5956 HTTPMethod: "POST", 5957 HTTPPath: "/", 5958 } 5959 5960 if input == nil { 5961 input = &GetOpenIDConnectProviderInput{} 5962 } 5963 5964 output = &GetOpenIDConnectProviderOutput{} 5965 req = c.newRequest(op, input, output) 5966 return 5967} 5968 5969// GetOpenIDConnectProvider API operation for AWS Identity and Access Management. 5970// 5971// Returns information about the specified OpenID Connect (OIDC) provider resource 5972// object in IAM. 5973// 5974// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5975// with awserr.Error's Code and Message methods to get detailed information about 5976// the error. 5977// 5978// See the AWS API reference guide for AWS Identity and Access Management's 5979// API operation GetOpenIDConnectProvider for usage and error information. 5980// 5981// Returned Error Codes: 5982// * ErrCodeInvalidInputException "InvalidInput" 5983// The request was rejected because an invalid or out-of-range value was supplied 5984// for an input parameter. 5985// 5986// * ErrCodeNoSuchEntityException "NoSuchEntity" 5987// The request was rejected because it referenced an entity that does not exist. 5988// The error message describes the entity. 5989// 5990// * ErrCodeServiceFailureException "ServiceFailure" 5991// The request processing has failed because of an unknown error, exception 5992// or failure. 5993// 5994// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/GetOpenIDConnectProvider 5995func (c *IAM) GetOpenIDConnectProvider(input *GetOpenIDConnectProviderInput) (*GetOpenIDConnectProviderOutput, error) { 5996 req, out := c.GetOpenIDConnectProviderRequest(input) 5997 return out, req.Send() 5998} 5999 6000// GetOpenIDConnectProviderWithContext is the same as GetOpenIDConnectProvider with the addition of 6001// the ability to pass a context and additional request options. 6002// 6003// See GetOpenIDConnectProvider for details on how to use this API operation. 6004// 6005// The context must be non-nil and will be used for request cancellation. If 6006// the context is nil a panic will occur. In the future the SDK may create 6007// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 6008// for more information on using Contexts. 6009func (c *IAM) GetOpenIDConnectProviderWithContext(ctx aws.Context, input *GetOpenIDConnectProviderInput, opts ...request.Option) (*GetOpenIDConnectProviderOutput, error) { 6010 req, out := c.GetOpenIDConnectProviderRequest(input) 6011 req.SetContext(ctx) 6012 req.ApplyOptions(opts...) 6013 return out, req.Send() 6014} 6015 6016const opGetPolicy = "GetPolicy" 6017 6018// GetPolicyRequest generates a "aws/request.Request" representing the 6019// client's request for the GetPolicy operation. The "output" return 6020// value will be populated with the request's response once the request complets 6021// successfuly. 6022// 6023// Use "Send" method on the returned Request to send the API call to the service. 6024// the "output" return value is not valid until after Send returns without error. 6025// 6026// See GetPolicy for more information on using the GetPolicy 6027// API call, and error handling. 6028// 6029// This method is useful when you want to inject custom logic or configuration 6030// into the SDK's request lifecycle. Such as custom headers, or retry logic. 6031// 6032// 6033// // Example sending a request using the GetPolicyRequest method. 6034// req, resp := client.GetPolicyRequest(params) 6035// 6036// err := req.Send() 6037// if err == nil { // resp is now filled 6038// fmt.Println(resp) 6039// } 6040// 6041// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/GetPolicy 6042func (c *IAM) GetPolicyRequest(input *GetPolicyInput) (req *request.Request, output *GetPolicyOutput) { 6043 op := &request.Operation{ 6044 Name: opGetPolicy, 6045 HTTPMethod: "POST", 6046 HTTPPath: "/", 6047 } 6048 6049 if input == nil { 6050 input = &GetPolicyInput{} 6051 } 6052 6053 output = &GetPolicyOutput{} 6054 req = c.newRequest(op, input, output) 6055 return 6056} 6057 6058// GetPolicy API operation for AWS Identity and Access Management. 6059// 6060// Retrieves information about the specified managed policy, including the policy's 6061// default version and the total number of IAM users, groups, and roles to which 6062// the policy is attached. To retrieve the list of the specific users, groups, 6063// and roles that the policy is attached to, use the ListEntitiesForPolicy API. 6064// This API returns metadata about the policy. To retrieve the actual policy 6065// document for a specific version of the policy, use GetPolicyVersion. 6066// 6067// This API retrieves information about managed policies. To retrieve information 6068// about an inline policy that is embedded with an IAM user, group, or role, 6069// use the GetUserPolicy, GetGroupPolicy, or GetRolePolicy API. 6070// 6071// For more information about policies, see Managed Policies and Inline Policies 6072// (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html) 6073// in the IAM User Guide. 6074// 6075// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 6076// with awserr.Error's Code and Message methods to get detailed information about 6077// the error. 6078// 6079// See the AWS API reference guide for AWS Identity and Access Management's 6080// API operation GetPolicy for usage and error information. 6081// 6082// Returned Error Codes: 6083// * ErrCodeNoSuchEntityException "NoSuchEntity" 6084// The request was rejected because it referenced an entity that does not exist. 6085// The error message describes the entity. 6086// 6087// * ErrCodeInvalidInputException "InvalidInput" 6088// The request was rejected because an invalid or out-of-range value was supplied 6089// for an input parameter. 6090// 6091// * ErrCodeServiceFailureException "ServiceFailure" 6092// The request processing has failed because of an unknown error, exception 6093// or failure. 6094// 6095// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/GetPolicy 6096func (c *IAM) GetPolicy(input *GetPolicyInput) (*GetPolicyOutput, error) { 6097 req, out := c.GetPolicyRequest(input) 6098 return out, req.Send() 6099} 6100 6101// GetPolicyWithContext is the same as GetPolicy with the addition of 6102// the ability to pass a context and additional request options. 6103// 6104// See GetPolicy for details on how to use this API operation. 6105// 6106// The context must be non-nil and will be used for request cancellation. If 6107// the context is nil a panic will occur. In the future the SDK may create 6108// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 6109// for more information on using Contexts. 6110func (c *IAM) GetPolicyWithContext(ctx aws.Context, input *GetPolicyInput, opts ...request.Option) (*GetPolicyOutput, error) { 6111 req, out := c.GetPolicyRequest(input) 6112 req.SetContext(ctx) 6113 req.ApplyOptions(opts...) 6114 return out, req.Send() 6115} 6116 6117const opGetPolicyVersion = "GetPolicyVersion" 6118 6119// GetPolicyVersionRequest generates a "aws/request.Request" representing the 6120// client's request for the GetPolicyVersion operation. The "output" return 6121// value will be populated with the request's response once the request complets 6122// successfuly. 6123// 6124// Use "Send" method on the returned Request to send the API call to the service. 6125// the "output" return value is not valid until after Send returns without error. 6126// 6127// See GetPolicyVersion for more information on using the GetPolicyVersion 6128// API call, and error handling. 6129// 6130// This method is useful when you want to inject custom logic or configuration 6131// into the SDK's request lifecycle. Such as custom headers, or retry logic. 6132// 6133// 6134// // Example sending a request using the GetPolicyVersionRequest method. 6135// req, resp := client.GetPolicyVersionRequest(params) 6136// 6137// err := req.Send() 6138// if err == nil { // resp is now filled 6139// fmt.Println(resp) 6140// } 6141// 6142// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/GetPolicyVersion 6143func (c *IAM) GetPolicyVersionRequest(input *GetPolicyVersionInput) (req *request.Request, output *GetPolicyVersionOutput) { 6144 op := &request.Operation{ 6145 Name: opGetPolicyVersion, 6146 HTTPMethod: "POST", 6147 HTTPPath: "/", 6148 } 6149 6150 if input == nil { 6151 input = &GetPolicyVersionInput{} 6152 } 6153 6154 output = &GetPolicyVersionOutput{} 6155 req = c.newRequest(op, input, output) 6156 return 6157} 6158 6159// GetPolicyVersion API operation for AWS Identity and Access Management. 6160// 6161// Retrieves information about the specified version of the specified managed 6162// policy, including the policy document. 6163// 6164// Policies returned by this API are URL-encoded compliant with RFC 3986 (https://tools.ietf.org/html/rfc3986). 6165// You can use a URL decoding method to convert the policy back to plain JSON 6166// text. For example, if you use Java, you can use the decode method of the 6167// java.net.URLDecoder utility class in the Java SDK. Other languages and SDKs 6168// provide similar functionality. 6169// 6170// To list the available versions for a policy, use ListPolicyVersions. 6171// 6172// This API retrieves information about managed policies. To retrieve information 6173// about an inline policy that is embedded in a user, group, or role, use the 6174// GetUserPolicy, GetGroupPolicy, or GetRolePolicy API. 6175// 6176// For more information about the types of policies, see Managed Policies and 6177// Inline Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html) 6178// in the IAM User Guide. 6179// 6180// For more information about managed policy versions, see Versioning for Managed 6181// Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-versions.html) 6182// in the IAM User Guide. 6183// 6184// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 6185// with awserr.Error's Code and Message methods to get detailed information about 6186// the error. 6187// 6188// See the AWS API reference guide for AWS Identity and Access Management's 6189// API operation GetPolicyVersion for usage and error information. 6190// 6191// Returned Error Codes: 6192// * ErrCodeNoSuchEntityException "NoSuchEntity" 6193// The request was rejected because it referenced an entity that does not exist. 6194// The error message describes the entity. 6195// 6196// * ErrCodeInvalidInputException "InvalidInput" 6197// The request was rejected because an invalid or out-of-range value was supplied 6198// for an input parameter. 6199// 6200// * ErrCodeServiceFailureException "ServiceFailure" 6201// The request processing has failed because of an unknown error, exception 6202// or failure. 6203// 6204// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/GetPolicyVersion 6205func (c *IAM) GetPolicyVersion(input *GetPolicyVersionInput) (*GetPolicyVersionOutput, error) { 6206 req, out := c.GetPolicyVersionRequest(input) 6207 return out, req.Send() 6208} 6209 6210// GetPolicyVersionWithContext is the same as GetPolicyVersion with the addition of 6211// the ability to pass a context and additional request options. 6212// 6213// See GetPolicyVersion for details on how to use this API operation. 6214// 6215// The context must be non-nil and will be used for request cancellation. If 6216// the context is nil a panic will occur. In the future the SDK may create 6217// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 6218// for more information on using Contexts. 6219func (c *IAM) GetPolicyVersionWithContext(ctx aws.Context, input *GetPolicyVersionInput, opts ...request.Option) (*GetPolicyVersionOutput, error) { 6220 req, out := c.GetPolicyVersionRequest(input) 6221 req.SetContext(ctx) 6222 req.ApplyOptions(opts...) 6223 return out, req.Send() 6224} 6225 6226const opGetRole = "GetRole" 6227 6228// GetRoleRequest generates a "aws/request.Request" representing the 6229// client's request for the GetRole operation. The "output" return 6230// value will be populated with the request's response once the request complets 6231// successfuly. 6232// 6233// Use "Send" method on the returned Request to send the API call to the service. 6234// the "output" return value is not valid until after Send returns without error. 6235// 6236// See GetRole for more information on using the GetRole 6237// API call, and error handling. 6238// 6239// This method is useful when you want to inject custom logic or configuration 6240// into the SDK's request lifecycle. Such as custom headers, or retry logic. 6241// 6242// 6243// // Example sending a request using the GetRoleRequest method. 6244// req, resp := client.GetRoleRequest(params) 6245// 6246// err := req.Send() 6247// if err == nil { // resp is now filled 6248// fmt.Println(resp) 6249// } 6250// 6251// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/GetRole 6252func (c *IAM) GetRoleRequest(input *GetRoleInput) (req *request.Request, output *GetRoleOutput) { 6253 op := &request.Operation{ 6254 Name: opGetRole, 6255 HTTPMethod: "POST", 6256 HTTPPath: "/", 6257 } 6258 6259 if input == nil { 6260 input = &GetRoleInput{} 6261 } 6262 6263 output = &GetRoleOutput{} 6264 req = c.newRequest(op, input, output) 6265 return 6266} 6267 6268// GetRole API operation for AWS Identity and Access Management. 6269// 6270// Retrieves information about the specified role, including the role's path, 6271// GUID, ARN, and the role's trust policy that grants permission to assume the 6272// role. For more information about roles, see Working with Roles (http://docs.aws.amazon.com/IAM/latest/UserGuide/WorkingWithRoles.html). 6273// 6274// Policies returned by this API are URL-encoded compliant with RFC 3986 (https://tools.ietf.org/html/rfc3986). 6275// You can use a URL decoding method to convert the policy back to plain JSON 6276// text. For example, if you use Java, you can use the decode method of the 6277// java.net.URLDecoder utility class in the Java SDK. Other languages and SDKs 6278// provide similar functionality. 6279// 6280// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 6281// with awserr.Error's Code and Message methods to get detailed information about 6282// the error. 6283// 6284// See the AWS API reference guide for AWS Identity and Access Management's 6285// API operation GetRole for usage and error information. 6286// 6287// Returned Error Codes: 6288// * ErrCodeNoSuchEntityException "NoSuchEntity" 6289// The request was rejected because it referenced an entity that does not exist. 6290// The error message describes the entity. 6291// 6292// * ErrCodeServiceFailureException "ServiceFailure" 6293// The request processing has failed because of an unknown error, exception 6294// or failure. 6295// 6296// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/GetRole 6297func (c *IAM) GetRole(input *GetRoleInput) (*GetRoleOutput, error) { 6298 req, out := c.GetRoleRequest(input) 6299 return out, req.Send() 6300} 6301 6302// GetRoleWithContext is the same as GetRole with the addition of 6303// the ability to pass a context and additional request options. 6304// 6305// See GetRole for details on how to use this API operation. 6306// 6307// The context must be non-nil and will be used for request cancellation. If 6308// the context is nil a panic will occur. In the future the SDK may create 6309// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 6310// for more information on using Contexts. 6311func (c *IAM) GetRoleWithContext(ctx aws.Context, input *GetRoleInput, opts ...request.Option) (*GetRoleOutput, error) { 6312 req, out := c.GetRoleRequest(input) 6313 req.SetContext(ctx) 6314 req.ApplyOptions(opts...) 6315 return out, req.Send() 6316} 6317 6318const opGetRolePolicy = "GetRolePolicy" 6319 6320// GetRolePolicyRequest generates a "aws/request.Request" representing the 6321// client's request for the GetRolePolicy operation. The "output" return 6322// value will be populated with the request's response once the request complets 6323// successfuly. 6324// 6325// Use "Send" method on the returned Request to send the API call to the service. 6326// the "output" return value is not valid until after Send returns without error. 6327// 6328// See GetRolePolicy for more information on using the GetRolePolicy 6329// API call, and error handling. 6330// 6331// This method is useful when you want to inject custom logic or configuration 6332// into the SDK's request lifecycle. Such as custom headers, or retry logic. 6333// 6334// 6335// // Example sending a request using the GetRolePolicyRequest method. 6336// req, resp := client.GetRolePolicyRequest(params) 6337// 6338// err := req.Send() 6339// if err == nil { // resp is now filled 6340// fmt.Println(resp) 6341// } 6342// 6343// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/GetRolePolicy 6344func (c *IAM) GetRolePolicyRequest(input *GetRolePolicyInput) (req *request.Request, output *GetRolePolicyOutput) { 6345 op := &request.Operation{ 6346 Name: opGetRolePolicy, 6347 HTTPMethod: "POST", 6348 HTTPPath: "/", 6349 } 6350 6351 if input == nil { 6352 input = &GetRolePolicyInput{} 6353 } 6354 6355 output = &GetRolePolicyOutput{} 6356 req = c.newRequest(op, input, output) 6357 return 6358} 6359 6360// GetRolePolicy API operation for AWS Identity and Access Management. 6361// 6362// Retrieves the specified inline policy document that is embedded with the 6363// specified IAM role. 6364// 6365// Policies returned by this API are URL-encoded compliant with RFC 3986 (https://tools.ietf.org/html/rfc3986). 6366// You can use a URL decoding method to convert the policy back to plain JSON 6367// text. For example, if you use Java, you can use the decode method of the 6368// java.net.URLDecoder utility class in the Java SDK. Other languages and SDKs 6369// provide similar functionality. 6370// 6371// An IAM role can also have managed policies attached to it. To retrieve a 6372// managed policy document that is attached to a role, use GetPolicy to determine 6373// the policy's default version, then use GetPolicyVersion to retrieve the policy 6374// document. 6375// 6376// For more information about policies, see Managed Policies and Inline Policies 6377// (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html) 6378// in the IAM User Guide. 6379// 6380// For more information about roles, see Using Roles to Delegate Permissions 6381// and Federate Identities (http://docs.aws.amazon.com/IAM/latest/UserGuide/roles-toplevel.html). 6382// 6383// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 6384// with awserr.Error's Code and Message methods to get detailed information about 6385// the error. 6386// 6387// See the AWS API reference guide for AWS Identity and Access Management's 6388// API operation GetRolePolicy for usage and error information. 6389// 6390// Returned Error Codes: 6391// * ErrCodeNoSuchEntityException "NoSuchEntity" 6392// The request was rejected because it referenced an entity that does not exist. 6393// The error message describes the entity. 6394// 6395// * ErrCodeServiceFailureException "ServiceFailure" 6396// The request processing has failed because of an unknown error, exception 6397// or failure. 6398// 6399// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/GetRolePolicy 6400func (c *IAM) GetRolePolicy(input *GetRolePolicyInput) (*GetRolePolicyOutput, error) { 6401 req, out := c.GetRolePolicyRequest(input) 6402 return out, req.Send() 6403} 6404 6405// GetRolePolicyWithContext is the same as GetRolePolicy with the addition of 6406// the ability to pass a context and additional request options. 6407// 6408// See GetRolePolicy for details on how to use this API operation. 6409// 6410// The context must be non-nil and will be used for request cancellation. If 6411// the context is nil a panic will occur. In the future the SDK may create 6412// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 6413// for more information on using Contexts. 6414func (c *IAM) GetRolePolicyWithContext(ctx aws.Context, input *GetRolePolicyInput, opts ...request.Option) (*GetRolePolicyOutput, error) { 6415 req, out := c.GetRolePolicyRequest(input) 6416 req.SetContext(ctx) 6417 req.ApplyOptions(opts...) 6418 return out, req.Send() 6419} 6420 6421const opGetSAMLProvider = "GetSAMLProvider" 6422 6423// GetSAMLProviderRequest generates a "aws/request.Request" representing the 6424// client's request for the GetSAMLProvider operation. The "output" return 6425// value will be populated with the request's response once the request complets 6426// successfuly. 6427// 6428// Use "Send" method on the returned Request to send the API call to the service. 6429// the "output" return value is not valid until after Send returns without error. 6430// 6431// See GetSAMLProvider for more information on using the GetSAMLProvider 6432// API call, and error handling. 6433// 6434// This method is useful when you want to inject custom logic or configuration 6435// into the SDK's request lifecycle. Such as custom headers, or retry logic. 6436// 6437// 6438// // Example sending a request using the GetSAMLProviderRequest method. 6439// req, resp := client.GetSAMLProviderRequest(params) 6440// 6441// err := req.Send() 6442// if err == nil { // resp is now filled 6443// fmt.Println(resp) 6444// } 6445// 6446// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/GetSAMLProvider 6447func (c *IAM) GetSAMLProviderRequest(input *GetSAMLProviderInput) (req *request.Request, output *GetSAMLProviderOutput) { 6448 op := &request.Operation{ 6449 Name: opGetSAMLProvider, 6450 HTTPMethod: "POST", 6451 HTTPPath: "/", 6452 } 6453 6454 if input == nil { 6455 input = &GetSAMLProviderInput{} 6456 } 6457 6458 output = &GetSAMLProviderOutput{} 6459 req = c.newRequest(op, input, output) 6460 return 6461} 6462 6463// GetSAMLProvider API operation for AWS Identity and Access Management. 6464// 6465// Returns the SAML provider metadocument that was uploaded when the IAM SAML 6466// provider resource object was created or updated. 6467// 6468// This operation requires Signature Version 4 (http://docs.aws.amazon.com/general/latest/gr/signature-version-4.html). 6469// 6470// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 6471// with awserr.Error's Code and Message methods to get detailed information about 6472// the error. 6473// 6474// See the AWS API reference guide for AWS Identity and Access Management's 6475// API operation GetSAMLProvider for usage and error information. 6476// 6477// Returned Error Codes: 6478// * ErrCodeNoSuchEntityException "NoSuchEntity" 6479// The request was rejected because it referenced an entity that does not exist. 6480// The error message describes the entity. 6481// 6482// * ErrCodeInvalidInputException "InvalidInput" 6483// The request was rejected because an invalid or out-of-range value was supplied 6484// for an input parameter. 6485// 6486// * ErrCodeServiceFailureException "ServiceFailure" 6487// The request processing has failed because of an unknown error, exception 6488// or failure. 6489// 6490// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/GetSAMLProvider 6491func (c *IAM) GetSAMLProvider(input *GetSAMLProviderInput) (*GetSAMLProviderOutput, error) { 6492 req, out := c.GetSAMLProviderRequest(input) 6493 return out, req.Send() 6494} 6495 6496// GetSAMLProviderWithContext is the same as GetSAMLProvider with the addition of 6497// the ability to pass a context and additional request options. 6498// 6499// See GetSAMLProvider for details on how to use this API operation. 6500// 6501// The context must be non-nil and will be used for request cancellation. If 6502// the context is nil a panic will occur. In the future the SDK may create 6503// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 6504// for more information on using Contexts. 6505func (c *IAM) GetSAMLProviderWithContext(ctx aws.Context, input *GetSAMLProviderInput, opts ...request.Option) (*GetSAMLProviderOutput, error) { 6506 req, out := c.GetSAMLProviderRequest(input) 6507 req.SetContext(ctx) 6508 req.ApplyOptions(opts...) 6509 return out, req.Send() 6510} 6511 6512const opGetSSHPublicKey = "GetSSHPublicKey" 6513 6514// GetSSHPublicKeyRequest generates a "aws/request.Request" representing the 6515// client's request for the GetSSHPublicKey operation. The "output" return 6516// value will be populated with the request's response once the request complets 6517// successfuly. 6518// 6519// Use "Send" method on the returned Request to send the API call to the service. 6520// the "output" return value is not valid until after Send returns without error. 6521// 6522// See GetSSHPublicKey for more information on using the GetSSHPublicKey 6523// API call, and error handling. 6524// 6525// This method is useful when you want to inject custom logic or configuration 6526// into the SDK's request lifecycle. Such as custom headers, or retry logic. 6527// 6528// 6529// // Example sending a request using the GetSSHPublicKeyRequest method. 6530// req, resp := client.GetSSHPublicKeyRequest(params) 6531// 6532// err := req.Send() 6533// if err == nil { // resp is now filled 6534// fmt.Println(resp) 6535// } 6536// 6537// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/GetSSHPublicKey 6538func (c *IAM) GetSSHPublicKeyRequest(input *GetSSHPublicKeyInput) (req *request.Request, output *GetSSHPublicKeyOutput) { 6539 op := &request.Operation{ 6540 Name: opGetSSHPublicKey, 6541 HTTPMethod: "POST", 6542 HTTPPath: "/", 6543 } 6544 6545 if input == nil { 6546 input = &GetSSHPublicKeyInput{} 6547 } 6548 6549 output = &GetSSHPublicKeyOutput{} 6550 req = c.newRequest(op, input, output) 6551 return 6552} 6553 6554// GetSSHPublicKey API operation for AWS Identity and Access Management. 6555// 6556// Retrieves the specified SSH public key, including metadata about the key. 6557// 6558// The SSH public key retrieved by this action is used only for authenticating 6559// the associated IAM user to an AWS CodeCommit repository. For more information 6560// about using SSH keys to authenticate to an AWS CodeCommit repository, see 6561// Set up AWS CodeCommit for SSH Connections (http://docs.aws.amazon.com/codecommit/latest/userguide/setting-up-credentials-ssh.html) 6562// in the AWS CodeCommit User Guide. 6563// 6564// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 6565// with awserr.Error's Code and Message methods to get detailed information about 6566// the error. 6567// 6568// See the AWS API reference guide for AWS Identity and Access Management's 6569// API operation GetSSHPublicKey for usage and error information. 6570// 6571// Returned Error Codes: 6572// * ErrCodeNoSuchEntityException "NoSuchEntity" 6573// The request was rejected because it referenced an entity that does not exist. 6574// The error message describes the entity. 6575// 6576// * ErrCodeUnrecognizedPublicKeyEncodingException "UnrecognizedPublicKeyEncoding" 6577// The request was rejected because the public key encoding format is unsupported 6578// or unrecognized. 6579// 6580// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/GetSSHPublicKey 6581func (c *IAM) GetSSHPublicKey(input *GetSSHPublicKeyInput) (*GetSSHPublicKeyOutput, error) { 6582 req, out := c.GetSSHPublicKeyRequest(input) 6583 return out, req.Send() 6584} 6585 6586// GetSSHPublicKeyWithContext is the same as GetSSHPublicKey with the addition of 6587// the ability to pass a context and additional request options. 6588// 6589// See GetSSHPublicKey for details on how to use this API operation. 6590// 6591// The context must be non-nil and will be used for request cancellation. If 6592// the context is nil a panic will occur. In the future the SDK may create 6593// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 6594// for more information on using Contexts. 6595func (c *IAM) GetSSHPublicKeyWithContext(ctx aws.Context, input *GetSSHPublicKeyInput, opts ...request.Option) (*GetSSHPublicKeyOutput, error) { 6596 req, out := c.GetSSHPublicKeyRequest(input) 6597 req.SetContext(ctx) 6598 req.ApplyOptions(opts...) 6599 return out, req.Send() 6600} 6601 6602const opGetServerCertificate = "GetServerCertificate" 6603 6604// GetServerCertificateRequest generates a "aws/request.Request" representing the 6605// client's request for the GetServerCertificate operation. The "output" return 6606// value will be populated with the request's response once the request complets 6607// successfuly. 6608// 6609// Use "Send" method on the returned Request to send the API call to the service. 6610// the "output" return value is not valid until after Send returns without error. 6611// 6612// See GetServerCertificate for more information on using the GetServerCertificate 6613// API call, and error handling. 6614// 6615// This method is useful when you want to inject custom logic or configuration 6616// into the SDK's request lifecycle. Such as custom headers, or retry logic. 6617// 6618// 6619// // Example sending a request using the GetServerCertificateRequest method. 6620// req, resp := client.GetServerCertificateRequest(params) 6621// 6622// err := req.Send() 6623// if err == nil { // resp is now filled 6624// fmt.Println(resp) 6625// } 6626// 6627// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/GetServerCertificate 6628func (c *IAM) GetServerCertificateRequest(input *GetServerCertificateInput) (req *request.Request, output *GetServerCertificateOutput) { 6629 op := &request.Operation{ 6630 Name: opGetServerCertificate, 6631 HTTPMethod: "POST", 6632 HTTPPath: "/", 6633 } 6634 6635 if input == nil { 6636 input = &GetServerCertificateInput{} 6637 } 6638 6639 output = &GetServerCertificateOutput{} 6640 req = c.newRequest(op, input, output) 6641 return 6642} 6643 6644// GetServerCertificate API operation for AWS Identity and Access Management. 6645// 6646// Retrieves information about the specified server certificate stored in IAM. 6647// 6648// For more information about working with server certificates, including a 6649// list of AWS services that can use the server certificates that you manage 6650// with IAM, go to Working with Server Certificates (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_server-certs.html) 6651// in the IAM User Guide. 6652// 6653// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 6654// with awserr.Error's Code and Message methods to get detailed information about 6655// the error. 6656// 6657// See the AWS API reference guide for AWS Identity and Access Management's 6658// API operation GetServerCertificate for usage and error information. 6659// 6660// Returned Error Codes: 6661// * ErrCodeNoSuchEntityException "NoSuchEntity" 6662// The request was rejected because it referenced an entity that does not exist. 6663// The error message describes the entity. 6664// 6665// * ErrCodeServiceFailureException "ServiceFailure" 6666// The request processing has failed because of an unknown error, exception 6667// or failure. 6668// 6669// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/GetServerCertificate 6670func (c *IAM) GetServerCertificate(input *GetServerCertificateInput) (*GetServerCertificateOutput, error) { 6671 req, out := c.GetServerCertificateRequest(input) 6672 return out, req.Send() 6673} 6674 6675// GetServerCertificateWithContext is the same as GetServerCertificate with the addition of 6676// the ability to pass a context and additional request options. 6677// 6678// See GetServerCertificate for details on how to use this API operation. 6679// 6680// The context must be non-nil and will be used for request cancellation. If 6681// the context is nil a panic will occur. In the future the SDK may create 6682// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 6683// for more information on using Contexts. 6684func (c *IAM) GetServerCertificateWithContext(ctx aws.Context, input *GetServerCertificateInput, opts ...request.Option) (*GetServerCertificateOutput, error) { 6685 req, out := c.GetServerCertificateRequest(input) 6686 req.SetContext(ctx) 6687 req.ApplyOptions(opts...) 6688 return out, req.Send() 6689} 6690 6691const opGetServiceLinkedRoleDeletionStatus = "GetServiceLinkedRoleDeletionStatus" 6692 6693// GetServiceLinkedRoleDeletionStatusRequest generates a "aws/request.Request" representing the 6694// client's request for the GetServiceLinkedRoleDeletionStatus operation. The "output" return 6695// value will be populated with the request's response once the request complets 6696// successfuly. 6697// 6698// Use "Send" method on the returned Request to send the API call to the service. 6699// the "output" return value is not valid until after Send returns without error. 6700// 6701// See GetServiceLinkedRoleDeletionStatus for more information on using the GetServiceLinkedRoleDeletionStatus 6702// API call, and error handling. 6703// 6704// This method is useful when you want to inject custom logic or configuration 6705// into the SDK's request lifecycle. Such as custom headers, or retry logic. 6706// 6707// 6708// // Example sending a request using the GetServiceLinkedRoleDeletionStatusRequest method. 6709// req, resp := client.GetServiceLinkedRoleDeletionStatusRequest(params) 6710// 6711// err := req.Send() 6712// if err == nil { // resp is now filled 6713// fmt.Println(resp) 6714// } 6715// 6716// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/GetServiceLinkedRoleDeletionStatus 6717func (c *IAM) GetServiceLinkedRoleDeletionStatusRequest(input *GetServiceLinkedRoleDeletionStatusInput) (req *request.Request, output *GetServiceLinkedRoleDeletionStatusOutput) { 6718 op := &request.Operation{ 6719 Name: opGetServiceLinkedRoleDeletionStatus, 6720 HTTPMethod: "POST", 6721 HTTPPath: "/", 6722 } 6723 6724 if input == nil { 6725 input = &GetServiceLinkedRoleDeletionStatusInput{} 6726 } 6727 6728 output = &GetServiceLinkedRoleDeletionStatusOutput{} 6729 req = c.newRequest(op, input, output) 6730 return 6731} 6732 6733// GetServiceLinkedRoleDeletionStatus API operation for AWS Identity and Access Management. 6734// 6735// Retrieves the status of your service-linked role deletion. After you use 6736// the DeleteServiceLinkedRole API operation to submit a service-linked role 6737// for deletion, you can use the DeletionTaskId parameter in GetServiceLinkedRoleDeletionStatus 6738// to check the status of the deletion. If the deletion fails, this operation 6739// returns the reason that it failed. 6740// 6741// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 6742// with awserr.Error's Code and Message methods to get detailed information about 6743// the error. 6744// 6745// See the AWS API reference guide for AWS Identity and Access Management's 6746// API operation GetServiceLinkedRoleDeletionStatus for usage and error information. 6747// 6748// Returned Error Codes: 6749// * ErrCodeNoSuchEntityException "NoSuchEntity" 6750// The request was rejected because it referenced an entity that does not exist. 6751// The error message describes the entity. 6752// 6753// * ErrCodeInvalidInputException "InvalidInput" 6754// The request was rejected because an invalid or out-of-range value was supplied 6755// for an input parameter. 6756// 6757// * ErrCodeServiceFailureException "ServiceFailure" 6758// The request processing has failed because of an unknown error, exception 6759// or failure. 6760// 6761// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/GetServiceLinkedRoleDeletionStatus 6762func (c *IAM) GetServiceLinkedRoleDeletionStatus(input *GetServiceLinkedRoleDeletionStatusInput) (*GetServiceLinkedRoleDeletionStatusOutput, error) { 6763 req, out := c.GetServiceLinkedRoleDeletionStatusRequest(input) 6764 return out, req.Send() 6765} 6766 6767// GetServiceLinkedRoleDeletionStatusWithContext is the same as GetServiceLinkedRoleDeletionStatus with the addition of 6768// the ability to pass a context and additional request options. 6769// 6770// See GetServiceLinkedRoleDeletionStatus for details on how to use this API operation. 6771// 6772// The context must be non-nil and will be used for request cancellation. If 6773// the context is nil a panic will occur. In the future the SDK may create 6774// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 6775// for more information on using Contexts. 6776func (c *IAM) GetServiceLinkedRoleDeletionStatusWithContext(ctx aws.Context, input *GetServiceLinkedRoleDeletionStatusInput, opts ...request.Option) (*GetServiceLinkedRoleDeletionStatusOutput, error) { 6777 req, out := c.GetServiceLinkedRoleDeletionStatusRequest(input) 6778 req.SetContext(ctx) 6779 req.ApplyOptions(opts...) 6780 return out, req.Send() 6781} 6782 6783const opGetUser = "GetUser" 6784 6785// GetUserRequest generates a "aws/request.Request" representing the 6786// client's request for the GetUser operation. The "output" return 6787// value will be populated with the request's response once the request complets 6788// successfuly. 6789// 6790// Use "Send" method on the returned Request to send the API call to the service. 6791// the "output" return value is not valid until after Send returns without error. 6792// 6793// See GetUser for more information on using the GetUser 6794// API call, and error handling. 6795// 6796// This method is useful when you want to inject custom logic or configuration 6797// into the SDK's request lifecycle. Such as custom headers, or retry logic. 6798// 6799// 6800// // Example sending a request using the GetUserRequest method. 6801// req, resp := client.GetUserRequest(params) 6802// 6803// err := req.Send() 6804// if err == nil { // resp is now filled 6805// fmt.Println(resp) 6806// } 6807// 6808// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/GetUser 6809func (c *IAM) GetUserRequest(input *GetUserInput) (req *request.Request, output *GetUserOutput) { 6810 op := &request.Operation{ 6811 Name: opGetUser, 6812 HTTPMethod: "POST", 6813 HTTPPath: "/", 6814 } 6815 6816 if input == nil { 6817 input = &GetUserInput{} 6818 } 6819 6820 output = &GetUserOutput{} 6821 req = c.newRequest(op, input, output) 6822 return 6823} 6824 6825// GetUser API operation for AWS Identity and Access Management. 6826// 6827// Retrieves information about the specified IAM user, including the user's 6828// creation date, path, unique ID, and ARN. 6829// 6830// If you do not specify a user name, IAM determines the user name implicitly 6831// based on the AWS access key ID used to sign the request to this API. 6832// 6833// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 6834// with awserr.Error's Code and Message methods to get detailed information about 6835// the error. 6836// 6837// See the AWS API reference guide for AWS Identity and Access Management's 6838// API operation GetUser for usage and error information. 6839// 6840// Returned Error Codes: 6841// * ErrCodeNoSuchEntityException "NoSuchEntity" 6842// The request was rejected because it referenced an entity that does not exist. 6843// The error message describes the entity. 6844// 6845// * ErrCodeServiceFailureException "ServiceFailure" 6846// The request processing has failed because of an unknown error, exception 6847// or failure. 6848// 6849// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/GetUser 6850func (c *IAM) GetUser(input *GetUserInput) (*GetUserOutput, error) { 6851 req, out := c.GetUserRequest(input) 6852 return out, req.Send() 6853} 6854 6855// GetUserWithContext is the same as GetUser with the addition of 6856// the ability to pass a context and additional request options. 6857// 6858// See GetUser for details on how to use this API operation. 6859// 6860// The context must be non-nil and will be used for request cancellation. If 6861// the context is nil a panic will occur. In the future the SDK may create 6862// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 6863// for more information on using Contexts. 6864func (c *IAM) GetUserWithContext(ctx aws.Context, input *GetUserInput, opts ...request.Option) (*GetUserOutput, error) { 6865 req, out := c.GetUserRequest(input) 6866 req.SetContext(ctx) 6867 req.ApplyOptions(opts...) 6868 return out, req.Send() 6869} 6870 6871const opGetUserPolicy = "GetUserPolicy" 6872 6873// GetUserPolicyRequest generates a "aws/request.Request" representing the 6874// client's request for the GetUserPolicy operation. The "output" return 6875// value will be populated with the request's response once the request complets 6876// successfuly. 6877// 6878// Use "Send" method on the returned Request to send the API call to the service. 6879// the "output" return value is not valid until after Send returns without error. 6880// 6881// See GetUserPolicy for more information on using the GetUserPolicy 6882// API call, and error handling. 6883// 6884// This method is useful when you want to inject custom logic or configuration 6885// into the SDK's request lifecycle. Such as custom headers, or retry logic. 6886// 6887// 6888// // Example sending a request using the GetUserPolicyRequest method. 6889// req, resp := client.GetUserPolicyRequest(params) 6890// 6891// err := req.Send() 6892// if err == nil { // resp is now filled 6893// fmt.Println(resp) 6894// } 6895// 6896// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/GetUserPolicy 6897func (c *IAM) GetUserPolicyRequest(input *GetUserPolicyInput) (req *request.Request, output *GetUserPolicyOutput) { 6898 op := &request.Operation{ 6899 Name: opGetUserPolicy, 6900 HTTPMethod: "POST", 6901 HTTPPath: "/", 6902 } 6903 6904 if input == nil { 6905 input = &GetUserPolicyInput{} 6906 } 6907 6908 output = &GetUserPolicyOutput{} 6909 req = c.newRequest(op, input, output) 6910 return 6911} 6912 6913// GetUserPolicy API operation for AWS Identity and Access Management. 6914// 6915// Retrieves the specified inline policy document that is embedded in the specified 6916// IAM user. 6917// 6918// Policies returned by this API are URL-encoded compliant with RFC 3986 (https://tools.ietf.org/html/rfc3986). 6919// You can use a URL decoding method to convert the policy back to plain JSON 6920// text. For example, if you use Java, you can use the decode method of the 6921// java.net.URLDecoder utility class in the Java SDK. Other languages and SDKs 6922// provide similar functionality. 6923// 6924// An IAM user can also have managed policies attached to it. To retrieve a 6925// managed policy document that is attached to a user, use GetPolicy to determine 6926// the policy's default version, then use GetPolicyVersion to retrieve the policy 6927// document. 6928// 6929// For more information about policies, see Managed Policies and Inline Policies 6930// (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html) 6931// in the IAM User Guide. 6932// 6933// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 6934// with awserr.Error's Code and Message methods to get detailed information about 6935// the error. 6936// 6937// See the AWS API reference guide for AWS Identity and Access Management's 6938// API operation GetUserPolicy for usage and error information. 6939// 6940// Returned Error Codes: 6941// * ErrCodeNoSuchEntityException "NoSuchEntity" 6942// The request was rejected because it referenced an entity that does not exist. 6943// The error message describes the entity. 6944// 6945// * ErrCodeServiceFailureException "ServiceFailure" 6946// The request processing has failed because of an unknown error, exception 6947// or failure. 6948// 6949// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/GetUserPolicy 6950func (c *IAM) GetUserPolicy(input *GetUserPolicyInput) (*GetUserPolicyOutput, error) { 6951 req, out := c.GetUserPolicyRequest(input) 6952 return out, req.Send() 6953} 6954 6955// GetUserPolicyWithContext is the same as GetUserPolicy with the addition of 6956// the ability to pass a context and additional request options. 6957// 6958// See GetUserPolicy for details on how to use this API operation. 6959// 6960// The context must be non-nil and will be used for request cancellation. If 6961// the context is nil a panic will occur. In the future the SDK may create 6962// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 6963// for more information on using Contexts. 6964func (c *IAM) GetUserPolicyWithContext(ctx aws.Context, input *GetUserPolicyInput, opts ...request.Option) (*GetUserPolicyOutput, error) { 6965 req, out := c.GetUserPolicyRequest(input) 6966 req.SetContext(ctx) 6967 req.ApplyOptions(opts...) 6968 return out, req.Send() 6969} 6970 6971const opListAccessKeys = "ListAccessKeys" 6972 6973// ListAccessKeysRequest generates a "aws/request.Request" representing the 6974// client's request for the ListAccessKeys operation. The "output" return 6975// value will be populated with the request's response once the request complets 6976// successfuly. 6977// 6978// Use "Send" method on the returned Request to send the API call to the service. 6979// the "output" return value is not valid until after Send returns without error. 6980// 6981// See ListAccessKeys for more information on using the ListAccessKeys 6982// API call, and error handling. 6983// 6984// This method is useful when you want to inject custom logic or configuration 6985// into the SDK's request lifecycle. Such as custom headers, or retry logic. 6986// 6987// 6988// // Example sending a request using the ListAccessKeysRequest method. 6989// req, resp := client.ListAccessKeysRequest(params) 6990// 6991// err := req.Send() 6992// if err == nil { // resp is now filled 6993// fmt.Println(resp) 6994// } 6995// 6996// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ListAccessKeys 6997func (c *IAM) ListAccessKeysRequest(input *ListAccessKeysInput) (req *request.Request, output *ListAccessKeysOutput) { 6998 op := &request.Operation{ 6999 Name: opListAccessKeys, 7000 HTTPMethod: "POST", 7001 HTTPPath: "/", 7002 Paginator: &request.Paginator{ 7003 InputTokens: []string{"Marker"}, 7004 OutputTokens: []string{"Marker"}, 7005 LimitToken: "MaxItems", 7006 TruncationToken: "IsTruncated", 7007 }, 7008 } 7009 7010 if input == nil { 7011 input = &ListAccessKeysInput{} 7012 } 7013 7014 output = &ListAccessKeysOutput{} 7015 req = c.newRequest(op, input, output) 7016 return 7017} 7018 7019// ListAccessKeys API operation for AWS Identity and Access Management. 7020// 7021// Returns information about the access key IDs associated with the specified 7022// IAM user. If there are none, the action returns an empty list. 7023// 7024// Although each user is limited to a small number of keys, you can still paginate 7025// the results using the MaxItems and Marker parameters. 7026// 7027// If the UserName field is not specified, the UserName is determined implicitly 7028// based on the AWS access key ID used to sign the request. Because this action 7029// works for access keys under the AWS account, you can use this action to manage 7030// root credentials even if the AWS account has no associated users. 7031// 7032// To ensure the security of your AWS account, the secret access key is accessible 7033// only during key and user creation. 7034// 7035// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 7036// with awserr.Error's Code and Message methods to get detailed information about 7037// the error. 7038// 7039// See the AWS API reference guide for AWS Identity and Access Management's 7040// API operation ListAccessKeys for usage and error information. 7041// 7042// Returned Error Codes: 7043// * ErrCodeNoSuchEntityException "NoSuchEntity" 7044// The request was rejected because it referenced an entity that does not exist. 7045// The error message describes the entity. 7046// 7047// * ErrCodeServiceFailureException "ServiceFailure" 7048// The request processing has failed because of an unknown error, exception 7049// or failure. 7050// 7051// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ListAccessKeys 7052func (c *IAM) ListAccessKeys(input *ListAccessKeysInput) (*ListAccessKeysOutput, error) { 7053 req, out := c.ListAccessKeysRequest(input) 7054 return out, req.Send() 7055} 7056 7057// ListAccessKeysWithContext is the same as ListAccessKeys with the addition of 7058// the ability to pass a context and additional request options. 7059// 7060// See ListAccessKeys for details on how to use this API operation. 7061// 7062// The context must be non-nil and will be used for request cancellation. If 7063// the context is nil a panic will occur. In the future the SDK may create 7064// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 7065// for more information on using Contexts. 7066func (c *IAM) ListAccessKeysWithContext(ctx aws.Context, input *ListAccessKeysInput, opts ...request.Option) (*ListAccessKeysOutput, error) { 7067 req, out := c.ListAccessKeysRequest(input) 7068 req.SetContext(ctx) 7069 req.ApplyOptions(opts...) 7070 return out, req.Send() 7071} 7072 7073// ListAccessKeysPages iterates over the pages of a ListAccessKeys operation, 7074// calling the "fn" function with the response data for each page. To stop 7075// iterating, return false from the fn function. 7076// 7077// See ListAccessKeys method for more information on how to use this operation. 7078// 7079// Note: This operation can generate multiple requests to a service. 7080// 7081// // Example iterating over at most 3 pages of a ListAccessKeys operation. 7082// pageNum := 0 7083// err := client.ListAccessKeysPages(params, 7084// func(page *ListAccessKeysOutput, lastPage bool) bool { 7085// pageNum++ 7086// fmt.Println(page) 7087// return pageNum <= 3 7088// }) 7089// 7090func (c *IAM) ListAccessKeysPages(input *ListAccessKeysInput, fn func(*ListAccessKeysOutput, bool) bool) error { 7091 return c.ListAccessKeysPagesWithContext(aws.BackgroundContext(), input, fn) 7092} 7093 7094// ListAccessKeysPagesWithContext same as ListAccessKeysPages except 7095// it takes a Context and allows setting request options on the pages. 7096// 7097// The context must be non-nil and will be used for request cancellation. If 7098// the context is nil a panic will occur. In the future the SDK may create 7099// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 7100// for more information on using Contexts. 7101func (c *IAM) ListAccessKeysPagesWithContext(ctx aws.Context, input *ListAccessKeysInput, fn func(*ListAccessKeysOutput, bool) bool, opts ...request.Option) error { 7102 p := request.Pagination{ 7103 NewRequest: func() (*request.Request, error) { 7104 var inCpy *ListAccessKeysInput 7105 if input != nil { 7106 tmp := *input 7107 inCpy = &tmp 7108 } 7109 req, _ := c.ListAccessKeysRequest(inCpy) 7110 req.SetContext(ctx) 7111 req.ApplyOptions(opts...) 7112 return req, nil 7113 }, 7114 } 7115 7116 cont := true 7117 for p.Next() && cont { 7118 cont = fn(p.Page().(*ListAccessKeysOutput), !p.HasNextPage()) 7119 } 7120 return p.Err() 7121} 7122 7123const opListAccountAliases = "ListAccountAliases" 7124 7125// ListAccountAliasesRequest generates a "aws/request.Request" representing the 7126// client's request for the ListAccountAliases operation. The "output" return 7127// value will be populated with the request's response once the request complets 7128// successfuly. 7129// 7130// Use "Send" method on the returned Request to send the API call to the service. 7131// the "output" return value is not valid until after Send returns without error. 7132// 7133// See ListAccountAliases for more information on using the ListAccountAliases 7134// API call, and error handling. 7135// 7136// This method is useful when you want to inject custom logic or configuration 7137// into the SDK's request lifecycle. Such as custom headers, or retry logic. 7138// 7139// 7140// // Example sending a request using the ListAccountAliasesRequest method. 7141// req, resp := client.ListAccountAliasesRequest(params) 7142// 7143// err := req.Send() 7144// if err == nil { // resp is now filled 7145// fmt.Println(resp) 7146// } 7147// 7148// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ListAccountAliases 7149func (c *IAM) ListAccountAliasesRequest(input *ListAccountAliasesInput) (req *request.Request, output *ListAccountAliasesOutput) { 7150 op := &request.Operation{ 7151 Name: opListAccountAliases, 7152 HTTPMethod: "POST", 7153 HTTPPath: "/", 7154 Paginator: &request.Paginator{ 7155 InputTokens: []string{"Marker"}, 7156 OutputTokens: []string{"Marker"}, 7157 LimitToken: "MaxItems", 7158 TruncationToken: "IsTruncated", 7159 }, 7160 } 7161 7162 if input == nil { 7163 input = &ListAccountAliasesInput{} 7164 } 7165 7166 output = &ListAccountAliasesOutput{} 7167 req = c.newRequest(op, input, output) 7168 return 7169} 7170 7171// ListAccountAliases API operation for AWS Identity and Access Management. 7172// 7173// Lists the account alias associated with the AWS account (Note: you can have 7174// only one). For information about using an AWS account alias, see Using an 7175// Alias for Your AWS Account ID (http://docs.aws.amazon.com/IAM/latest/UserGuide/AccountAlias.html) 7176// in the IAM User Guide. 7177// 7178// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 7179// with awserr.Error's Code and Message methods to get detailed information about 7180// the error. 7181// 7182// See the AWS API reference guide for AWS Identity and Access Management's 7183// API operation ListAccountAliases for usage and error information. 7184// 7185// Returned Error Codes: 7186// * ErrCodeServiceFailureException "ServiceFailure" 7187// The request processing has failed because of an unknown error, exception 7188// or failure. 7189// 7190// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ListAccountAliases 7191func (c *IAM) ListAccountAliases(input *ListAccountAliasesInput) (*ListAccountAliasesOutput, error) { 7192 req, out := c.ListAccountAliasesRequest(input) 7193 return out, req.Send() 7194} 7195 7196// ListAccountAliasesWithContext is the same as ListAccountAliases with the addition of 7197// the ability to pass a context and additional request options. 7198// 7199// See ListAccountAliases for details on how to use this API operation. 7200// 7201// The context must be non-nil and will be used for request cancellation. If 7202// the context is nil a panic will occur. In the future the SDK may create 7203// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 7204// for more information on using Contexts. 7205func (c *IAM) ListAccountAliasesWithContext(ctx aws.Context, input *ListAccountAliasesInput, opts ...request.Option) (*ListAccountAliasesOutput, error) { 7206 req, out := c.ListAccountAliasesRequest(input) 7207 req.SetContext(ctx) 7208 req.ApplyOptions(opts...) 7209 return out, req.Send() 7210} 7211 7212// ListAccountAliasesPages iterates over the pages of a ListAccountAliases operation, 7213// calling the "fn" function with the response data for each page. To stop 7214// iterating, return false from the fn function. 7215// 7216// See ListAccountAliases method for more information on how to use this operation. 7217// 7218// Note: This operation can generate multiple requests to a service. 7219// 7220// // Example iterating over at most 3 pages of a ListAccountAliases operation. 7221// pageNum := 0 7222// err := client.ListAccountAliasesPages(params, 7223// func(page *ListAccountAliasesOutput, lastPage bool) bool { 7224// pageNum++ 7225// fmt.Println(page) 7226// return pageNum <= 3 7227// }) 7228// 7229func (c *IAM) ListAccountAliasesPages(input *ListAccountAliasesInput, fn func(*ListAccountAliasesOutput, bool) bool) error { 7230 return c.ListAccountAliasesPagesWithContext(aws.BackgroundContext(), input, fn) 7231} 7232 7233// ListAccountAliasesPagesWithContext same as ListAccountAliasesPages except 7234// it takes a Context and allows setting request options on the pages. 7235// 7236// The context must be non-nil and will be used for request cancellation. If 7237// the context is nil a panic will occur. In the future the SDK may create 7238// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 7239// for more information on using Contexts. 7240func (c *IAM) ListAccountAliasesPagesWithContext(ctx aws.Context, input *ListAccountAliasesInput, fn func(*ListAccountAliasesOutput, bool) bool, opts ...request.Option) error { 7241 p := request.Pagination{ 7242 NewRequest: func() (*request.Request, error) { 7243 var inCpy *ListAccountAliasesInput 7244 if input != nil { 7245 tmp := *input 7246 inCpy = &tmp 7247 } 7248 req, _ := c.ListAccountAliasesRequest(inCpy) 7249 req.SetContext(ctx) 7250 req.ApplyOptions(opts...) 7251 return req, nil 7252 }, 7253 } 7254 7255 cont := true 7256 for p.Next() && cont { 7257 cont = fn(p.Page().(*ListAccountAliasesOutput), !p.HasNextPage()) 7258 } 7259 return p.Err() 7260} 7261 7262const opListAttachedGroupPolicies = "ListAttachedGroupPolicies" 7263 7264// ListAttachedGroupPoliciesRequest generates a "aws/request.Request" representing the 7265// client's request for the ListAttachedGroupPolicies operation. The "output" return 7266// value will be populated with the request's response once the request complets 7267// successfuly. 7268// 7269// Use "Send" method on the returned Request to send the API call to the service. 7270// the "output" return value is not valid until after Send returns without error. 7271// 7272// See ListAttachedGroupPolicies for more information on using the ListAttachedGroupPolicies 7273// API call, and error handling. 7274// 7275// This method is useful when you want to inject custom logic or configuration 7276// into the SDK's request lifecycle. Such as custom headers, or retry logic. 7277// 7278// 7279// // Example sending a request using the ListAttachedGroupPoliciesRequest method. 7280// req, resp := client.ListAttachedGroupPoliciesRequest(params) 7281// 7282// err := req.Send() 7283// if err == nil { // resp is now filled 7284// fmt.Println(resp) 7285// } 7286// 7287// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ListAttachedGroupPolicies 7288func (c *IAM) ListAttachedGroupPoliciesRequest(input *ListAttachedGroupPoliciesInput) (req *request.Request, output *ListAttachedGroupPoliciesOutput) { 7289 op := &request.Operation{ 7290 Name: opListAttachedGroupPolicies, 7291 HTTPMethod: "POST", 7292 HTTPPath: "/", 7293 Paginator: &request.Paginator{ 7294 InputTokens: []string{"Marker"}, 7295 OutputTokens: []string{"Marker"}, 7296 LimitToken: "MaxItems", 7297 TruncationToken: "IsTruncated", 7298 }, 7299 } 7300 7301 if input == nil { 7302 input = &ListAttachedGroupPoliciesInput{} 7303 } 7304 7305 output = &ListAttachedGroupPoliciesOutput{} 7306 req = c.newRequest(op, input, output) 7307 return 7308} 7309 7310// ListAttachedGroupPolicies API operation for AWS Identity and Access Management. 7311// 7312// Lists all managed policies that are attached to the specified IAM group. 7313// 7314// An IAM group can also have inline policies embedded with it. To list the 7315// inline policies for a group, use the ListGroupPolicies API. For information 7316// about policies, see Managed Policies and Inline Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html) 7317// in the IAM User Guide. 7318// 7319// You can paginate the results using the MaxItems and Marker parameters. You 7320// can use the PathPrefix parameter to limit the list of policies to only those 7321// matching the specified path prefix. If there are no policies attached to 7322// the specified group (or none that match the specified path prefix), the action 7323// returns an empty list. 7324// 7325// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 7326// with awserr.Error's Code and Message methods to get detailed information about 7327// the error. 7328// 7329// See the AWS API reference guide for AWS Identity and Access Management's 7330// API operation ListAttachedGroupPolicies for usage and error information. 7331// 7332// Returned Error Codes: 7333// * ErrCodeNoSuchEntityException "NoSuchEntity" 7334// The request was rejected because it referenced an entity that does not exist. 7335// The error message describes the entity. 7336// 7337// * ErrCodeInvalidInputException "InvalidInput" 7338// The request was rejected because an invalid or out-of-range value was supplied 7339// for an input parameter. 7340// 7341// * ErrCodeServiceFailureException "ServiceFailure" 7342// The request processing has failed because of an unknown error, exception 7343// or failure. 7344// 7345// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ListAttachedGroupPolicies 7346func (c *IAM) ListAttachedGroupPolicies(input *ListAttachedGroupPoliciesInput) (*ListAttachedGroupPoliciesOutput, error) { 7347 req, out := c.ListAttachedGroupPoliciesRequest(input) 7348 return out, req.Send() 7349} 7350 7351// ListAttachedGroupPoliciesWithContext is the same as ListAttachedGroupPolicies with the addition of 7352// the ability to pass a context and additional request options. 7353// 7354// See ListAttachedGroupPolicies for details on how to use this API operation. 7355// 7356// The context must be non-nil and will be used for request cancellation. If 7357// the context is nil a panic will occur. In the future the SDK may create 7358// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 7359// for more information on using Contexts. 7360func (c *IAM) ListAttachedGroupPoliciesWithContext(ctx aws.Context, input *ListAttachedGroupPoliciesInput, opts ...request.Option) (*ListAttachedGroupPoliciesOutput, error) { 7361 req, out := c.ListAttachedGroupPoliciesRequest(input) 7362 req.SetContext(ctx) 7363 req.ApplyOptions(opts...) 7364 return out, req.Send() 7365} 7366 7367// ListAttachedGroupPoliciesPages iterates over the pages of a ListAttachedGroupPolicies operation, 7368// calling the "fn" function with the response data for each page. To stop 7369// iterating, return false from the fn function. 7370// 7371// See ListAttachedGroupPolicies method for more information on how to use this operation. 7372// 7373// Note: This operation can generate multiple requests to a service. 7374// 7375// // Example iterating over at most 3 pages of a ListAttachedGroupPolicies operation. 7376// pageNum := 0 7377// err := client.ListAttachedGroupPoliciesPages(params, 7378// func(page *ListAttachedGroupPoliciesOutput, lastPage bool) bool { 7379// pageNum++ 7380// fmt.Println(page) 7381// return pageNum <= 3 7382// }) 7383// 7384func (c *IAM) ListAttachedGroupPoliciesPages(input *ListAttachedGroupPoliciesInput, fn func(*ListAttachedGroupPoliciesOutput, bool) bool) error { 7385 return c.ListAttachedGroupPoliciesPagesWithContext(aws.BackgroundContext(), input, fn) 7386} 7387 7388// ListAttachedGroupPoliciesPagesWithContext same as ListAttachedGroupPoliciesPages except 7389// it takes a Context and allows setting request options on the pages. 7390// 7391// The context must be non-nil and will be used for request cancellation. If 7392// the context is nil a panic will occur. In the future the SDK may create 7393// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 7394// for more information on using Contexts. 7395func (c *IAM) ListAttachedGroupPoliciesPagesWithContext(ctx aws.Context, input *ListAttachedGroupPoliciesInput, fn func(*ListAttachedGroupPoliciesOutput, bool) bool, opts ...request.Option) error { 7396 p := request.Pagination{ 7397 NewRequest: func() (*request.Request, error) { 7398 var inCpy *ListAttachedGroupPoliciesInput 7399 if input != nil { 7400 tmp := *input 7401 inCpy = &tmp 7402 } 7403 req, _ := c.ListAttachedGroupPoliciesRequest(inCpy) 7404 req.SetContext(ctx) 7405 req.ApplyOptions(opts...) 7406 return req, nil 7407 }, 7408 } 7409 7410 cont := true 7411 for p.Next() && cont { 7412 cont = fn(p.Page().(*ListAttachedGroupPoliciesOutput), !p.HasNextPage()) 7413 } 7414 return p.Err() 7415} 7416 7417const opListAttachedRolePolicies = "ListAttachedRolePolicies" 7418 7419// ListAttachedRolePoliciesRequest generates a "aws/request.Request" representing the 7420// client's request for the ListAttachedRolePolicies operation. The "output" return 7421// value will be populated with the request's response once the request complets 7422// successfuly. 7423// 7424// Use "Send" method on the returned Request to send the API call to the service. 7425// the "output" return value is not valid until after Send returns without error. 7426// 7427// See ListAttachedRolePolicies for more information on using the ListAttachedRolePolicies 7428// API call, and error handling. 7429// 7430// This method is useful when you want to inject custom logic or configuration 7431// into the SDK's request lifecycle. Such as custom headers, or retry logic. 7432// 7433// 7434// // Example sending a request using the ListAttachedRolePoliciesRequest method. 7435// req, resp := client.ListAttachedRolePoliciesRequest(params) 7436// 7437// err := req.Send() 7438// if err == nil { // resp is now filled 7439// fmt.Println(resp) 7440// } 7441// 7442// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ListAttachedRolePolicies 7443func (c *IAM) ListAttachedRolePoliciesRequest(input *ListAttachedRolePoliciesInput) (req *request.Request, output *ListAttachedRolePoliciesOutput) { 7444 op := &request.Operation{ 7445 Name: opListAttachedRolePolicies, 7446 HTTPMethod: "POST", 7447 HTTPPath: "/", 7448 Paginator: &request.Paginator{ 7449 InputTokens: []string{"Marker"}, 7450 OutputTokens: []string{"Marker"}, 7451 LimitToken: "MaxItems", 7452 TruncationToken: "IsTruncated", 7453 }, 7454 } 7455 7456 if input == nil { 7457 input = &ListAttachedRolePoliciesInput{} 7458 } 7459 7460 output = &ListAttachedRolePoliciesOutput{} 7461 req = c.newRequest(op, input, output) 7462 return 7463} 7464 7465// ListAttachedRolePolicies API operation for AWS Identity and Access Management. 7466// 7467// Lists all managed policies that are attached to the specified IAM role. 7468// 7469// An IAM role can also have inline policies embedded with it. To list the inline 7470// policies for a role, use the ListRolePolicies API. For information about 7471// policies, see Managed Policies and Inline Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html) 7472// in the IAM User Guide. 7473// 7474// You can paginate the results using the MaxItems and Marker parameters. You 7475// can use the PathPrefix parameter to limit the list of policies to only those 7476// matching the specified path prefix. If there are no policies attached to 7477// the specified role (or none that match the specified path prefix), the action 7478// returns an empty list. 7479// 7480// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 7481// with awserr.Error's Code and Message methods to get detailed information about 7482// the error. 7483// 7484// See the AWS API reference guide for AWS Identity and Access Management's 7485// API operation ListAttachedRolePolicies for usage and error information. 7486// 7487// Returned Error Codes: 7488// * ErrCodeNoSuchEntityException "NoSuchEntity" 7489// The request was rejected because it referenced an entity that does not exist. 7490// The error message describes the entity. 7491// 7492// * ErrCodeInvalidInputException "InvalidInput" 7493// The request was rejected because an invalid or out-of-range value was supplied 7494// for an input parameter. 7495// 7496// * ErrCodeServiceFailureException "ServiceFailure" 7497// The request processing has failed because of an unknown error, exception 7498// or failure. 7499// 7500// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ListAttachedRolePolicies 7501func (c *IAM) ListAttachedRolePolicies(input *ListAttachedRolePoliciesInput) (*ListAttachedRolePoliciesOutput, error) { 7502 req, out := c.ListAttachedRolePoliciesRequest(input) 7503 return out, req.Send() 7504} 7505 7506// ListAttachedRolePoliciesWithContext is the same as ListAttachedRolePolicies with the addition of 7507// the ability to pass a context and additional request options. 7508// 7509// See ListAttachedRolePolicies for details on how to use this API operation. 7510// 7511// The context must be non-nil and will be used for request cancellation. If 7512// the context is nil a panic will occur. In the future the SDK may create 7513// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 7514// for more information on using Contexts. 7515func (c *IAM) ListAttachedRolePoliciesWithContext(ctx aws.Context, input *ListAttachedRolePoliciesInput, opts ...request.Option) (*ListAttachedRolePoliciesOutput, error) { 7516 req, out := c.ListAttachedRolePoliciesRequest(input) 7517 req.SetContext(ctx) 7518 req.ApplyOptions(opts...) 7519 return out, req.Send() 7520} 7521 7522// ListAttachedRolePoliciesPages iterates over the pages of a ListAttachedRolePolicies operation, 7523// calling the "fn" function with the response data for each page. To stop 7524// iterating, return false from the fn function. 7525// 7526// See ListAttachedRolePolicies method for more information on how to use this operation. 7527// 7528// Note: This operation can generate multiple requests to a service. 7529// 7530// // Example iterating over at most 3 pages of a ListAttachedRolePolicies operation. 7531// pageNum := 0 7532// err := client.ListAttachedRolePoliciesPages(params, 7533// func(page *ListAttachedRolePoliciesOutput, lastPage bool) bool { 7534// pageNum++ 7535// fmt.Println(page) 7536// return pageNum <= 3 7537// }) 7538// 7539func (c *IAM) ListAttachedRolePoliciesPages(input *ListAttachedRolePoliciesInput, fn func(*ListAttachedRolePoliciesOutput, bool) bool) error { 7540 return c.ListAttachedRolePoliciesPagesWithContext(aws.BackgroundContext(), input, fn) 7541} 7542 7543// ListAttachedRolePoliciesPagesWithContext same as ListAttachedRolePoliciesPages except 7544// it takes a Context and allows setting request options on the pages. 7545// 7546// The context must be non-nil and will be used for request cancellation. If 7547// the context is nil a panic will occur. In the future the SDK may create 7548// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 7549// for more information on using Contexts. 7550func (c *IAM) ListAttachedRolePoliciesPagesWithContext(ctx aws.Context, input *ListAttachedRolePoliciesInput, fn func(*ListAttachedRolePoliciesOutput, bool) bool, opts ...request.Option) error { 7551 p := request.Pagination{ 7552 NewRequest: func() (*request.Request, error) { 7553 var inCpy *ListAttachedRolePoliciesInput 7554 if input != nil { 7555 tmp := *input 7556 inCpy = &tmp 7557 } 7558 req, _ := c.ListAttachedRolePoliciesRequest(inCpy) 7559 req.SetContext(ctx) 7560 req.ApplyOptions(opts...) 7561 return req, nil 7562 }, 7563 } 7564 7565 cont := true 7566 for p.Next() && cont { 7567 cont = fn(p.Page().(*ListAttachedRolePoliciesOutput), !p.HasNextPage()) 7568 } 7569 return p.Err() 7570} 7571 7572const opListAttachedUserPolicies = "ListAttachedUserPolicies" 7573 7574// ListAttachedUserPoliciesRequest generates a "aws/request.Request" representing the 7575// client's request for the ListAttachedUserPolicies operation. The "output" return 7576// value will be populated with the request's response once the request complets 7577// successfuly. 7578// 7579// Use "Send" method on the returned Request to send the API call to the service. 7580// the "output" return value is not valid until after Send returns without error. 7581// 7582// See ListAttachedUserPolicies for more information on using the ListAttachedUserPolicies 7583// API call, and error handling. 7584// 7585// This method is useful when you want to inject custom logic or configuration 7586// into the SDK's request lifecycle. Such as custom headers, or retry logic. 7587// 7588// 7589// // Example sending a request using the ListAttachedUserPoliciesRequest method. 7590// req, resp := client.ListAttachedUserPoliciesRequest(params) 7591// 7592// err := req.Send() 7593// if err == nil { // resp is now filled 7594// fmt.Println(resp) 7595// } 7596// 7597// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ListAttachedUserPolicies 7598func (c *IAM) ListAttachedUserPoliciesRequest(input *ListAttachedUserPoliciesInput) (req *request.Request, output *ListAttachedUserPoliciesOutput) { 7599 op := &request.Operation{ 7600 Name: opListAttachedUserPolicies, 7601 HTTPMethod: "POST", 7602 HTTPPath: "/", 7603 Paginator: &request.Paginator{ 7604 InputTokens: []string{"Marker"}, 7605 OutputTokens: []string{"Marker"}, 7606 LimitToken: "MaxItems", 7607 TruncationToken: "IsTruncated", 7608 }, 7609 } 7610 7611 if input == nil { 7612 input = &ListAttachedUserPoliciesInput{} 7613 } 7614 7615 output = &ListAttachedUserPoliciesOutput{} 7616 req = c.newRequest(op, input, output) 7617 return 7618} 7619 7620// ListAttachedUserPolicies API operation for AWS Identity and Access Management. 7621// 7622// Lists all managed policies that are attached to the specified IAM user. 7623// 7624// An IAM user can also have inline policies embedded with it. To list the inline 7625// policies for a user, use the ListUserPolicies API. For information about 7626// policies, see Managed Policies and Inline Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html) 7627// in the IAM User Guide. 7628// 7629// You can paginate the results using the MaxItems and Marker parameters. You 7630// can use the PathPrefix parameter to limit the list of policies to only those 7631// matching the specified path prefix. If there are no policies attached to 7632// the specified group (or none that match the specified path prefix), the action 7633// returns an empty list. 7634// 7635// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 7636// with awserr.Error's Code and Message methods to get detailed information about 7637// the error. 7638// 7639// See the AWS API reference guide for AWS Identity and Access Management's 7640// API operation ListAttachedUserPolicies for usage and error information. 7641// 7642// Returned Error Codes: 7643// * ErrCodeNoSuchEntityException "NoSuchEntity" 7644// The request was rejected because it referenced an entity that does not exist. 7645// The error message describes the entity. 7646// 7647// * ErrCodeInvalidInputException "InvalidInput" 7648// The request was rejected because an invalid or out-of-range value was supplied 7649// for an input parameter. 7650// 7651// * ErrCodeServiceFailureException "ServiceFailure" 7652// The request processing has failed because of an unknown error, exception 7653// or failure. 7654// 7655// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ListAttachedUserPolicies 7656func (c *IAM) ListAttachedUserPolicies(input *ListAttachedUserPoliciesInput) (*ListAttachedUserPoliciesOutput, error) { 7657 req, out := c.ListAttachedUserPoliciesRequest(input) 7658 return out, req.Send() 7659} 7660 7661// ListAttachedUserPoliciesWithContext is the same as ListAttachedUserPolicies with the addition of 7662// the ability to pass a context and additional request options. 7663// 7664// See ListAttachedUserPolicies for details on how to use this API operation. 7665// 7666// The context must be non-nil and will be used for request cancellation. If 7667// the context is nil a panic will occur. In the future the SDK may create 7668// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 7669// for more information on using Contexts. 7670func (c *IAM) ListAttachedUserPoliciesWithContext(ctx aws.Context, input *ListAttachedUserPoliciesInput, opts ...request.Option) (*ListAttachedUserPoliciesOutput, error) { 7671 req, out := c.ListAttachedUserPoliciesRequest(input) 7672 req.SetContext(ctx) 7673 req.ApplyOptions(opts...) 7674 return out, req.Send() 7675} 7676 7677// ListAttachedUserPoliciesPages iterates over the pages of a ListAttachedUserPolicies operation, 7678// calling the "fn" function with the response data for each page. To stop 7679// iterating, return false from the fn function. 7680// 7681// See ListAttachedUserPolicies method for more information on how to use this operation. 7682// 7683// Note: This operation can generate multiple requests to a service. 7684// 7685// // Example iterating over at most 3 pages of a ListAttachedUserPolicies operation. 7686// pageNum := 0 7687// err := client.ListAttachedUserPoliciesPages(params, 7688// func(page *ListAttachedUserPoliciesOutput, lastPage bool) bool { 7689// pageNum++ 7690// fmt.Println(page) 7691// return pageNum <= 3 7692// }) 7693// 7694func (c *IAM) ListAttachedUserPoliciesPages(input *ListAttachedUserPoliciesInput, fn func(*ListAttachedUserPoliciesOutput, bool) bool) error { 7695 return c.ListAttachedUserPoliciesPagesWithContext(aws.BackgroundContext(), input, fn) 7696} 7697 7698// ListAttachedUserPoliciesPagesWithContext same as ListAttachedUserPoliciesPages except 7699// it takes a Context and allows setting request options on the pages. 7700// 7701// The context must be non-nil and will be used for request cancellation. If 7702// the context is nil a panic will occur. In the future the SDK may create 7703// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 7704// for more information on using Contexts. 7705func (c *IAM) ListAttachedUserPoliciesPagesWithContext(ctx aws.Context, input *ListAttachedUserPoliciesInput, fn func(*ListAttachedUserPoliciesOutput, bool) bool, opts ...request.Option) error { 7706 p := request.Pagination{ 7707 NewRequest: func() (*request.Request, error) { 7708 var inCpy *ListAttachedUserPoliciesInput 7709 if input != nil { 7710 tmp := *input 7711 inCpy = &tmp 7712 } 7713 req, _ := c.ListAttachedUserPoliciesRequest(inCpy) 7714 req.SetContext(ctx) 7715 req.ApplyOptions(opts...) 7716 return req, nil 7717 }, 7718 } 7719 7720 cont := true 7721 for p.Next() && cont { 7722 cont = fn(p.Page().(*ListAttachedUserPoliciesOutput), !p.HasNextPage()) 7723 } 7724 return p.Err() 7725} 7726 7727const opListEntitiesForPolicy = "ListEntitiesForPolicy" 7728 7729// ListEntitiesForPolicyRequest generates a "aws/request.Request" representing the 7730// client's request for the ListEntitiesForPolicy operation. The "output" return 7731// value will be populated with the request's response once the request complets 7732// successfuly. 7733// 7734// Use "Send" method on the returned Request to send the API call to the service. 7735// the "output" return value is not valid until after Send returns without error. 7736// 7737// See ListEntitiesForPolicy for more information on using the ListEntitiesForPolicy 7738// API call, and error handling. 7739// 7740// This method is useful when you want to inject custom logic or configuration 7741// into the SDK's request lifecycle. Such as custom headers, or retry logic. 7742// 7743// 7744// // Example sending a request using the ListEntitiesForPolicyRequest method. 7745// req, resp := client.ListEntitiesForPolicyRequest(params) 7746// 7747// err := req.Send() 7748// if err == nil { // resp is now filled 7749// fmt.Println(resp) 7750// } 7751// 7752// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ListEntitiesForPolicy 7753func (c *IAM) ListEntitiesForPolicyRequest(input *ListEntitiesForPolicyInput) (req *request.Request, output *ListEntitiesForPolicyOutput) { 7754 op := &request.Operation{ 7755 Name: opListEntitiesForPolicy, 7756 HTTPMethod: "POST", 7757 HTTPPath: "/", 7758 Paginator: &request.Paginator{ 7759 InputTokens: []string{"Marker"}, 7760 OutputTokens: []string{"Marker"}, 7761 LimitToken: "MaxItems", 7762 TruncationToken: "IsTruncated", 7763 }, 7764 } 7765 7766 if input == nil { 7767 input = &ListEntitiesForPolicyInput{} 7768 } 7769 7770 output = &ListEntitiesForPolicyOutput{} 7771 req = c.newRequest(op, input, output) 7772 return 7773} 7774 7775// ListEntitiesForPolicy API operation for AWS Identity and Access Management. 7776// 7777// Lists all IAM users, groups, and roles that the specified managed policy 7778// is attached to. 7779// 7780// You can use the optional EntityFilter parameter to limit the results to a 7781// particular type of entity (users, groups, or roles). For example, to list 7782// only the roles that are attached to the specified policy, set EntityFilter 7783// to Role. 7784// 7785// You can paginate the results using the MaxItems and Marker parameters. 7786// 7787// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 7788// with awserr.Error's Code and Message methods to get detailed information about 7789// the error. 7790// 7791// See the AWS API reference guide for AWS Identity and Access Management's 7792// API operation ListEntitiesForPolicy for usage and error information. 7793// 7794// Returned Error Codes: 7795// * ErrCodeNoSuchEntityException "NoSuchEntity" 7796// The request was rejected because it referenced an entity that does not exist. 7797// The error message describes the entity. 7798// 7799// * ErrCodeInvalidInputException "InvalidInput" 7800// The request was rejected because an invalid or out-of-range value was supplied 7801// for an input parameter. 7802// 7803// * ErrCodeServiceFailureException "ServiceFailure" 7804// The request processing has failed because of an unknown error, exception 7805// or failure. 7806// 7807// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ListEntitiesForPolicy 7808func (c *IAM) ListEntitiesForPolicy(input *ListEntitiesForPolicyInput) (*ListEntitiesForPolicyOutput, error) { 7809 req, out := c.ListEntitiesForPolicyRequest(input) 7810 return out, req.Send() 7811} 7812 7813// ListEntitiesForPolicyWithContext is the same as ListEntitiesForPolicy with the addition of 7814// the ability to pass a context and additional request options. 7815// 7816// See ListEntitiesForPolicy for details on how to use this API operation. 7817// 7818// The context must be non-nil and will be used for request cancellation. If 7819// the context is nil a panic will occur. In the future the SDK may create 7820// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 7821// for more information on using Contexts. 7822func (c *IAM) ListEntitiesForPolicyWithContext(ctx aws.Context, input *ListEntitiesForPolicyInput, opts ...request.Option) (*ListEntitiesForPolicyOutput, error) { 7823 req, out := c.ListEntitiesForPolicyRequest(input) 7824 req.SetContext(ctx) 7825 req.ApplyOptions(opts...) 7826 return out, req.Send() 7827} 7828 7829// ListEntitiesForPolicyPages iterates over the pages of a ListEntitiesForPolicy operation, 7830// calling the "fn" function with the response data for each page. To stop 7831// iterating, return false from the fn function. 7832// 7833// See ListEntitiesForPolicy method for more information on how to use this operation. 7834// 7835// Note: This operation can generate multiple requests to a service. 7836// 7837// // Example iterating over at most 3 pages of a ListEntitiesForPolicy operation. 7838// pageNum := 0 7839// err := client.ListEntitiesForPolicyPages(params, 7840// func(page *ListEntitiesForPolicyOutput, lastPage bool) bool { 7841// pageNum++ 7842// fmt.Println(page) 7843// return pageNum <= 3 7844// }) 7845// 7846func (c *IAM) ListEntitiesForPolicyPages(input *ListEntitiesForPolicyInput, fn func(*ListEntitiesForPolicyOutput, bool) bool) error { 7847 return c.ListEntitiesForPolicyPagesWithContext(aws.BackgroundContext(), input, fn) 7848} 7849 7850// ListEntitiesForPolicyPagesWithContext same as ListEntitiesForPolicyPages except 7851// it takes a Context and allows setting request options on the pages. 7852// 7853// The context must be non-nil and will be used for request cancellation. If 7854// the context is nil a panic will occur. In the future the SDK may create 7855// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 7856// for more information on using Contexts. 7857func (c *IAM) ListEntitiesForPolicyPagesWithContext(ctx aws.Context, input *ListEntitiesForPolicyInput, fn func(*ListEntitiesForPolicyOutput, bool) bool, opts ...request.Option) error { 7858 p := request.Pagination{ 7859 NewRequest: func() (*request.Request, error) { 7860 var inCpy *ListEntitiesForPolicyInput 7861 if input != nil { 7862 tmp := *input 7863 inCpy = &tmp 7864 } 7865 req, _ := c.ListEntitiesForPolicyRequest(inCpy) 7866 req.SetContext(ctx) 7867 req.ApplyOptions(opts...) 7868 return req, nil 7869 }, 7870 } 7871 7872 cont := true 7873 for p.Next() && cont { 7874 cont = fn(p.Page().(*ListEntitiesForPolicyOutput), !p.HasNextPage()) 7875 } 7876 return p.Err() 7877} 7878 7879const opListGroupPolicies = "ListGroupPolicies" 7880 7881// ListGroupPoliciesRequest generates a "aws/request.Request" representing the 7882// client's request for the ListGroupPolicies operation. The "output" return 7883// value will be populated with the request's response once the request complets 7884// successfuly. 7885// 7886// Use "Send" method on the returned Request to send the API call to the service. 7887// the "output" return value is not valid until after Send returns without error. 7888// 7889// See ListGroupPolicies for more information on using the ListGroupPolicies 7890// API call, and error handling. 7891// 7892// This method is useful when you want to inject custom logic or configuration 7893// into the SDK's request lifecycle. Such as custom headers, or retry logic. 7894// 7895// 7896// // Example sending a request using the ListGroupPoliciesRequest method. 7897// req, resp := client.ListGroupPoliciesRequest(params) 7898// 7899// err := req.Send() 7900// if err == nil { // resp is now filled 7901// fmt.Println(resp) 7902// } 7903// 7904// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ListGroupPolicies 7905func (c *IAM) ListGroupPoliciesRequest(input *ListGroupPoliciesInput) (req *request.Request, output *ListGroupPoliciesOutput) { 7906 op := &request.Operation{ 7907 Name: opListGroupPolicies, 7908 HTTPMethod: "POST", 7909 HTTPPath: "/", 7910 Paginator: &request.Paginator{ 7911 InputTokens: []string{"Marker"}, 7912 OutputTokens: []string{"Marker"}, 7913 LimitToken: "MaxItems", 7914 TruncationToken: "IsTruncated", 7915 }, 7916 } 7917 7918 if input == nil { 7919 input = &ListGroupPoliciesInput{} 7920 } 7921 7922 output = &ListGroupPoliciesOutput{} 7923 req = c.newRequest(op, input, output) 7924 return 7925} 7926 7927// ListGroupPolicies API operation for AWS Identity and Access Management. 7928// 7929// Lists the names of the inline policies that are embedded in the specified 7930// IAM group. 7931// 7932// An IAM group can also have managed policies attached to it. To list the managed 7933// policies that are attached to a group, use ListAttachedGroupPolicies. For 7934// more information about policies, see Managed Policies and Inline Policies 7935// (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html) 7936// in the IAM User Guide. 7937// 7938// You can paginate the results using the MaxItems and Marker parameters. If 7939// there are no inline policies embedded with the specified group, the action 7940// returns an empty list. 7941// 7942// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 7943// with awserr.Error's Code and Message methods to get detailed information about 7944// the error. 7945// 7946// See the AWS API reference guide for AWS Identity and Access Management's 7947// API operation ListGroupPolicies for usage and error information. 7948// 7949// Returned Error Codes: 7950// * ErrCodeNoSuchEntityException "NoSuchEntity" 7951// The request was rejected because it referenced an entity that does not exist. 7952// The error message describes the entity. 7953// 7954// * ErrCodeServiceFailureException "ServiceFailure" 7955// The request processing has failed because of an unknown error, exception 7956// or failure. 7957// 7958// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ListGroupPolicies 7959func (c *IAM) ListGroupPolicies(input *ListGroupPoliciesInput) (*ListGroupPoliciesOutput, error) { 7960 req, out := c.ListGroupPoliciesRequest(input) 7961 return out, req.Send() 7962} 7963 7964// ListGroupPoliciesWithContext is the same as ListGroupPolicies with the addition of 7965// the ability to pass a context and additional request options. 7966// 7967// See ListGroupPolicies for details on how to use this API operation. 7968// 7969// The context must be non-nil and will be used for request cancellation. If 7970// the context is nil a panic will occur. In the future the SDK may create 7971// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 7972// for more information on using Contexts. 7973func (c *IAM) ListGroupPoliciesWithContext(ctx aws.Context, input *ListGroupPoliciesInput, opts ...request.Option) (*ListGroupPoliciesOutput, error) { 7974 req, out := c.ListGroupPoliciesRequest(input) 7975 req.SetContext(ctx) 7976 req.ApplyOptions(opts...) 7977 return out, req.Send() 7978} 7979 7980// ListGroupPoliciesPages iterates over the pages of a ListGroupPolicies operation, 7981// calling the "fn" function with the response data for each page. To stop 7982// iterating, return false from the fn function. 7983// 7984// See ListGroupPolicies method for more information on how to use this operation. 7985// 7986// Note: This operation can generate multiple requests to a service. 7987// 7988// // Example iterating over at most 3 pages of a ListGroupPolicies operation. 7989// pageNum := 0 7990// err := client.ListGroupPoliciesPages(params, 7991// func(page *ListGroupPoliciesOutput, lastPage bool) bool { 7992// pageNum++ 7993// fmt.Println(page) 7994// return pageNum <= 3 7995// }) 7996// 7997func (c *IAM) ListGroupPoliciesPages(input *ListGroupPoliciesInput, fn func(*ListGroupPoliciesOutput, bool) bool) error { 7998 return c.ListGroupPoliciesPagesWithContext(aws.BackgroundContext(), input, fn) 7999} 8000 8001// ListGroupPoliciesPagesWithContext same as ListGroupPoliciesPages except 8002// it takes a Context and allows setting request options on the pages. 8003// 8004// The context must be non-nil and will be used for request cancellation. If 8005// the context is nil a panic will occur. In the future the SDK may create 8006// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 8007// for more information on using Contexts. 8008func (c *IAM) ListGroupPoliciesPagesWithContext(ctx aws.Context, input *ListGroupPoliciesInput, fn func(*ListGroupPoliciesOutput, bool) bool, opts ...request.Option) error { 8009 p := request.Pagination{ 8010 NewRequest: func() (*request.Request, error) { 8011 var inCpy *ListGroupPoliciesInput 8012 if input != nil { 8013 tmp := *input 8014 inCpy = &tmp 8015 } 8016 req, _ := c.ListGroupPoliciesRequest(inCpy) 8017 req.SetContext(ctx) 8018 req.ApplyOptions(opts...) 8019 return req, nil 8020 }, 8021 } 8022 8023 cont := true 8024 for p.Next() && cont { 8025 cont = fn(p.Page().(*ListGroupPoliciesOutput), !p.HasNextPage()) 8026 } 8027 return p.Err() 8028} 8029 8030const opListGroups = "ListGroups" 8031 8032// ListGroupsRequest generates a "aws/request.Request" representing the 8033// client's request for the ListGroups operation. The "output" return 8034// value will be populated with the request's response once the request complets 8035// successfuly. 8036// 8037// Use "Send" method on the returned Request to send the API call to the service. 8038// the "output" return value is not valid until after Send returns without error. 8039// 8040// See ListGroups for more information on using the ListGroups 8041// API call, and error handling. 8042// 8043// This method is useful when you want to inject custom logic or configuration 8044// into the SDK's request lifecycle. Such as custom headers, or retry logic. 8045// 8046// 8047// // Example sending a request using the ListGroupsRequest method. 8048// req, resp := client.ListGroupsRequest(params) 8049// 8050// err := req.Send() 8051// if err == nil { // resp is now filled 8052// fmt.Println(resp) 8053// } 8054// 8055// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ListGroups 8056func (c *IAM) ListGroupsRequest(input *ListGroupsInput) (req *request.Request, output *ListGroupsOutput) { 8057 op := &request.Operation{ 8058 Name: opListGroups, 8059 HTTPMethod: "POST", 8060 HTTPPath: "/", 8061 Paginator: &request.Paginator{ 8062 InputTokens: []string{"Marker"}, 8063 OutputTokens: []string{"Marker"}, 8064 LimitToken: "MaxItems", 8065 TruncationToken: "IsTruncated", 8066 }, 8067 } 8068 8069 if input == nil { 8070 input = &ListGroupsInput{} 8071 } 8072 8073 output = &ListGroupsOutput{} 8074 req = c.newRequest(op, input, output) 8075 return 8076} 8077 8078// ListGroups API operation for AWS Identity and Access Management. 8079// 8080// Lists the IAM groups that have the specified path prefix. 8081// 8082// You can paginate the results using the MaxItems and Marker parameters. 8083// 8084// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 8085// with awserr.Error's Code and Message methods to get detailed information about 8086// the error. 8087// 8088// See the AWS API reference guide for AWS Identity and Access Management's 8089// API operation ListGroups for usage and error information. 8090// 8091// Returned Error Codes: 8092// * ErrCodeServiceFailureException "ServiceFailure" 8093// The request processing has failed because of an unknown error, exception 8094// or failure. 8095// 8096// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ListGroups 8097func (c *IAM) ListGroups(input *ListGroupsInput) (*ListGroupsOutput, error) { 8098 req, out := c.ListGroupsRequest(input) 8099 return out, req.Send() 8100} 8101 8102// ListGroupsWithContext is the same as ListGroups with the addition of 8103// the ability to pass a context and additional request options. 8104// 8105// See ListGroups for details on how to use this API operation. 8106// 8107// The context must be non-nil and will be used for request cancellation. If 8108// the context is nil a panic will occur. In the future the SDK may create 8109// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 8110// for more information on using Contexts. 8111func (c *IAM) ListGroupsWithContext(ctx aws.Context, input *ListGroupsInput, opts ...request.Option) (*ListGroupsOutput, error) { 8112 req, out := c.ListGroupsRequest(input) 8113 req.SetContext(ctx) 8114 req.ApplyOptions(opts...) 8115 return out, req.Send() 8116} 8117 8118// ListGroupsPages iterates over the pages of a ListGroups operation, 8119// calling the "fn" function with the response data for each page. To stop 8120// iterating, return false from the fn function. 8121// 8122// See ListGroups method for more information on how to use this operation. 8123// 8124// Note: This operation can generate multiple requests to a service. 8125// 8126// // Example iterating over at most 3 pages of a ListGroups operation. 8127// pageNum := 0 8128// err := client.ListGroupsPages(params, 8129// func(page *ListGroupsOutput, lastPage bool) bool { 8130// pageNum++ 8131// fmt.Println(page) 8132// return pageNum <= 3 8133// }) 8134// 8135func (c *IAM) ListGroupsPages(input *ListGroupsInput, fn func(*ListGroupsOutput, bool) bool) error { 8136 return c.ListGroupsPagesWithContext(aws.BackgroundContext(), input, fn) 8137} 8138 8139// ListGroupsPagesWithContext same as ListGroupsPages except 8140// it takes a Context and allows setting request options on the pages. 8141// 8142// The context must be non-nil and will be used for request cancellation. If 8143// the context is nil a panic will occur. In the future the SDK may create 8144// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 8145// for more information on using Contexts. 8146func (c *IAM) ListGroupsPagesWithContext(ctx aws.Context, input *ListGroupsInput, fn func(*ListGroupsOutput, bool) bool, opts ...request.Option) error { 8147 p := request.Pagination{ 8148 NewRequest: func() (*request.Request, error) { 8149 var inCpy *ListGroupsInput 8150 if input != nil { 8151 tmp := *input 8152 inCpy = &tmp 8153 } 8154 req, _ := c.ListGroupsRequest(inCpy) 8155 req.SetContext(ctx) 8156 req.ApplyOptions(opts...) 8157 return req, nil 8158 }, 8159 } 8160 8161 cont := true 8162 for p.Next() && cont { 8163 cont = fn(p.Page().(*ListGroupsOutput), !p.HasNextPage()) 8164 } 8165 return p.Err() 8166} 8167 8168const opListGroupsForUser = "ListGroupsForUser" 8169 8170// ListGroupsForUserRequest generates a "aws/request.Request" representing the 8171// client's request for the ListGroupsForUser operation. The "output" return 8172// value will be populated with the request's response once the request complets 8173// successfuly. 8174// 8175// Use "Send" method on the returned Request to send the API call to the service. 8176// the "output" return value is not valid until after Send returns without error. 8177// 8178// See ListGroupsForUser for more information on using the ListGroupsForUser 8179// API call, and error handling. 8180// 8181// This method is useful when you want to inject custom logic or configuration 8182// into the SDK's request lifecycle. Such as custom headers, or retry logic. 8183// 8184// 8185// // Example sending a request using the ListGroupsForUserRequest method. 8186// req, resp := client.ListGroupsForUserRequest(params) 8187// 8188// err := req.Send() 8189// if err == nil { // resp is now filled 8190// fmt.Println(resp) 8191// } 8192// 8193// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ListGroupsForUser 8194func (c *IAM) ListGroupsForUserRequest(input *ListGroupsForUserInput) (req *request.Request, output *ListGroupsForUserOutput) { 8195 op := &request.Operation{ 8196 Name: opListGroupsForUser, 8197 HTTPMethod: "POST", 8198 HTTPPath: "/", 8199 Paginator: &request.Paginator{ 8200 InputTokens: []string{"Marker"}, 8201 OutputTokens: []string{"Marker"}, 8202 LimitToken: "MaxItems", 8203 TruncationToken: "IsTruncated", 8204 }, 8205 } 8206 8207 if input == nil { 8208 input = &ListGroupsForUserInput{} 8209 } 8210 8211 output = &ListGroupsForUserOutput{} 8212 req = c.newRequest(op, input, output) 8213 return 8214} 8215 8216// ListGroupsForUser API operation for AWS Identity and Access Management. 8217// 8218// Lists the IAM groups that the specified IAM user belongs to. 8219// 8220// You can paginate the results using the MaxItems and Marker parameters. 8221// 8222// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 8223// with awserr.Error's Code and Message methods to get detailed information about 8224// the error. 8225// 8226// See the AWS API reference guide for AWS Identity and Access Management's 8227// API operation ListGroupsForUser for usage and error information. 8228// 8229// Returned Error Codes: 8230// * ErrCodeNoSuchEntityException "NoSuchEntity" 8231// The request was rejected because it referenced an entity that does not exist. 8232// The error message describes the entity. 8233// 8234// * ErrCodeServiceFailureException "ServiceFailure" 8235// The request processing has failed because of an unknown error, exception 8236// or failure. 8237// 8238// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ListGroupsForUser 8239func (c *IAM) ListGroupsForUser(input *ListGroupsForUserInput) (*ListGroupsForUserOutput, error) { 8240 req, out := c.ListGroupsForUserRequest(input) 8241 return out, req.Send() 8242} 8243 8244// ListGroupsForUserWithContext is the same as ListGroupsForUser with the addition of 8245// the ability to pass a context and additional request options. 8246// 8247// See ListGroupsForUser for details on how to use this API operation. 8248// 8249// The context must be non-nil and will be used for request cancellation. If 8250// the context is nil a panic will occur. In the future the SDK may create 8251// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 8252// for more information on using Contexts. 8253func (c *IAM) ListGroupsForUserWithContext(ctx aws.Context, input *ListGroupsForUserInput, opts ...request.Option) (*ListGroupsForUserOutput, error) { 8254 req, out := c.ListGroupsForUserRequest(input) 8255 req.SetContext(ctx) 8256 req.ApplyOptions(opts...) 8257 return out, req.Send() 8258} 8259 8260// ListGroupsForUserPages iterates over the pages of a ListGroupsForUser operation, 8261// calling the "fn" function with the response data for each page. To stop 8262// iterating, return false from the fn function. 8263// 8264// See ListGroupsForUser method for more information on how to use this operation. 8265// 8266// Note: This operation can generate multiple requests to a service. 8267// 8268// // Example iterating over at most 3 pages of a ListGroupsForUser operation. 8269// pageNum := 0 8270// err := client.ListGroupsForUserPages(params, 8271// func(page *ListGroupsForUserOutput, lastPage bool) bool { 8272// pageNum++ 8273// fmt.Println(page) 8274// return pageNum <= 3 8275// }) 8276// 8277func (c *IAM) ListGroupsForUserPages(input *ListGroupsForUserInput, fn func(*ListGroupsForUserOutput, bool) bool) error { 8278 return c.ListGroupsForUserPagesWithContext(aws.BackgroundContext(), input, fn) 8279} 8280 8281// ListGroupsForUserPagesWithContext same as ListGroupsForUserPages except 8282// it takes a Context and allows setting request options on the pages. 8283// 8284// The context must be non-nil and will be used for request cancellation. If 8285// the context is nil a panic will occur. In the future the SDK may create 8286// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 8287// for more information on using Contexts. 8288func (c *IAM) ListGroupsForUserPagesWithContext(ctx aws.Context, input *ListGroupsForUserInput, fn func(*ListGroupsForUserOutput, bool) bool, opts ...request.Option) error { 8289 p := request.Pagination{ 8290 NewRequest: func() (*request.Request, error) { 8291 var inCpy *ListGroupsForUserInput 8292 if input != nil { 8293 tmp := *input 8294 inCpy = &tmp 8295 } 8296 req, _ := c.ListGroupsForUserRequest(inCpy) 8297 req.SetContext(ctx) 8298 req.ApplyOptions(opts...) 8299 return req, nil 8300 }, 8301 } 8302 8303 cont := true 8304 for p.Next() && cont { 8305 cont = fn(p.Page().(*ListGroupsForUserOutput), !p.HasNextPage()) 8306 } 8307 return p.Err() 8308} 8309 8310const opListInstanceProfiles = "ListInstanceProfiles" 8311 8312// ListInstanceProfilesRequest generates a "aws/request.Request" representing the 8313// client's request for the ListInstanceProfiles operation. The "output" return 8314// value will be populated with the request's response once the request complets 8315// successfuly. 8316// 8317// Use "Send" method on the returned Request to send the API call to the service. 8318// the "output" return value is not valid until after Send returns without error. 8319// 8320// See ListInstanceProfiles for more information on using the ListInstanceProfiles 8321// API call, and error handling. 8322// 8323// This method is useful when you want to inject custom logic or configuration 8324// into the SDK's request lifecycle. Such as custom headers, or retry logic. 8325// 8326// 8327// // Example sending a request using the ListInstanceProfilesRequest method. 8328// req, resp := client.ListInstanceProfilesRequest(params) 8329// 8330// err := req.Send() 8331// if err == nil { // resp is now filled 8332// fmt.Println(resp) 8333// } 8334// 8335// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ListInstanceProfiles 8336func (c *IAM) ListInstanceProfilesRequest(input *ListInstanceProfilesInput) (req *request.Request, output *ListInstanceProfilesOutput) { 8337 op := &request.Operation{ 8338 Name: opListInstanceProfiles, 8339 HTTPMethod: "POST", 8340 HTTPPath: "/", 8341 Paginator: &request.Paginator{ 8342 InputTokens: []string{"Marker"}, 8343 OutputTokens: []string{"Marker"}, 8344 LimitToken: "MaxItems", 8345 TruncationToken: "IsTruncated", 8346 }, 8347 } 8348 8349 if input == nil { 8350 input = &ListInstanceProfilesInput{} 8351 } 8352 8353 output = &ListInstanceProfilesOutput{} 8354 req = c.newRequest(op, input, output) 8355 return 8356} 8357 8358// ListInstanceProfiles API operation for AWS Identity and Access Management. 8359// 8360// Lists the instance profiles that have the specified path prefix. If there 8361// are none, the action returns an empty list. For more information about instance 8362// profiles, go to About Instance Profiles (http://docs.aws.amazon.com/IAM/latest/UserGuide/AboutInstanceProfiles.html). 8363// 8364// You can paginate the results using the MaxItems and Marker parameters. 8365// 8366// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 8367// with awserr.Error's Code and Message methods to get detailed information about 8368// the error. 8369// 8370// See the AWS API reference guide for AWS Identity and Access Management's 8371// API operation ListInstanceProfiles for usage and error information. 8372// 8373// Returned Error Codes: 8374// * ErrCodeServiceFailureException "ServiceFailure" 8375// The request processing has failed because of an unknown error, exception 8376// or failure. 8377// 8378// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ListInstanceProfiles 8379func (c *IAM) ListInstanceProfiles(input *ListInstanceProfilesInput) (*ListInstanceProfilesOutput, error) { 8380 req, out := c.ListInstanceProfilesRequest(input) 8381 return out, req.Send() 8382} 8383 8384// ListInstanceProfilesWithContext is the same as ListInstanceProfiles with the addition of 8385// the ability to pass a context and additional request options. 8386// 8387// See ListInstanceProfiles for details on how to use this API operation. 8388// 8389// The context must be non-nil and will be used for request cancellation. If 8390// the context is nil a panic will occur. In the future the SDK may create 8391// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 8392// for more information on using Contexts. 8393func (c *IAM) ListInstanceProfilesWithContext(ctx aws.Context, input *ListInstanceProfilesInput, opts ...request.Option) (*ListInstanceProfilesOutput, error) { 8394 req, out := c.ListInstanceProfilesRequest(input) 8395 req.SetContext(ctx) 8396 req.ApplyOptions(opts...) 8397 return out, req.Send() 8398} 8399 8400// ListInstanceProfilesPages iterates over the pages of a ListInstanceProfiles operation, 8401// calling the "fn" function with the response data for each page. To stop 8402// iterating, return false from the fn function. 8403// 8404// See ListInstanceProfiles method for more information on how to use this operation. 8405// 8406// Note: This operation can generate multiple requests to a service. 8407// 8408// // Example iterating over at most 3 pages of a ListInstanceProfiles operation. 8409// pageNum := 0 8410// err := client.ListInstanceProfilesPages(params, 8411// func(page *ListInstanceProfilesOutput, lastPage bool) bool { 8412// pageNum++ 8413// fmt.Println(page) 8414// return pageNum <= 3 8415// }) 8416// 8417func (c *IAM) ListInstanceProfilesPages(input *ListInstanceProfilesInput, fn func(*ListInstanceProfilesOutput, bool) bool) error { 8418 return c.ListInstanceProfilesPagesWithContext(aws.BackgroundContext(), input, fn) 8419} 8420 8421// ListInstanceProfilesPagesWithContext same as ListInstanceProfilesPages except 8422// it takes a Context and allows setting request options on the pages. 8423// 8424// The context must be non-nil and will be used for request cancellation. If 8425// the context is nil a panic will occur. In the future the SDK may create 8426// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 8427// for more information on using Contexts. 8428func (c *IAM) ListInstanceProfilesPagesWithContext(ctx aws.Context, input *ListInstanceProfilesInput, fn func(*ListInstanceProfilesOutput, bool) bool, opts ...request.Option) error { 8429 p := request.Pagination{ 8430 NewRequest: func() (*request.Request, error) { 8431 var inCpy *ListInstanceProfilesInput 8432 if input != nil { 8433 tmp := *input 8434 inCpy = &tmp 8435 } 8436 req, _ := c.ListInstanceProfilesRequest(inCpy) 8437 req.SetContext(ctx) 8438 req.ApplyOptions(opts...) 8439 return req, nil 8440 }, 8441 } 8442 8443 cont := true 8444 for p.Next() && cont { 8445 cont = fn(p.Page().(*ListInstanceProfilesOutput), !p.HasNextPage()) 8446 } 8447 return p.Err() 8448} 8449 8450const opListInstanceProfilesForRole = "ListInstanceProfilesForRole" 8451 8452// ListInstanceProfilesForRoleRequest generates a "aws/request.Request" representing the 8453// client's request for the ListInstanceProfilesForRole operation. The "output" return 8454// value will be populated with the request's response once the request complets 8455// successfuly. 8456// 8457// Use "Send" method on the returned Request to send the API call to the service. 8458// the "output" return value is not valid until after Send returns without error. 8459// 8460// See ListInstanceProfilesForRole for more information on using the ListInstanceProfilesForRole 8461// API call, and error handling. 8462// 8463// This method is useful when you want to inject custom logic or configuration 8464// into the SDK's request lifecycle. Such as custom headers, or retry logic. 8465// 8466// 8467// // Example sending a request using the ListInstanceProfilesForRoleRequest method. 8468// req, resp := client.ListInstanceProfilesForRoleRequest(params) 8469// 8470// err := req.Send() 8471// if err == nil { // resp is now filled 8472// fmt.Println(resp) 8473// } 8474// 8475// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ListInstanceProfilesForRole 8476func (c *IAM) ListInstanceProfilesForRoleRequest(input *ListInstanceProfilesForRoleInput) (req *request.Request, output *ListInstanceProfilesForRoleOutput) { 8477 op := &request.Operation{ 8478 Name: opListInstanceProfilesForRole, 8479 HTTPMethod: "POST", 8480 HTTPPath: "/", 8481 Paginator: &request.Paginator{ 8482 InputTokens: []string{"Marker"}, 8483 OutputTokens: []string{"Marker"}, 8484 LimitToken: "MaxItems", 8485 TruncationToken: "IsTruncated", 8486 }, 8487 } 8488 8489 if input == nil { 8490 input = &ListInstanceProfilesForRoleInput{} 8491 } 8492 8493 output = &ListInstanceProfilesForRoleOutput{} 8494 req = c.newRequest(op, input, output) 8495 return 8496} 8497 8498// ListInstanceProfilesForRole API operation for AWS Identity and Access Management. 8499// 8500// Lists the instance profiles that have the specified associated IAM role. 8501// If there are none, the action returns an empty list. For more information 8502// about instance profiles, go to About Instance Profiles (http://docs.aws.amazon.com/IAM/latest/UserGuide/AboutInstanceProfiles.html). 8503// 8504// You can paginate the results using the MaxItems and Marker parameters. 8505// 8506// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 8507// with awserr.Error's Code and Message methods to get detailed information about 8508// the error. 8509// 8510// See the AWS API reference guide for AWS Identity and Access Management's 8511// API operation ListInstanceProfilesForRole for usage and error information. 8512// 8513// Returned Error Codes: 8514// * ErrCodeNoSuchEntityException "NoSuchEntity" 8515// The request was rejected because it referenced an entity that does not exist. 8516// The error message describes the entity. 8517// 8518// * ErrCodeServiceFailureException "ServiceFailure" 8519// The request processing has failed because of an unknown error, exception 8520// or failure. 8521// 8522// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ListInstanceProfilesForRole 8523func (c *IAM) ListInstanceProfilesForRole(input *ListInstanceProfilesForRoleInput) (*ListInstanceProfilesForRoleOutput, error) { 8524 req, out := c.ListInstanceProfilesForRoleRequest(input) 8525 return out, req.Send() 8526} 8527 8528// ListInstanceProfilesForRoleWithContext is the same as ListInstanceProfilesForRole with the addition of 8529// the ability to pass a context and additional request options. 8530// 8531// See ListInstanceProfilesForRole for details on how to use this API operation. 8532// 8533// The context must be non-nil and will be used for request cancellation. If 8534// the context is nil a panic will occur. In the future the SDK may create 8535// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 8536// for more information on using Contexts. 8537func (c *IAM) ListInstanceProfilesForRoleWithContext(ctx aws.Context, input *ListInstanceProfilesForRoleInput, opts ...request.Option) (*ListInstanceProfilesForRoleOutput, error) { 8538 req, out := c.ListInstanceProfilesForRoleRequest(input) 8539 req.SetContext(ctx) 8540 req.ApplyOptions(opts...) 8541 return out, req.Send() 8542} 8543 8544// ListInstanceProfilesForRolePages iterates over the pages of a ListInstanceProfilesForRole operation, 8545// calling the "fn" function with the response data for each page. To stop 8546// iterating, return false from the fn function. 8547// 8548// See ListInstanceProfilesForRole method for more information on how to use this operation. 8549// 8550// Note: This operation can generate multiple requests to a service. 8551// 8552// // Example iterating over at most 3 pages of a ListInstanceProfilesForRole operation. 8553// pageNum := 0 8554// err := client.ListInstanceProfilesForRolePages(params, 8555// func(page *ListInstanceProfilesForRoleOutput, lastPage bool) bool { 8556// pageNum++ 8557// fmt.Println(page) 8558// return pageNum <= 3 8559// }) 8560// 8561func (c *IAM) ListInstanceProfilesForRolePages(input *ListInstanceProfilesForRoleInput, fn func(*ListInstanceProfilesForRoleOutput, bool) bool) error { 8562 return c.ListInstanceProfilesForRolePagesWithContext(aws.BackgroundContext(), input, fn) 8563} 8564 8565// ListInstanceProfilesForRolePagesWithContext same as ListInstanceProfilesForRolePages except 8566// it takes a Context and allows setting request options on the pages. 8567// 8568// The context must be non-nil and will be used for request cancellation. If 8569// the context is nil a panic will occur. In the future the SDK may create 8570// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 8571// for more information on using Contexts. 8572func (c *IAM) ListInstanceProfilesForRolePagesWithContext(ctx aws.Context, input *ListInstanceProfilesForRoleInput, fn func(*ListInstanceProfilesForRoleOutput, bool) bool, opts ...request.Option) error { 8573 p := request.Pagination{ 8574 NewRequest: func() (*request.Request, error) { 8575 var inCpy *ListInstanceProfilesForRoleInput 8576 if input != nil { 8577 tmp := *input 8578 inCpy = &tmp 8579 } 8580 req, _ := c.ListInstanceProfilesForRoleRequest(inCpy) 8581 req.SetContext(ctx) 8582 req.ApplyOptions(opts...) 8583 return req, nil 8584 }, 8585 } 8586 8587 cont := true 8588 for p.Next() && cont { 8589 cont = fn(p.Page().(*ListInstanceProfilesForRoleOutput), !p.HasNextPage()) 8590 } 8591 return p.Err() 8592} 8593 8594const opListMFADevices = "ListMFADevices" 8595 8596// ListMFADevicesRequest generates a "aws/request.Request" representing the 8597// client's request for the ListMFADevices operation. The "output" return 8598// value will be populated with the request's response once the request complets 8599// successfuly. 8600// 8601// Use "Send" method on the returned Request to send the API call to the service. 8602// the "output" return value is not valid until after Send returns without error. 8603// 8604// See ListMFADevices for more information on using the ListMFADevices 8605// API call, and error handling. 8606// 8607// This method is useful when you want to inject custom logic or configuration 8608// into the SDK's request lifecycle. Such as custom headers, or retry logic. 8609// 8610// 8611// // Example sending a request using the ListMFADevicesRequest method. 8612// req, resp := client.ListMFADevicesRequest(params) 8613// 8614// err := req.Send() 8615// if err == nil { // resp is now filled 8616// fmt.Println(resp) 8617// } 8618// 8619// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ListMFADevices 8620func (c *IAM) ListMFADevicesRequest(input *ListMFADevicesInput) (req *request.Request, output *ListMFADevicesOutput) { 8621 op := &request.Operation{ 8622 Name: opListMFADevices, 8623 HTTPMethod: "POST", 8624 HTTPPath: "/", 8625 Paginator: &request.Paginator{ 8626 InputTokens: []string{"Marker"}, 8627 OutputTokens: []string{"Marker"}, 8628 LimitToken: "MaxItems", 8629 TruncationToken: "IsTruncated", 8630 }, 8631 } 8632 8633 if input == nil { 8634 input = &ListMFADevicesInput{} 8635 } 8636 8637 output = &ListMFADevicesOutput{} 8638 req = c.newRequest(op, input, output) 8639 return 8640} 8641 8642// ListMFADevices API operation for AWS Identity and Access Management. 8643// 8644// Lists the MFA devices for an IAM user. If the request includes a IAM user 8645// name, then this action lists all the MFA devices associated with the specified 8646// user. If you do not specify a user name, IAM determines the user name implicitly 8647// based on the AWS access key ID signing the request for this API. 8648// 8649// You can paginate the results using the MaxItems and Marker parameters. 8650// 8651// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 8652// with awserr.Error's Code and Message methods to get detailed information about 8653// the error. 8654// 8655// See the AWS API reference guide for AWS Identity and Access Management's 8656// API operation ListMFADevices for usage and error information. 8657// 8658// Returned Error Codes: 8659// * ErrCodeNoSuchEntityException "NoSuchEntity" 8660// The request was rejected because it referenced an entity that does not exist. 8661// The error message describes the entity. 8662// 8663// * ErrCodeServiceFailureException "ServiceFailure" 8664// The request processing has failed because of an unknown error, exception 8665// or failure. 8666// 8667// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ListMFADevices 8668func (c *IAM) ListMFADevices(input *ListMFADevicesInput) (*ListMFADevicesOutput, error) { 8669 req, out := c.ListMFADevicesRequest(input) 8670 return out, req.Send() 8671} 8672 8673// ListMFADevicesWithContext is the same as ListMFADevices with the addition of 8674// the ability to pass a context and additional request options. 8675// 8676// See ListMFADevices for details on how to use this API operation. 8677// 8678// The context must be non-nil and will be used for request cancellation. If 8679// the context is nil a panic will occur. In the future the SDK may create 8680// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 8681// for more information on using Contexts. 8682func (c *IAM) ListMFADevicesWithContext(ctx aws.Context, input *ListMFADevicesInput, opts ...request.Option) (*ListMFADevicesOutput, error) { 8683 req, out := c.ListMFADevicesRequest(input) 8684 req.SetContext(ctx) 8685 req.ApplyOptions(opts...) 8686 return out, req.Send() 8687} 8688 8689// ListMFADevicesPages iterates over the pages of a ListMFADevices operation, 8690// calling the "fn" function with the response data for each page. To stop 8691// iterating, return false from the fn function. 8692// 8693// See ListMFADevices method for more information on how to use this operation. 8694// 8695// Note: This operation can generate multiple requests to a service. 8696// 8697// // Example iterating over at most 3 pages of a ListMFADevices operation. 8698// pageNum := 0 8699// err := client.ListMFADevicesPages(params, 8700// func(page *ListMFADevicesOutput, lastPage bool) bool { 8701// pageNum++ 8702// fmt.Println(page) 8703// return pageNum <= 3 8704// }) 8705// 8706func (c *IAM) ListMFADevicesPages(input *ListMFADevicesInput, fn func(*ListMFADevicesOutput, bool) bool) error { 8707 return c.ListMFADevicesPagesWithContext(aws.BackgroundContext(), input, fn) 8708} 8709 8710// ListMFADevicesPagesWithContext same as ListMFADevicesPages except 8711// it takes a Context and allows setting request options on the pages. 8712// 8713// The context must be non-nil and will be used for request cancellation. If 8714// the context is nil a panic will occur. In the future the SDK may create 8715// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 8716// for more information on using Contexts. 8717func (c *IAM) ListMFADevicesPagesWithContext(ctx aws.Context, input *ListMFADevicesInput, fn func(*ListMFADevicesOutput, bool) bool, opts ...request.Option) error { 8718 p := request.Pagination{ 8719 NewRequest: func() (*request.Request, error) { 8720 var inCpy *ListMFADevicesInput 8721 if input != nil { 8722 tmp := *input 8723 inCpy = &tmp 8724 } 8725 req, _ := c.ListMFADevicesRequest(inCpy) 8726 req.SetContext(ctx) 8727 req.ApplyOptions(opts...) 8728 return req, nil 8729 }, 8730 } 8731 8732 cont := true 8733 for p.Next() && cont { 8734 cont = fn(p.Page().(*ListMFADevicesOutput), !p.HasNextPage()) 8735 } 8736 return p.Err() 8737} 8738 8739const opListOpenIDConnectProviders = "ListOpenIDConnectProviders" 8740 8741// ListOpenIDConnectProvidersRequest generates a "aws/request.Request" representing the 8742// client's request for the ListOpenIDConnectProviders operation. The "output" return 8743// value will be populated with the request's response once the request complets 8744// successfuly. 8745// 8746// Use "Send" method on the returned Request to send the API call to the service. 8747// the "output" return value is not valid until after Send returns without error. 8748// 8749// See ListOpenIDConnectProviders for more information on using the ListOpenIDConnectProviders 8750// API call, and error handling. 8751// 8752// This method is useful when you want to inject custom logic or configuration 8753// into the SDK's request lifecycle. Such as custom headers, or retry logic. 8754// 8755// 8756// // Example sending a request using the ListOpenIDConnectProvidersRequest method. 8757// req, resp := client.ListOpenIDConnectProvidersRequest(params) 8758// 8759// err := req.Send() 8760// if err == nil { // resp is now filled 8761// fmt.Println(resp) 8762// } 8763// 8764// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ListOpenIDConnectProviders 8765func (c *IAM) ListOpenIDConnectProvidersRequest(input *ListOpenIDConnectProvidersInput) (req *request.Request, output *ListOpenIDConnectProvidersOutput) { 8766 op := &request.Operation{ 8767 Name: opListOpenIDConnectProviders, 8768 HTTPMethod: "POST", 8769 HTTPPath: "/", 8770 } 8771 8772 if input == nil { 8773 input = &ListOpenIDConnectProvidersInput{} 8774 } 8775 8776 output = &ListOpenIDConnectProvidersOutput{} 8777 req = c.newRequest(op, input, output) 8778 return 8779} 8780 8781// ListOpenIDConnectProviders API operation for AWS Identity and Access Management. 8782// 8783// Lists information about the IAM OpenID Connect (OIDC) provider resource objects 8784// defined in the AWS account. 8785// 8786// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 8787// with awserr.Error's Code and Message methods to get detailed information about 8788// the error. 8789// 8790// See the AWS API reference guide for AWS Identity and Access Management's 8791// API operation ListOpenIDConnectProviders for usage and error information. 8792// 8793// Returned Error Codes: 8794// * ErrCodeServiceFailureException "ServiceFailure" 8795// The request processing has failed because of an unknown error, exception 8796// or failure. 8797// 8798// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ListOpenIDConnectProviders 8799func (c *IAM) ListOpenIDConnectProviders(input *ListOpenIDConnectProvidersInput) (*ListOpenIDConnectProvidersOutput, error) { 8800 req, out := c.ListOpenIDConnectProvidersRequest(input) 8801 return out, req.Send() 8802} 8803 8804// ListOpenIDConnectProvidersWithContext is the same as ListOpenIDConnectProviders with the addition of 8805// the ability to pass a context and additional request options. 8806// 8807// See ListOpenIDConnectProviders for details on how to use this API operation. 8808// 8809// The context must be non-nil and will be used for request cancellation. If 8810// the context is nil a panic will occur. In the future the SDK may create 8811// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 8812// for more information on using Contexts. 8813func (c *IAM) ListOpenIDConnectProvidersWithContext(ctx aws.Context, input *ListOpenIDConnectProvidersInput, opts ...request.Option) (*ListOpenIDConnectProvidersOutput, error) { 8814 req, out := c.ListOpenIDConnectProvidersRequest(input) 8815 req.SetContext(ctx) 8816 req.ApplyOptions(opts...) 8817 return out, req.Send() 8818} 8819 8820const opListPolicies = "ListPolicies" 8821 8822// ListPoliciesRequest generates a "aws/request.Request" representing the 8823// client's request for the ListPolicies operation. The "output" return 8824// value will be populated with the request's response once the request complets 8825// successfuly. 8826// 8827// Use "Send" method on the returned Request to send the API call to the service. 8828// the "output" return value is not valid until after Send returns without error. 8829// 8830// See ListPolicies for more information on using the ListPolicies 8831// API call, and error handling. 8832// 8833// This method is useful when you want to inject custom logic or configuration 8834// into the SDK's request lifecycle. Such as custom headers, or retry logic. 8835// 8836// 8837// // Example sending a request using the ListPoliciesRequest method. 8838// req, resp := client.ListPoliciesRequest(params) 8839// 8840// err := req.Send() 8841// if err == nil { // resp is now filled 8842// fmt.Println(resp) 8843// } 8844// 8845// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ListPolicies 8846func (c *IAM) ListPoliciesRequest(input *ListPoliciesInput) (req *request.Request, output *ListPoliciesOutput) { 8847 op := &request.Operation{ 8848 Name: opListPolicies, 8849 HTTPMethod: "POST", 8850 HTTPPath: "/", 8851 Paginator: &request.Paginator{ 8852 InputTokens: []string{"Marker"}, 8853 OutputTokens: []string{"Marker"}, 8854 LimitToken: "MaxItems", 8855 TruncationToken: "IsTruncated", 8856 }, 8857 } 8858 8859 if input == nil { 8860 input = &ListPoliciesInput{} 8861 } 8862 8863 output = &ListPoliciesOutput{} 8864 req = c.newRequest(op, input, output) 8865 return 8866} 8867 8868// ListPolicies API operation for AWS Identity and Access Management. 8869// 8870// Lists all the managed policies that are available in your AWS account, including 8871// your own customer-defined managed policies and all AWS managed policies. 8872// 8873// You can filter the list of policies that is returned using the optional OnlyAttached, 8874// Scope, and PathPrefix parameters. For example, to list only the customer 8875// managed policies in your AWS account, set Scope to Local. To list only AWS 8876// managed policies, set Scope to AWS. 8877// 8878// You can paginate the results using the MaxItems and Marker parameters. 8879// 8880// For more information about managed policies, see Managed Policies and Inline 8881// Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html) 8882// in the IAM User Guide. 8883// 8884// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 8885// with awserr.Error's Code and Message methods to get detailed information about 8886// the error. 8887// 8888// See the AWS API reference guide for AWS Identity and Access Management's 8889// API operation ListPolicies for usage and error information. 8890// 8891// Returned Error Codes: 8892// * ErrCodeServiceFailureException "ServiceFailure" 8893// The request processing has failed because of an unknown error, exception 8894// or failure. 8895// 8896// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ListPolicies 8897func (c *IAM) ListPolicies(input *ListPoliciesInput) (*ListPoliciesOutput, error) { 8898 req, out := c.ListPoliciesRequest(input) 8899 return out, req.Send() 8900} 8901 8902// ListPoliciesWithContext is the same as ListPolicies with the addition of 8903// the ability to pass a context and additional request options. 8904// 8905// See ListPolicies for details on how to use this API operation. 8906// 8907// The context must be non-nil and will be used for request cancellation. If 8908// the context is nil a panic will occur. In the future the SDK may create 8909// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 8910// for more information on using Contexts. 8911func (c *IAM) ListPoliciesWithContext(ctx aws.Context, input *ListPoliciesInput, opts ...request.Option) (*ListPoliciesOutput, error) { 8912 req, out := c.ListPoliciesRequest(input) 8913 req.SetContext(ctx) 8914 req.ApplyOptions(opts...) 8915 return out, req.Send() 8916} 8917 8918// ListPoliciesPages iterates over the pages of a ListPolicies operation, 8919// calling the "fn" function with the response data for each page. To stop 8920// iterating, return false from the fn function. 8921// 8922// See ListPolicies method for more information on how to use this operation. 8923// 8924// Note: This operation can generate multiple requests to a service. 8925// 8926// // Example iterating over at most 3 pages of a ListPolicies operation. 8927// pageNum := 0 8928// err := client.ListPoliciesPages(params, 8929// func(page *ListPoliciesOutput, lastPage bool) bool { 8930// pageNum++ 8931// fmt.Println(page) 8932// return pageNum <= 3 8933// }) 8934// 8935func (c *IAM) ListPoliciesPages(input *ListPoliciesInput, fn func(*ListPoliciesOutput, bool) bool) error { 8936 return c.ListPoliciesPagesWithContext(aws.BackgroundContext(), input, fn) 8937} 8938 8939// ListPoliciesPagesWithContext same as ListPoliciesPages except 8940// it takes a Context and allows setting request options on the pages. 8941// 8942// The context must be non-nil and will be used for request cancellation. If 8943// the context is nil a panic will occur. In the future the SDK may create 8944// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 8945// for more information on using Contexts. 8946func (c *IAM) ListPoliciesPagesWithContext(ctx aws.Context, input *ListPoliciesInput, fn func(*ListPoliciesOutput, bool) bool, opts ...request.Option) error { 8947 p := request.Pagination{ 8948 NewRequest: func() (*request.Request, error) { 8949 var inCpy *ListPoliciesInput 8950 if input != nil { 8951 tmp := *input 8952 inCpy = &tmp 8953 } 8954 req, _ := c.ListPoliciesRequest(inCpy) 8955 req.SetContext(ctx) 8956 req.ApplyOptions(opts...) 8957 return req, nil 8958 }, 8959 } 8960 8961 cont := true 8962 for p.Next() && cont { 8963 cont = fn(p.Page().(*ListPoliciesOutput), !p.HasNextPage()) 8964 } 8965 return p.Err() 8966} 8967 8968const opListPolicyVersions = "ListPolicyVersions" 8969 8970// ListPolicyVersionsRequest generates a "aws/request.Request" representing the 8971// client's request for the ListPolicyVersions operation. The "output" return 8972// value will be populated with the request's response once the request complets 8973// successfuly. 8974// 8975// Use "Send" method on the returned Request to send the API call to the service. 8976// the "output" return value is not valid until after Send returns without error. 8977// 8978// See ListPolicyVersions for more information on using the ListPolicyVersions 8979// API call, and error handling. 8980// 8981// This method is useful when you want to inject custom logic or configuration 8982// into the SDK's request lifecycle. Such as custom headers, or retry logic. 8983// 8984// 8985// // Example sending a request using the ListPolicyVersionsRequest method. 8986// req, resp := client.ListPolicyVersionsRequest(params) 8987// 8988// err := req.Send() 8989// if err == nil { // resp is now filled 8990// fmt.Println(resp) 8991// } 8992// 8993// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ListPolicyVersions 8994func (c *IAM) ListPolicyVersionsRequest(input *ListPolicyVersionsInput) (req *request.Request, output *ListPolicyVersionsOutput) { 8995 op := &request.Operation{ 8996 Name: opListPolicyVersions, 8997 HTTPMethod: "POST", 8998 HTTPPath: "/", 8999 Paginator: &request.Paginator{ 9000 InputTokens: []string{"Marker"}, 9001 OutputTokens: []string{"Marker"}, 9002 LimitToken: "MaxItems", 9003 TruncationToken: "IsTruncated", 9004 }, 9005 } 9006 9007 if input == nil { 9008 input = &ListPolicyVersionsInput{} 9009 } 9010 9011 output = &ListPolicyVersionsOutput{} 9012 req = c.newRequest(op, input, output) 9013 return 9014} 9015 9016// ListPolicyVersions API operation for AWS Identity and Access Management. 9017// 9018// Lists information about the versions of the specified managed policy, including 9019// the version that is currently set as the policy's default version. 9020// 9021// For more information about managed policies, see Managed Policies and Inline 9022// Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html) 9023// in the IAM User Guide. 9024// 9025// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 9026// with awserr.Error's Code and Message methods to get detailed information about 9027// the error. 9028// 9029// See the AWS API reference guide for AWS Identity and Access Management's 9030// API operation ListPolicyVersions for usage and error information. 9031// 9032// Returned Error Codes: 9033// * ErrCodeNoSuchEntityException "NoSuchEntity" 9034// The request was rejected because it referenced an entity that does not exist. 9035// The error message describes the entity. 9036// 9037// * ErrCodeInvalidInputException "InvalidInput" 9038// The request was rejected because an invalid or out-of-range value was supplied 9039// for an input parameter. 9040// 9041// * ErrCodeServiceFailureException "ServiceFailure" 9042// The request processing has failed because of an unknown error, exception 9043// or failure. 9044// 9045// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ListPolicyVersions 9046func (c *IAM) ListPolicyVersions(input *ListPolicyVersionsInput) (*ListPolicyVersionsOutput, error) { 9047 req, out := c.ListPolicyVersionsRequest(input) 9048 return out, req.Send() 9049} 9050 9051// ListPolicyVersionsWithContext is the same as ListPolicyVersions with the addition of 9052// the ability to pass a context and additional request options. 9053// 9054// See ListPolicyVersions for details on how to use this API operation. 9055// 9056// The context must be non-nil and will be used for request cancellation. If 9057// the context is nil a panic will occur. In the future the SDK may create 9058// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 9059// for more information on using Contexts. 9060func (c *IAM) ListPolicyVersionsWithContext(ctx aws.Context, input *ListPolicyVersionsInput, opts ...request.Option) (*ListPolicyVersionsOutput, error) { 9061 req, out := c.ListPolicyVersionsRequest(input) 9062 req.SetContext(ctx) 9063 req.ApplyOptions(opts...) 9064 return out, req.Send() 9065} 9066 9067// ListPolicyVersionsPages iterates over the pages of a ListPolicyVersions operation, 9068// calling the "fn" function with the response data for each page. To stop 9069// iterating, return false from the fn function. 9070// 9071// See ListPolicyVersions method for more information on how to use this operation. 9072// 9073// Note: This operation can generate multiple requests to a service. 9074// 9075// // Example iterating over at most 3 pages of a ListPolicyVersions operation. 9076// pageNum := 0 9077// err := client.ListPolicyVersionsPages(params, 9078// func(page *ListPolicyVersionsOutput, lastPage bool) bool { 9079// pageNum++ 9080// fmt.Println(page) 9081// return pageNum <= 3 9082// }) 9083// 9084func (c *IAM) ListPolicyVersionsPages(input *ListPolicyVersionsInput, fn func(*ListPolicyVersionsOutput, bool) bool) error { 9085 return c.ListPolicyVersionsPagesWithContext(aws.BackgroundContext(), input, fn) 9086} 9087 9088// ListPolicyVersionsPagesWithContext same as ListPolicyVersionsPages except 9089// it takes a Context and allows setting request options on the pages. 9090// 9091// The context must be non-nil and will be used for request cancellation. If 9092// the context is nil a panic will occur. In the future the SDK may create 9093// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 9094// for more information on using Contexts. 9095func (c *IAM) ListPolicyVersionsPagesWithContext(ctx aws.Context, input *ListPolicyVersionsInput, fn func(*ListPolicyVersionsOutput, bool) bool, opts ...request.Option) error { 9096 p := request.Pagination{ 9097 NewRequest: func() (*request.Request, error) { 9098 var inCpy *ListPolicyVersionsInput 9099 if input != nil { 9100 tmp := *input 9101 inCpy = &tmp 9102 } 9103 req, _ := c.ListPolicyVersionsRequest(inCpy) 9104 req.SetContext(ctx) 9105 req.ApplyOptions(opts...) 9106 return req, nil 9107 }, 9108 } 9109 9110 cont := true 9111 for p.Next() && cont { 9112 cont = fn(p.Page().(*ListPolicyVersionsOutput), !p.HasNextPage()) 9113 } 9114 return p.Err() 9115} 9116 9117const opListRolePolicies = "ListRolePolicies" 9118 9119// ListRolePoliciesRequest generates a "aws/request.Request" representing the 9120// client's request for the ListRolePolicies operation. The "output" return 9121// value will be populated with the request's response once the request complets 9122// successfuly. 9123// 9124// Use "Send" method on the returned Request to send the API call to the service. 9125// the "output" return value is not valid until after Send returns without error. 9126// 9127// See ListRolePolicies for more information on using the ListRolePolicies 9128// API call, and error handling. 9129// 9130// This method is useful when you want to inject custom logic or configuration 9131// into the SDK's request lifecycle. Such as custom headers, or retry logic. 9132// 9133// 9134// // Example sending a request using the ListRolePoliciesRequest method. 9135// req, resp := client.ListRolePoliciesRequest(params) 9136// 9137// err := req.Send() 9138// if err == nil { // resp is now filled 9139// fmt.Println(resp) 9140// } 9141// 9142// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ListRolePolicies 9143func (c *IAM) ListRolePoliciesRequest(input *ListRolePoliciesInput) (req *request.Request, output *ListRolePoliciesOutput) { 9144 op := &request.Operation{ 9145 Name: opListRolePolicies, 9146 HTTPMethod: "POST", 9147 HTTPPath: "/", 9148 Paginator: &request.Paginator{ 9149 InputTokens: []string{"Marker"}, 9150 OutputTokens: []string{"Marker"}, 9151 LimitToken: "MaxItems", 9152 TruncationToken: "IsTruncated", 9153 }, 9154 } 9155 9156 if input == nil { 9157 input = &ListRolePoliciesInput{} 9158 } 9159 9160 output = &ListRolePoliciesOutput{} 9161 req = c.newRequest(op, input, output) 9162 return 9163} 9164 9165// ListRolePolicies API operation for AWS Identity and Access Management. 9166// 9167// Lists the names of the inline policies that are embedded in the specified 9168// IAM role. 9169// 9170// An IAM role can also have managed policies attached to it. To list the managed 9171// policies that are attached to a role, use ListAttachedRolePolicies. For more 9172// information about policies, see Managed Policies and Inline Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html) 9173// in the IAM User Guide. 9174// 9175// You can paginate the results using the MaxItems and Marker parameters. If 9176// there are no inline policies embedded with the specified role, the action 9177// returns an empty list. 9178// 9179// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 9180// with awserr.Error's Code and Message methods to get detailed information about 9181// the error. 9182// 9183// See the AWS API reference guide for AWS Identity and Access Management's 9184// API operation ListRolePolicies for usage and error information. 9185// 9186// Returned Error Codes: 9187// * ErrCodeNoSuchEntityException "NoSuchEntity" 9188// The request was rejected because it referenced an entity that does not exist. 9189// The error message describes the entity. 9190// 9191// * ErrCodeServiceFailureException "ServiceFailure" 9192// The request processing has failed because of an unknown error, exception 9193// or failure. 9194// 9195// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ListRolePolicies 9196func (c *IAM) ListRolePolicies(input *ListRolePoliciesInput) (*ListRolePoliciesOutput, error) { 9197 req, out := c.ListRolePoliciesRequest(input) 9198 return out, req.Send() 9199} 9200 9201// ListRolePoliciesWithContext is the same as ListRolePolicies with the addition of 9202// the ability to pass a context and additional request options. 9203// 9204// See ListRolePolicies for details on how to use this API operation. 9205// 9206// The context must be non-nil and will be used for request cancellation. If 9207// the context is nil a panic will occur. In the future the SDK may create 9208// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 9209// for more information on using Contexts. 9210func (c *IAM) ListRolePoliciesWithContext(ctx aws.Context, input *ListRolePoliciesInput, opts ...request.Option) (*ListRolePoliciesOutput, error) { 9211 req, out := c.ListRolePoliciesRequest(input) 9212 req.SetContext(ctx) 9213 req.ApplyOptions(opts...) 9214 return out, req.Send() 9215} 9216 9217// ListRolePoliciesPages iterates over the pages of a ListRolePolicies operation, 9218// calling the "fn" function with the response data for each page. To stop 9219// iterating, return false from the fn function. 9220// 9221// See ListRolePolicies method for more information on how to use this operation. 9222// 9223// Note: This operation can generate multiple requests to a service. 9224// 9225// // Example iterating over at most 3 pages of a ListRolePolicies operation. 9226// pageNum := 0 9227// err := client.ListRolePoliciesPages(params, 9228// func(page *ListRolePoliciesOutput, lastPage bool) bool { 9229// pageNum++ 9230// fmt.Println(page) 9231// return pageNum <= 3 9232// }) 9233// 9234func (c *IAM) ListRolePoliciesPages(input *ListRolePoliciesInput, fn func(*ListRolePoliciesOutput, bool) bool) error { 9235 return c.ListRolePoliciesPagesWithContext(aws.BackgroundContext(), input, fn) 9236} 9237 9238// ListRolePoliciesPagesWithContext same as ListRolePoliciesPages except 9239// it takes a Context and allows setting request options on the pages. 9240// 9241// The context must be non-nil and will be used for request cancellation. If 9242// the context is nil a panic will occur. In the future the SDK may create 9243// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 9244// for more information on using Contexts. 9245func (c *IAM) ListRolePoliciesPagesWithContext(ctx aws.Context, input *ListRolePoliciesInput, fn func(*ListRolePoliciesOutput, bool) bool, opts ...request.Option) error { 9246 p := request.Pagination{ 9247 NewRequest: func() (*request.Request, error) { 9248 var inCpy *ListRolePoliciesInput 9249 if input != nil { 9250 tmp := *input 9251 inCpy = &tmp 9252 } 9253 req, _ := c.ListRolePoliciesRequest(inCpy) 9254 req.SetContext(ctx) 9255 req.ApplyOptions(opts...) 9256 return req, nil 9257 }, 9258 } 9259 9260 cont := true 9261 for p.Next() && cont { 9262 cont = fn(p.Page().(*ListRolePoliciesOutput), !p.HasNextPage()) 9263 } 9264 return p.Err() 9265} 9266 9267const opListRoles = "ListRoles" 9268 9269// ListRolesRequest generates a "aws/request.Request" representing the 9270// client's request for the ListRoles operation. The "output" return 9271// value will be populated with the request's response once the request complets 9272// successfuly. 9273// 9274// Use "Send" method on the returned Request to send the API call to the service. 9275// the "output" return value is not valid until after Send returns without error. 9276// 9277// See ListRoles for more information on using the ListRoles 9278// API call, and error handling. 9279// 9280// This method is useful when you want to inject custom logic or configuration 9281// into the SDK's request lifecycle. Such as custom headers, or retry logic. 9282// 9283// 9284// // Example sending a request using the ListRolesRequest method. 9285// req, resp := client.ListRolesRequest(params) 9286// 9287// err := req.Send() 9288// if err == nil { // resp is now filled 9289// fmt.Println(resp) 9290// } 9291// 9292// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ListRoles 9293func (c *IAM) ListRolesRequest(input *ListRolesInput) (req *request.Request, output *ListRolesOutput) { 9294 op := &request.Operation{ 9295 Name: opListRoles, 9296 HTTPMethod: "POST", 9297 HTTPPath: "/", 9298 Paginator: &request.Paginator{ 9299 InputTokens: []string{"Marker"}, 9300 OutputTokens: []string{"Marker"}, 9301 LimitToken: "MaxItems", 9302 TruncationToken: "IsTruncated", 9303 }, 9304 } 9305 9306 if input == nil { 9307 input = &ListRolesInput{} 9308 } 9309 9310 output = &ListRolesOutput{} 9311 req = c.newRequest(op, input, output) 9312 return 9313} 9314 9315// ListRoles API operation for AWS Identity and Access Management. 9316// 9317// Lists the IAM roles that have the specified path prefix. If there are none, 9318// the action returns an empty list. For more information about roles, go to 9319// Working with Roles (http://docs.aws.amazon.com/IAM/latest/UserGuide/WorkingWithRoles.html). 9320// 9321// You can paginate the results using the MaxItems and Marker parameters. 9322// 9323// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 9324// with awserr.Error's Code and Message methods to get detailed information about 9325// the error. 9326// 9327// See the AWS API reference guide for AWS Identity and Access Management's 9328// API operation ListRoles for usage and error information. 9329// 9330// Returned Error Codes: 9331// * ErrCodeServiceFailureException "ServiceFailure" 9332// The request processing has failed because of an unknown error, exception 9333// or failure. 9334// 9335// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ListRoles 9336func (c *IAM) ListRoles(input *ListRolesInput) (*ListRolesOutput, error) { 9337 req, out := c.ListRolesRequest(input) 9338 return out, req.Send() 9339} 9340 9341// ListRolesWithContext is the same as ListRoles with the addition of 9342// the ability to pass a context and additional request options. 9343// 9344// See ListRoles for details on how to use this API operation. 9345// 9346// The context must be non-nil and will be used for request cancellation. If 9347// the context is nil a panic will occur. In the future the SDK may create 9348// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 9349// for more information on using Contexts. 9350func (c *IAM) ListRolesWithContext(ctx aws.Context, input *ListRolesInput, opts ...request.Option) (*ListRolesOutput, error) { 9351 req, out := c.ListRolesRequest(input) 9352 req.SetContext(ctx) 9353 req.ApplyOptions(opts...) 9354 return out, req.Send() 9355} 9356 9357// ListRolesPages iterates over the pages of a ListRoles operation, 9358// calling the "fn" function with the response data for each page. To stop 9359// iterating, return false from the fn function. 9360// 9361// See ListRoles method for more information on how to use this operation. 9362// 9363// Note: This operation can generate multiple requests to a service. 9364// 9365// // Example iterating over at most 3 pages of a ListRoles operation. 9366// pageNum := 0 9367// err := client.ListRolesPages(params, 9368// func(page *ListRolesOutput, lastPage bool) bool { 9369// pageNum++ 9370// fmt.Println(page) 9371// return pageNum <= 3 9372// }) 9373// 9374func (c *IAM) ListRolesPages(input *ListRolesInput, fn func(*ListRolesOutput, bool) bool) error { 9375 return c.ListRolesPagesWithContext(aws.BackgroundContext(), input, fn) 9376} 9377 9378// ListRolesPagesWithContext same as ListRolesPages except 9379// it takes a Context and allows setting request options on the pages. 9380// 9381// The context must be non-nil and will be used for request cancellation. If 9382// the context is nil a panic will occur. In the future the SDK may create 9383// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 9384// for more information on using Contexts. 9385func (c *IAM) ListRolesPagesWithContext(ctx aws.Context, input *ListRolesInput, fn func(*ListRolesOutput, bool) bool, opts ...request.Option) error { 9386 p := request.Pagination{ 9387 NewRequest: func() (*request.Request, error) { 9388 var inCpy *ListRolesInput 9389 if input != nil { 9390 tmp := *input 9391 inCpy = &tmp 9392 } 9393 req, _ := c.ListRolesRequest(inCpy) 9394 req.SetContext(ctx) 9395 req.ApplyOptions(opts...) 9396 return req, nil 9397 }, 9398 } 9399 9400 cont := true 9401 for p.Next() && cont { 9402 cont = fn(p.Page().(*ListRolesOutput), !p.HasNextPage()) 9403 } 9404 return p.Err() 9405} 9406 9407const opListSAMLProviders = "ListSAMLProviders" 9408 9409// ListSAMLProvidersRequest generates a "aws/request.Request" representing the 9410// client's request for the ListSAMLProviders operation. The "output" return 9411// value will be populated with the request's response once the request complets 9412// successfuly. 9413// 9414// Use "Send" method on the returned Request to send the API call to the service. 9415// the "output" return value is not valid until after Send returns without error. 9416// 9417// See ListSAMLProviders for more information on using the ListSAMLProviders 9418// API call, and error handling. 9419// 9420// This method is useful when you want to inject custom logic or configuration 9421// into the SDK's request lifecycle. Such as custom headers, or retry logic. 9422// 9423// 9424// // Example sending a request using the ListSAMLProvidersRequest method. 9425// req, resp := client.ListSAMLProvidersRequest(params) 9426// 9427// err := req.Send() 9428// if err == nil { // resp is now filled 9429// fmt.Println(resp) 9430// } 9431// 9432// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ListSAMLProviders 9433func (c *IAM) ListSAMLProvidersRequest(input *ListSAMLProvidersInput) (req *request.Request, output *ListSAMLProvidersOutput) { 9434 op := &request.Operation{ 9435 Name: opListSAMLProviders, 9436 HTTPMethod: "POST", 9437 HTTPPath: "/", 9438 } 9439 9440 if input == nil { 9441 input = &ListSAMLProvidersInput{} 9442 } 9443 9444 output = &ListSAMLProvidersOutput{} 9445 req = c.newRequest(op, input, output) 9446 return 9447} 9448 9449// ListSAMLProviders API operation for AWS Identity and Access Management. 9450// 9451// Lists the SAML provider resource objects defined in IAM in the account. 9452// 9453// This operation requires Signature Version 4 (http://docs.aws.amazon.com/general/latest/gr/signature-version-4.html). 9454// 9455// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 9456// with awserr.Error's Code and Message methods to get detailed information about 9457// the error. 9458// 9459// See the AWS API reference guide for AWS Identity and Access Management's 9460// API operation ListSAMLProviders for usage and error information. 9461// 9462// Returned Error Codes: 9463// * ErrCodeServiceFailureException "ServiceFailure" 9464// The request processing has failed because of an unknown error, exception 9465// or failure. 9466// 9467// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ListSAMLProviders 9468func (c *IAM) ListSAMLProviders(input *ListSAMLProvidersInput) (*ListSAMLProvidersOutput, error) { 9469 req, out := c.ListSAMLProvidersRequest(input) 9470 return out, req.Send() 9471} 9472 9473// ListSAMLProvidersWithContext is the same as ListSAMLProviders with the addition of 9474// the ability to pass a context and additional request options. 9475// 9476// See ListSAMLProviders for details on how to use this API operation. 9477// 9478// The context must be non-nil and will be used for request cancellation. If 9479// the context is nil a panic will occur. In the future the SDK may create 9480// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 9481// for more information on using Contexts. 9482func (c *IAM) ListSAMLProvidersWithContext(ctx aws.Context, input *ListSAMLProvidersInput, opts ...request.Option) (*ListSAMLProvidersOutput, error) { 9483 req, out := c.ListSAMLProvidersRequest(input) 9484 req.SetContext(ctx) 9485 req.ApplyOptions(opts...) 9486 return out, req.Send() 9487} 9488 9489const opListSSHPublicKeys = "ListSSHPublicKeys" 9490 9491// ListSSHPublicKeysRequest generates a "aws/request.Request" representing the 9492// client's request for the ListSSHPublicKeys operation. The "output" return 9493// value will be populated with the request's response once the request complets 9494// successfuly. 9495// 9496// Use "Send" method on the returned Request to send the API call to the service. 9497// the "output" return value is not valid until after Send returns without error. 9498// 9499// See ListSSHPublicKeys for more information on using the ListSSHPublicKeys 9500// API call, and error handling. 9501// 9502// This method is useful when you want to inject custom logic or configuration 9503// into the SDK's request lifecycle. Such as custom headers, or retry logic. 9504// 9505// 9506// // Example sending a request using the ListSSHPublicKeysRequest method. 9507// req, resp := client.ListSSHPublicKeysRequest(params) 9508// 9509// err := req.Send() 9510// if err == nil { // resp is now filled 9511// fmt.Println(resp) 9512// } 9513// 9514// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ListSSHPublicKeys 9515func (c *IAM) ListSSHPublicKeysRequest(input *ListSSHPublicKeysInput) (req *request.Request, output *ListSSHPublicKeysOutput) { 9516 op := &request.Operation{ 9517 Name: opListSSHPublicKeys, 9518 HTTPMethod: "POST", 9519 HTTPPath: "/", 9520 Paginator: &request.Paginator{ 9521 InputTokens: []string{"Marker"}, 9522 OutputTokens: []string{"Marker"}, 9523 LimitToken: "MaxItems", 9524 TruncationToken: "IsTruncated", 9525 }, 9526 } 9527 9528 if input == nil { 9529 input = &ListSSHPublicKeysInput{} 9530 } 9531 9532 output = &ListSSHPublicKeysOutput{} 9533 req = c.newRequest(op, input, output) 9534 return 9535} 9536 9537// ListSSHPublicKeys API operation for AWS Identity and Access Management. 9538// 9539// Returns information about the SSH public keys associated with the specified 9540// IAM user. If there are none, the action returns an empty list. 9541// 9542// The SSH public keys returned by this action are used only for authenticating 9543// the IAM user to an AWS CodeCommit repository. For more information about 9544// using SSH keys to authenticate to an AWS CodeCommit repository, see Set up 9545// AWS CodeCommit for SSH Connections (http://docs.aws.amazon.com/codecommit/latest/userguide/setting-up-credentials-ssh.html) 9546// in the AWS CodeCommit User Guide. 9547// 9548// Although each user is limited to a small number of keys, you can still paginate 9549// the results using the MaxItems and Marker parameters. 9550// 9551// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 9552// with awserr.Error's Code and Message methods to get detailed information about 9553// the error. 9554// 9555// See the AWS API reference guide for AWS Identity and Access Management's 9556// API operation ListSSHPublicKeys for usage and error information. 9557// 9558// Returned Error Codes: 9559// * ErrCodeNoSuchEntityException "NoSuchEntity" 9560// The request was rejected because it referenced an entity that does not exist. 9561// The error message describes the entity. 9562// 9563// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ListSSHPublicKeys 9564func (c *IAM) ListSSHPublicKeys(input *ListSSHPublicKeysInput) (*ListSSHPublicKeysOutput, error) { 9565 req, out := c.ListSSHPublicKeysRequest(input) 9566 return out, req.Send() 9567} 9568 9569// ListSSHPublicKeysWithContext is the same as ListSSHPublicKeys with the addition of 9570// the ability to pass a context and additional request options. 9571// 9572// See ListSSHPublicKeys for details on how to use this API operation. 9573// 9574// The context must be non-nil and will be used for request cancellation. If 9575// the context is nil a panic will occur. In the future the SDK may create 9576// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 9577// for more information on using Contexts. 9578func (c *IAM) ListSSHPublicKeysWithContext(ctx aws.Context, input *ListSSHPublicKeysInput, opts ...request.Option) (*ListSSHPublicKeysOutput, error) { 9579 req, out := c.ListSSHPublicKeysRequest(input) 9580 req.SetContext(ctx) 9581 req.ApplyOptions(opts...) 9582 return out, req.Send() 9583} 9584 9585// ListSSHPublicKeysPages iterates over the pages of a ListSSHPublicKeys operation, 9586// calling the "fn" function with the response data for each page. To stop 9587// iterating, return false from the fn function. 9588// 9589// See ListSSHPublicKeys method for more information on how to use this operation. 9590// 9591// Note: This operation can generate multiple requests to a service. 9592// 9593// // Example iterating over at most 3 pages of a ListSSHPublicKeys operation. 9594// pageNum := 0 9595// err := client.ListSSHPublicKeysPages(params, 9596// func(page *ListSSHPublicKeysOutput, lastPage bool) bool { 9597// pageNum++ 9598// fmt.Println(page) 9599// return pageNum <= 3 9600// }) 9601// 9602func (c *IAM) ListSSHPublicKeysPages(input *ListSSHPublicKeysInput, fn func(*ListSSHPublicKeysOutput, bool) bool) error { 9603 return c.ListSSHPublicKeysPagesWithContext(aws.BackgroundContext(), input, fn) 9604} 9605 9606// ListSSHPublicKeysPagesWithContext same as ListSSHPublicKeysPages except 9607// it takes a Context and allows setting request options on the pages. 9608// 9609// The context must be non-nil and will be used for request cancellation. If 9610// the context is nil a panic will occur. In the future the SDK may create 9611// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 9612// for more information on using Contexts. 9613func (c *IAM) ListSSHPublicKeysPagesWithContext(ctx aws.Context, input *ListSSHPublicKeysInput, fn func(*ListSSHPublicKeysOutput, bool) bool, opts ...request.Option) error { 9614 p := request.Pagination{ 9615 NewRequest: func() (*request.Request, error) { 9616 var inCpy *ListSSHPublicKeysInput 9617 if input != nil { 9618 tmp := *input 9619 inCpy = &tmp 9620 } 9621 req, _ := c.ListSSHPublicKeysRequest(inCpy) 9622 req.SetContext(ctx) 9623 req.ApplyOptions(opts...) 9624 return req, nil 9625 }, 9626 } 9627 9628 cont := true 9629 for p.Next() && cont { 9630 cont = fn(p.Page().(*ListSSHPublicKeysOutput), !p.HasNextPage()) 9631 } 9632 return p.Err() 9633} 9634 9635const opListServerCertificates = "ListServerCertificates" 9636 9637// ListServerCertificatesRequest generates a "aws/request.Request" representing the 9638// client's request for the ListServerCertificates operation. The "output" return 9639// value will be populated with the request's response once the request complets 9640// successfuly. 9641// 9642// Use "Send" method on the returned Request to send the API call to the service. 9643// the "output" return value is not valid until after Send returns without error. 9644// 9645// See ListServerCertificates for more information on using the ListServerCertificates 9646// API call, and error handling. 9647// 9648// This method is useful when you want to inject custom logic or configuration 9649// into the SDK's request lifecycle. Such as custom headers, or retry logic. 9650// 9651// 9652// // Example sending a request using the ListServerCertificatesRequest method. 9653// req, resp := client.ListServerCertificatesRequest(params) 9654// 9655// err := req.Send() 9656// if err == nil { // resp is now filled 9657// fmt.Println(resp) 9658// } 9659// 9660// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ListServerCertificates 9661func (c *IAM) ListServerCertificatesRequest(input *ListServerCertificatesInput) (req *request.Request, output *ListServerCertificatesOutput) { 9662 op := &request.Operation{ 9663 Name: opListServerCertificates, 9664 HTTPMethod: "POST", 9665 HTTPPath: "/", 9666 Paginator: &request.Paginator{ 9667 InputTokens: []string{"Marker"}, 9668 OutputTokens: []string{"Marker"}, 9669 LimitToken: "MaxItems", 9670 TruncationToken: "IsTruncated", 9671 }, 9672 } 9673 9674 if input == nil { 9675 input = &ListServerCertificatesInput{} 9676 } 9677 9678 output = &ListServerCertificatesOutput{} 9679 req = c.newRequest(op, input, output) 9680 return 9681} 9682 9683// ListServerCertificates API operation for AWS Identity and Access Management. 9684// 9685// Lists the server certificates stored in IAM that have the specified path 9686// prefix. If none exist, the action returns an empty list. 9687// 9688// You can paginate the results using the MaxItems and Marker parameters. 9689// 9690// For more information about working with server certificates, including a 9691// list of AWS services that can use the server certificates that you manage 9692// with IAM, go to Working with Server Certificates (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_server-certs.html) 9693// in the IAM User Guide. 9694// 9695// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 9696// with awserr.Error's Code and Message methods to get detailed information about 9697// the error. 9698// 9699// See the AWS API reference guide for AWS Identity and Access Management's 9700// API operation ListServerCertificates for usage and error information. 9701// 9702// Returned Error Codes: 9703// * ErrCodeServiceFailureException "ServiceFailure" 9704// The request processing has failed because of an unknown error, exception 9705// or failure. 9706// 9707// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ListServerCertificates 9708func (c *IAM) ListServerCertificates(input *ListServerCertificatesInput) (*ListServerCertificatesOutput, error) { 9709 req, out := c.ListServerCertificatesRequest(input) 9710 return out, req.Send() 9711} 9712 9713// ListServerCertificatesWithContext is the same as ListServerCertificates with the addition of 9714// the ability to pass a context and additional request options. 9715// 9716// See ListServerCertificates for details on how to use this API operation. 9717// 9718// The context must be non-nil and will be used for request cancellation. If 9719// the context is nil a panic will occur. In the future the SDK may create 9720// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 9721// for more information on using Contexts. 9722func (c *IAM) ListServerCertificatesWithContext(ctx aws.Context, input *ListServerCertificatesInput, opts ...request.Option) (*ListServerCertificatesOutput, error) { 9723 req, out := c.ListServerCertificatesRequest(input) 9724 req.SetContext(ctx) 9725 req.ApplyOptions(opts...) 9726 return out, req.Send() 9727} 9728 9729// ListServerCertificatesPages iterates over the pages of a ListServerCertificates operation, 9730// calling the "fn" function with the response data for each page. To stop 9731// iterating, return false from the fn function. 9732// 9733// See ListServerCertificates method for more information on how to use this operation. 9734// 9735// Note: This operation can generate multiple requests to a service. 9736// 9737// // Example iterating over at most 3 pages of a ListServerCertificates operation. 9738// pageNum := 0 9739// err := client.ListServerCertificatesPages(params, 9740// func(page *ListServerCertificatesOutput, lastPage bool) bool { 9741// pageNum++ 9742// fmt.Println(page) 9743// return pageNum <= 3 9744// }) 9745// 9746func (c *IAM) ListServerCertificatesPages(input *ListServerCertificatesInput, fn func(*ListServerCertificatesOutput, bool) bool) error { 9747 return c.ListServerCertificatesPagesWithContext(aws.BackgroundContext(), input, fn) 9748} 9749 9750// ListServerCertificatesPagesWithContext same as ListServerCertificatesPages except 9751// it takes a Context and allows setting request options on the pages. 9752// 9753// The context must be non-nil and will be used for request cancellation. If 9754// the context is nil a panic will occur. In the future the SDK may create 9755// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 9756// for more information on using Contexts. 9757func (c *IAM) ListServerCertificatesPagesWithContext(ctx aws.Context, input *ListServerCertificatesInput, fn func(*ListServerCertificatesOutput, bool) bool, opts ...request.Option) error { 9758 p := request.Pagination{ 9759 NewRequest: func() (*request.Request, error) { 9760 var inCpy *ListServerCertificatesInput 9761 if input != nil { 9762 tmp := *input 9763 inCpy = &tmp 9764 } 9765 req, _ := c.ListServerCertificatesRequest(inCpy) 9766 req.SetContext(ctx) 9767 req.ApplyOptions(opts...) 9768 return req, nil 9769 }, 9770 } 9771 9772 cont := true 9773 for p.Next() && cont { 9774 cont = fn(p.Page().(*ListServerCertificatesOutput), !p.HasNextPage()) 9775 } 9776 return p.Err() 9777} 9778 9779const opListServiceSpecificCredentials = "ListServiceSpecificCredentials" 9780 9781// ListServiceSpecificCredentialsRequest generates a "aws/request.Request" representing the 9782// client's request for the ListServiceSpecificCredentials operation. The "output" return 9783// value will be populated with the request's response once the request complets 9784// successfuly. 9785// 9786// Use "Send" method on the returned Request to send the API call to the service. 9787// the "output" return value is not valid until after Send returns without error. 9788// 9789// See ListServiceSpecificCredentials for more information on using the ListServiceSpecificCredentials 9790// API call, and error handling. 9791// 9792// This method is useful when you want to inject custom logic or configuration 9793// into the SDK's request lifecycle. Such as custom headers, or retry logic. 9794// 9795// 9796// // Example sending a request using the ListServiceSpecificCredentialsRequest method. 9797// req, resp := client.ListServiceSpecificCredentialsRequest(params) 9798// 9799// err := req.Send() 9800// if err == nil { // resp is now filled 9801// fmt.Println(resp) 9802// } 9803// 9804// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ListServiceSpecificCredentials 9805func (c *IAM) ListServiceSpecificCredentialsRequest(input *ListServiceSpecificCredentialsInput) (req *request.Request, output *ListServiceSpecificCredentialsOutput) { 9806 op := &request.Operation{ 9807 Name: opListServiceSpecificCredentials, 9808 HTTPMethod: "POST", 9809 HTTPPath: "/", 9810 } 9811 9812 if input == nil { 9813 input = &ListServiceSpecificCredentialsInput{} 9814 } 9815 9816 output = &ListServiceSpecificCredentialsOutput{} 9817 req = c.newRequest(op, input, output) 9818 return 9819} 9820 9821// ListServiceSpecificCredentials API operation for AWS Identity and Access Management. 9822// 9823// Returns information about the service-specific credentials associated with 9824// the specified IAM user. If there are none, the action returns an empty list. 9825// The service-specific credentials returned by this action are used only for 9826// authenticating the IAM user to a specific service. For more information about 9827// using service-specific credentials to authenticate to an AWS service, see 9828// Set Up service-specific credentials (http://docs.aws.amazon.com/codecommit/latest/userguide/setting-up-gc.html) 9829// in the AWS CodeCommit User Guide. 9830// 9831// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 9832// with awserr.Error's Code and Message methods to get detailed information about 9833// the error. 9834// 9835// See the AWS API reference guide for AWS Identity and Access Management's 9836// API operation ListServiceSpecificCredentials for usage and error information. 9837// 9838// Returned Error Codes: 9839// * ErrCodeNoSuchEntityException "NoSuchEntity" 9840// The request was rejected because it referenced an entity that does not exist. 9841// The error message describes the entity. 9842// 9843// * ErrCodeServiceNotSupportedException "NotSupportedService" 9844// The specified service does not support service-specific credentials. 9845// 9846// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ListServiceSpecificCredentials 9847func (c *IAM) ListServiceSpecificCredentials(input *ListServiceSpecificCredentialsInput) (*ListServiceSpecificCredentialsOutput, error) { 9848 req, out := c.ListServiceSpecificCredentialsRequest(input) 9849 return out, req.Send() 9850} 9851 9852// ListServiceSpecificCredentialsWithContext is the same as ListServiceSpecificCredentials with the addition of 9853// the ability to pass a context and additional request options. 9854// 9855// See ListServiceSpecificCredentials for details on how to use this API operation. 9856// 9857// The context must be non-nil and will be used for request cancellation. If 9858// the context is nil a panic will occur. In the future the SDK may create 9859// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 9860// for more information on using Contexts. 9861func (c *IAM) ListServiceSpecificCredentialsWithContext(ctx aws.Context, input *ListServiceSpecificCredentialsInput, opts ...request.Option) (*ListServiceSpecificCredentialsOutput, error) { 9862 req, out := c.ListServiceSpecificCredentialsRequest(input) 9863 req.SetContext(ctx) 9864 req.ApplyOptions(opts...) 9865 return out, req.Send() 9866} 9867 9868const opListSigningCertificates = "ListSigningCertificates" 9869 9870// ListSigningCertificatesRequest generates a "aws/request.Request" representing the 9871// client's request for the ListSigningCertificates operation. The "output" return 9872// value will be populated with the request's response once the request complets 9873// successfuly. 9874// 9875// Use "Send" method on the returned Request to send the API call to the service. 9876// the "output" return value is not valid until after Send returns without error. 9877// 9878// See ListSigningCertificates for more information on using the ListSigningCertificates 9879// API call, and error handling. 9880// 9881// This method is useful when you want to inject custom logic or configuration 9882// into the SDK's request lifecycle. Such as custom headers, or retry logic. 9883// 9884// 9885// // Example sending a request using the ListSigningCertificatesRequest method. 9886// req, resp := client.ListSigningCertificatesRequest(params) 9887// 9888// err := req.Send() 9889// if err == nil { // resp is now filled 9890// fmt.Println(resp) 9891// } 9892// 9893// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ListSigningCertificates 9894func (c *IAM) ListSigningCertificatesRequest(input *ListSigningCertificatesInput) (req *request.Request, output *ListSigningCertificatesOutput) { 9895 op := &request.Operation{ 9896 Name: opListSigningCertificates, 9897 HTTPMethod: "POST", 9898 HTTPPath: "/", 9899 Paginator: &request.Paginator{ 9900 InputTokens: []string{"Marker"}, 9901 OutputTokens: []string{"Marker"}, 9902 LimitToken: "MaxItems", 9903 TruncationToken: "IsTruncated", 9904 }, 9905 } 9906 9907 if input == nil { 9908 input = &ListSigningCertificatesInput{} 9909 } 9910 9911 output = &ListSigningCertificatesOutput{} 9912 req = c.newRequest(op, input, output) 9913 return 9914} 9915 9916// ListSigningCertificates API operation for AWS Identity and Access Management. 9917// 9918// Returns information about the signing certificates associated with the specified 9919// IAM user. If there are none, the action returns an empty list. 9920// 9921// Although each user is limited to a small number of signing certificates, 9922// you can still paginate the results using the MaxItems and Marker parameters. 9923// 9924// If the UserName field is not specified, the user name is determined implicitly 9925// based on the AWS access key ID used to sign the request for this API. Because 9926// this action works for access keys under the AWS account, you can use this 9927// action to manage root credentials even if the AWS account has no associated 9928// users. 9929// 9930// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 9931// with awserr.Error's Code and Message methods to get detailed information about 9932// the error. 9933// 9934// See the AWS API reference guide for AWS Identity and Access Management's 9935// API operation ListSigningCertificates for usage and error information. 9936// 9937// Returned Error Codes: 9938// * ErrCodeNoSuchEntityException "NoSuchEntity" 9939// The request was rejected because it referenced an entity that does not exist. 9940// The error message describes the entity. 9941// 9942// * ErrCodeServiceFailureException "ServiceFailure" 9943// The request processing has failed because of an unknown error, exception 9944// or failure. 9945// 9946// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ListSigningCertificates 9947func (c *IAM) ListSigningCertificates(input *ListSigningCertificatesInput) (*ListSigningCertificatesOutput, error) { 9948 req, out := c.ListSigningCertificatesRequest(input) 9949 return out, req.Send() 9950} 9951 9952// ListSigningCertificatesWithContext is the same as ListSigningCertificates with the addition of 9953// the ability to pass a context and additional request options. 9954// 9955// See ListSigningCertificates for details on how to use this API operation. 9956// 9957// The context must be non-nil and will be used for request cancellation. If 9958// the context is nil a panic will occur. In the future the SDK may create 9959// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 9960// for more information on using Contexts. 9961func (c *IAM) ListSigningCertificatesWithContext(ctx aws.Context, input *ListSigningCertificatesInput, opts ...request.Option) (*ListSigningCertificatesOutput, error) { 9962 req, out := c.ListSigningCertificatesRequest(input) 9963 req.SetContext(ctx) 9964 req.ApplyOptions(opts...) 9965 return out, req.Send() 9966} 9967 9968// ListSigningCertificatesPages iterates over the pages of a ListSigningCertificates operation, 9969// calling the "fn" function with the response data for each page. To stop 9970// iterating, return false from the fn function. 9971// 9972// See ListSigningCertificates method for more information on how to use this operation. 9973// 9974// Note: This operation can generate multiple requests to a service. 9975// 9976// // Example iterating over at most 3 pages of a ListSigningCertificates operation. 9977// pageNum := 0 9978// err := client.ListSigningCertificatesPages(params, 9979// func(page *ListSigningCertificatesOutput, lastPage bool) bool { 9980// pageNum++ 9981// fmt.Println(page) 9982// return pageNum <= 3 9983// }) 9984// 9985func (c *IAM) ListSigningCertificatesPages(input *ListSigningCertificatesInput, fn func(*ListSigningCertificatesOutput, bool) bool) error { 9986 return c.ListSigningCertificatesPagesWithContext(aws.BackgroundContext(), input, fn) 9987} 9988 9989// ListSigningCertificatesPagesWithContext same as ListSigningCertificatesPages except 9990// it takes a Context and allows setting request options on the pages. 9991// 9992// The context must be non-nil and will be used for request cancellation. If 9993// the context is nil a panic will occur. In the future the SDK may create 9994// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 9995// for more information on using Contexts. 9996func (c *IAM) ListSigningCertificatesPagesWithContext(ctx aws.Context, input *ListSigningCertificatesInput, fn func(*ListSigningCertificatesOutput, bool) bool, opts ...request.Option) error { 9997 p := request.Pagination{ 9998 NewRequest: func() (*request.Request, error) { 9999 var inCpy *ListSigningCertificatesInput 10000 if input != nil { 10001 tmp := *input 10002 inCpy = &tmp 10003 } 10004 req, _ := c.ListSigningCertificatesRequest(inCpy) 10005 req.SetContext(ctx) 10006 req.ApplyOptions(opts...) 10007 return req, nil 10008 }, 10009 } 10010 10011 cont := true 10012 for p.Next() && cont { 10013 cont = fn(p.Page().(*ListSigningCertificatesOutput), !p.HasNextPage()) 10014 } 10015 return p.Err() 10016} 10017 10018const opListUserPolicies = "ListUserPolicies" 10019 10020// ListUserPoliciesRequest generates a "aws/request.Request" representing the 10021// client's request for the ListUserPolicies operation. The "output" return 10022// value will be populated with the request's response once the request complets 10023// successfuly. 10024// 10025// Use "Send" method on the returned Request to send the API call to the service. 10026// the "output" return value is not valid until after Send returns without error. 10027// 10028// See ListUserPolicies for more information on using the ListUserPolicies 10029// API call, and error handling. 10030// 10031// This method is useful when you want to inject custom logic or configuration 10032// into the SDK's request lifecycle. Such as custom headers, or retry logic. 10033// 10034// 10035// // Example sending a request using the ListUserPoliciesRequest method. 10036// req, resp := client.ListUserPoliciesRequest(params) 10037// 10038// err := req.Send() 10039// if err == nil { // resp is now filled 10040// fmt.Println(resp) 10041// } 10042// 10043// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ListUserPolicies 10044func (c *IAM) ListUserPoliciesRequest(input *ListUserPoliciesInput) (req *request.Request, output *ListUserPoliciesOutput) { 10045 op := &request.Operation{ 10046 Name: opListUserPolicies, 10047 HTTPMethod: "POST", 10048 HTTPPath: "/", 10049 Paginator: &request.Paginator{ 10050 InputTokens: []string{"Marker"}, 10051 OutputTokens: []string{"Marker"}, 10052 LimitToken: "MaxItems", 10053 TruncationToken: "IsTruncated", 10054 }, 10055 } 10056 10057 if input == nil { 10058 input = &ListUserPoliciesInput{} 10059 } 10060 10061 output = &ListUserPoliciesOutput{} 10062 req = c.newRequest(op, input, output) 10063 return 10064} 10065 10066// ListUserPolicies API operation for AWS Identity and Access Management. 10067// 10068// Lists the names of the inline policies embedded in the specified IAM user. 10069// 10070// An IAM user can also have managed policies attached to it. To list the managed 10071// policies that are attached to a user, use ListAttachedUserPolicies. For more 10072// information about policies, see Managed Policies and Inline Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html) 10073// in the IAM User Guide. 10074// 10075// You can paginate the results using the MaxItems and Marker parameters. If 10076// there are no inline policies embedded with the specified user, the action 10077// returns an empty list. 10078// 10079// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 10080// with awserr.Error's Code and Message methods to get detailed information about 10081// the error. 10082// 10083// See the AWS API reference guide for AWS Identity and Access Management's 10084// API operation ListUserPolicies for usage and error information. 10085// 10086// Returned Error Codes: 10087// * ErrCodeNoSuchEntityException "NoSuchEntity" 10088// The request was rejected because it referenced an entity that does not exist. 10089// The error message describes the entity. 10090// 10091// * ErrCodeServiceFailureException "ServiceFailure" 10092// The request processing has failed because of an unknown error, exception 10093// or failure. 10094// 10095// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ListUserPolicies 10096func (c *IAM) ListUserPolicies(input *ListUserPoliciesInput) (*ListUserPoliciesOutput, error) { 10097 req, out := c.ListUserPoliciesRequest(input) 10098 return out, req.Send() 10099} 10100 10101// ListUserPoliciesWithContext is the same as ListUserPolicies with the addition of 10102// the ability to pass a context and additional request options. 10103// 10104// See ListUserPolicies for details on how to use this API operation. 10105// 10106// The context must be non-nil and will be used for request cancellation. If 10107// the context is nil a panic will occur. In the future the SDK may create 10108// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 10109// for more information on using Contexts. 10110func (c *IAM) ListUserPoliciesWithContext(ctx aws.Context, input *ListUserPoliciesInput, opts ...request.Option) (*ListUserPoliciesOutput, error) { 10111 req, out := c.ListUserPoliciesRequest(input) 10112 req.SetContext(ctx) 10113 req.ApplyOptions(opts...) 10114 return out, req.Send() 10115} 10116 10117// ListUserPoliciesPages iterates over the pages of a ListUserPolicies operation, 10118// calling the "fn" function with the response data for each page. To stop 10119// iterating, return false from the fn function. 10120// 10121// See ListUserPolicies method for more information on how to use this operation. 10122// 10123// Note: This operation can generate multiple requests to a service. 10124// 10125// // Example iterating over at most 3 pages of a ListUserPolicies operation. 10126// pageNum := 0 10127// err := client.ListUserPoliciesPages(params, 10128// func(page *ListUserPoliciesOutput, lastPage bool) bool { 10129// pageNum++ 10130// fmt.Println(page) 10131// return pageNum <= 3 10132// }) 10133// 10134func (c *IAM) ListUserPoliciesPages(input *ListUserPoliciesInput, fn func(*ListUserPoliciesOutput, bool) bool) error { 10135 return c.ListUserPoliciesPagesWithContext(aws.BackgroundContext(), input, fn) 10136} 10137 10138// ListUserPoliciesPagesWithContext same as ListUserPoliciesPages except 10139// it takes a Context and allows setting request options on the pages. 10140// 10141// The context must be non-nil and will be used for request cancellation. If 10142// the context is nil a panic will occur. In the future the SDK may create 10143// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 10144// for more information on using Contexts. 10145func (c *IAM) ListUserPoliciesPagesWithContext(ctx aws.Context, input *ListUserPoliciesInput, fn func(*ListUserPoliciesOutput, bool) bool, opts ...request.Option) error { 10146 p := request.Pagination{ 10147 NewRequest: func() (*request.Request, error) { 10148 var inCpy *ListUserPoliciesInput 10149 if input != nil { 10150 tmp := *input 10151 inCpy = &tmp 10152 } 10153 req, _ := c.ListUserPoliciesRequest(inCpy) 10154 req.SetContext(ctx) 10155 req.ApplyOptions(opts...) 10156 return req, nil 10157 }, 10158 } 10159 10160 cont := true 10161 for p.Next() && cont { 10162 cont = fn(p.Page().(*ListUserPoliciesOutput), !p.HasNextPage()) 10163 } 10164 return p.Err() 10165} 10166 10167const opListUsers = "ListUsers" 10168 10169// ListUsersRequest generates a "aws/request.Request" representing the 10170// client's request for the ListUsers operation. The "output" return 10171// value will be populated with the request's response once the request complets 10172// successfuly. 10173// 10174// Use "Send" method on the returned Request to send the API call to the service. 10175// the "output" return value is not valid until after Send returns without error. 10176// 10177// See ListUsers for more information on using the ListUsers 10178// API call, and error handling. 10179// 10180// This method is useful when you want to inject custom logic or configuration 10181// into the SDK's request lifecycle. Such as custom headers, or retry logic. 10182// 10183// 10184// // Example sending a request using the ListUsersRequest method. 10185// req, resp := client.ListUsersRequest(params) 10186// 10187// err := req.Send() 10188// if err == nil { // resp is now filled 10189// fmt.Println(resp) 10190// } 10191// 10192// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ListUsers 10193func (c *IAM) ListUsersRequest(input *ListUsersInput) (req *request.Request, output *ListUsersOutput) { 10194 op := &request.Operation{ 10195 Name: opListUsers, 10196 HTTPMethod: "POST", 10197 HTTPPath: "/", 10198 Paginator: &request.Paginator{ 10199 InputTokens: []string{"Marker"}, 10200 OutputTokens: []string{"Marker"}, 10201 LimitToken: "MaxItems", 10202 TruncationToken: "IsTruncated", 10203 }, 10204 } 10205 10206 if input == nil { 10207 input = &ListUsersInput{} 10208 } 10209 10210 output = &ListUsersOutput{} 10211 req = c.newRequest(op, input, output) 10212 return 10213} 10214 10215// ListUsers API operation for AWS Identity and Access Management. 10216// 10217// Lists the IAM users that have the specified path prefix. If no path prefix 10218// is specified, the action returns all users in the AWS account. If there are 10219// none, the action returns an empty list. 10220// 10221// You can paginate the results using the MaxItems and Marker parameters. 10222// 10223// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 10224// with awserr.Error's Code and Message methods to get detailed information about 10225// the error. 10226// 10227// See the AWS API reference guide for AWS Identity and Access Management's 10228// API operation ListUsers for usage and error information. 10229// 10230// Returned Error Codes: 10231// * ErrCodeServiceFailureException "ServiceFailure" 10232// The request processing has failed because of an unknown error, exception 10233// or failure. 10234// 10235// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ListUsers 10236func (c *IAM) ListUsers(input *ListUsersInput) (*ListUsersOutput, error) { 10237 req, out := c.ListUsersRequest(input) 10238 return out, req.Send() 10239} 10240 10241// ListUsersWithContext is the same as ListUsers with the addition of 10242// the ability to pass a context and additional request options. 10243// 10244// See ListUsers for details on how to use this API operation. 10245// 10246// The context must be non-nil and will be used for request cancellation. If 10247// the context is nil a panic will occur. In the future the SDK may create 10248// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 10249// for more information on using Contexts. 10250func (c *IAM) ListUsersWithContext(ctx aws.Context, input *ListUsersInput, opts ...request.Option) (*ListUsersOutput, error) { 10251 req, out := c.ListUsersRequest(input) 10252 req.SetContext(ctx) 10253 req.ApplyOptions(opts...) 10254 return out, req.Send() 10255} 10256 10257// ListUsersPages iterates over the pages of a ListUsers operation, 10258// calling the "fn" function with the response data for each page. To stop 10259// iterating, return false from the fn function. 10260// 10261// See ListUsers method for more information on how to use this operation. 10262// 10263// Note: This operation can generate multiple requests to a service. 10264// 10265// // Example iterating over at most 3 pages of a ListUsers operation. 10266// pageNum := 0 10267// err := client.ListUsersPages(params, 10268// func(page *ListUsersOutput, lastPage bool) bool { 10269// pageNum++ 10270// fmt.Println(page) 10271// return pageNum <= 3 10272// }) 10273// 10274func (c *IAM) ListUsersPages(input *ListUsersInput, fn func(*ListUsersOutput, bool) bool) error { 10275 return c.ListUsersPagesWithContext(aws.BackgroundContext(), input, fn) 10276} 10277 10278// ListUsersPagesWithContext same as ListUsersPages except 10279// it takes a Context and allows setting request options on the pages. 10280// 10281// The context must be non-nil and will be used for request cancellation. If 10282// the context is nil a panic will occur. In the future the SDK may create 10283// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 10284// for more information on using Contexts. 10285func (c *IAM) ListUsersPagesWithContext(ctx aws.Context, input *ListUsersInput, fn func(*ListUsersOutput, bool) bool, opts ...request.Option) error { 10286 p := request.Pagination{ 10287 NewRequest: func() (*request.Request, error) { 10288 var inCpy *ListUsersInput 10289 if input != nil { 10290 tmp := *input 10291 inCpy = &tmp 10292 } 10293 req, _ := c.ListUsersRequest(inCpy) 10294 req.SetContext(ctx) 10295 req.ApplyOptions(opts...) 10296 return req, nil 10297 }, 10298 } 10299 10300 cont := true 10301 for p.Next() && cont { 10302 cont = fn(p.Page().(*ListUsersOutput), !p.HasNextPage()) 10303 } 10304 return p.Err() 10305} 10306 10307const opListVirtualMFADevices = "ListVirtualMFADevices" 10308 10309// ListVirtualMFADevicesRequest generates a "aws/request.Request" representing the 10310// client's request for the ListVirtualMFADevices operation. The "output" return 10311// value will be populated with the request's response once the request complets 10312// successfuly. 10313// 10314// Use "Send" method on the returned Request to send the API call to the service. 10315// the "output" return value is not valid until after Send returns without error. 10316// 10317// See ListVirtualMFADevices for more information on using the ListVirtualMFADevices 10318// API call, and error handling. 10319// 10320// This method is useful when you want to inject custom logic or configuration 10321// into the SDK's request lifecycle. Such as custom headers, or retry logic. 10322// 10323// 10324// // Example sending a request using the ListVirtualMFADevicesRequest method. 10325// req, resp := client.ListVirtualMFADevicesRequest(params) 10326// 10327// err := req.Send() 10328// if err == nil { // resp is now filled 10329// fmt.Println(resp) 10330// } 10331// 10332// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ListVirtualMFADevices 10333func (c *IAM) ListVirtualMFADevicesRequest(input *ListVirtualMFADevicesInput) (req *request.Request, output *ListVirtualMFADevicesOutput) { 10334 op := &request.Operation{ 10335 Name: opListVirtualMFADevices, 10336 HTTPMethod: "POST", 10337 HTTPPath: "/", 10338 Paginator: &request.Paginator{ 10339 InputTokens: []string{"Marker"}, 10340 OutputTokens: []string{"Marker"}, 10341 LimitToken: "MaxItems", 10342 TruncationToken: "IsTruncated", 10343 }, 10344 } 10345 10346 if input == nil { 10347 input = &ListVirtualMFADevicesInput{} 10348 } 10349 10350 output = &ListVirtualMFADevicesOutput{} 10351 req = c.newRequest(op, input, output) 10352 return 10353} 10354 10355// ListVirtualMFADevices API operation for AWS Identity and Access Management. 10356// 10357// Lists the virtual MFA devices defined in the AWS account by assignment status. 10358// If you do not specify an assignment status, the action returns a list of 10359// all virtual MFA devices. Assignment status can be Assigned, Unassigned, or 10360// Any. 10361// 10362// You can paginate the results using the MaxItems and Marker parameters. 10363// 10364// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 10365// with awserr.Error's Code and Message methods to get detailed information about 10366// the error. 10367// 10368// See the AWS API reference guide for AWS Identity and Access Management's 10369// API operation ListVirtualMFADevices for usage and error information. 10370// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ListVirtualMFADevices 10371func (c *IAM) ListVirtualMFADevices(input *ListVirtualMFADevicesInput) (*ListVirtualMFADevicesOutput, error) { 10372 req, out := c.ListVirtualMFADevicesRequest(input) 10373 return out, req.Send() 10374} 10375 10376// ListVirtualMFADevicesWithContext is the same as ListVirtualMFADevices with the addition of 10377// the ability to pass a context and additional request options. 10378// 10379// See ListVirtualMFADevices for details on how to use this API operation. 10380// 10381// The context must be non-nil and will be used for request cancellation. If 10382// the context is nil a panic will occur. In the future the SDK may create 10383// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 10384// for more information on using Contexts. 10385func (c *IAM) ListVirtualMFADevicesWithContext(ctx aws.Context, input *ListVirtualMFADevicesInput, opts ...request.Option) (*ListVirtualMFADevicesOutput, error) { 10386 req, out := c.ListVirtualMFADevicesRequest(input) 10387 req.SetContext(ctx) 10388 req.ApplyOptions(opts...) 10389 return out, req.Send() 10390} 10391 10392// ListVirtualMFADevicesPages iterates over the pages of a ListVirtualMFADevices operation, 10393// calling the "fn" function with the response data for each page. To stop 10394// iterating, return false from the fn function. 10395// 10396// See ListVirtualMFADevices method for more information on how to use this operation. 10397// 10398// Note: This operation can generate multiple requests to a service. 10399// 10400// // Example iterating over at most 3 pages of a ListVirtualMFADevices operation. 10401// pageNum := 0 10402// err := client.ListVirtualMFADevicesPages(params, 10403// func(page *ListVirtualMFADevicesOutput, lastPage bool) bool { 10404// pageNum++ 10405// fmt.Println(page) 10406// return pageNum <= 3 10407// }) 10408// 10409func (c *IAM) ListVirtualMFADevicesPages(input *ListVirtualMFADevicesInput, fn func(*ListVirtualMFADevicesOutput, bool) bool) error { 10410 return c.ListVirtualMFADevicesPagesWithContext(aws.BackgroundContext(), input, fn) 10411} 10412 10413// ListVirtualMFADevicesPagesWithContext same as ListVirtualMFADevicesPages except 10414// it takes a Context and allows setting request options on the pages. 10415// 10416// The context must be non-nil and will be used for request cancellation. If 10417// the context is nil a panic will occur. In the future the SDK may create 10418// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 10419// for more information on using Contexts. 10420func (c *IAM) ListVirtualMFADevicesPagesWithContext(ctx aws.Context, input *ListVirtualMFADevicesInput, fn func(*ListVirtualMFADevicesOutput, bool) bool, opts ...request.Option) error { 10421 p := request.Pagination{ 10422 NewRequest: func() (*request.Request, error) { 10423 var inCpy *ListVirtualMFADevicesInput 10424 if input != nil { 10425 tmp := *input 10426 inCpy = &tmp 10427 } 10428 req, _ := c.ListVirtualMFADevicesRequest(inCpy) 10429 req.SetContext(ctx) 10430 req.ApplyOptions(opts...) 10431 return req, nil 10432 }, 10433 } 10434 10435 cont := true 10436 for p.Next() && cont { 10437 cont = fn(p.Page().(*ListVirtualMFADevicesOutput), !p.HasNextPage()) 10438 } 10439 return p.Err() 10440} 10441 10442const opPutGroupPolicy = "PutGroupPolicy" 10443 10444// PutGroupPolicyRequest generates a "aws/request.Request" representing the 10445// client's request for the PutGroupPolicy operation. The "output" return 10446// value will be populated with the request's response once the request complets 10447// successfuly. 10448// 10449// Use "Send" method on the returned Request to send the API call to the service. 10450// the "output" return value is not valid until after Send returns without error. 10451// 10452// See PutGroupPolicy for more information on using the PutGroupPolicy 10453// API call, and error handling. 10454// 10455// This method is useful when you want to inject custom logic or configuration 10456// into the SDK's request lifecycle. Such as custom headers, or retry logic. 10457// 10458// 10459// // Example sending a request using the PutGroupPolicyRequest method. 10460// req, resp := client.PutGroupPolicyRequest(params) 10461// 10462// err := req.Send() 10463// if err == nil { // resp is now filled 10464// fmt.Println(resp) 10465// } 10466// 10467// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/PutGroupPolicy 10468func (c *IAM) PutGroupPolicyRequest(input *PutGroupPolicyInput) (req *request.Request, output *PutGroupPolicyOutput) { 10469 op := &request.Operation{ 10470 Name: opPutGroupPolicy, 10471 HTTPMethod: "POST", 10472 HTTPPath: "/", 10473 } 10474 10475 if input == nil { 10476 input = &PutGroupPolicyInput{} 10477 } 10478 10479 output = &PutGroupPolicyOutput{} 10480 req = c.newRequest(op, input, output) 10481 req.Handlers.Unmarshal.Remove(query.UnmarshalHandler) 10482 req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) 10483 return 10484} 10485 10486// PutGroupPolicy API operation for AWS Identity and Access Management. 10487// 10488// Adds or updates an inline policy document that is embedded in the specified 10489// IAM group. 10490// 10491// A user can also have managed policies attached to it. To attach a managed 10492// policy to a group, use AttachGroupPolicy. To create a new managed policy, 10493// use CreatePolicy. For information about policies, see Managed Policies and 10494// Inline Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html) 10495// in the IAM User Guide. 10496// 10497// For information about limits on the number of inline policies that you can 10498// embed in a group, see Limitations on IAM Entities (http://docs.aws.amazon.com/IAM/latest/UserGuide/LimitationsOnEntities.html) 10499// in the IAM User Guide. 10500// 10501// Because policy documents can be large, you should use POST rather than GET 10502// when calling PutGroupPolicy. For general information about using the Query 10503// API with IAM, go to Making Query Requests (http://docs.aws.amazon.com/IAM/latest/UserGuide/IAM_UsingQueryAPI.html) 10504// in the IAM User Guide. 10505// 10506// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 10507// with awserr.Error's Code and Message methods to get detailed information about 10508// the error. 10509// 10510// See the AWS API reference guide for AWS Identity and Access Management's 10511// API operation PutGroupPolicy for usage and error information. 10512// 10513// Returned Error Codes: 10514// * ErrCodeLimitExceededException "LimitExceeded" 10515// The request was rejected because it attempted to create resources beyond 10516// the current AWS account limits. The error message describes the limit exceeded. 10517// 10518// * ErrCodeMalformedPolicyDocumentException "MalformedPolicyDocument" 10519// The request was rejected because the policy document was malformed. The error 10520// message describes the specific error. 10521// 10522// * ErrCodeNoSuchEntityException "NoSuchEntity" 10523// The request was rejected because it referenced an entity that does not exist. 10524// The error message describes the entity. 10525// 10526// * ErrCodeServiceFailureException "ServiceFailure" 10527// The request processing has failed because of an unknown error, exception 10528// or failure. 10529// 10530// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/PutGroupPolicy 10531func (c *IAM) PutGroupPolicy(input *PutGroupPolicyInput) (*PutGroupPolicyOutput, error) { 10532 req, out := c.PutGroupPolicyRequest(input) 10533 return out, req.Send() 10534} 10535 10536// PutGroupPolicyWithContext is the same as PutGroupPolicy with the addition of 10537// the ability to pass a context and additional request options. 10538// 10539// See PutGroupPolicy for details on how to use this API operation. 10540// 10541// The context must be non-nil and will be used for request cancellation. If 10542// the context is nil a panic will occur. In the future the SDK may create 10543// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 10544// for more information on using Contexts. 10545func (c *IAM) PutGroupPolicyWithContext(ctx aws.Context, input *PutGroupPolicyInput, opts ...request.Option) (*PutGroupPolicyOutput, error) { 10546 req, out := c.PutGroupPolicyRequest(input) 10547 req.SetContext(ctx) 10548 req.ApplyOptions(opts...) 10549 return out, req.Send() 10550} 10551 10552const opPutRolePolicy = "PutRolePolicy" 10553 10554// PutRolePolicyRequest generates a "aws/request.Request" representing the 10555// client's request for the PutRolePolicy operation. The "output" return 10556// value will be populated with the request's response once the request complets 10557// successfuly. 10558// 10559// Use "Send" method on the returned Request to send the API call to the service. 10560// the "output" return value is not valid until after Send returns without error. 10561// 10562// See PutRolePolicy for more information on using the PutRolePolicy 10563// API call, and error handling. 10564// 10565// This method is useful when you want to inject custom logic or configuration 10566// into the SDK's request lifecycle. Such as custom headers, or retry logic. 10567// 10568// 10569// // Example sending a request using the PutRolePolicyRequest method. 10570// req, resp := client.PutRolePolicyRequest(params) 10571// 10572// err := req.Send() 10573// if err == nil { // resp is now filled 10574// fmt.Println(resp) 10575// } 10576// 10577// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/PutRolePolicy 10578func (c *IAM) PutRolePolicyRequest(input *PutRolePolicyInput) (req *request.Request, output *PutRolePolicyOutput) { 10579 op := &request.Operation{ 10580 Name: opPutRolePolicy, 10581 HTTPMethod: "POST", 10582 HTTPPath: "/", 10583 } 10584 10585 if input == nil { 10586 input = &PutRolePolicyInput{} 10587 } 10588 10589 output = &PutRolePolicyOutput{} 10590 req = c.newRequest(op, input, output) 10591 req.Handlers.Unmarshal.Remove(query.UnmarshalHandler) 10592 req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) 10593 return 10594} 10595 10596// PutRolePolicy API operation for AWS Identity and Access Management. 10597// 10598// Adds or updates an inline policy document that is embedded in the specified 10599// IAM role. 10600// 10601// When you embed an inline policy in a role, the inline policy is used as part 10602// of the role's access (permissions) policy. The role's trust policy is created 10603// at the same time as the role, using CreateRole. You can update a role's trust 10604// policy using UpdateAssumeRolePolicy. For more information about IAM roles, 10605// go to Using Roles to Delegate Permissions and Federate Identities (http://docs.aws.amazon.com/IAM/latest/UserGuide/roles-toplevel.html). 10606// 10607// A role can also have a managed policy attached to it. To attach a managed 10608// policy to a role, use AttachRolePolicy. To create a new managed policy, use 10609// CreatePolicy. For information about policies, see Managed Policies and Inline 10610// Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html) 10611// in the IAM User Guide. 10612// 10613// For information about limits on the number of inline policies that you can 10614// embed with a role, see Limitations on IAM Entities (http://docs.aws.amazon.com/IAM/latest/UserGuide/LimitationsOnEntities.html) 10615// in the IAM User Guide. 10616// 10617// Because policy documents can be large, you should use POST rather than GET 10618// when calling PutRolePolicy. For general information about using the Query 10619// API with IAM, go to Making Query Requests (http://docs.aws.amazon.com/IAM/latest/UserGuide/IAM_UsingQueryAPI.html) 10620// in the IAM User Guide. 10621// 10622// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 10623// with awserr.Error's Code and Message methods to get detailed information about 10624// the error. 10625// 10626// See the AWS API reference guide for AWS Identity and Access Management's 10627// API operation PutRolePolicy for usage and error information. 10628// 10629// Returned Error Codes: 10630// * ErrCodeLimitExceededException "LimitExceeded" 10631// The request was rejected because it attempted to create resources beyond 10632// the current AWS account limits. The error message describes the limit exceeded. 10633// 10634// * ErrCodeMalformedPolicyDocumentException "MalformedPolicyDocument" 10635// The request was rejected because the policy document was malformed. The error 10636// message describes the specific error. 10637// 10638// * ErrCodeNoSuchEntityException "NoSuchEntity" 10639// The request was rejected because it referenced an entity that does not exist. 10640// The error message describes the entity. 10641// 10642// * ErrCodeUnmodifiableEntityException "UnmodifiableEntity" 10643// The request was rejected because only the service that depends on the service-linked 10644// role can modify or delete the role on your behalf. The error message includes 10645// the name of the service that depends on this service-linked role. You must 10646// request the change through that service. 10647// 10648// * ErrCodeServiceFailureException "ServiceFailure" 10649// The request processing has failed because of an unknown error, exception 10650// or failure. 10651// 10652// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/PutRolePolicy 10653func (c *IAM) PutRolePolicy(input *PutRolePolicyInput) (*PutRolePolicyOutput, error) { 10654 req, out := c.PutRolePolicyRequest(input) 10655 return out, req.Send() 10656} 10657 10658// PutRolePolicyWithContext is the same as PutRolePolicy with the addition of 10659// the ability to pass a context and additional request options. 10660// 10661// See PutRolePolicy for details on how to use this API operation. 10662// 10663// The context must be non-nil and will be used for request cancellation. If 10664// the context is nil a panic will occur. In the future the SDK may create 10665// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 10666// for more information on using Contexts. 10667func (c *IAM) PutRolePolicyWithContext(ctx aws.Context, input *PutRolePolicyInput, opts ...request.Option) (*PutRolePolicyOutput, error) { 10668 req, out := c.PutRolePolicyRequest(input) 10669 req.SetContext(ctx) 10670 req.ApplyOptions(opts...) 10671 return out, req.Send() 10672} 10673 10674const opPutUserPolicy = "PutUserPolicy" 10675 10676// PutUserPolicyRequest generates a "aws/request.Request" representing the 10677// client's request for the PutUserPolicy operation. The "output" return 10678// value will be populated with the request's response once the request complets 10679// successfuly. 10680// 10681// Use "Send" method on the returned Request to send the API call to the service. 10682// the "output" return value is not valid until after Send returns without error. 10683// 10684// See PutUserPolicy for more information on using the PutUserPolicy 10685// API call, and error handling. 10686// 10687// This method is useful when you want to inject custom logic or configuration 10688// into the SDK's request lifecycle. Such as custom headers, or retry logic. 10689// 10690// 10691// // Example sending a request using the PutUserPolicyRequest method. 10692// req, resp := client.PutUserPolicyRequest(params) 10693// 10694// err := req.Send() 10695// if err == nil { // resp is now filled 10696// fmt.Println(resp) 10697// } 10698// 10699// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/PutUserPolicy 10700func (c *IAM) PutUserPolicyRequest(input *PutUserPolicyInput) (req *request.Request, output *PutUserPolicyOutput) { 10701 op := &request.Operation{ 10702 Name: opPutUserPolicy, 10703 HTTPMethod: "POST", 10704 HTTPPath: "/", 10705 } 10706 10707 if input == nil { 10708 input = &PutUserPolicyInput{} 10709 } 10710 10711 output = &PutUserPolicyOutput{} 10712 req = c.newRequest(op, input, output) 10713 req.Handlers.Unmarshal.Remove(query.UnmarshalHandler) 10714 req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) 10715 return 10716} 10717 10718// PutUserPolicy API operation for AWS Identity and Access Management. 10719// 10720// Adds or updates an inline policy document that is embedded in the specified 10721// IAM user. 10722// 10723// An IAM user can also have a managed policy attached to it. To attach a managed 10724// policy to a user, use AttachUserPolicy. To create a new managed policy, use 10725// CreatePolicy. For information about policies, see Managed Policies and Inline 10726// Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html) 10727// in the IAM User Guide. 10728// 10729// For information about limits on the number of inline policies that you can 10730// embed in a user, see Limitations on IAM Entities (http://docs.aws.amazon.com/IAM/latest/UserGuide/LimitationsOnEntities.html) 10731// in the IAM User Guide. 10732// 10733// Because policy documents can be large, you should use POST rather than GET 10734// when calling PutUserPolicy. For general information about using the Query 10735// API with IAM, go to Making Query Requests (http://docs.aws.amazon.com/IAM/latest/UserGuide/IAM_UsingQueryAPI.html) 10736// in the IAM User Guide. 10737// 10738// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 10739// with awserr.Error's Code and Message methods to get detailed information about 10740// the error. 10741// 10742// See the AWS API reference guide for AWS Identity and Access Management's 10743// API operation PutUserPolicy for usage and error information. 10744// 10745// Returned Error Codes: 10746// * ErrCodeLimitExceededException "LimitExceeded" 10747// The request was rejected because it attempted to create resources beyond 10748// the current AWS account limits. The error message describes the limit exceeded. 10749// 10750// * ErrCodeMalformedPolicyDocumentException "MalformedPolicyDocument" 10751// The request was rejected because the policy document was malformed. The error 10752// message describes the specific error. 10753// 10754// * ErrCodeNoSuchEntityException "NoSuchEntity" 10755// The request was rejected because it referenced an entity that does not exist. 10756// The error message describes the entity. 10757// 10758// * ErrCodeServiceFailureException "ServiceFailure" 10759// The request processing has failed because of an unknown error, exception 10760// or failure. 10761// 10762// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/PutUserPolicy 10763func (c *IAM) PutUserPolicy(input *PutUserPolicyInput) (*PutUserPolicyOutput, error) { 10764 req, out := c.PutUserPolicyRequest(input) 10765 return out, req.Send() 10766} 10767 10768// PutUserPolicyWithContext is the same as PutUserPolicy with the addition of 10769// the ability to pass a context and additional request options. 10770// 10771// See PutUserPolicy for details on how to use this API operation. 10772// 10773// The context must be non-nil and will be used for request cancellation. If 10774// the context is nil a panic will occur. In the future the SDK may create 10775// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 10776// for more information on using Contexts. 10777func (c *IAM) PutUserPolicyWithContext(ctx aws.Context, input *PutUserPolicyInput, opts ...request.Option) (*PutUserPolicyOutput, error) { 10778 req, out := c.PutUserPolicyRequest(input) 10779 req.SetContext(ctx) 10780 req.ApplyOptions(opts...) 10781 return out, req.Send() 10782} 10783 10784const opRemoveClientIDFromOpenIDConnectProvider = "RemoveClientIDFromOpenIDConnectProvider" 10785 10786// RemoveClientIDFromOpenIDConnectProviderRequest generates a "aws/request.Request" representing the 10787// client's request for the RemoveClientIDFromOpenIDConnectProvider operation. The "output" return 10788// value will be populated with the request's response once the request complets 10789// successfuly. 10790// 10791// Use "Send" method on the returned Request to send the API call to the service. 10792// the "output" return value is not valid until after Send returns without error. 10793// 10794// See RemoveClientIDFromOpenIDConnectProvider for more information on using the RemoveClientIDFromOpenIDConnectProvider 10795// API call, and error handling. 10796// 10797// This method is useful when you want to inject custom logic or configuration 10798// into the SDK's request lifecycle. Such as custom headers, or retry logic. 10799// 10800// 10801// // Example sending a request using the RemoveClientIDFromOpenIDConnectProviderRequest method. 10802// req, resp := client.RemoveClientIDFromOpenIDConnectProviderRequest(params) 10803// 10804// err := req.Send() 10805// if err == nil { // resp is now filled 10806// fmt.Println(resp) 10807// } 10808// 10809// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/RemoveClientIDFromOpenIDConnectProvider 10810func (c *IAM) RemoveClientIDFromOpenIDConnectProviderRequest(input *RemoveClientIDFromOpenIDConnectProviderInput) (req *request.Request, output *RemoveClientIDFromOpenIDConnectProviderOutput) { 10811 op := &request.Operation{ 10812 Name: opRemoveClientIDFromOpenIDConnectProvider, 10813 HTTPMethod: "POST", 10814 HTTPPath: "/", 10815 } 10816 10817 if input == nil { 10818 input = &RemoveClientIDFromOpenIDConnectProviderInput{} 10819 } 10820 10821 output = &RemoveClientIDFromOpenIDConnectProviderOutput{} 10822 req = c.newRequest(op, input, output) 10823 req.Handlers.Unmarshal.Remove(query.UnmarshalHandler) 10824 req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) 10825 return 10826} 10827 10828// RemoveClientIDFromOpenIDConnectProvider API operation for AWS Identity and Access Management. 10829// 10830// Removes the specified client ID (also known as audience) from the list of 10831// client IDs registered for the specified IAM OpenID Connect (OIDC) provider 10832// resource object. 10833// 10834// This action is idempotent; it does not fail or return an error if you try 10835// to remove a client ID that does not exist. 10836// 10837// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 10838// with awserr.Error's Code and Message methods to get detailed information about 10839// the error. 10840// 10841// See the AWS API reference guide for AWS Identity and Access Management's 10842// API operation RemoveClientIDFromOpenIDConnectProvider for usage and error information. 10843// 10844// Returned Error Codes: 10845// * ErrCodeInvalidInputException "InvalidInput" 10846// The request was rejected because an invalid or out-of-range value was supplied 10847// for an input parameter. 10848// 10849// * ErrCodeNoSuchEntityException "NoSuchEntity" 10850// The request was rejected because it referenced an entity that does not exist. 10851// The error message describes the entity. 10852// 10853// * ErrCodeServiceFailureException "ServiceFailure" 10854// The request processing has failed because of an unknown error, exception 10855// or failure. 10856// 10857// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/RemoveClientIDFromOpenIDConnectProvider 10858func (c *IAM) RemoveClientIDFromOpenIDConnectProvider(input *RemoveClientIDFromOpenIDConnectProviderInput) (*RemoveClientIDFromOpenIDConnectProviderOutput, error) { 10859 req, out := c.RemoveClientIDFromOpenIDConnectProviderRequest(input) 10860 return out, req.Send() 10861} 10862 10863// RemoveClientIDFromOpenIDConnectProviderWithContext is the same as RemoveClientIDFromOpenIDConnectProvider with the addition of 10864// the ability to pass a context and additional request options. 10865// 10866// See RemoveClientIDFromOpenIDConnectProvider for details on how to use this API operation. 10867// 10868// The context must be non-nil and will be used for request cancellation. If 10869// the context is nil a panic will occur. In the future the SDK may create 10870// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 10871// for more information on using Contexts. 10872func (c *IAM) RemoveClientIDFromOpenIDConnectProviderWithContext(ctx aws.Context, input *RemoveClientIDFromOpenIDConnectProviderInput, opts ...request.Option) (*RemoveClientIDFromOpenIDConnectProviderOutput, error) { 10873 req, out := c.RemoveClientIDFromOpenIDConnectProviderRequest(input) 10874 req.SetContext(ctx) 10875 req.ApplyOptions(opts...) 10876 return out, req.Send() 10877} 10878 10879const opRemoveRoleFromInstanceProfile = "RemoveRoleFromInstanceProfile" 10880 10881// RemoveRoleFromInstanceProfileRequest generates a "aws/request.Request" representing the 10882// client's request for the RemoveRoleFromInstanceProfile operation. The "output" return 10883// value will be populated with the request's response once the request complets 10884// successfuly. 10885// 10886// Use "Send" method on the returned Request to send the API call to the service. 10887// the "output" return value is not valid until after Send returns without error. 10888// 10889// See RemoveRoleFromInstanceProfile for more information on using the RemoveRoleFromInstanceProfile 10890// API call, and error handling. 10891// 10892// This method is useful when you want to inject custom logic or configuration 10893// into the SDK's request lifecycle. Such as custom headers, or retry logic. 10894// 10895// 10896// // Example sending a request using the RemoveRoleFromInstanceProfileRequest method. 10897// req, resp := client.RemoveRoleFromInstanceProfileRequest(params) 10898// 10899// err := req.Send() 10900// if err == nil { // resp is now filled 10901// fmt.Println(resp) 10902// } 10903// 10904// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/RemoveRoleFromInstanceProfile 10905func (c *IAM) RemoveRoleFromInstanceProfileRequest(input *RemoveRoleFromInstanceProfileInput) (req *request.Request, output *RemoveRoleFromInstanceProfileOutput) { 10906 op := &request.Operation{ 10907 Name: opRemoveRoleFromInstanceProfile, 10908 HTTPMethod: "POST", 10909 HTTPPath: "/", 10910 } 10911 10912 if input == nil { 10913 input = &RemoveRoleFromInstanceProfileInput{} 10914 } 10915 10916 output = &RemoveRoleFromInstanceProfileOutput{} 10917 req = c.newRequest(op, input, output) 10918 req.Handlers.Unmarshal.Remove(query.UnmarshalHandler) 10919 req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) 10920 return 10921} 10922 10923// RemoveRoleFromInstanceProfile API operation for AWS Identity and Access Management. 10924// 10925// Removes the specified IAM role from the specified EC2 instance profile. 10926// 10927// Make sure you do not have any Amazon EC2 instances running with the role 10928// you are about to remove from the instance profile. Removing a role from an 10929// instance profile that is associated with a running instance might break any 10930// applications running on the instance. 10931// 10932// For more information about IAM roles, go to Working with Roles (http://docs.aws.amazon.com/IAM/latest/UserGuide/WorkingWithRoles.html). 10933// For more information about instance profiles, go to About Instance Profiles 10934// (http://docs.aws.amazon.com/IAM/latest/UserGuide/AboutInstanceProfiles.html). 10935// 10936// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 10937// with awserr.Error's Code and Message methods to get detailed information about 10938// the error. 10939// 10940// See the AWS API reference guide for AWS Identity and Access Management's 10941// API operation RemoveRoleFromInstanceProfile for usage and error information. 10942// 10943// Returned Error Codes: 10944// * ErrCodeNoSuchEntityException "NoSuchEntity" 10945// The request was rejected because it referenced an entity that does not exist. 10946// The error message describes the entity. 10947// 10948// * ErrCodeLimitExceededException "LimitExceeded" 10949// The request was rejected because it attempted to create resources beyond 10950// the current AWS account limits. The error message describes the limit exceeded. 10951// 10952// * ErrCodeUnmodifiableEntityException "UnmodifiableEntity" 10953// The request was rejected because only the service that depends on the service-linked 10954// role can modify or delete the role on your behalf. The error message includes 10955// the name of the service that depends on this service-linked role. You must 10956// request the change through that service. 10957// 10958// * ErrCodeServiceFailureException "ServiceFailure" 10959// The request processing has failed because of an unknown error, exception 10960// or failure. 10961// 10962// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/RemoveRoleFromInstanceProfile 10963func (c *IAM) RemoveRoleFromInstanceProfile(input *RemoveRoleFromInstanceProfileInput) (*RemoveRoleFromInstanceProfileOutput, error) { 10964 req, out := c.RemoveRoleFromInstanceProfileRequest(input) 10965 return out, req.Send() 10966} 10967 10968// RemoveRoleFromInstanceProfileWithContext is the same as RemoveRoleFromInstanceProfile with the addition of 10969// the ability to pass a context and additional request options. 10970// 10971// See RemoveRoleFromInstanceProfile for details on how to use this API operation. 10972// 10973// The context must be non-nil and will be used for request cancellation. If 10974// the context is nil a panic will occur. In the future the SDK may create 10975// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 10976// for more information on using Contexts. 10977func (c *IAM) RemoveRoleFromInstanceProfileWithContext(ctx aws.Context, input *RemoveRoleFromInstanceProfileInput, opts ...request.Option) (*RemoveRoleFromInstanceProfileOutput, error) { 10978 req, out := c.RemoveRoleFromInstanceProfileRequest(input) 10979 req.SetContext(ctx) 10980 req.ApplyOptions(opts...) 10981 return out, req.Send() 10982} 10983 10984const opRemoveUserFromGroup = "RemoveUserFromGroup" 10985 10986// RemoveUserFromGroupRequest generates a "aws/request.Request" representing the 10987// client's request for the RemoveUserFromGroup operation. The "output" return 10988// value will be populated with the request's response once the request complets 10989// successfuly. 10990// 10991// Use "Send" method on the returned Request to send the API call to the service. 10992// the "output" return value is not valid until after Send returns without error. 10993// 10994// See RemoveUserFromGroup for more information on using the RemoveUserFromGroup 10995// API call, and error handling. 10996// 10997// This method is useful when you want to inject custom logic or configuration 10998// into the SDK's request lifecycle. Such as custom headers, or retry logic. 10999// 11000// 11001// // Example sending a request using the RemoveUserFromGroupRequest method. 11002// req, resp := client.RemoveUserFromGroupRequest(params) 11003// 11004// err := req.Send() 11005// if err == nil { // resp is now filled 11006// fmt.Println(resp) 11007// } 11008// 11009// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/RemoveUserFromGroup 11010func (c *IAM) RemoveUserFromGroupRequest(input *RemoveUserFromGroupInput) (req *request.Request, output *RemoveUserFromGroupOutput) { 11011 op := &request.Operation{ 11012 Name: opRemoveUserFromGroup, 11013 HTTPMethod: "POST", 11014 HTTPPath: "/", 11015 } 11016 11017 if input == nil { 11018 input = &RemoveUserFromGroupInput{} 11019 } 11020 11021 output = &RemoveUserFromGroupOutput{} 11022 req = c.newRequest(op, input, output) 11023 req.Handlers.Unmarshal.Remove(query.UnmarshalHandler) 11024 req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) 11025 return 11026} 11027 11028// RemoveUserFromGroup API operation for AWS Identity and Access Management. 11029// 11030// Removes the specified user from the specified group. 11031// 11032// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 11033// with awserr.Error's Code and Message methods to get detailed information about 11034// the error. 11035// 11036// See the AWS API reference guide for AWS Identity and Access Management's 11037// API operation RemoveUserFromGroup for usage and error information. 11038// 11039// Returned Error Codes: 11040// * ErrCodeNoSuchEntityException "NoSuchEntity" 11041// The request was rejected because it referenced an entity that does not exist. 11042// The error message describes the entity. 11043// 11044// * ErrCodeLimitExceededException "LimitExceeded" 11045// The request was rejected because it attempted to create resources beyond 11046// the current AWS account limits. The error message describes the limit exceeded. 11047// 11048// * ErrCodeServiceFailureException "ServiceFailure" 11049// The request processing has failed because of an unknown error, exception 11050// or failure. 11051// 11052// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/RemoveUserFromGroup 11053func (c *IAM) RemoveUserFromGroup(input *RemoveUserFromGroupInput) (*RemoveUserFromGroupOutput, error) { 11054 req, out := c.RemoveUserFromGroupRequest(input) 11055 return out, req.Send() 11056} 11057 11058// RemoveUserFromGroupWithContext is the same as RemoveUserFromGroup with the addition of 11059// the ability to pass a context and additional request options. 11060// 11061// See RemoveUserFromGroup for details on how to use this API operation. 11062// 11063// The context must be non-nil and will be used for request cancellation. If 11064// the context is nil a panic will occur. In the future the SDK may create 11065// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 11066// for more information on using Contexts. 11067func (c *IAM) RemoveUserFromGroupWithContext(ctx aws.Context, input *RemoveUserFromGroupInput, opts ...request.Option) (*RemoveUserFromGroupOutput, error) { 11068 req, out := c.RemoveUserFromGroupRequest(input) 11069 req.SetContext(ctx) 11070 req.ApplyOptions(opts...) 11071 return out, req.Send() 11072} 11073 11074const opResetServiceSpecificCredential = "ResetServiceSpecificCredential" 11075 11076// ResetServiceSpecificCredentialRequest generates a "aws/request.Request" representing the 11077// client's request for the ResetServiceSpecificCredential operation. The "output" return 11078// value will be populated with the request's response once the request complets 11079// successfuly. 11080// 11081// Use "Send" method on the returned Request to send the API call to the service. 11082// the "output" return value is not valid until after Send returns without error. 11083// 11084// See ResetServiceSpecificCredential for more information on using the ResetServiceSpecificCredential 11085// API call, and error handling. 11086// 11087// This method is useful when you want to inject custom logic or configuration 11088// into the SDK's request lifecycle. Such as custom headers, or retry logic. 11089// 11090// 11091// // Example sending a request using the ResetServiceSpecificCredentialRequest method. 11092// req, resp := client.ResetServiceSpecificCredentialRequest(params) 11093// 11094// err := req.Send() 11095// if err == nil { // resp is now filled 11096// fmt.Println(resp) 11097// } 11098// 11099// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ResetServiceSpecificCredential 11100func (c *IAM) ResetServiceSpecificCredentialRequest(input *ResetServiceSpecificCredentialInput) (req *request.Request, output *ResetServiceSpecificCredentialOutput) { 11101 op := &request.Operation{ 11102 Name: opResetServiceSpecificCredential, 11103 HTTPMethod: "POST", 11104 HTTPPath: "/", 11105 } 11106 11107 if input == nil { 11108 input = &ResetServiceSpecificCredentialInput{} 11109 } 11110 11111 output = &ResetServiceSpecificCredentialOutput{} 11112 req = c.newRequest(op, input, output) 11113 return 11114} 11115 11116// ResetServiceSpecificCredential API operation for AWS Identity and Access Management. 11117// 11118// Resets the password for a service-specific credential. The new password is 11119// AWS generated and cryptographically strong. It cannot be configured by the 11120// user. Resetting the password immediately invalidates the previous password 11121// associated with this user. 11122// 11123// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 11124// with awserr.Error's Code and Message methods to get detailed information about 11125// the error. 11126// 11127// See the AWS API reference guide for AWS Identity and Access Management's 11128// API operation ResetServiceSpecificCredential for usage and error information. 11129// 11130// Returned Error Codes: 11131// * ErrCodeNoSuchEntityException "NoSuchEntity" 11132// The request was rejected because it referenced an entity that does not exist. 11133// The error message describes the entity. 11134// 11135// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ResetServiceSpecificCredential 11136func (c *IAM) ResetServiceSpecificCredential(input *ResetServiceSpecificCredentialInput) (*ResetServiceSpecificCredentialOutput, error) { 11137 req, out := c.ResetServiceSpecificCredentialRequest(input) 11138 return out, req.Send() 11139} 11140 11141// ResetServiceSpecificCredentialWithContext is the same as ResetServiceSpecificCredential with the addition of 11142// the ability to pass a context and additional request options. 11143// 11144// See ResetServiceSpecificCredential for details on how to use this API operation. 11145// 11146// The context must be non-nil and will be used for request cancellation. If 11147// the context is nil a panic will occur. In the future the SDK may create 11148// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 11149// for more information on using Contexts. 11150func (c *IAM) ResetServiceSpecificCredentialWithContext(ctx aws.Context, input *ResetServiceSpecificCredentialInput, opts ...request.Option) (*ResetServiceSpecificCredentialOutput, error) { 11151 req, out := c.ResetServiceSpecificCredentialRequest(input) 11152 req.SetContext(ctx) 11153 req.ApplyOptions(opts...) 11154 return out, req.Send() 11155} 11156 11157const opResyncMFADevice = "ResyncMFADevice" 11158 11159// ResyncMFADeviceRequest generates a "aws/request.Request" representing the 11160// client's request for the ResyncMFADevice operation. The "output" return 11161// value will be populated with the request's response once the request complets 11162// successfuly. 11163// 11164// Use "Send" method on the returned Request to send the API call to the service. 11165// the "output" return value is not valid until after Send returns without error. 11166// 11167// See ResyncMFADevice for more information on using the ResyncMFADevice 11168// API call, and error handling. 11169// 11170// This method is useful when you want to inject custom logic or configuration 11171// into the SDK's request lifecycle. Such as custom headers, or retry logic. 11172// 11173// 11174// // Example sending a request using the ResyncMFADeviceRequest method. 11175// req, resp := client.ResyncMFADeviceRequest(params) 11176// 11177// err := req.Send() 11178// if err == nil { // resp is now filled 11179// fmt.Println(resp) 11180// } 11181// 11182// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ResyncMFADevice 11183func (c *IAM) ResyncMFADeviceRequest(input *ResyncMFADeviceInput) (req *request.Request, output *ResyncMFADeviceOutput) { 11184 op := &request.Operation{ 11185 Name: opResyncMFADevice, 11186 HTTPMethod: "POST", 11187 HTTPPath: "/", 11188 } 11189 11190 if input == nil { 11191 input = &ResyncMFADeviceInput{} 11192 } 11193 11194 output = &ResyncMFADeviceOutput{} 11195 req = c.newRequest(op, input, output) 11196 req.Handlers.Unmarshal.Remove(query.UnmarshalHandler) 11197 req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) 11198 return 11199} 11200 11201// ResyncMFADevice API operation for AWS Identity and Access Management. 11202// 11203// Synchronizes the specified MFA device with its IAM resource object on the 11204// AWS servers. 11205// 11206// For more information about creating and working with virtual MFA devices, 11207// go to Using a Virtual MFA Device (http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_VirtualMFA.html) 11208// in the IAM User Guide. 11209// 11210// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 11211// with awserr.Error's Code and Message methods to get detailed information about 11212// the error. 11213// 11214// See the AWS API reference guide for AWS Identity and Access Management's 11215// API operation ResyncMFADevice for usage and error information. 11216// 11217// Returned Error Codes: 11218// * ErrCodeInvalidAuthenticationCodeException "InvalidAuthenticationCode" 11219// The request was rejected because the authentication code was not recognized. 11220// The error message describes the specific error. 11221// 11222// * ErrCodeNoSuchEntityException "NoSuchEntity" 11223// The request was rejected because it referenced an entity that does not exist. 11224// The error message describes the entity. 11225// 11226// * ErrCodeLimitExceededException "LimitExceeded" 11227// The request was rejected because it attempted to create resources beyond 11228// the current AWS account limits. The error message describes the limit exceeded. 11229// 11230// * ErrCodeServiceFailureException "ServiceFailure" 11231// The request processing has failed because of an unknown error, exception 11232// or failure. 11233// 11234// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ResyncMFADevice 11235func (c *IAM) ResyncMFADevice(input *ResyncMFADeviceInput) (*ResyncMFADeviceOutput, error) { 11236 req, out := c.ResyncMFADeviceRequest(input) 11237 return out, req.Send() 11238} 11239 11240// ResyncMFADeviceWithContext is the same as ResyncMFADevice with the addition of 11241// the ability to pass a context and additional request options. 11242// 11243// See ResyncMFADevice for details on how to use this API operation. 11244// 11245// The context must be non-nil and will be used for request cancellation. If 11246// the context is nil a panic will occur. In the future the SDK may create 11247// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 11248// for more information on using Contexts. 11249func (c *IAM) ResyncMFADeviceWithContext(ctx aws.Context, input *ResyncMFADeviceInput, opts ...request.Option) (*ResyncMFADeviceOutput, error) { 11250 req, out := c.ResyncMFADeviceRequest(input) 11251 req.SetContext(ctx) 11252 req.ApplyOptions(opts...) 11253 return out, req.Send() 11254} 11255 11256const opSetDefaultPolicyVersion = "SetDefaultPolicyVersion" 11257 11258// SetDefaultPolicyVersionRequest generates a "aws/request.Request" representing the 11259// client's request for the SetDefaultPolicyVersion operation. The "output" return 11260// value will be populated with the request's response once the request complets 11261// successfuly. 11262// 11263// Use "Send" method on the returned Request to send the API call to the service. 11264// the "output" return value is not valid until after Send returns without error. 11265// 11266// See SetDefaultPolicyVersion for more information on using the SetDefaultPolicyVersion 11267// API call, and error handling. 11268// 11269// This method is useful when you want to inject custom logic or configuration 11270// into the SDK's request lifecycle. Such as custom headers, or retry logic. 11271// 11272// 11273// // Example sending a request using the SetDefaultPolicyVersionRequest method. 11274// req, resp := client.SetDefaultPolicyVersionRequest(params) 11275// 11276// err := req.Send() 11277// if err == nil { // resp is now filled 11278// fmt.Println(resp) 11279// } 11280// 11281// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/SetDefaultPolicyVersion 11282func (c *IAM) SetDefaultPolicyVersionRequest(input *SetDefaultPolicyVersionInput) (req *request.Request, output *SetDefaultPolicyVersionOutput) { 11283 op := &request.Operation{ 11284 Name: opSetDefaultPolicyVersion, 11285 HTTPMethod: "POST", 11286 HTTPPath: "/", 11287 } 11288 11289 if input == nil { 11290 input = &SetDefaultPolicyVersionInput{} 11291 } 11292 11293 output = &SetDefaultPolicyVersionOutput{} 11294 req = c.newRequest(op, input, output) 11295 req.Handlers.Unmarshal.Remove(query.UnmarshalHandler) 11296 req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) 11297 return 11298} 11299 11300// SetDefaultPolicyVersion API operation for AWS Identity and Access Management. 11301// 11302// Sets the specified version of the specified policy as the policy's default 11303// (operative) version. 11304// 11305// This action affects all users, groups, and roles that the policy is attached 11306// to. To list the users, groups, and roles that the policy is attached to, 11307// use the ListEntitiesForPolicy API. 11308// 11309// For information about managed policies, see Managed Policies and Inline Policies 11310// (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html) 11311// in the IAM User Guide. 11312// 11313// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 11314// with awserr.Error's Code and Message methods to get detailed information about 11315// the error. 11316// 11317// See the AWS API reference guide for AWS Identity and Access Management's 11318// API operation SetDefaultPolicyVersion for usage and error information. 11319// 11320// Returned Error Codes: 11321// * ErrCodeNoSuchEntityException "NoSuchEntity" 11322// The request was rejected because it referenced an entity that does not exist. 11323// The error message describes the entity. 11324// 11325// * ErrCodeInvalidInputException "InvalidInput" 11326// The request was rejected because an invalid or out-of-range value was supplied 11327// for an input parameter. 11328// 11329// * ErrCodeLimitExceededException "LimitExceeded" 11330// The request was rejected because it attempted to create resources beyond 11331// the current AWS account limits. The error message describes the limit exceeded. 11332// 11333// * ErrCodeServiceFailureException "ServiceFailure" 11334// The request processing has failed because of an unknown error, exception 11335// or failure. 11336// 11337// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/SetDefaultPolicyVersion 11338func (c *IAM) SetDefaultPolicyVersion(input *SetDefaultPolicyVersionInput) (*SetDefaultPolicyVersionOutput, error) { 11339 req, out := c.SetDefaultPolicyVersionRequest(input) 11340 return out, req.Send() 11341} 11342 11343// SetDefaultPolicyVersionWithContext is the same as SetDefaultPolicyVersion with the addition of 11344// the ability to pass a context and additional request options. 11345// 11346// See SetDefaultPolicyVersion for details on how to use this API operation. 11347// 11348// The context must be non-nil and will be used for request cancellation. If 11349// the context is nil a panic will occur. In the future the SDK may create 11350// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 11351// for more information on using Contexts. 11352func (c *IAM) SetDefaultPolicyVersionWithContext(ctx aws.Context, input *SetDefaultPolicyVersionInput, opts ...request.Option) (*SetDefaultPolicyVersionOutput, error) { 11353 req, out := c.SetDefaultPolicyVersionRequest(input) 11354 req.SetContext(ctx) 11355 req.ApplyOptions(opts...) 11356 return out, req.Send() 11357} 11358 11359const opSimulateCustomPolicy = "SimulateCustomPolicy" 11360 11361// SimulateCustomPolicyRequest generates a "aws/request.Request" representing the 11362// client's request for the SimulateCustomPolicy operation. The "output" return 11363// value will be populated with the request's response once the request complets 11364// successfuly. 11365// 11366// Use "Send" method on the returned Request to send the API call to the service. 11367// the "output" return value is not valid until after Send returns without error. 11368// 11369// See SimulateCustomPolicy for more information on using the SimulateCustomPolicy 11370// API call, and error handling. 11371// 11372// This method is useful when you want to inject custom logic or configuration 11373// into the SDK's request lifecycle. Such as custom headers, or retry logic. 11374// 11375// 11376// // Example sending a request using the SimulateCustomPolicyRequest method. 11377// req, resp := client.SimulateCustomPolicyRequest(params) 11378// 11379// err := req.Send() 11380// if err == nil { // resp is now filled 11381// fmt.Println(resp) 11382// } 11383// 11384// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/SimulateCustomPolicy 11385func (c *IAM) SimulateCustomPolicyRequest(input *SimulateCustomPolicyInput) (req *request.Request, output *SimulatePolicyResponse) { 11386 op := &request.Operation{ 11387 Name: opSimulateCustomPolicy, 11388 HTTPMethod: "POST", 11389 HTTPPath: "/", 11390 Paginator: &request.Paginator{ 11391 InputTokens: []string{"Marker"}, 11392 OutputTokens: []string{"Marker"}, 11393 LimitToken: "MaxItems", 11394 TruncationToken: "IsTruncated", 11395 }, 11396 } 11397 11398 if input == nil { 11399 input = &SimulateCustomPolicyInput{} 11400 } 11401 11402 output = &SimulatePolicyResponse{} 11403 req = c.newRequest(op, input, output) 11404 return 11405} 11406 11407// SimulateCustomPolicy API operation for AWS Identity and Access Management. 11408// 11409// Simulate how a set of IAM policies and optionally a resource-based policy 11410// works with a list of API actions and AWS resources to determine the policies' 11411// effective permissions. The policies are provided as strings. 11412// 11413// The simulation does not perform the API actions; it only checks the authorization 11414// to determine if the simulated policies allow or deny the actions. 11415// 11416// If you want to simulate existing policies attached to an IAM user, group, 11417// or role, use SimulatePrincipalPolicy instead. 11418// 11419// Context keys are variables maintained by AWS and its services that provide 11420// details about the context of an API query request. You can use the Condition 11421// element of an IAM policy to evaluate context keys. To get the list of context 11422// keys that the policies require for correct simulation, use GetContextKeysForCustomPolicy. 11423// 11424// If the output is long, you can use MaxItems and Marker parameters to paginate 11425// the results. 11426// 11427// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 11428// with awserr.Error's Code and Message methods to get detailed information about 11429// the error. 11430// 11431// See the AWS API reference guide for AWS Identity and Access Management's 11432// API operation SimulateCustomPolicy for usage and error information. 11433// 11434// Returned Error Codes: 11435// * ErrCodeInvalidInputException "InvalidInput" 11436// The request was rejected because an invalid or out-of-range value was supplied 11437// for an input parameter. 11438// 11439// * ErrCodePolicyEvaluationException "PolicyEvaluation" 11440// The request failed because a provided policy could not be successfully evaluated. 11441// An additional detailed message indicates the source of the failure. 11442// 11443// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/SimulateCustomPolicy 11444func (c *IAM) SimulateCustomPolicy(input *SimulateCustomPolicyInput) (*SimulatePolicyResponse, error) { 11445 req, out := c.SimulateCustomPolicyRequest(input) 11446 return out, req.Send() 11447} 11448 11449// SimulateCustomPolicyWithContext is the same as SimulateCustomPolicy with the addition of 11450// the ability to pass a context and additional request options. 11451// 11452// See SimulateCustomPolicy for details on how to use this API operation. 11453// 11454// The context must be non-nil and will be used for request cancellation. If 11455// the context is nil a panic will occur. In the future the SDK may create 11456// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 11457// for more information on using Contexts. 11458func (c *IAM) SimulateCustomPolicyWithContext(ctx aws.Context, input *SimulateCustomPolicyInput, opts ...request.Option) (*SimulatePolicyResponse, error) { 11459 req, out := c.SimulateCustomPolicyRequest(input) 11460 req.SetContext(ctx) 11461 req.ApplyOptions(opts...) 11462 return out, req.Send() 11463} 11464 11465// SimulateCustomPolicyPages iterates over the pages of a SimulateCustomPolicy operation, 11466// calling the "fn" function with the response data for each page. To stop 11467// iterating, return false from the fn function. 11468// 11469// See SimulateCustomPolicy method for more information on how to use this operation. 11470// 11471// Note: This operation can generate multiple requests to a service. 11472// 11473// // Example iterating over at most 3 pages of a SimulateCustomPolicy operation. 11474// pageNum := 0 11475// err := client.SimulateCustomPolicyPages(params, 11476// func(page *SimulatePolicyResponse, lastPage bool) bool { 11477// pageNum++ 11478// fmt.Println(page) 11479// return pageNum <= 3 11480// }) 11481// 11482func (c *IAM) SimulateCustomPolicyPages(input *SimulateCustomPolicyInput, fn func(*SimulatePolicyResponse, bool) bool) error { 11483 return c.SimulateCustomPolicyPagesWithContext(aws.BackgroundContext(), input, fn) 11484} 11485 11486// SimulateCustomPolicyPagesWithContext same as SimulateCustomPolicyPages except 11487// it takes a Context and allows setting request options on the pages. 11488// 11489// The context must be non-nil and will be used for request cancellation. If 11490// the context is nil a panic will occur. In the future the SDK may create 11491// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 11492// for more information on using Contexts. 11493func (c *IAM) SimulateCustomPolicyPagesWithContext(ctx aws.Context, input *SimulateCustomPolicyInput, fn func(*SimulatePolicyResponse, bool) bool, opts ...request.Option) error { 11494 p := request.Pagination{ 11495 NewRequest: func() (*request.Request, error) { 11496 var inCpy *SimulateCustomPolicyInput 11497 if input != nil { 11498 tmp := *input 11499 inCpy = &tmp 11500 } 11501 req, _ := c.SimulateCustomPolicyRequest(inCpy) 11502 req.SetContext(ctx) 11503 req.ApplyOptions(opts...) 11504 return req, nil 11505 }, 11506 } 11507 11508 cont := true 11509 for p.Next() && cont { 11510 cont = fn(p.Page().(*SimulatePolicyResponse), !p.HasNextPage()) 11511 } 11512 return p.Err() 11513} 11514 11515const opSimulatePrincipalPolicy = "SimulatePrincipalPolicy" 11516 11517// SimulatePrincipalPolicyRequest generates a "aws/request.Request" representing the 11518// client's request for the SimulatePrincipalPolicy operation. The "output" return 11519// value will be populated with the request's response once the request complets 11520// successfuly. 11521// 11522// Use "Send" method on the returned Request to send the API call to the service. 11523// the "output" return value is not valid until after Send returns without error. 11524// 11525// See SimulatePrincipalPolicy for more information on using the SimulatePrincipalPolicy 11526// API call, and error handling. 11527// 11528// This method is useful when you want to inject custom logic or configuration 11529// into the SDK's request lifecycle. Such as custom headers, or retry logic. 11530// 11531// 11532// // Example sending a request using the SimulatePrincipalPolicyRequest method. 11533// req, resp := client.SimulatePrincipalPolicyRequest(params) 11534// 11535// err := req.Send() 11536// if err == nil { // resp is now filled 11537// fmt.Println(resp) 11538// } 11539// 11540// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/SimulatePrincipalPolicy 11541func (c *IAM) SimulatePrincipalPolicyRequest(input *SimulatePrincipalPolicyInput) (req *request.Request, output *SimulatePolicyResponse) { 11542 op := &request.Operation{ 11543 Name: opSimulatePrincipalPolicy, 11544 HTTPMethod: "POST", 11545 HTTPPath: "/", 11546 Paginator: &request.Paginator{ 11547 InputTokens: []string{"Marker"}, 11548 OutputTokens: []string{"Marker"}, 11549 LimitToken: "MaxItems", 11550 TruncationToken: "IsTruncated", 11551 }, 11552 } 11553 11554 if input == nil { 11555 input = &SimulatePrincipalPolicyInput{} 11556 } 11557 11558 output = &SimulatePolicyResponse{} 11559 req = c.newRequest(op, input, output) 11560 return 11561} 11562 11563// SimulatePrincipalPolicy API operation for AWS Identity and Access Management. 11564// 11565// Simulate how a set of IAM policies attached to an IAM entity works with a 11566// list of API actions and AWS resources to determine the policies' effective 11567// permissions. The entity can be an IAM user, group, or role. If you specify 11568// a user, then the simulation also includes all of the policies that are attached 11569// to groups that the user belongs to . 11570// 11571// You can optionally include a list of one or more additional policies specified 11572// as strings to include in the simulation. If you want to simulate only policies 11573// specified as strings, use SimulateCustomPolicy instead. 11574// 11575// You can also optionally include one resource-based policy to be evaluated 11576// with each of the resources included in the simulation. 11577// 11578// The simulation does not perform the API actions, it only checks the authorization 11579// to determine if the simulated policies allow or deny the actions. 11580// 11581// Note: This API discloses information about the permissions granted to other 11582// users. If you do not want users to see other user's permissions, then consider 11583// allowing them to use SimulateCustomPolicy instead. 11584// 11585// Context keys are variables maintained by AWS and its services that provide 11586// details about the context of an API query request. You can use the Condition 11587// element of an IAM policy to evaluate context keys. To get the list of context 11588// keys that the policies require for correct simulation, use GetContextKeysForPrincipalPolicy. 11589// 11590// If the output is long, you can use the MaxItems and Marker parameters to 11591// paginate the results. 11592// 11593// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 11594// with awserr.Error's Code and Message methods to get detailed information about 11595// the error. 11596// 11597// See the AWS API reference guide for AWS Identity and Access Management's 11598// API operation SimulatePrincipalPolicy for usage and error information. 11599// 11600// Returned Error Codes: 11601// * ErrCodeNoSuchEntityException "NoSuchEntity" 11602// The request was rejected because it referenced an entity that does not exist. 11603// The error message describes the entity. 11604// 11605// * ErrCodeInvalidInputException "InvalidInput" 11606// The request was rejected because an invalid or out-of-range value was supplied 11607// for an input parameter. 11608// 11609// * ErrCodePolicyEvaluationException "PolicyEvaluation" 11610// The request failed because a provided policy could not be successfully evaluated. 11611// An additional detailed message indicates the source of the failure. 11612// 11613// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/SimulatePrincipalPolicy 11614func (c *IAM) SimulatePrincipalPolicy(input *SimulatePrincipalPolicyInput) (*SimulatePolicyResponse, error) { 11615 req, out := c.SimulatePrincipalPolicyRequest(input) 11616 return out, req.Send() 11617} 11618 11619// SimulatePrincipalPolicyWithContext is the same as SimulatePrincipalPolicy with the addition of 11620// the ability to pass a context and additional request options. 11621// 11622// See SimulatePrincipalPolicy for details on how to use this API operation. 11623// 11624// The context must be non-nil and will be used for request cancellation. If 11625// the context is nil a panic will occur. In the future the SDK may create 11626// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 11627// for more information on using Contexts. 11628func (c *IAM) SimulatePrincipalPolicyWithContext(ctx aws.Context, input *SimulatePrincipalPolicyInput, opts ...request.Option) (*SimulatePolicyResponse, error) { 11629 req, out := c.SimulatePrincipalPolicyRequest(input) 11630 req.SetContext(ctx) 11631 req.ApplyOptions(opts...) 11632 return out, req.Send() 11633} 11634 11635// SimulatePrincipalPolicyPages iterates over the pages of a SimulatePrincipalPolicy operation, 11636// calling the "fn" function with the response data for each page. To stop 11637// iterating, return false from the fn function. 11638// 11639// See SimulatePrincipalPolicy method for more information on how to use this operation. 11640// 11641// Note: This operation can generate multiple requests to a service. 11642// 11643// // Example iterating over at most 3 pages of a SimulatePrincipalPolicy operation. 11644// pageNum := 0 11645// err := client.SimulatePrincipalPolicyPages(params, 11646// func(page *SimulatePolicyResponse, lastPage bool) bool { 11647// pageNum++ 11648// fmt.Println(page) 11649// return pageNum <= 3 11650// }) 11651// 11652func (c *IAM) SimulatePrincipalPolicyPages(input *SimulatePrincipalPolicyInput, fn func(*SimulatePolicyResponse, bool) bool) error { 11653 return c.SimulatePrincipalPolicyPagesWithContext(aws.BackgroundContext(), input, fn) 11654} 11655 11656// SimulatePrincipalPolicyPagesWithContext same as SimulatePrincipalPolicyPages except 11657// it takes a Context and allows setting request options on the pages. 11658// 11659// The context must be non-nil and will be used for request cancellation. If 11660// the context is nil a panic will occur. In the future the SDK may create 11661// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 11662// for more information on using Contexts. 11663func (c *IAM) SimulatePrincipalPolicyPagesWithContext(ctx aws.Context, input *SimulatePrincipalPolicyInput, fn func(*SimulatePolicyResponse, bool) bool, opts ...request.Option) error { 11664 p := request.Pagination{ 11665 NewRequest: func() (*request.Request, error) { 11666 var inCpy *SimulatePrincipalPolicyInput 11667 if input != nil { 11668 tmp := *input 11669 inCpy = &tmp 11670 } 11671 req, _ := c.SimulatePrincipalPolicyRequest(inCpy) 11672 req.SetContext(ctx) 11673 req.ApplyOptions(opts...) 11674 return req, nil 11675 }, 11676 } 11677 11678 cont := true 11679 for p.Next() && cont { 11680 cont = fn(p.Page().(*SimulatePolicyResponse), !p.HasNextPage()) 11681 } 11682 return p.Err() 11683} 11684 11685const opUpdateAccessKey = "UpdateAccessKey" 11686 11687// UpdateAccessKeyRequest generates a "aws/request.Request" representing the 11688// client's request for the UpdateAccessKey operation. The "output" return 11689// value will be populated with the request's response once the request complets 11690// successfuly. 11691// 11692// Use "Send" method on the returned Request to send the API call to the service. 11693// the "output" return value is not valid until after Send returns without error. 11694// 11695// See UpdateAccessKey for more information on using the UpdateAccessKey 11696// API call, and error handling. 11697// 11698// This method is useful when you want to inject custom logic or configuration 11699// into the SDK's request lifecycle. Such as custom headers, or retry logic. 11700// 11701// 11702// // Example sending a request using the UpdateAccessKeyRequest method. 11703// req, resp := client.UpdateAccessKeyRequest(params) 11704// 11705// err := req.Send() 11706// if err == nil { // resp is now filled 11707// fmt.Println(resp) 11708// } 11709// 11710// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/UpdateAccessKey 11711func (c *IAM) UpdateAccessKeyRequest(input *UpdateAccessKeyInput) (req *request.Request, output *UpdateAccessKeyOutput) { 11712 op := &request.Operation{ 11713 Name: opUpdateAccessKey, 11714 HTTPMethod: "POST", 11715 HTTPPath: "/", 11716 } 11717 11718 if input == nil { 11719 input = &UpdateAccessKeyInput{} 11720 } 11721 11722 output = &UpdateAccessKeyOutput{} 11723 req = c.newRequest(op, input, output) 11724 req.Handlers.Unmarshal.Remove(query.UnmarshalHandler) 11725 req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) 11726 return 11727} 11728 11729// UpdateAccessKey API operation for AWS Identity and Access Management. 11730// 11731// Changes the status of the specified access key from Active to Inactive, or 11732// vice versa. This action can be used to disable a user's key as part of a 11733// key rotation work flow. 11734// 11735// If the UserName field is not specified, the UserName is determined implicitly 11736// based on the AWS access key ID used to sign the request. Because this action 11737// works for access keys under the AWS account, you can use this action to manage 11738// root credentials even if the AWS account has no associated users. 11739// 11740// For information about rotating keys, see Managing Keys and Certificates (http://docs.aws.amazon.com/IAM/latest/UserGuide/ManagingCredentials.html) 11741// in the IAM User Guide. 11742// 11743// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 11744// with awserr.Error's Code and Message methods to get detailed information about 11745// the error. 11746// 11747// See the AWS API reference guide for AWS Identity and Access Management's 11748// API operation UpdateAccessKey for usage and error information. 11749// 11750// Returned Error Codes: 11751// * ErrCodeNoSuchEntityException "NoSuchEntity" 11752// The request was rejected because it referenced an entity that does not exist. 11753// The error message describes the entity. 11754// 11755// * ErrCodeLimitExceededException "LimitExceeded" 11756// The request was rejected because it attempted to create resources beyond 11757// the current AWS account limits. The error message describes the limit exceeded. 11758// 11759// * ErrCodeServiceFailureException "ServiceFailure" 11760// The request processing has failed because of an unknown error, exception 11761// or failure. 11762// 11763// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/UpdateAccessKey 11764func (c *IAM) UpdateAccessKey(input *UpdateAccessKeyInput) (*UpdateAccessKeyOutput, error) { 11765 req, out := c.UpdateAccessKeyRequest(input) 11766 return out, req.Send() 11767} 11768 11769// UpdateAccessKeyWithContext is the same as UpdateAccessKey with the addition of 11770// the ability to pass a context and additional request options. 11771// 11772// See UpdateAccessKey for details on how to use this API operation. 11773// 11774// The context must be non-nil and will be used for request cancellation. If 11775// the context is nil a panic will occur. In the future the SDK may create 11776// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 11777// for more information on using Contexts. 11778func (c *IAM) UpdateAccessKeyWithContext(ctx aws.Context, input *UpdateAccessKeyInput, opts ...request.Option) (*UpdateAccessKeyOutput, error) { 11779 req, out := c.UpdateAccessKeyRequest(input) 11780 req.SetContext(ctx) 11781 req.ApplyOptions(opts...) 11782 return out, req.Send() 11783} 11784 11785const opUpdateAccountPasswordPolicy = "UpdateAccountPasswordPolicy" 11786 11787// UpdateAccountPasswordPolicyRequest generates a "aws/request.Request" representing the 11788// client's request for the UpdateAccountPasswordPolicy operation. The "output" return 11789// value will be populated with the request's response once the request complets 11790// successfuly. 11791// 11792// Use "Send" method on the returned Request to send the API call to the service. 11793// the "output" return value is not valid until after Send returns without error. 11794// 11795// See UpdateAccountPasswordPolicy for more information on using the UpdateAccountPasswordPolicy 11796// API call, and error handling. 11797// 11798// This method is useful when you want to inject custom logic or configuration 11799// into the SDK's request lifecycle. Such as custom headers, or retry logic. 11800// 11801// 11802// // Example sending a request using the UpdateAccountPasswordPolicyRequest method. 11803// req, resp := client.UpdateAccountPasswordPolicyRequest(params) 11804// 11805// err := req.Send() 11806// if err == nil { // resp is now filled 11807// fmt.Println(resp) 11808// } 11809// 11810// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/UpdateAccountPasswordPolicy 11811func (c *IAM) UpdateAccountPasswordPolicyRequest(input *UpdateAccountPasswordPolicyInput) (req *request.Request, output *UpdateAccountPasswordPolicyOutput) { 11812 op := &request.Operation{ 11813 Name: opUpdateAccountPasswordPolicy, 11814 HTTPMethod: "POST", 11815 HTTPPath: "/", 11816 } 11817 11818 if input == nil { 11819 input = &UpdateAccountPasswordPolicyInput{} 11820 } 11821 11822 output = &UpdateAccountPasswordPolicyOutput{} 11823 req = c.newRequest(op, input, output) 11824 req.Handlers.Unmarshal.Remove(query.UnmarshalHandler) 11825 req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) 11826 return 11827} 11828 11829// UpdateAccountPasswordPolicy API operation for AWS Identity and Access Management. 11830// 11831// Updates the password policy settings for the AWS account. 11832// 11833// This action does not support partial updates. No parameters are required, 11834// but if you do not specify a parameter, that parameter's value reverts to 11835// its default value. See the Request Parameters section for each parameter's 11836// default value. 11837// 11838// For more information about using a password policy, see Managing an IAM Password 11839// Policy (http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_ManagingPasswordPolicies.html) 11840// in the IAM User Guide. 11841// 11842// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 11843// with awserr.Error's Code and Message methods to get detailed information about 11844// the error. 11845// 11846// See the AWS API reference guide for AWS Identity and Access Management's 11847// API operation UpdateAccountPasswordPolicy for usage and error information. 11848// 11849// Returned Error Codes: 11850// * ErrCodeNoSuchEntityException "NoSuchEntity" 11851// The request was rejected because it referenced an entity that does not exist. 11852// The error message describes the entity. 11853// 11854// * ErrCodeMalformedPolicyDocumentException "MalformedPolicyDocument" 11855// The request was rejected because the policy document was malformed. The error 11856// message describes the specific error. 11857// 11858// * ErrCodeLimitExceededException "LimitExceeded" 11859// The request was rejected because it attempted to create resources beyond 11860// the current AWS account limits. The error message describes the limit exceeded. 11861// 11862// * ErrCodeServiceFailureException "ServiceFailure" 11863// The request processing has failed because of an unknown error, exception 11864// or failure. 11865// 11866// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/UpdateAccountPasswordPolicy 11867func (c *IAM) UpdateAccountPasswordPolicy(input *UpdateAccountPasswordPolicyInput) (*UpdateAccountPasswordPolicyOutput, error) { 11868 req, out := c.UpdateAccountPasswordPolicyRequest(input) 11869 return out, req.Send() 11870} 11871 11872// UpdateAccountPasswordPolicyWithContext is the same as UpdateAccountPasswordPolicy with the addition of 11873// the ability to pass a context and additional request options. 11874// 11875// See UpdateAccountPasswordPolicy for details on how to use this API operation. 11876// 11877// The context must be non-nil and will be used for request cancellation. If 11878// the context is nil a panic will occur. In the future the SDK may create 11879// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 11880// for more information on using Contexts. 11881func (c *IAM) UpdateAccountPasswordPolicyWithContext(ctx aws.Context, input *UpdateAccountPasswordPolicyInput, opts ...request.Option) (*UpdateAccountPasswordPolicyOutput, error) { 11882 req, out := c.UpdateAccountPasswordPolicyRequest(input) 11883 req.SetContext(ctx) 11884 req.ApplyOptions(opts...) 11885 return out, req.Send() 11886} 11887 11888const opUpdateAssumeRolePolicy = "UpdateAssumeRolePolicy" 11889 11890// UpdateAssumeRolePolicyRequest generates a "aws/request.Request" representing the 11891// client's request for the UpdateAssumeRolePolicy operation. The "output" return 11892// value will be populated with the request's response once the request complets 11893// successfuly. 11894// 11895// Use "Send" method on the returned Request to send the API call to the service. 11896// the "output" return value is not valid until after Send returns without error. 11897// 11898// See UpdateAssumeRolePolicy for more information on using the UpdateAssumeRolePolicy 11899// API call, and error handling. 11900// 11901// This method is useful when you want to inject custom logic or configuration 11902// into the SDK's request lifecycle. Such as custom headers, or retry logic. 11903// 11904// 11905// // Example sending a request using the UpdateAssumeRolePolicyRequest method. 11906// req, resp := client.UpdateAssumeRolePolicyRequest(params) 11907// 11908// err := req.Send() 11909// if err == nil { // resp is now filled 11910// fmt.Println(resp) 11911// } 11912// 11913// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/UpdateAssumeRolePolicy 11914func (c *IAM) UpdateAssumeRolePolicyRequest(input *UpdateAssumeRolePolicyInput) (req *request.Request, output *UpdateAssumeRolePolicyOutput) { 11915 op := &request.Operation{ 11916 Name: opUpdateAssumeRolePolicy, 11917 HTTPMethod: "POST", 11918 HTTPPath: "/", 11919 } 11920 11921 if input == nil { 11922 input = &UpdateAssumeRolePolicyInput{} 11923 } 11924 11925 output = &UpdateAssumeRolePolicyOutput{} 11926 req = c.newRequest(op, input, output) 11927 req.Handlers.Unmarshal.Remove(query.UnmarshalHandler) 11928 req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) 11929 return 11930} 11931 11932// UpdateAssumeRolePolicy API operation for AWS Identity and Access Management. 11933// 11934// Updates the policy that grants an IAM entity permission to assume a role. 11935// This is typically referred to as the "role trust policy". For more information 11936// about roles, go to Using Roles to Delegate Permissions and Federate Identities 11937// (http://docs.aws.amazon.com/IAM/latest/UserGuide/roles-toplevel.html). 11938// 11939// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 11940// with awserr.Error's Code and Message methods to get detailed information about 11941// the error. 11942// 11943// See the AWS API reference guide for AWS Identity and Access Management's 11944// API operation UpdateAssumeRolePolicy for usage and error information. 11945// 11946// Returned Error Codes: 11947// * ErrCodeNoSuchEntityException "NoSuchEntity" 11948// The request was rejected because it referenced an entity that does not exist. 11949// The error message describes the entity. 11950// 11951// * ErrCodeMalformedPolicyDocumentException "MalformedPolicyDocument" 11952// The request was rejected because the policy document was malformed. The error 11953// message describes the specific error. 11954// 11955// * ErrCodeLimitExceededException "LimitExceeded" 11956// The request was rejected because it attempted to create resources beyond 11957// the current AWS account limits. The error message describes the limit exceeded. 11958// 11959// * ErrCodeUnmodifiableEntityException "UnmodifiableEntity" 11960// The request was rejected because only the service that depends on the service-linked 11961// role can modify or delete the role on your behalf. The error message includes 11962// the name of the service that depends on this service-linked role. You must 11963// request the change through that service. 11964// 11965// * ErrCodeServiceFailureException "ServiceFailure" 11966// The request processing has failed because of an unknown error, exception 11967// or failure. 11968// 11969// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/UpdateAssumeRolePolicy 11970func (c *IAM) UpdateAssumeRolePolicy(input *UpdateAssumeRolePolicyInput) (*UpdateAssumeRolePolicyOutput, error) { 11971 req, out := c.UpdateAssumeRolePolicyRequest(input) 11972 return out, req.Send() 11973} 11974 11975// UpdateAssumeRolePolicyWithContext is the same as UpdateAssumeRolePolicy with the addition of 11976// the ability to pass a context and additional request options. 11977// 11978// See UpdateAssumeRolePolicy for details on how to use this API operation. 11979// 11980// The context must be non-nil and will be used for request cancellation. If 11981// the context is nil a panic will occur. In the future the SDK may create 11982// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 11983// for more information on using Contexts. 11984func (c *IAM) UpdateAssumeRolePolicyWithContext(ctx aws.Context, input *UpdateAssumeRolePolicyInput, opts ...request.Option) (*UpdateAssumeRolePolicyOutput, error) { 11985 req, out := c.UpdateAssumeRolePolicyRequest(input) 11986 req.SetContext(ctx) 11987 req.ApplyOptions(opts...) 11988 return out, req.Send() 11989} 11990 11991const opUpdateGroup = "UpdateGroup" 11992 11993// UpdateGroupRequest generates a "aws/request.Request" representing the 11994// client's request for the UpdateGroup operation. The "output" return 11995// value will be populated with the request's response once the request complets 11996// successfuly. 11997// 11998// Use "Send" method on the returned Request to send the API call to the service. 11999// the "output" return value is not valid until after Send returns without error. 12000// 12001// See UpdateGroup for more information on using the UpdateGroup 12002// API call, and error handling. 12003// 12004// This method is useful when you want to inject custom logic or configuration 12005// into the SDK's request lifecycle. Such as custom headers, or retry logic. 12006// 12007// 12008// // Example sending a request using the UpdateGroupRequest method. 12009// req, resp := client.UpdateGroupRequest(params) 12010// 12011// err := req.Send() 12012// if err == nil { // resp is now filled 12013// fmt.Println(resp) 12014// } 12015// 12016// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/UpdateGroup 12017func (c *IAM) UpdateGroupRequest(input *UpdateGroupInput) (req *request.Request, output *UpdateGroupOutput) { 12018 op := &request.Operation{ 12019 Name: opUpdateGroup, 12020 HTTPMethod: "POST", 12021 HTTPPath: "/", 12022 } 12023 12024 if input == nil { 12025 input = &UpdateGroupInput{} 12026 } 12027 12028 output = &UpdateGroupOutput{} 12029 req = c.newRequest(op, input, output) 12030 req.Handlers.Unmarshal.Remove(query.UnmarshalHandler) 12031 req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) 12032 return 12033} 12034 12035// UpdateGroup API operation for AWS Identity and Access Management. 12036// 12037// Updates the name and/or the path of the specified IAM group. 12038// 12039// You should understand the implications of changing a group's path or name. 12040// For more information, see Renaming Users and Groups (http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_WorkingWithGroupsAndUsers.html) 12041// in the IAM User Guide. 12042// 12043// To change an IAM group name the requester must have appropriate permissions 12044// on both the source object and the target object. For example, to change "Managers" 12045// to "MGRs", the entity making the request must have permission on both "Managers" 12046// and "MGRs", or must have permission on all (*). For more information about 12047// permissions, see Permissions and Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/PermissionsAndPolicies.html). 12048// 12049// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 12050// with awserr.Error's Code and Message methods to get detailed information about 12051// the error. 12052// 12053// See the AWS API reference guide for AWS Identity and Access Management's 12054// API operation UpdateGroup for usage and error information. 12055// 12056// Returned Error Codes: 12057// * ErrCodeNoSuchEntityException "NoSuchEntity" 12058// The request was rejected because it referenced an entity that does not exist. 12059// The error message describes the entity. 12060// 12061// * ErrCodeEntityAlreadyExistsException "EntityAlreadyExists" 12062// The request was rejected because it attempted to create a resource that already 12063// exists. 12064// 12065// * ErrCodeLimitExceededException "LimitExceeded" 12066// The request was rejected because it attempted to create resources beyond 12067// the current AWS account limits. The error message describes the limit exceeded. 12068// 12069// * ErrCodeServiceFailureException "ServiceFailure" 12070// The request processing has failed because of an unknown error, exception 12071// or failure. 12072// 12073// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/UpdateGroup 12074func (c *IAM) UpdateGroup(input *UpdateGroupInput) (*UpdateGroupOutput, error) { 12075 req, out := c.UpdateGroupRequest(input) 12076 return out, req.Send() 12077} 12078 12079// UpdateGroupWithContext is the same as UpdateGroup with the addition of 12080// the ability to pass a context and additional request options. 12081// 12082// See UpdateGroup for details on how to use this API operation. 12083// 12084// The context must be non-nil and will be used for request cancellation. If 12085// the context is nil a panic will occur. In the future the SDK may create 12086// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 12087// for more information on using Contexts. 12088func (c *IAM) UpdateGroupWithContext(ctx aws.Context, input *UpdateGroupInput, opts ...request.Option) (*UpdateGroupOutput, error) { 12089 req, out := c.UpdateGroupRequest(input) 12090 req.SetContext(ctx) 12091 req.ApplyOptions(opts...) 12092 return out, req.Send() 12093} 12094 12095const opUpdateLoginProfile = "UpdateLoginProfile" 12096 12097// UpdateLoginProfileRequest generates a "aws/request.Request" representing the 12098// client's request for the UpdateLoginProfile operation. The "output" return 12099// value will be populated with the request's response once the request complets 12100// successfuly. 12101// 12102// Use "Send" method on the returned Request to send the API call to the service. 12103// the "output" return value is not valid until after Send returns without error. 12104// 12105// See UpdateLoginProfile for more information on using the UpdateLoginProfile 12106// API call, and error handling. 12107// 12108// This method is useful when you want to inject custom logic or configuration 12109// into the SDK's request lifecycle. Such as custom headers, or retry logic. 12110// 12111// 12112// // Example sending a request using the UpdateLoginProfileRequest method. 12113// req, resp := client.UpdateLoginProfileRequest(params) 12114// 12115// err := req.Send() 12116// if err == nil { // resp is now filled 12117// fmt.Println(resp) 12118// } 12119// 12120// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/UpdateLoginProfile 12121func (c *IAM) UpdateLoginProfileRequest(input *UpdateLoginProfileInput) (req *request.Request, output *UpdateLoginProfileOutput) { 12122 op := &request.Operation{ 12123 Name: opUpdateLoginProfile, 12124 HTTPMethod: "POST", 12125 HTTPPath: "/", 12126 } 12127 12128 if input == nil { 12129 input = &UpdateLoginProfileInput{} 12130 } 12131 12132 output = &UpdateLoginProfileOutput{} 12133 req = c.newRequest(op, input, output) 12134 req.Handlers.Unmarshal.Remove(query.UnmarshalHandler) 12135 req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) 12136 return 12137} 12138 12139// UpdateLoginProfile API operation for AWS Identity and Access Management. 12140// 12141// Changes the password for the specified IAM user. 12142// 12143// IAM users can change their own passwords by calling ChangePassword. For more 12144// information about modifying passwords, see Managing Passwords (http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_ManagingLogins.html) 12145// in the IAM User Guide. 12146// 12147// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 12148// with awserr.Error's Code and Message methods to get detailed information about 12149// the error. 12150// 12151// See the AWS API reference guide for AWS Identity and Access Management's 12152// API operation UpdateLoginProfile for usage and error information. 12153// 12154// Returned Error Codes: 12155// * ErrCodeEntityTemporarilyUnmodifiableException "EntityTemporarilyUnmodifiable" 12156// The request was rejected because it referenced an entity that is temporarily 12157// unmodifiable, such as a user name that was deleted and then recreated. The 12158// error indicates that the request is likely to succeed if you try again after 12159// waiting several minutes. The error message describes the entity. 12160// 12161// * ErrCodeNoSuchEntityException "NoSuchEntity" 12162// The request was rejected because it referenced an entity that does not exist. 12163// The error message describes the entity. 12164// 12165// * ErrCodePasswordPolicyViolationException "PasswordPolicyViolation" 12166// The request was rejected because the provided password did not meet the requirements 12167// imposed by the account password policy. 12168// 12169// * ErrCodeLimitExceededException "LimitExceeded" 12170// The request was rejected because it attempted to create resources beyond 12171// the current AWS account limits. The error message describes the limit exceeded. 12172// 12173// * ErrCodeServiceFailureException "ServiceFailure" 12174// The request processing has failed because of an unknown error, exception 12175// or failure. 12176// 12177// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/UpdateLoginProfile 12178func (c *IAM) UpdateLoginProfile(input *UpdateLoginProfileInput) (*UpdateLoginProfileOutput, error) { 12179 req, out := c.UpdateLoginProfileRequest(input) 12180 return out, req.Send() 12181} 12182 12183// UpdateLoginProfileWithContext is the same as UpdateLoginProfile with the addition of 12184// the ability to pass a context and additional request options. 12185// 12186// See UpdateLoginProfile for details on how to use this API operation. 12187// 12188// The context must be non-nil and will be used for request cancellation. If 12189// the context is nil a panic will occur. In the future the SDK may create 12190// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 12191// for more information on using Contexts. 12192func (c *IAM) UpdateLoginProfileWithContext(ctx aws.Context, input *UpdateLoginProfileInput, opts ...request.Option) (*UpdateLoginProfileOutput, error) { 12193 req, out := c.UpdateLoginProfileRequest(input) 12194 req.SetContext(ctx) 12195 req.ApplyOptions(opts...) 12196 return out, req.Send() 12197} 12198 12199const opUpdateOpenIDConnectProviderThumbprint = "UpdateOpenIDConnectProviderThumbprint" 12200 12201// UpdateOpenIDConnectProviderThumbprintRequest generates a "aws/request.Request" representing the 12202// client's request for the UpdateOpenIDConnectProviderThumbprint operation. The "output" return 12203// value will be populated with the request's response once the request complets 12204// successfuly. 12205// 12206// Use "Send" method on the returned Request to send the API call to the service. 12207// the "output" return value is not valid until after Send returns without error. 12208// 12209// See UpdateOpenIDConnectProviderThumbprint for more information on using the UpdateOpenIDConnectProviderThumbprint 12210// API call, and error handling. 12211// 12212// This method is useful when you want to inject custom logic or configuration 12213// into the SDK's request lifecycle. Such as custom headers, or retry logic. 12214// 12215// 12216// // Example sending a request using the UpdateOpenIDConnectProviderThumbprintRequest method. 12217// req, resp := client.UpdateOpenIDConnectProviderThumbprintRequest(params) 12218// 12219// err := req.Send() 12220// if err == nil { // resp is now filled 12221// fmt.Println(resp) 12222// } 12223// 12224// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/UpdateOpenIDConnectProviderThumbprint 12225func (c *IAM) UpdateOpenIDConnectProviderThumbprintRequest(input *UpdateOpenIDConnectProviderThumbprintInput) (req *request.Request, output *UpdateOpenIDConnectProviderThumbprintOutput) { 12226 op := &request.Operation{ 12227 Name: opUpdateOpenIDConnectProviderThumbprint, 12228 HTTPMethod: "POST", 12229 HTTPPath: "/", 12230 } 12231 12232 if input == nil { 12233 input = &UpdateOpenIDConnectProviderThumbprintInput{} 12234 } 12235 12236 output = &UpdateOpenIDConnectProviderThumbprintOutput{} 12237 req = c.newRequest(op, input, output) 12238 req.Handlers.Unmarshal.Remove(query.UnmarshalHandler) 12239 req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) 12240 return 12241} 12242 12243// UpdateOpenIDConnectProviderThumbprint API operation for AWS Identity and Access Management. 12244// 12245// Replaces the existing list of server certificate thumbprints associated with 12246// an OpenID Connect (OIDC) provider resource object with a new list of thumbprints. 12247// 12248// The list that you pass with this action completely replaces the existing 12249// list of thumbprints. (The lists are not merged.) 12250// 12251// Typically, you need to update a thumbprint only when the identity provider's 12252// certificate changes, which occurs rarely. However, if the provider's certificate 12253// does change, any attempt to assume an IAM role that specifies the OIDC provider 12254// as a principal fails until the certificate thumbprint is updated. 12255// 12256// Because trust for the OIDC provider is ultimately derived from the provider's 12257// certificate and is validated by the thumbprint, it is a best practice to 12258// limit access to the UpdateOpenIDConnectProviderThumbprint action to highly-privileged 12259// users. 12260// 12261// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 12262// with awserr.Error's Code and Message methods to get detailed information about 12263// the error. 12264// 12265// See the AWS API reference guide for AWS Identity and Access Management's 12266// API operation UpdateOpenIDConnectProviderThumbprint for usage and error information. 12267// 12268// Returned Error Codes: 12269// * ErrCodeInvalidInputException "InvalidInput" 12270// The request was rejected because an invalid or out-of-range value was supplied 12271// for an input parameter. 12272// 12273// * ErrCodeNoSuchEntityException "NoSuchEntity" 12274// The request was rejected because it referenced an entity that does not exist. 12275// The error message describes the entity. 12276// 12277// * ErrCodeServiceFailureException "ServiceFailure" 12278// The request processing has failed because of an unknown error, exception 12279// or failure. 12280// 12281// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/UpdateOpenIDConnectProviderThumbprint 12282func (c *IAM) UpdateOpenIDConnectProviderThumbprint(input *UpdateOpenIDConnectProviderThumbprintInput) (*UpdateOpenIDConnectProviderThumbprintOutput, error) { 12283 req, out := c.UpdateOpenIDConnectProviderThumbprintRequest(input) 12284 return out, req.Send() 12285} 12286 12287// UpdateOpenIDConnectProviderThumbprintWithContext is the same as UpdateOpenIDConnectProviderThumbprint with the addition of 12288// the ability to pass a context and additional request options. 12289// 12290// See UpdateOpenIDConnectProviderThumbprint for details on how to use this API operation. 12291// 12292// The context must be non-nil and will be used for request cancellation. If 12293// the context is nil a panic will occur. In the future the SDK may create 12294// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 12295// for more information on using Contexts. 12296func (c *IAM) UpdateOpenIDConnectProviderThumbprintWithContext(ctx aws.Context, input *UpdateOpenIDConnectProviderThumbprintInput, opts ...request.Option) (*UpdateOpenIDConnectProviderThumbprintOutput, error) { 12297 req, out := c.UpdateOpenIDConnectProviderThumbprintRequest(input) 12298 req.SetContext(ctx) 12299 req.ApplyOptions(opts...) 12300 return out, req.Send() 12301} 12302 12303const opUpdateRoleDescription = "UpdateRoleDescription" 12304 12305// UpdateRoleDescriptionRequest generates a "aws/request.Request" representing the 12306// client's request for the UpdateRoleDescription operation. The "output" return 12307// value will be populated with the request's response once the request complets 12308// successfuly. 12309// 12310// Use "Send" method on the returned Request to send the API call to the service. 12311// the "output" return value is not valid until after Send returns without error. 12312// 12313// See UpdateRoleDescription for more information on using the UpdateRoleDescription 12314// API call, and error handling. 12315// 12316// This method is useful when you want to inject custom logic or configuration 12317// into the SDK's request lifecycle. Such as custom headers, or retry logic. 12318// 12319// 12320// // Example sending a request using the UpdateRoleDescriptionRequest method. 12321// req, resp := client.UpdateRoleDescriptionRequest(params) 12322// 12323// err := req.Send() 12324// if err == nil { // resp is now filled 12325// fmt.Println(resp) 12326// } 12327// 12328// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/UpdateRoleDescription 12329func (c *IAM) UpdateRoleDescriptionRequest(input *UpdateRoleDescriptionInput) (req *request.Request, output *UpdateRoleDescriptionOutput) { 12330 op := &request.Operation{ 12331 Name: opUpdateRoleDescription, 12332 HTTPMethod: "POST", 12333 HTTPPath: "/", 12334 } 12335 12336 if input == nil { 12337 input = &UpdateRoleDescriptionInput{} 12338 } 12339 12340 output = &UpdateRoleDescriptionOutput{} 12341 req = c.newRequest(op, input, output) 12342 return 12343} 12344 12345// UpdateRoleDescription API operation for AWS Identity and Access Management. 12346// 12347// Modifies the description of a role. 12348// 12349// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 12350// with awserr.Error's Code and Message methods to get detailed information about 12351// the error. 12352// 12353// See the AWS API reference guide for AWS Identity and Access Management's 12354// API operation UpdateRoleDescription for usage and error information. 12355// 12356// Returned Error Codes: 12357// * ErrCodeNoSuchEntityException "NoSuchEntity" 12358// The request was rejected because it referenced an entity that does not exist. 12359// The error message describes the entity. 12360// 12361// * ErrCodeUnmodifiableEntityException "UnmodifiableEntity" 12362// The request was rejected because only the service that depends on the service-linked 12363// role can modify or delete the role on your behalf. The error message includes 12364// the name of the service that depends on this service-linked role. You must 12365// request the change through that service. 12366// 12367// * ErrCodeServiceFailureException "ServiceFailure" 12368// The request processing has failed because of an unknown error, exception 12369// or failure. 12370// 12371// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/UpdateRoleDescription 12372func (c *IAM) UpdateRoleDescription(input *UpdateRoleDescriptionInput) (*UpdateRoleDescriptionOutput, error) { 12373 req, out := c.UpdateRoleDescriptionRequest(input) 12374 return out, req.Send() 12375} 12376 12377// UpdateRoleDescriptionWithContext is the same as UpdateRoleDescription with the addition of 12378// the ability to pass a context and additional request options. 12379// 12380// See UpdateRoleDescription for details on how to use this API operation. 12381// 12382// The context must be non-nil and will be used for request cancellation. If 12383// the context is nil a panic will occur. In the future the SDK may create 12384// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 12385// for more information on using Contexts. 12386func (c *IAM) UpdateRoleDescriptionWithContext(ctx aws.Context, input *UpdateRoleDescriptionInput, opts ...request.Option) (*UpdateRoleDescriptionOutput, error) { 12387 req, out := c.UpdateRoleDescriptionRequest(input) 12388 req.SetContext(ctx) 12389 req.ApplyOptions(opts...) 12390 return out, req.Send() 12391} 12392 12393const opUpdateSAMLProvider = "UpdateSAMLProvider" 12394 12395// UpdateSAMLProviderRequest generates a "aws/request.Request" representing the 12396// client's request for the UpdateSAMLProvider operation. The "output" return 12397// value will be populated with the request's response once the request complets 12398// successfuly. 12399// 12400// Use "Send" method on the returned Request to send the API call to the service. 12401// the "output" return value is not valid until after Send returns without error. 12402// 12403// See UpdateSAMLProvider for more information on using the UpdateSAMLProvider 12404// API call, and error handling. 12405// 12406// This method is useful when you want to inject custom logic or configuration 12407// into the SDK's request lifecycle. Such as custom headers, or retry logic. 12408// 12409// 12410// // Example sending a request using the UpdateSAMLProviderRequest method. 12411// req, resp := client.UpdateSAMLProviderRequest(params) 12412// 12413// err := req.Send() 12414// if err == nil { // resp is now filled 12415// fmt.Println(resp) 12416// } 12417// 12418// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/UpdateSAMLProvider 12419func (c *IAM) UpdateSAMLProviderRequest(input *UpdateSAMLProviderInput) (req *request.Request, output *UpdateSAMLProviderOutput) { 12420 op := &request.Operation{ 12421 Name: opUpdateSAMLProvider, 12422 HTTPMethod: "POST", 12423 HTTPPath: "/", 12424 } 12425 12426 if input == nil { 12427 input = &UpdateSAMLProviderInput{} 12428 } 12429 12430 output = &UpdateSAMLProviderOutput{} 12431 req = c.newRequest(op, input, output) 12432 return 12433} 12434 12435// UpdateSAMLProvider API operation for AWS Identity and Access Management. 12436// 12437// Updates the metadata document for an existing SAML provider resource object. 12438// 12439// This operation requires Signature Version 4 (http://docs.aws.amazon.com/general/latest/gr/signature-version-4.html). 12440// 12441// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 12442// with awserr.Error's Code and Message methods to get detailed information about 12443// the error. 12444// 12445// See the AWS API reference guide for AWS Identity and Access Management's 12446// API operation UpdateSAMLProvider for usage and error information. 12447// 12448// Returned Error Codes: 12449// * ErrCodeNoSuchEntityException "NoSuchEntity" 12450// The request was rejected because it referenced an entity that does not exist. 12451// The error message describes the entity. 12452// 12453// * ErrCodeInvalidInputException "InvalidInput" 12454// The request was rejected because an invalid or out-of-range value was supplied 12455// for an input parameter. 12456// 12457// * ErrCodeLimitExceededException "LimitExceeded" 12458// The request was rejected because it attempted to create resources beyond 12459// the current AWS account limits. The error message describes the limit exceeded. 12460// 12461// * ErrCodeServiceFailureException "ServiceFailure" 12462// The request processing has failed because of an unknown error, exception 12463// or failure. 12464// 12465// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/UpdateSAMLProvider 12466func (c *IAM) UpdateSAMLProvider(input *UpdateSAMLProviderInput) (*UpdateSAMLProviderOutput, error) { 12467 req, out := c.UpdateSAMLProviderRequest(input) 12468 return out, req.Send() 12469} 12470 12471// UpdateSAMLProviderWithContext is the same as UpdateSAMLProvider with the addition of 12472// the ability to pass a context and additional request options. 12473// 12474// See UpdateSAMLProvider for details on how to use this API operation. 12475// 12476// The context must be non-nil and will be used for request cancellation. If 12477// the context is nil a panic will occur. In the future the SDK may create 12478// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 12479// for more information on using Contexts. 12480func (c *IAM) UpdateSAMLProviderWithContext(ctx aws.Context, input *UpdateSAMLProviderInput, opts ...request.Option) (*UpdateSAMLProviderOutput, error) { 12481 req, out := c.UpdateSAMLProviderRequest(input) 12482 req.SetContext(ctx) 12483 req.ApplyOptions(opts...) 12484 return out, req.Send() 12485} 12486 12487const opUpdateSSHPublicKey = "UpdateSSHPublicKey" 12488 12489// UpdateSSHPublicKeyRequest generates a "aws/request.Request" representing the 12490// client's request for the UpdateSSHPublicKey operation. The "output" return 12491// value will be populated with the request's response once the request complets 12492// successfuly. 12493// 12494// Use "Send" method on the returned Request to send the API call to the service. 12495// the "output" return value is not valid until after Send returns without error. 12496// 12497// See UpdateSSHPublicKey for more information on using the UpdateSSHPublicKey 12498// API call, and error handling. 12499// 12500// This method is useful when you want to inject custom logic or configuration 12501// into the SDK's request lifecycle. Such as custom headers, or retry logic. 12502// 12503// 12504// // Example sending a request using the UpdateSSHPublicKeyRequest method. 12505// req, resp := client.UpdateSSHPublicKeyRequest(params) 12506// 12507// err := req.Send() 12508// if err == nil { // resp is now filled 12509// fmt.Println(resp) 12510// } 12511// 12512// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/UpdateSSHPublicKey 12513func (c *IAM) UpdateSSHPublicKeyRequest(input *UpdateSSHPublicKeyInput) (req *request.Request, output *UpdateSSHPublicKeyOutput) { 12514 op := &request.Operation{ 12515 Name: opUpdateSSHPublicKey, 12516 HTTPMethod: "POST", 12517 HTTPPath: "/", 12518 } 12519 12520 if input == nil { 12521 input = &UpdateSSHPublicKeyInput{} 12522 } 12523 12524 output = &UpdateSSHPublicKeyOutput{} 12525 req = c.newRequest(op, input, output) 12526 req.Handlers.Unmarshal.Remove(query.UnmarshalHandler) 12527 req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) 12528 return 12529} 12530 12531// UpdateSSHPublicKey API operation for AWS Identity and Access Management. 12532// 12533// Sets the status of an IAM user's SSH public key to active or inactive. SSH 12534// public keys that are inactive cannot be used for authentication. This action 12535// can be used to disable a user's SSH public key as part of a key rotation 12536// work flow. 12537// 12538// The SSH public key affected by this action is used only for authenticating 12539// the associated IAM user to an AWS CodeCommit repository. For more information 12540// about using SSH keys to authenticate to an AWS CodeCommit repository, see 12541// Set up AWS CodeCommit for SSH Connections (http://docs.aws.amazon.com/codecommit/latest/userguide/setting-up-credentials-ssh.html) 12542// in the AWS CodeCommit User Guide. 12543// 12544// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 12545// with awserr.Error's Code and Message methods to get detailed information about 12546// the error. 12547// 12548// See the AWS API reference guide for AWS Identity and Access Management's 12549// API operation UpdateSSHPublicKey for usage and error information. 12550// 12551// Returned Error Codes: 12552// * ErrCodeNoSuchEntityException "NoSuchEntity" 12553// The request was rejected because it referenced an entity that does not exist. 12554// The error message describes the entity. 12555// 12556// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/UpdateSSHPublicKey 12557func (c *IAM) UpdateSSHPublicKey(input *UpdateSSHPublicKeyInput) (*UpdateSSHPublicKeyOutput, error) { 12558 req, out := c.UpdateSSHPublicKeyRequest(input) 12559 return out, req.Send() 12560} 12561 12562// UpdateSSHPublicKeyWithContext is the same as UpdateSSHPublicKey with the addition of 12563// the ability to pass a context and additional request options. 12564// 12565// See UpdateSSHPublicKey for details on how to use this API operation. 12566// 12567// The context must be non-nil and will be used for request cancellation. If 12568// the context is nil a panic will occur. In the future the SDK may create 12569// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 12570// for more information on using Contexts. 12571func (c *IAM) UpdateSSHPublicKeyWithContext(ctx aws.Context, input *UpdateSSHPublicKeyInput, opts ...request.Option) (*UpdateSSHPublicKeyOutput, error) { 12572 req, out := c.UpdateSSHPublicKeyRequest(input) 12573 req.SetContext(ctx) 12574 req.ApplyOptions(opts...) 12575 return out, req.Send() 12576} 12577 12578const opUpdateServerCertificate = "UpdateServerCertificate" 12579 12580// UpdateServerCertificateRequest generates a "aws/request.Request" representing the 12581// client's request for the UpdateServerCertificate operation. The "output" return 12582// value will be populated with the request's response once the request complets 12583// successfuly. 12584// 12585// Use "Send" method on the returned Request to send the API call to the service. 12586// the "output" return value is not valid until after Send returns without error. 12587// 12588// See UpdateServerCertificate for more information on using the UpdateServerCertificate 12589// API call, and error handling. 12590// 12591// This method is useful when you want to inject custom logic or configuration 12592// into the SDK's request lifecycle. Such as custom headers, or retry logic. 12593// 12594// 12595// // Example sending a request using the UpdateServerCertificateRequest method. 12596// req, resp := client.UpdateServerCertificateRequest(params) 12597// 12598// err := req.Send() 12599// if err == nil { // resp is now filled 12600// fmt.Println(resp) 12601// } 12602// 12603// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/UpdateServerCertificate 12604func (c *IAM) UpdateServerCertificateRequest(input *UpdateServerCertificateInput) (req *request.Request, output *UpdateServerCertificateOutput) { 12605 op := &request.Operation{ 12606 Name: opUpdateServerCertificate, 12607 HTTPMethod: "POST", 12608 HTTPPath: "/", 12609 } 12610 12611 if input == nil { 12612 input = &UpdateServerCertificateInput{} 12613 } 12614 12615 output = &UpdateServerCertificateOutput{} 12616 req = c.newRequest(op, input, output) 12617 req.Handlers.Unmarshal.Remove(query.UnmarshalHandler) 12618 req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) 12619 return 12620} 12621 12622// UpdateServerCertificate API operation for AWS Identity and Access Management. 12623// 12624// Updates the name and/or the path of the specified server certificate stored 12625// in IAM. 12626// 12627// For more information about working with server certificates, including a 12628// list of AWS services that can use the server certificates that you manage 12629// with IAM, go to Working with Server Certificates (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_server-certs.html) 12630// in the IAM User Guide. 12631// 12632// You should understand the implications of changing a server certificate's 12633// path or name. For more information, see Renaming a Server Certificate (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_server-certs_manage.html#RenamingServerCerts) 12634// in the IAM User Guide. 12635// 12636// To change a server certificate name the requester must have appropriate permissions 12637// on both the source object and the target object. For example, to change the 12638// name from "ProductionCert" to "ProdCert", the entity making the request must 12639// have permission on "ProductionCert" and "ProdCert", or must have permission 12640// on all (*). For more information about permissions, see Access Management 12641// (http://docs.aws.amazon.com/IAM/latest/UserGuide/access.html) in the IAM 12642// User Guide. 12643// 12644// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 12645// with awserr.Error's Code and Message methods to get detailed information about 12646// the error. 12647// 12648// See the AWS API reference guide for AWS Identity and Access Management's 12649// API operation UpdateServerCertificate for usage and error information. 12650// 12651// Returned Error Codes: 12652// * ErrCodeNoSuchEntityException "NoSuchEntity" 12653// The request was rejected because it referenced an entity that does not exist. 12654// The error message describes the entity. 12655// 12656// * ErrCodeEntityAlreadyExistsException "EntityAlreadyExists" 12657// The request was rejected because it attempted to create a resource that already 12658// exists. 12659// 12660// * ErrCodeLimitExceededException "LimitExceeded" 12661// The request was rejected because it attempted to create resources beyond 12662// the current AWS account limits. The error message describes the limit exceeded. 12663// 12664// * ErrCodeServiceFailureException "ServiceFailure" 12665// The request processing has failed because of an unknown error, exception 12666// or failure. 12667// 12668// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/UpdateServerCertificate 12669func (c *IAM) UpdateServerCertificate(input *UpdateServerCertificateInput) (*UpdateServerCertificateOutput, error) { 12670 req, out := c.UpdateServerCertificateRequest(input) 12671 return out, req.Send() 12672} 12673 12674// UpdateServerCertificateWithContext is the same as UpdateServerCertificate with the addition of 12675// the ability to pass a context and additional request options. 12676// 12677// See UpdateServerCertificate for details on how to use this API operation. 12678// 12679// The context must be non-nil and will be used for request cancellation. If 12680// the context is nil a panic will occur. In the future the SDK may create 12681// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 12682// for more information on using Contexts. 12683func (c *IAM) UpdateServerCertificateWithContext(ctx aws.Context, input *UpdateServerCertificateInput, opts ...request.Option) (*UpdateServerCertificateOutput, error) { 12684 req, out := c.UpdateServerCertificateRequest(input) 12685 req.SetContext(ctx) 12686 req.ApplyOptions(opts...) 12687 return out, req.Send() 12688} 12689 12690const opUpdateServiceSpecificCredential = "UpdateServiceSpecificCredential" 12691 12692// UpdateServiceSpecificCredentialRequest generates a "aws/request.Request" representing the 12693// client's request for the UpdateServiceSpecificCredential operation. The "output" return 12694// value will be populated with the request's response once the request complets 12695// successfuly. 12696// 12697// Use "Send" method on the returned Request to send the API call to the service. 12698// the "output" return value is not valid until after Send returns without error. 12699// 12700// See UpdateServiceSpecificCredential for more information on using the UpdateServiceSpecificCredential 12701// API call, and error handling. 12702// 12703// This method is useful when you want to inject custom logic or configuration 12704// into the SDK's request lifecycle. Such as custom headers, or retry logic. 12705// 12706// 12707// // Example sending a request using the UpdateServiceSpecificCredentialRequest method. 12708// req, resp := client.UpdateServiceSpecificCredentialRequest(params) 12709// 12710// err := req.Send() 12711// if err == nil { // resp is now filled 12712// fmt.Println(resp) 12713// } 12714// 12715// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/UpdateServiceSpecificCredential 12716func (c *IAM) UpdateServiceSpecificCredentialRequest(input *UpdateServiceSpecificCredentialInput) (req *request.Request, output *UpdateServiceSpecificCredentialOutput) { 12717 op := &request.Operation{ 12718 Name: opUpdateServiceSpecificCredential, 12719 HTTPMethod: "POST", 12720 HTTPPath: "/", 12721 } 12722 12723 if input == nil { 12724 input = &UpdateServiceSpecificCredentialInput{} 12725 } 12726 12727 output = &UpdateServiceSpecificCredentialOutput{} 12728 req = c.newRequest(op, input, output) 12729 req.Handlers.Unmarshal.Remove(query.UnmarshalHandler) 12730 req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) 12731 return 12732} 12733 12734// UpdateServiceSpecificCredential API operation for AWS Identity and Access Management. 12735// 12736// Sets the status of a service-specific credential to Active or Inactive. Service-specific 12737// credentials that are inactive cannot be used for authentication to the service. 12738// This action can be used to disable a user’s service-specific credential as 12739// part of a credential rotation work flow. 12740// 12741// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 12742// with awserr.Error's Code and Message methods to get detailed information about 12743// the error. 12744// 12745// See the AWS API reference guide for AWS Identity and Access Management's 12746// API operation UpdateServiceSpecificCredential for usage and error information. 12747// 12748// Returned Error Codes: 12749// * ErrCodeNoSuchEntityException "NoSuchEntity" 12750// The request was rejected because it referenced an entity that does not exist. 12751// The error message describes the entity. 12752// 12753// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/UpdateServiceSpecificCredential 12754func (c *IAM) UpdateServiceSpecificCredential(input *UpdateServiceSpecificCredentialInput) (*UpdateServiceSpecificCredentialOutput, error) { 12755 req, out := c.UpdateServiceSpecificCredentialRequest(input) 12756 return out, req.Send() 12757} 12758 12759// UpdateServiceSpecificCredentialWithContext is the same as UpdateServiceSpecificCredential with the addition of 12760// the ability to pass a context and additional request options. 12761// 12762// See UpdateServiceSpecificCredential for details on how to use this API operation. 12763// 12764// The context must be non-nil and will be used for request cancellation. If 12765// the context is nil a panic will occur. In the future the SDK may create 12766// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 12767// for more information on using Contexts. 12768func (c *IAM) UpdateServiceSpecificCredentialWithContext(ctx aws.Context, input *UpdateServiceSpecificCredentialInput, opts ...request.Option) (*UpdateServiceSpecificCredentialOutput, error) { 12769 req, out := c.UpdateServiceSpecificCredentialRequest(input) 12770 req.SetContext(ctx) 12771 req.ApplyOptions(opts...) 12772 return out, req.Send() 12773} 12774 12775const opUpdateSigningCertificate = "UpdateSigningCertificate" 12776 12777// UpdateSigningCertificateRequest generates a "aws/request.Request" representing the 12778// client's request for the UpdateSigningCertificate operation. The "output" return 12779// value will be populated with the request's response once the request complets 12780// successfuly. 12781// 12782// Use "Send" method on the returned Request to send the API call to the service. 12783// the "output" return value is not valid until after Send returns without error. 12784// 12785// See UpdateSigningCertificate for more information on using the UpdateSigningCertificate 12786// API call, and error handling. 12787// 12788// This method is useful when you want to inject custom logic or configuration 12789// into the SDK's request lifecycle. Such as custom headers, or retry logic. 12790// 12791// 12792// // Example sending a request using the UpdateSigningCertificateRequest method. 12793// req, resp := client.UpdateSigningCertificateRequest(params) 12794// 12795// err := req.Send() 12796// if err == nil { // resp is now filled 12797// fmt.Println(resp) 12798// } 12799// 12800// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/UpdateSigningCertificate 12801func (c *IAM) UpdateSigningCertificateRequest(input *UpdateSigningCertificateInput) (req *request.Request, output *UpdateSigningCertificateOutput) { 12802 op := &request.Operation{ 12803 Name: opUpdateSigningCertificate, 12804 HTTPMethod: "POST", 12805 HTTPPath: "/", 12806 } 12807 12808 if input == nil { 12809 input = &UpdateSigningCertificateInput{} 12810 } 12811 12812 output = &UpdateSigningCertificateOutput{} 12813 req = c.newRequest(op, input, output) 12814 req.Handlers.Unmarshal.Remove(query.UnmarshalHandler) 12815 req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) 12816 return 12817} 12818 12819// UpdateSigningCertificate API operation for AWS Identity and Access Management. 12820// 12821// Changes the status of the specified user signing certificate from active 12822// to disabled, or vice versa. This action can be used to disable an IAM user's 12823// signing certificate as part of a certificate rotation work flow. 12824// 12825// If the UserName field is not specified, the UserName is determined implicitly 12826// based on the AWS access key ID used to sign the request. Because this action 12827// works for access keys under the AWS account, you can use this action to manage 12828// root credentials even if the AWS account has no associated users. 12829// 12830// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 12831// with awserr.Error's Code and Message methods to get detailed information about 12832// the error. 12833// 12834// See the AWS API reference guide for AWS Identity and Access Management's 12835// API operation UpdateSigningCertificate for usage and error information. 12836// 12837// Returned Error Codes: 12838// * ErrCodeNoSuchEntityException "NoSuchEntity" 12839// The request was rejected because it referenced an entity that does not exist. 12840// The error message describes the entity. 12841// 12842// * ErrCodeLimitExceededException "LimitExceeded" 12843// The request was rejected because it attempted to create resources beyond 12844// the current AWS account limits. The error message describes the limit exceeded. 12845// 12846// * ErrCodeServiceFailureException "ServiceFailure" 12847// The request processing has failed because of an unknown error, exception 12848// or failure. 12849// 12850// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/UpdateSigningCertificate 12851func (c *IAM) UpdateSigningCertificate(input *UpdateSigningCertificateInput) (*UpdateSigningCertificateOutput, error) { 12852 req, out := c.UpdateSigningCertificateRequest(input) 12853 return out, req.Send() 12854} 12855 12856// UpdateSigningCertificateWithContext is the same as UpdateSigningCertificate with the addition of 12857// the ability to pass a context and additional request options. 12858// 12859// See UpdateSigningCertificate for details on how to use this API operation. 12860// 12861// The context must be non-nil and will be used for request cancellation. If 12862// the context is nil a panic will occur. In the future the SDK may create 12863// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 12864// for more information on using Contexts. 12865func (c *IAM) UpdateSigningCertificateWithContext(ctx aws.Context, input *UpdateSigningCertificateInput, opts ...request.Option) (*UpdateSigningCertificateOutput, error) { 12866 req, out := c.UpdateSigningCertificateRequest(input) 12867 req.SetContext(ctx) 12868 req.ApplyOptions(opts...) 12869 return out, req.Send() 12870} 12871 12872const opUpdateUser = "UpdateUser" 12873 12874// UpdateUserRequest generates a "aws/request.Request" representing the 12875// client's request for the UpdateUser operation. The "output" return 12876// value will be populated with the request's response once the request complets 12877// successfuly. 12878// 12879// Use "Send" method on the returned Request to send the API call to the service. 12880// the "output" return value is not valid until after Send returns without error. 12881// 12882// See UpdateUser for more information on using the UpdateUser 12883// API call, and error handling. 12884// 12885// This method is useful when you want to inject custom logic or configuration 12886// into the SDK's request lifecycle. Such as custom headers, or retry logic. 12887// 12888// 12889// // Example sending a request using the UpdateUserRequest method. 12890// req, resp := client.UpdateUserRequest(params) 12891// 12892// err := req.Send() 12893// if err == nil { // resp is now filled 12894// fmt.Println(resp) 12895// } 12896// 12897// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/UpdateUser 12898func (c *IAM) UpdateUserRequest(input *UpdateUserInput) (req *request.Request, output *UpdateUserOutput) { 12899 op := &request.Operation{ 12900 Name: opUpdateUser, 12901 HTTPMethod: "POST", 12902 HTTPPath: "/", 12903 } 12904 12905 if input == nil { 12906 input = &UpdateUserInput{} 12907 } 12908 12909 output = &UpdateUserOutput{} 12910 req = c.newRequest(op, input, output) 12911 req.Handlers.Unmarshal.Remove(query.UnmarshalHandler) 12912 req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) 12913 return 12914} 12915 12916// UpdateUser API operation for AWS Identity and Access Management. 12917// 12918// Updates the name and/or the path of the specified IAM user. 12919// 12920// You should understand the implications of changing an IAM user's path or 12921// name. For more information, see Renaming an IAM User (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_manage.html#id_users_renaming) 12922// and Renaming an IAM Group (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_groups_manage_rename.html) 12923// in the IAM User Guide. 12924// 12925// To change a user name the requester must have appropriate permissions on 12926// both the source object and the target object. For example, to change Bob 12927// to Robert, the entity making the request must have permission on Bob and 12928// Robert, or must have permission on all (*). For more information about permissions, 12929// see Permissions and Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/PermissionsAndPolicies.html). 12930// 12931// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 12932// with awserr.Error's Code and Message methods to get detailed information about 12933// the error. 12934// 12935// See the AWS API reference guide for AWS Identity and Access Management's 12936// API operation UpdateUser for usage and error information. 12937// 12938// Returned Error Codes: 12939// * ErrCodeNoSuchEntityException "NoSuchEntity" 12940// The request was rejected because it referenced an entity that does not exist. 12941// The error message describes the entity. 12942// 12943// * ErrCodeLimitExceededException "LimitExceeded" 12944// The request was rejected because it attempted to create resources beyond 12945// the current AWS account limits. The error message describes the limit exceeded. 12946// 12947// * ErrCodeEntityAlreadyExistsException "EntityAlreadyExists" 12948// The request was rejected because it attempted to create a resource that already 12949// exists. 12950// 12951// * ErrCodeEntityTemporarilyUnmodifiableException "EntityTemporarilyUnmodifiable" 12952// The request was rejected because it referenced an entity that is temporarily 12953// unmodifiable, such as a user name that was deleted and then recreated. The 12954// error indicates that the request is likely to succeed if you try again after 12955// waiting several minutes. The error message describes the entity. 12956// 12957// * ErrCodeServiceFailureException "ServiceFailure" 12958// The request processing has failed because of an unknown error, exception 12959// or failure. 12960// 12961// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/UpdateUser 12962func (c *IAM) UpdateUser(input *UpdateUserInput) (*UpdateUserOutput, error) { 12963 req, out := c.UpdateUserRequest(input) 12964 return out, req.Send() 12965} 12966 12967// UpdateUserWithContext is the same as UpdateUser with the addition of 12968// the ability to pass a context and additional request options. 12969// 12970// See UpdateUser for details on how to use this API operation. 12971// 12972// The context must be non-nil and will be used for request cancellation. If 12973// the context is nil a panic will occur. In the future the SDK may create 12974// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 12975// for more information on using Contexts. 12976func (c *IAM) UpdateUserWithContext(ctx aws.Context, input *UpdateUserInput, opts ...request.Option) (*UpdateUserOutput, error) { 12977 req, out := c.UpdateUserRequest(input) 12978 req.SetContext(ctx) 12979 req.ApplyOptions(opts...) 12980 return out, req.Send() 12981} 12982 12983const opUploadSSHPublicKey = "UploadSSHPublicKey" 12984 12985// UploadSSHPublicKeyRequest generates a "aws/request.Request" representing the 12986// client's request for the UploadSSHPublicKey operation. The "output" return 12987// value will be populated with the request's response once the request complets 12988// successfuly. 12989// 12990// Use "Send" method on the returned Request to send the API call to the service. 12991// the "output" return value is not valid until after Send returns without error. 12992// 12993// See UploadSSHPublicKey for more information on using the UploadSSHPublicKey 12994// API call, and error handling. 12995// 12996// This method is useful when you want to inject custom logic or configuration 12997// into the SDK's request lifecycle. Such as custom headers, or retry logic. 12998// 12999// 13000// // Example sending a request using the UploadSSHPublicKeyRequest method. 13001// req, resp := client.UploadSSHPublicKeyRequest(params) 13002// 13003// err := req.Send() 13004// if err == nil { // resp is now filled 13005// fmt.Println(resp) 13006// } 13007// 13008// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/UploadSSHPublicKey 13009func (c *IAM) UploadSSHPublicKeyRequest(input *UploadSSHPublicKeyInput) (req *request.Request, output *UploadSSHPublicKeyOutput) { 13010 op := &request.Operation{ 13011 Name: opUploadSSHPublicKey, 13012 HTTPMethod: "POST", 13013 HTTPPath: "/", 13014 } 13015 13016 if input == nil { 13017 input = &UploadSSHPublicKeyInput{} 13018 } 13019 13020 output = &UploadSSHPublicKeyOutput{} 13021 req = c.newRequest(op, input, output) 13022 return 13023} 13024 13025// UploadSSHPublicKey API operation for AWS Identity and Access Management. 13026// 13027// Uploads an SSH public key and associates it with the specified IAM user. 13028// 13029// The SSH public key uploaded by this action can be used only for authenticating 13030// the associated IAM user to an AWS CodeCommit repository. For more information 13031// about using SSH keys to authenticate to an AWS CodeCommit repository, see 13032// Set up AWS CodeCommit for SSH Connections (http://docs.aws.amazon.com/codecommit/latest/userguide/setting-up-credentials-ssh.html) 13033// in the AWS CodeCommit User Guide. 13034// 13035// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 13036// with awserr.Error's Code and Message methods to get detailed information about 13037// the error. 13038// 13039// See the AWS API reference guide for AWS Identity and Access Management's 13040// API operation UploadSSHPublicKey for usage and error information. 13041// 13042// Returned Error Codes: 13043// * ErrCodeLimitExceededException "LimitExceeded" 13044// The request was rejected because it attempted to create resources beyond 13045// the current AWS account limits. The error message describes the limit exceeded. 13046// 13047// * ErrCodeNoSuchEntityException "NoSuchEntity" 13048// The request was rejected because it referenced an entity that does not exist. 13049// The error message describes the entity. 13050// 13051// * ErrCodeInvalidPublicKeyException "InvalidPublicKey" 13052// The request was rejected because the public key is malformed or otherwise 13053// invalid. 13054// 13055// * ErrCodeDuplicateSSHPublicKeyException "DuplicateSSHPublicKey" 13056// The request was rejected because the SSH public key is already associated 13057// with the specified IAM user. 13058// 13059// * ErrCodeUnrecognizedPublicKeyEncodingException "UnrecognizedPublicKeyEncoding" 13060// The request was rejected because the public key encoding format is unsupported 13061// or unrecognized. 13062// 13063// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/UploadSSHPublicKey 13064func (c *IAM) UploadSSHPublicKey(input *UploadSSHPublicKeyInput) (*UploadSSHPublicKeyOutput, error) { 13065 req, out := c.UploadSSHPublicKeyRequest(input) 13066 return out, req.Send() 13067} 13068 13069// UploadSSHPublicKeyWithContext is the same as UploadSSHPublicKey with the addition of 13070// the ability to pass a context and additional request options. 13071// 13072// See UploadSSHPublicKey for details on how to use this API operation. 13073// 13074// The context must be non-nil and will be used for request cancellation. If 13075// the context is nil a panic will occur. In the future the SDK may create 13076// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 13077// for more information on using Contexts. 13078func (c *IAM) UploadSSHPublicKeyWithContext(ctx aws.Context, input *UploadSSHPublicKeyInput, opts ...request.Option) (*UploadSSHPublicKeyOutput, error) { 13079 req, out := c.UploadSSHPublicKeyRequest(input) 13080 req.SetContext(ctx) 13081 req.ApplyOptions(opts...) 13082 return out, req.Send() 13083} 13084 13085const opUploadServerCertificate = "UploadServerCertificate" 13086 13087// UploadServerCertificateRequest generates a "aws/request.Request" representing the 13088// client's request for the UploadServerCertificate operation. The "output" return 13089// value will be populated with the request's response once the request complets 13090// successfuly. 13091// 13092// Use "Send" method on the returned Request to send the API call to the service. 13093// the "output" return value is not valid until after Send returns without error. 13094// 13095// See UploadServerCertificate for more information on using the UploadServerCertificate 13096// API call, and error handling. 13097// 13098// This method is useful when you want to inject custom logic or configuration 13099// into the SDK's request lifecycle. Such as custom headers, or retry logic. 13100// 13101// 13102// // Example sending a request using the UploadServerCertificateRequest method. 13103// req, resp := client.UploadServerCertificateRequest(params) 13104// 13105// err := req.Send() 13106// if err == nil { // resp is now filled 13107// fmt.Println(resp) 13108// } 13109// 13110// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/UploadServerCertificate 13111func (c *IAM) UploadServerCertificateRequest(input *UploadServerCertificateInput) (req *request.Request, output *UploadServerCertificateOutput) { 13112 op := &request.Operation{ 13113 Name: opUploadServerCertificate, 13114 HTTPMethod: "POST", 13115 HTTPPath: "/", 13116 } 13117 13118 if input == nil { 13119 input = &UploadServerCertificateInput{} 13120 } 13121 13122 output = &UploadServerCertificateOutput{} 13123 req = c.newRequest(op, input, output) 13124 return 13125} 13126 13127// UploadServerCertificate API operation for AWS Identity and Access Management. 13128// 13129// Uploads a server certificate entity for the AWS account. The server certificate 13130// entity includes a public key certificate, a private key, and an optional 13131// certificate chain, which should all be PEM-encoded. 13132// 13133// We recommend that you use AWS Certificate Manager (https://aws.amazon.com/certificate-manager/) 13134// to provision, manage, and deploy your server certificates. With ACM you can 13135// request a certificate, deploy it to AWS resources, and let ACM handle certificate 13136// renewals for you. Certificates provided by ACM are free. For more information 13137// about using ACM, see the AWS Certificate Manager User Guide (http://docs.aws.amazon.com/acm/latest/userguide/). 13138// 13139// For more information about working with server certificates, including a 13140// list of AWS services that can use the server certificates that you manage 13141// with IAM, go to Working with Server Certificates (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_server-certs.html) 13142// in the IAM User Guide. 13143// 13144// For information about the number of server certificates you can upload, see 13145// Limitations on IAM Entities and Objects (http://docs.aws.amazon.com/IAM/latest/UserGuide/reference_iam-limits.html) 13146// in the IAM User Guide. 13147// 13148// Because the body of the public key certificate, private key, and the certificate 13149// chain can be large, you should use POST rather than GET when calling UploadServerCertificate. 13150// For information about setting up signatures and authorization through the 13151// API, go to Signing AWS API Requests (http://docs.aws.amazon.com/general/latest/gr/signing_aws_api_requests.html) 13152// in the AWS General Reference. For general information about using the Query 13153// API with IAM, go to Calling the API by Making HTTP Query Requests (http://docs.aws.amazon.com/IAM/latest/UserGuide/programming.html) 13154// in the IAM User Guide. 13155// 13156// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 13157// with awserr.Error's Code and Message methods to get detailed information about 13158// the error. 13159// 13160// See the AWS API reference guide for AWS Identity and Access Management's 13161// API operation UploadServerCertificate for usage and error information. 13162// 13163// Returned Error Codes: 13164// * ErrCodeLimitExceededException "LimitExceeded" 13165// The request was rejected because it attempted to create resources beyond 13166// the current AWS account limits. The error message describes the limit exceeded. 13167// 13168// * ErrCodeEntityAlreadyExistsException "EntityAlreadyExists" 13169// The request was rejected because it attempted to create a resource that already 13170// exists. 13171// 13172// * ErrCodeMalformedCertificateException "MalformedCertificate" 13173// The request was rejected because the certificate was malformed or expired. 13174// The error message describes the specific error. 13175// 13176// * ErrCodeKeyPairMismatchException "KeyPairMismatch" 13177// The request was rejected because the public key certificate and the private 13178// key do not match. 13179// 13180// * ErrCodeServiceFailureException "ServiceFailure" 13181// The request processing has failed because of an unknown error, exception 13182// or failure. 13183// 13184// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/UploadServerCertificate 13185func (c *IAM) UploadServerCertificate(input *UploadServerCertificateInput) (*UploadServerCertificateOutput, error) { 13186 req, out := c.UploadServerCertificateRequest(input) 13187 return out, req.Send() 13188} 13189 13190// UploadServerCertificateWithContext is the same as UploadServerCertificate with the addition of 13191// the ability to pass a context and additional request options. 13192// 13193// See UploadServerCertificate for details on how to use this API operation. 13194// 13195// The context must be non-nil and will be used for request cancellation. If 13196// the context is nil a panic will occur. In the future the SDK may create 13197// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 13198// for more information on using Contexts. 13199func (c *IAM) UploadServerCertificateWithContext(ctx aws.Context, input *UploadServerCertificateInput, opts ...request.Option) (*UploadServerCertificateOutput, error) { 13200 req, out := c.UploadServerCertificateRequest(input) 13201 req.SetContext(ctx) 13202 req.ApplyOptions(opts...) 13203 return out, req.Send() 13204} 13205 13206const opUploadSigningCertificate = "UploadSigningCertificate" 13207 13208// UploadSigningCertificateRequest generates a "aws/request.Request" representing the 13209// client's request for the UploadSigningCertificate operation. The "output" return 13210// value will be populated with the request's response once the request complets 13211// successfuly. 13212// 13213// Use "Send" method on the returned Request to send the API call to the service. 13214// the "output" return value is not valid until after Send returns without error. 13215// 13216// See UploadSigningCertificate for more information on using the UploadSigningCertificate 13217// API call, and error handling. 13218// 13219// This method is useful when you want to inject custom logic or configuration 13220// into the SDK's request lifecycle. Such as custom headers, or retry logic. 13221// 13222// 13223// // Example sending a request using the UploadSigningCertificateRequest method. 13224// req, resp := client.UploadSigningCertificateRequest(params) 13225// 13226// err := req.Send() 13227// if err == nil { // resp is now filled 13228// fmt.Println(resp) 13229// } 13230// 13231// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/UploadSigningCertificate 13232func (c *IAM) UploadSigningCertificateRequest(input *UploadSigningCertificateInput) (req *request.Request, output *UploadSigningCertificateOutput) { 13233 op := &request.Operation{ 13234 Name: opUploadSigningCertificate, 13235 HTTPMethod: "POST", 13236 HTTPPath: "/", 13237 } 13238 13239 if input == nil { 13240 input = &UploadSigningCertificateInput{} 13241 } 13242 13243 output = &UploadSigningCertificateOutput{} 13244 req = c.newRequest(op, input, output) 13245 return 13246} 13247 13248// UploadSigningCertificate API operation for AWS Identity and Access Management. 13249// 13250// Uploads an X.509 signing certificate and associates it with the specified 13251// IAM user. Some AWS services use X.509 signing certificates to validate requests 13252// that are signed with a corresponding private key. When you upload the certificate, 13253// its default status is Active. 13254// 13255// If the UserName field is not specified, the IAM user name is determined implicitly 13256// based on the AWS access key ID used to sign the request. Because this action 13257// works for access keys under the AWS account, you can use this action to manage 13258// root credentials even if the AWS account has no associated users. 13259// 13260// Because the body of a X.509 certificate can be large, you should use POST 13261// rather than GET when calling UploadSigningCertificate. For information about 13262// setting up signatures and authorization through the API, go to Signing AWS 13263// API Requests (http://docs.aws.amazon.com/general/latest/gr/signing_aws_api_requests.html) 13264// in the AWS General Reference. For general information about using the Query 13265// API with IAM, go to Making Query Requests (http://docs.aws.amazon.com/IAM/latest/UserGuide/IAM_UsingQueryAPI.html) 13266// in the IAM User Guide. 13267// 13268// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 13269// with awserr.Error's Code and Message methods to get detailed information about 13270// the error. 13271// 13272// See the AWS API reference guide for AWS Identity and Access Management's 13273// API operation UploadSigningCertificate for usage and error information. 13274// 13275// Returned Error Codes: 13276// * ErrCodeLimitExceededException "LimitExceeded" 13277// The request was rejected because it attempted to create resources beyond 13278// the current AWS account limits. The error message describes the limit exceeded. 13279// 13280// * ErrCodeEntityAlreadyExistsException "EntityAlreadyExists" 13281// The request was rejected because it attempted to create a resource that already 13282// exists. 13283// 13284// * ErrCodeMalformedCertificateException "MalformedCertificate" 13285// The request was rejected because the certificate was malformed or expired. 13286// The error message describes the specific error. 13287// 13288// * ErrCodeInvalidCertificateException "InvalidCertificate" 13289// The request was rejected because the certificate is invalid. 13290// 13291// * ErrCodeDuplicateCertificateException "DuplicateCertificate" 13292// The request was rejected because the same certificate is associated with 13293// an IAM user in the account. 13294// 13295// * ErrCodeNoSuchEntityException "NoSuchEntity" 13296// The request was rejected because it referenced an entity that does not exist. 13297// The error message describes the entity. 13298// 13299// * ErrCodeServiceFailureException "ServiceFailure" 13300// The request processing has failed because of an unknown error, exception 13301// or failure. 13302// 13303// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/UploadSigningCertificate 13304func (c *IAM) UploadSigningCertificate(input *UploadSigningCertificateInput) (*UploadSigningCertificateOutput, error) { 13305 req, out := c.UploadSigningCertificateRequest(input) 13306 return out, req.Send() 13307} 13308 13309// UploadSigningCertificateWithContext is the same as UploadSigningCertificate with the addition of 13310// the ability to pass a context and additional request options. 13311// 13312// See UploadSigningCertificate for details on how to use this API operation. 13313// 13314// The context must be non-nil and will be used for request cancellation. If 13315// the context is nil a panic will occur. In the future the SDK may create 13316// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 13317// for more information on using Contexts. 13318func (c *IAM) UploadSigningCertificateWithContext(ctx aws.Context, input *UploadSigningCertificateInput, opts ...request.Option) (*UploadSigningCertificateOutput, error) { 13319 req, out := c.UploadSigningCertificateRequest(input) 13320 req.SetContext(ctx) 13321 req.ApplyOptions(opts...) 13322 return out, req.Send() 13323} 13324 13325// Contains information about an AWS access key. 13326// 13327// This data type is used as a response element in the CreateAccessKey and ListAccessKeys 13328// actions. 13329// 13330// The SecretAccessKey value is returned only in response to CreateAccessKey. 13331// You can get a secret access key only when you first create an access key; 13332// you cannot recover the secret access key later. If you lose a secret access 13333// key, you must create a new access key. 13334// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/AccessKey 13335type AccessKey struct { 13336 _ struct{} `type:"structure"` 13337 13338 // The ID for this access key. 13339 // 13340 // AccessKeyId is a required field 13341 AccessKeyId *string `min:"16" type:"string" required:"true"` 13342 13343 // The date when the access key was created. 13344 CreateDate *time.Time `type:"timestamp" timestampFormat:"iso8601"` 13345 13346 // The secret key used to sign requests. 13347 // 13348 // SecretAccessKey is a required field 13349 SecretAccessKey *string `type:"string" required:"true"` 13350 13351 // The status of the access key. Active means the key is valid for API calls, 13352 // while Inactive means it is not. 13353 // 13354 // Status is a required field 13355 Status *string `type:"string" required:"true" enum:"statusType"` 13356 13357 // The name of the IAM user that the access key is associated with. 13358 // 13359 // UserName is a required field 13360 UserName *string `min:"1" type:"string" required:"true"` 13361} 13362 13363// String returns the string representation 13364func (s AccessKey) String() string { 13365 return awsutil.Prettify(s) 13366} 13367 13368// GoString returns the string representation 13369func (s AccessKey) GoString() string { 13370 return s.String() 13371} 13372 13373// SetAccessKeyId sets the AccessKeyId field's value. 13374func (s *AccessKey) SetAccessKeyId(v string) *AccessKey { 13375 s.AccessKeyId = &v 13376 return s 13377} 13378 13379// SetCreateDate sets the CreateDate field's value. 13380func (s *AccessKey) SetCreateDate(v time.Time) *AccessKey { 13381 s.CreateDate = &v 13382 return s 13383} 13384 13385// SetSecretAccessKey sets the SecretAccessKey field's value. 13386func (s *AccessKey) SetSecretAccessKey(v string) *AccessKey { 13387 s.SecretAccessKey = &v 13388 return s 13389} 13390 13391// SetStatus sets the Status field's value. 13392func (s *AccessKey) SetStatus(v string) *AccessKey { 13393 s.Status = &v 13394 return s 13395} 13396 13397// SetUserName sets the UserName field's value. 13398func (s *AccessKey) SetUserName(v string) *AccessKey { 13399 s.UserName = &v 13400 return s 13401} 13402 13403// Contains information about the last time an AWS access key was used. 13404// 13405// This data type is used as a response element in the GetAccessKeyLastUsed 13406// action. 13407// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/AccessKeyLastUsed 13408type AccessKeyLastUsed struct { 13409 _ struct{} `type:"structure"` 13410 13411 // The date and time, in ISO 8601 date-time format (http://www.iso.org/iso/iso8601), 13412 // when the access key was most recently used. This field is null when: 13413 // 13414 // * The user does not have an access key. 13415 // 13416 // * An access key exists but has never been used, at least not since IAM 13417 // started tracking this information on April 22nd, 2015. 13418 // 13419 // * There is no sign-in data associated with the user 13420 // 13421 // LastUsedDate is a required field 13422 LastUsedDate *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"` 13423 13424 // The AWS region where this access key was most recently used. This field is 13425 // displays "N/A" when: 13426 // 13427 // * The user does not have an access key. 13428 // 13429 // * An access key exists but has never been used, at least not since IAM 13430 // started tracking this information on April 22nd, 2015. 13431 // 13432 // * There is no sign-in data associated with the user 13433 // 13434 // For more information about AWS regions, see Regions and Endpoints (http://docs.aws.amazon.com/general/latest/gr/rande.html) 13435 // in the Amazon Web Services General Reference. 13436 // 13437 // Region is a required field 13438 Region *string `type:"string" required:"true"` 13439 13440 // The name of the AWS service with which this access key was most recently 13441 // used. This field displays "N/A" when: 13442 // 13443 // * The user does not have an access key. 13444 // 13445 // * An access key exists but has never been used, at least not since IAM 13446 // started tracking this information on April 22nd, 2015. 13447 // 13448 // * There is no sign-in data associated with the user 13449 // 13450 // ServiceName is a required field 13451 ServiceName *string `type:"string" required:"true"` 13452} 13453 13454// String returns the string representation 13455func (s AccessKeyLastUsed) String() string { 13456 return awsutil.Prettify(s) 13457} 13458 13459// GoString returns the string representation 13460func (s AccessKeyLastUsed) GoString() string { 13461 return s.String() 13462} 13463 13464// SetLastUsedDate sets the LastUsedDate field's value. 13465func (s *AccessKeyLastUsed) SetLastUsedDate(v time.Time) *AccessKeyLastUsed { 13466 s.LastUsedDate = &v 13467 return s 13468} 13469 13470// SetRegion sets the Region field's value. 13471func (s *AccessKeyLastUsed) SetRegion(v string) *AccessKeyLastUsed { 13472 s.Region = &v 13473 return s 13474} 13475 13476// SetServiceName sets the ServiceName field's value. 13477func (s *AccessKeyLastUsed) SetServiceName(v string) *AccessKeyLastUsed { 13478 s.ServiceName = &v 13479 return s 13480} 13481 13482// Contains information about an AWS access key, without its secret key. 13483// 13484// This data type is used as a response element in the ListAccessKeys action. 13485// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/AccessKeyMetadata 13486type AccessKeyMetadata struct { 13487 _ struct{} `type:"structure"` 13488 13489 // The ID for this access key. 13490 AccessKeyId *string `min:"16" type:"string"` 13491 13492 // The date when the access key was created. 13493 CreateDate *time.Time `type:"timestamp" timestampFormat:"iso8601"` 13494 13495 // The status of the access key. Active means the key is valid for API calls; 13496 // Inactive means it is not. 13497 Status *string `type:"string" enum:"statusType"` 13498 13499 // The name of the IAM user that the key is associated with. 13500 UserName *string `min:"1" type:"string"` 13501} 13502 13503// String returns the string representation 13504func (s AccessKeyMetadata) String() string { 13505 return awsutil.Prettify(s) 13506} 13507 13508// GoString returns the string representation 13509func (s AccessKeyMetadata) GoString() string { 13510 return s.String() 13511} 13512 13513// SetAccessKeyId sets the AccessKeyId field's value. 13514func (s *AccessKeyMetadata) SetAccessKeyId(v string) *AccessKeyMetadata { 13515 s.AccessKeyId = &v 13516 return s 13517} 13518 13519// SetCreateDate sets the CreateDate field's value. 13520func (s *AccessKeyMetadata) SetCreateDate(v time.Time) *AccessKeyMetadata { 13521 s.CreateDate = &v 13522 return s 13523} 13524 13525// SetStatus sets the Status field's value. 13526func (s *AccessKeyMetadata) SetStatus(v string) *AccessKeyMetadata { 13527 s.Status = &v 13528 return s 13529} 13530 13531// SetUserName sets the UserName field's value. 13532func (s *AccessKeyMetadata) SetUserName(v string) *AccessKeyMetadata { 13533 s.UserName = &v 13534 return s 13535} 13536 13537// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/AddClientIDToOpenIDConnectProviderRequest 13538type AddClientIDToOpenIDConnectProviderInput struct { 13539 _ struct{} `type:"structure"` 13540 13541 // The client ID (also known as audience) to add to the IAM OpenID Connect provider 13542 // resource. 13543 // 13544 // ClientID is a required field 13545 ClientID *string `min:"1" type:"string" required:"true"` 13546 13547 // The Amazon Resource Name (ARN) of the IAM OpenID Connect (OIDC) provider 13548 // resource to add the client ID to. You can get a list of OIDC provider ARNs 13549 // by using the ListOpenIDConnectProviders action. 13550 // 13551 // OpenIDConnectProviderArn is a required field 13552 OpenIDConnectProviderArn *string `min:"20" type:"string" required:"true"` 13553} 13554 13555// String returns the string representation 13556func (s AddClientIDToOpenIDConnectProviderInput) String() string { 13557 return awsutil.Prettify(s) 13558} 13559 13560// GoString returns the string representation 13561func (s AddClientIDToOpenIDConnectProviderInput) GoString() string { 13562 return s.String() 13563} 13564 13565// Validate inspects the fields of the type to determine if they are valid. 13566func (s *AddClientIDToOpenIDConnectProviderInput) Validate() error { 13567 invalidParams := request.ErrInvalidParams{Context: "AddClientIDToOpenIDConnectProviderInput"} 13568 if s.ClientID == nil { 13569 invalidParams.Add(request.NewErrParamRequired("ClientID")) 13570 } 13571 if s.ClientID != nil && len(*s.ClientID) < 1 { 13572 invalidParams.Add(request.NewErrParamMinLen("ClientID", 1)) 13573 } 13574 if s.OpenIDConnectProviderArn == nil { 13575 invalidParams.Add(request.NewErrParamRequired("OpenIDConnectProviderArn")) 13576 } 13577 if s.OpenIDConnectProviderArn != nil && len(*s.OpenIDConnectProviderArn) < 20 { 13578 invalidParams.Add(request.NewErrParamMinLen("OpenIDConnectProviderArn", 20)) 13579 } 13580 13581 if invalidParams.Len() > 0 { 13582 return invalidParams 13583 } 13584 return nil 13585} 13586 13587// SetClientID sets the ClientID field's value. 13588func (s *AddClientIDToOpenIDConnectProviderInput) SetClientID(v string) *AddClientIDToOpenIDConnectProviderInput { 13589 s.ClientID = &v 13590 return s 13591} 13592 13593// SetOpenIDConnectProviderArn sets the OpenIDConnectProviderArn field's value. 13594func (s *AddClientIDToOpenIDConnectProviderInput) SetOpenIDConnectProviderArn(v string) *AddClientIDToOpenIDConnectProviderInput { 13595 s.OpenIDConnectProviderArn = &v 13596 return s 13597} 13598 13599// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/AddClientIDToOpenIDConnectProviderOutput 13600type AddClientIDToOpenIDConnectProviderOutput struct { 13601 _ struct{} `type:"structure"` 13602} 13603 13604// String returns the string representation 13605func (s AddClientIDToOpenIDConnectProviderOutput) String() string { 13606 return awsutil.Prettify(s) 13607} 13608 13609// GoString returns the string representation 13610func (s AddClientIDToOpenIDConnectProviderOutput) GoString() string { 13611 return s.String() 13612} 13613 13614// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/AddRoleToInstanceProfileRequest 13615type AddRoleToInstanceProfileInput struct { 13616 _ struct{} `type:"structure"` 13617 13618 // The name of the instance profile to update. 13619 // 13620 // This parameter allows (per its regex pattern (http://wikipedia.org/wiki/regex)) 13621 // a string of characters consisting of upper and lowercase alphanumeric characters 13622 // with no spaces. You can also include any of the following characters: =,.@- 13623 // 13624 // InstanceProfileName is a required field 13625 InstanceProfileName *string `min:"1" type:"string" required:"true"` 13626 13627 // The name of the role to add. 13628 // 13629 // This parameter allows (per its regex pattern (http://wikipedia.org/wiki/regex)) 13630 // a string of characters consisting of upper and lowercase alphanumeric characters 13631 // with no spaces. You can also include any of the following characters: _+=,.@- 13632 // 13633 // RoleName is a required field 13634 RoleName *string `min:"1" type:"string" required:"true"` 13635} 13636 13637// String returns the string representation 13638func (s AddRoleToInstanceProfileInput) String() string { 13639 return awsutil.Prettify(s) 13640} 13641 13642// GoString returns the string representation 13643func (s AddRoleToInstanceProfileInput) GoString() string { 13644 return s.String() 13645} 13646 13647// Validate inspects the fields of the type to determine if they are valid. 13648func (s *AddRoleToInstanceProfileInput) Validate() error { 13649 invalidParams := request.ErrInvalidParams{Context: "AddRoleToInstanceProfileInput"} 13650 if s.InstanceProfileName == nil { 13651 invalidParams.Add(request.NewErrParamRequired("InstanceProfileName")) 13652 } 13653 if s.InstanceProfileName != nil && len(*s.InstanceProfileName) < 1 { 13654 invalidParams.Add(request.NewErrParamMinLen("InstanceProfileName", 1)) 13655 } 13656 if s.RoleName == nil { 13657 invalidParams.Add(request.NewErrParamRequired("RoleName")) 13658 } 13659 if s.RoleName != nil && len(*s.RoleName) < 1 { 13660 invalidParams.Add(request.NewErrParamMinLen("RoleName", 1)) 13661 } 13662 13663 if invalidParams.Len() > 0 { 13664 return invalidParams 13665 } 13666 return nil 13667} 13668 13669// SetInstanceProfileName sets the InstanceProfileName field's value. 13670func (s *AddRoleToInstanceProfileInput) SetInstanceProfileName(v string) *AddRoleToInstanceProfileInput { 13671 s.InstanceProfileName = &v 13672 return s 13673} 13674 13675// SetRoleName sets the RoleName field's value. 13676func (s *AddRoleToInstanceProfileInput) SetRoleName(v string) *AddRoleToInstanceProfileInput { 13677 s.RoleName = &v 13678 return s 13679} 13680 13681// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/AddRoleToInstanceProfileOutput 13682type AddRoleToInstanceProfileOutput struct { 13683 _ struct{} `type:"structure"` 13684} 13685 13686// String returns the string representation 13687func (s AddRoleToInstanceProfileOutput) String() string { 13688 return awsutil.Prettify(s) 13689} 13690 13691// GoString returns the string representation 13692func (s AddRoleToInstanceProfileOutput) GoString() string { 13693 return s.String() 13694} 13695 13696// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/AddUserToGroupRequest 13697type AddUserToGroupInput struct { 13698 _ struct{} `type:"structure"` 13699 13700 // The name of the group to update. 13701 // 13702 // This parameter allows (per its regex pattern (http://wikipedia.org/wiki/regex)) 13703 // a string of characters consisting of upper and lowercase alphanumeric characters 13704 // with no spaces. You can also include any of the following characters: =,.@- 13705 // 13706 // GroupName is a required field 13707 GroupName *string `min:"1" type:"string" required:"true"` 13708 13709 // The name of the user to add. 13710 // 13711 // This parameter allows (per its regex pattern (http://wikipedia.org/wiki/regex)) 13712 // a string of characters consisting of upper and lowercase alphanumeric characters 13713 // with no spaces. You can also include any of the following characters: =,.@- 13714 // 13715 // UserName is a required field 13716 UserName *string `min:"1" type:"string" required:"true"` 13717} 13718 13719// String returns the string representation 13720func (s AddUserToGroupInput) String() string { 13721 return awsutil.Prettify(s) 13722} 13723 13724// GoString returns the string representation 13725func (s AddUserToGroupInput) GoString() string { 13726 return s.String() 13727} 13728 13729// Validate inspects the fields of the type to determine if they are valid. 13730func (s *AddUserToGroupInput) Validate() error { 13731 invalidParams := request.ErrInvalidParams{Context: "AddUserToGroupInput"} 13732 if s.GroupName == nil { 13733 invalidParams.Add(request.NewErrParamRequired("GroupName")) 13734 } 13735 if s.GroupName != nil && len(*s.GroupName) < 1 { 13736 invalidParams.Add(request.NewErrParamMinLen("GroupName", 1)) 13737 } 13738 if s.UserName == nil { 13739 invalidParams.Add(request.NewErrParamRequired("UserName")) 13740 } 13741 if s.UserName != nil && len(*s.UserName) < 1 { 13742 invalidParams.Add(request.NewErrParamMinLen("UserName", 1)) 13743 } 13744 13745 if invalidParams.Len() > 0 { 13746 return invalidParams 13747 } 13748 return nil 13749} 13750 13751// SetGroupName sets the GroupName field's value. 13752func (s *AddUserToGroupInput) SetGroupName(v string) *AddUserToGroupInput { 13753 s.GroupName = &v 13754 return s 13755} 13756 13757// SetUserName sets the UserName field's value. 13758func (s *AddUserToGroupInput) SetUserName(v string) *AddUserToGroupInput { 13759 s.UserName = &v 13760 return s 13761} 13762 13763// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/AddUserToGroupOutput 13764type AddUserToGroupOutput struct { 13765 _ struct{} `type:"structure"` 13766} 13767 13768// String returns the string representation 13769func (s AddUserToGroupOutput) String() string { 13770 return awsutil.Prettify(s) 13771} 13772 13773// GoString returns the string representation 13774func (s AddUserToGroupOutput) GoString() string { 13775 return s.String() 13776} 13777 13778// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/AttachGroupPolicyRequest 13779type AttachGroupPolicyInput struct { 13780 _ struct{} `type:"structure"` 13781 13782 // The name (friendly name, not ARN) of the group to attach the policy to. 13783 // 13784 // This parameter allows (per its regex pattern (http://wikipedia.org/wiki/regex)) 13785 // a string of characters consisting of upper and lowercase alphanumeric characters 13786 // with no spaces. You can also include any of the following characters: =,.@- 13787 // 13788 // GroupName is a required field 13789 GroupName *string `min:"1" type:"string" required:"true"` 13790 13791 // The Amazon Resource Name (ARN) of the IAM policy you want to attach. 13792 // 13793 // For more information about ARNs, see Amazon Resource Names (ARNs) and AWS 13794 // Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) 13795 // in the AWS General Reference. 13796 // 13797 // PolicyArn is a required field 13798 PolicyArn *string `min:"20" type:"string" required:"true"` 13799} 13800 13801// String returns the string representation 13802func (s AttachGroupPolicyInput) String() string { 13803 return awsutil.Prettify(s) 13804} 13805 13806// GoString returns the string representation 13807func (s AttachGroupPolicyInput) GoString() string { 13808 return s.String() 13809} 13810 13811// Validate inspects the fields of the type to determine if they are valid. 13812func (s *AttachGroupPolicyInput) Validate() error { 13813 invalidParams := request.ErrInvalidParams{Context: "AttachGroupPolicyInput"} 13814 if s.GroupName == nil { 13815 invalidParams.Add(request.NewErrParamRequired("GroupName")) 13816 } 13817 if s.GroupName != nil && len(*s.GroupName) < 1 { 13818 invalidParams.Add(request.NewErrParamMinLen("GroupName", 1)) 13819 } 13820 if s.PolicyArn == nil { 13821 invalidParams.Add(request.NewErrParamRequired("PolicyArn")) 13822 } 13823 if s.PolicyArn != nil && len(*s.PolicyArn) < 20 { 13824 invalidParams.Add(request.NewErrParamMinLen("PolicyArn", 20)) 13825 } 13826 13827 if invalidParams.Len() > 0 { 13828 return invalidParams 13829 } 13830 return nil 13831} 13832 13833// SetGroupName sets the GroupName field's value. 13834func (s *AttachGroupPolicyInput) SetGroupName(v string) *AttachGroupPolicyInput { 13835 s.GroupName = &v 13836 return s 13837} 13838 13839// SetPolicyArn sets the PolicyArn field's value. 13840func (s *AttachGroupPolicyInput) SetPolicyArn(v string) *AttachGroupPolicyInput { 13841 s.PolicyArn = &v 13842 return s 13843} 13844 13845// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/AttachGroupPolicyOutput 13846type AttachGroupPolicyOutput struct { 13847 _ struct{} `type:"structure"` 13848} 13849 13850// String returns the string representation 13851func (s AttachGroupPolicyOutput) String() string { 13852 return awsutil.Prettify(s) 13853} 13854 13855// GoString returns the string representation 13856func (s AttachGroupPolicyOutput) GoString() string { 13857 return s.String() 13858} 13859 13860// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/AttachRolePolicyRequest 13861type AttachRolePolicyInput struct { 13862 _ struct{} `type:"structure"` 13863 13864 // The Amazon Resource Name (ARN) of the IAM policy you want to attach. 13865 // 13866 // For more information about ARNs, see Amazon Resource Names (ARNs) and AWS 13867 // Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) 13868 // in the AWS General Reference. 13869 // 13870 // PolicyArn is a required field 13871 PolicyArn *string `min:"20" type:"string" required:"true"` 13872 13873 // The name (friendly name, not ARN) of the role to attach the policy to. 13874 // 13875 // This parameter allows (per its regex pattern (http://wikipedia.org/wiki/regex)) 13876 // a string of characters consisting of upper and lowercase alphanumeric characters 13877 // with no spaces. You can also include any of the following characters: _+=,.@- 13878 // 13879 // RoleName is a required field 13880 RoleName *string `min:"1" type:"string" required:"true"` 13881} 13882 13883// String returns the string representation 13884func (s AttachRolePolicyInput) String() string { 13885 return awsutil.Prettify(s) 13886} 13887 13888// GoString returns the string representation 13889func (s AttachRolePolicyInput) GoString() string { 13890 return s.String() 13891} 13892 13893// Validate inspects the fields of the type to determine if they are valid. 13894func (s *AttachRolePolicyInput) Validate() error { 13895 invalidParams := request.ErrInvalidParams{Context: "AttachRolePolicyInput"} 13896 if s.PolicyArn == nil { 13897 invalidParams.Add(request.NewErrParamRequired("PolicyArn")) 13898 } 13899 if s.PolicyArn != nil && len(*s.PolicyArn) < 20 { 13900 invalidParams.Add(request.NewErrParamMinLen("PolicyArn", 20)) 13901 } 13902 if s.RoleName == nil { 13903 invalidParams.Add(request.NewErrParamRequired("RoleName")) 13904 } 13905 if s.RoleName != nil && len(*s.RoleName) < 1 { 13906 invalidParams.Add(request.NewErrParamMinLen("RoleName", 1)) 13907 } 13908 13909 if invalidParams.Len() > 0 { 13910 return invalidParams 13911 } 13912 return nil 13913} 13914 13915// SetPolicyArn sets the PolicyArn field's value. 13916func (s *AttachRolePolicyInput) SetPolicyArn(v string) *AttachRolePolicyInput { 13917 s.PolicyArn = &v 13918 return s 13919} 13920 13921// SetRoleName sets the RoleName field's value. 13922func (s *AttachRolePolicyInput) SetRoleName(v string) *AttachRolePolicyInput { 13923 s.RoleName = &v 13924 return s 13925} 13926 13927// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/AttachRolePolicyOutput 13928type AttachRolePolicyOutput struct { 13929 _ struct{} `type:"structure"` 13930} 13931 13932// String returns the string representation 13933func (s AttachRolePolicyOutput) String() string { 13934 return awsutil.Prettify(s) 13935} 13936 13937// GoString returns the string representation 13938func (s AttachRolePolicyOutput) GoString() string { 13939 return s.String() 13940} 13941 13942// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/AttachUserPolicyRequest 13943type AttachUserPolicyInput struct { 13944 _ struct{} `type:"structure"` 13945 13946 // The Amazon Resource Name (ARN) of the IAM policy you want to attach. 13947 // 13948 // For more information about ARNs, see Amazon Resource Names (ARNs) and AWS 13949 // Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) 13950 // in the AWS General Reference. 13951 // 13952 // PolicyArn is a required field 13953 PolicyArn *string `min:"20" type:"string" required:"true"` 13954 13955 // The name (friendly name, not ARN) of the IAM user to attach the policy to. 13956 // 13957 // This parameter allows (per its regex pattern (http://wikipedia.org/wiki/regex)) 13958 // a string of characters consisting of upper and lowercase alphanumeric characters 13959 // with no spaces. You can also include any of the following characters: =,.@- 13960 // 13961 // UserName is a required field 13962 UserName *string `min:"1" type:"string" required:"true"` 13963} 13964 13965// String returns the string representation 13966func (s AttachUserPolicyInput) String() string { 13967 return awsutil.Prettify(s) 13968} 13969 13970// GoString returns the string representation 13971func (s AttachUserPolicyInput) GoString() string { 13972 return s.String() 13973} 13974 13975// Validate inspects the fields of the type to determine if they are valid. 13976func (s *AttachUserPolicyInput) Validate() error { 13977 invalidParams := request.ErrInvalidParams{Context: "AttachUserPolicyInput"} 13978 if s.PolicyArn == nil { 13979 invalidParams.Add(request.NewErrParamRequired("PolicyArn")) 13980 } 13981 if s.PolicyArn != nil && len(*s.PolicyArn) < 20 { 13982 invalidParams.Add(request.NewErrParamMinLen("PolicyArn", 20)) 13983 } 13984 if s.UserName == nil { 13985 invalidParams.Add(request.NewErrParamRequired("UserName")) 13986 } 13987 if s.UserName != nil && len(*s.UserName) < 1 { 13988 invalidParams.Add(request.NewErrParamMinLen("UserName", 1)) 13989 } 13990 13991 if invalidParams.Len() > 0 { 13992 return invalidParams 13993 } 13994 return nil 13995} 13996 13997// SetPolicyArn sets the PolicyArn field's value. 13998func (s *AttachUserPolicyInput) SetPolicyArn(v string) *AttachUserPolicyInput { 13999 s.PolicyArn = &v 14000 return s 14001} 14002 14003// SetUserName sets the UserName field's value. 14004func (s *AttachUserPolicyInput) SetUserName(v string) *AttachUserPolicyInput { 14005 s.UserName = &v 14006 return s 14007} 14008 14009// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/AttachUserPolicyOutput 14010type AttachUserPolicyOutput struct { 14011 _ struct{} `type:"structure"` 14012} 14013 14014// String returns the string representation 14015func (s AttachUserPolicyOutput) String() string { 14016 return awsutil.Prettify(s) 14017} 14018 14019// GoString returns the string representation 14020func (s AttachUserPolicyOutput) GoString() string { 14021 return s.String() 14022} 14023 14024// Contains information about an attached policy. 14025// 14026// An attached policy is a managed policy that has been attached to a user, 14027// group, or role. This data type is used as a response element in the ListAttachedGroupPolicies, 14028// ListAttachedRolePolicies, ListAttachedUserPolicies, and GetAccountAuthorizationDetails 14029// actions. 14030// 14031// For more information about managed policies, refer to Managed Policies and 14032// Inline Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html) 14033// in the Using IAM guide. 14034// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/AttachedPolicy 14035type AttachedPolicy struct { 14036 _ struct{} `type:"structure"` 14037 14038 // The Amazon Resource Name (ARN). ARNs are unique identifiers for AWS resources. 14039 // 14040 // For more information about ARNs, go to Amazon Resource Names (ARNs) and AWS 14041 // Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) 14042 // in the AWS General Reference. 14043 PolicyArn *string `min:"20" type:"string"` 14044 14045 // The friendly name of the attached policy. 14046 PolicyName *string `min:"1" type:"string"` 14047} 14048 14049// String returns the string representation 14050func (s AttachedPolicy) String() string { 14051 return awsutil.Prettify(s) 14052} 14053 14054// GoString returns the string representation 14055func (s AttachedPolicy) GoString() string { 14056 return s.String() 14057} 14058 14059// SetPolicyArn sets the PolicyArn field's value. 14060func (s *AttachedPolicy) SetPolicyArn(v string) *AttachedPolicy { 14061 s.PolicyArn = &v 14062 return s 14063} 14064 14065// SetPolicyName sets the PolicyName field's value. 14066func (s *AttachedPolicy) SetPolicyName(v string) *AttachedPolicy { 14067 s.PolicyName = &v 14068 return s 14069} 14070 14071// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ChangePasswordRequest 14072type ChangePasswordInput struct { 14073 _ struct{} `type:"structure"` 14074 14075 // The new password. The new password must conform to the AWS account's password 14076 // policy, if one exists. 14077 // 14078 // The regex pattern (http://wikipedia.org/wiki/regex) used to validate this 14079 // parameter is a string of characters consisting of almost any printable ASCII 14080 // character from the space (\u0020) through the end of the ASCII character 14081 // range (\u00FF). You can also include the tab (\u0009), line feed (\u000A), 14082 // and carriage return (\u000D) characters. Although any of these characters 14083 // are valid in a password, note that many tools, such as the AWS Management 14084 // Console, might restrict the ability to enter certain characters because they 14085 // have special meaning within that tool. 14086 // 14087 // NewPassword is a required field 14088 NewPassword *string `min:"1" type:"string" required:"true"` 14089 14090 // The IAM user's current password. 14091 // 14092 // OldPassword is a required field 14093 OldPassword *string `min:"1" type:"string" required:"true"` 14094} 14095 14096// String returns the string representation 14097func (s ChangePasswordInput) String() string { 14098 return awsutil.Prettify(s) 14099} 14100 14101// GoString returns the string representation 14102func (s ChangePasswordInput) GoString() string { 14103 return s.String() 14104} 14105 14106// Validate inspects the fields of the type to determine if they are valid. 14107func (s *ChangePasswordInput) Validate() error { 14108 invalidParams := request.ErrInvalidParams{Context: "ChangePasswordInput"} 14109 if s.NewPassword == nil { 14110 invalidParams.Add(request.NewErrParamRequired("NewPassword")) 14111 } 14112 if s.NewPassword != nil && len(*s.NewPassword) < 1 { 14113 invalidParams.Add(request.NewErrParamMinLen("NewPassword", 1)) 14114 } 14115 if s.OldPassword == nil { 14116 invalidParams.Add(request.NewErrParamRequired("OldPassword")) 14117 } 14118 if s.OldPassword != nil && len(*s.OldPassword) < 1 { 14119 invalidParams.Add(request.NewErrParamMinLen("OldPassword", 1)) 14120 } 14121 14122 if invalidParams.Len() > 0 { 14123 return invalidParams 14124 } 14125 return nil 14126} 14127 14128// SetNewPassword sets the NewPassword field's value. 14129func (s *ChangePasswordInput) SetNewPassword(v string) *ChangePasswordInput { 14130 s.NewPassword = &v 14131 return s 14132} 14133 14134// SetOldPassword sets the OldPassword field's value. 14135func (s *ChangePasswordInput) SetOldPassword(v string) *ChangePasswordInput { 14136 s.OldPassword = &v 14137 return s 14138} 14139 14140// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ChangePasswordOutput 14141type ChangePasswordOutput struct { 14142 _ struct{} `type:"structure"` 14143} 14144 14145// String returns the string representation 14146func (s ChangePasswordOutput) String() string { 14147 return awsutil.Prettify(s) 14148} 14149 14150// GoString returns the string representation 14151func (s ChangePasswordOutput) GoString() string { 14152 return s.String() 14153} 14154 14155// Contains information about a condition context key. It includes the name 14156// of the key and specifies the value (or values, if the context key supports 14157// multiple values) to use in the simulation. This information is used when 14158// evaluating the Condition elements of the input policies. 14159// 14160// This data type is used as an input parameter to SimulateCustomPolicy and 14161// SimulateCustomPolicy. 14162// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ContextEntry 14163type ContextEntry struct { 14164 _ struct{} `type:"structure"` 14165 14166 // The full name of a condition context key, including the service prefix. For 14167 // example, aws:SourceIp or s3:VersionId. 14168 ContextKeyName *string `min:"5" type:"string"` 14169 14170 // The data type of the value (or values) specified in the ContextKeyValues 14171 // parameter. 14172 ContextKeyType *string `type:"string" enum:"ContextKeyTypeEnum"` 14173 14174 // The value (or values, if the condition context key supports multiple values) 14175 // to provide to the simulation for use when the key is referenced by a Condition 14176 // element in an input policy. 14177 ContextKeyValues []*string `type:"list"` 14178} 14179 14180// String returns the string representation 14181func (s ContextEntry) String() string { 14182 return awsutil.Prettify(s) 14183} 14184 14185// GoString returns the string representation 14186func (s ContextEntry) GoString() string { 14187 return s.String() 14188} 14189 14190// Validate inspects the fields of the type to determine if they are valid. 14191func (s *ContextEntry) Validate() error { 14192 invalidParams := request.ErrInvalidParams{Context: "ContextEntry"} 14193 if s.ContextKeyName != nil && len(*s.ContextKeyName) < 5 { 14194 invalidParams.Add(request.NewErrParamMinLen("ContextKeyName", 5)) 14195 } 14196 14197 if invalidParams.Len() > 0 { 14198 return invalidParams 14199 } 14200 return nil 14201} 14202 14203// SetContextKeyName sets the ContextKeyName field's value. 14204func (s *ContextEntry) SetContextKeyName(v string) *ContextEntry { 14205 s.ContextKeyName = &v 14206 return s 14207} 14208 14209// SetContextKeyType sets the ContextKeyType field's value. 14210func (s *ContextEntry) SetContextKeyType(v string) *ContextEntry { 14211 s.ContextKeyType = &v 14212 return s 14213} 14214 14215// SetContextKeyValues sets the ContextKeyValues field's value. 14216func (s *ContextEntry) SetContextKeyValues(v []*string) *ContextEntry { 14217 s.ContextKeyValues = v 14218 return s 14219} 14220 14221// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/CreateAccessKeyRequest 14222type CreateAccessKeyInput struct { 14223 _ struct{} `type:"structure"` 14224 14225 // The name of the IAM user that the new key will belong to. 14226 // 14227 // This parameter allows (per its regex pattern (http://wikipedia.org/wiki/regex)) 14228 // a string of characters consisting of upper and lowercase alphanumeric characters 14229 // with no spaces. You can also include any of the following characters: =,.@- 14230 UserName *string `min:"1" type:"string"` 14231} 14232 14233// String returns the string representation 14234func (s CreateAccessKeyInput) String() string { 14235 return awsutil.Prettify(s) 14236} 14237 14238// GoString returns the string representation 14239func (s CreateAccessKeyInput) GoString() string { 14240 return s.String() 14241} 14242 14243// Validate inspects the fields of the type to determine if they are valid. 14244func (s *CreateAccessKeyInput) Validate() error { 14245 invalidParams := request.ErrInvalidParams{Context: "CreateAccessKeyInput"} 14246 if s.UserName != nil && len(*s.UserName) < 1 { 14247 invalidParams.Add(request.NewErrParamMinLen("UserName", 1)) 14248 } 14249 14250 if invalidParams.Len() > 0 { 14251 return invalidParams 14252 } 14253 return nil 14254} 14255 14256// SetUserName sets the UserName field's value. 14257func (s *CreateAccessKeyInput) SetUserName(v string) *CreateAccessKeyInput { 14258 s.UserName = &v 14259 return s 14260} 14261 14262// Contains the response to a successful CreateAccessKey request. 14263// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/CreateAccessKeyResponse 14264type CreateAccessKeyOutput struct { 14265 _ struct{} `type:"structure"` 14266 14267 // A structure with details about the access key. 14268 // 14269 // AccessKey is a required field 14270 AccessKey *AccessKey `type:"structure" required:"true"` 14271} 14272 14273// String returns the string representation 14274func (s CreateAccessKeyOutput) String() string { 14275 return awsutil.Prettify(s) 14276} 14277 14278// GoString returns the string representation 14279func (s CreateAccessKeyOutput) GoString() string { 14280 return s.String() 14281} 14282 14283// SetAccessKey sets the AccessKey field's value. 14284func (s *CreateAccessKeyOutput) SetAccessKey(v *AccessKey) *CreateAccessKeyOutput { 14285 s.AccessKey = v 14286 return s 14287} 14288 14289// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/CreateAccountAliasRequest 14290type CreateAccountAliasInput struct { 14291 _ struct{} `type:"structure"` 14292 14293 // The account alias to create. 14294 // 14295 // This parameter allows (per its regex pattern (http://wikipedia.org/wiki/regex)) 14296 // a string of characters consisting of lowercase letters, digits, and dashes. 14297 // You cannot start or finish with a dash, nor can you have two dashes in a 14298 // row. 14299 // 14300 // AccountAlias is a required field 14301 AccountAlias *string `min:"3" type:"string" required:"true"` 14302} 14303 14304// String returns the string representation 14305func (s CreateAccountAliasInput) String() string { 14306 return awsutil.Prettify(s) 14307} 14308 14309// GoString returns the string representation 14310func (s CreateAccountAliasInput) GoString() string { 14311 return s.String() 14312} 14313 14314// Validate inspects the fields of the type to determine if they are valid. 14315func (s *CreateAccountAliasInput) Validate() error { 14316 invalidParams := request.ErrInvalidParams{Context: "CreateAccountAliasInput"} 14317 if s.AccountAlias == nil { 14318 invalidParams.Add(request.NewErrParamRequired("AccountAlias")) 14319 } 14320 if s.AccountAlias != nil && len(*s.AccountAlias) < 3 { 14321 invalidParams.Add(request.NewErrParamMinLen("AccountAlias", 3)) 14322 } 14323 14324 if invalidParams.Len() > 0 { 14325 return invalidParams 14326 } 14327 return nil 14328} 14329 14330// SetAccountAlias sets the AccountAlias field's value. 14331func (s *CreateAccountAliasInput) SetAccountAlias(v string) *CreateAccountAliasInput { 14332 s.AccountAlias = &v 14333 return s 14334} 14335 14336// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/CreateAccountAliasOutput 14337type CreateAccountAliasOutput struct { 14338 _ struct{} `type:"structure"` 14339} 14340 14341// String returns the string representation 14342func (s CreateAccountAliasOutput) String() string { 14343 return awsutil.Prettify(s) 14344} 14345 14346// GoString returns the string representation 14347func (s CreateAccountAliasOutput) GoString() string { 14348 return s.String() 14349} 14350 14351// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/CreateGroupRequest 14352type CreateGroupInput struct { 14353 _ struct{} `type:"structure"` 14354 14355 // The name of the group to create. Do not include the path in this value. 14356 // 14357 // This parameter allows (per its regex pattern (http://wikipedia.org/wiki/regex)) 14358 // a string of characters consisting of upper and lowercase alphanumeric characters 14359 // with no spaces. You can also include any of the following characters: =,.@-. 14360 // The group name must be unique within the account. Group names are not distinguished 14361 // by case. For example, you cannot create groups named both "ADMINS" and "admins". 14362 // 14363 // GroupName is a required field 14364 GroupName *string `min:"1" type:"string" required:"true"` 14365 14366 // The path to the group. For more information about paths, see IAM Identifiers 14367 // (http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html) 14368 // in the IAM User Guide. 14369 // 14370 // This parameter is optional. If it is not included, it defaults to a slash 14371 // (/). 14372 // 14373 // This paramater allows (per its regex pattern (http://wikipedia.org/wiki/regex)) 14374 // a string of characters consisting of either a forward slash (/) by itself 14375 // or a string that must begin and end with forward slashes, containing any 14376 // ASCII character from the ! (\u0021) thru the DEL character (\u007F), including 14377 // most punctuation characters, digits, and upper and lowercased letters. 14378 Path *string `min:"1" type:"string"` 14379} 14380 14381// String returns the string representation 14382func (s CreateGroupInput) String() string { 14383 return awsutil.Prettify(s) 14384} 14385 14386// GoString returns the string representation 14387func (s CreateGroupInput) GoString() string { 14388 return s.String() 14389} 14390 14391// Validate inspects the fields of the type to determine if they are valid. 14392func (s *CreateGroupInput) Validate() error { 14393 invalidParams := request.ErrInvalidParams{Context: "CreateGroupInput"} 14394 if s.GroupName == nil { 14395 invalidParams.Add(request.NewErrParamRequired("GroupName")) 14396 } 14397 if s.GroupName != nil && len(*s.GroupName) < 1 { 14398 invalidParams.Add(request.NewErrParamMinLen("GroupName", 1)) 14399 } 14400 if s.Path != nil && len(*s.Path) < 1 { 14401 invalidParams.Add(request.NewErrParamMinLen("Path", 1)) 14402 } 14403 14404 if invalidParams.Len() > 0 { 14405 return invalidParams 14406 } 14407 return nil 14408} 14409 14410// SetGroupName sets the GroupName field's value. 14411func (s *CreateGroupInput) SetGroupName(v string) *CreateGroupInput { 14412 s.GroupName = &v 14413 return s 14414} 14415 14416// SetPath sets the Path field's value. 14417func (s *CreateGroupInput) SetPath(v string) *CreateGroupInput { 14418 s.Path = &v 14419 return s 14420} 14421 14422// Contains the response to a successful CreateGroup request. 14423// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/CreateGroupResponse 14424type CreateGroupOutput struct { 14425 _ struct{} `type:"structure"` 14426 14427 // A structure containing details about the new group. 14428 // 14429 // Group is a required field 14430 Group *Group `type:"structure" required:"true"` 14431} 14432 14433// String returns the string representation 14434func (s CreateGroupOutput) String() string { 14435 return awsutil.Prettify(s) 14436} 14437 14438// GoString returns the string representation 14439func (s CreateGroupOutput) GoString() string { 14440 return s.String() 14441} 14442 14443// SetGroup sets the Group field's value. 14444func (s *CreateGroupOutput) SetGroup(v *Group) *CreateGroupOutput { 14445 s.Group = v 14446 return s 14447} 14448 14449// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/CreateInstanceProfileRequest 14450type CreateInstanceProfileInput struct { 14451 _ struct{} `type:"structure"` 14452 14453 // The name of the instance profile to create. 14454 // 14455 // This parameter allows (per its regex pattern (http://wikipedia.org/wiki/regex)) 14456 // a string of characters consisting of upper and lowercase alphanumeric characters 14457 // with no spaces. You can also include any of the following characters: =,.@- 14458 // 14459 // InstanceProfileName is a required field 14460 InstanceProfileName *string `min:"1" type:"string" required:"true"` 14461 14462 // The path to the instance profile. For more information about paths, see IAM 14463 // Identifiers (http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html) 14464 // in the IAM User Guide. 14465 // 14466 // This parameter is optional. If it is not included, it defaults to a slash 14467 // (/). 14468 // 14469 // This paramater allows (per its regex pattern (http://wikipedia.org/wiki/regex)) 14470 // a string of characters consisting of either a forward slash (/) by itself 14471 // or a string that must begin and end with forward slashes, containing any 14472 // ASCII character from the ! (\u0021) thru the DEL character (\u007F), including 14473 // most punctuation characters, digits, and upper and lowercased letters. 14474 Path *string `min:"1" type:"string"` 14475} 14476 14477// String returns the string representation 14478func (s CreateInstanceProfileInput) String() string { 14479 return awsutil.Prettify(s) 14480} 14481 14482// GoString returns the string representation 14483func (s CreateInstanceProfileInput) GoString() string { 14484 return s.String() 14485} 14486 14487// Validate inspects the fields of the type to determine if they are valid. 14488func (s *CreateInstanceProfileInput) Validate() error { 14489 invalidParams := request.ErrInvalidParams{Context: "CreateInstanceProfileInput"} 14490 if s.InstanceProfileName == nil { 14491 invalidParams.Add(request.NewErrParamRequired("InstanceProfileName")) 14492 } 14493 if s.InstanceProfileName != nil && len(*s.InstanceProfileName) < 1 { 14494 invalidParams.Add(request.NewErrParamMinLen("InstanceProfileName", 1)) 14495 } 14496 if s.Path != nil && len(*s.Path) < 1 { 14497 invalidParams.Add(request.NewErrParamMinLen("Path", 1)) 14498 } 14499 14500 if invalidParams.Len() > 0 { 14501 return invalidParams 14502 } 14503 return nil 14504} 14505 14506// SetInstanceProfileName sets the InstanceProfileName field's value. 14507func (s *CreateInstanceProfileInput) SetInstanceProfileName(v string) *CreateInstanceProfileInput { 14508 s.InstanceProfileName = &v 14509 return s 14510} 14511 14512// SetPath sets the Path field's value. 14513func (s *CreateInstanceProfileInput) SetPath(v string) *CreateInstanceProfileInput { 14514 s.Path = &v 14515 return s 14516} 14517 14518// Contains the response to a successful CreateInstanceProfile request. 14519// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/CreateInstanceProfileResponse 14520type CreateInstanceProfileOutput struct { 14521 _ struct{} `type:"structure"` 14522 14523 // A structure containing details about the new instance profile. 14524 // 14525 // InstanceProfile is a required field 14526 InstanceProfile *InstanceProfile `type:"structure" required:"true"` 14527} 14528 14529// String returns the string representation 14530func (s CreateInstanceProfileOutput) String() string { 14531 return awsutil.Prettify(s) 14532} 14533 14534// GoString returns the string representation 14535func (s CreateInstanceProfileOutput) GoString() string { 14536 return s.String() 14537} 14538 14539// SetInstanceProfile sets the InstanceProfile field's value. 14540func (s *CreateInstanceProfileOutput) SetInstanceProfile(v *InstanceProfile) *CreateInstanceProfileOutput { 14541 s.InstanceProfile = v 14542 return s 14543} 14544 14545// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/CreateLoginProfileRequest 14546type CreateLoginProfileInput struct { 14547 _ struct{} `type:"structure"` 14548 14549 // The new password for the user. 14550 // 14551 // The regex pattern (http://wikipedia.org/wiki/regex) used to validate this 14552 // parameter is a string of characters consisting of almost any printable ASCII 14553 // character from the space (\u0020) through the end of the ASCII character 14554 // range (\u00FF). You can also include the tab (\u0009), line feed (\u000A), 14555 // and carriage return (\u000D) characters. Although any of these characters 14556 // are valid in a password, note that many tools, such as the AWS Management 14557 // Console, might restrict the ability to enter certain characters because they 14558 // have special meaning within that tool. 14559 // 14560 // Password is a required field 14561 Password *string `min:"1" type:"string" required:"true"` 14562 14563 // Specifies whether the user is required to set a new password on next sign-in. 14564 PasswordResetRequired *bool `type:"boolean"` 14565 14566 // The name of the IAM user to create a password for. The user must already 14567 // exist. 14568 // 14569 // This parameter allows (per its regex pattern (http://wikipedia.org/wiki/regex)) 14570 // a string of characters consisting of upper and lowercase alphanumeric characters 14571 // with no spaces. You can also include any of the following characters: =,.@- 14572 // 14573 // UserName is a required field 14574 UserName *string `min:"1" type:"string" required:"true"` 14575} 14576 14577// String returns the string representation 14578func (s CreateLoginProfileInput) String() string { 14579 return awsutil.Prettify(s) 14580} 14581 14582// GoString returns the string representation 14583func (s CreateLoginProfileInput) GoString() string { 14584 return s.String() 14585} 14586 14587// Validate inspects the fields of the type to determine if they are valid. 14588func (s *CreateLoginProfileInput) Validate() error { 14589 invalidParams := request.ErrInvalidParams{Context: "CreateLoginProfileInput"} 14590 if s.Password == nil { 14591 invalidParams.Add(request.NewErrParamRequired("Password")) 14592 } 14593 if s.Password != nil && len(*s.Password) < 1 { 14594 invalidParams.Add(request.NewErrParamMinLen("Password", 1)) 14595 } 14596 if s.UserName == nil { 14597 invalidParams.Add(request.NewErrParamRequired("UserName")) 14598 } 14599 if s.UserName != nil && len(*s.UserName) < 1 { 14600 invalidParams.Add(request.NewErrParamMinLen("UserName", 1)) 14601 } 14602 14603 if invalidParams.Len() > 0 { 14604 return invalidParams 14605 } 14606 return nil 14607} 14608 14609// SetPassword sets the Password field's value. 14610func (s *CreateLoginProfileInput) SetPassword(v string) *CreateLoginProfileInput { 14611 s.Password = &v 14612 return s 14613} 14614 14615// SetPasswordResetRequired sets the PasswordResetRequired field's value. 14616func (s *CreateLoginProfileInput) SetPasswordResetRequired(v bool) *CreateLoginProfileInput { 14617 s.PasswordResetRequired = &v 14618 return s 14619} 14620 14621// SetUserName sets the UserName field's value. 14622func (s *CreateLoginProfileInput) SetUserName(v string) *CreateLoginProfileInput { 14623 s.UserName = &v 14624 return s 14625} 14626 14627// Contains the response to a successful CreateLoginProfile request. 14628// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/CreateLoginProfileResponse 14629type CreateLoginProfileOutput struct { 14630 _ struct{} `type:"structure"` 14631 14632 // A structure containing the user name and password create date. 14633 // 14634 // LoginProfile is a required field 14635 LoginProfile *LoginProfile `type:"structure" required:"true"` 14636} 14637 14638// String returns the string representation 14639func (s CreateLoginProfileOutput) String() string { 14640 return awsutil.Prettify(s) 14641} 14642 14643// GoString returns the string representation 14644func (s CreateLoginProfileOutput) GoString() string { 14645 return s.String() 14646} 14647 14648// SetLoginProfile sets the LoginProfile field's value. 14649func (s *CreateLoginProfileOutput) SetLoginProfile(v *LoginProfile) *CreateLoginProfileOutput { 14650 s.LoginProfile = v 14651 return s 14652} 14653 14654// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/CreateOpenIDConnectProviderRequest 14655type CreateOpenIDConnectProviderInput struct { 14656 _ struct{} `type:"structure"` 14657 14658 // A list of client IDs (also known as audiences). When a mobile or web app 14659 // registers with an OpenID Connect provider, they establish a value that identifies 14660 // the application. (This is the value that's sent as the client_id parameter 14661 // on OAuth requests.) 14662 // 14663 // You can register multiple client IDs with the same provider. For example, 14664 // you might have multiple applications that use the same OIDC provider. You 14665 // cannot register more than 100 client IDs with a single IAM OIDC provider. 14666 // 14667 // There is no defined format for a client ID. The CreateOpenIDConnectProviderRequest 14668 // action accepts client IDs up to 255 characters long. 14669 ClientIDList []*string `type:"list"` 14670 14671 // A list of server certificate thumbprints for the OpenID Connect (OIDC) identity 14672 // provider's server certificate(s). Typically this list includes only one entry. 14673 // However, IAM lets you have up to five thumbprints for an OIDC provider. This 14674 // lets you maintain multiple thumbprints if the identity provider is rotating 14675 // certificates. 14676 // 14677 // The server certificate thumbprint is the hex-encoded SHA-1 hash value of 14678 // the X.509 certificate used by the domain where the OpenID Connect provider 14679 // makes its keys available. It is always a 40-character string. 14680 // 14681 // You must provide at least one thumbprint when creating an IAM OIDC provider. 14682 // For example, if the OIDC provider is server.example.com and the provider 14683 // stores its keys at "https://keys.server.example.com/openid-connect", the 14684 // thumbprint string would be the hex-encoded SHA-1 hash value of the certificate 14685 // used by https://keys.server.example.com. 14686 // 14687 // For more information about obtaining the OIDC provider's thumbprint, see 14688 // Obtaining the Thumbprint for an OpenID Connect Provider (http://docs.aws.amazon.com/IAM/latest/UserGuide/identity-providers-oidc-obtain-thumbprint.html) 14689 // in the IAM User Guide. 14690 // 14691 // ThumbprintList is a required field 14692 ThumbprintList []*string `type:"list" required:"true"` 14693 14694 // The URL of the identity provider. The URL must begin with "https://" and 14695 // should correspond to the iss claim in the provider's OpenID Connect ID tokens. 14696 // Per the OIDC standard, path components are allowed but query parameters are 14697 // not. Typically the URL consists of only a host name, like "https://server.example.org" 14698 // or "https://example.com". 14699 // 14700 // You cannot register the same provider multiple times in a single AWS account. 14701 // If you try to submit a URL that has already been used for an OpenID Connect 14702 // provider in the AWS account, you will get an error. 14703 // 14704 // Url is a required field 14705 Url *string `min:"1" type:"string" required:"true"` 14706} 14707 14708// String returns the string representation 14709func (s CreateOpenIDConnectProviderInput) String() string { 14710 return awsutil.Prettify(s) 14711} 14712 14713// GoString returns the string representation 14714func (s CreateOpenIDConnectProviderInput) GoString() string { 14715 return s.String() 14716} 14717 14718// Validate inspects the fields of the type to determine if they are valid. 14719func (s *CreateOpenIDConnectProviderInput) Validate() error { 14720 invalidParams := request.ErrInvalidParams{Context: "CreateOpenIDConnectProviderInput"} 14721 if s.ThumbprintList == nil { 14722 invalidParams.Add(request.NewErrParamRequired("ThumbprintList")) 14723 } 14724 if s.Url == nil { 14725 invalidParams.Add(request.NewErrParamRequired("Url")) 14726 } 14727 if s.Url != nil && len(*s.Url) < 1 { 14728 invalidParams.Add(request.NewErrParamMinLen("Url", 1)) 14729 } 14730 14731 if invalidParams.Len() > 0 { 14732 return invalidParams 14733 } 14734 return nil 14735} 14736 14737// SetClientIDList sets the ClientIDList field's value. 14738func (s *CreateOpenIDConnectProviderInput) SetClientIDList(v []*string) *CreateOpenIDConnectProviderInput { 14739 s.ClientIDList = v 14740 return s 14741} 14742 14743// SetThumbprintList sets the ThumbprintList field's value. 14744func (s *CreateOpenIDConnectProviderInput) SetThumbprintList(v []*string) *CreateOpenIDConnectProviderInput { 14745 s.ThumbprintList = v 14746 return s 14747} 14748 14749// SetUrl sets the Url field's value. 14750func (s *CreateOpenIDConnectProviderInput) SetUrl(v string) *CreateOpenIDConnectProviderInput { 14751 s.Url = &v 14752 return s 14753} 14754 14755// Contains the response to a successful CreateOpenIDConnectProvider request. 14756// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/CreateOpenIDConnectProviderResponse 14757type CreateOpenIDConnectProviderOutput struct { 14758 _ struct{} `type:"structure"` 14759 14760 // The Amazon Resource Name (ARN) of the new IAM OpenID Connect provider that 14761 // is created. For more information, see OpenIDConnectProviderListEntry. 14762 OpenIDConnectProviderArn *string `min:"20" type:"string"` 14763} 14764 14765// String returns the string representation 14766func (s CreateOpenIDConnectProviderOutput) String() string { 14767 return awsutil.Prettify(s) 14768} 14769 14770// GoString returns the string representation 14771func (s CreateOpenIDConnectProviderOutput) GoString() string { 14772 return s.String() 14773} 14774 14775// SetOpenIDConnectProviderArn sets the OpenIDConnectProviderArn field's value. 14776func (s *CreateOpenIDConnectProviderOutput) SetOpenIDConnectProviderArn(v string) *CreateOpenIDConnectProviderOutput { 14777 s.OpenIDConnectProviderArn = &v 14778 return s 14779} 14780 14781// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/CreatePolicyRequest 14782type CreatePolicyInput struct { 14783 _ struct{} `type:"structure"` 14784 14785 // A friendly description of the policy. 14786 // 14787 // Typically used to store information about the permissions defined in the 14788 // policy. For example, "Grants access to production DynamoDB tables." 14789 // 14790 // The policy description is immutable. After a value is assigned, it cannot 14791 // be changed. 14792 Description *string `type:"string"` 14793 14794 // The path for the policy. 14795 // 14796 // For more information about paths, see IAM Identifiers (http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html) 14797 // in the IAM User Guide. 14798 // 14799 // This parameter is optional. If it is not included, it defaults to a slash 14800 // (/). 14801 // 14802 // This paramater allows (per its regex pattern (http://wikipedia.org/wiki/regex)) 14803 // a string of characters consisting of either a forward slash (/) by itself 14804 // or a string that must begin and end with forward slashes, containing any 14805 // ASCII character from the ! (\u0021) thru the DEL character (\u007F), including 14806 // most punctuation characters, digits, and upper and lowercased letters. 14807 Path *string `type:"string"` 14808 14809 // The JSON policy document that you want to use as the content for the new 14810 // policy. 14811 // 14812 // The regex pattern (http://wikipedia.org/wiki/regex) used to validate this 14813 // parameter is a string of characters consisting of any printable ASCII character 14814 // ranging from the space character (\u0020) through end of the ASCII character 14815 // range as well as the printable characters in the Basic Latin and Latin-1 14816 // Supplement character set (through \u00FF). It also includes the special characters 14817 // tab (\u0009), line feed (\u000A), and carriage return (\u000D). 14818 // 14819 // PolicyDocument is a required field 14820 PolicyDocument *string `min:"1" type:"string" required:"true"` 14821 14822 // The friendly name of the policy. 14823 // 14824 // This parameter allows (per its regex pattern (http://wikipedia.org/wiki/regex)) 14825 // a string of characters consisting of upper and lowercase alphanumeric characters 14826 // with no spaces. You can also include any of the following characters: =,.@-+ 14827 // 14828 // PolicyName is a required field 14829 PolicyName *string `min:"1" type:"string" required:"true"` 14830} 14831 14832// String returns the string representation 14833func (s CreatePolicyInput) String() string { 14834 return awsutil.Prettify(s) 14835} 14836 14837// GoString returns the string representation 14838func (s CreatePolicyInput) GoString() string { 14839 return s.String() 14840} 14841 14842// Validate inspects the fields of the type to determine if they are valid. 14843func (s *CreatePolicyInput) Validate() error { 14844 invalidParams := request.ErrInvalidParams{Context: "CreatePolicyInput"} 14845 if s.PolicyDocument == nil { 14846 invalidParams.Add(request.NewErrParamRequired("PolicyDocument")) 14847 } 14848 if s.PolicyDocument != nil && len(*s.PolicyDocument) < 1 { 14849 invalidParams.Add(request.NewErrParamMinLen("PolicyDocument", 1)) 14850 } 14851 if s.PolicyName == nil { 14852 invalidParams.Add(request.NewErrParamRequired("PolicyName")) 14853 } 14854 if s.PolicyName != nil && len(*s.PolicyName) < 1 { 14855 invalidParams.Add(request.NewErrParamMinLen("PolicyName", 1)) 14856 } 14857 14858 if invalidParams.Len() > 0 { 14859 return invalidParams 14860 } 14861 return nil 14862} 14863 14864// SetDescription sets the Description field's value. 14865func (s *CreatePolicyInput) SetDescription(v string) *CreatePolicyInput { 14866 s.Description = &v 14867 return s 14868} 14869 14870// SetPath sets the Path field's value. 14871func (s *CreatePolicyInput) SetPath(v string) *CreatePolicyInput { 14872 s.Path = &v 14873 return s 14874} 14875 14876// SetPolicyDocument sets the PolicyDocument field's value. 14877func (s *CreatePolicyInput) SetPolicyDocument(v string) *CreatePolicyInput { 14878 s.PolicyDocument = &v 14879 return s 14880} 14881 14882// SetPolicyName sets the PolicyName field's value. 14883func (s *CreatePolicyInput) SetPolicyName(v string) *CreatePolicyInput { 14884 s.PolicyName = &v 14885 return s 14886} 14887 14888// Contains the response to a successful CreatePolicy request. 14889// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/CreatePolicyResponse 14890type CreatePolicyOutput struct { 14891 _ struct{} `type:"structure"` 14892 14893 // A structure containing details about the new policy. 14894 Policy *Policy `type:"structure"` 14895} 14896 14897// String returns the string representation 14898func (s CreatePolicyOutput) String() string { 14899 return awsutil.Prettify(s) 14900} 14901 14902// GoString returns the string representation 14903func (s CreatePolicyOutput) GoString() string { 14904 return s.String() 14905} 14906 14907// SetPolicy sets the Policy field's value. 14908func (s *CreatePolicyOutput) SetPolicy(v *Policy) *CreatePolicyOutput { 14909 s.Policy = v 14910 return s 14911} 14912 14913// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/CreatePolicyVersionRequest 14914type CreatePolicyVersionInput struct { 14915 _ struct{} `type:"structure"` 14916 14917 // The Amazon Resource Name (ARN) of the IAM policy to which you want to add 14918 // a new version. 14919 // 14920 // For more information about ARNs, see Amazon Resource Names (ARNs) and AWS 14921 // Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) 14922 // in the AWS General Reference. 14923 // 14924 // PolicyArn is a required field 14925 PolicyArn *string `min:"20" type:"string" required:"true"` 14926 14927 // The JSON policy document that you want to use as the content for this new 14928 // version of the policy. 14929 // 14930 // The regex pattern (http://wikipedia.org/wiki/regex) used to validate this 14931 // parameter is a string of characters consisting of any printable ASCII character 14932 // ranging from the space character (\u0020) through end of the ASCII character 14933 // range as well as the printable characters in the Basic Latin and Latin-1 14934 // Supplement character set (through \u00FF). It also includes the special characters 14935 // tab (\u0009), line feed (\u000A), and carriage return (\u000D). 14936 // 14937 // PolicyDocument is a required field 14938 PolicyDocument *string `min:"1" type:"string" required:"true"` 14939 14940 // Specifies whether to set this version as the policy's default version. 14941 // 14942 // When this parameter is true, the new policy version becomes the operative 14943 // version; that is, the version that is in effect for the IAM users, groups, 14944 // and roles that the policy is attached to. 14945 // 14946 // For more information about managed policy versions, see Versioning for Managed 14947 // Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-versions.html) 14948 // in the IAM User Guide. 14949 SetAsDefault *bool `type:"boolean"` 14950} 14951 14952// String returns the string representation 14953func (s CreatePolicyVersionInput) String() string { 14954 return awsutil.Prettify(s) 14955} 14956 14957// GoString returns the string representation 14958func (s CreatePolicyVersionInput) GoString() string { 14959 return s.String() 14960} 14961 14962// Validate inspects the fields of the type to determine if they are valid. 14963func (s *CreatePolicyVersionInput) Validate() error { 14964 invalidParams := request.ErrInvalidParams{Context: "CreatePolicyVersionInput"} 14965 if s.PolicyArn == nil { 14966 invalidParams.Add(request.NewErrParamRequired("PolicyArn")) 14967 } 14968 if s.PolicyArn != nil && len(*s.PolicyArn) < 20 { 14969 invalidParams.Add(request.NewErrParamMinLen("PolicyArn", 20)) 14970 } 14971 if s.PolicyDocument == nil { 14972 invalidParams.Add(request.NewErrParamRequired("PolicyDocument")) 14973 } 14974 if s.PolicyDocument != nil && len(*s.PolicyDocument) < 1 { 14975 invalidParams.Add(request.NewErrParamMinLen("PolicyDocument", 1)) 14976 } 14977 14978 if invalidParams.Len() > 0 { 14979 return invalidParams 14980 } 14981 return nil 14982} 14983 14984// SetPolicyArn sets the PolicyArn field's value. 14985func (s *CreatePolicyVersionInput) SetPolicyArn(v string) *CreatePolicyVersionInput { 14986 s.PolicyArn = &v 14987 return s 14988} 14989 14990// SetPolicyDocument sets the PolicyDocument field's value. 14991func (s *CreatePolicyVersionInput) SetPolicyDocument(v string) *CreatePolicyVersionInput { 14992 s.PolicyDocument = &v 14993 return s 14994} 14995 14996// SetSetAsDefault sets the SetAsDefault field's value. 14997func (s *CreatePolicyVersionInput) SetSetAsDefault(v bool) *CreatePolicyVersionInput { 14998 s.SetAsDefault = &v 14999 return s 15000} 15001 15002// Contains the response to a successful CreatePolicyVersion request. 15003// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/CreatePolicyVersionResponse 15004type CreatePolicyVersionOutput struct { 15005 _ struct{} `type:"structure"` 15006 15007 // A structure containing details about the new policy version. 15008 PolicyVersion *PolicyVersion `type:"structure"` 15009} 15010 15011// String returns the string representation 15012func (s CreatePolicyVersionOutput) String() string { 15013 return awsutil.Prettify(s) 15014} 15015 15016// GoString returns the string representation 15017func (s CreatePolicyVersionOutput) GoString() string { 15018 return s.String() 15019} 15020 15021// SetPolicyVersion sets the PolicyVersion field's value. 15022func (s *CreatePolicyVersionOutput) SetPolicyVersion(v *PolicyVersion) *CreatePolicyVersionOutput { 15023 s.PolicyVersion = v 15024 return s 15025} 15026 15027// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/CreateRoleRequest 15028type CreateRoleInput struct { 15029 _ struct{} `type:"structure"` 15030 15031 // The trust relationship policy document that grants an entity permission to 15032 // assume the role. 15033 // 15034 // The regex pattern (http://wikipedia.org/wiki/regex) used to validate this 15035 // parameter is a string of characters consisting of any printable ASCII character 15036 // ranging from the space character (\u0020) through end of the ASCII character 15037 // range as well as the printable characters in the Basic Latin and Latin-1 15038 // Supplement character set (through \u00FF). It also includes the special characters 15039 // tab (\u0009), line feed (\u000A), and carriage return (\u000D). 15040 // 15041 // AssumeRolePolicyDocument is a required field 15042 AssumeRolePolicyDocument *string `min:"1" type:"string" required:"true"` 15043 15044 // A customer-provided description of the role. 15045 Description *string `type:"string"` 15046 15047 // The path to the role. For more information about paths, see IAM Identifiers 15048 // (http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html) 15049 // in the IAM User Guide. 15050 // 15051 // This parameter is optional. If it is not included, it defaults to a slash 15052 // (/). 15053 // 15054 // This paramater allows (per its regex pattern (http://wikipedia.org/wiki/regex)) 15055 // a string of characters consisting of either a forward slash (/) by itself 15056 // or a string that must begin and end with forward slashes, containing any 15057 // ASCII character from the ! (\u0021) thru the DEL character (\u007F), including 15058 // most punctuation characters, digits, and upper and lowercased letters. 15059 Path *string `min:"1" type:"string"` 15060 15061 // The name of the role to create. 15062 // 15063 // This parameter allows (per its regex pattern (http://wikipedia.org/wiki/regex)) 15064 // a string of characters consisting of upper and lowercase alphanumeric characters 15065 // with no spaces. You can also include any of the following characters: _+=,.@- 15066 // 15067 // Role names are not distinguished by case. For example, you cannot create 15068 // roles named both "PRODROLE" and "prodrole". 15069 // 15070 // RoleName is a required field 15071 RoleName *string `min:"1" type:"string" required:"true"` 15072} 15073 15074// String returns the string representation 15075func (s CreateRoleInput) String() string { 15076 return awsutil.Prettify(s) 15077} 15078 15079// GoString returns the string representation 15080func (s CreateRoleInput) GoString() string { 15081 return s.String() 15082} 15083 15084// Validate inspects the fields of the type to determine if they are valid. 15085func (s *CreateRoleInput) Validate() error { 15086 invalidParams := request.ErrInvalidParams{Context: "CreateRoleInput"} 15087 if s.AssumeRolePolicyDocument == nil { 15088 invalidParams.Add(request.NewErrParamRequired("AssumeRolePolicyDocument")) 15089 } 15090 if s.AssumeRolePolicyDocument != nil && len(*s.AssumeRolePolicyDocument) < 1 { 15091 invalidParams.Add(request.NewErrParamMinLen("AssumeRolePolicyDocument", 1)) 15092 } 15093 if s.Path != nil && len(*s.Path) < 1 { 15094 invalidParams.Add(request.NewErrParamMinLen("Path", 1)) 15095 } 15096 if s.RoleName == nil { 15097 invalidParams.Add(request.NewErrParamRequired("RoleName")) 15098 } 15099 if s.RoleName != nil && len(*s.RoleName) < 1 { 15100 invalidParams.Add(request.NewErrParamMinLen("RoleName", 1)) 15101 } 15102 15103 if invalidParams.Len() > 0 { 15104 return invalidParams 15105 } 15106 return nil 15107} 15108 15109// SetAssumeRolePolicyDocument sets the AssumeRolePolicyDocument field's value. 15110func (s *CreateRoleInput) SetAssumeRolePolicyDocument(v string) *CreateRoleInput { 15111 s.AssumeRolePolicyDocument = &v 15112 return s 15113} 15114 15115// SetDescription sets the Description field's value. 15116func (s *CreateRoleInput) SetDescription(v string) *CreateRoleInput { 15117 s.Description = &v 15118 return s 15119} 15120 15121// SetPath sets the Path field's value. 15122func (s *CreateRoleInput) SetPath(v string) *CreateRoleInput { 15123 s.Path = &v 15124 return s 15125} 15126 15127// SetRoleName sets the RoleName field's value. 15128func (s *CreateRoleInput) SetRoleName(v string) *CreateRoleInput { 15129 s.RoleName = &v 15130 return s 15131} 15132 15133// Contains the response to a successful CreateRole request. 15134// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/CreateRoleResponse 15135type CreateRoleOutput struct { 15136 _ struct{} `type:"structure"` 15137 15138 // A structure containing details about the new role. 15139 // 15140 // Role is a required field 15141 Role *Role `type:"structure" required:"true"` 15142} 15143 15144// String returns the string representation 15145func (s CreateRoleOutput) String() string { 15146 return awsutil.Prettify(s) 15147} 15148 15149// GoString returns the string representation 15150func (s CreateRoleOutput) GoString() string { 15151 return s.String() 15152} 15153 15154// SetRole sets the Role field's value. 15155func (s *CreateRoleOutput) SetRole(v *Role) *CreateRoleOutput { 15156 s.Role = v 15157 return s 15158} 15159 15160// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/CreateSAMLProviderRequest 15161type CreateSAMLProviderInput struct { 15162 _ struct{} `type:"structure"` 15163 15164 // The name of the provider to create. 15165 // 15166 // This parameter allows (per its regex pattern (http://wikipedia.org/wiki/regex)) 15167 // a string of characters consisting of upper and lowercase alphanumeric characters 15168 // with no spaces. You can also include any of the following characters: =,.@- 15169 // 15170 // Name is a required field 15171 Name *string `min:"1" type:"string" required:"true"` 15172 15173 // An XML document generated by an identity provider (IdP) that supports SAML 15174 // 2.0. The document includes the issuer's name, expiration information, and 15175 // keys that can be used to validate the SAML authentication response (assertions) 15176 // that are received from the IdP. You must generate the metadata document using 15177 // the identity management software that is used as your organization's IdP. 15178 // 15179 // For more information, see About SAML 2.0-based Federation (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_saml.html) 15180 // in the IAM User Guide 15181 // 15182 // SAMLMetadataDocument is a required field 15183 SAMLMetadataDocument *string `min:"1000" type:"string" required:"true"` 15184} 15185 15186// String returns the string representation 15187func (s CreateSAMLProviderInput) String() string { 15188 return awsutil.Prettify(s) 15189} 15190 15191// GoString returns the string representation 15192func (s CreateSAMLProviderInput) GoString() string { 15193 return s.String() 15194} 15195 15196// Validate inspects the fields of the type to determine if they are valid. 15197func (s *CreateSAMLProviderInput) Validate() error { 15198 invalidParams := request.ErrInvalidParams{Context: "CreateSAMLProviderInput"} 15199 if s.Name == nil { 15200 invalidParams.Add(request.NewErrParamRequired("Name")) 15201 } 15202 if s.Name != nil && len(*s.Name) < 1 { 15203 invalidParams.Add(request.NewErrParamMinLen("Name", 1)) 15204 } 15205 if s.SAMLMetadataDocument == nil { 15206 invalidParams.Add(request.NewErrParamRequired("SAMLMetadataDocument")) 15207 } 15208 if s.SAMLMetadataDocument != nil && len(*s.SAMLMetadataDocument) < 1000 { 15209 invalidParams.Add(request.NewErrParamMinLen("SAMLMetadataDocument", 1000)) 15210 } 15211 15212 if invalidParams.Len() > 0 { 15213 return invalidParams 15214 } 15215 return nil 15216} 15217 15218// SetName sets the Name field's value. 15219func (s *CreateSAMLProviderInput) SetName(v string) *CreateSAMLProviderInput { 15220 s.Name = &v 15221 return s 15222} 15223 15224// SetSAMLMetadataDocument sets the SAMLMetadataDocument field's value. 15225func (s *CreateSAMLProviderInput) SetSAMLMetadataDocument(v string) *CreateSAMLProviderInput { 15226 s.SAMLMetadataDocument = &v 15227 return s 15228} 15229 15230// Contains the response to a successful CreateSAMLProvider request. 15231// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/CreateSAMLProviderResponse 15232type CreateSAMLProviderOutput struct { 15233 _ struct{} `type:"structure"` 15234 15235 // The Amazon Resource Name (ARN) of the new SAML provider resource in IAM. 15236 SAMLProviderArn *string `min:"20" type:"string"` 15237} 15238 15239// String returns the string representation 15240func (s CreateSAMLProviderOutput) String() string { 15241 return awsutil.Prettify(s) 15242} 15243 15244// GoString returns the string representation 15245func (s CreateSAMLProviderOutput) GoString() string { 15246 return s.String() 15247} 15248 15249// SetSAMLProviderArn sets the SAMLProviderArn field's value. 15250func (s *CreateSAMLProviderOutput) SetSAMLProviderArn(v string) *CreateSAMLProviderOutput { 15251 s.SAMLProviderArn = &v 15252 return s 15253} 15254 15255// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/CreateServiceLinkedRoleRequest 15256type CreateServiceLinkedRoleInput struct { 15257 _ struct{} `type:"structure"` 15258 15259 // The AWS service to which this role is attached. You use a string similar 15260 // to a URL but without the http:// in front. For example: elasticbeanstalk.amazonaws.com 15261 // 15262 // AWSServiceName is a required field 15263 AWSServiceName *string `min:"1" type:"string" required:"true"` 15264 15265 // A string that you provide, which is combined with the service name to form 15266 // the complete role name. If you make multiple requests for the same service, 15267 // then you must supply a different CustomSuffix for each request. Otherwise 15268 // the request fails with a duplicate role name error. For example, you could 15269 // add -1 or -debug to the suffix. 15270 CustomSuffix *string `min:"1" type:"string"` 15271 15272 // The description of the role. 15273 Description *string `type:"string"` 15274} 15275 15276// String returns the string representation 15277func (s CreateServiceLinkedRoleInput) String() string { 15278 return awsutil.Prettify(s) 15279} 15280 15281// GoString returns the string representation 15282func (s CreateServiceLinkedRoleInput) GoString() string { 15283 return s.String() 15284} 15285 15286// Validate inspects the fields of the type to determine if they are valid. 15287func (s *CreateServiceLinkedRoleInput) Validate() error { 15288 invalidParams := request.ErrInvalidParams{Context: "CreateServiceLinkedRoleInput"} 15289 if s.AWSServiceName == nil { 15290 invalidParams.Add(request.NewErrParamRequired("AWSServiceName")) 15291 } 15292 if s.AWSServiceName != nil && len(*s.AWSServiceName) < 1 { 15293 invalidParams.Add(request.NewErrParamMinLen("AWSServiceName", 1)) 15294 } 15295 if s.CustomSuffix != nil && len(*s.CustomSuffix) < 1 { 15296 invalidParams.Add(request.NewErrParamMinLen("CustomSuffix", 1)) 15297 } 15298 15299 if invalidParams.Len() > 0 { 15300 return invalidParams 15301 } 15302 return nil 15303} 15304 15305// SetAWSServiceName sets the AWSServiceName field's value. 15306func (s *CreateServiceLinkedRoleInput) SetAWSServiceName(v string) *CreateServiceLinkedRoleInput { 15307 s.AWSServiceName = &v 15308 return s 15309} 15310 15311// SetCustomSuffix sets the CustomSuffix field's value. 15312func (s *CreateServiceLinkedRoleInput) SetCustomSuffix(v string) *CreateServiceLinkedRoleInput { 15313 s.CustomSuffix = &v 15314 return s 15315} 15316 15317// SetDescription sets the Description field's value. 15318func (s *CreateServiceLinkedRoleInput) SetDescription(v string) *CreateServiceLinkedRoleInput { 15319 s.Description = &v 15320 return s 15321} 15322 15323// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/CreateServiceLinkedRoleResponse 15324type CreateServiceLinkedRoleOutput struct { 15325 _ struct{} `type:"structure"` 15326 15327 // A Role object that contains details about the newly created role. 15328 Role *Role `type:"structure"` 15329} 15330 15331// String returns the string representation 15332func (s CreateServiceLinkedRoleOutput) String() string { 15333 return awsutil.Prettify(s) 15334} 15335 15336// GoString returns the string representation 15337func (s CreateServiceLinkedRoleOutput) GoString() string { 15338 return s.String() 15339} 15340 15341// SetRole sets the Role field's value. 15342func (s *CreateServiceLinkedRoleOutput) SetRole(v *Role) *CreateServiceLinkedRoleOutput { 15343 s.Role = v 15344 return s 15345} 15346 15347// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/CreateServiceSpecificCredentialRequest 15348type CreateServiceSpecificCredentialInput struct { 15349 _ struct{} `type:"structure"` 15350 15351 // The name of the AWS service that is to be associated with the credentials. 15352 // The service you specify here is the only service that can be accessed using 15353 // these credentials. 15354 // 15355 // ServiceName is a required field 15356 ServiceName *string `type:"string" required:"true"` 15357 15358 // The name of the IAM user that is to be associated with the credentials. The 15359 // new service-specific credentials have the same permissions as the associated 15360 // user except that they can be used only to access the specified service. 15361 // 15362 // This parameter allows (per its regex pattern (http://wikipedia.org/wiki/regex)) 15363 // a string of characters consisting of upper and lowercase alphanumeric characters 15364 // with no spaces. You can also include any of the following characters: =,.@- 15365 // 15366 // UserName is a required field 15367 UserName *string `min:"1" type:"string" required:"true"` 15368} 15369 15370// String returns the string representation 15371func (s CreateServiceSpecificCredentialInput) String() string { 15372 return awsutil.Prettify(s) 15373} 15374 15375// GoString returns the string representation 15376func (s CreateServiceSpecificCredentialInput) GoString() string { 15377 return s.String() 15378} 15379 15380// Validate inspects the fields of the type to determine if they are valid. 15381func (s *CreateServiceSpecificCredentialInput) Validate() error { 15382 invalidParams := request.ErrInvalidParams{Context: "CreateServiceSpecificCredentialInput"} 15383 if s.ServiceName == nil { 15384 invalidParams.Add(request.NewErrParamRequired("ServiceName")) 15385 } 15386 if s.UserName == nil { 15387 invalidParams.Add(request.NewErrParamRequired("UserName")) 15388 } 15389 if s.UserName != nil && len(*s.UserName) < 1 { 15390 invalidParams.Add(request.NewErrParamMinLen("UserName", 1)) 15391 } 15392 15393 if invalidParams.Len() > 0 { 15394 return invalidParams 15395 } 15396 return nil 15397} 15398 15399// SetServiceName sets the ServiceName field's value. 15400func (s *CreateServiceSpecificCredentialInput) SetServiceName(v string) *CreateServiceSpecificCredentialInput { 15401 s.ServiceName = &v 15402 return s 15403} 15404 15405// SetUserName sets the UserName field's value. 15406func (s *CreateServiceSpecificCredentialInput) SetUserName(v string) *CreateServiceSpecificCredentialInput { 15407 s.UserName = &v 15408 return s 15409} 15410 15411// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/CreateServiceSpecificCredentialResponse 15412type CreateServiceSpecificCredentialOutput struct { 15413 _ struct{} `type:"structure"` 15414 15415 // A structure that contains information about the newly created service-specific 15416 // credential. 15417 // 15418 // This is the only time that the password for this credential set is available. 15419 // It cannot be recovered later. Instead, you will have to reset the password 15420 // with ResetServiceSpecificCredential. 15421 ServiceSpecificCredential *ServiceSpecificCredential `type:"structure"` 15422} 15423 15424// String returns the string representation 15425func (s CreateServiceSpecificCredentialOutput) String() string { 15426 return awsutil.Prettify(s) 15427} 15428 15429// GoString returns the string representation 15430func (s CreateServiceSpecificCredentialOutput) GoString() string { 15431 return s.String() 15432} 15433 15434// SetServiceSpecificCredential sets the ServiceSpecificCredential field's value. 15435func (s *CreateServiceSpecificCredentialOutput) SetServiceSpecificCredential(v *ServiceSpecificCredential) *CreateServiceSpecificCredentialOutput { 15436 s.ServiceSpecificCredential = v 15437 return s 15438} 15439 15440// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/CreateUserRequest 15441type CreateUserInput struct { 15442 _ struct{} `type:"structure"` 15443 15444 // The path for the user name. For more information about paths, see IAM Identifiers 15445 // (http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html) 15446 // in the IAM User Guide. 15447 // 15448 // This parameter is optional. If it is not included, it defaults to a slash 15449 // (/). 15450 // 15451 // This paramater allows (per its regex pattern (http://wikipedia.org/wiki/regex)) 15452 // a string of characters consisting of either a forward slash (/) by itself 15453 // or a string that must begin and end with forward slashes, containing any 15454 // ASCII character from the ! (\u0021) thru the DEL character (\u007F), including 15455 // most punctuation characters, digits, and upper and lowercased letters. 15456 Path *string `min:"1" type:"string"` 15457 15458 // The name of the user to create. 15459 // 15460 // This parameter allows (per its regex pattern (http://wikipedia.org/wiki/regex)) 15461 // a string of characters consisting of upper and lowercase alphanumeric characters 15462 // with no spaces. You can also include any of the following characters: =,.@-. 15463 // User names are not distinguished by case. For example, you cannot create 15464 // users named both "TESTUSER" and "testuser". 15465 // 15466 // UserName is a required field 15467 UserName *string `min:"1" type:"string" required:"true"` 15468} 15469 15470// String returns the string representation 15471func (s CreateUserInput) String() string { 15472 return awsutil.Prettify(s) 15473} 15474 15475// GoString returns the string representation 15476func (s CreateUserInput) GoString() string { 15477 return s.String() 15478} 15479 15480// Validate inspects the fields of the type to determine if they are valid. 15481func (s *CreateUserInput) Validate() error { 15482 invalidParams := request.ErrInvalidParams{Context: "CreateUserInput"} 15483 if s.Path != nil && len(*s.Path) < 1 { 15484 invalidParams.Add(request.NewErrParamMinLen("Path", 1)) 15485 } 15486 if s.UserName == nil { 15487 invalidParams.Add(request.NewErrParamRequired("UserName")) 15488 } 15489 if s.UserName != nil && len(*s.UserName) < 1 { 15490 invalidParams.Add(request.NewErrParamMinLen("UserName", 1)) 15491 } 15492 15493 if invalidParams.Len() > 0 { 15494 return invalidParams 15495 } 15496 return nil 15497} 15498 15499// SetPath sets the Path field's value. 15500func (s *CreateUserInput) SetPath(v string) *CreateUserInput { 15501 s.Path = &v 15502 return s 15503} 15504 15505// SetUserName sets the UserName field's value. 15506func (s *CreateUserInput) SetUserName(v string) *CreateUserInput { 15507 s.UserName = &v 15508 return s 15509} 15510 15511// Contains the response to a successful CreateUser request. 15512// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/CreateUserResponse 15513type CreateUserOutput struct { 15514 _ struct{} `type:"structure"` 15515 15516 // A structure with details about the new IAM user. 15517 User *User `type:"structure"` 15518} 15519 15520// String returns the string representation 15521func (s CreateUserOutput) String() string { 15522 return awsutil.Prettify(s) 15523} 15524 15525// GoString returns the string representation 15526func (s CreateUserOutput) GoString() string { 15527 return s.String() 15528} 15529 15530// SetUser sets the User field's value. 15531func (s *CreateUserOutput) SetUser(v *User) *CreateUserOutput { 15532 s.User = v 15533 return s 15534} 15535 15536// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/CreateVirtualMFADeviceRequest 15537type CreateVirtualMFADeviceInput struct { 15538 _ struct{} `type:"structure"` 15539 15540 // The path for the virtual MFA device. For more information about paths, see 15541 // IAM Identifiers (http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html) 15542 // in the IAM User Guide. 15543 // 15544 // This parameter is optional. If it is not included, it defaults to a slash 15545 // (/). 15546 // 15547 // This paramater allows (per its regex pattern (http://wikipedia.org/wiki/regex)) 15548 // a string of characters consisting of either a forward slash (/) by itself 15549 // or a string that must begin and end with forward slashes, containing any 15550 // ASCII character from the ! (\u0021) thru the DEL character (\u007F), including 15551 // most punctuation characters, digits, and upper and lowercased letters. 15552 Path *string `min:"1" type:"string"` 15553 15554 // The name of the virtual MFA device. Use with path to uniquely identify a 15555 // virtual MFA device. 15556 // 15557 // This parameter allows (per its regex pattern (http://wikipedia.org/wiki/regex)) 15558 // a string of characters consisting of upper and lowercase alphanumeric characters 15559 // with no spaces. You can also include any of the following characters: =,.@- 15560 // 15561 // VirtualMFADeviceName is a required field 15562 VirtualMFADeviceName *string `min:"1" type:"string" required:"true"` 15563} 15564 15565// String returns the string representation 15566func (s CreateVirtualMFADeviceInput) String() string { 15567 return awsutil.Prettify(s) 15568} 15569 15570// GoString returns the string representation 15571func (s CreateVirtualMFADeviceInput) GoString() string { 15572 return s.String() 15573} 15574 15575// Validate inspects the fields of the type to determine if they are valid. 15576func (s *CreateVirtualMFADeviceInput) Validate() error { 15577 invalidParams := request.ErrInvalidParams{Context: "CreateVirtualMFADeviceInput"} 15578 if s.Path != nil && len(*s.Path) < 1 { 15579 invalidParams.Add(request.NewErrParamMinLen("Path", 1)) 15580 } 15581 if s.VirtualMFADeviceName == nil { 15582 invalidParams.Add(request.NewErrParamRequired("VirtualMFADeviceName")) 15583 } 15584 if s.VirtualMFADeviceName != nil && len(*s.VirtualMFADeviceName) < 1 { 15585 invalidParams.Add(request.NewErrParamMinLen("VirtualMFADeviceName", 1)) 15586 } 15587 15588 if invalidParams.Len() > 0 { 15589 return invalidParams 15590 } 15591 return nil 15592} 15593 15594// SetPath sets the Path field's value. 15595func (s *CreateVirtualMFADeviceInput) SetPath(v string) *CreateVirtualMFADeviceInput { 15596 s.Path = &v 15597 return s 15598} 15599 15600// SetVirtualMFADeviceName sets the VirtualMFADeviceName field's value. 15601func (s *CreateVirtualMFADeviceInput) SetVirtualMFADeviceName(v string) *CreateVirtualMFADeviceInput { 15602 s.VirtualMFADeviceName = &v 15603 return s 15604} 15605 15606// Contains the response to a successful CreateVirtualMFADevice request. 15607// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/CreateVirtualMFADeviceResponse 15608type CreateVirtualMFADeviceOutput struct { 15609 _ struct{} `type:"structure"` 15610 15611 // A structure containing details about the new virtual MFA device. 15612 // 15613 // VirtualMFADevice is a required field 15614 VirtualMFADevice *VirtualMFADevice `type:"structure" required:"true"` 15615} 15616 15617// String returns the string representation 15618func (s CreateVirtualMFADeviceOutput) String() string { 15619 return awsutil.Prettify(s) 15620} 15621 15622// GoString returns the string representation 15623func (s CreateVirtualMFADeviceOutput) GoString() string { 15624 return s.String() 15625} 15626 15627// SetVirtualMFADevice sets the VirtualMFADevice field's value. 15628func (s *CreateVirtualMFADeviceOutput) SetVirtualMFADevice(v *VirtualMFADevice) *CreateVirtualMFADeviceOutput { 15629 s.VirtualMFADevice = v 15630 return s 15631} 15632 15633// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/DeactivateMFADeviceRequest 15634type DeactivateMFADeviceInput struct { 15635 _ struct{} `type:"structure"` 15636 15637 // The serial number that uniquely identifies the MFA device. For virtual MFA 15638 // devices, the serial number is the device ARN. 15639 // 15640 // This parameter allows (per its regex pattern (http://wikipedia.org/wiki/regex)) 15641 // a string of characters consisting of upper and lowercase alphanumeric characters 15642 // with no spaces. You can also include any of the following characters: =,.@:/- 15643 // 15644 // SerialNumber is a required field 15645 SerialNumber *string `min:"9" type:"string" required:"true"` 15646 15647 // The name of the user whose MFA device you want to deactivate. 15648 // 15649 // This parameter allows (per its regex pattern (http://wikipedia.org/wiki/regex)) 15650 // a string of characters consisting of upper and lowercase alphanumeric characters 15651 // with no spaces. You can also include any of the following characters: =,.@- 15652 // 15653 // UserName is a required field 15654 UserName *string `min:"1" type:"string" required:"true"` 15655} 15656 15657// String returns the string representation 15658func (s DeactivateMFADeviceInput) String() string { 15659 return awsutil.Prettify(s) 15660} 15661 15662// GoString returns the string representation 15663func (s DeactivateMFADeviceInput) GoString() string { 15664 return s.String() 15665} 15666 15667// Validate inspects the fields of the type to determine if they are valid. 15668func (s *DeactivateMFADeviceInput) Validate() error { 15669 invalidParams := request.ErrInvalidParams{Context: "DeactivateMFADeviceInput"} 15670 if s.SerialNumber == nil { 15671 invalidParams.Add(request.NewErrParamRequired("SerialNumber")) 15672 } 15673 if s.SerialNumber != nil && len(*s.SerialNumber) < 9 { 15674 invalidParams.Add(request.NewErrParamMinLen("SerialNumber", 9)) 15675 } 15676 if s.UserName == nil { 15677 invalidParams.Add(request.NewErrParamRequired("UserName")) 15678 } 15679 if s.UserName != nil && len(*s.UserName) < 1 { 15680 invalidParams.Add(request.NewErrParamMinLen("UserName", 1)) 15681 } 15682 15683 if invalidParams.Len() > 0 { 15684 return invalidParams 15685 } 15686 return nil 15687} 15688 15689// SetSerialNumber sets the SerialNumber field's value. 15690func (s *DeactivateMFADeviceInput) SetSerialNumber(v string) *DeactivateMFADeviceInput { 15691 s.SerialNumber = &v 15692 return s 15693} 15694 15695// SetUserName sets the UserName field's value. 15696func (s *DeactivateMFADeviceInput) SetUserName(v string) *DeactivateMFADeviceInput { 15697 s.UserName = &v 15698 return s 15699} 15700 15701// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/DeactivateMFADeviceOutput 15702type DeactivateMFADeviceOutput struct { 15703 _ struct{} `type:"structure"` 15704} 15705 15706// String returns the string representation 15707func (s DeactivateMFADeviceOutput) String() string { 15708 return awsutil.Prettify(s) 15709} 15710 15711// GoString returns the string representation 15712func (s DeactivateMFADeviceOutput) GoString() string { 15713 return s.String() 15714} 15715 15716// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/DeleteAccessKeyRequest 15717type DeleteAccessKeyInput struct { 15718 _ struct{} `type:"structure"` 15719 15720 // The access key ID for the access key ID and secret access key you want to 15721 // delete. 15722 // 15723 // This parameter allows (per its regex pattern (http://wikipedia.org/wiki/regex)) 15724 // a string of characters that can consist of any upper or lowercased letter 15725 // or digit. 15726 // 15727 // AccessKeyId is a required field 15728 AccessKeyId *string `min:"16" type:"string" required:"true"` 15729 15730 // The name of the user whose access key pair you want to delete. 15731 // 15732 // This parameter allows (per its regex pattern (http://wikipedia.org/wiki/regex)) 15733 // a string of characters consisting of upper and lowercase alphanumeric characters 15734 // with no spaces. You can also include any of the following characters: =,.@- 15735 UserName *string `min:"1" type:"string"` 15736} 15737 15738// String returns the string representation 15739func (s DeleteAccessKeyInput) String() string { 15740 return awsutil.Prettify(s) 15741} 15742 15743// GoString returns the string representation 15744func (s DeleteAccessKeyInput) GoString() string { 15745 return s.String() 15746} 15747 15748// Validate inspects the fields of the type to determine if they are valid. 15749func (s *DeleteAccessKeyInput) Validate() error { 15750 invalidParams := request.ErrInvalidParams{Context: "DeleteAccessKeyInput"} 15751 if s.AccessKeyId == nil { 15752 invalidParams.Add(request.NewErrParamRequired("AccessKeyId")) 15753 } 15754 if s.AccessKeyId != nil && len(*s.AccessKeyId) < 16 { 15755 invalidParams.Add(request.NewErrParamMinLen("AccessKeyId", 16)) 15756 } 15757 if s.UserName != nil && len(*s.UserName) < 1 { 15758 invalidParams.Add(request.NewErrParamMinLen("UserName", 1)) 15759 } 15760 15761 if invalidParams.Len() > 0 { 15762 return invalidParams 15763 } 15764 return nil 15765} 15766 15767// SetAccessKeyId sets the AccessKeyId field's value. 15768func (s *DeleteAccessKeyInput) SetAccessKeyId(v string) *DeleteAccessKeyInput { 15769 s.AccessKeyId = &v 15770 return s 15771} 15772 15773// SetUserName sets the UserName field's value. 15774func (s *DeleteAccessKeyInput) SetUserName(v string) *DeleteAccessKeyInput { 15775 s.UserName = &v 15776 return s 15777} 15778 15779// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/DeleteAccessKeyOutput 15780type DeleteAccessKeyOutput struct { 15781 _ struct{} `type:"structure"` 15782} 15783 15784// String returns the string representation 15785func (s DeleteAccessKeyOutput) String() string { 15786 return awsutil.Prettify(s) 15787} 15788 15789// GoString returns the string representation 15790func (s DeleteAccessKeyOutput) GoString() string { 15791 return s.String() 15792} 15793 15794// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/DeleteAccountAliasRequest 15795type DeleteAccountAliasInput struct { 15796 _ struct{} `type:"structure"` 15797 15798 // The name of the account alias to delete. 15799 // 15800 // This parameter allows (per its regex pattern (http://wikipedia.org/wiki/regex)) 15801 // a string of characters consisting of lowercase letters, digits, and dashes. 15802 // You cannot start or finish with a dash, nor can you have two dashes in a 15803 // row. 15804 // 15805 // AccountAlias is a required field 15806 AccountAlias *string `min:"3" type:"string" required:"true"` 15807} 15808 15809// String returns the string representation 15810func (s DeleteAccountAliasInput) String() string { 15811 return awsutil.Prettify(s) 15812} 15813 15814// GoString returns the string representation 15815func (s DeleteAccountAliasInput) GoString() string { 15816 return s.String() 15817} 15818 15819// Validate inspects the fields of the type to determine if they are valid. 15820func (s *DeleteAccountAliasInput) Validate() error { 15821 invalidParams := request.ErrInvalidParams{Context: "DeleteAccountAliasInput"} 15822 if s.AccountAlias == nil { 15823 invalidParams.Add(request.NewErrParamRequired("AccountAlias")) 15824 } 15825 if s.AccountAlias != nil && len(*s.AccountAlias) < 3 { 15826 invalidParams.Add(request.NewErrParamMinLen("AccountAlias", 3)) 15827 } 15828 15829 if invalidParams.Len() > 0 { 15830 return invalidParams 15831 } 15832 return nil 15833} 15834 15835// SetAccountAlias sets the AccountAlias field's value. 15836func (s *DeleteAccountAliasInput) SetAccountAlias(v string) *DeleteAccountAliasInput { 15837 s.AccountAlias = &v 15838 return s 15839} 15840 15841// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/DeleteAccountAliasOutput 15842type DeleteAccountAliasOutput struct { 15843 _ struct{} `type:"structure"` 15844} 15845 15846// String returns the string representation 15847func (s DeleteAccountAliasOutput) String() string { 15848 return awsutil.Prettify(s) 15849} 15850 15851// GoString returns the string representation 15852func (s DeleteAccountAliasOutput) GoString() string { 15853 return s.String() 15854} 15855 15856// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/DeleteAccountPasswordPolicyInput 15857type DeleteAccountPasswordPolicyInput struct { 15858 _ struct{} `type:"structure"` 15859} 15860 15861// String returns the string representation 15862func (s DeleteAccountPasswordPolicyInput) String() string { 15863 return awsutil.Prettify(s) 15864} 15865 15866// GoString returns the string representation 15867func (s DeleteAccountPasswordPolicyInput) GoString() string { 15868 return s.String() 15869} 15870 15871// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/DeleteAccountPasswordPolicyOutput 15872type DeleteAccountPasswordPolicyOutput struct { 15873 _ struct{} `type:"structure"` 15874} 15875 15876// String returns the string representation 15877func (s DeleteAccountPasswordPolicyOutput) String() string { 15878 return awsutil.Prettify(s) 15879} 15880 15881// GoString returns the string representation 15882func (s DeleteAccountPasswordPolicyOutput) GoString() string { 15883 return s.String() 15884} 15885 15886// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/DeleteGroupRequest 15887type DeleteGroupInput struct { 15888 _ struct{} `type:"structure"` 15889 15890 // The name of the IAM group to delete. 15891 // 15892 // This parameter allows (per its regex pattern (http://wikipedia.org/wiki/regex)) 15893 // a string of characters consisting of upper and lowercase alphanumeric characters 15894 // with no spaces. You can also include any of the following characters: =,.@- 15895 // 15896 // GroupName is a required field 15897 GroupName *string `min:"1" type:"string" required:"true"` 15898} 15899 15900// String returns the string representation 15901func (s DeleteGroupInput) String() string { 15902 return awsutil.Prettify(s) 15903} 15904 15905// GoString returns the string representation 15906func (s DeleteGroupInput) GoString() string { 15907 return s.String() 15908} 15909 15910// Validate inspects the fields of the type to determine if they are valid. 15911func (s *DeleteGroupInput) Validate() error { 15912 invalidParams := request.ErrInvalidParams{Context: "DeleteGroupInput"} 15913 if s.GroupName == nil { 15914 invalidParams.Add(request.NewErrParamRequired("GroupName")) 15915 } 15916 if s.GroupName != nil && len(*s.GroupName) < 1 { 15917 invalidParams.Add(request.NewErrParamMinLen("GroupName", 1)) 15918 } 15919 15920 if invalidParams.Len() > 0 { 15921 return invalidParams 15922 } 15923 return nil 15924} 15925 15926// SetGroupName sets the GroupName field's value. 15927func (s *DeleteGroupInput) SetGroupName(v string) *DeleteGroupInput { 15928 s.GroupName = &v 15929 return s 15930} 15931 15932// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/DeleteGroupOutput 15933type DeleteGroupOutput struct { 15934 _ struct{} `type:"structure"` 15935} 15936 15937// String returns the string representation 15938func (s DeleteGroupOutput) String() string { 15939 return awsutil.Prettify(s) 15940} 15941 15942// GoString returns the string representation 15943func (s DeleteGroupOutput) GoString() string { 15944 return s.String() 15945} 15946 15947// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/DeleteGroupPolicyRequest 15948type DeleteGroupPolicyInput struct { 15949 _ struct{} `type:"structure"` 15950 15951 // The name (friendly name, not ARN) identifying the group that the policy is 15952 // embedded in. 15953 // 15954 // This parameter allows (per its regex pattern (http://wikipedia.org/wiki/regex)) 15955 // a string of characters consisting of upper and lowercase alphanumeric characters 15956 // with no spaces. You can also include any of the following characters: =,.@- 15957 // 15958 // GroupName is a required field 15959 GroupName *string `min:"1" type:"string" required:"true"` 15960 15961 // The name identifying the policy document to delete. 15962 // 15963 // This parameter allows (per its regex pattern (http://wikipedia.org/wiki/regex)) 15964 // a string of characters consisting of upper and lowercase alphanumeric characters 15965 // with no spaces. You can also include any of the following characters: =,.@-+ 15966 // 15967 // PolicyName is a required field 15968 PolicyName *string `min:"1" type:"string" required:"true"` 15969} 15970 15971// String returns the string representation 15972func (s DeleteGroupPolicyInput) String() string { 15973 return awsutil.Prettify(s) 15974} 15975 15976// GoString returns the string representation 15977func (s DeleteGroupPolicyInput) GoString() string { 15978 return s.String() 15979} 15980 15981// Validate inspects the fields of the type to determine if they are valid. 15982func (s *DeleteGroupPolicyInput) Validate() error { 15983 invalidParams := request.ErrInvalidParams{Context: "DeleteGroupPolicyInput"} 15984 if s.GroupName == nil { 15985 invalidParams.Add(request.NewErrParamRequired("GroupName")) 15986 } 15987 if s.GroupName != nil && len(*s.GroupName) < 1 { 15988 invalidParams.Add(request.NewErrParamMinLen("GroupName", 1)) 15989 } 15990 if s.PolicyName == nil { 15991 invalidParams.Add(request.NewErrParamRequired("PolicyName")) 15992 } 15993 if s.PolicyName != nil && len(*s.PolicyName) < 1 { 15994 invalidParams.Add(request.NewErrParamMinLen("PolicyName", 1)) 15995 } 15996 15997 if invalidParams.Len() > 0 { 15998 return invalidParams 15999 } 16000 return nil 16001} 16002 16003// SetGroupName sets the GroupName field's value. 16004func (s *DeleteGroupPolicyInput) SetGroupName(v string) *DeleteGroupPolicyInput { 16005 s.GroupName = &v 16006 return s 16007} 16008 16009// SetPolicyName sets the PolicyName field's value. 16010func (s *DeleteGroupPolicyInput) SetPolicyName(v string) *DeleteGroupPolicyInput { 16011 s.PolicyName = &v 16012 return s 16013} 16014 16015// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/DeleteGroupPolicyOutput 16016type DeleteGroupPolicyOutput struct { 16017 _ struct{} `type:"structure"` 16018} 16019 16020// String returns the string representation 16021func (s DeleteGroupPolicyOutput) String() string { 16022 return awsutil.Prettify(s) 16023} 16024 16025// GoString returns the string representation 16026func (s DeleteGroupPolicyOutput) GoString() string { 16027 return s.String() 16028} 16029 16030// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/DeleteInstanceProfileRequest 16031type DeleteInstanceProfileInput struct { 16032 _ struct{} `type:"structure"` 16033 16034 // The name of the instance profile to delete. 16035 // 16036 // This parameter allows (per its regex pattern (http://wikipedia.org/wiki/regex)) 16037 // a string of characters consisting of upper and lowercase alphanumeric characters 16038 // with no spaces. You can also include any of the following characters: =,.@- 16039 // 16040 // InstanceProfileName is a required field 16041 InstanceProfileName *string `min:"1" type:"string" required:"true"` 16042} 16043 16044// String returns the string representation 16045func (s DeleteInstanceProfileInput) String() string { 16046 return awsutil.Prettify(s) 16047} 16048 16049// GoString returns the string representation 16050func (s DeleteInstanceProfileInput) GoString() string { 16051 return s.String() 16052} 16053 16054// Validate inspects the fields of the type to determine if they are valid. 16055func (s *DeleteInstanceProfileInput) Validate() error { 16056 invalidParams := request.ErrInvalidParams{Context: "DeleteInstanceProfileInput"} 16057 if s.InstanceProfileName == nil { 16058 invalidParams.Add(request.NewErrParamRequired("InstanceProfileName")) 16059 } 16060 if s.InstanceProfileName != nil && len(*s.InstanceProfileName) < 1 { 16061 invalidParams.Add(request.NewErrParamMinLen("InstanceProfileName", 1)) 16062 } 16063 16064 if invalidParams.Len() > 0 { 16065 return invalidParams 16066 } 16067 return nil 16068} 16069 16070// SetInstanceProfileName sets the InstanceProfileName field's value. 16071func (s *DeleteInstanceProfileInput) SetInstanceProfileName(v string) *DeleteInstanceProfileInput { 16072 s.InstanceProfileName = &v 16073 return s 16074} 16075 16076// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/DeleteInstanceProfileOutput 16077type DeleteInstanceProfileOutput struct { 16078 _ struct{} `type:"structure"` 16079} 16080 16081// String returns the string representation 16082func (s DeleteInstanceProfileOutput) String() string { 16083 return awsutil.Prettify(s) 16084} 16085 16086// GoString returns the string representation 16087func (s DeleteInstanceProfileOutput) GoString() string { 16088 return s.String() 16089} 16090 16091// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/DeleteLoginProfileRequest 16092type DeleteLoginProfileInput struct { 16093 _ struct{} `type:"structure"` 16094 16095 // The name of the user whose password you want to delete. 16096 // 16097 // This parameter allows (per its regex pattern (http://wikipedia.org/wiki/regex)) 16098 // a string of characters consisting of upper and lowercase alphanumeric characters 16099 // with no spaces. You can also include any of the following characters: =,.@- 16100 // 16101 // UserName is a required field 16102 UserName *string `min:"1" type:"string" required:"true"` 16103} 16104 16105// String returns the string representation 16106func (s DeleteLoginProfileInput) String() string { 16107 return awsutil.Prettify(s) 16108} 16109 16110// GoString returns the string representation 16111func (s DeleteLoginProfileInput) GoString() string { 16112 return s.String() 16113} 16114 16115// Validate inspects the fields of the type to determine if they are valid. 16116func (s *DeleteLoginProfileInput) Validate() error { 16117 invalidParams := request.ErrInvalidParams{Context: "DeleteLoginProfileInput"} 16118 if s.UserName == nil { 16119 invalidParams.Add(request.NewErrParamRequired("UserName")) 16120 } 16121 if s.UserName != nil && len(*s.UserName) < 1 { 16122 invalidParams.Add(request.NewErrParamMinLen("UserName", 1)) 16123 } 16124 16125 if invalidParams.Len() > 0 { 16126 return invalidParams 16127 } 16128 return nil 16129} 16130 16131// SetUserName sets the UserName field's value. 16132func (s *DeleteLoginProfileInput) SetUserName(v string) *DeleteLoginProfileInput { 16133 s.UserName = &v 16134 return s 16135} 16136 16137// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/DeleteLoginProfileOutput 16138type DeleteLoginProfileOutput struct { 16139 _ struct{} `type:"structure"` 16140} 16141 16142// String returns the string representation 16143func (s DeleteLoginProfileOutput) String() string { 16144 return awsutil.Prettify(s) 16145} 16146 16147// GoString returns the string representation 16148func (s DeleteLoginProfileOutput) GoString() string { 16149 return s.String() 16150} 16151 16152// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/DeleteOpenIDConnectProviderRequest 16153type DeleteOpenIDConnectProviderInput struct { 16154 _ struct{} `type:"structure"` 16155 16156 // The Amazon Resource Name (ARN) of the IAM OpenID Connect provider resource 16157 // object to delete. You can get a list of OpenID Connect provider resource 16158 // ARNs by using the ListOpenIDConnectProviders action. 16159 // 16160 // OpenIDConnectProviderArn is a required field 16161 OpenIDConnectProviderArn *string `min:"20" type:"string" required:"true"` 16162} 16163 16164// String returns the string representation 16165func (s DeleteOpenIDConnectProviderInput) String() string { 16166 return awsutil.Prettify(s) 16167} 16168 16169// GoString returns the string representation 16170func (s DeleteOpenIDConnectProviderInput) GoString() string { 16171 return s.String() 16172} 16173 16174// Validate inspects the fields of the type to determine if they are valid. 16175func (s *DeleteOpenIDConnectProviderInput) Validate() error { 16176 invalidParams := request.ErrInvalidParams{Context: "DeleteOpenIDConnectProviderInput"} 16177 if s.OpenIDConnectProviderArn == nil { 16178 invalidParams.Add(request.NewErrParamRequired("OpenIDConnectProviderArn")) 16179 } 16180 if s.OpenIDConnectProviderArn != nil && len(*s.OpenIDConnectProviderArn) < 20 { 16181 invalidParams.Add(request.NewErrParamMinLen("OpenIDConnectProviderArn", 20)) 16182 } 16183 16184 if invalidParams.Len() > 0 { 16185 return invalidParams 16186 } 16187 return nil 16188} 16189 16190// SetOpenIDConnectProviderArn sets the OpenIDConnectProviderArn field's value. 16191func (s *DeleteOpenIDConnectProviderInput) SetOpenIDConnectProviderArn(v string) *DeleteOpenIDConnectProviderInput { 16192 s.OpenIDConnectProviderArn = &v 16193 return s 16194} 16195 16196// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/DeleteOpenIDConnectProviderOutput 16197type DeleteOpenIDConnectProviderOutput struct { 16198 _ struct{} `type:"structure"` 16199} 16200 16201// String returns the string representation 16202func (s DeleteOpenIDConnectProviderOutput) String() string { 16203 return awsutil.Prettify(s) 16204} 16205 16206// GoString returns the string representation 16207func (s DeleteOpenIDConnectProviderOutput) GoString() string { 16208 return s.String() 16209} 16210 16211// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/DeletePolicyRequest 16212type DeletePolicyInput struct { 16213 _ struct{} `type:"structure"` 16214 16215 // The Amazon Resource Name (ARN) of the IAM policy you want to delete. 16216 // 16217 // For more information about ARNs, see Amazon Resource Names (ARNs) and AWS 16218 // Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) 16219 // in the AWS General Reference. 16220 // 16221 // PolicyArn is a required field 16222 PolicyArn *string `min:"20" type:"string" required:"true"` 16223} 16224 16225// String returns the string representation 16226func (s DeletePolicyInput) String() string { 16227 return awsutil.Prettify(s) 16228} 16229 16230// GoString returns the string representation 16231func (s DeletePolicyInput) GoString() string { 16232 return s.String() 16233} 16234 16235// Validate inspects the fields of the type to determine if they are valid. 16236func (s *DeletePolicyInput) Validate() error { 16237 invalidParams := request.ErrInvalidParams{Context: "DeletePolicyInput"} 16238 if s.PolicyArn == nil { 16239 invalidParams.Add(request.NewErrParamRequired("PolicyArn")) 16240 } 16241 if s.PolicyArn != nil && len(*s.PolicyArn) < 20 { 16242 invalidParams.Add(request.NewErrParamMinLen("PolicyArn", 20)) 16243 } 16244 16245 if invalidParams.Len() > 0 { 16246 return invalidParams 16247 } 16248 return nil 16249} 16250 16251// SetPolicyArn sets the PolicyArn field's value. 16252func (s *DeletePolicyInput) SetPolicyArn(v string) *DeletePolicyInput { 16253 s.PolicyArn = &v 16254 return s 16255} 16256 16257// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/DeletePolicyOutput 16258type DeletePolicyOutput struct { 16259 _ struct{} `type:"structure"` 16260} 16261 16262// String returns the string representation 16263func (s DeletePolicyOutput) String() string { 16264 return awsutil.Prettify(s) 16265} 16266 16267// GoString returns the string representation 16268func (s DeletePolicyOutput) GoString() string { 16269 return s.String() 16270} 16271 16272// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/DeletePolicyVersionRequest 16273type DeletePolicyVersionInput struct { 16274 _ struct{} `type:"structure"` 16275 16276 // The Amazon Resource Name (ARN) of the IAM policy from which you want to delete 16277 // a version. 16278 // 16279 // For more information about ARNs, see Amazon Resource Names (ARNs) and AWS 16280 // Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) 16281 // in the AWS General Reference. 16282 // 16283 // PolicyArn is a required field 16284 PolicyArn *string `min:"20" type:"string" required:"true"` 16285 16286 // The policy version to delete. 16287 // 16288 // This parameter allows (per its regex pattern (http://wikipedia.org/wiki/regex)) 16289 // a string of characters that consists of the lowercase letter 'v' followed 16290 // by one or two digits, and optionally followed by a period '.' and a string 16291 // of letters and digits. 16292 // 16293 // For more information about managed policy versions, see Versioning for Managed 16294 // Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-versions.html) 16295 // in the IAM User Guide. 16296 // 16297 // VersionId is a required field 16298 VersionId *string `type:"string" required:"true"` 16299} 16300 16301// String returns the string representation 16302func (s DeletePolicyVersionInput) String() string { 16303 return awsutil.Prettify(s) 16304} 16305 16306// GoString returns the string representation 16307func (s DeletePolicyVersionInput) GoString() string { 16308 return s.String() 16309} 16310 16311// Validate inspects the fields of the type to determine if they are valid. 16312func (s *DeletePolicyVersionInput) Validate() error { 16313 invalidParams := request.ErrInvalidParams{Context: "DeletePolicyVersionInput"} 16314 if s.PolicyArn == nil { 16315 invalidParams.Add(request.NewErrParamRequired("PolicyArn")) 16316 } 16317 if s.PolicyArn != nil && len(*s.PolicyArn) < 20 { 16318 invalidParams.Add(request.NewErrParamMinLen("PolicyArn", 20)) 16319 } 16320 if s.VersionId == nil { 16321 invalidParams.Add(request.NewErrParamRequired("VersionId")) 16322 } 16323 16324 if invalidParams.Len() > 0 { 16325 return invalidParams 16326 } 16327 return nil 16328} 16329 16330// SetPolicyArn sets the PolicyArn field's value. 16331func (s *DeletePolicyVersionInput) SetPolicyArn(v string) *DeletePolicyVersionInput { 16332 s.PolicyArn = &v 16333 return s 16334} 16335 16336// SetVersionId sets the VersionId field's value. 16337func (s *DeletePolicyVersionInput) SetVersionId(v string) *DeletePolicyVersionInput { 16338 s.VersionId = &v 16339 return s 16340} 16341 16342// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/DeletePolicyVersionOutput 16343type DeletePolicyVersionOutput struct { 16344 _ struct{} `type:"structure"` 16345} 16346 16347// String returns the string representation 16348func (s DeletePolicyVersionOutput) String() string { 16349 return awsutil.Prettify(s) 16350} 16351 16352// GoString returns the string representation 16353func (s DeletePolicyVersionOutput) GoString() string { 16354 return s.String() 16355} 16356 16357// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/DeleteRoleRequest 16358type DeleteRoleInput struct { 16359 _ struct{} `type:"structure"` 16360 16361 // The name of the role to delete. 16362 // 16363 // This parameter allows (per its regex pattern (http://wikipedia.org/wiki/regex)) 16364 // a string of characters consisting of upper and lowercase alphanumeric characters 16365 // with no spaces. You can also include any of the following characters: _+=,.@- 16366 // 16367 // RoleName is a required field 16368 RoleName *string `min:"1" type:"string" required:"true"` 16369} 16370 16371// String returns the string representation 16372func (s DeleteRoleInput) String() string { 16373 return awsutil.Prettify(s) 16374} 16375 16376// GoString returns the string representation 16377func (s DeleteRoleInput) GoString() string { 16378 return s.String() 16379} 16380 16381// Validate inspects the fields of the type to determine if they are valid. 16382func (s *DeleteRoleInput) Validate() error { 16383 invalidParams := request.ErrInvalidParams{Context: "DeleteRoleInput"} 16384 if s.RoleName == nil { 16385 invalidParams.Add(request.NewErrParamRequired("RoleName")) 16386 } 16387 if s.RoleName != nil && len(*s.RoleName) < 1 { 16388 invalidParams.Add(request.NewErrParamMinLen("RoleName", 1)) 16389 } 16390 16391 if invalidParams.Len() > 0 { 16392 return invalidParams 16393 } 16394 return nil 16395} 16396 16397// SetRoleName sets the RoleName field's value. 16398func (s *DeleteRoleInput) SetRoleName(v string) *DeleteRoleInput { 16399 s.RoleName = &v 16400 return s 16401} 16402 16403// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/DeleteRoleOutput 16404type DeleteRoleOutput struct { 16405 _ struct{} `type:"structure"` 16406} 16407 16408// String returns the string representation 16409func (s DeleteRoleOutput) String() string { 16410 return awsutil.Prettify(s) 16411} 16412 16413// GoString returns the string representation 16414func (s DeleteRoleOutput) GoString() string { 16415 return s.String() 16416} 16417 16418// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/DeleteRolePolicyRequest 16419type DeleteRolePolicyInput struct { 16420 _ struct{} `type:"structure"` 16421 16422 // The name of the inline policy to delete from the specified IAM role. 16423 // 16424 // This parameter allows (per its regex pattern (http://wikipedia.org/wiki/regex)) 16425 // a string of characters consisting of upper and lowercase alphanumeric characters 16426 // with no spaces. You can also include any of the following characters: =,.@-+ 16427 // 16428 // PolicyName is a required field 16429 PolicyName *string `min:"1" type:"string" required:"true"` 16430 16431 // The name (friendly name, not ARN) identifying the role that the policy is 16432 // embedded in. 16433 // 16434 // This parameter allows (per its regex pattern (http://wikipedia.org/wiki/regex)) 16435 // a string of characters consisting of upper and lowercase alphanumeric characters 16436 // with no spaces. You can also include any of the following characters: _+=,.@- 16437 // 16438 // RoleName is a required field 16439 RoleName *string `min:"1" type:"string" required:"true"` 16440} 16441 16442// String returns the string representation 16443func (s DeleteRolePolicyInput) String() string { 16444 return awsutil.Prettify(s) 16445} 16446 16447// GoString returns the string representation 16448func (s DeleteRolePolicyInput) GoString() string { 16449 return s.String() 16450} 16451 16452// Validate inspects the fields of the type to determine if they are valid. 16453func (s *DeleteRolePolicyInput) Validate() error { 16454 invalidParams := request.ErrInvalidParams{Context: "DeleteRolePolicyInput"} 16455 if s.PolicyName == nil { 16456 invalidParams.Add(request.NewErrParamRequired("PolicyName")) 16457 } 16458 if s.PolicyName != nil && len(*s.PolicyName) < 1 { 16459 invalidParams.Add(request.NewErrParamMinLen("PolicyName", 1)) 16460 } 16461 if s.RoleName == nil { 16462 invalidParams.Add(request.NewErrParamRequired("RoleName")) 16463 } 16464 if s.RoleName != nil && len(*s.RoleName) < 1 { 16465 invalidParams.Add(request.NewErrParamMinLen("RoleName", 1)) 16466 } 16467 16468 if invalidParams.Len() > 0 { 16469 return invalidParams 16470 } 16471 return nil 16472} 16473 16474// SetPolicyName sets the PolicyName field's value. 16475func (s *DeleteRolePolicyInput) SetPolicyName(v string) *DeleteRolePolicyInput { 16476 s.PolicyName = &v 16477 return s 16478} 16479 16480// SetRoleName sets the RoleName field's value. 16481func (s *DeleteRolePolicyInput) SetRoleName(v string) *DeleteRolePolicyInput { 16482 s.RoleName = &v 16483 return s 16484} 16485 16486// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/DeleteRolePolicyOutput 16487type DeleteRolePolicyOutput struct { 16488 _ struct{} `type:"structure"` 16489} 16490 16491// String returns the string representation 16492func (s DeleteRolePolicyOutput) String() string { 16493 return awsutil.Prettify(s) 16494} 16495 16496// GoString returns the string representation 16497func (s DeleteRolePolicyOutput) GoString() string { 16498 return s.String() 16499} 16500 16501// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/DeleteSAMLProviderRequest 16502type DeleteSAMLProviderInput struct { 16503 _ struct{} `type:"structure"` 16504 16505 // The Amazon Resource Name (ARN) of the SAML provider to delete. 16506 // 16507 // SAMLProviderArn is a required field 16508 SAMLProviderArn *string `min:"20" type:"string" required:"true"` 16509} 16510 16511// String returns the string representation 16512func (s DeleteSAMLProviderInput) String() string { 16513 return awsutil.Prettify(s) 16514} 16515 16516// GoString returns the string representation 16517func (s DeleteSAMLProviderInput) GoString() string { 16518 return s.String() 16519} 16520 16521// Validate inspects the fields of the type to determine if they are valid. 16522func (s *DeleteSAMLProviderInput) Validate() error { 16523 invalidParams := request.ErrInvalidParams{Context: "DeleteSAMLProviderInput"} 16524 if s.SAMLProviderArn == nil { 16525 invalidParams.Add(request.NewErrParamRequired("SAMLProviderArn")) 16526 } 16527 if s.SAMLProviderArn != nil && len(*s.SAMLProviderArn) < 20 { 16528 invalidParams.Add(request.NewErrParamMinLen("SAMLProviderArn", 20)) 16529 } 16530 16531 if invalidParams.Len() > 0 { 16532 return invalidParams 16533 } 16534 return nil 16535} 16536 16537// SetSAMLProviderArn sets the SAMLProviderArn field's value. 16538func (s *DeleteSAMLProviderInput) SetSAMLProviderArn(v string) *DeleteSAMLProviderInput { 16539 s.SAMLProviderArn = &v 16540 return s 16541} 16542 16543// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/DeleteSAMLProviderOutput 16544type DeleteSAMLProviderOutput struct { 16545 _ struct{} `type:"structure"` 16546} 16547 16548// String returns the string representation 16549func (s DeleteSAMLProviderOutput) String() string { 16550 return awsutil.Prettify(s) 16551} 16552 16553// GoString returns the string representation 16554func (s DeleteSAMLProviderOutput) GoString() string { 16555 return s.String() 16556} 16557 16558// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/DeleteSSHPublicKeyRequest 16559type DeleteSSHPublicKeyInput struct { 16560 _ struct{} `type:"structure"` 16561 16562 // The unique identifier for the SSH public key. 16563 // 16564 // This parameter allows (per its regex pattern (http://wikipedia.org/wiki/regex)) 16565 // a string of characters that can consist of any upper or lowercased letter 16566 // or digit. 16567 // 16568 // SSHPublicKeyId is a required field 16569 SSHPublicKeyId *string `min:"20" type:"string" required:"true"` 16570 16571 // The name of the IAM user associated with the SSH public key. 16572 // 16573 // This parameter allows (per its regex pattern (http://wikipedia.org/wiki/regex)) 16574 // a string of characters consisting of upper and lowercase alphanumeric characters 16575 // with no spaces. You can also include any of the following characters: =,.@- 16576 // 16577 // UserName is a required field 16578 UserName *string `min:"1" type:"string" required:"true"` 16579} 16580 16581// String returns the string representation 16582func (s DeleteSSHPublicKeyInput) String() string { 16583 return awsutil.Prettify(s) 16584} 16585 16586// GoString returns the string representation 16587func (s DeleteSSHPublicKeyInput) GoString() string { 16588 return s.String() 16589} 16590 16591// Validate inspects the fields of the type to determine if they are valid. 16592func (s *DeleteSSHPublicKeyInput) Validate() error { 16593 invalidParams := request.ErrInvalidParams{Context: "DeleteSSHPublicKeyInput"} 16594 if s.SSHPublicKeyId == nil { 16595 invalidParams.Add(request.NewErrParamRequired("SSHPublicKeyId")) 16596 } 16597 if s.SSHPublicKeyId != nil && len(*s.SSHPublicKeyId) < 20 { 16598 invalidParams.Add(request.NewErrParamMinLen("SSHPublicKeyId", 20)) 16599 } 16600 if s.UserName == nil { 16601 invalidParams.Add(request.NewErrParamRequired("UserName")) 16602 } 16603 if s.UserName != nil && len(*s.UserName) < 1 { 16604 invalidParams.Add(request.NewErrParamMinLen("UserName", 1)) 16605 } 16606 16607 if invalidParams.Len() > 0 { 16608 return invalidParams 16609 } 16610 return nil 16611} 16612 16613// SetSSHPublicKeyId sets the SSHPublicKeyId field's value. 16614func (s *DeleteSSHPublicKeyInput) SetSSHPublicKeyId(v string) *DeleteSSHPublicKeyInput { 16615 s.SSHPublicKeyId = &v 16616 return s 16617} 16618 16619// SetUserName sets the UserName field's value. 16620func (s *DeleteSSHPublicKeyInput) SetUserName(v string) *DeleteSSHPublicKeyInput { 16621 s.UserName = &v 16622 return s 16623} 16624 16625// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/DeleteSSHPublicKeyOutput 16626type DeleteSSHPublicKeyOutput struct { 16627 _ struct{} `type:"structure"` 16628} 16629 16630// String returns the string representation 16631func (s DeleteSSHPublicKeyOutput) String() string { 16632 return awsutil.Prettify(s) 16633} 16634 16635// GoString returns the string representation 16636func (s DeleteSSHPublicKeyOutput) GoString() string { 16637 return s.String() 16638} 16639 16640// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/DeleteServerCertificateRequest 16641type DeleteServerCertificateInput struct { 16642 _ struct{} `type:"structure"` 16643 16644 // The name of the server certificate you want to delete. 16645 // 16646 // This parameter allows (per its regex pattern (http://wikipedia.org/wiki/regex)) 16647 // a string of characters consisting of upper and lowercase alphanumeric characters 16648 // with no spaces. You can also include any of the following characters: =,.@- 16649 // 16650 // ServerCertificateName is a required field 16651 ServerCertificateName *string `min:"1" type:"string" required:"true"` 16652} 16653 16654// String returns the string representation 16655func (s DeleteServerCertificateInput) String() string { 16656 return awsutil.Prettify(s) 16657} 16658 16659// GoString returns the string representation 16660func (s DeleteServerCertificateInput) GoString() string { 16661 return s.String() 16662} 16663 16664// Validate inspects the fields of the type to determine if they are valid. 16665func (s *DeleteServerCertificateInput) Validate() error { 16666 invalidParams := request.ErrInvalidParams{Context: "DeleteServerCertificateInput"} 16667 if s.ServerCertificateName == nil { 16668 invalidParams.Add(request.NewErrParamRequired("ServerCertificateName")) 16669 } 16670 if s.ServerCertificateName != nil && len(*s.ServerCertificateName) < 1 { 16671 invalidParams.Add(request.NewErrParamMinLen("ServerCertificateName", 1)) 16672 } 16673 16674 if invalidParams.Len() > 0 { 16675 return invalidParams 16676 } 16677 return nil 16678} 16679 16680// SetServerCertificateName sets the ServerCertificateName field's value. 16681func (s *DeleteServerCertificateInput) SetServerCertificateName(v string) *DeleteServerCertificateInput { 16682 s.ServerCertificateName = &v 16683 return s 16684} 16685 16686// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/DeleteServerCertificateOutput 16687type DeleteServerCertificateOutput struct { 16688 _ struct{} `type:"structure"` 16689} 16690 16691// String returns the string representation 16692func (s DeleteServerCertificateOutput) String() string { 16693 return awsutil.Prettify(s) 16694} 16695 16696// GoString returns the string representation 16697func (s DeleteServerCertificateOutput) GoString() string { 16698 return s.String() 16699} 16700 16701// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/DeleteServiceLinkedRoleRequest 16702type DeleteServiceLinkedRoleInput struct { 16703 _ struct{} `type:"structure"` 16704 16705 // The name of the service-linked role to be deleted. 16706 // 16707 // RoleName is a required field 16708 RoleName *string `min:"1" type:"string" required:"true"` 16709} 16710 16711// String returns the string representation 16712func (s DeleteServiceLinkedRoleInput) String() string { 16713 return awsutil.Prettify(s) 16714} 16715 16716// GoString returns the string representation 16717func (s DeleteServiceLinkedRoleInput) GoString() string { 16718 return s.String() 16719} 16720 16721// Validate inspects the fields of the type to determine if they are valid. 16722func (s *DeleteServiceLinkedRoleInput) Validate() error { 16723 invalidParams := request.ErrInvalidParams{Context: "DeleteServiceLinkedRoleInput"} 16724 if s.RoleName == nil { 16725 invalidParams.Add(request.NewErrParamRequired("RoleName")) 16726 } 16727 if s.RoleName != nil && len(*s.RoleName) < 1 { 16728 invalidParams.Add(request.NewErrParamMinLen("RoleName", 1)) 16729 } 16730 16731 if invalidParams.Len() > 0 { 16732 return invalidParams 16733 } 16734 return nil 16735} 16736 16737// SetRoleName sets the RoleName field's value. 16738func (s *DeleteServiceLinkedRoleInput) SetRoleName(v string) *DeleteServiceLinkedRoleInput { 16739 s.RoleName = &v 16740 return s 16741} 16742 16743// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/DeleteServiceLinkedRoleResponse 16744type DeleteServiceLinkedRoleOutput struct { 16745 _ struct{} `type:"structure"` 16746 16747 // The deletion task identifier that you can use to check the status of the 16748 // deletion. This identifier is returned in the format task/aws-service-role/<service-principal-name>/<role-name>/<task-uuid>. 16749 // 16750 // DeletionTaskId is a required field 16751 DeletionTaskId *string `min:"1" type:"string" required:"true"` 16752} 16753 16754// String returns the string representation 16755func (s DeleteServiceLinkedRoleOutput) String() string { 16756 return awsutil.Prettify(s) 16757} 16758 16759// GoString returns the string representation 16760func (s DeleteServiceLinkedRoleOutput) GoString() string { 16761 return s.String() 16762} 16763 16764// SetDeletionTaskId sets the DeletionTaskId field's value. 16765func (s *DeleteServiceLinkedRoleOutput) SetDeletionTaskId(v string) *DeleteServiceLinkedRoleOutput { 16766 s.DeletionTaskId = &v 16767 return s 16768} 16769 16770// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/DeleteServiceSpecificCredentialRequest 16771type DeleteServiceSpecificCredentialInput struct { 16772 _ struct{} `type:"structure"` 16773 16774 // The unique identifier of the service-specific credential. You can get this 16775 // value by calling ListServiceSpecificCredentials. 16776 // 16777 // This parameter allows (per its regex pattern (http://wikipedia.org/wiki/regex)) 16778 // a string of characters that can consist of any upper or lowercased letter 16779 // or digit. 16780 // 16781 // ServiceSpecificCredentialId is a required field 16782 ServiceSpecificCredentialId *string `min:"20" type:"string" required:"true"` 16783 16784 // The name of the IAM user associated with the service-specific credential. 16785 // If this value is not specified, then the operation assumes the user whose 16786 // credentials are used to call the operation. 16787 // 16788 // This parameter allows (per its regex pattern (http://wikipedia.org/wiki/regex)) 16789 // a string of characters consisting of upper and lowercase alphanumeric characters 16790 // with no spaces. You can also include any of the following characters: =,.@- 16791 UserName *string `min:"1" type:"string"` 16792} 16793 16794// String returns the string representation 16795func (s DeleteServiceSpecificCredentialInput) String() string { 16796 return awsutil.Prettify(s) 16797} 16798 16799// GoString returns the string representation 16800func (s DeleteServiceSpecificCredentialInput) GoString() string { 16801 return s.String() 16802} 16803 16804// Validate inspects the fields of the type to determine if they are valid. 16805func (s *DeleteServiceSpecificCredentialInput) Validate() error { 16806 invalidParams := request.ErrInvalidParams{Context: "DeleteServiceSpecificCredentialInput"} 16807 if s.ServiceSpecificCredentialId == nil { 16808 invalidParams.Add(request.NewErrParamRequired("ServiceSpecificCredentialId")) 16809 } 16810 if s.ServiceSpecificCredentialId != nil && len(*s.ServiceSpecificCredentialId) < 20 { 16811 invalidParams.Add(request.NewErrParamMinLen("ServiceSpecificCredentialId", 20)) 16812 } 16813 if s.UserName != nil && len(*s.UserName) < 1 { 16814 invalidParams.Add(request.NewErrParamMinLen("UserName", 1)) 16815 } 16816 16817 if invalidParams.Len() > 0 { 16818 return invalidParams 16819 } 16820 return nil 16821} 16822 16823// SetServiceSpecificCredentialId sets the ServiceSpecificCredentialId field's value. 16824func (s *DeleteServiceSpecificCredentialInput) SetServiceSpecificCredentialId(v string) *DeleteServiceSpecificCredentialInput { 16825 s.ServiceSpecificCredentialId = &v 16826 return s 16827} 16828 16829// SetUserName sets the UserName field's value. 16830func (s *DeleteServiceSpecificCredentialInput) SetUserName(v string) *DeleteServiceSpecificCredentialInput { 16831 s.UserName = &v 16832 return s 16833} 16834 16835// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/DeleteServiceSpecificCredentialOutput 16836type DeleteServiceSpecificCredentialOutput struct { 16837 _ struct{} `type:"structure"` 16838} 16839 16840// String returns the string representation 16841func (s DeleteServiceSpecificCredentialOutput) String() string { 16842 return awsutil.Prettify(s) 16843} 16844 16845// GoString returns the string representation 16846func (s DeleteServiceSpecificCredentialOutput) GoString() string { 16847 return s.String() 16848} 16849 16850// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/DeleteSigningCertificateRequest 16851type DeleteSigningCertificateInput struct { 16852 _ struct{} `type:"structure"` 16853 16854 // The ID of the signing certificate to delete. 16855 // 16856 // The format of this parameter, as described by its regex (http://wikipedia.org/wiki/regex) 16857 // pattern, is a string of characters that can be upper- or lower-cased letters 16858 // or digits. 16859 // 16860 // CertificateId is a required field 16861 CertificateId *string `min:"24" type:"string" required:"true"` 16862 16863 // The name of the user the signing certificate belongs to. 16864 // 16865 // This parameter allows (per its regex pattern (http://wikipedia.org/wiki/regex)) 16866 // a string of characters consisting of upper and lowercase alphanumeric characters 16867 // with no spaces. You can also include any of the following characters: =,.@- 16868 UserName *string `min:"1" type:"string"` 16869} 16870 16871// String returns the string representation 16872func (s DeleteSigningCertificateInput) String() string { 16873 return awsutil.Prettify(s) 16874} 16875 16876// GoString returns the string representation 16877func (s DeleteSigningCertificateInput) GoString() string { 16878 return s.String() 16879} 16880 16881// Validate inspects the fields of the type to determine if they are valid. 16882func (s *DeleteSigningCertificateInput) Validate() error { 16883 invalidParams := request.ErrInvalidParams{Context: "DeleteSigningCertificateInput"} 16884 if s.CertificateId == nil { 16885 invalidParams.Add(request.NewErrParamRequired("CertificateId")) 16886 } 16887 if s.CertificateId != nil && len(*s.CertificateId) < 24 { 16888 invalidParams.Add(request.NewErrParamMinLen("CertificateId", 24)) 16889 } 16890 if s.UserName != nil && len(*s.UserName) < 1 { 16891 invalidParams.Add(request.NewErrParamMinLen("UserName", 1)) 16892 } 16893 16894 if invalidParams.Len() > 0 { 16895 return invalidParams 16896 } 16897 return nil 16898} 16899 16900// SetCertificateId sets the CertificateId field's value. 16901func (s *DeleteSigningCertificateInput) SetCertificateId(v string) *DeleteSigningCertificateInput { 16902 s.CertificateId = &v 16903 return s 16904} 16905 16906// SetUserName sets the UserName field's value. 16907func (s *DeleteSigningCertificateInput) SetUserName(v string) *DeleteSigningCertificateInput { 16908 s.UserName = &v 16909 return s 16910} 16911 16912// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/DeleteSigningCertificateOutput 16913type DeleteSigningCertificateOutput struct { 16914 _ struct{} `type:"structure"` 16915} 16916 16917// String returns the string representation 16918func (s DeleteSigningCertificateOutput) String() string { 16919 return awsutil.Prettify(s) 16920} 16921 16922// GoString returns the string representation 16923func (s DeleteSigningCertificateOutput) GoString() string { 16924 return s.String() 16925} 16926 16927// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/DeleteUserRequest 16928type DeleteUserInput struct { 16929 _ struct{} `type:"structure"` 16930 16931 // The name of the user to delete. 16932 // 16933 // This parameter allows (per its regex pattern (http://wikipedia.org/wiki/regex)) 16934 // a string of characters consisting of upper and lowercase alphanumeric characters 16935 // with no spaces. You can also include any of the following characters: =,.@- 16936 // 16937 // UserName is a required field 16938 UserName *string `min:"1" type:"string" required:"true"` 16939} 16940 16941// String returns the string representation 16942func (s DeleteUserInput) String() string { 16943 return awsutil.Prettify(s) 16944} 16945 16946// GoString returns the string representation 16947func (s DeleteUserInput) GoString() string { 16948 return s.String() 16949} 16950 16951// Validate inspects the fields of the type to determine if they are valid. 16952func (s *DeleteUserInput) Validate() error { 16953 invalidParams := request.ErrInvalidParams{Context: "DeleteUserInput"} 16954 if s.UserName == nil { 16955 invalidParams.Add(request.NewErrParamRequired("UserName")) 16956 } 16957 if s.UserName != nil && len(*s.UserName) < 1 { 16958 invalidParams.Add(request.NewErrParamMinLen("UserName", 1)) 16959 } 16960 16961 if invalidParams.Len() > 0 { 16962 return invalidParams 16963 } 16964 return nil 16965} 16966 16967// SetUserName sets the UserName field's value. 16968func (s *DeleteUserInput) SetUserName(v string) *DeleteUserInput { 16969 s.UserName = &v 16970 return s 16971} 16972 16973// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/DeleteUserOutput 16974type DeleteUserOutput struct { 16975 _ struct{} `type:"structure"` 16976} 16977 16978// String returns the string representation 16979func (s DeleteUserOutput) String() string { 16980 return awsutil.Prettify(s) 16981} 16982 16983// GoString returns the string representation 16984func (s DeleteUserOutput) GoString() string { 16985 return s.String() 16986} 16987 16988// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/DeleteUserPolicyRequest 16989type DeleteUserPolicyInput struct { 16990 _ struct{} `type:"structure"` 16991 16992 // The name identifying the policy document to delete. 16993 // 16994 // This parameter allows (per its regex pattern (http://wikipedia.org/wiki/regex)) 16995 // a string of characters consisting of upper and lowercase alphanumeric characters 16996 // with no spaces. You can also include any of the following characters: =,.@-+ 16997 // 16998 // PolicyName is a required field 16999 PolicyName *string `min:"1" type:"string" required:"true"` 17000 17001 // The name (friendly name, not ARN) identifying the user that the policy is 17002 // embedded in. 17003 // 17004 // This parameter allows (per its regex pattern (http://wikipedia.org/wiki/regex)) 17005 // a string of characters consisting of upper and lowercase alphanumeric characters 17006 // with no spaces. You can also include any of the following characters: =,.@- 17007 // 17008 // UserName is a required field 17009 UserName *string `min:"1" type:"string" required:"true"` 17010} 17011 17012// String returns the string representation 17013func (s DeleteUserPolicyInput) String() string { 17014 return awsutil.Prettify(s) 17015} 17016 17017// GoString returns the string representation 17018func (s DeleteUserPolicyInput) GoString() string { 17019 return s.String() 17020} 17021 17022// Validate inspects the fields of the type to determine if they are valid. 17023func (s *DeleteUserPolicyInput) Validate() error { 17024 invalidParams := request.ErrInvalidParams{Context: "DeleteUserPolicyInput"} 17025 if s.PolicyName == nil { 17026 invalidParams.Add(request.NewErrParamRequired("PolicyName")) 17027 } 17028 if s.PolicyName != nil && len(*s.PolicyName) < 1 { 17029 invalidParams.Add(request.NewErrParamMinLen("PolicyName", 1)) 17030 } 17031 if s.UserName == nil { 17032 invalidParams.Add(request.NewErrParamRequired("UserName")) 17033 } 17034 if s.UserName != nil && len(*s.UserName) < 1 { 17035 invalidParams.Add(request.NewErrParamMinLen("UserName", 1)) 17036 } 17037 17038 if invalidParams.Len() > 0 { 17039 return invalidParams 17040 } 17041 return nil 17042} 17043 17044// SetPolicyName sets the PolicyName field's value. 17045func (s *DeleteUserPolicyInput) SetPolicyName(v string) *DeleteUserPolicyInput { 17046 s.PolicyName = &v 17047 return s 17048} 17049 17050// SetUserName sets the UserName field's value. 17051func (s *DeleteUserPolicyInput) SetUserName(v string) *DeleteUserPolicyInput { 17052 s.UserName = &v 17053 return s 17054} 17055 17056// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/DeleteUserPolicyOutput 17057type DeleteUserPolicyOutput struct { 17058 _ struct{} `type:"structure"` 17059} 17060 17061// String returns the string representation 17062func (s DeleteUserPolicyOutput) String() string { 17063 return awsutil.Prettify(s) 17064} 17065 17066// GoString returns the string representation 17067func (s DeleteUserPolicyOutput) GoString() string { 17068 return s.String() 17069} 17070 17071// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/DeleteVirtualMFADeviceRequest 17072type DeleteVirtualMFADeviceInput struct { 17073 _ struct{} `type:"structure"` 17074 17075 // The serial number that uniquely identifies the MFA device. For virtual MFA 17076 // devices, the serial number is the same as the ARN. 17077 // 17078 // This parameter allows (per its regex pattern (http://wikipedia.org/wiki/regex)) 17079 // a string of characters consisting of upper and lowercase alphanumeric characters 17080 // with no spaces. You can also include any of the following characters: =,.@:/- 17081 // 17082 // SerialNumber is a required field 17083 SerialNumber *string `min:"9" type:"string" required:"true"` 17084} 17085 17086// String returns the string representation 17087func (s DeleteVirtualMFADeviceInput) String() string { 17088 return awsutil.Prettify(s) 17089} 17090 17091// GoString returns the string representation 17092func (s DeleteVirtualMFADeviceInput) GoString() string { 17093 return s.String() 17094} 17095 17096// Validate inspects the fields of the type to determine if they are valid. 17097func (s *DeleteVirtualMFADeviceInput) Validate() error { 17098 invalidParams := request.ErrInvalidParams{Context: "DeleteVirtualMFADeviceInput"} 17099 if s.SerialNumber == nil { 17100 invalidParams.Add(request.NewErrParamRequired("SerialNumber")) 17101 } 17102 if s.SerialNumber != nil && len(*s.SerialNumber) < 9 { 17103 invalidParams.Add(request.NewErrParamMinLen("SerialNumber", 9)) 17104 } 17105 17106 if invalidParams.Len() > 0 { 17107 return invalidParams 17108 } 17109 return nil 17110} 17111 17112// SetSerialNumber sets the SerialNumber field's value. 17113func (s *DeleteVirtualMFADeviceInput) SetSerialNumber(v string) *DeleteVirtualMFADeviceInput { 17114 s.SerialNumber = &v 17115 return s 17116} 17117 17118// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/DeleteVirtualMFADeviceOutput 17119type DeleteVirtualMFADeviceOutput struct { 17120 _ struct{} `type:"structure"` 17121} 17122 17123// String returns the string representation 17124func (s DeleteVirtualMFADeviceOutput) String() string { 17125 return awsutil.Prettify(s) 17126} 17127 17128// GoString returns the string representation 17129func (s DeleteVirtualMFADeviceOutput) GoString() string { 17130 return s.String() 17131} 17132 17133// The reason that the service-linked role deletion failed. 17134// 17135// This data type is used as a response element in the GetServiceLinkedRoleDeletionStatus 17136// operation. 17137// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/DeletionTaskFailureReasonType 17138type DeletionTaskFailureReasonType struct { 17139 _ struct{} `type:"structure"` 17140 17141 // A short description of the reason that the service-linked role deletion failed. 17142 Reason *string `type:"string"` 17143 17144 // A list of objects that contains details about the service-linked role deletion 17145 // failure. If the service-linked role has active sessions or if any resources 17146 // that were used by the role have not been deleted from the linked service, 17147 // the role can't be deleted. This parameter includes a list of the resources 17148 // that are associated with the role and the region in which the resources are 17149 // being used. 17150 RoleUsageList []*RoleUsageType `type:"list"` 17151} 17152 17153// String returns the string representation 17154func (s DeletionTaskFailureReasonType) String() string { 17155 return awsutil.Prettify(s) 17156} 17157 17158// GoString returns the string representation 17159func (s DeletionTaskFailureReasonType) GoString() string { 17160 return s.String() 17161} 17162 17163// SetReason sets the Reason field's value. 17164func (s *DeletionTaskFailureReasonType) SetReason(v string) *DeletionTaskFailureReasonType { 17165 s.Reason = &v 17166 return s 17167} 17168 17169// SetRoleUsageList sets the RoleUsageList field's value. 17170func (s *DeletionTaskFailureReasonType) SetRoleUsageList(v []*RoleUsageType) *DeletionTaskFailureReasonType { 17171 s.RoleUsageList = v 17172 return s 17173} 17174 17175// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/DetachGroupPolicyRequest 17176type DetachGroupPolicyInput struct { 17177 _ struct{} `type:"structure"` 17178 17179 // The name (friendly name, not ARN) of the IAM group to detach the policy from. 17180 // 17181 // This parameter allows (per its regex pattern (http://wikipedia.org/wiki/regex)) 17182 // a string of characters consisting of upper and lowercase alphanumeric characters 17183 // with no spaces. You can also include any of the following characters: =,.@- 17184 // 17185 // GroupName is a required field 17186 GroupName *string `min:"1" type:"string" required:"true"` 17187 17188 // The Amazon Resource Name (ARN) of the IAM policy you want to detach. 17189 // 17190 // For more information about ARNs, see Amazon Resource Names (ARNs) and AWS 17191 // Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) 17192 // in the AWS General Reference. 17193 // 17194 // PolicyArn is a required field 17195 PolicyArn *string `min:"20" type:"string" required:"true"` 17196} 17197 17198// String returns the string representation 17199func (s DetachGroupPolicyInput) String() string { 17200 return awsutil.Prettify(s) 17201} 17202 17203// GoString returns the string representation 17204func (s DetachGroupPolicyInput) GoString() string { 17205 return s.String() 17206} 17207 17208// Validate inspects the fields of the type to determine if they are valid. 17209func (s *DetachGroupPolicyInput) Validate() error { 17210 invalidParams := request.ErrInvalidParams{Context: "DetachGroupPolicyInput"} 17211 if s.GroupName == nil { 17212 invalidParams.Add(request.NewErrParamRequired("GroupName")) 17213 } 17214 if s.GroupName != nil && len(*s.GroupName) < 1 { 17215 invalidParams.Add(request.NewErrParamMinLen("GroupName", 1)) 17216 } 17217 if s.PolicyArn == nil { 17218 invalidParams.Add(request.NewErrParamRequired("PolicyArn")) 17219 } 17220 if s.PolicyArn != nil && len(*s.PolicyArn) < 20 { 17221 invalidParams.Add(request.NewErrParamMinLen("PolicyArn", 20)) 17222 } 17223 17224 if invalidParams.Len() > 0 { 17225 return invalidParams 17226 } 17227 return nil 17228} 17229 17230// SetGroupName sets the GroupName field's value. 17231func (s *DetachGroupPolicyInput) SetGroupName(v string) *DetachGroupPolicyInput { 17232 s.GroupName = &v 17233 return s 17234} 17235 17236// SetPolicyArn sets the PolicyArn field's value. 17237func (s *DetachGroupPolicyInput) SetPolicyArn(v string) *DetachGroupPolicyInput { 17238 s.PolicyArn = &v 17239 return s 17240} 17241 17242// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/DetachGroupPolicyOutput 17243type DetachGroupPolicyOutput struct { 17244 _ struct{} `type:"structure"` 17245} 17246 17247// String returns the string representation 17248func (s DetachGroupPolicyOutput) String() string { 17249 return awsutil.Prettify(s) 17250} 17251 17252// GoString returns the string representation 17253func (s DetachGroupPolicyOutput) GoString() string { 17254 return s.String() 17255} 17256 17257// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/DetachRolePolicyRequest 17258type DetachRolePolicyInput struct { 17259 _ struct{} `type:"structure"` 17260 17261 // The Amazon Resource Name (ARN) of the IAM policy you want to detach. 17262 // 17263 // For more information about ARNs, see Amazon Resource Names (ARNs) and AWS 17264 // Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) 17265 // in the AWS General Reference. 17266 // 17267 // PolicyArn is a required field 17268 PolicyArn *string `min:"20" type:"string" required:"true"` 17269 17270 // The name (friendly name, not ARN) of the IAM role to detach the policy from. 17271 // 17272 // This parameter allows (per its regex pattern (http://wikipedia.org/wiki/regex)) 17273 // a string of characters consisting of upper and lowercase alphanumeric characters 17274 // with no spaces. You can also include any of the following characters: _+=,.@- 17275 // 17276 // RoleName is a required field 17277 RoleName *string `min:"1" type:"string" required:"true"` 17278} 17279 17280// String returns the string representation 17281func (s DetachRolePolicyInput) String() string { 17282 return awsutil.Prettify(s) 17283} 17284 17285// GoString returns the string representation 17286func (s DetachRolePolicyInput) GoString() string { 17287 return s.String() 17288} 17289 17290// Validate inspects the fields of the type to determine if they are valid. 17291func (s *DetachRolePolicyInput) Validate() error { 17292 invalidParams := request.ErrInvalidParams{Context: "DetachRolePolicyInput"} 17293 if s.PolicyArn == nil { 17294 invalidParams.Add(request.NewErrParamRequired("PolicyArn")) 17295 } 17296 if s.PolicyArn != nil && len(*s.PolicyArn) < 20 { 17297 invalidParams.Add(request.NewErrParamMinLen("PolicyArn", 20)) 17298 } 17299 if s.RoleName == nil { 17300 invalidParams.Add(request.NewErrParamRequired("RoleName")) 17301 } 17302 if s.RoleName != nil && len(*s.RoleName) < 1 { 17303 invalidParams.Add(request.NewErrParamMinLen("RoleName", 1)) 17304 } 17305 17306 if invalidParams.Len() > 0 { 17307 return invalidParams 17308 } 17309 return nil 17310} 17311 17312// SetPolicyArn sets the PolicyArn field's value. 17313func (s *DetachRolePolicyInput) SetPolicyArn(v string) *DetachRolePolicyInput { 17314 s.PolicyArn = &v 17315 return s 17316} 17317 17318// SetRoleName sets the RoleName field's value. 17319func (s *DetachRolePolicyInput) SetRoleName(v string) *DetachRolePolicyInput { 17320 s.RoleName = &v 17321 return s 17322} 17323 17324// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/DetachRolePolicyOutput 17325type DetachRolePolicyOutput struct { 17326 _ struct{} `type:"structure"` 17327} 17328 17329// String returns the string representation 17330func (s DetachRolePolicyOutput) String() string { 17331 return awsutil.Prettify(s) 17332} 17333 17334// GoString returns the string representation 17335func (s DetachRolePolicyOutput) GoString() string { 17336 return s.String() 17337} 17338 17339// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/DetachUserPolicyRequest 17340type DetachUserPolicyInput struct { 17341 _ struct{} `type:"structure"` 17342 17343 // The Amazon Resource Name (ARN) of the IAM policy you want to detach. 17344 // 17345 // For more information about ARNs, see Amazon Resource Names (ARNs) and AWS 17346 // Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) 17347 // in the AWS General Reference. 17348 // 17349 // PolicyArn is a required field 17350 PolicyArn *string `min:"20" type:"string" required:"true"` 17351 17352 // The name (friendly name, not ARN) of the IAM user to detach the policy from. 17353 // 17354 // This parameter allows (per its regex pattern (http://wikipedia.org/wiki/regex)) 17355 // a string of characters consisting of upper and lowercase alphanumeric characters 17356 // with no spaces. You can also include any of the following characters: =,.@- 17357 // 17358 // UserName is a required field 17359 UserName *string `min:"1" type:"string" required:"true"` 17360} 17361 17362// String returns the string representation 17363func (s DetachUserPolicyInput) String() string { 17364 return awsutil.Prettify(s) 17365} 17366 17367// GoString returns the string representation 17368func (s DetachUserPolicyInput) GoString() string { 17369 return s.String() 17370} 17371 17372// Validate inspects the fields of the type to determine if they are valid. 17373func (s *DetachUserPolicyInput) Validate() error { 17374 invalidParams := request.ErrInvalidParams{Context: "DetachUserPolicyInput"} 17375 if s.PolicyArn == nil { 17376 invalidParams.Add(request.NewErrParamRequired("PolicyArn")) 17377 } 17378 if s.PolicyArn != nil && len(*s.PolicyArn) < 20 { 17379 invalidParams.Add(request.NewErrParamMinLen("PolicyArn", 20)) 17380 } 17381 if s.UserName == nil { 17382 invalidParams.Add(request.NewErrParamRequired("UserName")) 17383 } 17384 if s.UserName != nil && len(*s.UserName) < 1 { 17385 invalidParams.Add(request.NewErrParamMinLen("UserName", 1)) 17386 } 17387 17388 if invalidParams.Len() > 0 { 17389 return invalidParams 17390 } 17391 return nil 17392} 17393 17394// SetPolicyArn sets the PolicyArn field's value. 17395func (s *DetachUserPolicyInput) SetPolicyArn(v string) *DetachUserPolicyInput { 17396 s.PolicyArn = &v 17397 return s 17398} 17399 17400// SetUserName sets the UserName field's value. 17401func (s *DetachUserPolicyInput) SetUserName(v string) *DetachUserPolicyInput { 17402 s.UserName = &v 17403 return s 17404} 17405 17406// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/DetachUserPolicyOutput 17407type DetachUserPolicyOutput struct { 17408 _ struct{} `type:"structure"` 17409} 17410 17411// String returns the string representation 17412func (s DetachUserPolicyOutput) String() string { 17413 return awsutil.Prettify(s) 17414} 17415 17416// GoString returns the string representation 17417func (s DetachUserPolicyOutput) GoString() string { 17418 return s.String() 17419} 17420 17421// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/EnableMFADeviceRequest 17422type EnableMFADeviceInput struct { 17423 _ struct{} `type:"structure"` 17424 17425 // An authentication code emitted by the device. 17426 // 17427 // The format for this parameter is a string of 6 digits. 17428 // 17429 // Submit your request immediately after generating the authentication codes. 17430 // If you generate the codes and then wait too long to submit the request, the 17431 // MFA device successfully associates with the user but the MFA device becomes 17432 // out of sync. This happens because time-based one-time passwords (TOTP) expire 17433 // after a short period of time. If this happens, you can resync the device 17434 // (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_mfa_sync.html). 17435 // 17436 // AuthenticationCode1 is a required field 17437 AuthenticationCode1 *string `min:"6" type:"string" required:"true"` 17438 17439 // A subsequent authentication code emitted by the device. 17440 // 17441 // The format for this parameter is a string of 6 digits. 17442 // 17443 // Submit your request immediately after generating the authentication codes. 17444 // If you generate the codes and then wait too long to submit the request, the 17445 // MFA device successfully associates with the user but the MFA device becomes 17446 // out of sync. This happens because time-based one-time passwords (TOTP) expire 17447 // after a short period of time. If this happens, you can resync the device 17448 // (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_mfa_sync.html). 17449 // 17450 // AuthenticationCode2 is a required field 17451 AuthenticationCode2 *string `min:"6" type:"string" required:"true"` 17452 17453 // The serial number that uniquely identifies the MFA device. For virtual MFA 17454 // devices, the serial number is the device ARN. 17455 // 17456 // This parameter allows (per its regex pattern (http://wikipedia.org/wiki/regex)) 17457 // a string of characters consisting of upper and lowercase alphanumeric characters 17458 // with no spaces. You can also include any of the following characters: =,.@:/- 17459 // 17460 // SerialNumber is a required field 17461 SerialNumber *string `min:"9" type:"string" required:"true"` 17462 17463 // The name of the IAM user for whom you want to enable the MFA device. 17464 // 17465 // This parameter allows (per its regex pattern (http://wikipedia.org/wiki/regex)) 17466 // a string of characters consisting of upper and lowercase alphanumeric characters 17467 // with no spaces. You can also include any of the following characters: =,.@- 17468 // 17469 // UserName is a required field 17470 UserName *string `min:"1" type:"string" required:"true"` 17471} 17472 17473// String returns the string representation 17474func (s EnableMFADeviceInput) String() string { 17475 return awsutil.Prettify(s) 17476} 17477 17478// GoString returns the string representation 17479func (s EnableMFADeviceInput) GoString() string { 17480 return s.String() 17481} 17482 17483// Validate inspects the fields of the type to determine if they are valid. 17484func (s *EnableMFADeviceInput) Validate() error { 17485 invalidParams := request.ErrInvalidParams{Context: "EnableMFADeviceInput"} 17486 if s.AuthenticationCode1 == nil { 17487 invalidParams.Add(request.NewErrParamRequired("AuthenticationCode1")) 17488 } 17489 if s.AuthenticationCode1 != nil && len(*s.AuthenticationCode1) < 6 { 17490 invalidParams.Add(request.NewErrParamMinLen("AuthenticationCode1", 6)) 17491 } 17492 if s.AuthenticationCode2 == nil { 17493 invalidParams.Add(request.NewErrParamRequired("AuthenticationCode2")) 17494 } 17495 if s.AuthenticationCode2 != nil && len(*s.AuthenticationCode2) < 6 { 17496 invalidParams.Add(request.NewErrParamMinLen("AuthenticationCode2", 6)) 17497 } 17498 if s.SerialNumber == nil { 17499 invalidParams.Add(request.NewErrParamRequired("SerialNumber")) 17500 } 17501 if s.SerialNumber != nil && len(*s.SerialNumber) < 9 { 17502 invalidParams.Add(request.NewErrParamMinLen("SerialNumber", 9)) 17503 } 17504 if s.UserName == nil { 17505 invalidParams.Add(request.NewErrParamRequired("UserName")) 17506 } 17507 if s.UserName != nil && len(*s.UserName) < 1 { 17508 invalidParams.Add(request.NewErrParamMinLen("UserName", 1)) 17509 } 17510 17511 if invalidParams.Len() > 0 { 17512 return invalidParams 17513 } 17514 return nil 17515} 17516 17517// SetAuthenticationCode1 sets the AuthenticationCode1 field's value. 17518func (s *EnableMFADeviceInput) SetAuthenticationCode1(v string) *EnableMFADeviceInput { 17519 s.AuthenticationCode1 = &v 17520 return s 17521} 17522 17523// SetAuthenticationCode2 sets the AuthenticationCode2 field's value. 17524func (s *EnableMFADeviceInput) SetAuthenticationCode2(v string) *EnableMFADeviceInput { 17525 s.AuthenticationCode2 = &v 17526 return s 17527} 17528 17529// SetSerialNumber sets the SerialNumber field's value. 17530func (s *EnableMFADeviceInput) SetSerialNumber(v string) *EnableMFADeviceInput { 17531 s.SerialNumber = &v 17532 return s 17533} 17534 17535// SetUserName sets the UserName field's value. 17536func (s *EnableMFADeviceInput) SetUserName(v string) *EnableMFADeviceInput { 17537 s.UserName = &v 17538 return s 17539} 17540 17541// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/EnableMFADeviceOutput 17542type EnableMFADeviceOutput struct { 17543 _ struct{} `type:"structure"` 17544} 17545 17546// String returns the string representation 17547func (s EnableMFADeviceOutput) String() string { 17548 return awsutil.Prettify(s) 17549} 17550 17551// GoString returns the string representation 17552func (s EnableMFADeviceOutput) GoString() string { 17553 return s.String() 17554} 17555 17556// Contains the results of a simulation. 17557// 17558// This data type is used by the return parameter of SimulateCustomPolicy and 17559// SimulatePrincipalPolicy. 17560// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/EvaluationResult 17561type EvaluationResult struct { 17562 _ struct{} `type:"structure"` 17563 17564 // The name of the API action tested on the indicated resource. 17565 // 17566 // EvalActionName is a required field 17567 EvalActionName *string `min:"3" type:"string" required:"true"` 17568 17569 // The result of the simulation. 17570 // 17571 // EvalDecision is a required field 17572 EvalDecision *string `type:"string" required:"true" enum:"PolicyEvaluationDecisionType"` 17573 17574 // Additional details about the results of the evaluation decision. When there 17575 // are both IAM policies and resource policies, this parameter explains how 17576 // each set of policies contributes to the final evaluation decision. When simulating 17577 // cross-account access to a resource, both the resource-based policy and the 17578 // caller's IAM policy must grant access. See How IAM Roles Differ from Resource-based 17579 // Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_compare-resource-policies.html) 17580 EvalDecisionDetails map[string]*string `type:"map"` 17581 17582 // The ARN of the resource that the indicated API action was tested on. 17583 EvalResourceName *string `min:"1" type:"string"` 17584 17585 // A list of the statements in the input policies that determine the result 17586 // for this scenario. Remember that even if multiple statements allow the action 17587 // on the resource, if only one statement denies that action, then the explicit 17588 // deny overrides any allow, and the deny statement is the only entry included 17589 // in the result. 17590 MatchedStatements []*Statement `type:"list"` 17591 17592 // A list of context keys that are required by the included input policies but 17593 // that were not provided by one of the input parameters. This list is used 17594 // when the resource in a simulation is "*", either explicitly, or when the 17595 // ResourceArns parameter blank. If you include a list of resources, then any 17596 // missing context values are instead included under the ResourceSpecificResults 17597 // section. To discover the context keys used by a set of policies, you can 17598 // call GetContextKeysForCustomPolicy or GetContextKeysForPrincipalPolicy. 17599 MissingContextValues []*string `type:"list"` 17600 17601 // A structure that details how AWS Organizations and its service control policies 17602 // affect the results of the simulation. Only applies if the simulated user's 17603 // account is part of an organization. 17604 OrganizationsDecisionDetail *OrganizationsDecisionDetail `type:"structure"` 17605 17606 // The individual results of the simulation of the API action specified in EvalActionName 17607 // on each resource. 17608 ResourceSpecificResults []*ResourceSpecificResult `type:"list"` 17609} 17610 17611// String returns the string representation 17612func (s EvaluationResult) String() string { 17613 return awsutil.Prettify(s) 17614} 17615 17616// GoString returns the string representation 17617func (s EvaluationResult) GoString() string { 17618 return s.String() 17619} 17620 17621// SetEvalActionName sets the EvalActionName field's value. 17622func (s *EvaluationResult) SetEvalActionName(v string) *EvaluationResult { 17623 s.EvalActionName = &v 17624 return s 17625} 17626 17627// SetEvalDecision sets the EvalDecision field's value. 17628func (s *EvaluationResult) SetEvalDecision(v string) *EvaluationResult { 17629 s.EvalDecision = &v 17630 return s 17631} 17632 17633// SetEvalDecisionDetails sets the EvalDecisionDetails field's value. 17634func (s *EvaluationResult) SetEvalDecisionDetails(v map[string]*string) *EvaluationResult { 17635 s.EvalDecisionDetails = v 17636 return s 17637} 17638 17639// SetEvalResourceName sets the EvalResourceName field's value. 17640func (s *EvaluationResult) SetEvalResourceName(v string) *EvaluationResult { 17641 s.EvalResourceName = &v 17642 return s 17643} 17644 17645// SetMatchedStatements sets the MatchedStatements field's value. 17646func (s *EvaluationResult) SetMatchedStatements(v []*Statement) *EvaluationResult { 17647 s.MatchedStatements = v 17648 return s 17649} 17650 17651// SetMissingContextValues sets the MissingContextValues field's value. 17652func (s *EvaluationResult) SetMissingContextValues(v []*string) *EvaluationResult { 17653 s.MissingContextValues = v 17654 return s 17655} 17656 17657// SetOrganizationsDecisionDetail sets the OrganizationsDecisionDetail field's value. 17658func (s *EvaluationResult) SetOrganizationsDecisionDetail(v *OrganizationsDecisionDetail) *EvaluationResult { 17659 s.OrganizationsDecisionDetail = v 17660 return s 17661} 17662 17663// SetResourceSpecificResults sets the ResourceSpecificResults field's value. 17664func (s *EvaluationResult) SetResourceSpecificResults(v []*ResourceSpecificResult) *EvaluationResult { 17665 s.ResourceSpecificResults = v 17666 return s 17667} 17668 17669// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/GenerateCredentialReportInput 17670type GenerateCredentialReportInput struct { 17671 _ struct{} `type:"structure"` 17672} 17673 17674// String returns the string representation 17675func (s GenerateCredentialReportInput) String() string { 17676 return awsutil.Prettify(s) 17677} 17678 17679// GoString returns the string representation 17680func (s GenerateCredentialReportInput) GoString() string { 17681 return s.String() 17682} 17683 17684// Contains the response to a successful GenerateCredentialReport request. 17685// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/GenerateCredentialReportResponse 17686type GenerateCredentialReportOutput struct { 17687 _ struct{} `type:"structure"` 17688 17689 // Information about the credential report. 17690 Description *string `type:"string"` 17691 17692 // Information about the state of the credential report. 17693 State *string `type:"string" enum:"ReportStateType"` 17694} 17695 17696// String returns the string representation 17697func (s GenerateCredentialReportOutput) String() string { 17698 return awsutil.Prettify(s) 17699} 17700 17701// GoString returns the string representation 17702func (s GenerateCredentialReportOutput) GoString() string { 17703 return s.String() 17704} 17705 17706// SetDescription sets the Description field's value. 17707func (s *GenerateCredentialReportOutput) SetDescription(v string) *GenerateCredentialReportOutput { 17708 s.Description = &v 17709 return s 17710} 17711 17712// SetState sets the State field's value. 17713func (s *GenerateCredentialReportOutput) SetState(v string) *GenerateCredentialReportOutput { 17714 s.State = &v 17715 return s 17716} 17717 17718// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/GetAccessKeyLastUsedRequest 17719type GetAccessKeyLastUsedInput struct { 17720 _ struct{} `type:"structure"` 17721 17722 // The identifier of an access key. 17723 // 17724 // This parameter allows (per its regex pattern (http://wikipedia.org/wiki/regex)) 17725 // a string of characters that can consist of any upper or lowercased letter 17726 // or digit. 17727 // 17728 // AccessKeyId is a required field 17729 AccessKeyId *string `min:"16" type:"string" required:"true"` 17730} 17731 17732// String returns the string representation 17733func (s GetAccessKeyLastUsedInput) String() string { 17734 return awsutil.Prettify(s) 17735} 17736 17737// GoString returns the string representation 17738func (s GetAccessKeyLastUsedInput) GoString() string { 17739 return s.String() 17740} 17741 17742// Validate inspects the fields of the type to determine if they are valid. 17743func (s *GetAccessKeyLastUsedInput) Validate() error { 17744 invalidParams := request.ErrInvalidParams{Context: "GetAccessKeyLastUsedInput"} 17745 if s.AccessKeyId == nil { 17746 invalidParams.Add(request.NewErrParamRequired("AccessKeyId")) 17747 } 17748 if s.AccessKeyId != nil && len(*s.AccessKeyId) < 16 { 17749 invalidParams.Add(request.NewErrParamMinLen("AccessKeyId", 16)) 17750 } 17751 17752 if invalidParams.Len() > 0 { 17753 return invalidParams 17754 } 17755 return nil 17756} 17757 17758// SetAccessKeyId sets the AccessKeyId field's value. 17759func (s *GetAccessKeyLastUsedInput) SetAccessKeyId(v string) *GetAccessKeyLastUsedInput { 17760 s.AccessKeyId = &v 17761 return s 17762} 17763 17764// Contains the response to a successful GetAccessKeyLastUsed request. It is 17765// also returned as a member of the AccessKeyMetaData structure returned by 17766// the ListAccessKeys action. 17767// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/GetAccessKeyLastUsedResponse 17768type GetAccessKeyLastUsedOutput struct { 17769 _ struct{} `type:"structure"` 17770 17771 // Contains information about the last time the access key was used. 17772 AccessKeyLastUsed *AccessKeyLastUsed `type:"structure"` 17773 17774 // The name of the AWS IAM user that owns this access key. 17775 UserName *string `min:"1" type:"string"` 17776} 17777 17778// String returns the string representation 17779func (s GetAccessKeyLastUsedOutput) String() string { 17780 return awsutil.Prettify(s) 17781} 17782 17783// GoString returns the string representation 17784func (s GetAccessKeyLastUsedOutput) GoString() string { 17785 return s.String() 17786} 17787 17788// SetAccessKeyLastUsed sets the AccessKeyLastUsed field's value. 17789func (s *GetAccessKeyLastUsedOutput) SetAccessKeyLastUsed(v *AccessKeyLastUsed) *GetAccessKeyLastUsedOutput { 17790 s.AccessKeyLastUsed = v 17791 return s 17792} 17793 17794// SetUserName sets the UserName field's value. 17795func (s *GetAccessKeyLastUsedOutput) SetUserName(v string) *GetAccessKeyLastUsedOutput { 17796 s.UserName = &v 17797 return s 17798} 17799 17800// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/GetAccountAuthorizationDetailsRequest 17801type GetAccountAuthorizationDetailsInput struct { 17802 _ struct{} `type:"structure"` 17803 17804 // A list of entity types used to filter the results. Only the entities that 17805 // match the types you specify are included in the output. Use the value LocalManagedPolicy 17806 // to include customer managed policies. 17807 // 17808 // The format for this parameter is a comma-separated (if more than one) list 17809 // of strings. Each string value in the list must be one of the valid values 17810 // listed below. 17811 Filter []*string `type:"list"` 17812 17813 // Use this parameter only when paginating results and only after you receive 17814 // a response indicating that the results are truncated. Set it to the value 17815 // of the Marker element in the response that you received to indicate where 17816 // the next call should start. 17817 Marker *string `min:"1" type:"string"` 17818 17819 // (Optional) Use this only when paginating results to indicate the maximum 17820 // number of items you want in the response. If additional items exist beyond 17821 // the maximum you specify, the IsTruncated response element is true. 17822 // 17823 // If you do not include this parameter, it defaults to 100. Note that IAM might 17824 // return fewer results, even when there are more results available. In that 17825 // case, the IsTruncated response element returns true and Marker contains a 17826 // value to include in the subsequent call that tells the service where to continue 17827 // from. 17828 MaxItems *int64 `min:"1" type:"integer"` 17829} 17830 17831// String returns the string representation 17832func (s GetAccountAuthorizationDetailsInput) String() string { 17833 return awsutil.Prettify(s) 17834} 17835 17836// GoString returns the string representation 17837func (s GetAccountAuthorizationDetailsInput) GoString() string { 17838 return s.String() 17839} 17840 17841// Validate inspects the fields of the type to determine if they are valid. 17842func (s *GetAccountAuthorizationDetailsInput) Validate() error { 17843 invalidParams := request.ErrInvalidParams{Context: "GetAccountAuthorizationDetailsInput"} 17844 if s.Marker != nil && len(*s.Marker) < 1 { 17845 invalidParams.Add(request.NewErrParamMinLen("Marker", 1)) 17846 } 17847 if s.MaxItems != nil && *s.MaxItems < 1 { 17848 invalidParams.Add(request.NewErrParamMinValue("MaxItems", 1)) 17849 } 17850 17851 if invalidParams.Len() > 0 { 17852 return invalidParams 17853 } 17854 return nil 17855} 17856 17857// SetFilter sets the Filter field's value. 17858func (s *GetAccountAuthorizationDetailsInput) SetFilter(v []*string) *GetAccountAuthorizationDetailsInput { 17859 s.Filter = v 17860 return s 17861} 17862 17863// SetMarker sets the Marker field's value. 17864func (s *GetAccountAuthorizationDetailsInput) SetMarker(v string) *GetAccountAuthorizationDetailsInput { 17865 s.Marker = &v 17866 return s 17867} 17868 17869// SetMaxItems sets the MaxItems field's value. 17870func (s *GetAccountAuthorizationDetailsInput) SetMaxItems(v int64) *GetAccountAuthorizationDetailsInput { 17871 s.MaxItems = &v 17872 return s 17873} 17874 17875// Contains the response to a successful GetAccountAuthorizationDetails request. 17876// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/GetAccountAuthorizationDetailsResponse 17877type GetAccountAuthorizationDetailsOutput struct { 17878 _ struct{} `type:"structure"` 17879 17880 // A list containing information about IAM groups. 17881 GroupDetailList []*GroupDetail `type:"list"` 17882 17883 // A flag that indicates whether there are more items to return. If your results 17884 // were truncated, you can make a subsequent pagination request using the Marker 17885 // request parameter to retrieve more items. Note that IAM might return fewer 17886 // than the MaxItems number of results even when there are more results available. 17887 // We recommend that you check IsTruncated after every call to ensure that you 17888 // receive all of your results. 17889 IsTruncated *bool `type:"boolean"` 17890 17891 // When IsTruncated is true, this element is present and contains the value 17892 // to use for the Marker parameter in a subsequent pagination request. 17893 Marker *string `min:"1" type:"string"` 17894 17895 // A list containing information about managed policies. 17896 Policies []*ManagedPolicyDetail `type:"list"` 17897 17898 // A list containing information about IAM roles. 17899 RoleDetailList []*RoleDetail `type:"list"` 17900 17901 // A list containing information about IAM users. 17902 UserDetailList []*UserDetail `type:"list"` 17903} 17904 17905// String returns the string representation 17906func (s GetAccountAuthorizationDetailsOutput) String() string { 17907 return awsutil.Prettify(s) 17908} 17909 17910// GoString returns the string representation 17911func (s GetAccountAuthorizationDetailsOutput) GoString() string { 17912 return s.String() 17913} 17914 17915// SetGroupDetailList sets the GroupDetailList field's value. 17916func (s *GetAccountAuthorizationDetailsOutput) SetGroupDetailList(v []*GroupDetail) *GetAccountAuthorizationDetailsOutput { 17917 s.GroupDetailList = v 17918 return s 17919} 17920 17921// SetIsTruncated sets the IsTruncated field's value. 17922func (s *GetAccountAuthorizationDetailsOutput) SetIsTruncated(v bool) *GetAccountAuthorizationDetailsOutput { 17923 s.IsTruncated = &v 17924 return s 17925} 17926 17927// SetMarker sets the Marker field's value. 17928func (s *GetAccountAuthorizationDetailsOutput) SetMarker(v string) *GetAccountAuthorizationDetailsOutput { 17929 s.Marker = &v 17930 return s 17931} 17932 17933// SetPolicies sets the Policies field's value. 17934func (s *GetAccountAuthorizationDetailsOutput) SetPolicies(v []*ManagedPolicyDetail) *GetAccountAuthorizationDetailsOutput { 17935 s.Policies = v 17936 return s 17937} 17938 17939// SetRoleDetailList sets the RoleDetailList field's value. 17940func (s *GetAccountAuthorizationDetailsOutput) SetRoleDetailList(v []*RoleDetail) *GetAccountAuthorizationDetailsOutput { 17941 s.RoleDetailList = v 17942 return s 17943} 17944 17945// SetUserDetailList sets the UserDetailList field's value. 17946func (s *GetAccountAuthorizationDetailsOutput) SetUserDetailList(v []*UserDetail) *GetAccountAuthorizationDetailsOutput { 17947 s.UserDetailList = v 17948 return s 17949} 17950 17951// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/GetAccountPasswordPolicyInput 17952type GetAccountPasswordPolicyInput struct { 17953 _ struct{} `type:"structure"` 17954} 17955 17956// String returns the string representation 17957func (s GetAccountPasswordPolicyInput) String() string { 17958 return awsutil.Prettify(s) 17959} 17960 17961// GoString returns the string representation 17962func (s GetAccountPasswordPolicyInput) GoString() string { 17963 return s.String() 17964} 17965 17966// Contains the response to a successful GetAccountPasswordPolicy request. 17967// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/GetAccountPasswordPolicyResponse 17968type GetAccountPasswordPolicyOutput struct { 17969 _ struct{} `type:"structure"` 17970 17971 // A structure that contains details about the account's password policy. 17972 // 17973 // PasswordPolicy is a required field 17974 PasswordPolicy *PasswordPolicy `type:"structure" required:"true"` 17975} 17976 17977// String returns the string representation 17978func (s GetAccountPasswordPolicyOutput) String() string { 17979 return awsutil.Prettify(s) 17980} 17981 17982// GoString returns the string representation 17983func (s GetAccountPasswordPolicyOutput) GoString() string { 17984 return s.String() 17985} 17986 17987// SetPasswordPolicy sets the PasswordPolicy field's value. 17988func (s *GetAccountPasswordPolicyOutput) SetPasswordPolicy(v *PasswordPolicy) *GetAccountPasswordPolicyOutput { 17989 s.PasswordPolicy = v 17990 return s 17991} 17992 17993// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/GetAccountSummaryInput 17994type GetAccountSummaryInput struct { 17995 _ struct{} `type:"structure"` 17996} 17997 17998// String returns the string representation 17999func (s GetAccountSummaryInput) String() string { 18000 return awsutil.Prettify(s) 18001} 18002 18003// GoString returns the string representation 18004func (s GetAccountSummaryInput) GoString() string { 18005 return s.String() 18006} 18007 18008// Contains the response to a successful GetAccountSummary request. 18009// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/GetAccountSummaryResponse 18010type GetAccountSummaryOutput struct { 18011 _ struct{} `type:"structure"` 18012 18013 // A set of key value pairs containing information about IAM entity usage and 18014 // IAM quotas. 18015 SummaryMap map[string]*int64 `type:"map"` 18016} 18017 18018// String returns the string representation 18019func (s GetAccountSummaryOutput) String() string { 18020 return awsutil.Prettify(s) 18021} 18022 18023// GoString returns the string representation 18024func (s GetAccountSummaryOutput) GoString() string { 18025 return s.String() 18026} 18027 18028// SetSummaryMap sets the SummaryMap field's value. 18029func (s *GetAccountSummaryOutput) SetSummaryMap(v map[string]*int64) *GetAccountSummaryOutput { 18030 s.SummaryMap = v 18031 return s 18032} 18033 18034// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/GetContextKeysForCustomPolicyRequest 18035type GetContextKeysForCustomPolicyInput struct { 18036 _ struct{} `type:"structure"` 18037 18038 // A list of policies for which you want the list of context keys referenced 18039 // in those policies. Each document is specified as a string containing the 18040 // complete, valid JSON text of an IAM policy. 18041 // 18042 // The regex pattern (http://wikipedia.org/wiki/regex) used to validate this 18043 // parameter is a string of characters consisting of any printable ASCII character 18044 // ranging from the space character (\u0020) through end of the ASCII character 18045 // range as well as the printable characters in the Basic Latin and Latin-1 18046 // Supplement character set (through \u00FF). It also includes the special characters 18047 // tab (\u0009), line feed (\u000A), and carriage return (\u000D). 18048 // 18049 // PolicyInputList is a required field 18050 PolicyInputList []*string `type:"list" required:"true"` 18051} 18052 18053// String returns the string representation 18054func (s GetContextKeysForCustomPolicyInput) String() string { 18055 return awsutil.Prettify(s) 18056} 18057 18058// GoString returns the string representation 18059func (s GetContextKeysForCustomPolicyInput) GoString() string { 18060 return s.String() 18061} 18062 18063// Validate inspects the fields of the type to determine if they are valid. 18064func (s *GetContextKeysForCustomPolicyInput) Validate() error { 18065 invalidParams := request.ErrInvalidParams{Context: "GetContextKeysForCustomPolicyInput"} 18066 if s.PolicyInputList == nil { 18067 invalidParams.Add(request.NewErrParamRequired("PolicyInputList")) 18068 } 18069 18070 if invalidParams.Len() > 0 { 18071 return invalidParams 18072 } 18073 return nil 18074} 18075 18076// SetPolicyInputList sets the PolicyInputList field's value. 18077func (s *GetContextKeysForCustomPolicyInput) SetPolicyInputList(v []*string) *GetContextKeysForCustomPolicyInput { 18078 s.PolicyInputList = v 18079 return s 18080} 18081 18082// Contains the response to a successful GetContextKeysForPrincipalPolicy or 18083// GetContextKeysForCustomPolicy request. 18084// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/GetContextKeysForPolicyResponse 18085type GetContextKeysForPolicyResponse struct { 18086 _ struct{} `type:"structure"` 18087 18088 // The list of context keys that are referenced in the input policies. 18089 ContextKeyNames []*string `type:"list"` 18090} 18091 18092// String returns the string representation 18093func (s GetContextKeysForPolicyResponse) String() string { 18094 return awsutil.Prettify(s) 18095} 18096 18097// GoString returns the string representation 18098func (s GetContextKeysForPolicyResponse) GoString() string { 18099 return s.String() 18100} 18101 18102// SetContextKeyNames sets the ContextKeyNames field's value. 18103func (s *GetContextKeysForPolicyResponse) SetContextKeyNames(v []*string) *GetContextKeysForPolicyResponse { 18104 s.ContextKeyNames = v 18105 return s 18106} 18107 18108// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/GetContextKeysForPrincipalPolicyRequest 18109type GetContextKeysForPrincipalPolicyInput struct { 18110 _ struct{} `type:"structure"` 18111 18112 // An optional list of additional policies for which you want the list of context 18113 // keys that are referenced. 18114 // 18115 // The regex pattern (http://wikipedia.org/wiki/regex) used to validate this 18116 // parameter is a string of characters consisting of any printable ASCII character 18117 // ranging from the space character (\u0020) through end of the ASCII character 18118 // range as well as the printable characters in the Basic Latin and Latin-1 18119 // Supplement character set (through \u00FF). It also includes the special characters 18120 // tab (\u0009), line feed (\u000A), and carriage return (\u000D). 18121 PolicyInputList []*string `type:"list"` 18122 18123 // The ARN of a user, group, or role whose policies contain the context keys 18124 // that you want listed. If you specify a user, the list includes context keys 18125 // that are found in all policies attached to the user as well as to all groups 18126 // that the user is a member of. If you pick a group or a role, then it includes 18127 // only those context keys that are found in policies attached to that entity. 18128 // Note that all parameters are shown in unencoded form here for clarity, but 18129 // must be URL encoded to be included as a part of a real HTML request. 18130 // 18131 // For more information about ARNs, see Amazon Resource Names (ARNs) and AWS 18132 // Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) 18133 // in the AWS General Reference. 18134 // 18135 // PolicySourceArn is a required field 18136 PolicySourceArn *string `min:"20" type:"string" required:"true"` 18137} 18138 18139// String returns the string representation 18140func (s GetContextKeysForPrincipalPolicyInput) String() string { 18141 return awsutil.Prettify(s) 18142} 18143 18144// GoString returns the string representation 18145func (s GetContextKeysForPrincipalPolicyInput) GoString() string { 18146 return s.String() 18147} 18148 18149// Validate inspects the fields of the type to determine if they are valid. 18150func (s *GetContextKeysForPrincipalPolicyInput) Validate() error { 18151 invalidParams := request.ErrInvalidParams{Context: "GetContextKeysForPrincipalPolicyInput"} 18152 if s.PolicySourceArn == nil { 18153 invalidParams.Add(request.NewErrParamRequired("PolicySourceArn")) 18154 } 18155 if s.PolicySourceArn != nil && len(*s.PolicySourceArn) < 20 { 18156 invalidParams.Add(request.NewErrParamMinLen("PolicySourceArn", 20)) 18157 } 18158 18159 if invalidParams.Len() > 0 { 18160 return invalidParams 18161 } 18162 return nil 18163} 18164 18165// SetPolicyInputList sets the PolicyInputList field's value. 18166func (s *GetContextKeysForPrincipalPolicyInput) SetPolicyInputList(v []*string) *GetContextKeysForPrincipalPolicyInput { 18167 s.PolicyInputList = v 18168 return s 18169} 18170 18171// SetPolicySourceArn sets the PolicySourceArn field's value. 18172func (s *GetContextKeysForPrincipalPolicyInput) SetPolicySourceArn(v string) *GetContextKeysForPrincipalPolicyInput { 18173 s.PolicySourceArn = &v 18174 return s 18175} 18176 18177// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/GetCredentialReportInput 18178type GetCredentialReportInput struct { 18179 _ struct{} `type:"structure"` 18180} 18181 18182// String returns the string representation 18183func (s GetCredentialReportInput) String() string { 18184 return awsutil.Prettify(s) 18185} 18186 18187// GoString returns the string representation 18188func (s GetCredentialReportInput) GoString() string { 18189 return s.String() 18190} 18191 18192// Contains the response to a successful GetCredentialReport request. 18193// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/GetCredentialReportResponse 18194type GetCredentialReportOutput struct { 18195 _ struct{} `type:"structure"` 18196 18197 // Contains the credential report. The report is Base64-encoded. 18198 // 18199 // Content is automatically base64 encoded/decoded by the SDK. 18200 Content []byte `type:"blob"` 18201 18202 // The date and time when the credential report was created, in ISO 8601 date-time 18203 // format (http://www.iso.org/iso/iso8601). 18204 GeneratedTime *time.Time `type:"timestamp" timestampFormat:"iso8601"` 18205 18206 // The format (MIME type) of the credential report. 18207 ReportFormat *string `type:"string" enum:"ReportFormatType"` 18208} 18209 18210// String returns the string representation 18211func (s GetCredentialReportOutput) String() string { 18212 return awsutil.Prettify(s) 18213} 18214 18215// GoString returns the string representation 18216func (s GetCredentialReportOutput) GoString() string { 18217 return s.String() 18218} 18219 18220// SetContent sets the Content field's value. 18221func (s *GetCredentialReportOutput) SetContent(v []byte) *GetCredentialReportOutput { 18222 s.Content = v 18223 return s 18224} 18225 18226// SetGeneratedTime sets the GeneratedTime field's value. 18227func (s *GetCredentialReportOutput) SetGeneratedTime(v time.Time) *GetCredentialReportOutput { 18228 s.GeneratedTime = &v 18229 return s 18230} 18231 18232// SetReportFormat sets the ReportFormat field's value. 18233func (s *GetCredentialReportOutput) SetReportFormat(v string) *GetCredentialReportOutput { 18234 s.ReportFormat = &v 18235 return s 18236} 18237 18238// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/GetGroupRequest 18239type GetGroupInput struct { 18240 _ struct{} `type:"structure"` 18241 18242 // The name of the group. 18243 // 18244 // This parameter allows (per its regex pattern (http://wikipedia.org/wiki/regex)) 18245 // a string of characters consisting of upper and lowercase alphanumeric characters 18246 // with no spaces. You can also include any of the following characters: =,.@- 18247 // 18248 // GroupName is a required field 18249 GroupName *string `min:"1" type:"string" required:"true"` 18250 18251 // Use this parameter only when paginating results and only after you receive 18252 // a response indicating that the results are truncated. Set it to the value 18253 // of the Marker element in the response that you received to indicate where 18254 // the next call should start. 18255 Marker *string `min:"1" type:"string"` 18256 18257 // (Optional) Use this only when paginating results to indicate the maximum 18258 // number of items you want in the response. If additional items exist beyond 18259 // the maximum you specify, the IsTruncated response element is true. 18260 // 18261 // If you do not include this parameter, it defaults to 100. Note that IAM might 18262 // return fewer results, even when there are more results available. In that 18263 // case, the IsTruncated response element returns true and Marker contains a 18264 // value to include in the subsequent call that tells the service where to continue 18265 // from. 18266 MaxItems *int64 `min:"1" type:"integer"` 18267} 18268 18269// String returns the string representation 18270func (s GetGroupInput) String() string { 18271 return awsutil.Prettify(s) 18272} 18273 18274// GoString returns the string representation 18275func (s GetGroupInput) GoString() string { 18276 return s.String() 18277} 18278 18279// Validate inspects the fields of the type to determine if they are valid. 18280func (s *GetGroupInput) Validate() error { 18281 invalidParams := request.ErrInvalidParams{Context: "GetGroupInput"} 18282 if s.GroupName == nil { 18283 invalidParams.Add(request.NewErrParamRequired("GroupName")) 18284 } 18285 if s.GroupName != nil && len(*s.GroupName) < 1 { 18286 invalidParams.Add(request.NewErrParamMinLen("GroupName", 1)) 18287 } 18288 if s.Marker != nil && len(*s.Marker) < 1 { 18289 invalidParams.Add(request.NewErrParamMinLen("Marker", 1)) 18290 } 18291 if s.MaxItems != nil && *s.MaxItems < 1 { 18292 invalidParams.Add(request.NewErrParamMinValue("MaxItems", 1)) 18293 } 18294 18295 if invalidParams.Len() > 0 { 18296 return invalidParams 18297 } 18298 return nil 18299} 18300 18301// SetGroupName sets the GroupName field's value. 18302func (s *GetGroupInput) SetGroupName(v string) *GetGroupInput { 18303 s.GroupName = &v 18304 return s 18305} 18306 18307// SetMarker sets the Marker field's value. 18308func (s *GetGroupInput) SetMarker(v string) *GetGroupInput { 18309 s.Marker = &v 18310 return s 18311} 18312 18313// SetMaxItems sets the MaxItems field's value. 18314func (s *GetGroupInput) SetMaxItems(v int64) *GetGroupInput { 18315 s.MaxItems = &v 18316 return s 18317} 18318 18319// Contains the response to a successful GetGroup request. 18320// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/GetGroupResponse 18321type GetGroupOutput struct { 18322 _ struct{} `type:"structure"` 18323 18324 // A structure that contains details about the group. 18325 // 18326 // Group is a required field 18327 Group *Group `type:"structure" required:"true"` 18328 18329 // A flag that indicates whether there are more items to return. If your results 18330 // were truncated, you can make a subsequent pagination request using the Marker 18331 // request parameter to retrieve more items. Note that IAM might return fewer 18332 // than the MaxItems number of results even when there are more results available. 18333 // We recommend that you check IsTruncated after every call to ensure that you 18334 // receive all of your results. 18335 IsTruncated *bool `type:"boolean"` 18336 18337 // When IsTruncated is true, this element is present and contains the value 18338 // to use for the Marker parameter in a subsequent pagination request. 18339 Marker *string `min:"1" type:"string"` 18340 18341 // A list of users in the group. 18342 // 18343 // Users is a required field 18344 Users []*User `type:"list" required:"true"` 18345} 18346 18347// String returns the string representation 18348func (s GetGroupOutput) String() string { 18349 return awsutil.Prettify(s) 18350} 18351 18352// GoString returns the string representation 18353func (s GetGroupOutput) GoString() string { 18354 return s.String() 18355} 18356 18357// SetGroup sets the Group field's value. 18358func (s *GetGroupOutput) SetGroup(v *Group) *GetGroupOutput { 18359 s.Group = v 18360 return s 18361} 18362 18363// SetIsTruncated sets the IsTruncated field's value. 18364func (s *GetGroupOutput) SetIsTruncated(v bool) *GetGroupOutput { 18365 s.IsTruncated = &v 18366 return s 18367} 18368 18369// SetMarker sets the Marker field's value. 18370func (s *GetGroupOutput) SetMarker(v string) *GetGroupOutput { 18371 s.Marker = &v 18372 return s 18373} 18374 18375// SetUsers sets the Users field's value. 18376func (s *GetGroupOutput) SetUsers(v []*User) *GetGroupOutput { 18377 s.Users = v 18378 return s 18379} 18380 18381// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/GetGroupPolicyRequest 18382type GetGroupPolicyInput struct { 18383 _ struct{} `type:"structure"` 18384 18385 // The name of the group the policy is associated with. 18386 // 18387 // This parameter allows (per its regex pattern (http://wikipedia.org/wiki/regex)) 18388 // a string of characters consisting of upper and lowercase alphanumeric characters 18389 // with no spaces. You can also include any of the following characters: =,.@- 18390 // 18391 // GroupName is a required field 18392 GroupName *string `min:"1" type:"string" required:"true"` 18393 18394 // The name of the policy document to get. 18395 // 18396 // This parameter allows (per its regex pattern (http://wikipedia.org/wiki/regex)) 18397 // a string of characters consisting of upper and lowercase alphanumeric characters 18398 // with no spaces. You can also include any of the following characters: =,.@-+ 18399 // 18400 // PolicyName is a required field 18401 PolicyName *string `min:"1" type:"string" required:"true"` 18402} 18403 18404// String returns the string representation 18405func (s GetGroupPolicyInput) String() string { 18406 return awsutil.Prettify(s) 18407} 18408 18409// GoString returns the string representation 18410func (s GetGroupPolicyInput) GoString() string { 18411 return s.String() 18412} 18413 18414// Validate inspects the fields of the type to determine if they are valid. 18415func (s *GetGroupPolicyInput) Validate() error { 18416 invalidParams := request.ErrInvalidParams{Context: "GetGroupPolicyInput"} 18417 if s.GroupName == nil { 18418 invalidParams.Add(request.NewErrParamRequired("GroupName")) 18419 } 18420 if s.GroupName != nil && len(*s.GroupName) < 1 { 18421 invalidParams.Add(request.NewErrParamMinLen("GroupName", 1)) 18422 } 18423 if s.PolicyName == nil { 18424 invalidParams.Add(request.NewErrParamRequired("PolicyName")) 18425 } 18426 if s.PolicyName != nil && len(*s.PolicyName) < 1 { 18427 invalidParams.Add(request.NewErrParamMinLen("PolicyName", 1)) 18428 } 18429 18430 if invalidParams.Len() > 0 { 18431 return invalidParams 18432 } 18433 return nil 18434} 18435 18436// SetGroupName sets the GroupName field's value. 18437func (s *GetGroupPolicyInput) SetGroupName(v string) *GetGroupPolicyInput { 18438 s.GroupName = &v 18439 return s 18440} 18441 18442// SetPolicyName sets the PolicyName field's value. 18443func (s *GetGroupPolicyInput) SetPolicyName(v string) *GetGroupPolicyInput { 18444 s.PolicyName = &v 18445 return s 18446} 18447 18448// Contains the response to a successful GetGroupPolicy request. 18449// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/GetGroupPolicyResponse 18450type GetGroupPolicyOutput struct { 18451 _ struct{} `type:"structure"` 18452 18453 // The group the policy is associated with. 18454 // 18455 // GroupName is a required field 18456 GroupName *string `min:"1" type:"string" required:"true"` 18457 18458 // The policy document. 18459 // 18460 // PolicyDocument is a required field 18461 PolicyDocument *string `min:"1" type:"string" required:"true"` 18462 18463 // The name of the policy. 18464 // 18465 // PolicyName is a required field 18466 PolicyName *string `min:"1" type:"string" required:"true"` 18467} 18468 18469// String returns the string representation 18470func (s GetGroupPolicyOutput) String() string { 18471 return awsutil.Prettify(s) 18472} 18473 18474// GoString returns the string representation 18475func (s GetGroupPolicyOutput) GoString() string { 18476 return s.String() 18477} 18478 18479// SetGroupName sets the GroupName field's value. 18480func (s *GetGroupPolicyOutput) SetGroupName(v string) *GetGroupPolicyOutput { 18481 s.GroupName = &v 18482 return s 18483} 18484 18485// SetPolicyDocument sets the PolicyDocument field's value. 18486func (s *GetGroupPolicyOutput) SetPolicyDocument(v string) *GetGroupPolicyOutput { 18487 s.PolicyDocument = &v 18488 return s 18489} 18490 18491// SetPolicyName sets the PolicyName field's value. 18492func (s *GetGroupPolicyOutput) SetPolicyName(v string) *GetGroupPolicyOutput { 18493 s.PolicyName = &v 18494 return s 18495} 18496 18497// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/GetInstanceProfileRequest 18498type GetInstanceProfileInput struct { 18499 _ struct{} `type:"structure"` 18500 18501 // The name of the instance profile to get information about. 18502 // 18503 // This parameter allows (per its regex pattern (http://wikipedia.org/wiki/regex)) 18504 // a string of characters consisting of upper and lowercase alphanumeric characters 18505 // with no spaces. You can also include any of the following characters: =,.@- 18506 // 18507 // InstanceProfileName is a required field 18508 InstanceProfileName *string `min:"1" type:"string" required:"true"` 18509} 18510 18511// String returns the string representation 18512func (s GetInstanceProfileInput) String() string { 18513 return awsutil.Prettify(s) 18514} 18515 18516// GoString returns the string representation 18517func (s GetInstanceProfileInput) GoString() string { 18518 return s.String() 18519} 18520 18521// Validate inspects the fields of the type to determine if they are valid. 18522func (s *GetInstanceProfileInput) Validate() error { 18523 invalidParams := request.ErrInvalidParams{Context: "GetInstanceProfileInput"} 18524 if s.InstanceProfileName == nil { 18525 invalidParams.Add(request.NewErrParamRequired("InstanceProfileName")) 18526 } 18527 if s.InstanceProfileName != nil && len(*s.InstanceProfileName) < 1 { 18528 invalidParams.Add(request.NewErrParamMinLen("InstanceProfileName", 1)) 18529 } 18530 18531 if invalidParams.Len() > 0 { 18532 return invalidParams 18533 } 18534 return nil 18535} 18536 18537// SetInstanceProfileName sets the InstanceProfileName field's value. 18538func (s *GetInstanceProfileInput) SetInstanceProfileName(v string) *GetInstanceProfileInput { 18539 s.InstanceProfileName = &v 18540 return s 18541} 18542 18543// Contains the response to a successful GetInstanceProfile request. 18544// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/GetInstanceProfileResponse 18545type GetInstanceProfileOutput struct { 18546 _ struct{} `type:"structure"` 18547 18548 // A structure containing details about the instance profile. 18549 // 18550 // InstanceProfile is a required field 18551 InstanceProfile *InstanceProfile `type:"structure" required:"true"` 18552} 18553 18554// String returns the string representation 18555func (s GetInstanceProfileOutput) String() string { 18556 return awsutil.Prettify(s) 18557} 18558 18559// GoString returns the string representation 18560func (s GetInstanceProfileOutput) GoString() string { 18561 return s.String() 18562} 18563 18564// SetInstanceProfile sets the InstanceProfile field's value. 18565func (s *GetInstanceProfileOutput) SetInstanceProfile(v *InstanceProfile) *GetInstanceProfileOutput { 18566 s.InstanceProfile = v 18567 return s 18568} 18569 18570// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/GetLoginProfileRequest 18571type GetLoginProfileInput struct { 18572 _ struct{} `type:"structure"` 18573 18574 // The name of the user whose login profile you want to retrieve. 18575 // 18576 // This parameter allows (per its regex pattern (http://wikipedia.org/wiki/regex)) 18577 // a string of characters consisting of upper and lowercase alphanumeric characters 18578 // with no spaces. You can also include any of the following characters: =,.@- 18579 // 18580 // UserName is a required field 18581 UserName *string `min:"1" type:"string" required:"true"` 18582} 18583 18584// String returns the string representation 18585func (s GetLoginProfileInput) String() string { 18586 return awsutil.Prettify(s) 18587} 18588 18589// GoString returns the string representation 18590func (s GetLoginProfileInput) GoString() string { 18591 return s.String() 18592} 18593 18594// Validate inspects the fields of the type to determine if they are valid. 18595func (s *GetLoginProfileInput) Validate() error { 18596 invalidParams := request.ErrInvalidParams{Context: "GetLoginProfileInput"} 18597 if s.UserName == nil { 18598 invalidParams.Add(request.NewErrParamRequired("UserName")) 18599 } 18600 if s.UserName != nil && len(*s.UserName) < 1 { 18601 invalidParams.Add(request.NewErrParamMinLen("UserName", 1)) 18602 } 18603 18604 if invalidParams.Len() > 0 { 18605 return invalidParams 18606 } 18607 return nil 18608} 18609 18610// SetUserName sets the UserName field's value. 18611func (s *GetLoginProfileInput) SetUserName(v string) *GetLoginProfileInput { 18612 s.UserName = &v 18613 return s 18614} 18615 18616// Contains the response to a successful GetLoginProfile request. 18617// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/GetLoginProfileResponse 18618type GetLoginProfileOutput struct { 18619 _ struct{} `type:"structure"` 18620 18621 // A structure containing the user name and password create date for the user. 18622 // 18623 // LoginProfile is a required field 18624 LoginProfile *LoginProfile `type:"structure" required:"true"` 18625} 18626 18627// String returns the string representation 18628func (s GetLoginProfileOutput) String() string { 18629 return awsutil.Prettify(s) 18630} 18631 18632// GoString returns the string representation 18633func (s GetLoginProfileOutput) GoString() string { 18634 return s.String() 18635} 18636 18637// SetLoginProfile sets the LoginProfile field's value. 18638func (s *GetLoginProfileOutput) SetLoginProfile(v *LoginProfile) *GetLoginProfileOutput { 18639 s.LoginProfile = v 18640 return s 18641} 18642 18643// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/GetOpenIDConnectProviderRequest 18644type GetOpenIDConnectProviderInput struct { 18645 _ struct{} `type:"structure"` 18646 18647 // The Amazon Resource Name (ARN) of the OIDC provider resource object in IAM 18648 // to get information for. You can get a list of OIDC provider resource ARNs 18649 // by using the ListOpenIDConnectProviders action. 18650 // 18651 // For more information about ARNs, see Amazon Resource Names (ARNs) and AWS 18652 // Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) 18653 // in the AWS General Reference. 18654 // 18655 // OpenIDConnectProviderArn is a required field 18656 OpenIDConnectProviderArn *string `min:"20" type:"string" required:"true"` 18657} 18658 18659// String returns the string representation 18660func (s GetOpenIDConnectProviderInput) String() string { 18661 return awsutil.Prettify(s) 18662} 18663 18664// GoString returns the string representation 18665func (s GetOpenIDConnectProviderInput) GoString() string { 18666 return s.String() 18667} 18668 18669// Validate inspects the fields of the type to determine if they are valid. 18670func (s *GetOpenIDConnectProviderInput) Validate() error { 18671 invalidParams := request.ErrInvalidParams{Context: "GetOpenIDConnectProviderInput"} 18672 if s.OpenIDConnectProviderArn == nil { 18673 invalidParams.Add(request.NewErrParamRequired("OpenIDConnectProviderArn")) 18674 } 18675 if s.OpenIDConnectProviderArn != nil && len(*s.OpenIDConnectProviderArn) < 20 { 18676 invalidParams.Add(request.NewErrParamMinLen("OpenIDConnectProviderArn", 20)) 18677 } 18678 18679 if invalidParams.Len() > 0 { 18680 return invalidParams 18681 } 18682 return nil 18683} 18684 18685// SetOpenIDConnectProviderArn sets the OpenIDConnectProviderArn field's value. 18686func (s *GetOpenIDConnectProviderInput) SetOpenIDConnectProviderArn(v string) *GetOpenIDConnectProviderInput { 18687 s.OpenIDConnectProviderArn = &v 18688 return s 18689} 18690 18691// Contains the response to a successful GetOpenIDConnectProvider request. 18692// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/GetOpenIDConnectProviderResponse 18693type GetOpenIDConnectProviderOutput struct { 18694 _ struct{} `type:"structure"` 18695 18696 // A list of client IDs (also known as audiences) that are associated with the 18697 // specified IAM OIDC provider resource object. For more information, see CreateOpenIDConnectProvider. 18698 ClientIDList []*string `type:"list"` 18699 18700 // The date and time when the IAM OIDC provider resource object was created 18701 // in the AWS account. 18702 CreateDate *time.Time `type:"timestamp" timestampFormat:"iso8601"` 18703 18704 // A list of certificate thumbprints that are associated with the specified 18705 // IAM OIDC provider resource object. For more information, see CreateOpenIDConnectProvider. 18706 ThumbprintList []*string `type:"list"` 18707 18708 // The URL that the IAM OIDC provider resource object is associated with. For 18709 // more information, see CreateOpenIDConnectProvider. 18710 Url *string `min:"1" type:"string"` 18711} 18712 18713// String returns the string representation 18714func (s GetOpenIDConnectProviderOutput) String() string { 18715 return awsutil.Prettify(s) 18716} 18717 18718// GoString returns the string representation 18719func (s GetOpenIDConnectProviderOutput) GoString() string { 18720 return s.String() 18721} 18722 18723// SetClientIDList sets the ClientIDList field's value. 18724func (s *GetOpenIDConnectProviderOutput) SetClientIDList(v []*string) *GetOpenIDConnectProviderOutput { 18725 s.ClientIDList = v 18726 return s 18727} 18728 18729// SetCreateDate sets the CreateDate field's value. 18730func (s *GetOpenIDConnectProviderOutput) SetCreateDate(v time.Time) *GetOpenIDConnectProviderOutput { 18731 s.CreateDate = &v 18732 return s 18733} 18734 18735// SetThumbprintList sets the ThumbprintList field's value. 18736func (s *GetOpenIDConnectProviderOutput) SetThumbprintList(v []*string) *GetOpenIDConnectProviderOutput { 18737 s.ThumbprintList = v 18738 return s 18739} 18740 18741// SetUrl sets the Url field's value. 18742func (s *GetOpenIDConnectProviderOutput) SetUrl(v string) *GetOpenIDConnectProviderOutput { 18743 s.Url = &v 18744 return s 18745} 18746 18747// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/GetPolicyRequest 18748type GetPolicyInput struct { 18749 _ struct{} `type:"structure"` 18750 18751 // The Amazon Resource Name (ARN) of the managed policy that you want information 18752 // about. 18753 // 18754 // For more information about ARNs, see Amazon Resource Names (ARNs) and AWS 18755 // Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) 18756 // in the AWS General Reference. 18757 // 18758 // PolicyArn is a required field 18759 PolicyArn *string `min:"20" type:"string" required:"true"` 18760} 18761 18762// String returns the string representation 18763func (s GetPolicyInput) String() string { 18764 return awsutil.Prettify(s) 18765} 18766 18767// GoString returns the string representation 18768func (s GetPolicyInput) GoString() string { 18769 return s.String() 18770} 18771 18772// Validate inspects the fields of the type to determine if they are valid. 18773func (s *GetPolicyInput) Validate() error { 18774 invalidParams := request.ErrInvalidParams{Context: "GetPolicyInput"} 18775 if s.PolicyArn == nil { 18776 invalidParams.Add(request.NewErrParamRequired("PolicyArn")) 18777 } 18778 if s.PolicyArn != nil && len(*s.PolicyArn) < 20 { 18779 invalidParams.Add(request.NewErrParamMinLen("PolicyArn", 20)) 18780 } 18781 18782 if invalidParams.Len() > 0 { 18783 return invalidParams 18784 } 18785 return nil 18786} 18787 18788// SetPolicyArn sets the PolicyArn field's value. 18789func (s *GetPolicyInput) SetPolicyArn(v string) *GetPolicyInput { 18790 s.PolicyArn = &v 18791 return s 18792} 18793 18794// Contains the response to a successful GetPolicy request. 18795// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/GetPolicyResponse 18796type GetPolicyOutput struct { 18797 _ struct{} `type:"structure"` 18798 18799 // A structure containing details about the policy. 18800 Policy *Policy `type:"structure"` 18801} 18802 18803// String returns the string representation 18804func (s GetPolicyOutput) String() string { 18805 return awsutil.Prettify(s) 18806} 18807 18808// GoString returns the string representation 18809func (s GetPolicyOutput) GoString() string { 18810 return s.String() 18811} 18812 18813// SetPolicy sets the Policy field's value. 18814func (s *GetPolicyOutput) SetPolicy(v *Policy) *GetPolicyOutput { 18815 s.Policy = v 18816 return s 18817} 18818 18819// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/GetPolicyVersionRequest 18820type GetPolicyVersionInput struct { 18821 _ struct{} `type:"structure"` 18822 18823 // The Amazon Resource Name (ARN) of the managed policy that you want information 18824 // about. 18825 // 18826 // For more information about ARNs, see Amazon Resource Names (ARNs) and AWS 18827 // Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) 18828 // in the AWS General Reference. 18829 // 18830 // PolicyArn is a required field 18831 PolicyArn *string `min:"20" type:"string" required:"true"` 18832 18833 // Identifies the policy version to retrieve. 18834 // 18835 // This parameter allows (per its regex pattern (http://wikipedia.org/wiki/regex)) 18836 // a string of characters that consists of the lowercase letter 'v' followed 18837 // by one or two digits, and optionally followed by a period '.' and a string 18838 // of letters and digits. 18839 // 18840 // VersionId is a required field 18841 VersionId *string `type:"string" required:"true"` 18842} 18843 18844// String returns the string representation 18845func (s GetPolicyVersionInput) String() string { 18846 return awsutil.Prettify(s) 18847} 18848 18849// GoString returns the string representation 18850func (s GetPolicyVersionInput) GoString() string { 18851 return s.String() 18852} 18853 18854// Validate inspects the fields of the type to determine if they are valid. 18855func (s *GetPolicyVersionInput) Validate() error { 18856 invalidParams := request.ErrInvalidParams{Context: "GetPolicyVersionInput"} 18857 if s.PolicyArn == nil { 18858 invalidParams.Add(request.NewErrParamRequired("PolicyArn")) 18859 } 18860 if s.PolicyArn != nil && len(*s.PolicyArn) < 20 { 18861 invalidParams.Add(request.NewErrParamMinLen("PolicyArn", 20)) 18862 } 18863 if s.VersionId == nil { 18864 invalidParams.Add(request.NewErrParamRequired("VersionId")) 18865 } 18866 18867 if invalidParams.Len() > 0 { 18868 return invalidParams 18869 } 18870 return nil 18871} 18872 18873// SetPolicyArn sets the PolicyArn field's value. 18874func (s *GetPolicyVersionInput) SetPolicyArn(v string) *GetPolicyVersionInput { 18875 s.PolicyArn = &v 18876 return s 18877} 18878 18879// SetVersionId sets the VersionId field's value. 18880func (s *GetPolicyVersionInput) SetVersionId(v string) *GetPolicyVersionInput { 18881 s.VersionId = &v 18882 return s 18883} 18884 18885// Contains the response to a successful GetPolicyVersion request. 18886// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/GetPolicyVersionResponse 18887type GetPolicyVersionOutput struct { 18888 _ struct{} `type:"structure"` 18889 18890 // A structure containing details about the policy version. 18891 PolicyVersion *PolicyVersion `type:"structure"` 18892} 18893 18894// String returns the string representation 18895func (s GetPolicyVersionOutput) String() string { 18896 return awsutil.Prettify(s) 18897} 18898 18899// GoString returns the string representation 18900func (s GetPolicyVersionOutput) GoString() string { 18901 return s.String() 18902} 18903 18904// SetPolicyVersion sets the PolicyVersion field's value. 18905func (s *GetPolicyVersionOutput) SetPolicyVersion(v *PolicyVersion) *GetPolicyVersionOutput { 18906 s.PolicyVersion = v 18907 return s 18908} 18909 18910// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/GetRoleRequest 18911type GetRoleInput struct { 18912 _ struct{} `type:"structure"` 18913 18914 // The name of the IAM role to get information about. 18915 // 18916 // This parameter allows (per its regex pattern (http://wikipedia.org/wiki/regex)) 18917 // a string of characters consisting of upper and lowercase alphanumeric characters 18918 // with no spaces. You can also include any of the following characters: _+=,.@- 18919 // 18920 // RoleName is a required field 18921 RoleName *string `min:"1" type:"string" required:"true"` 18922} 18923 18924// String returns the string representation 18925func (s GetRoleInput) String() string { 18926 return awsutil.Prettify(s) 18927} 18928 18929// GoString returns the string representation 18930func (s GetRoleInput) GoString() string { 18931 return s.String() 18932} 18933 18934// Validate inspects the fields of the type to determine if they are valid. 18935func (s *GetRoleInput) Validate() error { 18936 invalidParams := request.ErrInvalidParams{Context: "GetRoleInput"} 18937 if s.RoleName == nil { 18938 invalidParams.Add(request.NewErrParamRequired("RoleName")) 18939 } 18940 if s.RoleName != nil && len(*s.RoleName) < 1 { 18941 invalidParams.Add(request.NewErrParamMinLen("RoleName", 1)) 18942 } 18943 18944 if invalidParams.Len() > 0 { 18945 return invalidParams 18946 } 18947 return nil 18948} 18949 18950// SetRoleName sets the RoleName field's value. 18951func (s *GetRoleInput) SetRoleName(v string) *GetRoleInput { 18952 s.RoleName = &v 18953 return s 18954} 18955 18956// Contains the response to a successful GetRole request. 18957// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/GetRoleResponse 18958type GetRoleOutput struct { 18959 _ struct{} `type:"structure"` 18960 18961 // A structure containing details about the IAM role. 18962 // 18963 // Role is a required field 18964 Role *Role `type:"structure" required:"true"` 18965} 18966 18967// String returns the string representation 18968func (s GetRoleOutput) String() string { 18969 return awsutil.Prettify(s) 18970} 18971 18972// GoString returns the string representation 18973func (s GetRoleOutput) GoString() string { 18974 return s.String() 18975} 18976 18977// SetRole sets the Role field's value. 18978func (s *GetRoleOutput) SetRole(v *Role) *GetRoleOutput { 18979 s.Role = v 18980 return s 18981} 18982 18983// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/GetRolePolicyRequest 18984type GetRolePolicyInput struct { 18985 _ struct{} `type:"structure"` 18986 18987 // The name of the policy document to get. 18988 // 18989 // This parameter allows (per its regex pattern (http://wikipedia.org/wiki/regex)) 18990 // a string of characters consisting of upper and lowercase alphanumeric characters 18991 // with no spaces. You can also include any of the following characters: =,.@-+ 18992 // 18993 // PolicyName is a required field 18994 PolicyName *string `min:"1" type:"string" required:"true"` 18995 18996 // The name of the role associated with the policy. 18997 // 18998 // This parameter allows (per its regex pattern (http://wikipedia.org/wiki/regex)) 18999 // a string of characters consisting of upper and lowercase alphanumeric characters 19000 // with no spaces. You can also include any of the following characters: _+=,.@- 19001 // 19002 // RoleName is a required field 19003 RoleName *string `min:"1" type:"string" required:"true"` 19004} 19005 19006// String returns the string representation 19007func (s GetRolePolicyInput) String() string { 19008 return awsutil.Prettify(s) 19009} 19010 19011// GoString returns the string representation 19012func (s GetRolePolicyInput) GoString() string { 19013 return s.String() 19014} 19015 19016// Validate inspects the fields of the type to determine if they are valid. 19017func (s *GetRolePolicyInput) Validate() error { 19018 invalidParams := request.ErrInvalidParams{Context: "GetRolePolicyInput"} 19019 if s.PolicyName == nil { 19020 invalidParams.Add(request.NewErrParamRequired("PolicyName")) 19021 } 19022 if s.PolicyName != nil && len(*s.PolicyName) < 1 { 19023 invalidParams.Add(request.NewErrParamMinLen("PolicyName", 1)) 19024 } 19025 if s.RoleName == nil { 19026 invalidParams.Add(request.NewErrParamRequired("RoleName")) 19027 } 19028 if s.RoleName != nil && len(*s.RoleName) < 1 { 19029 invalidParams.Add(request.NewErrParamMinLen("RoleName", 1)) 19030 } 19031 19032 if invalidParams.Len() > 0 { 19033 return invalidParams 19034 } 19035 return nil 19036} 19037 19038// SetPolicyName sets the PolicyName field's value. 19039func (s *GetRolePolicyInput) SetPolicyName(v string) *GetRolePolicyInput { 19040 s.PolicyName = &v 19041 return s 19042} 19043 19044// SetRoleName sets the RoleName field's value. 19045func (s *GetRolePolicyInput) SetRoleName(v string) *GetRolePolicyInput { 19046 s.RoleName = &v 19047 return s 19048} 19049 19050// Contains the response to a successful GetRolePolicy request. 19051// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/GetRolePolicyResponse 19052type GetRolePolicyOutput struct { 19053 _ struct{} `type:"structure"` 19054 19055 // The policy document. 19056 // 19057 // PolicyDocument is a required field 19058 PolicyDocument *string `min:"1" type:"string" required:"true"` 19059 19060 // The name of the policy. 19061 // 19062 // PolicyName is a required field 19063 PolicyName *string `min:"1" type:"string" required:"true"` 19064 19065 // The role the policy is associated with. 19066 // 19067 // RoleName is a required field 19068 RoleName *string `min:"1" type:"string" required:"true"` 19069} 19070 19071// String returns the string representation 19072func (s GetRolePolicyOutput) String() string { 19073 return awsutil.Prettify(s) 19074} 19075 19076// GoString returns the string representation 19077func (s GetRolePolicyOutput) GoString() string { 19078 return s.String() 19079} 19080 19081// SetPolicyDocument sets the PolicyDocument field's value. 19082func (s *GetRolePolicyOutput) SetPolicyDocument(v string) *GetRolePolicyOutput { 19083 s.PolicyDocument = &v 19084 return s 19085} 19086 19087// SetPolicyName sets the PolicyName field's value. 19088func (s *GetRolePolicyOutput) SetPolicyName(v string) *GetRolePolicyOutput { 19089 s.PolicyName = &v 19090 return s 19091} 19092 19093// SetRoleName sets the RoleName field's value. 19094func (s *GetRolePolicyOutput) SetRoleName(v string) *GetRolePolicyOutput { 19095 s.RoleName = &v 19096 return s 19097} 19098 19099// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/GetSAMLProviderRequest 19100type GetSAMLProviderInput struct { 19101 _ struct{} `type:"structure"` 19102 19103 // The Amazon Resource Name (ARN) of the SAML provider resource object in IAM 19104 // to get information about. 19105 // 19106 // For more information about ARNs, see Amazon Resource Names (ARNs) and AWS 19107 // Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) 19108 // in the AWS General Reference. 19109 // 19110 // SAMLProviderArn is a required field 19111 SAMLProviderArn *string `min:"20" type:"string" required:"true"` 19112} 19113 19114// String returns the string representation 19115func (s GetSAMLProviderInput) String() string { 19116 return awsutil.Prettify(s) 19117} 19118 19119// GoString returns the string representation 19120func (s GetSAMLProviderInput) GoString() string { 19121 return s.String() 19122} 19123 19124// Validate inspects the fields of the type to determine if they are valid. 19125func (s *GetSAMLProviderInput) Validate() error { 19126 invalidParams := request.ErrInvalidParams{Context: "GetSAMLProviderInput"} 19127 if s.SAMLProviderArn == nil { 19128 invalidParams.Add(request.NewErrParamRequired("SAMLProviderArn")) 19129 } 19130 if s.SAMLProviderArn != nil && len(*s.SAMLProviderArn) < 20 { 19131 invalidParams.Add(request.NewErrParamMinLen("SAMLProviderArn", 20)) 19132 } 19133 19134 if invalidParams.Len() > 0 { 19135 return invalidParams 19136 } 19137 return nil 19138} 19139 19140// SetSAMLProviderArn sets the SAMLProviderArn field's value. 19141func (s *GetSAMLProviderInput) SetSAMLProviderArn(v string) *GetSAMLProviderInput { 19142 s.SAMLProviderArn = &v 19143 return s 19144} 19145 19146// Contains the response to a successful GetSAMLProvider request. 19147// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/GetSAMLProviderResponse 19148type GetSAMLProviderOutput struct { 19149 _ struct{} `type:"structure"` 19150 19151 // The date and time when the SAML provider was created. 19152 CreateDate *time.Time `type:"timestamp" timestampFormat:"iso8601"` 19153 19154 // The XML metadata document that includes information about an identity provider. 19155 SAMLMetadataDocument *string `min:"1000" type:"string"` 19156 19157 // The expiration date and time for the SAML provider. 19158 ValidUntil *time.Time `type:"timestamp" timestampFormat:"iso8601"` 19159} 19160 19161// String returns the string representation 19162func (s GetSAMLProviderOutput) String() string { 19163 return awsutil.Prettify(s) 19164} 19165 19166// GoString returns the string representation 19167func (s GetSAMLProviderOutput) GoString() string { 19168 return s.String() 19169} 19170 19171// SetCreateDate sets the CreateDate field's value. 19172func (s *GetSAMLProviderOutput) SetCreateDate(v time.Time) *GetSAMLProviderOutput { 19173 s.CreateDate = &v 19174 return s 19175} 19176 19177// SetSAMLMetadataDocument sets the SAMLMetadataDocument field's value. 19178func (s *GetSAMLProviderOutput) SetSAMLMetadataDocument(v string) *GetSAMLProviderOutput { 19179 s.SAMLMetadataDocument = &v 19180 return s 19181} 19182 19183// SetValidUntil sets the ValidUntil field's value. 19184func (s *GetSAMLProviderOutput) SetValidUntil(v time.Time) *GetSAMLProviderOutput { 19185 s.ValidUntil = &v 19186 return s 19187} 19188 19189// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/GetSSHPublicKeyRequest 19190type GetSSHPublicKeyInput struct { 19191 _ struct{} `type:"structure"` 19192 19193 // Specifies the public key encoding format to use in the response. To retrieve 19194 // the public key in ssh-rsa format, use SSH. To retrieve the public key in 19195 // PEM format, use PEM. 19196 // 19197 // Encoding is a required field 19198 Encoding *string `type:"string" required:"true" enum:"encodingType"` 19199 19200 // The unique identifier for the SSH public key. 19201 // 19202 // This parameter allows (per its regex pattern (http://wikipedia.org/wiki/regex)) 19203 // a string of characters that can consist of any upper or lowercased letter 19204 // or digit. 19205 // 19206 // SSHPublicKeyId is a required field 19207 SSHPublicKeyId *string `min:"20" type:"string" required:"true"` 19208 19209 // The name of the IAM user associated with the SSH public key. 19210 // 19211 // This parameter allows (per its regex pattern (http://wikipedia.org/wiki/regex)) 19212 // a string of characters consisting of upper and lowercase alphanumeric characters 19213 // with no spaces. You can also include any of the following characters: =,.@- 19214 // 19215 // UserName is a required field 19216 UserName *string `min:"1" type:"string" required:"true"` 19217} 19218 19219// String returns the string representation 19220func (s GetSSHPublicKeyInput) String() string { 19221 return awsutil.Prettify(s) 19222} 19223 19224// GoString returns the string representation 19225func (s GetSSHPublicKeyInput) GoString() string { 19226 return s.String() 19227} 19228 19229// Validate inspects the fields of the type to determine if they are valid. 19230func (s *GetSSHPublicKeyInput) Validate() error { 19231 invalidParams := request.ErrInvalidParams{Context: "GetSSHPublicKeyInput"} 19232 if s.Encoding == nil { 19233 invalidParams.Add(request.NewErrParamRequired("Encoding")) 19234 } 19235 if s.SSHPublicKeyId == nil { 19236 invalidParams.Add(request.NewErrParamRequired("SSHPublicKeyId")) 19237 } 19238 if s.SSHPublicKeyId != nil && len(*s.SSHPublicKeyId) < 20 { 19239 invalidParams.Add(request.NewErrParamMinLen("SSHPublicKeyId", 20)) 19240 } 19241 if s.UserName == nil { 19242 invalidParams.Add(request.NewErrParamRequired("UserName")) 19243 } 19244 if s.UserName != nil && len(*s.UserName) < 1 { 19245 invalidParams.Add(request.NewErrParamMinLen("UserName", 1)) 19246 } 19247 19248 if invalidParams.Len() > 0 { 19249 return invalidParams 19250 } 19251 return nil 19252} 19253 19254// SetEncoding sets the Encoding field's value. 19255func (s *GetSSHPublicKeyInput) SetEncoding(v string) *GetSSHPublicKeyInput { 19256 s.Encoding = &v 19257 return s 19258} 19259 19260// SetSSHPublicKeyId sets the SSHPublicKeyId field's value. 19261func (s *GetSSHPublicKeyInput) SetSSHPublicKeyId(v string) *GetSSHPublicKeyInput { 19262 s.SSHPublicKeyId = &v 19263 return s 19264} 19265 19266// SetUserName sets the UserName field's value. 19267func (s *GetSSHPublicKeyInput) SetUserName(v string) *GetSSHPublicKeyInput { 19268 s.UserName = &v 19269 return s 19270} 19271 19272// Contains the response to a successful GetSSHPublicKey request. 19273// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/GetSSHPublicKeyResponse 19274type GetSSHPublicKeyOutput struct { 19275 _ struct{} `type:"structure"` 19276 19277 // A structure containing details about the SSH public key. 19278 SSHPublicKey *SSHPublicKey `type:"structure"` 19279} 19280 19281// String returns the string representation 19282func (s GetSSHPublicKeyOutput) String() string { 19283 return awsutil.Prettify(s) 19284} 19285 19286// GoString returns the string representation 19287func (s GetSSHPublicKeyOutput) GoString() string { 19288 return s.String() 19289} 19290 19291// SetSSHPublicKey sets the SSHPublicKey field's value. 19292func (s *GetSSHPublicKeyOutput) SetSSHPublicKey(v *SSHPublicKey) *GetSSHPublicKeyOutput { 19293 s.SSHPublicKey = v 19294 return s 19295} 19296 19297// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/GetServerCertificateRequest 19298type GetServerCertificateInput struct { 19299 _ struct{} `type:"structure"` 19300 19301 // The name of the server certificate you want to retrieve information about. 19302 // 19303 // This parameter allows (per its regex pattern (http://wikipedia.org/wiki/regex)) 19304 // a string of characters consisting of upper and lowercase alphanumeric characters 19305 // with no spaces. You can also include any of the following characters: =,.@- 19306 // 19307 // ServerCertificateName is a required field 19308 ServerCertificateName *string `min:"1" type:"string" required:"true"` 19309} 19310 19311// String returns the string representation 19312func (s GetServerCertificateInput) String() string { 19313 return awsutil.Prettify(s) 19314} 19315 19316// GoString returns the string representation 19317func (s GetServerCertificateInput) GoString() string { 19318 return s.String() 19319} 19320 19321// Validate inspects the fields of the type to determine if they are valid. 19322func (s *GetServerCertificateInput) Validate() error { 19323 invalidParams := request.ErrInvalidParams{Context: "GetServerCertificateInput"} 19324 if s.ServerCertificateName == nil { 19325 invalidParams.Add(request.NewErrParamRequired("ServerCertificateName")) 19326 } 19327 if s.ServerCertificateName != nil && len(*s.ServerCertificateName) < 1 { 19328 invalidParams.Add(request.NewErrParamMinLen("ServerCertificateName", 1)) 19329 } 19330 19331 if invalidParams.Len() > 0 { 19332 return invalidParams 19333 } 19334 return nil 19335} 19336 19337// SetServerCertificateName sets the ServerCertificateName field's value. 19338func (s *GetServerCertificateInput) SetServerCertificateName(v string) *GetServerCertificateInput { 19339 s.ServerCertificateName = &v 19340 return s 19341} 19342 19343// Contains the response to a successful GetServerCertificate request. 19344// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/GetServerCertificateResponse 19345type GetServerCertificateOutput struct { 19346 _ struct{} `type:"structure"` 19347 19348 // A structure containing details about the server certificate. 19349 // 19350 // ServerCertificate is a required field 19351 ServerCertificate *ServerCertificate `type:"structure" required:"true"` 19352} 19353 19354// String returns the string representation 19355func (s GetServerCertificateOutput) String() string { 19356 return awsutil.Prettify(s) 19357} 19358 19359// GoString returns the string representation 19360func (s GetServerCertificateOutput) GoString() string { 19361 return s.String() 19362} 19363 19364// SetServerCertificate sets the ServerCertificate field's value. 19365func (s *GetServerCertificateOutput) SetServerCertificate(v *ServerCertificate) *GetServerCertificateOutput { 19366 s.ServerCertificate = v 19367 return s 19368} 19369 19370// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/GetServiceLinkedRoleDeletionStatusRequest 19371type GetServiceLinkedRoleDeletionStatusInput struct { 19372 _ struct{} `type:"structure"` 19373 19374 // The deletion task identifier. This identifier is returned by the DeleteServiceLinkedRole 19375 // operation in the format task/aws-service-role/<service-principal-name>/<role-name>/<task-uuid>. 19376 // 19377 // DeletionTaskId is a required field 19378 DeletionTaskId *string `min:"1" type:"string" required:"true"` 19379} 19380 19381// String returns the string representation 19382func (s GetServiceLinkedRoleDeletionStatusInput) String() string { 19383 return awsutil.Prettify(s) 19384} 19385 19386// GoString returns the string representation 19387func (s GetServiceLinkedRoleDeletionStatusInput) GoString() string { 19388 return s.String() 19389} 19390 19391// Validate inspects the fields of the type to determine if they are valid. 19392func (s *GetServiceLinkedRoleDeletionStatusInput) Validate() error { 19393 invalidParams := request.ErrInvalidParams{Context: "GetServiceLinkedRoleDeletionStatusInput"} 19394 if s.DeletionTaskId == nil { 19395 invalidParams.Add(request.NewErrParamRequired("DeletionTaskId")) 19396 } 19397 if s.DeletionTaskId != nil && len(*s.DeletionTaskId) < 1 { 19398 invalidParams.Add(request.NewErrParamMinLen("DeletionTaskId", 1)) 19399 } 19400 19401 if invalidParams.Len() > 0 { 19402 return invalidParams 19403 } 19404 return nil 19405} 19406 19407// SetDeletionTaskId sets the DeletionTaskId field's value. 19408func (s *GetServiceLinkedRoleDeletionStatusInput) SetDeletionTaskId(v string) *GetServiceLinkedRoleDeletionStatusInput { 19409 s.DeletionTaskId = &v 19410 return s 19411} 19412 19413// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/GetServiceLinkedRoleDeletionStatusResponse 19414type GetServiceLinkedRoleDeletionStatusOutput struct { 19415 _ struct{} `type:"structure"` 19416 19417 // An object that contains details about the reason the deletion failed. 19418 Reason *DeletionTaskFailureReasonType `type:"structure"` 19419 19420 // The status of the deletion. 19421 // 19422 // Status is a required field 19423 Status *string `type:"string" required:"true" enum:"DeletionTaskStatusType"` 19424} 19425 19426// String returns the string representation 19427func (s GetServiceLinkedRoleDeletionStatusOutput) String() string { 19428 return awsutil.Prettify(s) 19429} 19430 19431// GoString returns the string representation 19432func (s GetServiceLinkedRoleDeletionStatusOutput) GoString() string { 19433 return s.String() 19434} 19435 19436// SetReason sets the Reason field's value. 19437func (s *GetServiceLinkedRoleDeletionStatusOutput) SetReason(v *DeletionTaskFailureReasonType) *GetServiceLinkedRoleDeletionStatusOutput { 19438 s.Reason = v 19439 return s 19440} 19441 19442// SetStatus sets the Status field's value. 19443func (s *GetServiceLinkedRoleDeletionStatusOutput) SetStatus(v string) *GetServiceLinkedRoleDeletionStatusOutput { 19444 s.Status = &v 19445 return s 19446} 19447 19448// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/GetUserRequest 19449type GetUserInput struct { 19450 _ struct{} `type:"structure"` 19451 19452 // The name of the user to get information about. 19453 // 19454 // This parameter is optional. If it is not included, it defaults to the user 19455 // making the request. This parameter allows (per its regex pattern (http://wikipedia.org/wiki/regex)) 19456 // a string of characters consisting of upper and lowercase alphanumeric characters 19457 // with no spaces. You can also include any of the following characters: =,.@- 19458 UserName *string `min:"1" type:"string"` 19459} 19460 19461// String returns the string representation 19462func (s GetUserInput) String() string { 19463 return awsutil.Prettify(s) 19464} 19465 19466// GoString returns the string representation 19467func (s GetUserInput) GoString() string { 19468 return s.String() 19469} 19470 19471// Validate inspects the fields of the type to determine if they are valid. 19472func (s *GetUserInput) Validate() error { 19473 invalidParams := request.ErrInvalidParams{Context: "GetUserInput"} 19474 if s.UserName != nil && len(*s.UserName) < 1 { 19475 invalidParams.Add(request.NewErrParamMinLen("UserName", 1)) 19476 } 19477 19478 if invalidParams.Len() > 0 { 19479 return invalidParams 19480 } 19481 return nil 19482} 19483 19484// SetUserName sets the UserName field's value. 19485func (s *GetUserInput) SetUserName(v string) *GetUserInput { 19486 s.UserName = &v 19487 return s 19488} 19489 19490// Contains the response to a successful GetUser request. 19491// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/GetUserResponse 19492type GetUserOutput struct { 19493 _ struct{} `type:"structure"` 19494 19495 // A structure containing details about the IAM user. 19496 // 19497 // User is a required field 19498 User *User `type:"structure" required:"true"` 19499} 19500 19501// String returns the string representation 19502func (s GetUserOutput) String() string { 19503 return awsutil.Prettify(s) 19504} 19505 19506// GoString returns the string representation 19507func (s GetUserOutput) GoString() string { 19508 return s.String() 19509} 19510 19511// SetUser sets the User field's value. 19512func (s *GetUserOutput) SetUser(v *User) *GetUserOutput { 19513 s.User = v 19514 return s 19515} 19516 19517// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/GetUserPolicyRequest 19518type GetUserPolicyInput struct { 19519 _ struct{} `type:"structure"` 19520 19521 // The name of the policy document to get. 19522 // 19523 // This parameter allows (per its regex pattern (http://wikipedia.org/wiki/regex)) 19524 // a string of characters consisting of upper and lowercase alphanumeric characters 19525 // with no spaces. You can also include any of the following characters: =,.@-+ 19526 // 19527 // PolicyName is a required field 19528 PolicyName *string `min:"1" type:"string" required:"true"` 19529 19530 // The name of the user who the policy is associated with. 19531 // 19532 // This parameter allows (per its regex pattern (http://wikipedia.org/wiki/regex)) 19533 // a string of characters consisting of upper and lowercase alphanumeric characters 19534 // with no spaces. You can also include any of the following characters: =,.@- 19535 // 19536 // UserName is a required field 19537 UserName *string `min:"1" type:"string" required:"true"` 19538} 19539 19540// String returns the string representation 19541func (s GetUserPolicyInput) String() string { 19542 return awsutil.Prettify(s) 19543} 19544 19545// GoString returns the string representation 19546func (s GetUserPolicyInput) GoString() string { 19547 return s.String() 19548} 19549 19550// Validate inspects the fields of the type to determine if they are valid. 19551func (s *GetUserPolicyInput) Validate() error { 19552 invalidParams := request.ErrInvalidParams{Context: "GetUserPolicyInput"} 19553 if s.PolicyName == nil { 19554 invalidParams.Add(request.NewErrParamRequired("PolicyName")) 19555 } 19556 if s.PolicyName != nil && len(*s.PolicyName) < 1 { 19557 invalidParams.Add(request.NewErrParamMinLen("PolicyName", 1)) 19558 } 19559 if s.UserName == nil { 19560 invalidParams.Add(request.NewErrParamRequired("UserName")) 19561 } 19562 if s.UserName != nil && len(*s.UserName) < 1 { 19563 invalidParams.Add(request.NewErrParamMinLen("UserName", 1)) 19564 } 19565 19566 if invalidParams.Len() > 0 { 19567 return invalidParams 19568 } 19569 return nil 19570} 19571 19572// SetPolicyName sets the PolicyName field's value. 19573func (s *GetUserPolicyInput) SetPolicyName(v string) *GetUserPolicyInput { 19574 s.PolicyName = &v 19575 return s 19576} 19577 19578// SetUserName sets the UserName field's value. 19579func (s *GetUserPolicyInput) SetUserName(v string) *GetUserPolicyInput { 19580 s.UserName = &v 19581 return s 19582} 19583 19584// Contains the response to a successful GetUserPolicy request. 19585// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/GetUserPolicyResponse 19586type GetUserPolicyOutput struct { 19587 _ struct{} `type:"structure"` 19588 19589 // The policy document. 19590 // 19591 // PolicyDocument is a required field 19592 PolicyDocument *string `min:"1" type:"string" required:"true"` 19593 19594 // The name of the policy. 19595 // 19596 // PolicyName is a required field 19597 PolicyName *string `min:"1" type:"string" required:"true"` 19598 19599 // The user the policy is associated with. 19600 // 19601 // UserName is a required field 19602 UserName *string `min:"1" type:"string" required:"true"` 19603} 19604 19605// String returns the string representation 19606func (s GetUserPolicyOutput) String() string { 19607 return awsutil.Prettify(s) 19608} 19609 19610// GoString returns the string representation 19611func (s GetUserPolicyOutput) GoString() string { 19612 return s.String() 19613} 19614 19615// SetPolicyDocument sets the PolicyDocument field's value. 19616func (s *GetUserPolicyOutput) SetPolicyDocument(v string) *GetUserPolicyOutput { 19617 s.PolicyDocument = &v 19618 return s 19619} 19620 19621// SetPolicyName sets the PolicyName field's value. 19622func (s *GetUserPolicyOutput) SetPolicyName(v string) *GetUserPolicyOutput { 19623 s.PolicyName = &v 19624 return s 19625} 19626 19627// SetUserName sets the UserName field's value. 19628func (s *GetUserPolicyOutput) SetUserName(v string) *GetUserPolicyOutput { 19629 s.UserName = &v 19630 return s 19631} 19632 19633// Contains information about an IAM group entity. 19634// 19635// This data type is used as a response element in the following actions: 19636// 19637// * CreateGroup 19638// 19639// * GetGroup 19640// 19641// * ListGroups 19642// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/Group 19643type Group struct { 19644 _ struct{} `type:"structure"` 19645 19646 // The Amazon Resource Name (ARN) specifying the group. For more information 19647 // about ARNs and how to use them in policies, see IAM Identifiers (http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html) 19648 // in the Using IAM guide. 19649 // 19650 // Arn is a required field 19651 Arn *string `min:"20" type:"string" required:"true"` 19652 19653 // The date and time, in ISO 8601 date-time format (http://www.iso.org/iso/iso8601), 19654 // when the group was created. 19655 // 19656 // CreateDate is a required field 19657 CreateDate *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"` 19658 19659 // The stable and unique string identifying the group. For more information 19660 // about IDs, see IAM Identifiers (http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html) 19661 // in the Using IAM guide. 19662 // 19663 // GroupId is a required field 19664 GroupId *string `min:"16" type:"string" required:"true"` 19665 19666 // The friendly name that identifies the group. 19667 // 19668 // GroupName is a required field 19669 GroupName *string `min:"1" type:"string" required:"true"` 19670 19671 // The path to the group. For more information about paths, see IAM Identifiers 19672 // (http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html) 19673 // in the Using IAM guide. 19674 // 19675 // Path is a required field 19676 Path *string `min:"1" type:"string" required:"true"` 19677} 19678 19679// String returns the string representation 19680func (s Group) String() string { 19681 return awsutil.Prettify(s) 19682} 19683 19684// GoString returns the string representation 19685func (s Group) GoString() string { 19686 return s.String() 19687} 19688 19689// SetArn sets the Arn field's value. 19690func (s *Group) SetArn(v string) *Group { 19691 s.Arn = &v 19692 return s 19693} 19694 19695// SetCreateDate sets the CreateDate field's value. 19696func (s *Group) SetCreateDate(v time.Time) *Group { 19697 s.CreateDate = &v 19698 return s 19699} 19700 19701// SetGroupId sets the GroupId field's value. 19702func (s *Group) SetGroupId(v string) *Group { 19703 s.GroupId = &v 19704 return s 19705} 19706 19707// SetGroupName sets the GroupName field's value. 19708func (s *Group) SetGroupName(v string) *Group { 19709 s.GroupName = &v 19710 return s 19711} 19712 19713// SetPath sets the Path field's value. 19714func (s *Group) SetPath(v string) *Group { 19715 s.Path = &v 19716 return s 19717} 19718 19719// Contains information about an IAM group, including all of the group's policies. 19720// 19721// This data type is used as a response element in the GetAccountAuthorizationDetails 19722// action. 19723// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/GroupDetail 19724type GroupDetail struct { 19725 _ struct{} `type:"structure"` 19726 19727 // The Amazon Resource Name (ARN). ARNs are unique identifiers for AWS resources. 19728 // 19729 // For more information about ARNs, go to Amazon Resource Names (ARNs) and AWS 19730 // Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) 19731 // in the AWS General Reference. 19732 Arn *string `min:"20" type:"string"` 19733 19734 // A list of the managed policies attached to the group. 19735 AttachedManagedPolicies []*AttachedPolicy `type:"list"` 19736 19737 // The date and time, in ISO 8601 date-time format (http://www.iso.org/iso/iso8601), 19738 // when the group was created. 19739 CreateDate *time.Time `type:"timestamp" timestampFormat:"iso8601"` 19740 19741 // The stable and unique string identifying the group. For more information 19742 // about IDs, see IAM Identifiers (http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html) 19743 // in the Using IAM guide. 19744 GroupId *string `min:"16" type:"string"` 19745 19746 // The friendly name that identifies the group. 19747 GroupName *string `min:"1" type:"string"` 19748 19749 // A list of the inline policies embedded in the group. 19750 GroupPolicyList []*PolicyDetail `type:"list"` 19751 19752 // The path to the group. For more information about paths, see IAM Identifiers 19753 // (http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html) 19754 // in the Using IAM guide. 19755 Path *string `min:"1" type:"string"` 19756} 19757 19758// String returns the string representation 19759func (s GroupDetail) String() string { 19760 return awsutil.Prettify(s) 19761} 19762 19763// GoString returns the string representation 19764func (s GroupDetail) GoString() string { 19765 return s.String() 19766} 19767 19768// SetArn sets the Arn field's value. 19769func (s *GroupDetail) SetArn(v string) *GroupDetail { 19770 s.Arn = &v 19771 return s 19772} 19773 19774// SetAttachedManagedPolicies sets the AttachedManagedPolicies field's value. 19775func (s *GroupDetail) SetAttachedManagedPolicies(v []*AttachedPolicy) *GroupDetail { 19776 s.AttachedManagedPolicies = v 19777 return s 19778} 19779 19780// SetCreateDate sets the CreateDate field's value. 19781func (s *GroupDetail) SetCreateDate(v time.Time) *GroupDetail { 19782 s.CreateDate = &v 19783 return s 19784} 19785 19786// SetGroupId sets the GroupId field's value. 19787func (s *GroupDetail) SetGroupId(v string) *GroupDetail { 19788 s.GroupId = &v 19789 return s 19790} 19791 19792// SetGroupName sets the GroupName field's value. 19793func (s *GroupDetail) SetGroupName(v string) *GroupDetail { 19794 s.GroupName = &v 19795 return s 19796} 19797 19798// SetGroupPolicyList sets the GroupPolicyList field's value. 19799func (s *GroupDetail) SetGroupPolicyList(v []*PolicyDetail) *GroupDetail { 19800 s.GroupPolicyList = v 19801 return s 19802} 19803 19804// SetPath sets the Path field's value. 19805func (s *GroupDetail) SetPath(v string) *GroupDetail { 19806 s.Path = &v 19807 return s 19808} 19809 19810// Contains information about an instance profile. 19811// 19812// This data type is used as a response element in the following actions: 19813// 19814// * CreateInstanceProfile 19815// 19816// * GetInstanceProfile 19817// 19818// * ListInstanceProfiles 19819// 19820// * ListInstanceProfilesForRole 19821// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/InstanceProfile 19822type InstanceProfile struct { 19823 _ struct{} `type:"structure"` 19824 19825 // The Amazon Resource Name (ARN) specifying the instance profile. For more 19826 // information about ARNs and how to use them in policies, see IAM Identifiers 19827 // (http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html) 19828 // in the Using IAM guide. 19829 // 19830 // Arn is a required field 19831 Arn *string `min:"20" type:"string" required:"true"` 19832 19833 // The date when the instance profile was created. 19834 // 19835 // CreateDate is a required field 19836 CreateDate *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"` 19837 19838 // The stable and unique string identifying the instance profile. For more information 19839 // about IDs, see IAM Identifiers (http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html) 19840 // in the Using IAM guide. 19841 // 19842 // InstanceProfileId is a required field 19843 InstanceProfileId *string `min:"16" type:"string" required:"true"` 19844 19845 // The name identifying the instance profile. 19846 // 19847 // InstanceProfileName is a required field 19848 InstanceProfileName *string `min:"1" type:"string" required:"true"` 19849 19850 // The path to the instance profile. For more information about paths, see IAM 19851 // Identifiers (http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html) 19852 // in the Using IAM guide. 19853 // 19854 // Path is a required field 19855 Path *string `min:"1" type:"string" required:"true"` 19856 19857 // The role associated with the instance profile. 19858 // 19859 // Roles is a required field 19860 Roles []*Role `type:"list" required:"true"` 19861} 19862 19863// String returns the string representation 19864func (s InstanceProfile) String() string { 19865 return awsutil.Prettify(s) 19866} 19867 19868// GoString returns the string representation 19869func (s InstanceProfile) GoString() string { 19870 return s.String() 19871} 19872 19873// SetArn sets the Arn field's value. 19874func (s *InstanceProfile) SetArn(v string) *InstanceProfile { 19875 s.Arn = &v 19876 return s 19877} 19878 19879// SetCreateDate sets the CreateDate field's value. 19880func (s *InstanceProfile) SetCreateDate(v time.Time) *InstanceProfile { 19881 s.CreateDate = &v 19882 return s 19883} 19884 19885// SetInstanceProfileId sets the InstanceProfileId field's value. 19886func (s *InstanceProfile) SetInstanceProfileId(v string) *InstanceProfile { 19887 s.InstanceProfileId = &v 19888 return s 19889} 19890 19891// SetInstanceProfileName sets the InstanceProfileName field's value. 19892func (s *InstanceProfile) SetInstanceProfileName(v string) *InstanceProfile { 19893 s.InstanceProfileName = &v 19894 return s 19895} 19896 19897// SetPath sets the Path field's value. 19898func (s *InstanceProfile) SetPath(v string) *InstanceProfile { 19899 s.Path = &v 19900 return s 19901} 19902 19903// SetRoles sets the Roles field's value. 19904func (s *InstanceProfile) SetRoles(v []*Role) *InstanceProfile { 19905 s.Roles = v 19906 return s 19907} 19908 19909// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ListAccessKeysRequest 19910type ListAccessKeysInput struct { 19911 _ struct{} `type:"structure"` 19912 19913 // Use this parameter only when paginating results and only after you receive 19914 // a response indicating that the results are truncated. Set it to the value 19915 // of the Marker element in the response that you received to indicate where 19916 // the next call should start. 19917 Marker *string `min:"1" type:"string"` 19918 19919 // (Optional) Use this only when paginating results to indicate the maximum 19920 // number of items you want in the response. If additional items exist beyond 19921 // the maximum you specify, the IsTruncated response element is true. 19922 // 19923 // If you do not include this parameter, it defaults to 100. Note that IAM might 19924 // return fewer results, even when there are more results available. In that 19925 // case, the IsTruncated response element returns true and Marker contains a 19926 // value to include in the subsequent call that tells the service where to continue 19927 // from. 19928 MaxItems *int64 `min:"1" type:"integer"` 19929 19930 // The name of the user. 19931 // 19932 // This parameter allows (per its regex pattern (http://wikipedia.org/wiki/regex)) 19933 // a string of characters consisting of upper and lowercase alphanumeric characters 19934 // with no spaces. You can also include any of the following characters: =,.@- 19935 UserName *string `min:"1" type:"string"` 19936} 19937 19938// String returns the string representation 19939func (s ListAccessKeysInput) String() string { 19940 return awsutil.Prettify(s) 19941} 19942 19943// GoString returns the string representation 19944func (s ListAccessKeysInput) GoString() string { 19945 return s.String() 19946} 19947 19948// Validate inspects the fields of the type to determine if they are valid. 19949func (s *ListAccessKeysInput) Validate() error { 19950 invalidParams := request.ErrInvalidParams{Context: "ListAccessKeysInput"} 19951 if s.Marker != nil && len(*s.Marker) < 1 { 19952 invalidParams.Add(request.NewErrParamMinLen("Marker", 1)) 19953 } 19954 if s.MaxItems != nil && *s.MaxItems < 1 { 19955 invalidParams.Add(request.NewErrParamMinValue("MaxItems", 1)) 19956 } 19957 if s.UserName != nil && len(*s.UserName) < 1 { 19958 invalidParams.Add(request.NewErrParamMinLen("UserName", 1)) 19959 } 19960 19961 if invalidParams.Len() > 0 { 19962 return invalidParams 19963 } 19964 return nil 19965} 19966 19967// SetMarker sets the Marker field's value. 19968func (s *ListAccessKeysInput) SetMarker(v string) *ListAccessKeysInput { 19969 s.Marker = &v 19970 return s 19971} 19972 19973// SetMaxItems sets the MaxItems field's value. 19974func (s *ListAccessKeysInput) SetMaxItems(v int64) *ListAccessKeysInput { 19975 s.MaxItems = &v 19976 return s 19977} 19978 19979// SetUserName sets the UserName field's value. 19980func (s *ListAccessKeysInput) SetUserName(v string) *ListAccessKeysInput { 19981 s.UserName = &v 19982 return s 19983} 19984 19985// Contains the response to a successful ListAccessKeys request. 19986// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ListAccessKeysResponse 19987type ListAccessKeysOutput struct { 19988 _ struct{} `type:"structure"` 19989 19990 // A list of objects containing metadata about the access keys. 19991 // 19992 // AccessKeyMetadata is a required field 19993 AccessKeyMetadata []*AccessKeyMetadata `type:"list" required:"true"` 19994 19995 // A flag that indicates whether there are more items to return. If your results 19996 // were truncated, you can make a subsequent pagination request using the Marker 19997 // request parameter to retrieve more items. Note that IAM might return fewer 19998 // than the MaxItems number of results even when there are more results available. 19999 // We recommend that you check IsTruncated after every call to ensure that you 20000 // receive all of your results. 20001 IsTruncated *bool `type:"boolean"` 20002 20003 // When IsTruncated is true, this element is present and contains the value 20004 // to use for the Marker parameter in a subsequent pagination request. 20005 Marker *string `min:"1" type:"string"` 20006} 20007 20008// String returns the string representation 20009func (s ListAccessKeysOutput) String() string { 20010 return awsutil.Prettify(s) 20011} 20012 20013// GoString returns the string representation 20014func (s ListAccessKeysOutput) GoString() string { 20015 return s.String() 20016} 20017 20018// SetAccessKeyMetadata sets the AccessKeyMetadata field's value. 20019func (s *ListAccessKeysOutput) SetAccessKeyMetadata(v []*AccessKeyMetadata) *ListAccessKeysOutput { 20020 s.AccessKeyMetadata = v 20021 return s 20022} 20023 20024// SetIsTruncated sets the IsTruncated field's value. 20025func (s *ListAccessKeysOutput) SetIsTruncated(v bool) *ListAccessKeysOutput { 20026 s.IsTruncated = &v 20027 return s 20028} 20029 20030// SetMarker sets the Marker field's value. 20031func (s *ListAccessKeysOutput) SetMarker(v string) *ListAccessKeysOutput { 20032 s.Marker = &v 20033 return s 20034} 20035 20036// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ListAccountAliasesRequest 20037type ListAccountAliasesInput struct { 20038 _ struct{} `type:"structure"` 20039 20040 // Use this parameter only when paginating results and only after you receive 20041 // a response indicating that the results are truncated. Set it to the value 20042 // of the Marker element in the response that you received to indicate where 20043 // the next call should start. 20044 Marker *string `min:"1" type:"string"` 20045 20046 // (Optional) Use this only when paginating results to indicate the maximum 20047 // number of items you want in the response. If additional items exist beyond 20048 // the maximum you specify, the IsTruncated response element is true. 20049 // 20050 // If you do not include this parameter, it defaults to 100. Note that IAM might 20051 // return fewer results, even when there are more results available. In that 20052 // case, the IsTruncated response element returns true and Marker contains a 20053 // value to include in the subsequent call that tells the service where to continue 20054 // from. 20055 MaxItems *int64 `min:"1" type:"integer"` 20056} 20057 20058// String returns the string representation 20059func (s ListAccountAliasesInput) String() string { 20060 return awsutil.Prettify(s) 20061} 20062 20063// GoString returns the string representation 20064func (s ListAccountAliasesInput) GoString() string { 20065 return s.String() 20066} 20067 20068// Validate inspects the fields of the type to determine if they are valid. 20069func (s *ListAccountAliasesInput) Validate() error { 20070 invalidParams := request.ErrInvalidParams{Context: "ListAccountAliasesInput"} 20071 if s.Marker != nil && len(*s.Marker) < 1 { 20072 invalidParams.Add(request.NewErrParamMinLen("Marker", 1)) 20073 } 20074 if s.MaxItems != nil && *s.MaxItems < 1 { 20075 invalidParams.Add(request.NewErrParamMinValue("MaxItems", 1)) 20076 } 20077 20078 if invalidParams.Len() > 0 { 20079 return invalidParams 20080 } 20081 return nil 20082} 20083 20084// SetMarker sets the Marker field's value. 20085func (s *ListAccountAliasesInput) SetMarker(v string) *ListAccountAliasesInput { 20086 s.Marker = &v 20087 return s 20088} 20089 20090// SetMaxItems sets the MaxItems field's value. 20091func (s *ListAccountAliasesInput) SetMaxItems(v int64) *ListAccountAliasesInput { 20092 s.MaxItems = &v 20093 return s 20094} 20095 20096// Contains the response to a successful ListAccountAliases request. 20097// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ListAccountAliasesResponse 20098type ListAccountAliasesOutput struct { 20099 _ struct{} `type:"structure"` 20100 20101 // A list of aliases associated with the account. AWS supports only one alias 20102 // per account. 20103 // 20104 // AccountAliases is a required field 20105 AccountAliases []*string `type:"list" required:"true"` 20106 20107 // A flag that indicates whether there are more items to return. If your results 20108 // were truncated, you can make a subsequent pagination request using the Marker 20109 // request parameter to retrieve more items. Note that IAM might return fewer 20110 // than the MaxItems number of results even when there are more results available. 20111 // We recommend that you check IsTruncated after every call to ensure that you 20112 // receive all of your results. 20113 IsTruncated *bool `type:"boolean"` 20114 20115 // When IsTruncated is true, this element is present and contains the value 20116 // to use for the Marker parameter in a subsequent pagination request. 20117 Marker *string `min:"1" type:"string"` 20118} 20119 20120// String returns the string representation 20121func (s ListAccountAliasesOutput) String() string { 20122 return awsutil.Prettify(s) 20123} 20124 20125// GoString returns the string representation 20126func (s ListAccountAliasesOutput) GoString() string { 20127 return s.String() 20128} 20129 20130// SetAccountAliases sets the AccountAliases field's value. 20131func (s *ListAccountAliasesOutput) SetAccountAliases(v []*string) *ListAccountAliasesOutput { 20132 s.AccountAliases = v 20133 return s 20134} 20135 20136// SetIsTruncated sets the IsTruncated field's value. 20137func (s *ListAccountAliasesOutput) SetIsTruncated(v bool) *ListAccountAliasesOutput { 20138 s.IsTruncated = &v 20139 return s 20140} 20141 20142// SetMarker sets the Marker field's value. 20143func (s *ListAccountAliasesOutput) SetMarker(v string) *ListAccountAliasesOutput { 20144 s.Marker = &v 20145 return s 20146} 20147 20148// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ListAttachedGroupPoliciesRequest 20149type ListAttachedGroupPoliciesInput struct { 20150 _ struct{} `type:"structure"` 20151 20152 // The name (friendly name, not ARN) of the group to list attached policies 20153 // for. 20154 // 20155 // This parameter allows (per its regex pattern (http://wikipedia.org/wiki/regex)) 20156 // a string of characters consisting of upper and lowercase alphanumeric characters 20157 // with no spaces. You can also include any of the following characters: =,.@- 20158 // 20159 // GroupName is a required field 20160 GroupName *string `min:"1" type:"string" required:"true"` 20161 20162 // Use this parameter only when paginating results and only after you receive 20163 // a response indicating that the results are truncated. Set it to the value 20164 // of the Marker element in the response that you received to indicate where 20165 // the next call should start. 20166 Marker *string `min:"1" type:"string"` 20167 20168 // (Optional) Use this only when paginating results to indicate the maximum 20169 // number of items you want in the response. If additional items exist beyond 20170 // the maximum you specify, the IsTruncated response element is true. 20171 // 20172 // If you do not include this parameter, it defaults to 100. Note that IAM might 20173 // return fewer results, even when there are more results available. In that 20174 // case, the IsTruncated response element returns true and Marker contains a 20175 // value to include in the subsequent call that tells the service where to continue 20176 // from. 20177 MaxItems *int64 `min:"1" type:"integer"` 20178 20179 // The path prefix for filtering the results. This parameter is optional. If 20180 // it is not included, it defaults to a slash (/), listing all policies. 20181 // 20182 // This paramater allows (per its regex pattern (http://wikipedia.org/wiki/regex)) 20183 // a string of characters consisting of either a forward slash (/) by itself 20184 // or a string that must begin and end with forward slashes, containing any 20185 // ASCII character from the ! (\u0021) thru the DEL character (\u007F), including 20186 // most punctuation characters, digits, and upper and lowercased letters. 20187 PathPrefix *string `type:"string"` 20188} 20189 20190// String returns the string representation 20191func (s ListAttachedGroupPoliciesInput) String() string { 20192 return awsutil.Prettify(s) 20193} 20194 20195// GoString returns the string representation 20196func (s ListAttachedGroupPoliciesInput) GoString() string { 20197 return s.String() 20198} 20199 20200// Validate inspects the fields of the type to determine if they are valid. 20201func (s *ListAttachedGroupPoliciesInput) Validate() error { 20202 invalidParams := request.ErrInvalidParams{Context: "ListAttachedGroupPoliciesInput"} 20203 if s.GroupName == nil { 20204 invalidParams.Add(request.NewErrParamRequired("GroupName")) 20205 } 20206 if s.GroupName != nil && len(*s.GroupName) < 1 { 20207 invalidParams.Add(request.NewErrParamMinLen("GroupName", 1)) 20208 } 20209 if s.Marker != nil && len(*s.Marker) < 1 { 20210 invalidParams.Add(request.NewErrParamMinLen("Marker", 1)) 20211 } 20212 if s.MaxItems != nil && *s.MaxItems < 1 { 20213 invalidParams.Add(request.NewErrParamMinValue("MaxItems", 1)) 20214 } 20215 20216 if invalidParams.Len() > 0 { 20217 return invalidParams 20218 } 20219 return nil 20220} 20221 20222// SetGroupName sets the GroupName field's value. 20223func (s *ListAttachedGroupPoliciesInput) SetGroupName(v string) *ListAttachedGroupPoliciesInput { 20224 s.GroupName = &v 20225 return s 20226} 20227 20228// SetMarker sets the Marker field's value. 20229func (s *ListAttachedGroupPoliciesInput) SetMarker(v string) *ListAttachedGroupPoliciesInput { 20230 s.Marker = &v 20231 return s 20232} 20233 20234// SetMaxItems sets the MaxItems field's value. 20235func (s *ListAttachedGroupPoliciesInput) SetMaxItems(v int64) *ListAttachedGroupPoliciesInput { 20236 s.MaxItems = &v 20237 return s 20238} 20239 20240// SetPathPrefix sets the PathPrefix field's value. 20241func (s *ListAttachedGroupPoliciesInput) SetPathPrefix(v string) *ListAttachedGroupPoliciesInput { 20242 s.PathPrefix = &v 20243 return s 20244} 20245 20246// Contains the response to a successful ListAttachedGroupPolicies request. 20247// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ListAttachedGroupPoliciesResponse 20248type ListAttachedGroupPoliciesOutput struct { 20249 _ struct{} `type:"structure"` 20250 20251 // A list of the attached policies. 20252 AttachedPolicies []*AttachedPolicy `type:"list"` 20253 20254 // A flag that indicates whether there are more items to return. If your results 20255 // were truncated, you can make a subsequent pagination request using the Marker 20256 // request parameter to retrieve more items. Note that IAM might return fewer 20257 // than the MaxItems number of results even when there are more results available. 20258 // We recommend that you check IsTruncated after every call to ensure that you 20259 // receive all of your results. 20260 IsTruncated *bool `type:"boolean"` 20261 20262 // When IsTruncated is true, this element is present and contains the value 20263 // to use for the Marker parameter in a subsequent pagination request. 20264 Marker *string `min:"1" type:"string"` 20265} 20266 20267// String returns the string representation 20268func (s ListAttachedGroupPoliciesOutput) String() string { 20269 return awsutil.Prettify(s) 20270} 20271 20272// GoString returns the string representation 20273func (s ListAttachedGroupPoliciesOutput) GoString() string { 20274 return s.String() 20275} 20276 20277// SetAttachedPolicies sets the AttachedPolicies field's value. 20278func (s *ListAttachedGroupPoliciesOutput) SetAttachedPolicies(v []*AttachedPolicy) *ListAttachedGroupPoliciesOutput { 20279 s.AttachedPolicies = v 20280 return s 20281} 20282 20283// SetIsTruncated sets the IsTruncated field's value. 20284func (s *ListAttachedGroupPoliciesOutput) SetIsTruncated(v bool) *ListAttachedGroupPoliciesOutput { 20285 s.IsTruncated = &v 20286 return s 20287} 20288 20289// SetMarker sets the Marker field's value. 20290func (s *ListAttachedGroupPoliciesOutput) SetMarker(v string) *ListAttachedGroupPoliciesOutput { 20291 s.Marker = &v 20292 return s 20293} 20294 20295// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ListAttachedRolePoliciesRequest 20296type ListAttachedRolePoliciesInput struct { 20297 _ struct{} `type:"structure"` 20298 20299 // Use this parameter only when paginating results and only after you receive 20300 // a response indicating that the results are truncated. Set it to the value 20301 // of the Marker element in the response that you received to indicate where 20302 // the next call should start. 20303 Marker *string `min:"1" type:"string"` 20304 20305 // (Optional) Use this only when paginating results to indicate the maximum 20306 // number of items you want in the response. If additional items exist beyond 20307 // the maximum you specify, the IsTruncated response element is true. 20308 // 20309 // If you do not include this parameter, it defaults to 100. Note that IAM might 20310 // return fewer results, even when there are more results available. In that 20311 // case, the IsTruncated response element returns true and Marker contains a 20312 // value to include in the subsequent call that tells the service where to continue 20313 // from. 20314 MaxItems *int64 `min:"1" type:"integer"` 20315 20316 // The path prefix for filtering the results. This parameter is optional. If 20317 // it is not included, it defaults to a slash (/), listing all policies. 20318 // 20319 // This paramater allows (per its regex pattern (http://wikipedia.org/wiki/regex)) 20320 // a string of characters consisting of either a forward slash (/) by itself 20321 // or a string that must begin and end with forward slashes, containing any 20322 // ASCII character from the ! (\u0021) thru the DEL character (\u007F), including 20323 // most punctuation characters, digits, and upper and lowercased letters. 20324 PathPrefix *string `type:"string"` 20325 20326 // The name (friendly name, not ARN) of the role to list attached policies for. 20327 // 20328 // This parameter allows (per its regex pattern (http://wikipedia.org/wiki/regex)) 20329 // a string of characters consisting of upper and lowercase alphanumeric characters 20330 // with no spaces. You can also include any of the following characters: _+=,.@- 20331 // 20332 // RoleName is a required field 20333 RoleName *string `min:"1" type:"string" required:"true"` 20334} 20335 20336// String returns the string representation 20337func (s ListAttachedRolePoliciesInput) String() string { 20338 return awsutil.Prettify(s) 20339} 20340 20341// GoString returns the string representation 20342func (s ListAttachedRolePoliciesInput) GoString() string { 20343 return s.String() 20344} 20345 20346// Validate inspects the fields of the type to determine if they are valid. 20347func (s *ListAttachedRolePoliciesInput) Validate() error { 20348 invalidParams := request.ErrInvalidParams{Context: "ListAttachedRolePoliciesInput"} 20349 if s.Marker != nil && len(*s.Marker) < 1 { 20350 invalidParams.Add(request.NewErrParamMinLen("Marker", 1)) 20351 } 20352 if s.MaxItems != nil && *s.MaxItems < 1 { 20353 invalidParams.Add(request.NewErrParamMinValue("MaxItems", 1)) 20354 } 20355 if s.RoleName == nil { 20356 invalidParams.Add(request.NewErrParamRequired("RoleName")) 20357 } 20358 if s.RoleName != nil && len(*s.RoleName) < 1 { 20359 invalidParams.Add(request.NewErrParamMinLen("RoleName", 1)) 20360 } 20361 20362 if invalidParams.Len() > 0 { 20363 return invalidParams 20364 } 20365 return nil 20366} 20367 20368// SetMarker sets the Marker field's value. 20369func (s *ListAttachedRolePoliciesInput) SetMarker(v string) *ListAttachedRolePoliciesInput { 20370 s.Marker = &v 20371 return s 20372} 20373 20374// SetMaxItems sets the MaxItems field's value. 20375func (s *ListAttachedRolePoliciesInput) SetMaxItems(v int64) *ListAttachedRolePoliciesInput { 20376 s.MaxItems = &v 20377 return s 20378} 20379 20380// SetPathPrefix sets the PathPrefix field's value. 20381func (s *ListAttachedRolePoliciesInput) SetPathPrefix(v string) *ListAttachedRolePoliciesInput { 20382 s.PathPrefix = &v 20383 return s 20384} 20385 20386// SetRoleName sets the RoleName field's value. 20387func (s *ListAttachedRolePoliciesInput) SetRoleName(v string) *ListAttachedRolePoliciesInput { 20388 s.RoleName = &v 20389 return s 20390} 20391 20392// Contains the response to a successful ListAttachedRolePolicies request. 20393// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ListAttachedRolePoliciesResponse 20394type ListAttachedRolePoliciesOutput struct { 20395 _ struct{} `type:"structure"` 20396 20397 // A list of the attached policies. 20398 AttachedPolicies []*AttachedPolicy `type:"list"` 20399 20400 // A flag that indicates whether there are more items to return. If your results 20401 // were truncated, you can make a subsequent pagination request using the Marker 20402 // request parameter to retrieve more items. Note that IAM might return fewer 20403 // than the MaxItems number of results even when there are more results available. 20404 // We recommend that you check IsTruncated after every call to ensure that you 20405 // receive all of your results. 20406 IsTruncated *bool `type:"boolean"` 20407 20408 // When IsTruncated is true, this element is present and contains the value 20409 // to use for the Marker parameter in a subsequent pagination request. 20410 Marker *string `min:"1" type:"string"` 20411} 20412 20413// String returns the string representation 20414func (s ListAttachedRolePoliciesOutput) String() string { 20415 return awsutil.Prettify(s) 20416} 20417 20418// GoString returns the string representation 20419func (s ListAttachedRolePoliciesOutput) GoString() string { 20420 return s.String() 20421} 20422 20423// SetAttachedPolicies sets the AttachedPolicies field's value. 20424func (s *ListAttachedRolePoliciesOutput) SetAttachedPolicies(v []*AttachedPolicy) *ListAttachedRolePoliciesOutput { 20425 s.AttachedPolicies = v 20426 return s 20427} 20428 20429// SetIsTruncated sets the IsTruncated field's value. 20430func (s *ListAttachedRolePoliciesOutput) SetIsTruncated(v bool) *ListAttachedRolePoliciesOutput { 20431 s.IsTruncated = &v 20432 return s 20433} 20434 20435// SetMarker sets the Marker field's value. 20436func (s *ListAttachedRolePoliciesOutput) SetMarker(v string) *ListAttachedRolePoliciesOutput { 20437 s.Marker = &v 20438 return s 20439} 20440 20441// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ListAttachedUserPoliciesRequest 20442type ListAttachedUserPoliciesInput struct { 20443 _ struct{} `type:"structure"` 20444 20445 // Use this parameter only when paginating results and only after you receive 20446 // a response indicating that the results are truncated. Set it to the value 20447 // of the Marker element in the response that you received to indicate where 20448 // the next call should start. 20449 Marker *string `min:"1" type:"string"` 20450 20451 // (Optional) Use this only when paginating results to indicate the maximum 20452 // number of items you want in the response. If additional items exist beyond 20453 // the maximum you specify, the IsTruncated response element is true. 20454 // 20455 // If you do not include this parameter, it defaults to 100. Note that IAM might 20456 // return fewer results, even when there are more results available. In that 20457 // case, the IsTruncated response element returns true and Marker contains a 20458 // value to include in the subsequent call that tells the service where to continue 20459 // from. 20460 MaxItems *int64 `min:"1" type:"integer"` 20461 20462 // The path prefix for filtering the results. This parameter is optional. If 20463 // it is not included, it defaults to a slash (/), listing all policies. 20464 // 20465 // This paramater allows (per its regex pattern (http://wikipedia.org/wiki/regex)) 20466 // a string of characters consisting of either a forward slash (/) by itself 20467 // or a string that must begin and end with forward slashes, containing any 20468 // ASCII character from the ! (\u0021) thru the DEL character (\u007F), including 20469 // most punctuation characters, digits, and upper and lowercased letters. 20470 PathPrefix *string `type:"string"` 20471 20472 // The name (friendly name, not ARN) of the user to list attached policies for. 20473 // 20474 // This parameter allows (per its regex pattern (http://wikipedia.org/wiki/regex)) 20475 // a string of characters consisting of upper and lowercase alphanumeric characters 20476 // with no spaces. You can also include any of the following characters: =,.@- 20477 // 20478 // UserName is a required field 20479 UserName *string `min:"1" type:"string" required:"true"` 20480} 20481 20482// String returns the string representation 20483func (s ListAttachedUserPoliciesInput) String() string { 20484 return awsutil.Prettify(s) 20485} 20486 20487// GoString returns the string representation 20488func (s ListAttachedUserPoliciesInput) GoString() string { 20489 return s.String() 20490} 20491 20492// Validate inspects the fields of the type to determine if they are valid. 20493func (s *ListAttachedUserPoliciesInput) Validate() error { 20494 invalidParams := request.ErrInvalidParams{Context: "ListAttachedUserPoliciesInput"} 20495 if s.Marker != nil && len(*s.Marker) < 1 { 20496 invalidParams.Add(request.NewErrParamMinLen("Marker", 1)) 20497 } 20498 if s.MaxItems != nil && *s.MaxItems < 1 { 20499 invalidParams.Add(request.NewErrParamMinValue("MaxItems", 1)) 20500 } 20501 if s.UserName == nil { 20502 invalidParams.Add(request.NewErrParamRequired("UserName")) 20503 } 20504 if s.UserName != nil && len(*s.UserName) < 1 { 20505 invalidParams.Add(request.NewErrParamMinLen("UserName", 1)) 20506 } 20507 20508 if invalidParams.Len() > 0 { 20509 return invalidParams 20510 } 20511 return nil 20512} 20513 20514// SetMarker sets the Marker field's value. 20515func (s *ListAttachedUserPoliciesInput) SetMarker(v string) *ListAttachedUserPoliciesInput { 20516 s.Marker = &v 20517 return s 20518} 20519 20520// SetMaxItems sets the MaxItems field's value. 20521func (s *ListAttachedUserPoliciesInput) SetMaxItems(v int64) *ListAttachedUserPoliciesInput { 20522 s.MaxItems = &v 20523 return s 20524} 20525 20526// SetPathPrefix sets the PathPrefix field's value. 20527func (s *ListAttachedUserPoliciesInput) SetPathPrefix(v string) *ListAttachedUserPoliciesInput { 20528 s.PathPrefix = &v 20529 return s 20530} 20531 20532// SetUserName sets the UserName field's value. 20533func (s *ListAttachedUserPoliciesInput) SetUserName(v string) *ListAttachedUserPoliciesInput { 20534 s.UserName = &v 20535 return s 20536} 20537 20538// Contains the response to a successful ListAttachedUserPolicies request. 20539// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ListAttachedUserPoliciesResponse 20540type ListAttachedUserPoliciesOutput struct { 20541 _ struct{} `type:"structure"` 20542 20543 // A list of the attached policies. 20544 AttachedPolicies []*AttachedPolicy `type:"list"` 20545 20546 // A flag that indicates whether there are more items to return. If your results 20547 // were truncated, you can make a subsequent pagination request using the Marker 20548 // request parameter to retrieve more items. Note that IAM might return fewer 20549 // than the MaxItems number of results even when there are more results available. 20550 // We recommend that you check IsTruncated after every call to ensure that you 20551 // receive all of your results. 20552 IsTruncated *bool `type:"boolean"` 20553 20554 // When IsTruncated is true, this element is present and contains the value 20555 // to use for the Marker parameter in a subsequent pagination request. 20556 Marker *string `min:"1" type:"string"` 20557} 20558 20559// String returns the string representation 20560func (s ListAttachedUserPoliciesOutput) String() string { 20561 return awsutil.Prettify(s) 20562} 20563 20564// GoString returns the string representation 20565func (s ListAttachedUserPoliciesOutput) GoString() string { 20566 return s.String() 20567} 20568 20569// SetAttachedPolicies sets the AttachedPolicies field's value. 20570func (s *ListAttachedUserPoliciesOutput) SetAttachedPolicies(v []*AttachedPolicy) *ListAttachedUserPoliciesOutput { 20571 s.AttachedPolicies = v 20572 return s 20573} 20574 20575// SetIsTruncated sets the IsTruncated field's value. 20576func (s *ListAttachedUserPoliciesOutput) SetIsTruncated(v bool) *ListAttachedUserPoliciesOutput { 20577 s.IsTruncated = &v 20578 return s 20579} 20580 20581// SetMarker sets the Marker field's value. 20582func (s *ListAttachedUserPoliciesOutput) SetMarker(v string) *ListAttachedUserPoliciesOutput { 20583 s.Marker = &v 20584 return s 20585} 20586 20587// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ListEntitiesForPolicyRequest 20588type ListEntitiesForPolicyInput struct { 20589 _ struct{} `type:"structure"` 20590 20591 // The entity type to use for filtering the results. 20592 // 20593 // For example, when EntityFilter is Role, only the roles that are attached 20594 // to the specified policy are returned. This parameter is optional. If it is 20595 // not included, all attached entities (users, groups, and roles) are returned. 20596 // The argument for this parameter must be one of the valid values listed below. 20597 EntityFilter *string `type:"string" enum:"EntityType"` 20598 20599 // Use this parameter only when paginating results and only after you receive 20600 // a response indicating that the results are truncated. Set it to the value 20601 // of the Marker element in the response that you received to indicate where 20602 // the next call should start. 20603 Marker *string `min:"1" type:"string"` 20604 20605 // (Optional) Use this only when paginating results to indicate the maximum 20606 // number of items you want in the response. If additional items exist beyond 20607 // the maximum you specify, the IsTruncated response element is true. 20608 // 20609 // If you do not include this parameter, it defaults to 100. Note that IAM might 20610 // return fewer results, even when there are more results available. In that 20611 // case, the IsTruncated response element returns true and Marker contains a 20612 // value to include in the subsequent call that tells the service where to continue 20613 // from. 20614 MaxItems *int64 `min:"1" type:"integer"` 20615 20616 // The path prefix for filtering the results. This parameter is optional. If 20617 // it is not included, it defaults to a slash (/), listing all entities. 20618 // 20619 // This paramater allows (per its regex pattern (http://wikipedia.org/wiki/regex)) 20620 // a string of characters consisting of either a forward slash (/) by itself 20621 // or a string that must begin and end with forward slashes, containing any 20622 // ASCII character from the ! (\u0021) thru the DEL character (\u007F), including 20623 // most punctuation characters, digits, and upper and lowercased letters. 20624 PathPrefix *string `min:"1" type:"string"` 20625 20626 // The Amazon Resource Name (ARN) of the IAM policy for which you want the versions. 20627 // 20628 // For more information about ARNs, see Amazon Resource Names (ARNs) and AWS 20629 // Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) 20630 // in the AWS General Reference. 20631 // 20632 // PolicyArn is a required field 20633 PolicyArn *string `min:"20" type:"string" required:"true"` 20634} 20635 20636// String returns the string representation 20637func (s ListEntitiesForPolicyInput) String() string { 20638 return awsutil.Prettify(s) 20639} 20640 20641// GoString returns the string representation 20642func (s ListEntitiesForPolicyInput) GoString() string { 20643 return s.String() 20644} 20645 20646// Validate inspects the fields of the type to determine if they are valid. 20647func (s *ListEntitiesForPolicyInput) Validate() error { 20648 invalidParams := request.ErrInvalidParams{Context: "ListEntitiesForPolicyInput"} 20649 if s.Marker != nil && len(*s.Marker) < 1 { 20650 invalidParams.Add(request.NewErrParamMinLen("Marker", 1)) 20651 } 20652 if s.MaxItems != nil && *s.MaxItems < 1 { 20653 invalidParams.Add(request.NewErrParamMinValue("MaxItems", 1)) 20654 } 20655 if s.PathPrefix != nil && len(*s.PathPrefix) < 1 { 20656 invalidParams.Add(request.NewErrParamMinLen("PathPrefix", 1)) 20657 } 20658 if s.PolicyArn == nil { 20659 invalidParams.Add(request.NewErrParamRequired("PolicyArn")) 20660 } 20661 if s.PolicyArn != nil && len(*s.PolicyArn) < 20 { 20662 invalidParams.Add(request.NewErrParamMinLen("PolicyArn", 20)) 20663 } 20664 20665 if invalidParams.Len() > 0 { 20666 return invalidParams 20667 } 20668 return nil 20669} 20670 20671// SetEntityFilter sets the EntityFilter field's value. 20672func (s *ListEntitiesForPolicyInput) SetEntityFilter(v string) *ListEntitiesForPolicyInput { 20673 s.EntityFilter = &v 20674 return s 20675} 20676 20677// SetMarker sets the Marker field's value. 20678func (s *ListEntitiesForPolicyInput) SetMarker(v string) *ListEntitiesForPolicyInput { 20679 s.Marker = &v 20680 return s 20681} 20682 20683// SetMaxItems sets the MaxItems field's value. 20684func (s *ListEntitiesForPolicyInput) SetMaxItems(v int64) *ListEntitiesForPolicyInput { 20685 s.MaxItems = &v 20686 return s 20687} 20688 20689// SetPathPrefix sets the PathPrefix field's value. 20690func (s *ListEntitiesForPolicyInput) SetPathPrefix(v string) *ListEntitiesForPolicyInput { 20691 s.PathPrefix = &v 20692 return s 20693} 20694 20695// SetPolicyArn sets the PolicyArn field's value. 20696func (s *ListEntitiesForPolicyInput) SetPolicyArn(v string) *ListEntitiesForPolicyInput { 20697 s.PolicyArn = &v 20698 return s 20699} 20700 20701// Contains the response to a successful ListEntitiesForPolicy request. 20702// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ListEntitiesForPolicyResponse 20703type ListEntitiesForPolicyOutput struct { 20704 _ struct{} `type:"structure"` 20705 20706 // A flag that indicates whether there are more items to return. If your results 20707 // were truncated, you can make a subsequent pagination request using the Marker 20708 // request parameter to retrieve more items. Note that IAM might return fewer 20709 // than the MaxItems number of results even when there are more results available. 20710 // We recommend that you check IsTruncated after every call to ensure that you 20711 // receive all of your results. 20712 IsTruncated *bool `type:"boolean"` 20713 20714 // When IsTruncated is true, this element is present and contains the value 20715 // to use for the Marker parameter in a subsequent pagination request. 20716 Marker *string `min:"1" type:"string"` 20717 20718 // A list of IAM groups that the policy is attached to. 20719 PolicyGroups []*PolicyGroup `type:"list"` 20720 20721 // A list of IAM roles that the policy is attached to. 20722 PolicyRoles []*PolicyRole `type:"list"` 20723 20724 // A list of IAM users that the policy is attached to. 20725 PolicyUsers []*PolicyUser `type:"list"` 20726} 20727 20728// String returns the string representation 20729func (s ListEntitiesForPolicyOutput) String() string { 20730 return awsutil.Prettify(s) 20731} 20732 20733// GoString returns the string representation 20734func (s ListEntitiesForPolicyOutput) GoString() string { 20735 return s.String() 20736} 20737 20738// SetIsTruncated sets the IsTruncated field's value. 20739func (s *ListEntitiesForPolicyOutput) SetIsTruncated(v bool) *ListEntitiesForPolicyOutput { 20740 s.IsTruncated = &v 20741 return s 20742} 20743 20744// SetMarker sets the Marker field's value. 20745func (s *ListEntitiesForPolicyOutput) SetMarker(v string) *ListEntitiesForPolicyOutput { 20746 s.Marker = &v 20747 return s 20748} 20749 20750// SetPolicyGroups sets the PolicyGroups field's value. 20751func (s *ListEntitiesForPolicyOutput) SetPolicyGroups(v []*PolicyGroup) *ListEntitiesForPolicyOutput { 20752 s.PolicyGroups = v 20753 return s 20754} 20755 20756// SetPolicyRoles sets the PolicyRoles field's value. 20757func (s *ListEntitiesForPolicyOutput) SetPolicyRoles(v []*PolicyRole) *ListEntitiesForPolicyOutput { 20758 s.PolicyRoles = v 20759 return s 20760} 20761 20762// SetPolicyUsers sets the PolicyUsers field's value. 20763func (s *ListEntitiesForPolicyOutput) SetPolicyUsers(v []*PolicyUser) *ListEntitiesForPolicyOutput { 20764 s.PolicyUsers = v 20765 return s 20766} 20767 20768// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ListGroupPoliciesRequest 20769type ListGroupPoliciesInput struct { 20770 _ struct{} `type:"structure"` 20771 20772 // The name of the group to list policies for. 20773 // 20774 // This parameter allows (per its regex pattern (http://wikipedia.org/wiki/regex)) 20775 // a string of characters consisting of upper and lowercase alphanumeric characters 20776 // with no spaces. You can also include any of the following characters: =,.@- 20777 // 20778 // GroupName is a required field 20779 GroupName *string `min:"1" type:"string" required:"true"` 20780 20781 // Use this parameter only when paginating results and only after you receive 20782 // a response indicating that the results are truncated. Set it to the value 20783 // of the Marker element in the response that you received to indicate where 20784 // the next call should start. 20785 Marker *string `min:"1" type:"string"` 20786 20787 // (Optional) Use this only when paginating results to indicate the maximum 20788 // number of items you want in the response. If additional items exist beyond 20789 // the maximum you specify, the IsTruncated response element is true. 20790 // 20791 // If you do not include this parameter, it defaults to 100. Note that IAM might 20792 // return fewer results, even when there are more results available. In that 20793 // case, the IsTruncated response element returns true and Marker contains a 20794 // value to include in the subsequent call that tells the service where to continue 20795 // from. 20796 MaxItems *int64 `min:"1" type:"integer"` 20797} 20798 20799// String returns the string representation 20800func (s ListGroupPoliciesInput) String() string { 20801 return awsutil.Prettify(s) 20802} 20803 20804// GoString returns the string representation 20805func (s ListGroupPoliciesInput) GoString() string { 20806 return s.String() 20807} 20808 20809// Validate inspects the fields of the type to determine if they are valid. 20810func (s *ListGroupPoliciesInput) Validate() error { 20811 invalidParams := request.ErrInvalidParams{Context: "ListGroupPoliciesInput"} 20812 if s.GroupName == nil { 20813 invalidParams.Add(request.NewErrParamRequired("GroupName")) 20814 } 20815 if s.GroupName != nil && len(*s.GroupName) < 1 { 20816 invalidParams.Add(request.NewErrParamMinLen("GroupName", 1)) 20817 } 20818 if s.Marker != nil && len(*s.Marker) < 1 { 20819 invalidParams.Add(request.NewErrParamMinLen("Marker", 1)) 20820 } 20821 if s.MaxItems != nil && *s.MaxItems < 1 { 20822 invalidParams.Add(request.NewErrParamMinValue("MaxItems", 1)) 20823 } 20824 20825 if invalidParams.Len() > 0 { 20826 return invalidParams 20827 } 20828 return nil 20829} 20830 20831// SetGroupName sets the GroupName field's value. 20832func (s *ListGroupPoliciesInput) SetGroupName(v string) *ListGroupPoliciesInput { 20833 s.GroupName = &v 20834 return s 20835} 20836 20837// SetMarker sets the Marker field's value. 20838func (s *ListGroupPoliciesInput) SetMarker(v string) *ListGroupPoliciesInput { 20839 s.Marker = &v 20840 return s 20841} 20842 20843// SetMaxItems sets the MaxItems field's value. 20844func (s *ListGroupPoliciesInput) SetMaxItems(v int64) *ListGroupPoliciesInput { 20845 s.MaxItems = &v 20846 return s 20847} 20848 20849// Contains the response to a successful ListGroupPolicies request. 20850// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ListGroupPoliciesResponse 20851type ListGroupPoliciesOutput struct { 20852 _ struct{} `type:"structure"` 20853 20854 // A flag that indicates whether there are more items to return. If your results 20855 // were truncated, you can make a subsequent pagination request using the Marker 20856 // request parameter to retrieve more items. Note that IAM might return fewer 20857 // than the MaxItems number of results even when there are more results available. 20858 // We recommend that you check IsTruncated after every call to ensure that you 20859 // receive all of your results. 20860 IsTruncated *bool `type:"boolean"` 20861 20862 // When IsTruncated is true, this element is present and contains the value 20863 // to use for the Marker parameter in a subsequent pagination request. 20864 Marker *string `min:"1" type:"string"` 20865 20866 // A list of policy names. 20867 // 20868 // This parameter allows (per its regex pattern (http://wikipedia.org/wiki/regex)) 20869 // a string of characters consisting of upper and lowercase alphanumeric characters 20870 // with no spaces. You can also include any of the following characters: =,.@-+ 20871 // 20872 // PolicyNames is a required field 20873 PolicyNames []*string `type:"list" required:"true"` 20874} 20875 20876// String returns the string representation 20877func (s ListGroupPoliciesOutput) String() string { 20878 return awsutil.Prettify(s) 20879} 20880 20881// GoString returns the string representation 20882func (s ListGroupPoliciesOutput) GoString() string { 20883 return s.String() 20884} 20885 20886// SetIsTruncated sets the IsTruncated field's value. 20887func (s *ListGroupPoliciesOutput) SetIsTruncated(v bool) *ListGroupPoliciesOutput { 20888 s.IsTruncated = &v 20889 return s 20890} 20891 20892// SetMarker sets the Marker field's value. 20893func (s *ListGroupPoliciesOutput) SetMarker(v string) *ListGroupPoliciesOutput { 20894 s.Marker = &v 20895 return s 20896} 20897 20898// SetPolicyNames sets the PolicyNames field's value. 20899func (s *ListGroupPoliciesOutput) SetPolicyNames(v []*string) *ListGroupPoliciesOutput { 20900 s.PolicyNames = v 20901 return s 20902} 20903 20904// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ListGroupsForUserRequest 20905type ListGroupsForUserInput struct { 20906 _ struct{} `type:"structure"` 20907 20908 // Use this parameter only when paginating results and only after you receive 20909 // a response indicating that the results are truncated. Set it to the value 20910 // of the Marker element in the response that you received to indicate where 20911 // the next call should start. 20912 Marker *string `min:"1" type:"string"` 20913 20914 // (Optional) Use this only when paginating results to indicate the maximum 20915 // number of items you want in the response. If additional items exist beyond 20916 // the maximum you specify, the IsTruncated response element is true. 20917 // 20918 // If you do not include this parameter, it defaults to 100. Note that IAM might 20919 // return fewer results, even when there are more results available. In that 20920 // case, the IsTruncated response element returns true and Marker contains a 20921 // value to include in the subsequent call that tells the service where to continue 20922 // from. 20923 MaxItems *int64 `min:"1" type:"integer"` 20924 20925 // The name of the user to list groups for. 20926 // 20927 // This parameter allows (per its regex pattern (http://wikipedia.org/wiki/regex)) 20928 // a string of characters consisting of upper and lowercase alphanumeric characters 20929 // with no spaces. You can also include any of the following characters: =,.@- 20930 // 20931 // UserName is a required field 20932 UserName *string `min:"1" type:"string" required:"true"` 20933} 20934 20935// String returns the string representation 20936func (s ListGroupsForUserInput) String() string { 20937 return awsutil.Prettify(s) 20938} 20939 20940// GoString returns the string representation 20941func (s ListGroupsForUserInput) GoString() string { 20942 return s.String() 20943} 20944 20945// Validate inspects the fields of the type to determine if they are valid. 20946func (s *ListGroupsForUserInput) Validate() error { 20947 invalidParams := request.ErrInvalidParams{Context: "ListGroupsForUserInput"} 20948 if s.Marker != nil && len(*s.Marker) < 1 { 20949 invalidParams.Add(request.NewErrParamMinLen("Marker", 1)) 20950 } 20951 if s.MaxItems != nil && *s.MaxItems < 1 { 20952 invalidParams.Add(request.NewErrParamMinValue("MaxItems", 1)) 20953 } 20954 if s.UserName == nil { 20955 invalidParams.Add(request.NewErrParamRequired("UserName")) 20956 } 20957 if s.UserName != nil && len(*s.UserName) < 1 { 20958 invalidParams.Add(request.NewErrParamMinLen("UserName", 1)) 20959 } 20960 20961 if invalidParams.Len() > 0 { 20962 return invalidParams 20963 } 20964 return nil 20965} 20966 20967// SetMarker sets the Marker field's value. 20968func (s *ListGroupsForUserInput) SetMarker(v string) *ListGroupsForUserInput { 20969 s.Marker = &v 20970 return s 20971} 20972 20973// SetMaxItems sets the MaxItems field's value. 20974func (s *ListGroupsForUserInput) SetMaxItems(v int64) *ListGroupsForUserInput { 20975 s.MaxItems = &v 20976 return s 20977} 20978 20979// SetUserName sets the UserName field's value. 20980func (s *ListGroupsForUserInput) SetUserName(v string) *ListGroupsForUserInput { 20981 s.UserName = &v 20982 return s 20983} 20984 20985// Contains the response to a successful ListGroupsForUser request. 20986// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ListGroupsForUserResponse 20987type ListGroupsForUserOutput struct { 20988 _ struct{} `type:"structure"` 20989 20990 // A list of groups. 20991 // 20992 // Groups is a required field 20993 Groups []*Group `type:"list" required:"true"` 20994 20995 // A flag that indicates whether there are more items to return. If your results 20996 // were truncated, you can make a subsequent pagination request using the Marker 20997 // request parameter to retrieve more items. Note that IAM might return fewer 20998 // than the MaxItems number of results even when there are more results available. 20999 // We recommend that you check IsTruncated after every call to ensure that you 21000 // receive all of your results. 21001 IsTruncated *bool `type:"boolean"` 21002 21003 // When IsTruncated is true, this element is present and contains the value 21004 // to use for the Marker parameter in a subsequent pagination request. 21005 Marker *string `min:"1" type:"string"` 21006} 21007 21008// String returns the string representation 21009func (s ListGroupsForUserOutput) String() string { 21010 return awsutil.Prettify(s) 21011} 21012 21013// GoString returns the string representation 21014func (s ListGroupsForUserOutput) GoString() string { 21015 return s.String() 21016} 21017 21018// SetGroups sets the Groups field's value. 21019func (s *ListGroupsForUserOutput) SetGroups(v []*Group) *ListGroupsForUserOutput { 21020 s.Groups = v 21021 return s 21022} 21023 21024// SetIsTruncated sets the IsTruncated field's value. 21025func (s *ListGroupsForUserOutput) SetIsTruncated(v bool) *ListGroupsForUserOutput { 21026 s.IsTruncated = &v 21027 return s 21028} 21029 21030// SetMarker sets the Marker field's value. 21031func (s *ListGroupsForUserOutput) SetMarker(v string) *ListGroupsForUserOutput { 21032 s.Marker = &v 21033 return s 21034} 21035 21036// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ListGroupsRequest 21037type ListGroupsInput struct { 21038 _ struct{} `type:"structure"` 21039 21040 // Use this parameter only when paginating results and only after you receive 21041 // a response indicating that the results are truncated. Set it to the value 21042 // of the Marker element in the response that you received to indicate where 21043 // the next call should start. 21044 Marker *string `min:"1" type:"string"` 21045 21046 // (Optional) Use this only when paginating results to indicate the maximum 21047 // number of items you want in the response. If additional items exist beyond 21048 // the maximum you specify, the IsTruncated response element is true. 21049 // 21050 // If you do not include this parameter, it defaults to 100. Note that IAM might 21051 // return fewer results, even when there are more results available. In that 21052 // case, the IsTruncated response element returns true and Marker contains a 21053 // value to include in the subsequent call that tells the service where to continue 21054 // from. 21055 MaxItems *int64 `min:"1" type:"integer"` 21056 21057 // The path prefix for filtering the results. For example, the prefix /division_abc/subdivision_xyz/ 21058 // gets all groups whose path starts with /division_abc/subdivision_xyz/. 21059 // 21060 // This parameter is optional. If it is not included, it defaults to a slash 21061 // (/), listing all groups. This paramater allows (per its regex pattern (http://wikipedia.org/wiki/regex)) 21062 // a string of characters consisting of either a forward slash (/) by itself 21063 // or a string that must begin and end with forward slashes, containing any 21064 // ASCII character from the ! (\u0021) thru the DEL character (\u007F), including 21065 // most punctuation characters, digits, and upper and lowercased letters. 21066 PathPrefix *string `min:"1" type:"string"` 21067} 21068 21069// String returns the string representation 21070func (s ListGroupsInput) String() string { 21071 return awsutil.Prettify(s) 21072} 21073 21074// GoString returns the string representation 21075func (s ListGroupsInput) GoString() string { 21076 return s.String() 21077} 21078 21079// Validate inspects the fields of the type to determine if they are valid. 21080func (s *ListGroupsInput) Validate() error { 21081 invalidParams := request.ErrInvalidParams{Context: "ListGroupsInput"} 21082 if s.Marker != nil && len(*s.Marker) < 1 { 21083 invalidParams.Add(request.NewErrParamMinLen("Marker", 1)) 21084 } 21085 if s.MaxItems != nil && *s.MaxItems < 1 { 21086 invalidParams.Add(request.NewErrParamMinValue("MaxItems", 1)) 21087 } 21088 if s.PathPrefix != nil && len(*s.PathPrefix) < 1 { 21089 invalidParams.Add(request.NewErrParamMinLen("PathPrefix", 1)) 21090 } 21091 21092 if invalidParams.Len() > 0 { 21093 return invalidParams 21094 } 21095 return nil 21096} 21097 21098// SetMarker sets the Marker field's value. 21099func (s *ListGroupsInput) SetMarker(v string) *ListGroupsInput { 21100 s.Marker = &v 21101 return s 21102} 21103 21104// SetMaxItems sets the MaxItems field's value. 21105func (s *ListGroupsInput) SetMaxItems(v int64) *ListGroupsInput { 21106 s.MaxItems = &v 21107 return s 21108} 21109 21110// SetPathPrefix sets the PathPrefix field's value. 21111func (s *ListGroupsInput) SetPathPrefix(v string) *ListGroupsInput { 21112 s.PathPrefix = &v 21113 return s 21114} 21115 21116// Contains the response to a successful ListGroups request. 21117// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ListGroupsResponse 21118type ListGroupsOutput struct { 21119 _ struct{} `type:"structure"` 21120 21121 // A list of groups. 21122 // 21123 // Groups is a required field 21124 Groups []*Group `type:"list" required:"true"` 21125 21126 // A flag that indicates whether there are more items to return. If your results 21127 // were truncated, you can make a subsequent pagination request using the Marker 21128 // request parameter to retrieve more items. Note that IAM might return fewer 21129 // than the MaxItems number of results even when there are more results available. 21130 // We recommend that you check IsTruncated after every call to ensure that you 21131 // receive all of your results. 21132 IsTruncated *bool `type:"boolean"` 21133 21134 // When IsTruncated is true, this element is present and contains the value 21135 // to use for the Marker parameter in a subsequent pagination request. 21136 Marker *string `min:"1" type:"string"` 21137} 21138 21139// String returns the string representation 21140func (s ListGroupsOutput) String() string { 21141 return awsutil.Prettify(s) 21142} 21143 21144// GoString returns the string representation 21145func (s ListGroupsOutput) GoString() string { 21146 return s.String() 21147} 21148 21149// SetGroups sets the Groups field's value. 21150func (s *ListGroupsOutput) SetGroups(v []*Group) *ListGroupsOutput { 21151 s.Groups = v 21152 return s 21153} 21154 21155// SetIsTruncated sets the IsTruncated field's value. 21156func (s *ListGroupsOutput) SetIsTruncated(v bool) *ListGroupsOutput { 21157 s.IsTruncated = &v 21158 return s 21159} 21160 21161// SetMarker sets the Marker field's value. 21162func (s *ListGroupsOutput) SetMarker(v string) *ListGroupsOutput { 21163 s.Marker = &v 21164 return s 21165} 21166 21167// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ListInstanceProfilesForRoleRequest 21168type ListInstanceProfilesForRoleInput struct { 21169 _ struct{} `type:"structure"` 21170 21171 // Use this parameter only when paginating results and only after you receive 21172 // a response indicating that the results are truncated. Set it to the value 21173 // of the Marker element in the response that you received to indicate where 21174 // the next call should start. 21175 Marker *string `min:"1" type:"string"` 21176 21177 // (Optional) Use this only when paginating results to indicate the maximum 21178 // number of items you want in the response. If additional items exist beyond 21179 // the maximum you specify, the IsTruncated response element is true. 21180 // 21181 // If you do not include this parameter, it defaults to 100. Note that IAM might 21182 // return fewer results, even when there are more results available. In that 21183 // case, the IsTruncated response element returns true and Marker contains a 21184 // value to include in the subsequent call that tells the service where to continue 21185 // from. 21186 MaxItems *int64 `min:"1" type:"integer"` 21187 21188 // The name of the role to list instance profiles for. 21189 // 21190 // This parameter allows (per its regex pattern (http://wikipedia.org/wiki/regex)) 21191 // a string of characters consisting of upper and lowercase alphanumeric characters 21192 // with no spaces. You can also include any of the following characters: _+=,.@- 21193 // 21194 // RoleName is a required field 21195 RoleName *string `min:"1" type:"string" required:"true"` 21196} 21197 21198// String returns the string representation 21199func (s ListInstanceProfilesForRoleInput) String() string { 21200 return awsutil.Prettify(s) 21201} 21202 21203// GoString returns the string representation 21204func (s ListInstanceProfilesForRoleInput) GoString() string { 21205 return s.String() 21206} 21207 21208// Validate inspects the fields of the type to determine if they are valid. 21209func (s *ListInstanceProfilesForRoleInput) Validate() error { 21210 invalidParams := request.ErrInvalidParams{Context: "ListInstanceProfilesForRoleInput"} 21211 if s.Marker != nil && len(*s.Marker) < 1 { 21212 invalidParams.Add(request.NewErrParamMinLen("Marker", 1)) 21213 } 21214 if s.MaxItems != nil && *s.MaxItems < 1 { 21215 invalidParams.Add(request.NewErrParamMinValue("MaxItems", 1)) 21216 } 21217 if s.RoleName == nil { 21218 invalidParams.Add(request.NewErrParamRequired("RoleName")) 21219 } 21220 if s.RoleName != nil && len(*s.RoleName) < 1 { 21221 invalidParams.Add(request.NewErrParamMinLen("RoleName", 1)) 21222 } 21223 21224 if invalidParams.Len() > 0 { 21225 return invalidParams 21226 } 21227 return nil 21228} 21229 21230// SetMarker sets the Marker field's value. 21231func (s *ListInstanceProfilesForRoleInput) SetMarker(v string) *ListInstanceProfilesForRoleInput { 21232 s.Marker = &v 21233 return s 21234} 21235 21236// SetMaxItems sets the MaxItems field's value. 21237func (s *ListInstanceProfilesForRoleInput) SetMaxItems(v int64) *ListInstanceProfilesForRoleInput { 21238 s.MaxItems = &v 21239 return s 21240} 21241 21242// SetRoleName sets the RoleName field's value. 21243func (s *ListInstanceProfilesForRoleInput) SetRoleName(v string) *ListInstanceProfilesForRoleInput { 21244 s.RoleName = &v 21245 return s 21246} 21247 21248// Contains the response to a successful ListInstanceProfilesForRole request. 21249// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ListInstanceProfilesForRoleResponse 21250type ListInstanceProfilesForRoleOutput struct { 21251 _ struct{} `type:"structure"` 21252 21253 // A list of instance profiles. 21254 // 21255 // InstanceProfiles is a required field 21256 InstanceProfiles []*InstanceProfile `type:"list" required:"true"` 21257 21258 // A flag that indicates whether there are more items to return. If your results 21259 // were truncated, you can make a subsequent pagination request using the Marker 21260 // request parameter to retrieve more items. Note that IAM might return fewer 21261 // than the MaxItems number of results even when there are more results available. 21262 // We recommend that you check IsTruncated after every call to ensure that you 21263 // receive all of your results. 21264 IsTruncated *bool `type:"boolean"` 21265 21266 // When IsTruncated is true, this element is present and contains the value 21267 // to use for the Marker parameter in a subsequent pagination request. 21268 Marker *string `min:"1" type:"string"` 21269} 21270 21271// String returns the string representation 21272func (s ListInstanceProfilesForRoleOutput) String() string { 21273 return awsutil.Prettify(s) 21274} 21275 21276// GoString returns the string representation 21277func (s ListInstanceProfilesForRoleOutput) GoString() string { 21278 return s.String() 21279} 21280 21281// SetInstanceProfiles sets the InstanceProfiles field's value. 21282func (s *ListInstanceProfilesForRoleOutput) SetInstanceProfiles(v []*InstanceProfile) *ListInstanceProfilesForRoleOutput { 21283 s.InstanceProfiles = v 21284 return s 21285} 21286 21287// SetIsTruncated sets the IsTruncated field's value. 21288func (s *ListInstanceProfilesForRoleOutput) SetIsTruncated(v bool) *ListInstanceProfilesForRoleOutput { 21289 s.IsTruncated = &v 21290 return s 21291} 21292 21293// SetMarker sets the Marker field's value. 21294func (s *ListInstanceProfilesForRoleOutput) SetMarker(v string) *ListInstanceProfilesForRoleOutput { 21295 s.Marker = &v 21296 return s 21297} 21298 21299// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ListInstanceProfilesRequest 21300type ListInstanceProfilesInput struct { 21301 _ struct{} `type:"structure"` 21302 21303 // Use this parameter only when paginating results and only after you receive 21304 // a response indicating that the results are truncated. Set it to the value 21305 // of the Marker element in the response that you received to indicate where 21306 // the next call should start. 21307 Marker *string `min:"1" type:"string"` 21308 21309 // (Optional) Use this only when paginating results to indicate the maximum 21310 // number of items you want in the response. If additional items exist beyond 21311 // the maximum you specify, the IsTruncated response element is true. 21312 // 21313 // If you do not include this parameter, it defaults to 100. Note that IAM might 21314 // return fewer results, even when there are more results available. In that 21315 // case, the IsTruncated response element returns true and Marker contains a 21316 // value to include in the subsequent call that tells the service where to continue 21317 // from. 21318 MaxItems *int64 `min:"1" type:"integer"` 21319 21320 // The path prefix for filtering the results. For example, the prefix /application_abc/component_xyz/ 21321 // gets all instance profiles whose path starts with /application_abc/component_xyz/. 21322 // 21323 // This parameter is optional. If it is not included, it defaults to a slash 21324 // (/), listing all instance profiles. This paramater allows (per its regex 21325 // pattern (http://wikipedia.org/wiki/regex)) a string of characters consisting 21326 // of either a forward slash (/) by itself or a string that must begin and end 21327 // with forward slashes, containing any ASCII character from the ! (\u0021) 21328 // thru the DEL character (\u007F), including most punctuation characters, digits, 21329 // and upper and lowercased letters. 21330 PathPrefix *string `min:"1" type:"string"` 21331} 21332 21333// String returns the string representation 21334func (s ListInstanceProfilesInput) String() string { 21335 return awsutil.Prettify(s) 21336} 21337 21338// GoString returns the string representation 21339func (s ListInstanceProfilesInput) GoString() string { 21340 return s.String() 21341} 21342 21343// Validate inspects the fields of the type to determine if they are valid. 21344func (s *ListInstanceProfilesInput) Validate() error { 21345 invalidParams := request.ErrInvalidParams{Context: "ListInstanceProfilesInput"} 21346 if s.Marker != nil && len(*s.Marker) < 1 { 21347 invalidParams.Add(request.NewErrParamMinLen("Marker", 1)) 21348 } 21349 if s.MaxItems != nil && *s.MaxItems < 1 { 21350 invalidParams.Add(request.NewErrParamMinValue("MaxItems", 1)) 21351 } 21352 if s.PathPrefix != nil && len(*s.PathPrefix) < 1 { 21353 invalidParams.Add(request.NewErrParamMinLen("PathPrefix", 1)) 21354 } 21355 21356 if invalidParams.Len() > 0 { 21357 return invalidParams 21358 } 21359 return nil 21360} 21361 21362// SetMarker sets the Marker field's value. 21363func (s *ListInstanceProfilesInput) SetMarker(v string) *ListInstanceProfilesInput { 21364 s.Marker = &v 21365 return s 21366} 21367 21368// SetMaxItems sets the MaxItems field's value. 21369func (s *ListInstanceProfilesInput) SetMaxItems(v int64) *ListInstanceProfilesInput { 21370 s.MaxItems = &v 21371 return s 21372} 21373 21374// SetPathPrefix sets the PathPrefix field's value. 21375func (s *ListInstanceProfilesInput) SetPathPrefix(v string) *ListInstanceProfilesInput { 21376 s.PathPrefix = &v 21377 return s 21378} 21379 21380// Contains the response to a successful ListInstanceProfiles request. 21381// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ListInstanceProfilesResponse 21382type ListInstanceProfilesOutput struct { 21383 _ struct{} `type:"structure"` 21384 21385 // A list of instance profiles. 21386 // 21387 // InstanceProfiles is a required field 21388 InstanceProfiles []*InstanceProfile `type:"list" required:"true"` 21389 21390 // A flag that indicates whether there are more items to return. If your results 21391 // were truncated, you can make a subsequent pagination request using the Marker 21392 // request parameter to retrieve more items. Note that IAM might return fewer 21393 // than the MaxItems number of results even when there are more results available. 21394 // We recommend that you check IsTruncated after every call to ensure that you 21395 // receive all of your results. 21396 IsTruncated *bool `type:"boolean"` 21397 21398 // When IsTruncated is true, this element is present and contains the value 21399 // to use for the Marker parameter in a subsequent pagination request. 21400 Marker *string `min:"1" type:"string"` 21401} 21402 21403// String returns the string representation 21404func (s ListInstanceProfilesOutput) String() string { 21405 return awsutil.Prettify(s) 21406} 21407 21408// GoString returns the string representation 21409func (s ListInstanceProfilesOutput) GoString() string { 21410 return s.String() 21411} 21412 21413// SetInstanceProfiles sets the InstanceProfiles field's value. 21414func (s *ListInstanceProfilesOutput) SetInstanceProfiles(v []*InstanceProfile) *ListInstanceProfilesOutput { 21415 s.InstanceProfiles = v 21416 return s 21417} 21418 21419// SetIsTruncated sets the IsTruncated field's value. 21420func (s *ListInstanceProfilesOutput) SetIsTruncated(v bool) *ListInstanceProfilesOutput { 21421 s.IsTruncated = &v 21422 return s 21423} 21424 21425// SetMarker sets the Marker field's value. 21426func (s *ListInstanceProfilesOutput) SetMarker(v string) *ListInstanceProfilesOutput { 21427 s.Marker = &v 21428 return s 21429} 21430 21431// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ListMFADevicesRequest 21432type ListMFADevicesInput struct { 21433 _ struct{} `type:"structure"` 21434 21435 // Use this parameter only when paginating results and only after you receive 21436 // a response indicating that the results are truncated. Set it to the value 21437 // of the Marker element in the response that you received to indicate where 21438 // the next call should start. 21439 Marker *string `min:"1" type:"string"` 21440 21441 // (Optional) Use this only when paginating results to indicate the maximum 21442 // number of items you want in the response. If additional items exist beyond 21443 // the maximum you specify, the IsTruncated response element is true. 21444 // 21445 // If you do not include this parameter, it defaults to 100. Note that IAM might 21446 // return fewer results, even when there are more results available. In that 21447 // case, the IsTruncated response element returns true and Marker contains a 21448 // value to include in the subsequent call that tells the service where to continue 21449 // from. 21450 MaxItems *int64 `min:"1" type:"integer"` 21451 21452 // The name of the user whose MFA devices you want to list. 21453 // 21454 // This parameter allows (per its regex pattern (http://wikipedia.org/wiki/regex)) 21455 // a string of characters consisting of upper and lowercase alphanumeric characters 21456 // with no spaces. You can also include any of the following characters: =,.@- 21457 UserName *string `min:"1" type:"string"` 21458} 21459 21460// String returns the string representation 21461func (s ListMFADevicesInput) String() string { 21462 return awsutil.Prettify(s) 21463} 21464 21465// GoString returns the string representation 21466func (s ListMFADevicesInput) GoString() string { 21467 return s.String() 21468} 21469 21470// Validate inspects the fields of the type to determine if they are valid. 21471func (s *ListMFADevicesInput) Validate() error { 21472 invalidParams := request.ErrInvalidParams{Context: "ListMFADevicesInput"} 21473 if s.Marker != nil && len(*s.Marker) < 1 { 21474 invalidParams.Add(request.NewErrParamMinLen("Marker", 1)) 21475 } 21476 if s.MaxItems != nil && *s.MaxItems < 1 { 21477 invalidParams.Add(request.NewErrParamMinValue("MaxItems", 1)) 21478 } 21479 if s.UserName != nil && len(*s.UserName) < 1 { 21480 invalidParams.Add(request.NewErrParamMinLen("UserName", 1)) 21481 } 21482 21483 if invalidParams.Len() > 0 { 21484 return invalidParams 21485 } 21486 return nil 21487} 21488 21489// SetMarker sets the Marker field's value. 21490func (s *ListMFADevicesInput) SetMarker(v string) *ListMFADevicesInput { 21491 s.Marker = &v 21492 return s 21493} 21494 21495// SetMaxItems sets the MaxItems field's value. 21496func (s *ListMFADevicesInput) SetMaxItems(v int64) *ListMFADevicesInput { 21497 s.MaxItems = &v 21498 return s 21499} 21500 21501// SetUserName sets the UserName field's value. 21502func (s *ListMFADevicesInput) SetUserName(v string) *ListMFADevicesInput { 21503 s.UserName = &v 21504 return s 21505} 21506 21507// Contains the response to a successful ListMFADevices request. 21508// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ListMFADevicesResponse 21509type ListMFADevicesOutput struct { 21510 _ struct{} `type:"structure"` 21511 21512 // A flag that indicates whether there are more items to return. If your results 21513 // were truncated, you can make a subsequent pagination request using the Marker 21514 // request parameter to retrieve more items. Note that IAM might return fewer 21515 // than the MaxItems number of results even when there are more results available. 21516 // We recommend that you check IsTruncated after every call to ensure that you 21517 // receive all of your results. 21518 IsTruncated *bool `type:"boolean"` 21519 21520 // A list of MFA devices. 21521 // 21522 // MFADevices is a required field 21523 MFADevices []*MFADevice `type:"list" required:"true"` 21524 21525 // When IsTruncated is true, this element is present and contains the value 21526 // to use for the Marker parameter in a subsequent pagination request. 21527 Marker *string `min:"1" type:"string"` 21528} 21529 21530// String returns the string representation 21531func (s ListMFADevicesOutput) String() string { 21532 return awsutil.Prettify(s) 21533} 21534 21535// GoString returns the string representation 21536func (s ListMFADevicesOutput) GoString() string { 21537 return s.String() 21538} 21539 21540// SetIsTruncated sets the IsTruncated field's value. 21541func (s *ListMFADevicesOutput) SetIsTruncated(v bool) *ListMFADevicesOutput { 21542 s.IsTruncated = &v 21543 return s 21544} 21545 21546// SetMFADevices sets the MFADevices field's value. 21547func (s *ListMFADevicesOutput) SetMFADevices(v []*MFADevice) *ListMFADevicesOutput { 21548 s.MFADevices = v 21549 return s 21550} 21551 21552// SetMarker sets the Marker field's value. 21553func (s *ListMFADevicesOutput) SetMarker(v string) *ListMFADevicesOutput { 21554 s.Marker = &v 21555 return s 21556} 21557 21558// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ListOpenIDConnectProvidersRequest 21559type ListOpenIDConnectProvidersInput struct { 21560 _ struct{} `type:"structure"` 21561} 21562 21563// String returns the string representation 21564func (s ListOpenIDConnectProvidersInput) String() string { 21565 return awsutil.Prettify(s) 21566} 21567 21568// GoString returns the string representation 21569func (s ListOpenIDConnectProvidersInput) GoString() string { 21570 return s.String() 21571} 21572 21573// Contains the response to a successful ListOpenIDConnectProviders request. 21574// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ListOpenIDConnectProvidersResponse 21575type ListOpenIDConnectProvidersOutput struct { 21576 _ struct{} `type:"structure"` 21577 21578 // The list of IAM OIDC provider resource objects defined in the AWS account. 21579 OpenIDConnectProviderList []*OpenIDConnectProviderListEntry `type:"list"` 21580} 21581 21582// String returns the string representation 21583func (s ListOpenIDConnectProvidersOutput) String() string { 21584 return awsutil.Prettify(s) 21585} 21586 21587// GoString returns the string representation 21588func (s ListOpenIDConnectProvidersOutput) GoString() string { 21589 return s.String() 21590} 21591 21592// SetOpenIDConnectProviderList sets the OpenIDConnectProviderList field's value. 21593func (s *ListOpenIDConnectProvidersOutput) SetOpenIDConnectProviderList(v []*OpenIDConnectProviderListEntry) *ListOpenIDConnectProvidersOutput { 21594 s.OpenIDConnectProviderList = v 21595 return s 21596} 21597 21598// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ListPoliciesRequest 21599type ListPoliciesInput struct { 21600 _ struct{} `type:"structure"` 21601 21602 // Use this parameter only when paginating results and only after you receive 21603 // a response indicating that the results are truncated. Set it to the value 21604 // of the Marker element in the response that you received to indicate where 21605 // the next call should start. 21606 Marker *string `min:"1" type:"string"` 21607 21608 // (Optional) Use this only when paginating results to indicate the maximum 21609 // number of items you want in the response. If additional items exist beyond 21610 // the maximum you specify, the IsTruncated response element is true. 21611 // 21612 // If you do not include this parameter, it defaults to 100. Note that IAM might 21613 // return fewer results, even when there are more results available. In that 21614 // case, the IsTruncated response element returns true and Marker contains a 21615 // value to include in the subsequent call that tells the service where to continue 21616 // from. 21617 MaxItems *int64 `min:"1" type:"integer"` 21618 21619 // A flag to filter the results to only the attached policies. 21620 // 21621 // When OnlyAttached is true, the returned list contains only the policies that 21622 // are attached to an IAM user, group, or role. When OnlyAttached is false, 21623 // or when the parameter is not included, all policies are returned. 21624 OnlyAttached *bool `type:"boolean"` 21625 21626 // The path prefix for filtering the results. This parameter is optional. If 21627 // it is not included, it defaults to a slash (/), listing all policies. This 21628 // paramater allows (per its regex pattern (http://wikipedia.org/wiki/regex)) 21629 // a string of characters consisting of either a forward slash (/) by itself 21630 // or a string that must begin and end with forward slashes, containing any 21631 // ASCII character from the ! (\u0021) thru the DEL character (\u007F), including 21632 // most punctuation characters, digits, and upper and lowercased letters. 21633 PathPrefix *string `type:"string"` 21634 21635 // The scope to use for filtering the results. 21636 // 21637 // To list only AWS managed policies, set Scope to AWS. To list only the customer 21638 // managed policies in your AWS account, set Scope to Local. 21639 // 21640 // This parameter is optional. If it is not included, or if it is set to All, 21641 // all policies are returned. 21642 Scope *string `type:"string" enum:"policyScopeType"` 21643} 21644 21645// String returns the string representation 21646func (s ListPoliciesInput) String() string { 21647 return awsutil.Prettify(s) 21648} 21649 21650// GoString returns the string representation 21651func (s ListPoliciesInput) GoString() string { 21652 return s.String() 21653} 21654 21655// Validate inspects the fields of the type to determine if they are valid. 21656func (s *ListPoliciesInput) Validate() error { 21657 invalidParams := request.ErrInvalidParams{Context: "ListPoliciesInput"} 21658 if s.Marker != nil && len(*s.Marker) < 1 { 21659 invalidParams.Add(request.NewErrParamMinLen("Marker", 1)) 21660 } 21661 if s.MaxItems != nil && *s.MaxItems < 1 { 21662 invalidParams.Add(request.NewErrParamMinValue("MaxItems", 1)) 21663 } 21664 21665 if invalidParams.Len() > 0 { 21666 return invalidParams 21667 } 21668 return nil 21669} 21670 21671// SetMarker sets the Marker field's value. 21672func (s *ListPoliciesInput) SetMarker(v string) *ListPoliciesInput { 21673 s.Marker = &v 21674 return s 21675} 21676 21677// SetMaxItems sets the MaxItems field's value. 21678func (s *ListPoliciesInput) SetMaxItems(v int64) *ListPoliciesInput { 21679 s.MaxItems = &v 21680 return s 21681} 21682 21683// SetOnlyAttached sets the OnlyAttached field's value. 21684func (s *ListPoliciesInput) SetOnlyAttached(v bool) *ListPoliciesInput { 21685 s.OnlyAttached = &v 21686 return s 21687} 21688 21689// SetPathPrefix sets the PathPrefix field's value. 21690func (s *ListPoliciesInput) SetPathPrefix(v string) *ListPoliciesInput { 21691 s.PathPrefix = &v 21692 return s 21693} 21694 21695// SetScope sets the Scope field's value. 21696func (s *ListPoliciesInput) SetScope(v string) *ListPoliciesInput { 21697 s.Scope = &v 21698 return s 21699} 21700 21701// Contains the response to a successful ListPolicies request. 21702// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ListPoliciesResponse 21703type ListPoliciesOutput struct { 21704 _ struct{} `type:"structure"` 21705 21706 // A flag that indicates whether there are more items to return. If your results 21707 // were truncated, you can make a subsequent pagination request using the Marker 21708 // request parameter to retrieve more items. Note that IAM might return fewer 21709 // than the MaxItems number of results even when there are more results available. 21710 // We recommend that you check IsTruncated after every call to ensure that you 21711 // receive all of your results. 21712 IsTruncated *bool `type:"boolean"` 21713 21714 // When IsTruncated is true, this element is present and contains the value 21715 // to use for the Marker parameter in a subsequent pagination request. 21716 Marker *string `min:"1" type:"string"` 21717 21718 // A list of policies. 21719 Policies []*Policy `type:"list"` 21720} 21721 21722// String returns the string representation 21723func (s ListPoliciesOutput) String() string { 21724 return awsutil.Prettify(s) 21725} 21726 21727// GoString returns the string representation 21728func (s ListPoliciesOutput) GoString() string { 21729 return s.String() 21730} 21731 21732// SetIsTruncated sets the IsTruncated field's value. 21733func (s *ListPoliciesOutput) SetIsTruncated(v bool) *ListPoliciesOutput { 21734 s.IsTruncated = &v 21735 return s 21736} 21737 21738// SetMarker sets the Marker field's value. 21739func (s *ListPoliciesOutput) SetMarker(v string) *ListPoliciesOutput { 21740 s.Marker = &v 21741 return s 21742} 21743 21744// SetPolicies sets the Policies field's value. 21745func (s *ListPoliciesOutput) SetPolicies(v []*Policy) *ListPoliciesOutput { 21746 s.Policies = v 21747 return s 21748} 21749 21750// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ListPolicyVersionsRequest 21751type ListPolicyVersionsInput struct { 21752 _ struct{} `type:"structure"` 21753 21754 // Use this parameter only when paginating results and only after you receive 21755 // a response indicating that the results are truncated. Set it to the value 21756 // of the Marker element in the response that you received to indicate where 21757 // the next call should start. 21758 Marker *string `min:"1" type:"string"` 21759 21760 // (Optional) Use this only when paginating results to indicate the maximum 21761 // number of items you want in the response. If additional items exist beyond 21762 // the maximum you specify, the IsTruncated response element is true. 21763 // 21764 // If you do not include this parameter, it defaults to 100. Note that IAM might 21765 // return fewer results, even when there are more results available. In that 21766 // case, the IsTruncated response element returns true and Marker contains a 21767 // value to include in the subsequent call that tells the service where to continue 21768 // from. 21769 MaxItems *int64 `min:"1" type:"integer"` 21770 21771 // The Amazon Resource Name (ARN) of the IAM policy for which you want the versions. 21772 // 21773 // For more information about ARNs, see Amazon Resource Names (ARNs) and AWS 21774 // Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) 21775 // in the AWS General Reference. 21776 // 21777 // PolicyArn is a required field 21778 PolicyArn *string `min:"20" type:"string" required:"true"` 21779} 21780 21781// String returns the string representation 21782func (s ListPolicyVersionsInput) String() string { 21783 return awsutil.Prettify(s) 21784} 21785 21786// GoString returns the string representation 21787func (s ListPolicyVersionsInput) GoString() string { 21788 return s.String() 21789} 21790 21791// Validate inspects the fields of the type to determine if they are valid. 21792func (s *ListPolicyVersionsInput) Validate() error { 21793 invalidParams := request.ErrInvalidParams{Context: "ListPolicyVersionsInput"} 21794 if s.Marker != nil && len(*s.Marker) < 1 { 21795 invalidParams.Add(request.NewErrParamMinLen("Marker", 1)) 21796 } 21797 if s.MaxItems != nil && *s.MaxItems < 1 { 21798 invalidParams.Add(request.NewErrParamMinValue("MaxItems", 1)) 21799 } 21800 if s.PolicyArn == nil { 21801 invalidParams.Add(request.NewErrParamRequired("PolicyArn")) 21802 } 21803 if s.PolicyArn != nil && len(*s.PolicyArn) < 20 { 21804 invalidParams.Add(request.NewErrParamMinLen("PolicyArn", 20)) 21805 } 21806 21807 if invalidParams.Len() > 0 { 21808 return invalidParams 21809 } 21810 return nil 21811} 21812 21813// SetMarker sets the Marker field's value. 21814func (s *ListPolicyVersionsInput) SetMarker(v string) *ListPolicyVersionsInput { 21815 s.Marker = &v 21816 return s 21817} 21818 21819// SetMaxItems sets the MaxItems field's value. 21820func (s *ListPolicyVersionsInput) SetMaxItems(v int64) *ListPolicyVersionsInput { 21821 s.MaxItems = &v 21822 return s 21823} 21824 21825// SetPolicyArn sets the PolicyArn field's value. 21826func (s *ListPolicyVersionsInput) SetPolicyArn(v string) *ListPolicyVersionsInput { 21827 s.PolicyArn = &v 21828 return s 21829} 21830 21831// Contains the response to a successful ListPolicyVersions request. 21832// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ListPolicyVersionsResponse 21833type ListPolicyVersionsOutput struct { 21834 _ struct{} `type:"structure"` 21835 21836 // A flag that indicates whether there are more items to return. If your results 21837 // were truncated, you can make a subsequent pagination request using the Marker 21838 // request parameter to retrieve more items. Note that IAM might return fewer 21839 // than the MaxItems number of results even when there are more results available. 21840 // We recommend that you check IsTruncated after every call to ensure that you 21841 // receive all of your results. 21842 IsTruncated *bool `type:"boolean"` 21843 21844 // When IsTruncated is true, this element is present and contains the value 21845 // to use for the Marker parameter in a subsequent pagination request. 21846 Marker *string `min:"1" type:"string"` 21847 21848 // A list of policy versions. 21849 // 21850 // For more information about managed policy versions, see Versioning for Managed 21851 // Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-versions.html) 21852 // in the IAM User Guide. 21853 Versions []*PolicyVersion `type:"list"` 21854} 21855 21856// String returns the string representation 21857func (s ListPolicyVersionsOutput) String() string { 21858 return awsutil.Prettify(s) 21859} 21860 21861// GoString returns the string representation 21862func (s ListPolicyVersionsOutput) GoString() string { 21863 return s.String() 21864} 21865 21866// SetIsTruncated sets the IsTruncated field's value. 21867func (s *ListPolicyVersionsOutput) SetIsTruncated(v bool) *ListPolicyVersionsOutput { 21868 s.IsTruncated = &v 21869 return s 21870} 21871 21872// SetMarker sets the Marker field's value. 21873func (s *ListPolicyVersionsOutput) SetMarker(v string) *ListPolicyVersionsOutput { 21874 s.Marker = &v 21875 return s 21876} 21877 21878// SetVersions sets the Versions field's value. 21879func (s *ListPolicyVersionsOutput) SetVersions(v []*PolicyVersion) *ListPolicyVersionsOutput { 21880 s.Versions = v 21881 return s 21882} 21883 21884// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ListRolePoliciesRequest 21885type ListRolePoliciesInput struct { 21886 _ struct{} `type:"structure"` 21887 21888 // Use this parameter only when paginating results and only after you receive 21889 // a response indicating that the results are truncated. Set it to the value 21890 // of the Marker element in the response that you received to indicate where 21891 // the next call should start. 21892 Marker *string `min:"1" type:"string"` 21893 21894 // (Optional) Use this only when paginating results to indicate the maximum 21895 // number of items you want in the response. If additional items exist beyond 21896 // the maximum you specify, the IsTruncated response element is true. 21897 // 21898 // If you do not include this parameter, it defaults to 100. Note that IAM might 21899 // return fewer results, even when there are more results available. In that 21900 // case, the IsTruncated response element returns true and Marker contains a 21901 // value to include in the subsequent call that tells the service where to continue 21902 // from. 21903 MaxItems *int64 `min:"1" type:"integer"` 21904 21905 // The name of the role to list policies for. 21906 // 21907 // This parameter allows (per its regex pattern (http://wikipedia.org/wiki/regex)) 21908 // a string of characters consisting of upper and lowercase alphanumeric characters 21909 // with no spaces. You can also include any of the following characters: _+=,.@- 21910 // 21911 // RoleName is a required field 21912 RoleName *string `min:"1" type:"string" required:"true"` 21913} 21914 21915// String returns the string representation 21916func (s ListRolePoliciesInput) String() string { 21917 return awsutil.Prettify(s) 21918} 21919 21920// GoString returns the string representation 21921func (s ListRolePoliciesInput) GoString() string { 21922 return s.String() 21923} 21924 21925// Validate inspects the fields of the type to determine if they are valid. 21926func (s *ListRolePoliciesInput) Validate() error { 21927 invalidParams := request.ErrInvalidParams{Context: "ListRolePoliciesInput"} 21928 if s.Marker != nil && len(*s.Marker) < 1 { 21929 invalidParams.Add(request.NewErrParamMinLen("Marker", 1)) 21930 } 21931 if s.MaxItems != nil && *s.MaxItems < 1 { 21932 invalidParams.Add(request.NewErrParamMinValue("MaxItems", 1)) 21933 } 21934 if s.RoleName == nil { 21935 invalidParams.Add(request.NewErrParamRequired("RoleName")) 21936 } 21937 if s.RoleName != nil && len(*s.RoleName) < 1 { 21938 invalidParams.Add(request.NewErrParamMinLen("RoleName", 1)) 21939 } 21940 21941 if invalidParams.Len() > 0 { 21942 return invalidParams 21943 } 21944 return nil 21945} 21946 21947// SetMarker sets the Marker field's value. 21948func (s *ListRolePoliciesInput) SetMarker(v string) *ListRolePoliciesInput { 21949 s.Marker = &v 21950 return s 21951} 21952 21953// SetMaxItems sets the MaxItems field's value. 21954func (s *ListRolePoliciesInput) SetMaxItems(v int64) *ListRolePoliciesInput { 21955 s.MaxItems = &v 21956 return s 21957} 21958 21959// SetRoleName sets the RoleName field's value. 21960func (s *ListRolePoliciesInput) SetRoleName(v string) *ListRolePoliciesInput { 21961 s.RoleName = &v 21962 return s 21963} 21964 21965// Contains the response to a successful ListRolePolicies request. 21966// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ListRolePoliciesResponse 21967type ListRolePoliciesOutput struct { 21968 _ struct{} `type:"structure"` 21969 21970 // A flag that indicates whether there are more items to return. If your results 21971 // were truncated, you can make a subsequent pagination request using the Marker 21972 // request parameter to retrieve more items. Note that IAM might return fewer 21973 // than the MaxItems number of results even when there are more results available. 21974 // We recommend that you check IsTruncated after every call to ensure that you 21975 // receive all of your results. 21976 IsTruncated *bool `type:"boolean"` 21977 21978 // When IsTruncated is true, this element is present and contains the value 21979 // to use for the Marker parameter in a subsequent pagination request. 21980 Marker *string `min:"1" type:"string"` 21981 21982 // A list of policy names. 21983 // 21984 // PolicyNames is a required field 21985 PolicyNames []*string `type:"list" required:"true"` 21986} 21987 21988// String returns the string representation 21989func (s ListRolePoliciesOutput) String() string { 21990 return awsutil.Prettify(s) 21991} 21992 21993// GoString returns the string representation 21994func (s ListRolePoliciesOutput) GoString() string { 21995 return s.String() 21996} 21997 21998// SetIsTruncated sets the IsTruncated field's value. 21999func (s *ListRolePoliciesOutput) SetIsTruncated(v bool) *ListRolePoliciesOutput { 22000 s.IsTruncated = &v 22001 return s 22002} 22003 22004// SetMarker sets the Marker field's value. 22005func (s *ListRolePoliciesOutput) SetMarker(v string) *ListRolePoliciesOutput { 22006 s.Marker = &v 22007 return s 22008} 22009 22010// SetPolicyNames sets the PolicyNames field's value. 22011func (s *ListRolePoliciesOutput) SetPolicyNames(v []*string) *ListRolePoliciesOutput { 22012 s.PolicyNames = v 22013 return s 22014} 22015 22016// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ListRolesRequest 22017type ListRolesInput struct { 22018 _ struct{} `type:"structure"` 22019 22020 // Use this parameter only when paginating results and only after you receive 22021 // a response indicating that the results are truncated. Set it to the value 22022 // of the Marker element in the response that you received to indicate where 22023 // the next call should start. 22024 Marker *string `min:"1" type:"string"` 22025 22026 // (Optional) Use this only when paginating results to indicate the maximum 22027 // number of items you want in the response. If additional items exist beyond 22028 // the maximum you specify, the IsTruncated response element is true. 22029 // 22030 // If you do not include this parameter, it defaults to 100. Note that IAM might 22031 // return fewer results, even when there are more results available. In that 22032 // case, the IsTruncated response element returns true and Marker contains a 22033 // value to include in the subsequent call that tells the service where to continue 22034 // from. 22035 MaxItems *int64 `min:"1" type:"integer"` 22036 22037 // The path prefix for filtering the results. For example, the prefix /application_abc/component_xyz/ 22038 // gets all roles whose path starts with /application_abc/component_xyz/. 22039 // 22040 // This parameter is optional. If it is not included, it defaults to a slash 22041 // (/), listing all roles. This paramater allows (per its regex pattern (http://wikipedia.org/wiki/regex)) 22042 // a string of characters consisting of either a forward slash (/) by itself 22043 // or a string that must begin and end with forward slashes, containing any 22044 // ASCII character from the ! (\u0021) thru the DEL character (\u007F), including 22045 // most punctuation characters, digits, and upper and lowercased letters. 22046 PathPrefix *string `min:"1" type:"string"` 22047} 22048 22049// String returns the string representation 22050func (s ListRolesInput) String() string { 22051 return awsutil.Prettify(s) 22052} 22053 22054// GoString returns the string representation 22055func (s ListRolesInput) GoString() string { 22056 return s.String() 22057} 22058 22059// Validate inspects the fields of the type to determine if they are valid. 22060func (s *ListRolesInput) Validate() error { 22061 invalidParams := request.ErrInvalidParams{Context: "ListRolesInput"} 22062 if s.Marker != nil && len(*s.Marker) < 1 { 22063 invalidParams.Add(request.NewErrParamMinLen("Marker", 1)) 22064 } 22065 if s.MaxItems != nil && *s.MaxItems < 1 { 22066 invalidParams.Add(request.NewErrParamMinValue("MaxItems", 1)) 22067 } 22068 if s.PathPrefix != nil && len(*s.PathPrefix) < 1 { 22069 invalidParams.Add(request.NewErrParamMinLen("PathPrefix", 1)) 22070 } 22071 22072 if invalidParams.Len() > 0 { 22073 return invalidParams 22074 } 22075 return nil 22076} 22077 22078// SetMarker sets the Marker field's value. 22079func (s *ListRolesInput) SetMarker(v string) *ListRolesInput { 22080 s.Marker = &v 22081 return s 22082} 22083 22084// SetMaxItems sets the MaxItems field's value. 22085func (s *ListRolesInput) SetMaxItems(v int64) *ListRolesInput { 22086 s.MaxItems = &v 22087 return s 22088} 22089 22090// SetPathPrefix sets the PathPrefix field's value. 22091func (s *ListRolesInput) SetPathPrefix(v string) *ListRolesInput { 22092 s.PathPrefix = &v 22093 return s 22094} 22095 22096// Contains the response to a successful ListRoles request. 22097// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ListRolesResponse 22098type ListRolesOutput struct { 22099 _ struct{} `type:"structure"` 22100 22101 // A flag that indicates whether there are more items to return. If your results 22102 // were truncated, you can make a subsequent pagination request using the Marker 22103 // request parameter to retrieve more items. Note that IAM might return fewer 22104 // than the MaxItems number of results even when there are more results available. 22105 // We recommend that you check IsTruncated after every call to ensure that you 22106 // receive all of your results. 22107 IsTruncated *bool `type:"boolean"` 22108 22109 // When IsTruncated is true, this element is present and contains the value 22110 // to use for the Marker parameter in a subsequent pagination request. 22111 Marker *string `min:"1" type:"string"` 22112 22113 // A list of roles. 22114 // 22115 // Roles is a required field 22116 Roles []*Role `type:"list" required:"true"` 22117} 22118 22119// String returns the string representation 22120func (s ListRolesOutput) String() string { 22121 return awsutil.Prettify(s) 22122} 22123 22124// GoString returns the string representation 22125func (s ListRolesOutput) GoString() string { 22126 return s.String() 22127} 22128 22129// SetIsTruncated sets the IsTruncated field's value. 22130func (s *ListRolesOutput) SetIsTruncated(v bool) *ListRolesOutput { 22131 s.IsTruncated = &v 22132 return s 22133} 22134 22135// SetMarker sets the Marker field's value. 22136func (s *ListRolesOutput) SetMarker(v string) *ListRolesOutput { 22137 s.Marker = &v 22138 return s 22139} 22140 22141// SetRoles sets the Roles field's value. 22142func (s *ListRolesOutput) SetRoles(v []*Role) *ListRolesOutput { 22143 s.Roles = v 22144 return s 22145} 22146 22147// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ListSAMLProvidersRequest 22148type ListSAMLProvidersInput struct { 22149 _ struct{} `type:"structure"` 22150} 22151 22152// String returns the string representation 22153func (s ListSAMLProvidersInput) String() string { 22154 return awsutil.Prettify(s) 22155} 22156 22157// GoString returns the string representation 22158func (s ListSAMLProvidersInput) GoString() string { 22159 return s.String() 22160} 22161 22162// Contains the response to a successful ListSAMLProviders request. 22163// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ListSAMLProvidersResponse 22164type ListSAMLProvidersOutput struct { 22165 _ struct{} `type:"structure"` 22166 22167 // The list of SAML provider resource objects defined in IAM for this AWS account. 22168 SAMLProviderList []*SAMLProviderListEntry `type:"list"` 22169} 22170 22171// String returns the string representation 22172func (s ListSAMLProvidersOutput) String() string { 22173 return awsutil.Prettify(s) 22174} 22175 22176// GoString returns the string representation 22177func (s ListSAMLProvidersOutput) GoString() string { 22178 return s.String() 22179} 22180 22181// SetSAMLProviderList sets the SAMLProviderList field's value. 22182func (s *ListSAMLProvidersOutput) SetSAMLProviderList(v []*SAMLProviderListEntry) *ListSAMLProvidersOutput { 22183 s.SAMLProviderList = v 22184 return s 22185} 22186 22187// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ListSSHPublicKeysRequest 22188type ListSSHPublicKeysInput struct { 22189 _ struct{} `type:"structure"` 22190 22191 // Use this parameter only when paginating results and only after you receive 22192 // a response indicating that the results are truncated. Set it to the value 22193 // of the Marker element in the response that you received to indicate where 22194 // the next call should start. 22195 Marker *string `min:"1" type:"string"` 22196 22197 // (Optional) Use this only when paginating results to indicate the maximum 22198 // number of items you want in the response. If additional items exist beyond 22199 // the maximum you specify, the IsTruncated response element is true. 22200 // 22201 // If you do not include this parameter, it defaults to 100. Note that IAM might 22202 // return fewer results, even when there are more results available. In that 22203 // case, the IsTruncated response element returns true and Marker contains a 22204 // value to include in the subsequent call that tells the service where to continue 22205 // from. 22206 MaxItems *int64 `min:"1" type:"integer"` 22207 22208 // The name of the IAM user to list SSH public keys for. If none is specified, 22209 // the UserName field is determined implicitly based on the AWS access key used 22210 // to sign the request. 22211 // 22212 // This parameter allows (per its regex pattern (http://wikipedia.org/wiki/regex)) 22213 // a string of characters consisting of upper and lowercase alphanumeric characters 22214 // with no spaces. You can also include any of the following characters: =,.@- 22215 UserName *string `min:"1" type:"string"` 22216} 22217 22218// String returns the string representation 22219func (s ListSSHPublicKeysInput) String() string { 22220 return awsutil.Prettify(s) 22221} 22222 22223// GoString returns the string representation 22224func (s ListSSHPublicKeysInput) GoString() string { 22225 return s.String() 22226} 22227 22228// Validate inspects the fields of the type to determine if they are valid. 22229func (s *ListSSHPublicKeysInput) Validate() error { 22230 invalidParams := request.ErrInvalidParams{Context: "ListSSHPublicKeysInput"} 22231 if s.Marker != nil && len(*s.Marker) < 1 { 22232 invalidParams.Add(request.NewErrParamMinLen("Marker", 1)) 22233 } 22234 if s.MaxItems != nil && *s.MaxItems < 1 { 22235 invalidParams.Add(request.NewErrParamMinValue("MaxItems", 1)) 22236 } 22237 if s.UserName != nil && len(*s.UserName) < 1 { 22238 invalidParams.Add(request.NewErrParamMinLen("UserName", 1)) 22239 } 22240 22241 if invalidParams.Len() > 0 { 22242 return invalidParams 22243 } 22244 return nil 22245} 22246 22247// SetMarker sets the Marker field's value. 22248func (s *ListSSHPublicKeysInput) SetMarker(v string) *ListSSHPublicKeysInput { 22249 s.Marker = &v 22250 return s 22251} 22252 22253// SetMaxItems sets the MaxItems field's value. 22254func (s *ListSSHPublicKeysInput) SetMaxItems(v int64) *ListSSHPublicKeysInput { 22255 s.MaxItems = &v 22256 return s 22257} 22258 22259// SetUserName sets the UserName field's value. 22260func (s *ListSSHPublicKeysInput) SetUserName(v string) *ListSSHPublicKeysInput { 22261 s.UserName = &v 22262 return s 22263} 22264 22265// Contains the response to a successful ListSSHPublicKeys request. 22266// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ListSSHPublicKeysResponse 22267type ListSSHPublicKeysOutput struct { 22268 _ struct{} `type:"structure"` 22269 22270 // A flag that indicates whether there are more items to return. If your results 22271 // were truncated, you can make a subsequent pagination request using the Marker 22272 // request parameter to retrieve more items. Note that IAM might return fewer 22273 // than the MaxItems number of results even when there are more results available. 22274 // We recommend that you check IsTruncated after every call to ensure that you 22275 // receive all of your results. 22276 IsTruncated *bool `type:"boolean"` 22277 22278 // When IsTruncated is true, this element is present and contains the value 22279 // to use for the Marker parameter in a subsequent pagination request. 22280 Marker *string `min:"1" type:"string"` 22281 22282 // A list of the SSH public keys assigned to IAM user. 22283 SSHPublicKeys []*SSHPublicKeyMetadata `type:"list"` 22284} 22285 22286// String returns the string representation 22287func (s ListSSHPublicKeysOutput) String() string { 22288 return awsutil.Prettify(s) 22289} 22290 22291// GoString returns the string representation 22292func (s ListSSHPublicKeysOutput) GoString() string { 22293 return s.String() 22294} 22295 22296// SetIsTruncated sets the IsTruncated field's value. 22297func (s *ListSSHPublicKeysOutput) SetIsTruncated(v bool) *ListSSHPublicKeysOutput { 22298 s.IsTruncated = &v 22299 return s 22300} 22301 22302// SetMarker sets the Marker field's value. 22303func (s *ListSSHPublicKeysOutput) SetMarker(v string) *ListSSHPublicKeysOutput { 22304 s.Marker = &v 22305 return s 22306} 22307 22308// SetSSHPublicKeys sets the SSHPublicKeys field's value. 22309func (s *ListSSHPublicKeysOutput) SetSSHPublicKeys(v []*SSHPublicKeyMetadata) *ListSSHPublicKeysOutput { 22310 s.SSHPublicKeys = v 22311 return s 22312} 22313 22314// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ListServerCertificatesRequest 22315type ListServerCertificatesInput struct { 22316 _ struct{} `type:"structure"` 22317 22318 // Use this parameter only when paginating results and only after you receive 22319 // a response indicating that the results are truncated. Set it to the value 22320 // of the Marker element in the response that you received to indicate where 22321 // the next call should start. 22322 Marker *string `min:"1" type:"string"` 22323 22324 // (Optional) Use this only when paginating results to indicate the maximum 22325 // number of items you want in the response. If additional items exist beyond 22326 // the maximum you specify, the IsTruncated response element is true. 22327 // 22328 // If you do not include this parameter, it defaults to 100. Note that IAM might 22329 // return fewer results, even when there are more results available. In that 22330 // case, the IsTruncated response element returns true and Marker contains a 22331 // value to include in the subsequent call that tells the service where to continue 22332 // from. 22333 MaxItems *int64 `min:"1" type:"integer"` 22334 22335 // The path prefix for filtering the results. For example: /company/servercerts 22336 // would get all server certificates for which the path starts with /company/servercerts. 22337 // 22338 // This parameter is optional. If it is not included, it defaults to a slash 22339 // (/), listing all server certificates. This paramater allows (per its regex 22340 // pattern (http://wikipedia.org/wiki/regex)) a string of characters consisting 22341 // of either a forward slash (/) by itself or a string that must begin and end 22342 // with forward slashes, containing any ASCII character from the ! (\u0021) 22343 // thru the DEL character (\u007F), including most punctuation characters, digits, 22344 // and upper and lowercased letters. 22345 PathPrefix *string `min:"1" type:"string"` 22346} 22347 22348// String returns the string representation 22349func (s ListServerCertificatesInput) String() string { 22350 return awsutil.Prettify(s) 22351} 22352 22353// GoString returns the string representation 22354func (s ListServerCertificatesInput) GoString() string { 22355 return s.String() 22356} 22357 22358// Validate inspects the fields of the type to determine if they are valid. 22359func (s *ListServerCertificatesInput) Validate() error { 22360 invalidParams := request.ErrInvalidParams{Context: "ListServerCertificatesInput"} 22361 if s.Marker != nil && len(*s.Marker) < 1 { 22362 invalidParams.Add(request.NewErrParamMinLen("Marker", 1)) 22363 } 22364 if s.MaxItems != nil && *s.MaxItems < 1 { 22365 invalidParams.Add(request.NewErrParamMinValue("MaxItems", 1)) 22366 } 22367 if s.PathPrefix != nil && len(*s.PathPrefix) < 1 { 22368 invalidParams.Add(request.NewErrParamMinLen("PathPrefix", 1)) 22369 } 22370 22371 if invalidParams.Len() > 0 { 22372 return invalidParams 22373 } 22374 return nil 22375} 22376 22377// SetMarker sets the Marker field's value. 22378func (s *ListServerCertificatesInput) SetMarker(v string) *ListServerCertificatesInput { 22379 s.Marker = &v 22380 return s 22381} 22382 22383// SetMaxItems sets the MaxItems field's value. 22384func (s *ListServerCertificatesInput) SetMaxItems(v int64) *ListServerCertificatesInput { 22385 s.MaxItems = &v 22386 return s 22387} 22388 22389// SetPathPrefix sets the PathPrefix field's value. 22390func (s *ListServerCertificatesInput) SetPathPrefix(v string) *ListServerCertificatesInput { 22391 s.PathPrefix = &v 22392 return s 22393} 22394 22395// Contains the response to a successful ListServerCertificates request. 22396// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ListServerCertificatesResponse 22397type ListServerCertificatesOutput struct { 22398 _ struct{} `type:"structure"` 22399 22400 // A flag that indicates whether there are more items to return. If your results 22401 // were truncated, you can make a subsequent pagination request using the Marker 22402 // request parameter to retrieve more items. Note that IAM might return fewer 22403 // than the MaxItems number of results even when there are more results available. 22404 // We recommend that you check IsTruncated after every call to ensure that you 22405 // receive all of your results. 22406 IsTruncated *bool `type:"boolean"` 22407 22408 // When IsTruncated is true, this element is present and contains the value 22409 // to use for the Marker parameter in a subsequent pagination request. 22410 Marker *string `min:"1" type:"string"` 22411 22412 // A list of server certificates. 22413 // 22414 // ServerCertificateMetadataList is a required field 22415 ServerCertificateMetadataList []*ServerCertificateMetadata `type:"list" required:"true"` 22416} 22417 22418// String returns the string representation 22419func (s ListServerCertificatesOutput) String() string { 22420 return awsutil.Prettify(s) 22421} 22422 22423// GoString returns the string representation 22424func (s ListServerCertificatesOutput) GoString() string { 22425 return s.String() 22426} 22427 22428// SetIsTruncated sets the IsTruncated field's value. 22429func (s *ListServerCertificatesOutput) SetIsTruncated(v bool) *ListServerCertificatesOutput { 22430 s.IsTruncated = &v 22431 return s 22432} 22433 22434// SetMarker sets the Marker field's value. 22435func (s *ListServerCertificatesOutput) SetMarker(v string) *ListServerCertificatesOutput { 22436 s.Marker = &v 22437 return s 22438} 22439 22440// SetServerCertificateMetadataList sets the ServerCertificateMetadataList field's value. 22441func (s *ListServerCertificatesOutput) SetServerCertificateMetadataList(v []*ServerCertificateMetadata) *ListServerCertificatesOutput { 22442 s.ServerCertificateMetadataList = v 22443 return s 22444} 22445 22446// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ListServiceSpecificCredentialsRequest 22447type ListServiceSpecificCredentialsInput struct { 22448 _ struct{} `type:"structure"` 22449 22450 // Filters the returned results to only those for the specified AWS service. 22451 // If not specified, then AWS returns service-specific credentials for all services. 22452 ServiceName *string `type:"string"` 22453 22454 // The name of the user whose service-specific credentials you want information 22455 // about. If this value is not specified then the operation assumes the user 22456 // whose credentials are used to call the operation. 22457 // 22458 // This parameter allows (per its regex pattern (http://wikipedia.org/wiki/regex)) 22459 // a string of characters consisting of upper and lowercase alphanumeric characters 22460 // with no spaces. You can also include any of the following characters: =,.@- 22461 UserName *string `min:"1" type:"string"` 22462} 22463 22464// String returns the string representation 22465func (s ListServiceSpecificCredentialsInput) String() string { 22466 return awsutil.Prettify(s) 22467} 22468 22469// GoString returns the string representation 22470func (s ListServiceSpecificCredentialsInput) GoString() string { 22471 return s.String() 22472} 22473 22474// Validate inspects the fields of the type to determine if they are valid. 22475func (s *ListServiceSpecificCredentialsInput) Validate() error { 22476 invalidParams := request.ErrInvalidParams{Context: "ListServiceSpecificCredentialsInput"} 22477 if s.UserName != nil && len(*s.UserName) < 1 { 22478 invalidParams.Add(request.NewErrParamMinLen("UserName", 1)) 22479 } 22480 22481 if invalidParams.Len() > 0 { 22482 return invalidParams 22483 } 22484 return nil 22485} 22486 22487// SetServiceName sets the ServiceName field's value. 22488func (s *ListServiceSpecificCredentialsInput) SetServiceName(v string) *ListServiceSpecificCredentialsInput { 22489 s.ServiceName = &v 22490 return s 22491} 22492 22493// SetUserName sets the UserName field's value. 22494func (s *ListServiceSpecificCredentialsInput) SetUserName(v string) *ListServiceSpecificCredentialsInput { 22495 s.UserName = &v 22496 return s 22497} 22498 22499// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ListServiceSpecificCredentialsResponse 22500type ListServiceSpecificCredentialsOutput struct { 22501 _ struct{} `type:"structure"` 22502 22503 // A list of structures that each contain details about a service-specific credential. 22504 ServiceSpecificCredentials []*ServiceSpecificCredentialMetadata `type:"list"` 22505} 22506 22507// String returns the string representation 22508func (s ListServiceSpecificCredentialsOutput) String() string { 22509 return awsutil.Prettify(s) 22510} 22511 22512// GoString returns the string representation 22513func (s ListServiceSpecificCredentialsOutput) GoString() string { 22514 return s.String() 22515} 22516 22517// SetServiceSpecificCredentials sets the ServiceSpecificCredentials field's value. 22518func (s *ListServiceSpecificCredentialsOutput) SetServiceSpecificCredentials(v []*ServiceSpecificCredentialMetadata) *ListServiceSpecificCredentialsOutput { 22519 s.ServiceSpecificCredentials = v 22520 return s 22521} 22522 22523// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ListSigningCertificatesRequest 22524type ListSigningCertificatesInput struct { 22525 _ struct{} `type:"structure"` 22526 22527 // Use this parameter only when paginating results and only after you receive 22528 // a response indicating that the results are truncated. Set it to the value 22529 // of the Marker element in the response that you received to indicate where 22530 // the next call should start. 22531 Marker *string `min:"1" type:"string"` 22532 22533 // (Optional) Use this only when paginating results to indicate the maximum 22534 // number of items you want in the response. If additional items exist beyond 22535 // the maximum you specify, the IsTruncated response element is true. 22536 // 22537 // If you do not include this parameter, it defaults to 100. Note that IAM might 22538 // return fewer results, even when there are more results available. In that 22539 // case, the IsTruncated response element returns true and Marker contains a 22540 // value to include in the subsequent call that tells the service where to continue 22541 // from. 22542 MaxItems *int64 `min:"1" type:"integer"` 22543 22544 // The name of the IAM user whose signing certificates you want to examine. 22545 // 22546 // This parameter allows (per its regex pattern (http://wikipedia.org/wiki/regex)) 22547 // a string of characters consisting of upper and lowercase alphanumeric characters 22548 // with no spaces. You can also include any of the following characters: =,.@- 22549 UserName *string `min:"1" type:"string"` 22550} 22551 22552// String returns the string representation 22553func (s ListSigningCertificatesInput) String() string { 22554 return awsutil.Prettify(s) 22555} 22556 22557// GoString returns the string representation 22558func (s ListSigningCertificatesInput) GoString() string { 22559 return s.String() 22560} 22561 22562// Validate inspects the fields of the type to determine if they are valid. 22563func (s *ListSigningCertificatesInput) Validate() error { 22564 invalidParams := request.ErrInvalidParams{Context: "ListSigningCertificatesInput"} 22565 if s.Marker != nil && len(*s.Marker) < 1 { 22566 invalidParams.Add(request.NewErrParamMinLen("Marker", 1)) 22567 } 22568 if s.MaxItems != nil && *s.MaxItems < 1 { 22569 invalidParams.Add(request.NewErrParamMinValue("MaxItems", 1)) 22570 } 22571 if s.UserName != nil && len(*s.UserName) < 1 { 22572 invalidParams.Add(request.NewErrParamMinLen("UserName", 1)) 22573 } 22574 22575 if invalidParams.Len() > 0 { 22576 return invalidParams 22577 } 22578 return nil 22579} 22580 22581// SetMarker sets the Marker field's value. 22582func (s *ListSigningCertificatesInput) SetMarker(v string) *ListSigningCertificatesInput { 22583 s.Marker = &v 22584 return s 22585} 22586 22587// SetMaxItems sets the MaxItems field's value. 22588func (s *ListSigningCertificatesInput) SetMaxItems(v int64) *ListSigningCertificatesInput { 22589 s.MaxItems = &v 22590 return s 22591} 22592 22593// SetUserName sets the UserName field's value. 22594func (s *ListSigningCertificatesInput) SetUserName(v string) *ListSigningCertificatesInput { 22595 s.UserName = &v 22596 return s 22597} 22598 22599// Contains the response to a successful ListSigningCertificates request. 22600// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ListSigningCertificatesResponse 22601type ListSigningCertificatesOutput struct { 22602 _ struct{} `type:"structure"` 22603 22604 // A list of the user's signing certificate information. 22605 // 22606 // Certificates is a required field 22607 Certificates []*SigningCertificate `type:"list" required:"true"` 22608 22609 // A flag that indicates whether there are more items to return. If your results 22610 // were truncated, you can make a subsequent pagination request using the Marker 22611 // request parameter to retrieve more items. Note that IAM might return fewer 22612 // than the MaxItems number of results even when there are more results available. 22613 // We recommend that you check IsTruncated after every call to ensure that you 22614 // receive all of your results. 22615 IsTruncated *bool `type:"boolean"` 22616 22617 // When IsTruncated is true, this element is present and contains the value 22618 // to use for the Marker parameter in a subsequent pagination request. 22619 Marker *string `min:"1" type:"string"` 22620} 22621 22622// String returns the string representation 22623func (s ListSigningCertificatesOutput) String() string { 22624 return awsutil.Prettify(s) 22625} 22626 22627// GoString returns the string representation 22628func (s ListSigningCertificatesOutput) GoString() string { 22629 return s.String() 22630} 22631 22632// SetCertificates sets the Certificates field's value. 22633func (s *ListSigningCertificatesOutput) SetCertificates(v []*SigningCertificate) *ListSigningCertificatesOutput { 22634 s.Certificates = v 22635 return s 22636} 22637 22638// SetIsTruncated sets the IsTruncated field's value. 22639func (s *ListSigningCertificatesOutput) SetIsTruncated(v bool) *ListSigningCertificatesOutput { 22640 s.IsTruncated = &v 22641 return s 22642} 22643 22644// SetMarker sets the Marker field's value. 22645func (s *ListSigningCertificatesOutput) SetMarker(v string) *ListSigningCertificatesOutput { 22646 s.Marker = &v 22647 return s 22648} 22649 22650// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ListUserPoliciesRequest 22651type ListUserPoliciesInput struct { 22652 _ struct{} `type:"structure"` 22653 22654 // Use this parameter only when paginating results and only after you receive 22655 // a response indicating that the results are truncated. Set it to the value 22656 // of the Marker element in the response that you received to indicate where 22657 // the next call should start. 22658 Marker *string `min:"1" type:"string"` 22659 22660 // (Optional) Use this only when paginating results to indicate the maximum 22661 // number of items you want in the response. If additional items exist beyond 22662 // the maximum you specify, the IsTruncated response element is true. 22663 // 22664 // If you do not include this parameter, it defaults to 100. Note that IAM might 22665 // return fewer results, even when there are more results available. In that 22666 // case, the IsTruncated response element returns true and Marker contains a 22667 // value to include in the subsequent call that tells the service where to continue 22668 // from. 22669 MaxItems *int64 `min:"1" type:"integer"` 22670 22671 // The name of the user to list policies for. 22672 // 22673 // This parameter allows (per its regex pattern (http://wikipedia.org/wiki/regex)) 22674 // a string of characters consisting of upper and lowercase alphanumeric characters 22675 // with no spaces. You can also include any of the following characters: =,.@- 22676 // 22677 // UserName is a required field 22678 UserName *string `min:"1" type:"string" required:"true"` 22679} 22680 22681// String returns the string representation 22682func (s ListUserPoliciesInput) String() string { 22683 return awsutil.Prettify(s) 22684} 22685 22686// GoString returns the string representation 22687func (s ListUserPoliciesInput) GoString() string { 22688 return s.String() 22689} 22690 22691// Validate inspects the fields of the type to determine if they are valid. 22692func (s *ListUserPoliciesInput) Validate() error { 22693 invalidParams := request.ErrInvalidParams{Context: "ListUserPoliciesInput"} 22694 if s.Marker != nil && len(*s.Marker) < 1 { 22695 invalidParams.Add(request.NewErrParamMinLen("Marker", 1)) 22696 } 22697 if s.MaxItems != nil && *s.MaxItems < 1 { 22698 invalidParams.Add(request.NewErrParamMinValue("MaxItems", 1)) 22699 } 22700 if s.UserName == nil { 22701 invalidParams.Add(request.NewErrParamRequired("UserName")) 22702 } 22703 if s.UserName != nil && len(*s.UserName) < 1 { 22704 invalidParams.Add(request.NewErrParamMinLen("UserName", 1)) 22705 } 22706 22707 if invalidParams.Len() > 0 { 22708 return invalidParams 22709 } 22710 return nil 22711} 22712 22713// SetMarker sets the Marker field's value. 22714func (s *ListUserPoliciesInput) SetMarker(v string) *ListUserPoliciesInput { 22715 s.Marker = &v 22716 return s 22717} 22718 22719// SetMaxItems sets the MaxItems field's value. 22720func (s *ListUserPoliciesInput) SetMaxItems(v int64) *ListUserPoliciesInput { 22721 s.MaxItems = &v 22722 return s 22723} 22724 22725// SetUserName sets the UserName field's value. 22726func (s *ListUserPoliciesInput) SetUserName(v string) *ListUserPoliciesInput { 22727 s.UserName = &v 22728 return s 22729} 22730 22731// Contains the response to a successful ListUserPolicies request. 22732// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ListUserPoliciesResponse 22733type ListUserPoliciesOutput struct { 22734 _ struct{} `type:"structure"` 22735 22736 // A flag that indicates whether there are more items to return. If your results 22737 // were truncated, you can make a subsequent pagination request using the Marker 22738 // request parameter to retrieve more items. Note that IAM might return fewer 22739 // than the MaxItems number of results even when there are more results available. 22740 // We recommend that you check IsTruncated after every call to ensure that you 22741 // receive all of your results. 22742 IsTruncated *bool `type:"boolean"` 22743 22744 // When IsTruncated is true, this element is present and contains the value 22745 // to use for the Marker parameter in a subsequent pagination request. 22746 Marker *string `min:"1" type:"string"` 22747 22748 // A list of policy names. 22749 // 22750 // PolicyNames is a required field 22751 PolicyNames []*string `type:"list" required:"true"` 22752} 22753 22754// String returns the string representation 22755func (s ListUserPoliciesOutput) String() string { 22756 return awsutil.Prettify(s) 22757} 22758 22759// GoString returns the string representation 22760func (s ListUserPoliciesOutput) GoString() string { 22761 return s.String() 22762} 22763 22764// SetIsTruncated sets the IsTruncated field's value. 22765func (s *ListUserPoliciesOutput) SetIsTruncated(v bool) *ListUserPoliciesOutput { 22766 s.IsTruncated = &v 22767 return s 22768} 22769 22770// SetMarker sets the Marker field's value. 22771func (s *ListUserPoliciesOutput) SetMarker(v string) *ListUserPoliciesOutput { 22772 s.Marker = &v 22773 return s 22774} 22775 22776// SetPolicyNames sets the PolicyNames field's value. 22777func (s *ListUserPoliciesOutput) SetPolicyNames(v []*string) *ListUserPoliciesOutput { 22778 s.PolicyNames = v 22779 return s 22780} 22781 22782// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ListUsersRequest 22783type ListUsersInput struct { 22784 _ struct{} `type:"structure"` 22785 22786 // Use this parameter only when paginating results and only after you receive 22787 // a response indicating that the results are truncated. Set it to the value 22788 // of the Marker element in the response that you received to indicate where 22789 // the next call should start. 22790 Marker *string `min:"1" type:"string"` 22791 22792 // (Optional) Use this only when paginating results to indicate the maximum 22793 // number of items you want in the response. If additional items exist beyond 22794 // the maximum you specify, the IsTruncated response element is true. 22795 // 22796 // If you do not include this parameter, it defaults to 100. Note that IAM might 22797 // return fewer results, even when there are more results available. In that 22798 // case, the IsTruncated response element returns true and Marker contains a 22799 // value to include in the subsequent call that tells the service where to continue 22800 // from. 22801 MaxItems *int64 `min:"1" type:"integer"` 22802 22803 // The path prefix for filtering the results. For example: /division_abc/subdivision_xyz/, 22804 // which would get all user names whose path starts with /division_abc/subdivision_xyz/. 22805 // 22806 // This parameter is optional. If it is not included, it defaults to a slash 22807 // (/), listing all user names. This paramater allows (per its regex pattern 22808 // (http://wikipedia.org/wiki/regex)) a string of characters consisting of either 22809 // a forward slash (/) by itself or a string that must begin and end with forward 22810 // slashes, containing any ASCII character from the ! (\u0021) thru the DEL 22811 // character (\u007F), including most punctuation characters, digits, and upper 22812 // and lowercased letters. 22813 PathPrefix *string `min:"1" type:"string"` 22814} 22815 22816// String returns the string representation 22817func (s ListUsersInput) String() string { 22818 return awsutil.Prettify(s) 22819} 22820 22821// GoString returns the string representation 22822func (s ListUsersInput) GoString() string { 22823 return s.String() 22824} 22825 22826// Validate inspects the fields of the type to determine if they are valid. 22827func (s *ListUsersInput) Validate() error { 22828 invalidParams := request.ErrInvalidParams{Context: "ListUsersInput"} 22829 if s.Marker != nil && len(*s.Marker) < 1 { 22830 invalidParams.Add(request.NewErrParamMinLen("Marker", 1)) 22831 } 22832 if s.MaxItems != nil && *s.MaxItems < 1 { 22833 invalidParams.Add(request.NewErrParamMinValue("MaxItems", 1)) 22834 } 22835 if s.PathPrefix != nil && len(*s.PathPrefix) < 1 { 22836 invalidParams.Add(request.NewErrParamMinLen("PathPrefix", 1)) 22837 } 22838 22839 if invalidParams.Len() > 0 { 22840 return invalidParams 22841 } 22842 return nil 22843} 22844 22845// SetMarker sets the Marker field's value. 22846func (s *ListUsersInput) SetMarker(v string) *ListUsersInput { 22847 s.Marker = &v 22848 return s 22849} 22850 22851// SetMaxItems sets the MaxItems field's value. 22852func (s *ListUsersInput) SetMaxItems(v int64) *ListUsersInput { 22853 s.MaxItems = &v 22854 return s 22855} 22856 22857// SetPathPrefix sets the PathPrefix field's value. 22858func (s *ListUsersInput) SetPathPrefix(v string) *ListUsersInput { 22859 s.PathPrefix = &v 22860 return s 22861} 22862 22863// Contains the response to a successful ListUsers request. 22864// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ListUsersResponse 22865type ListUsersOutput struct { 22866 _ struct{} `type:"structure"` 22867 22868 // A flag that indicates whether there are more items to return. If your results 22869 // were truncated, you can make a subsequent pagination request using the Marker 22870 // request parameter to retrieve more items. Note that IAM might return fewer 22871 // than the MaxItems number of results even when there are more results available. 22872 // We recommend that you check IsTruncated after every call to ensure that you 22873 // receive all of your results. 22874 IsTruncated *bool `type:"boolean"` 22875 22876 // When IsTruncated is true, this element is present and contains the value 22877 // to use for the Marker parameter in a subsequent pagination request. 22878 Marker *string `min:"1" type:"string"` 22879 22880 // A list of users. 22881 // 22882 // Users is a required field 22883 Users []*User `type:"list" required:"true"` 22884} 22885 22886// String returns the string representation 22887func (s ListUsersOutput) String() string { 22888 return awsutil.Prettify(s) 22889} 22890 22891// GoString returns the string representation 22892func (s ListUsersOutput) GoString() string { 22893 return s.String() 22894} 22895 22896// SetIsTruncated sets the IsTruncated field's value. 22897func (s *ListUsersOutput) SetIsTruncated(v bool) *ListUsersOutput { 22898 s.IsTruncated = &v 22899 return s 22900} 22901 22902// SetMarker sets the Marker field's value. 22903func (s *ListUsersOutput) SetMarker(v string) *ListUsersOutput { 22904 s.Marker = &v 22905 return s 22906} 22907 22908// SetUsers sets the Users field's value. 22909func (s *ListUsersOutput) SetUsers(v []*User) *ListUsersOutput { 22910 s.Users = v 22911 return s 22912} 22913 22914// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ListVirtualMFADevicesRequest 22915type ListVirtualMFADevicesInput struct { 22916 _ struct{} `type:"structure"` 22917 22918 // The status (Unassigned or Assigned) of the devices to list. If you do not 22919 // specify an AssignmentStatus, the action defaults to Any which lists both 22920 // assigned and unassigned virtual MFA devices. 22921 AssignmentStatus *string `type:"string" enum:"assignmentStatusType"` 22922 22923 // Use this parameter only when paginating results and only after you receive 22924 // a response indicating that the results are truncated. Set it to the value 22925 // of the Marker element in the response that you received to indicate where 22926 // the next call should start. 22927 Marker *string `min:"1" type:"string"` 22928 22929 // (Optional) Use this only when paginating results to indicate the maximum 22930 // number of items you want in the response. If additional items exist beyond 22931 // the maximum you specify, the IsTruncated response element is true. 22932 // 22933 // If you do not include this parameter, it defaults to 100. Note that IAM might 22934 // return fewer results, even when there are more results available. In that 22935 // case, the IsTruncated response element returns true and Marker contains a 22936 // value to include in the subsequent call that tells the service where to continue 22937 // from. 22938 MaxItems *int64 `min:"1" type:"integer"` 22939} 22940 22941// String returns the string representation 22942func (s ListVirtualMFADevicesInput) String() string { 22943 return awsutil.Prettify(s) 22944} 22945 22946// GoString returns the string representation 22947func (s ListVirtualMFADevicesInput) GoString() string { 22948 return s.String() 22949} 22950 22951// Validate inspects the fields of the type to determine if they are valid. 22952func (s *ListVirtualMFADevicesInput) Validate() error { 22953 invalidParams := request.ErrInvalidParams{Context: "ListVirtualMFADevicesInput"} 22954 if s.Marker != nil && len(*s.Marker) < 1 { 22955 invalidParams.Add(request.NewErrParamMinLen("Marker", 1)) 22956 } 22957 if s.MaxItems != nil && *s.MaxItems < 1 { 22958 invalidParams.Add(request.NewErrParamMinValue("MaxItems", 1)) 22959 } 22960 22961 if invalidParams.Len() > 0 { 22962 return invalidParams 22963 } 22964 return nil 22965} 22966 22967// SetAssignmentStatus sets the AssignmentStatus field's value. 22968func (s *ListVirtualMFADevicesInput) SetAssignmentStatus(v string) *ListVirtualMFADevicesInput { 22969 s.AssignmentStatus = &v 22970 return s 22971} 22972 22973// SetMarker sets the Marker field's value. 22974func (s *ListVirtualMFADevicesInput) SetMarker(v string) *ListVirtualMFADevicesInput { 22975 s.Marker = &v 22976 return s 22977} 22978 22979// SetMaxItems sets the MaxItems field's value. 22980func (s *ListVirtualMFADevicesInput) SetMaxItems(v int64) *ListVirtualMFADevicesInput { 22981 s.MaxItems = &v 22982 return s 22983} 22984 22985// Contains the response to a successful ListVirtualMFADevices request. 22986// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ListVirtualMFADevicesResponse 22987type ListVirtualMFADevicesOutput struct { 22988 _ struct{} `type:"structure"` 22989 22990 // A flag that indicates whether there are more items to return. If your results 22991 // were truncated, you can make a subsequent pagination request using the Marker 22992 // request parameter to retrieve more items. Note that IAM might return fewer 22993 // than the MaxItems number of results even when there are more results available. 22994 // We recommend that you check IsTruncated after every call to ensure that you 22995 // receive all of your results. 22996 IsTruncated *bool `type:"boolean"` 22997 22998 // When IsTruncated is true, this element is present and contains the value 22999 // to use for the Marker parameter in a subsequent pagination request. 23000 Marker *string `min:"1" type:"string"` 23001 23002 // The list of virtual MFA devices in the current account that match the AssignmentStatus 23003 // value that was passed in the request. 23004 // 23005 // VirtualMFADevices is a required field 23006 VirtualMFADevices []*VirtualMFADevice `type:"list" required:"true"` 23007} 23008 23009// String returns the string representation 23010func (s ListVirtualMFADevicesOutput) String() string { 23011 return awsutil.Prettify(s) 23012} 23013 23014// GoString returns the string representation 23015func (s ListVirtualMFADevicesOutput) GoString() string { 23016 return s.String() 23017} 23018 23019// SetIsTruncated sets the IsTruncated field's value. 23020func (s *ListVirtualMFADevicesOutput) SetIsTruncated(v bool) *ListVirtualMFADevicesOutput { 23021 s.IsTruncated = &v 23022 return s 23023} 23024 23025// SetMarker sets the Marker field's value. 23026func (s *ListVirtualMFADevicesOutput) SetMarker(v string) *ListVirtualMFADevicesOutput { 23027 s.Marker = &v 23028 return s 23029} 23030 23031// SetVirtualMFADevices sets the VirtualMFADevices field's value. 23032func (s *ListVirtualMFADevicesOutput) SetVirtualMFADevices(v []*VirtualMFADevice) *ListVirtualMFADevicesOutput { 23033 s.VirtualMFADevices = v 23034 return s 23035} 23036 23037// Contains the user name and password create date for a user. 23038// 23039// This data type is used as a response element in the CreateLoginProfile and 23040// GetLoginProfile actions. 23041// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/LoginProfile 23042type LoginProfile struct { 23043 _ struct{} `type:"structure"` 23044 23045 // The date when the password for the user was created. 23046 // 23047 // CreateDate is a required field 23048 CreateDate *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"` 23049 23050 // Specifies whether the user is required to set a new password on next sign-in. 23051 PasswordResetRequired *bool `type:"boolean"` 23052 23053 // The name of the user, which can be used for signing in to the AWS Management 23054 // Console. 23055 // 23056 // UserName is a required field 23057 UserName *string `min:"1" type:"string" required:"true"` 23058} 23059 23060// String returns the string representation 23061func (s LoginProfile) String() string { 23062 return awsutil.Prettify(s) 23063} 23064 23065// GoString returns the string representation 23066func (s LoginProfile) GoString() string { 23067 return s.String() 23068} 23069 23070// SetCreateDate sets the CreateDate field's value. 23071func (s *LoginProfile) SetCreateDate(v time.Time) *LoginProfile { 23072 s.CreateDate = &v 23073 return s 23074} 23075 23076// SetPasswordResetRequired sets the PasswordResetRequired field's value. 23077func (s *LoginProfile) SetPasswordResetRequired(v bool) *LoginProfile { 23078 s.PasswordResetRequired = &v 23079 return s 23080} 23081 23082// SetUserName sets the UserName field's value. 23083func (s *LoginProfile) SetUserName(v string) *LoginProfile { 23084 s.UserName = &v 23085 return s 23086} 23087 23088// Contains information about an MFA device. 23089// 23090// This data type is used as a response element in the ListMFADevices action. 23091// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/MFADevice 23092type MFADevice struct { 23093 _ struct{} `type:"structure"` 23094 23095 // The date when the MFA device was enabled for the user. 23096 // 23097 // EnableDate is a required field 23098 EnableDate *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"` 23099 23100 // The serial number that uniquely identifies the MFA device. For virtual MFA 23101 // devices, the serial number is the device ARN. 23102 // 23103 // SerialNumber is a required field 23104 SerialNumber *string `min:"9" type:"string" required:"true"` 23105 23106 // The user with whom the MFA device is associated. 23107 // 23108 // UserName is a required field 23109 UserName *string `min:"1" type:"string" required:"true"` 23110} 23111 23112// String returns the string representation 23113func (s MFADevice) String() string { 23114 return awsutil.Prettify(s) 23115} 23116 23117// GoString returns the string representation 23118func (s MFADevice) GoString() string { 23119 return s.String() 23120} 23121 23122// SetEnableDate sets the EnableDate field's value. 23123func (s *MFADevice) SetEnableDate(v time.Time) *MFADevice { 23124 s.EnableDate = &v 23125 return s 23126} 23127 23128// SetSerialNumber sets the SerialNumber field's value. 23129func (s *MFADevice) SetSerialNumber(v string) *MFADevice { 23130 s.SerialNumber = &v 23131 return s 23132} 23133 23134// SetUserName sets the UserName field's value. 23135func (s *MFADevice) SetUserName(v string) *MFADevice { 23136 s.UserName = &v 23137 return s 23138} 23139 23140// Contains information about a managed policy, including the policy's ARN, 23141// versions, and the number of principal entities (users, groups, and roles) 23142// that the policy is attached to. 23143// 23144// This data type is used as a response element in the GetAccountAuthorizationDetails 23145// action. 23146// 23147// For more information about managed policies, see Managed Policies and Inline 23148// Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html) 23149// in the Using IAM guide. 23150// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ManagedPolicyDetail 23151type ManagedPolicyDetail struct { 23152 _ struct{} `type:"structure"` 23153 23154 // The Amazon Resource Name (ARN). ARNs are unique identifiers for AWS resources. 23155 // 23156 // For more information about ARNs, go to Amazon Resource Names (ARNs) and AWS 23157 // Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) 23158 // in the AWS General Reference. 23159 Arn *string `min:"20" type:"string"` 23160 23161 // The number of principal entities (users, groups, and roles) that the policy 23162 // is attached to. 23163 AttachmentCount *int64 `type:"integer"` 23164 23165 // The date and time, in ISO 8601 date-time format (http://www.iso.org/iso/iso8601), 23166 // when the policy was created. 23167 CreateDate *time.Time `type:"timestamp" timestampFormat:"iso8601"` 23168 23169 // The identifier for the version of the policy that is set as the default (operative) 23170 // version. 23171 // 23172 // For more information about policy versions, see Versioning for Managed Policies 23173 // (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-versions.html) 23174 // in the Using IAM guide. 23175 DefaultVersionId *string `type:"string"` 23176 23177 // A friendly description of the policy. 23178 Description *string `type:"string"` 23179 23180 // Specifies whether the policy can be attached to an IAM user, group, or role. 23181 IsAttachable *bool `type:"boolean"` 23182 23183 // The path to the policy. 23184 // 23185 // For more information about paths, see IAM Identifiers (http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html) 23186 // in the Using IAM guide. 23187 Path *string `type:"string"` 23188 23189 // The stable and unique string identifying the policy. 23190 // 23191 // For more information about IDs, see IAM Identifiers (http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html) 23192 // in the Using IAM guide. 23193 PolicyId *string `min:"16" type:"string"` 23194 23195 // The friendly name (not ARN) identifying the policy. 23196 PolicyName *string `min:"1" type:"string"` 23197 23198 // A list containing information about the versions of the policy. 23199 PolicyVersionList []*PolicyVersion `type:"list"` 23200 23201 // The date and time, in ISO 8601 date-time format (http://www.iso.org/iso/iso8601), 23202 // when the policy was last updated. 23203 // 23204 // When a policy has only one version, this field contains the date and time 23205 // when the policy was created. When a policy has more than one version, this 23206 // field contains the date and time when the most recent policy version was 23207 // created. 23208 UpdateDate *time.Time `type:"timestamp" timestampFormat:"iso8601"` 23209} 23210 23211// String returns the string representation 23212func (s ManagedPolicyDetail) String() string { 23213 return awsutil.Prettify(s) 23214} 23215 23216// GoString returns the string representation 23217func (s ManagedPolicyDetail) GoString() string { 23218 return s.String() 23219} 23220 23221// SetArn sets the Arn field's value. 23222func (s *ManagedPolicyDetail) SetArn(v string) *ManagedPolicyDetail { 23223 s.Arn = &v 23224 return s 23225} 23226 23227// SetAttachmentCount sets the AttachmentCount field's value. 23228func (s *ManagedPolicyDetail) SetAttachmentCount(v int64) *ManagedPolicyDetail { 23229 s.AttachmentCount = &v 23230 return s 23231} 23232 23233// SetCreateDate sets the CreateDate field's value. 23234func (s *ManagedPolicyDetail) SetCreateDate(v time.Time) *ManagedPolicyDetail { 23235 s.CreateDate = &v 23236 return s 23237} 23238 23239// SetDefaultVersionId sets the DefaultVersionId field's value. 23240func (s *ManagedPolicyDetail) SetDefaultVersionId(v string) *ManagedPolicyDetail { 23241 s.DefaultVersionId = &v 23242 return s 23243} 23244 23245// SetDescription sets the Description field's value. 23246func (s *ManagedPolicyDetail) SetDescription(v string) *ManagedPolicyDetail { 23247 s.Description = &v 23248 return s 23249} 23250 23251// SetIsAttachable sets the IsAttachable field's value. 23252func (s *ManagedPolicyDetail) SetIsAttachable(v bool) *ManagedPolicyDetail { 23253 s.IsAttachable = &v 23254 return s 23255} 23256 23257// SetPath sets the Path field's value. 23258func (s *ManagedPolicyDetail) SetPath(v string) *ManagedPolicyDetail { 23259 s.Path = &v 23260 return s 23261} 23262 23263// SetPolicyId sets the PolicyId field's value. 23264func (s *ManagedPolicyDetail) SetPolicyId(v string) *ManagedPolicyDetail { 23265 s.PolicyId = &v 23266 return s 23267} 23268 23269// SetPolicyName sets the PolicyName field's value. 23270func (s *ManagedPolicyDetail) SetPolicyName(v string) *ManagedPolicyDetail { 23271 s.PolicyName = &v 23272 return s 23273} 23274 23275// SetPolicyVersionList sets the PolicyVersionList field's value. 23276func (s *ManagedPolicyDetail) SetPolicyVersionList(v []*PolicyVersion) *ManagedPolicyDetail { 23277 s.PolicyVersionList = v 23278 return s 23279} 23280 23281// SetUpdateDate sets the UpdateDate field's value. 23282func (s *ManagedPolicyDetail) SetUpdateDate(v time.Time) *ManagedPolicyDetail { 23283 s.UpdateDate = &v 23284 return s 23285} 23286 23287// Contains the Amazon Resource Name (ARN) for an IAM OpenID Connect provider. 23288// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/OpenIDConnectProviderListEntry 23289type OpenIDConnectProviderListEntry struct { 23290 _ struct{} `type:"structure"` 23291 23292 // The Amazon Resource Name (ARN). ARNs are unique identifiers for AWS resources. 23293 // 23294 // For more information about ARNs, go to Amazon Resource Names (ARNs) and AWS 23295 // Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) 23296 // in the AWS General Reference. 23297 Arn *string `min:"20" type:"string"` 23298} 23299 23300// String returns the string representation 23301func (s OpenIDConnectProviderListEntry) String() string { 23302 return awsutil.Prettify(s) 23303} 23304 23305// GoString returns the string representation 23306func (s OpenIDConnectProviderListEntry) GoString() string { 23307 return s.String() 23308} 23309 23310// SetArn sets the Arn field's value. 23311func (s *OpenIDConnectProviderListEntry) SetArn(v string) *OpenIDConnectProviderListEntry { 23312 s.Arn = &v 23313 return s 23314} 23315 23316// Contains information about AWS Organizations's affect on a policy simulation. 23317// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/OrganizationsDecisionDetail 23318type OrganizationsDecisionDetail struct { 23319 _ struct{} `type:"structure"` 23320 23321 // Specifies whether the simulated action is allowed by the AWS Organizations 23322 // service control policies that impact the simulated user's account. 23323 AllowedByOrganizations *bool `type:"boolean"` 23324} 23325 23326// String returns the string representation 23327func (s OrganizationsDecisionDetail) String() string { 23328 return awsutil.Prettify(s) 23329} 23330 23331// GoString returns the string representation 23332func (s OrganizationsDecisionDetail) GoString() string { 23333 return s.String() 23334} 23335 23336// SetAllowedByOrganizations sets the AllowedByOrganizations field's value. 23337func (s *OrganizationsDecisionDetail) SetAllowedByOrganizations(v bool) *OrganizationsDecisionDetail { 23338 s.AllowedByOrganizations = &v 23339 return s 23340} 23341 23342// Contains information about the account password policy. 23343// 23344// This data type is used as a response element in the GetAccountPasswordPolicy 23345// action. 23346// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/PasswordPolicy 23347type PasswordPolicy struct { 23348 _ struct{} `type:"structure"` 23349 23350 // Specifies whether IAM users are allowed to change their own password. 23351 AllowUsersToChangePassword *bool `type:"boolean"` 23352 23353 // Indicates whether passwords in the account expire. Returns true if MaxPasswordAge 23354 // is contains a value greater than 0. Returns false if MaxPasswordAge is 0 23355 // or not present. 23356 ExpirePasswords *bool `type:"boolean"` 23357 23358 // Specifies whether IAM users are prevented from setting a new password after 23359 // their password has expired. 23360 HardExpiry *bool `type:"boolean"` 23361 23362 // The number of days that an IAM user password is valid. 23363 MaxPasswordAge *int64 `min:"1" type:"integer"` 23364 23365 // Minimum length to require for IAM user passwords. 23366 MinimumPasswordLength *int64 `min:"6" type:"integer"` 23367 23368 // Specifies the number of previous passwords that IAM users are prevented from 23369 // reusing. 23370 PasswordReusePrevention *int64 `min:"1" type:"integer"` 23371 23372 // Specifies whether to require lowercase characters for IAM user passwords. 23373 RequireLowercaseCharacters *bool `type:"boolean"` 23374 23375 // Specifies whether to require numbers for IAM user passwords. 23376 RequireNumbers *bool `type:"boolean"` 23377 23378 // Specifies whether to require symbols for IAM user passwords. 23379 RequireSymbols *bool `type:"boolean"` 23380 23381 // Specifies whether to require uppercase characters for IAM user passwords. 23382 RequireUppercaseCharacters *bool `type:"boolean"` 23383} 23384 23385// String returns the string representation 23386func (s PasswordPolicy) String() string { 23387 return awsutil.Prettify(s) 23388} 23389 23390// GoString returns the string representation 23391func (s PasswordPolicy) GoString() string { 23392 return s.String() 23393} 23394 23395// SetAllowUsersToChangePassword sets the AllowUsersToChangePassword field's value. 23396func (s *PasswordPolicy) SetAllowUsersToChangePassword(v bool) *PasswordPolicy { 23397 s.AllowUsersToChangePassword = &v 23398 return s 23399} 23400 23401// SetExpirePasswords sets the ExpirePasswords field's value. 23402func (s *PasswordPolicy) SetExpirePasswords(v bool) *PasswordPolicy { 23403 s.ExpirePasswords = &v 23404 return s 23405} 23406 23407// SetHardExpiry sets the HardExpiry field's value. 23408func (s *PasswordPolicy) SetHardExpiry(v bool) *PasswordPolicy { 23409 s.HardExpiry = &v 23410 return s 23411} 23412 23413// SetMaxPasswordAge sets the MaxPasswordAge field's value. 23414func (s *PasswordPolicy) SetMaxPasswordAge(v int64) *PasswordPolicy { 23415 s.MaxPasswordAge = &v 23416 return s 23417} 23418 23419// SetMinimumPasswordLength sets the MinimumPasswordLength field's value. 23420func (s *PasswordPolicy) SetMinimumPasswordLength(v int64) *PasswordPolicy { 23421 s.MinimumPasswordLength = &v 23422 return s 23423} 23424 23425// SetPasswordReusePrevention sets the PasswordReusePrevention field's value. 23426func (s *PasswordPolicy) SetPasswordReusePrevention(v int64) *PasswordPolicy { 23427 s.PasswordReusePrevention = &v 23428 return s 23429} 23430 23431// SetRequireLowercaseCharacters sets the RequireLowercaseCharacters field's value. 23432func (s *PasswordPolicy) SetRequireLowercaseCharacters(v bool) *PasswordPolicy { 23433 s.RequireLowercaseCharacters = &v 23434 return s 23435} 23436 23437// SetRequireNumbers sets the RequireNumbers field's value. 23438func (s *PasswordPolicy) SetRequireNumbers(v bool) *PasswordPolicy { 23439 s.RequireNumbers = &v 23440 return s 23441} 23442 23443// SetRequireSymbols sets the RequireSymbols field's value. 23444func (s *PasswordPolicy) SetRequireSymbols(v bool) *PasswordPolicy { 23445 s.RequireSymbols = &v 23446 return s 23447} 23448 23449// SetRequireUppercaseCharacters sets the RequireUppercaseCharacters field's value. 23450func (s *PasswordPolicy) SetRequireUppercaseCharacters(v bool) *PasswordPolicy { 23451 s.RequireUppercaseCharacters = &v 23452 return s 23453} 23454 23455// Contains information about a managed policy. 23456// 23457// This data type is used as a response element in the CreatePolicy, GetPolicy, 23458// and ListPolicies actions. 23459// 23460// For more information about managed policies, refer to Managed Policies and 23461// Inline Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html) 23462// in the Using IAM guide. 23463// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/Policy 23464type Policy struct { 23465 _ struct{} `type:"structure"` 23466 23467 // The Amazon Resource Name (ARN). ARNs are unique identifiers for AWS resources. 23468 // 23469 // For more information about ARNs, go to Amazon Resource Names (ARNs) and AWS 23470 // Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) 23471 // in the AWS General Reference. 23472 Arn *string `min:"20" type:"string"` 23473 23474 // The number of entities (users, groups, and roles) that the policy is attached 23475 // to. 23476 AttachmentCount *int64 `type:"integer"` 23477 23478 // The date and time, in ISO 8601 date-time format (http://www.iso.org/iso/iso8601), 23479 // when the policy was created. 23480 CreateDate *time.Time `type:"timestamp" timestampFormat:"iso8601"` 23481 23482 // The identifier for the version of the policy that is set as the default version. 23483 DefaultVersionId *string `type:"string"` 23484 23485 // A friendly description of the policy. 23486 // 23487 // This element is included in the response to the GetPolicy operation. It is 23488 // not included in the response to the ListPolicies operation. 23489 Description *string `type:"string"` 23490 23491 // Specifies whether the policy can be attached to an IAM user, group, or role. 23492 IsAttachable *bool `type:"boolean"` 23493 23494 // The path to the policy. 23495 // 23496 // For more information about paths, see IAM Identifiers (http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html) 23497 // in the Using IAM guide. 23498 Path *string `type:"string"` 23499 23500 // The stable and unique string identifying the policy. 23501 // 23502 // For more information about IDs, see IAM Identifiers (http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html) 23503 // in the Using IAM guide. 23504 PolicyId *string `min:"16" type:"string"` 23505 23506 // The friendly name (not ARN) identifying the policy. 23507 PolicyName *string `min:"1" type:"string"` 23508 23509 // The date and time, in ISO 8601 date-time format (http://www.iso.org/iso/iso8601), 23510 // when the policy was last updated. 23511 // 23512 // When a policy has only one version, this field contains the date and time 23513 // when the policy was created. When a policy has more than one version, this 23514 // field contains the date and time when the most recent policy version was 23515 // created. 23516 UpdateDate *time.Time `type:"timestamp" timestampFormat:"iso8601"` 23517} 23518 23519// String returns the string representation 23520func (s Policy) String() string { 23521 return awsutil.Prettify(s) 23522} 23523 23524// GoString returns the string representation 23525func (s Policy) GoString() string { 23526 return s.String() 23527} 23528 23529// SetArn sets the Arn field's value. 23530func (s *Policy) SetArn(v string) *Policy { 23531 s.Arn = &v 23532 return s 23533} 23534 23535// SetAttachmentCount sets the AttachmentCount field's value. 23536func (s *Policy) SetAttachmentCount(v int64) *Policy { 23537 s.AttachmentCount = &v 23538 return s 23539} 23540 23541// SetCreateDate sets the CreateDate field's value. 23542func (s *Policy) SetCreateDate(v time.Time) *Policy { 23543 s.CreateDate = &v 23544 return s 23545} 23546 23547// SetDefaultVersionId sets the DefaultVersionId field's value. 23548func (s *Policy) SetDefaultVersionId(v string) *Policy { 23549 s.DefaultVersionId = &v 23550 return s 23551} 23552 23553// SetDescription sets the Description field's value. 23554func (s *Policy) SetDescription(v string) *Policy { 23555 s.Description = &v 23556 return s 23557} 23558 23559// SetIsAttachable sets the IsAttachable field's value. 23560func (s *Policy) SetIsAttachable(v bool) *Policy { 23561 s.IsAttachable = &v 23562 return s 23563} 23564 23565// SetPath sets the Path field's value. 23566func (s *Policy) SetPath(v string) *Policy { 23567 s.Path = &v 23568 return s 23569} 23570 23571// SetPolicyId sets the PolicyId field's value. 23572func (s *Policy) SetPolicyId(v string) *Policy { 23573 s.PolicyId = &v 23574 return s 23575} 23576 23577// SetPolicyName sets the PolicyName field's value. 23578func (s *Policy) SetPolicyName(v string) *Policy { 23579 s.PolicyName = &v 23580 return s 23581} 23582 23583// SetUpdateDate sets the UpdateDate field's value. 23584func (s *Policy) SetUpdateDate(v time.Time) *Policy { 23585 s.UpdateDate = &v 23586 return s 23587} 23588 23589// Contains information about an IAM policy, including the policy document. 23590// 23591// This data type is used as a response element in the GetAccountAuthorizationDetails 23592// action. 23593// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/PolicyDetail 23594type PolicyDetail struct { 23595 _ struct{} `type:"structure"` 23596 23597 // The policy document. 23598 PolicyDocument *string `min:"1" type:"string"` 23599 23600 // The name of the policy. 23601 PolicyName *string `min:"1" type:"string"` 23602} 23603 23604// String returns the string representation 23605func (s PolicyDetail) String() string { 23606 return awsutil.Prettify(s) 23607} 23608 23609// GoString returns the string representation 23610func (s PolicyDetail) GoString() string { 23611 return s.String() 23612} 23613 23614// SetPolicyDocument sets the PolicyDocument field's value. 23615func (s *PolicyDetail) SetPolicyDocument(v string) *PolicyDetail { 23616 s.PolicyDocument = &v 23617 return s 23618} 23619 23620// SetPolicyName sets the PolicyName field's value. 23621func (s *PolicyDetail) SetPolicyName(v string) *PolicyDetail { 23622 s.PolicyName = &v 23623 return s 23624} 23625 23626// Contains information about a group that a managed policy is attached to. 23627// 23628// This data type is used as a response element in the ListEntitiesForPolicy 23629// action. 23630// 23631// For more information about managed policies, refer to Managed Policies and 23632// Inline Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html) 23633// in the Using IAM guide. 23634// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/PolicyGroup 23635type PolicyGroup struct { 23636 _ struct{} `type:"structure"` 23637 23638 // The stable and unique string identifying the group. For more information 23639 // about IDs, see IAM Identifiers (http://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html) 23640 // in the IAM User Guide. 23641 GroupId *string `min:"16" type:"string"` 23642 23643 // The name (friendly name, not ARN) identifying the group. 23644 GroupName *string `min:"1" type:"string"` 23645} 23646 23647// String returns the string representation 23648func (s PolicyGroup) String() string { 23649 return awsutil.Prettify(s) 23650} 23651 23652// GoString returns the string representation 23653func (s PolicyGroup) GoString() string { 23654 return s.String() 23655} 23656 23657// SetGroupId sets the GroupId field's value. 23658func (s *PolicyGroup) SetGroupId(v string) *PolicyGroup { 23659 s.GroupId = &v 23660 return s 23661} 23662 23663// SetGroupName sets the GroupName field's value. 23664func (s *PolicyGroup) SetGroupName(v string) *PolicyGroup { 23665 s.GroupName = &v 23666 return s 23667} 23668 23669// Contains information about a role that a managed policy is attached to. 23670// 23671// This data type is used as a response element in the ListEntitiesForPolicy 23672// action. 23673// 23674// For more information about managed policies, refer to Managed Policies and 23675// Inline Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html) 23676// in the Using IAM guide. 23677// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/PolicyRole 23678type PolicyRole struct { 23679 _ struct{} `type:"structure"` 23680 23681 // The stable and unique string identifying the role. For more information about 23682 // IDs, see IAM Identifiers (http://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html) 23683 // in the IAM User Guide. 23684 RoleId *string `min:"16" type:"string"` 23685 23686 // The name (friendly name, not ARN) identifying the role. 23687 RoleName *string `min:"1" type:"string"` 23688} 23689 23690// String returns the string representation 23691func (s PolicyRole) String() string { 23692 return awsutil.Prettify(s) 23693} 23694 23695// GoString returns the string representation 23696func (s PolicyRole) GoString() string { 23697 return s.String() 23698} 23699 23700// SetRoleId sets the RoleId field's value. 23701func (s *PolicyRole) SetRoleId(v string) *PolicyRole { 23702 s.RoleId = &v 23703 return s 23704} 23705 23706// SetRoleName sets the RoleName field's value. 23707func (s *PolicyRole) SetRoleName(v string) *PolicyRole { 23708 s.RoleName = &v 23709 return s 23710} 23711 23712// Contains information about a user that a managed policy is attached to. 23713// 23714// This data type is used as a response element in the ListEntitiesForPolicy 23715// action. 23716// 23717// For more information about managed policies, refer to Managed Policies and 23718// Inline Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html) 23719// in the Using IAM guide. 23720// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/PolicyUser 23721type PolicyUser struct { 23722 _ struct{} `type:"structure"` 23723 23724 // The stable and unique string identifying the user. For more information about 23725 // IDs, see IAM Identifiers (http://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html) 23726 // in the IAM User Guide. 23727 UserId *string `min:"16" type:"string"` 23728 23729 // The name (friendly name, not ARN) identifying the user. 23730 UserName *string `min:"1" type:"string"` 23731} 23732 23733// String returns the string representation 23734func (s PolicyUser) String() string { 23735 return awsutil.Prettify(s) 23736} 23737 23738// GoString returns the string representation 23739func (s PolicyUser) GoString() string { 23740 return s.String() 23741} 23742 23743// SetUserId sets the UserId field's value. 23744func (s *PolicyUser) SetUserId(v string) *PolicyUser { 23745 s.UserId = &v 23746 return s 23747} 23748 23749// SetUserName sets the UserName field's value. 23750func (s *PolicyUser) SetUserName(v string) *PolicyUser { 23751 s.UserName = &v 23752 return s 23753} 23754 23755// Contains information about a version of a managed policy. 23756// 23757// This data type is used as a response element in the CreatePolicyVersion, 23758// GetPolicyVersion, ListPolicyVersions, and GetAccountAuthorizationDetails 23759// actions. 23760// 23761// For more information about managed policies, refer to Managed Policies and 23762// Inline Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html) 23763// in the Using IAM guide. 23764// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/PolicyVersion 23765type PolicyVersion struct { 23766 _ struct{} `type:"structure"` 23767 23768 // The date and time, in ISO 8601 date-time format (http://www.iso.org/iso/iso8601), 23769 // when the policy version was created. 23770 CreateDate *time.Time `type:"timestamp" timestampFormat:"iso8601"` 23771 23772 // The policy document. 23773 // 23774 // The policy document is returned in the response to the GetPolicyVersion and 23775 // GetAccountAuthorizationDetails operations. It is not returned in the response 23776 // to the CreatePolicyVersion or ListPolicyVersions operations. 23777 Document *string `min:"1" type:"string"` 23778 23779 // Specifies whether the policy version is set as the policy's default version. 23780 IsDefaultVersion *bool `type:"boolean"` 23781 23782 // The identifier for the policy version. 23783 // 23784 // Policy version identifiers always begin with v (always lowercase). When a 23785 // policy is created, the first policy version is v1. 23786 VersionId *string `type:"string"` 23787} 23788 23789// String returns the string representation 23790func (s PolicyVersion) String() string { 23791 return awsutil.Prettify(s) 23792} 23793 23794// GoString returns the string representation 23795func (s PolicyVersion) GoString() string { 23796 return s.String() 23797} 23798 23799// SetCreateDate sets the CreateDate field's value. 23800func (s *PolicyVersion) SetCreateDate(v time.Time) *PolicyVersion { 23801 s.CreateDate = &v 23802 return s 23803} 23804 23805// SetDocument sets the Document field's value. 23806func (s *PolicyVersion) SetDocument(v string) *PolicyVersion { 23807 s.Document = &v 23808 return s 23809} 23810 23811// SetIsDefaultVersion sets the IsDefaultVersion field's value. 23812func (s *PolicyVersion) SetIsDefaultVersion(v bool) *PolicyVersion { 23813 s.IsDefaultVersion = &v 23814 return s 23815} 23816 23817// SetVersionId sets the VersionId field's value. 23818func (s *PolicyVersion) SetVersionId(v string) *PolicyVersion { 23819 s.VersionId = &v 23820 return s 23821} 23822 23823// Contains the row and column of a location of a Statement element in a policy 23824// document. 23825// 23826// This data type is used as a member of the Statement type. 23827// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/Position 23828type Position struct { 23829 _ struct{} `type:"structure"` 23830 23831 // The column in the line containing the specified position in the document. 23832 Column *int64 `type:"integer"` 23833 23834 // The line containing the specified position in the document. 23835 Line *int64 `type:"integer"` 23836} 23837 23838// String returns the string representation 23839func (s Position) String() string { 23840 return awsutil.Prettify(s) 23841} 23842 23843// GoString returns the string representation 23844func (s Position) GoString() string { 23845 return s.String() 23846} 23847 23848// SetColumn sets the Column field's value. 23849func (s *Position) SetColumn(v int64) *Position { 23850 s.Column = &v 23851 return s 23852} 23853 23854// SetLine sets the Line field's value. 23855func (s *Position) SetLine(v int64) *Position { 23856 s.Line = &v 23857 return s 23858} 23859 23860// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/PutGroupPolicyRequest 23861type PutGroupPolicyInput struct { 23862 _ struct{} `type:"structure"` 23863 23864 // The name of the group to associate the policy with. 23865 // 23866 // This parameter allows (per its regex pattern (http://wikipedia.org/wiki/regex)) 23867 // a string of characters consisting of upper and lowercase alphanumeric characters 23868 // with no spaces. You can also include any of the following characters: =,.@- 23869 // 23870 // GroupName is a required field 23871 GroupName *string `min:"1" type:"string" required:"true"` 23872 23873 // The policy document. 23874 // 23875 // The regex pattern (http://wikipedia.org/wiki/regex) used to validate this 23876 // parameter is a string of characters consisting of any printable ASCII character 23877 // ranging from the space character (\u0020) through end of the ASCII character 23878 // range as well as the printable characters in the Basic Latin and Latin-1 23879 // Supplement character set (through \u00FF). It also includes the special characters 23880 // tab (\u0009), line feed (\u000A), and carriage return (\u000D). 23881 // 23882 // PolicyDocument is a required field 23883 PolicyDocument *string `min:"1" type:"string" required:"true"` 23884 23885 // The name of the policy document. 23886 // 23887 // This parameter allows (per its regex pattern (http://wikipedia.org/wiki/regex)) 23888 // a string of characters consisting of upper and lowercase alphanumeric characters 23889 // with no spaces. You can also include any of the following characters: =,.@-+ 23890 // 23891 // PolicyName is a required field 23892 PolicyName *string `min:"1" type:"string" required:"true"` 23893} 23894 23895// String returns the string representation 23896func (s PutGroupPolicyInput) String() string { 23897 return awsutil.Prettify(s) 23898} 23899 23900// GoString returns the string representation 23901func (s PutGroupPolicyInput) GoString() string { 23902 return s.String() 23903} 23904 23905// Validate inspects the fields of the type to determine if they are valid. 23906func (s *PutGroupPolicyInput) Validate() error { 23907 invalidParams := request.ErrInvalidParams{Context: "PutGroupPolicyInput"} 23908 if s.GroupName == nil { 23909 invalidParams.Add(request.NewErrParamRequired("GroupName")) 23910 } 23911 if s.GroupName != nil && len(*s.GroupName) < 1 { 23912 invalidParams.Add(request.NewErrParamMinLen("GroupName", 1)) 23913 } 23914 if s.PolicyDocument == nil { 23915 invalidParams.Add(request.NewErrParamRequired("PolicyDocument")) 23916 } 23917 if s.PolicyDocument != nil && len(*s.PolicyDocument) < 1 { 23918 invalidParams.Add(request.NewErrParamMinLen("PolicyDocument", 1)) 23919 } 23920 if s.PolicyName == nil { 23921 invalidParams.Add(request.NewErrParamRequired("PolicyName")) 23922 } 23923 if s.PolicyName != nil && len(*s.PolicyName) < 1 { 23924 invalidParams.Add(request.NewErrParamMinLen("PolicyName", 1)) 23925 } 23926 23927 if invalidParams.Len() > 0 { 23928 return invalidParams 23929 } 23930 return nil 23931} 23932 23933// SetGroupName sets the GroupName field's value. 23934func (s *PutGroupPolicyInput) SetGroupName(v string) *PutGroupPolicyInput { 23935 s.GroupName = &v 23936 return s 23937} 23938 23939// SetPolicyDocument sets the PolicyDocument field's value. 23940func (s *PutGroupPolicyInput) SetPolicyDocument(v string) *PutGroupPolicyInput { 23941 s.PolicyDocument = &v 23942 return s 23943} 23944 23945// SetPolicyName sets the PolicyName field's value. 23946func (s *PutGroupPolicyInput) SetPolicyName(v string) *PutGroupPolicyInput { 23947 s.PolicyName = &v 23948 return s 23949} 23950 23951// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/PutGroupPolicyOutput 23952type PutGroupPolicyOutput struct { 23953 _ struct{} `type:"structure"` 23954} 23955 23956// String returns the string representation 23957func (s PutGroupPolicyOutput) String() string { 23958 return awsutil.Prettify(s) 23959} 23960 23961// GoString returns the string representation 23962func (s PutGroupPolicyOutput) GoString() string { 23963 return s.String() 23964} 23965 23966// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/PutRolePolicyRequest 23967type PutRolePolicyInput struct { 23968 _ struct{} `type:"structure"` 23969 23970 // The policy document. 23971 // 23972 // The regex pattern (http://wikipedia.org/wiki/regex) used to validate this 23973 // parameter is a string of characters consisting of any printable ASCII character 23974 // ranging from the space character (\u0020) through end of the ASCII character 23975 // range as well as the printable characters in the Basic Latin and Latin-1 23976 // Supplement character set (through \u00FF). It also includes the special characters 23977 // tab (\u0009), line feed (\u000A), and carriage return (\u000D). 23978 // 23979 // PolicyDocument is a required field 23980 PolicyDocument *string `min:"1" type:"string" required:"true"` 23981 23982 // The name of the policy document. 23983 // 23984 // This parameter allows (per its regex pattern (http://wikipedia.org/wiki/regex)) 23985 // a string of characters consisting of upper and lowercase alphanumeric characters 23986 // with no spaces. You can also include any of the following characters: =,.@-+ 23987 // 23988 // PolicyName is a required field 23989 PolicyName *string `min:"1" type:"string" required:"true"` 23990 23991 // The name of the role to associate the policy with. 23992 // 23993 // This parameter allows (per its regex pattern (http://wikipedia.org/wiki/regex)) 23994 // a string of characters consisting of upper and lowercase alphanumeric characters 23995 // with no spaces. You can also include any of the following characters: _+=,.@- 23996 // 23997 // RoleName is a required field 23998 RoleName *string `min:"1" type:"string" required:"true"` 23999} 24000 24001// String returns the string representation 24002func (s PutRolePolicyInput) String() string { 24003 return awsutil.Prettify(s) 24004} 24005 24006// GoString returns the string representation 24007func (s PutRolePolicyInput) GoString() string { 24008 return s.String() 24009} 24010 24011// Validate inspects the fields of the type to determine if they are valid. 24012func (s *PutRolePolicyInput) Validate() error { 24013 invalidParams := request.ErrInvalidParams{Context: "PutRolePolicyInput"} 24014 if s.PolicyDocument == nil { 24015 invalidParams.Add(request.NewErrParamRequired("PolicyDocument")) 24016 } 24017 if s.PolicyDocument != nil && len(*s.PolicyDocument) < 1 { 24018 invalidParams.Add(request.NewErrParamMinLen("PolicyDocument", 1)) 24019 } 24020 if s.PolicyName == nil { 24021 invalidParams.Add(request.NewErrParamRequired("PolicyName")) 24022 } 24023 if s.PolicyName != nil && len(*s.PolicyName) < 1 { 24024 invalidParams.Add(request.NewErrParamMinLen("PolicyName", 1)) 24025 } 24026 if s.RoleName == nil { 24027 invalidParams.Add(request.NewErrParamRequired("RoleName")) 24028 } 24029 if s.RoleName != nil && len(*s.RoleName) < 1 { 24030 invalidParams.Add(request.NewErrParamMinLen("RoleName", 1)) 24031 } 24032 24033 if invalidParams.Len() > 0 { 24034 return invalidParams 24035 } 24036 return nil 24037} 24038 24039// SetPolicyDocument sets the PolicyDocument field's value. 24040func (s *PutRolePolicyInput) SetPolicyDocument(v string) *PutRolePolicyInput { 24041 s.PolicyDocument = &v 24042 return s 24043} 24044 24045// SetPolicyName sets the PolicyName field's value. 24046func (s *PutRolePolicyInput) SetPolicyName(v string) *PutRolePolicyInput { 24047 s.PolicyName = &v 24048 return s 24049} 24050 24051// SetRoleName sets the RoleName field's value. 24052func (s *PutRolePolicyInput) SetRoleName(v string) *PutRolePolicyInput { 24053 s.RoleName = &v 24054 return s 24055} 24056 24057// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/PutRolePolicyOutput 24058type PutRolePolicyOutput struct { 24059 _ struct{} `type:"structure"` 24060} 24061 24062// String returns the string representation 24063func (s PutRolePolicyOutput) String() string { 24064 return awsutil.Prettify(s) 24065} 24066 24067// GoString returns the string representation 24068func (s PutRolePolicyOutput) GoString() string { 24069 return s.String() 24070} 24071 24072// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/PutUserPolicyRequest 24073type PutUserPolicyInput struct { 24074 _ struct{} `type:"structure"` 24075 24076 // The policy document. 24077 // 24078 // The regex pattern (http://wikipedia.org/wiki/regex) used to validate this 24079 // parameter is a string of characters consisting of any printable ASCII character 24080 // ranging from the space character (\u0020) through end of the ASCII character 24081 // range as well as the printable characters in the Basic Latin and Latin-1 24082 // Supplement character set (through \u00FF). It also includes the special characters 24083 // tab (\u0009), line feed (\u000A), and carriage return (\u000D). 24084 // 24085 // PolicyDocument is a required field 24086 PolicyDocument *string `min:"1" type:"string" required:"true"` 24087 24088 // The name of the policy document. 24089 // 24090 // This parameter allows (per its regex pattern (http://wikipedia.org/wiki/regex)) 24091 // a string of characters consisting of upper and lowercase alphanumeric characters 24092 // with no spaces. You can also include any of the following characters: =,.@-+ 24093 // 24094 // PolicyName is a required field 24095 PolicyName *string `min:"1" type:"string" required:"true"` 24096 24097 // The name of the user to associate the policy with. 24098 // 24099 // This parameter allows (per its regex pattern (http://wikipedia.org/wiki/regex)) 24100 // a string of characters consisting of upper and lowercase alphanumeric characters 24101 // with no spaces. You can also include any of the following characters: =,.@- 24102 // 24103 // UserName is a required field 24104 UserName *string `min:"1" type:"string" required:"true"` 24105} 24106 24107// String returns the string representation 24108func (s PutUserPolicyInput) String() string { 24109 return awsutil.Prettify(s) 24110} 24111 24112// GoString returns the string representation 24113func (s PutUserPolicyInput) GoString() string { 24114 return s.String() 24115} 24116 24117// Validate inspects the fields of the type to determine if they are valid. 24118func (s *PutUserPolicyInput) Validate() error { 24119 invalidParams := request.ErrInvalidParams{Context: "PutUserPolicyInput"} 24120 if s.PolicyDocument == nil { 24121 invalidParams.Add(request.NewErrParamRequired("PolicyDocument")) 24122 } 24123 if s.PolicyDocument != nil && len(*s.PolicyDocument) < 1 { 24124 invalidParams.Add(request.NewErrParamMinLen("PolicyDocument", 1)) 24125 } 24126 if s.PolicyName == nil { 24127 invalidParams.Add(request.NewErrParamRequired("PolicyName")) 24128 } 24129 if s.PolicyName != nil && len(*s.PolicyName) < 1 { 24130 invalidParams.Add(request.NewErrParamMinLen("PolicyName", 1)) 24131 } 24132 if s.UserName == nil { 24133 invalidParams.Add(request.NewErrParamRequired("UserName")) 24134 } 24135 if s.UserName != nil && len(*s.UserName) < 1 { 24136 invalidParams.Add(request.NewErrParamMinLen("UserName", 1)) 24137 } 24138 24139 if invalidParams.Len() > 0 { 24140 return invalidParams 24141 } 24142 return nil 24143} 24144 24145// SetPolicyDocument sets the PolicyDocument field's value. 24146func (s *PutUserPolicyInput) SetPolicyDocument(v string) *PutUserPolicyInput { 24147 s.PolicyDocument = &v 24148 return s 24149} 24150 24151// SetPolicyName sets the PolicyName field's value. 24152func (s *PutUserPolicyInput) SetPolicyName(v string) *PutUserPolicyInput { 24153 s.PolicyName = &v 24154 return s 24155} 24156 24157// SetUserName sets the UserName field's value. 24158func (s *PutUserPolicyInput) SetUserName(v string) *PutUserPolicyInput { 24159 s.UserName = &v 24160 return s 24161} 24162 24163// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/PutUserPolicyOutput 24164type PutUserPolicyOutput struct { 24165 _ struct{} `type:"structure"` 24166} 24167 24168// String returns the string representation 24169func (s PutUserPolicyOutput) String() string { 24170 return awsutil.Prettify(s) 24171} 24172 24173// GoString returns the string representation 24174func (s PutUserPolicyOutput) GoString() string { 24175 return s.String() 24176} 24177 24178// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/RemoveClientIDFromOpenIDConnectProviderRequest 24179type RemoveClientIDFromOpenIDConnectProviderInput struct { 24180 _ struct{} `type:"structure"` 24181 24182 // The client ID (also known as audience) to remove from the IAM OIDC provider 24183 // resource. For more information about client IDs, see CreateOpenIDConnectProvider. 24184 // 24185 // ClientID is a required field 24186 ClientID *string `min:"1" type:"string" required:"true"` 24187 24188 // The Amazon Resource Name (ARN) of the IAM OIDC provider resource to remove 24189 // the client ID from. You can get a list of OIDC provider ARNs by using the 24190 // ListOpenIDConnectProviders action. 24191 // 24192 // For more information about ARNs, see Amazon Resource Names (ARNs) and AWS 24193 // Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) 24194 // in the AWS General Reference. 24195 // 24196 // OpenIDConnectProviderArn is a required field 24197 OpenIDConnectProviderArn *string `min:"20" type:"string" required:"true"` 24198} 24199 24200// String returns the string representation 24201func (s RemoveClientIDFromOpenIDConnectProviderInput) String() string { 24202 return awsutil.Prettify(s) 24203} 24204 24205// GoString returns the string representation 24206func (s RemoveClientIDFromOpenIDConnectProviderInput) GoString() string { 24207 return s.String() 24208} 24209 24210// Validate inspects the fields of the type to determine if they are valid. 24211func (s *RemoveClientIDFromOpenIDConnectProviderInput) Validate() error { 24212 invalidParams := request.ErrInvalidParams{Context: "RemoveClientIDFromOpenIDConnectProviderInput"} 24213 if s.ClientID == nil { 24214 invalidParams.Add(request.NewErrParamRequired("ClientID")) 24215 } 24216 if s.ClientID != nil && len(*s.ClientID) < 1 { 24217 invalidParams.Add(request.NewErrParamMinLen("ClientID", 1)) 24218 } 24219 if s.OpenIDConnectProviderArn == nil { 24220 invalidParams.Add(request.NewErrParamRequired("OpenIDConnectProviderArn")) 24221 } 24222 if s.OpenIDConnectProviderArn != nil && len(*s.OpenIDConnectProviderArn) < 20 { 24223 invalidParams.Add(request.NewErrParamMinLen("OpenIDConnectProviderArn", 20)) 24224 } 24225 24226 if invalidParams.Len() > 0 { 24227 return invalidParams 24228 } 24229 return nil 24230} 24231 24232// SetClientID sets the ClientID field's value. 24233func (s *RemoveClientIDFromOpenIDConnectProviderInput) SetClientID(v string) *RemoveClientIDFromOpenIDConnectProviderInput { 24234 s.ClientID = &v 24235 return s 24236} 24237 24238// SetOpenIDConnectProviderArn sets the OpenIDConnectProviderArn field's value. 24239func (s *RemoveClientIDFromOpenIDConnectProviderInput) SetOpenIDConnectProviderArn(v string) *RemoveClientIDFromOpenIDConnectProviderInput { 24240 s.OpenIDConnectProviderArn = &v 24241 return s 24242} 24243 24244// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/RemoveClientIDFromOpenIDConnectProviderOutput 24245type RemoveClientIDFromOpenIDConnectProviderOutput struct { 24246 _ struct{} `type:"structure"` 24247} 24248 24249// String returns the string representation 24250func (s RemoveClientIDFromOpenIDConnectProviderOutput) String() string { 24251 return awsutil.Prettify(s) 24252} 24253 24254// GoString returns the string representation 24255func (s RemoveClientIDFromOpenIDConnectProviderOutput) GoString() string { 24256 return s.String() 24257} 24258 24259// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/RemoveRoleFromInstanceProfileRequest 24260type RemoveRoleFromInstanceProfileInput struct { 24261 _ struct{} `type:"structure"` 24262 24263 // The name of the instance profile to update. 24264 // 24265 // This parameter allows (per its regex pattern (http://wikipedia.org/wiki/regex)) 24266 // a string of characters consisting of upper and lowercase alphanumeric characters 24267 // with no spaces. You can also include any of the following characters: =,.@- 24268 // 24269 // InstanceProfileName is a required field 24270 InstanceProfileName *string `min:"1" type:"string" required:"true"` 24271 24272 // The name of the role to remove. 24273 // 24274 // This parameter allows (per its regex pattern (http://wikipedia.org/wiki/regex)) 24275 // a string of characters consisting of upper and lowercase alphanumeric characters 24276 // with no spaces. You can also include any of the following characters: _+=,.@- 24277 // 24278 // RoleName is a required field 24279 RoleName *string `min:"1" type:"string" required:"true"` 24280} 24281 24282// String returns the string representation 24283func (s RemoveRoleFromInstanceProfileInput) String() string { 24284 return awsutil.Prettify(s) 24285} 24286 24287// GoString returns the string representation 24288func (s RemoveRoleFromInstanceProfileInput) GoString() string { 24289 return s.String() 24290} 24291 24292// Validate inspects the fields of the type to determine if they are valid. 24293func (s *RemoveRoleFromInstanceProfileInput) Validate() error { 24294 invalidParams := request.ErrInvalidParams{Context: "RemoveRoleFromInstanceProfileInput"} 24295 if s.InstanceProfileName == nil { 24296 invalidParams.Add(request.NewErrParamRequired("InstanceProfileName")) 24297 } 24298 if s.InstanceProfileName != nil && len(*s.InstanceProfileName) < 1 { 24299 invalidParams.Add(request.NewErrParamMinLen("InstanceProfileName", 1)) 24300 } 24301 if s.RoleName == nil { 24302 invalidParams.Add(request.NewErrParamRequired("RoleName")) 24303 } 24304 if s.RoleName != nil && len(*s.RoleName) < 1 { 24305 invalidParams.Add(request.NewErrParamMinLen("RoleName", 1)) 24306 } 24307 24308 if invalidParams.Len() > 0 { 24309 return invalidParams 24310 } 24311 return nil 24312} 24313 24314// SetInstanceProfileName sets the InstanceProfileName field's value. 24315func (s *RemoveRoleFromInstanceProfileInput) SetInstanceProfileName(v string) *RemoveRoleFromInstanceProfileInput { 24316 s.InstanceProfileName = &v 24317 return s 24318} 24319 24320// SetRoleName sets the RoleName field's value. 24321func (s *RemoveRoleFromInstanceProfileInput) SetRoleName(v string) *RemoveRoleFromInstanceProfileInput { 24322 s.RoleName = &v 24323 return s 24324} 24325 24326// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/RemoveRoleFromInstanceProfileOutput 24327type RemoveRoleFromInstanceProfileOutput struct { 24328 _ struct{} `type:"structure"` 24329} 24330 24331// String returns the string representation 24332func (s RemoveRoleFromInstanceProfileOutput) String() string { 24333 return awsutil.Prettify(s) 24334} 24335 24336// GoString returns the string representation 24337func (s RemoveRoleFromInstanceProfileOutput) GoString() string { 24338 return s.String() 24339} 24340 24341// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/RemoveUserFromGroupRequest 24342type RemoveUserFromGroupInput struct { 24343 _ struct{} `type:"structure"` 24344 24345 // The name of the group to update. 24346 // 24347 // This parameter allows (per its regex pattern (http://wikipedia.org/wiki/regex)) 24348 // a string of characters consisting of upper and lowercase alphanumeric characters 24349 // with no spaces. You can also include any of the following characters: =,.@- 24350 // 24351 // GroupName is a required field 24352 GroupName *string `min:"1" type:"string" required:"true"` 24353 24354 // The name of the user to remove. 24355 // 24356 // This parameter allows (per its regex pattern (http://wikipedia.org/wiki/regex)) 24357 // a string of characters consisting of upper and lowercase alphanumeric characters 24358 // with no spaces. You can also include any of the following characters: =,.@- 24359 // 24360 // UserName is a required field 24361 UserName *string `min:"1" type:"string" required:"true"` 24362} 24363 24364// String returns the string representation 24365func (s RemoveUserFromGroupInput) String() string { 24366 return awsutil.Prettify(s) 24367} 24368 24369// GoString returns the string representation 24370func (s RemoveUserFromGroupInput) GoString() string { 24371 return s.String() 24372} 24373 24374// Validate inspects the fields of the type to determine if they are valid. 24375func (s *RemoveUserFromGroupInput) Validate() error { 24376 invalidParams := request.ErrInvalidParams{Context: "RemoveUserFromGroupInput"} 24377 if s.GroupName == nil { 24378 invalidParams.Add(request.NewErrParamRequired("GroupName")) 24379 } 24380 if s.GroupName != nil && len(*s.GroupName) < 1 { 24381 invalidParams.Add(request.NewErrParamMinLen("GroupName", 1)) 24382 } 24383 if s.UserName == nil { 24384 invalidParams.Add(request.NewErrParamRequired("UserName")) 24385 } 24386 if s.UserName != nil && len(*s.UserName) < 1 { 24387 invalidParams.Add(request.NewErrParamMinLen("UserName", 1)) 24388 } 24389 24390 if invalidParams.Len() > 0 { 24391 return invalidParams 24392 } 24393 return nil 24394} 24395 24396// SetGroupName sets the GroupName field's value. 24397func (s *RemoveUserFromGroupInput) SetGroupName(v string) *RemoveUserFromGroupInput { 24398 s.GroupName = &v 24399 return s 24400} 24401 24402// SetUserName sets the UserName field's value. 24403func (s *RemoveUserFromGroupInput) SetUserName(v string) *RemoveUserFromGroupInput { 24404 s.UserName = &v 24405 return s 24406} 24407 24408// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/RemoveUserFromGroupOutput 24409type RemoveUserFromGroupOutput struct { 24410 _ struct{} `type:"structure"` 24411} 24412 24413// String returns the string representation 24414func (s RemoveUserFromGroupOutput) String() string { 24415 return awsutil.Prettify(s) 24416} 24417 24418// GoString returns the string representation 24419func (s RemoveUserFromGroupOutput) GoString() string { 24420 return s.String() 24421} 24422 24423// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ResetServiceSpecificCredentialRequest 24424type ResetServiceSpecificCredentialInput struct { 24425 _ struct{} `type:"structure"` 24426 24427 // The unique identifier of the service-specific credential. 24428 // 24429 // This parameter allows (per its regex pattern (http://wikipedia.org/wiki/regex)) 24430 // a string of characters that can consist of any upper or lowercased letter 24431 // or digit. 24432 // 24433 // ServiceSpecificCredentialId is a required field 24434 ServiceSpecificCredentialId *string `min:"20" type:"string" required:"true"` 24435 24436 // The name of the IAM user associated with the service-specific credential. 24437 // If this value is not specified, then the operation assumes the user whose 24438 // credentials are used to call the operation. 24439 // 24440 // This parameter allows (per its regex pattern (http://wikipedia.org/wiki/regex)) 24441 // a string of characters consisting of upper and lowercase alphanumeric characters 24442 // with no spaces. You can also include any of the following characters: =,.@- 24443 UserName *string `min:"1" type:"string"` 24444} 24445 24446// String returns the string representation 24447func (s ResetServiceSpecificCredentialInput) String() string { 24448 return awsutil.Prettify(s) 24449} 24450 24451// GoString returns the string representation 24452func (s ResetServiceSpecificCredentialInput) GoString() string { 24453 return s.String() 24454} 24455 24456// Validate inspects the fields of the type to determine if they are valid. 24457func (s *ResetServiceSpecificCredentialInput) Validate() error { 24458 invalidParams := request.ErrInvalidParams{Context: "ResetServiceSpecificCredentialInput"} 24459 if s.ServiceSpecificCredentialId == nil { 24460 invalidParams.Add(request.NewErrParamRequired("ServiceSpecificCredentialId")) 24461 } 24462 if s.ServiceSpecificCredentialId != nil && len(*s.ServiceSpecificCredentialId) < 20 { 24463 invalidParams.Add(request.NewErrParamMinLen("ServiceSpecificCredentialId", 20)) 24464 } 24465 if s.UserName != nil && len(*s.UserName) < 1 { 24466 invalidParams.Add(request.NewErrParamMinLen("UserName", 1)) 24467 } 24468 24469 if invalidParams.Len() > 0 { 24470 return invalidParams 24471 } 24472 return nil 24473} 24474 24475// SetServiceSpecificCredentialId sets the ServiceSpecificCredentialId field's value. 24476func (s *ResetServiceSpecificCredentialInput) SetServiceSpecificCredentialId(v string) *ResetServiceSpecificCredentialInput { 24477 s.ServiceSpecificCredentialId = &v 24478 return s 24479} 24480 24481// SetUserName sets the UserName field's value. 24482func (s *ResetServiceSpecificCredentialInput) SetUserName(v string) *ResetServiceSpecificCredentialInput { 24483 s.UserName = &v 24484 return s 24485} 24486 24487// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ResetServiceSpecificCredentialResponse 24488type ResetServiceSpecificCredentialOutput struct { 24489 _ struct{} `type:"structure"` 24490 24491 // A structure with details about the updated service-specific credential, including 24492 // the new password. 24493 // 24494 // This is the only time that you can access the password. You cannot recover 24495 // the password later, but you can reset it again. 24496 ServiceSpecificCredential *ServiceSpecificCredential `type:"structure"` 24497} 24498 24499// String returns the string representation 24500func (s ResetServiceSpecificCredentialOutput) String() string { 24501 return awsutil.Prettify(s) 24502} 24503 24504// GoString returns the string representation 24505func (s ResetServiceSpecificCredentialOutput) GoString() string { 24506 return s.String() 24507} 24508 24509// SetServiceSpecificCredential sets the ServiceSpecificCredential field's value. 24510func (s *ResetServiceSpecificCredentialOutput) SetServiceSpecificCredential(v *ServiceSpecificCredential) *ResetServiceSpecificCredentialOutput { 24511 s.ServiceSpecificCredential = v 24512 return s 24513} 24514 24515// Contains the result of the simulation of a single API action call on a single 24516// resource. 24517// 24518// This data type is used by a member of the EvaluationResult data type. 24519// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ResourceSpecificResult 24520type ResourceSpecificResult struct { 24521 _ struct{} `type:"structure"` 24522 24523 // Additional details about the results of the evaluation decision. When there 24524 // are both IAM policies and resource policies, this parameter explains how 24525 // each set of policies contributes to the final evaluation decision. When simulating 24526 // cross-account access to a resource, both the resource-based policy and the 24527 // caller's IAM policy must grant access. 24528 EvalDecisionDetails map[string]*string `type:"map"` 24529 24530 // The result of the simulation of the simulated API action on the resource 24531 // specified in EvalResourceName. 24532 // 24533 // EvalResourceDecision is a required field 24534 EvalResourceDecision *string `type:"string" required:"true" enum:"PolicyEvaluationDecisionType"` 24535 24536 // The name of the simulated resource, in Amazon Resource Name (ARN) format. 24537 // 24538 // EvalResourceName is a required field 24539 EvalResourceName *string `min:"1" type:"string" required:"true"` 24540 24541 // A list of the statements in the input policies that determine the result 24542 // for this part of the simulation. Remember that even if multiple statements 24543 // allow the action on the resource, if any statement denies that action, then 24544 // the explicit deny overrides any allow, and the deny statement is the only 24545 // entry included in the result. 24546 MatchedStatements []*Statement `type:"list"` 24547 24548 // A list of context keys that are required by the included input policies but 24549 // that were not provided by one of the input parameters. This list is used 24550 // when a list of ARNs is included in the ResourceArns parameter instead of 24551 // "*". If you do not specify individual resources, by setting ResourceArns 24552 // to "*" or by not including the ResourceArns parameter, then any missing context 24553 // values are instead included under the EvaluationResults section. To discover 24554 // the context keys used by a set of policies, you can call GetContextKeysForCustomPolicy 24555 // or GetContextKeysForPrincipalPolicy. 24556 MissingContextValues []*string `type:"list"` 24557} 24558 24559// String returns the string representation 24560func (s ResourceSpecificResult) String() string { 24561 return awsutil.Prettify(s) 24562} 24563 24564// GoString returns the string representation 24565func (s ResourceSpecificResult) GoString() string { 24566 return s.String() 24567} 24568 24569// SetEvalDecisionDetails sets the EvalDecisionDetails field's value. 24570func (s *ResourceSpecificResult) SetEvalDecisionDetails(v map[string]*string) *ResourceSpecificResult { 24571 s.EvalDecisionDetails = v 24572 return s 24573} 24574 24575// SetEvalResourceDecision sets the EvalResourceDecision field's value. 24576func (s *ResourceSpecificResult) SetEvalResourceDecision(v string) *ResourceSpecificResult { 24577 s.EvalResourceDecision = &v 24578 return s 24579} 24580 24581// SetEvalResourceName sets the EvalResourceName field's value. 24582func (s *ResourceSpecificResult) SetEvalResourceName(v string) *ResourceSpecificResult { 24583 s.EvalResourceName = &v 24584 return s 24585} 24586 24587// SetMatchedStatements sets the MatchedStatements field's value. 24588func (s *ResourceSpecificResult) SetMatchedStatements(v []*Statement) *ResourceSpecificResult { 24589 s.MatchedStatements = v 24590 return s 24591} 24592 24593// SetMissingContextValues sets the MissingContextValues field's value. 24594func (s *ResourceSpecificResult) SetMissingContextValues(v []*string) *ResourceSpecificResult { 24595 s.MissingContextValues = v 24596 return s 24597} 24598 24599// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ResyncMFADeviceRequest 24600type ResyncMFADeviceInput struct { 24601 _ struct{} `type:"structure"` 24602 24603 // An authentication code emitted by the device. 24604 // 24605 // The format for this parameter is a sequence of six digits. 24606 // 24607 // AuthenticationCode1 is a required field 24608 AuthenticationCode1 *string `min:"6" type:"string" required:"true"` 24609 24610 // A subsequent authentication code emitted by the device. 24611 // 24612 // The format for this parameter is a sequence of six digits. 24613 // 24614 // AuthenticationCode2 is a required field 24615 AuthenticationCode2 *string `min:"6" type:"string" required:"true"` 24616 24617 // Serial number that uniquely identifies the MFA device. 24618 // 24619 // This parameter allows (per its regex pattern (http://wikipedia.org/wiki/regex)) 24620 // a string of characters consisting of upper and lowercase alphanumeric characters 24621 // with no spaces. You can also include any of the following characters: =,.@- 24622 // 24623 // SerialNumber is a required field 24624 SerialNumber *string `min:"9" type:"string" required:"true"` 24625 24626 // The name of the user whose MFA device you want to resynchronize. 24627 // 24628 // This parameter allows (per its regex pattern (http://wikipedia.org/wiki/regex)) 24629 // a string of characters consisting of upper and lowercase alphanumeric characters 24630 // with no spaces. You can also include any of the following characters: =,.@- 24631 // 24632 // UserName is a required field 24633 UserName *string `min:"1" type:"string" required:"true"` 24634} 24635 24636// String returns the string representation 24637func (s ResyncMFADeviceInput) String() string { 24638 return awsutil.Prettify(s) 24639} 24640 24641// GoString returns the string representation 24642func (s ResyncMFADeviceInput) GoString() string { 24643 return s.String() 24644} 24645 24646// Validate inspects the fields of the type to determine if they are valid. 24647func (s *ResyncMFADeviceInput) Validate() error { 24648 invalidParams := request.ErrInvalidParams{Context: "ResyncMFADeviceInput"} 24649 if s.AuthenticationCode1 == nil { 24650 invalidParams.Add(request.NewErrParamRequired("AuthenticationCode1")) 24651 } 24652 if s.AuthenticationCode1 != nil && len(*s.AuthenticationCode1) < 6 { 24653 invalidParams.Add(request.NewErrParamMinLen("AuthenticationCode1", 6)) 24654 } 24655 if s.AuthenticationCode2 == nil { 24656 invalidParams.Add(request.NewErrParamRequired("AuthenticationCode2")) 24657 } 24658 if s.AuthenticationCode2 != nil && len(*s.AuthenticationCode2) < 6 { 24659 invalidParams.Add(request.NewErrParamMinLen("AuthenticationCode2", 6)) 24660 } 24661 if s.SerialNumber == nil { 24662 invalidParams.Add(request.NewErrParamRequired("SerialNumber")) 24663 } 24664 if s.SerialNumber != nil && len(*s.SerialNumber) < 9 { 24665 invalidParams.Add(request.NewErrParamMinLen("SerialNumber", 9)) 24666 } 24667 if s.UserName == nil { 24668 invalidParams.Add(request.NewErrParamRequired("UserName")) 24669 } 24670 if s.UserName != nil && len(*s.UserName) < 1 { 24671 invalidParams.Add(request.NewErrParamMinLen("UserName", 1)) 24672 } 24673 24674 if invalidParams.Len() > 0 { 24675 return invalidParams 24676 } 24677 return nil 24678} 24679 24680// SetAuthenticationCode1 sets the AuthenticationCode1 field's value. 24681func (s *ResyncMFADeviceInput) SetAuthenticationCode1(v string) *ResyncMFADeviceInput { 24682 s.AuthenticationCode1 = &v 24683 return s 24684} 24685 24686// SetAuthenticationCode2 sets the AuthenticationCode2 field's value. 24687func (s *ResyncMFADeviceInput) SetAuthenticationCode2(v string) *ResyncMFADeviceInput { 24688 s.AuthenticationCode2 = &v 24689 return s 24690} 24691 24692// SetSerialNumber sets the SerialNumber field's value. 24693func (s *ResyncMFADeviceInput) SetSerialNumber(v string) *ResyncMFADeviceInput { 24694 s.SerialNumber = &v 24695 return s 24696} 24697 24698// SetUserName sets the UserName field's value. 24699func (s *ResyncMFADeviceInput) SetUserName(v string) *ResyncMFADeviceInput { 24700 s.UserName = &v 24701 return s 24702} 24703 24704// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ResyncMFADeviceOutput 24705type ResyncMFADeviceOutput struct { 24706 _ struct{} `type:"structure"` 24707} 24708 24709// String returns the string representation 24710func (s ResyncMFADeviceOutput) String() string { 24711 return awsutil.Prettify(s) 24712} 24713 24714// GoString returns the string representation 24715func (s ResyncMFADeviceOutput) GoString() string { 24716 return s.String() 24717} 24718 24719// Contains information about an IAM role. This structure is returned as a response 24720// element in several APIs that interact with roles. 24721// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/Role 24722type Role struct { 24723 _ struct{} `type:"structure"` 24724 24725 // The Amazon Resource Name (ARN) specifying the role. For more information 24726 // about ARNs and how to use them in policies, see IAM Identifiers (http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html) 24727 // in the IAM User Guide guide. 24728 // 24729 // Arn is a required field 24730 Arn *string `min:"20" type:"string" required:"true"` 24731 24732 // The policy that grants an entity permission to assume the role. 24733 AssumeRolePolicyDocument *string `min:"1" type:"string"` 24734 24735 // The date and time, in ISO 8601 date-time format (http://www.iso.org/iso/iso8601), 24736 // when the role was created. 24737 // 24738 // CreateDate is a required field 24739 CreateDate *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"` 24740 24741 // A description of the role that you provide. 24742 Description *string `type:"string"` 24743 24744 // The path to the role. For more information about paths, see IAM Identifiers 24745 // (http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html) 24746 // in the Using IAM guide. 24747 // 24748 // Path is a required field 24749 Path *string `min:"1" type:"string" required:"true"` 24750 24751 // The stable and unique string identifying the role. For more information about 24752 // IDs, see IAM Identifiers (http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html) 24753 // in the Using IAM guide. 24754 // 24755 // RoleId is a required field 24756 RoleId *string `min:"16" type:"string" required:"true"` 24757 24758 // The friendly name that identifies the role. 24759 // 24760 // RoleName is a required field 24761 RoleName *string `min:"1" type:"string" required:"true"` 24762} 24763 24764// String returns the string representation 24765func (s Role) String() string { 24766 return awsutil.Prettify(s) 24767} 24768 24769// GoString returns the string representation 24770func (s Role) GoString() string { 24771 return s.String() 24772} 24773 24774// SetArn sets the Arn field's value. 24775func (s *Role) SetArn(v string) *Role { 24776 s.Arn = &v 24777 return s 24778} 24779 24780// SetAssumeRolePolicyDocument sets the AssumeRolePolicyDocument field's value. 24781func (s *Role) SetAssumeRolePolicyDocument(v string) *Role { 24782 s.AssumeRolePolicyDocument = &v 24783 return s 24784} 24785 24786// SetCreateDate sets the CreateDate field's value. 24787func (s *Role) SetCreateDate(v time.Time) *Role { 24788 s.CreateDate = &v 24789 return s 24790} 24791 24792// SetDescription sets the Description field's value. 24793func (s *Role) SetDescription(v string) *Role { 24794 s.Description = &v 24795 return s 24796} 24797 24798// SetPath sets the Path field's value. 24799func (s *Role) SetPath(v string) *Role { 24800 s.Path = &v 24801 return s 24802} 24803 24804// SetRoleId sets the RoleId field's value. 24805func (s *Role) SetRoleId(v string) *Role { 24806 s.RoleId = &v 24807 return s 24808} 24809 24810// SetRoleName sets the RoleName field's value. 24811func (s *Role) SetRoleName(v string) *Role { 24812 s.RoleName = &v 24813 return s 24814} 24815 24816// Contains information about an IAM role, including all of the role's policies. 24817// 24818// This data type is used as a response element in the GetAccountAuthorizationDetails 24819// action. 24820// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/RoleDetail 24821type RoleDetail struct { 24822 _ struct{} `type:"structure"` 24823 24824 // The Amazon Resource Name (ARN). ARNs are unique identifiers for AWS resources. 24825 // 24826 // For more information about ARNs, go to Amazon Resource Names (ARNs) and AWS 24827 // Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) 24828 // in the AWS General Reference. 24829 Arn *string `min:"20" type:"string"` 24830 24831 // The trust policy that grants permission to assume the role. 24832 AssumeRolePolicyDocument *string `min:"1" type:"string"` 24833 24834 // A list of managed policies attached to the role. These policies are the role's 24835 // access (permissions) policies. 24836 AttachedManagedPolicies []*AttachedPolicy `type:"list"` 24837 24838 // The date and time, in ISO 8601 date-time format (http://www.iso.org/iso/iso8601), 24839 // when the role was created. 24840 CreateDate *time.Time `type:"timestamp" timestampFormat:"iso8601"` 24841 24842 // A list of instance profiles that contain this role. 24843 InstanceProfileList []*InstanceProfile `type:"list"` 24844 24845 // The path to the role. For more information about paths, see IAM Identifiers 24846 // (http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html) 24847 // in the Using IAM guide. 24848 Path *string `min:"1" type:"string"` 24849 24850 // The stable and unique string identifying the role. For more information about 24851 // IDs, see IAM Identifiers (http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html) 24852 // in the Using IAM guide. 24853 RoleId *string `min:"16" type:"string"` 24854 24855 // The friendly name that identifies the role. 24856 RoleName *string `min:"1" type:"string"` 24857 24858 // A list of inline policies embedded in the role. These policies are the role's 24859 // access (permissions) policies. 24860 RolePolicyList []*PolicyDetail `type:"list"` 24861} 24862 24863// String returns the string representation 24864func (s RoleDetail) String() string { 24865 return awsutil.Prettify(s) 24866} 24867 24868// GoString returns the string representation 24869func (s RoleDetail) GoString() string { 24870 return s.String() 24871} 24872 24873// SetArn sets the Arn field's value. 24874func (s *RoleDetail) SetArn(v string) *RoleDetail { 24875 s.Arn = &v 24876 return s 24877} 24878 24879// SetAssumeRolePolicyDocument sets the AssumeRolePolicyDocument field's value. 24880func (s *RoleDetail) SetAssumeRolePolicyDocument(v string) *RoleDetail { 24881 s.AssumeRolePolicyDocument = &v 24882 return s 24883} 24884 24885// SetAttachedManagedPolicies sets the AttachedManagedPolicies field's value. 24886func (s *RoleDetail) SetAttachedManagedPolicies(v []*AttachedPolicy) *RoleDetail { 24887 s.AttachedManagedPolicies = v 24888 return s 24889} 24890 24891// SetCreateDate sets the CreateDate field's value. 24892func (s *RoleDetail) SetCreateDate(v time.Time) *RoleDetail { 24893 s.CreateDate = &v 24894 return s 24895} 24896 24897// SetInstanceProfileList sets the InstanceProfileList field's value. 24898func (s *RoleDetail) SetInstanceProfileList(v []*InstanceProfile) *RoleDetail { 24899 s.InstanceProfileList = v 24900 return s 24901} 24902 24903// SetPath sets the Path field's value. 24904func (s *RoleDetail) SetPath(v string) *RoleDetail { 24905 s.Path = &v 24906 return s 24907} 24908 24909// SetRoleId sets the RoleId field's value. 24910func (s *RoleDetail) SetRoleId(v string) *RoleDetail { 24911 s.RoleId = &v 24912 return s 24913} 24914 24915// SetRoleName sets the RoleName field's value. 24916func (s *RoleDetail) SetRoleName(v string) *RoleDetail { 24917 s.RoleName = &v 24918 return s 24919} 24920 24921// SetRolePolicyList sets the RolePolicyList field's value. 24922func (s *RoleDetail) SetRolePolicyList(v []*PolicyDetail) *RoleDetail { 24923 s.RolePolicyList = v 24924 return s 24925} 24926 24927// An object that contains details about how a service-linked role is used. 24928// 24929// This data type is used as a response element in the GetServiceLinkedRoleDeletionStatus 24930// operation. 24931// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/RoleUsageType 24932type RoleUsageType struct { 24933 _ struct{} `type:"structure"` 24934 24935 // The name of the region where the service-linked role is being used. 24936 Region *string `min:"1" type:"string"` 24937 24938 // The name of the resource that is using the service-linked role. 24939 Resources []*string `type:"list"` 24940} 24941 24942// String returns the string representation 24943func (s RoleUsageType) String() string { 24944 return awsutil.Prettify(s) 24945} 24946 24947// GoString returns the string representation 24948func (s RoleUsageType) GoString() string { 24949 return s.String() 24950} 24951 24952// SetRegion sets the Region field's value. 24953func (s *RoleUsageType) SetRegion(v string) *RoleUsageType { 24954 s.Region = &v 24955 return s 24956} 24957 24958// SetResources sets the Resources field's value. 24959func (s *RoleUsageType) SetResources(v []*string) *RoleUsageType { 24960 s.Resources = v 24961 return s 24962} 24963 24964// Contains the list of SAML providers for this account. 24965// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/SAMLProviderListEntry 24966type SAMLProviderListEntry struct { 24967 _ struct{} `type:"structure"` 24968 24969 // The Amazon Resource Name (ARN) of the SAML provider. 24970 Arn *string `min:"20" type:"string"` 24971 24972 // The date and time when the SAML provider was created. 24973 CreateDate *time.Time `type:"timestamp" timestampFormat:"iso8601"` 24974 24975 // The expiration date and time for the SAML provider. 24976 ValidUntil *time.Time `type:"timestamp" timestampFormat:"iso8601"` 24977} 24978 24979// String returns the string representation 24980func (s SAMLProviderListEntry) String() string { 24981 return awsutil.Prettify(s) 24982} 24983 24984// GoString returns the string representation 24985func (s SAMLProviderListEntry) GoString() string { 24986 return s.String() 24987} 24988 24989// SetArn sets the Arn field's value. 24990func (s *SAMLProviderListEntry) SetArn(v string) *SAMLProviderListEntry { 24991 s.Arn = &v 24992 return s 24993} 24994 24995// SetCreateDate sets the CreateDate field's value. 24996func (s *SAMLProviderListEntry) SetCreateDate(v time.Time) *SAMLProviderListEntry { 24997 s.CreateDate = &v 24998 return s 24999} 25000 25001// SetValidUntil sets the ValidUntil field's value. 25002func (s *SAMLProviderListEntry) SetValidUntil(v time.Time) *SAMLProviderListEntry { 25003 s.ValidUntil = &v 25004 return s 25005} 25006 25007// Contains information about an SSH public key. 25008// 25009// This data type is used as a response element in the GetSSHPublicKey and UploadSSHPublicKey 25010// actions. 25011// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/SSHPublicKey 25012type SSHPublicKey struct { 25013 _ struct{} `type:"structure"` 25014 25015 // The MD5 message digest of the SSH public key. 25016 // 25017 // Fingerprint is a required field 25018 Fingerprint *string `min:"48" type:"string" required:"true"` 25019 25020 // The SSH public key. 25021 // 25022 // SSHPublicKeyBody is a required field 25023 SSHPublicKeyBody *string `min:"1" type:"string" required:"true"` 25024 25025 // The unique identifier for the SSH public key. 25026 // 25027 // SSHPublicKeyId is a required field 25028 SSHPublicKeyId *string `min:"20" type:"string" required:"true"` 25029 25030 // The status of the SSH public key. Active means the key can be used for authentication 25031 // with an AWS CodeCommit repository. Inactive means the key cannot be used. 25032 // 25033 // Status is a required field 25034 Status *string `type:"string" required:"true" enum:"statusType"` 25035 25036 // The date and time, in ISO 8601 date-time format (http://www.iso.org/iso/iso8601), 25037 // when the SSH public key was uploaded. 25038 UploadDate *time.Time `type:"timestamp" timestampFormat:"iso8601"` 25039 25040 // The name of the IAM user associated with the SSH public key. 25041 // 25042 // UserName is a required field 25043 UserName *string `min:"1" type:"string" required:"true"` 25044} 25045 25046// String returns the string representation 25047func (s SSHPublicKey) String() string { 25048 return awsutil.Prettify(s) 25049} 25050 25051// GoString returns the string representation 25052func (s SSHPublicKey) GoString() string { 25053 return s.String() 25054} 25055 25056// SetFingerprint sets the Fingerprint field's value. 25057func (s *SSHPublicKey) SetFingerprint(v string) *SSHPublicKey { 25058 s.Fingerprint = &v 25059 return s 25060} 25061 25062// SetSSHPublicKeyBody sets the SSHPublicKeyBody field's value. 25063func (s *SSHPublicKey) SetSSHPublicKeyBody(v string) *SSHPublicKey { 25064 s.SSHPublicKeyBody = &v 25065 return s 25066} 25067 25068// SetSSHPublicKeyId sets the SSHPublicKeyId field's value. 25069func (s *SSHPublicKey) SetSSHPublicKeyId(v string) *SSHPublicKey { 25070 s.SSHPublicKeyId = &v 25071 return s 25072} 25073 25074// SetStatus sets the Status field's value. 25075func (s *SSHPublicKey) SetStatus(v string) *SSHPublicKey { 25076 s.Status = &v 25077 return s 25078} 25079 25080// SetUploadDate sets the UploadDate field's value. 25081func (s *SSHPublicKey) SetUploadDate(v time.Time) *SSHPublicKey { 25082 s.UploadDate = &v 25083 return s 25084} 25085 25086// SetUserName sets the UserName field's value. 25087func (s *SSHPublicKey) SetUserName(v string) *SSHPublicKey { 25088 s.UserName = &v 25089 return s 25090} 25091 25092// Contains information about an SSH public key, without the key's body or fingerprint. 25093// 25094// This data type is used as a response element in the ListSSHPublicKeys action. 25095// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/SSHPublicKeyMetadata 25096type SSHPublicKeyMetadata struct { 25097 _ struct{} `type:"structure"` 25098 25099 // The unique identifier for the SSH public key. 25100 // 25101 // SSHPublicKeyId is a required field 25102 SSHPublicKeyId *string `min:"20" type:"string" required:"true"` 25103 25104 // The status of the SSH public key. Active means the key can be used for authentication 25105 // with an AWS CodeCommit repository. Inactive means the key cannot be used. 25106 // 25107 // Status is a required field 25108 Status *string `type:"string" required:"true" enum:"statusType"` 25109 25110 // The date and time, in ISO 8601 date-time format (http://www.iso.org/iso/iso8601), 25111 // when the SSH public key was uploaded. 25112 // 25113 // UploadDate is a required field 25114 UploadDate *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"` 25115 25116 // The name of the IAM user associated with the SSH public key. 25117 // 25118 // UserName is a required field 25119 UserName *string `min:"1" type:"string" required:"true"` 25120} 25121 25122// String returns the string representation 25123func (s SSHPublicKeyMetadata) String() string { 25124 return awsutil.Prettify(s) 25125} 25126 25127// GoString returns the string representation 25128func (s SSHPublicKeyMetadata) GoString() string { 25129 return s.String() 25130} 25131 25132// SetSSHPublicKeyId sets the SSHPublicKeyId field's value. 25133func (s *SSHPublicKeyMetadata) SetSSHPublicKeyId(v string) *SSHPublicKeyMetadata { 25134 s.SSHPublicKeyId = &v 25135 return s 25136} 25137 25138// SetStatus sets the Status field's value. 25139func (s *SSHPublicKeyMetadata) SetStatus(v string) *SSHPublicKeyMetadata { 25140 s.Status = &v 25141 return s 25142} 25143 25144// SetUploadDate sets the UploadDate field's value. 25145func (s *SSHPublicKeyMetadata) SetUploadDate(v time.Time) *SSHPublicKeyMetadata { 25146 s.UploadDate = &v 25147 return s 25148} 25149 25150// SetUserName sets the UserName field's value. 25151func (s *SSHPublicKeyMetadata) SetUserName(v string) *SSHPublicKeyMetadata { 25152 s.UserName = &v 25153 return s 25154} 25155 25156// Contains information about a server certificate. 25157// 25158// This data type is used as a response element in the GetServerCertificate 25159// action. 25160// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ServerCertificate 25161type ServerCertificate struct { 25162 _ struct{} `type:"structure"` 25163 25164 // The contents of the public key certificate. 25165 // 25166 // CertificateBody is a required field 25167 CertificateBody *string `min:"1" type:"string" required:"true"` 25168 25169 // The contents of the public key certificate chain. 25170 CertificateChain *string `min:"1" type:"string"` 25171 25172 // The meta information of the server certificate, such as its name, path, ID, 25173 // and ARN. 25174 // 25175 // ServerCertificateMetadata is a required field 25176 ServerCertificateMetadata *ServerCertificateMetadata `type:"structure" required:"true"` 25177} 25178 25179// String returns the string representation 25180func (s ServerCertificate) String() string { 25181 return awsutil.Prettify(s) 25182} 25183 25184// GoString returns the string representation 25185func (s ServerCertificate) GoString() string { 25186 return s.String() 25187} 25188 25189// SetCertificateBody sets the CertificateBody field's value. 25190func (s *ServerCertificate) SetCertificateBody(v string) *ServerCertificate { 25191 s.CertificateBody = &v 25192 return s 25193} 25194 25195// SetCertificateChain sets the CertificateChain field's value. 25196func (s *ServerCertificate) SetCertificateChain(v string) *ServerCertificate { 25197 s.CertificateChain = &v 25198 return s 25199} 25200 25201// SetServerCertificateMetadata sets the ServerCertificateMetadata field's value. 25202func (s *ServerCertificate) SetServerCertificateMetadata(v *ServerCertificateMetadata) *ServerCertificate { 25203 s.ServerCertificateMetadata = v 25204 return s 25205} 25206 25207// Contains information about a server certificate without its certificate body, 25208// certificate chain, and private key. 25209// 25210// This data type is used as a response element in the UploadServerCertificate 25211// and ListServerCertificates actions. 25212// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ServerCertificateMetadata 25213type ServerCertificateMetadata struct { 25214 _ struct{} `type:"structure"` 25215 25216 // The Amazon Resource Name (ARN) specifying the server certificate. For more 25217 // information about ARNs and how to use them in policies, see IAM Identifiers 25218 // (http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html) 25219 // in the Using IAM guide. 25220 // 25221 // Arn is a required field 25222 Arn *string `min:"20" type:"string" required:"true"` 25223 25224 // The date on which the certificate is set to expire. 25225 Expiration *time.Time `type:"timestamp" timestampFormat:"iso8601"` 25226 25227 // The path to the server certificate. For more information about paths, see 25228 // IAM Identifiers (http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html) 25229 // in the Using IAM guide. 25230 // 25231 // Path is a required field 25232 Path *string `min:"1" type:"string" required:"true"` 25233 25234 // The stable and unique string identifying the server certificate. For more 25235 // information about IDs, see IAM Identifiers (http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html) 25236 // in the Using IAM guide. 25237 // 25238 // ServerCertificateId is a required field 25239 ServerCertificateId *string `min:"16" type:"string" required:"true"` 25240 25241 // The name that identifies the server certificate. 25242 // 25243 // ServerCertificateName is a required field 25244 ServerCertificateName *string `min:"1" type:"string" required:"true"` 25245 25246 // The date when the server certificate was uploaded. 25247 UploadDate *time.Time `type:"timestamp" timestampFormat:"iso8601"` 25248} 25249 25250// String returns the string representation 25251func (s ServerCertificateMetadata) String() string { 25252 return awsutil.Prettify(s) 25253} 25254 25255// GoString returns the string representation 25256func (s ServerCertificateMetadata) GoString() string { 25257 return s.String() 25258} 25259 25260// SetArn sets the Arn field's value. 25261func (s *ServerCertificateMetadata) SetArn(v string) *ServerCertificateMetadata { 25262 s.Arn = &v 25263 return s 25264} 25265 25266// SetExpiration sets the Expiration field's value. 25267func (s *ServerCertificateMetadata) SetExpiration(v time.Time) *ServerCertificateMetadata { 25268 s.Expiration = &v 25269 return s 25270} 25271 25272// SetPath sets the Path field's value. 25273func (s *ServerCertificateMetadata) SetPath(v string) *ServerCertificateMetadata { 25274 s.Path = &v 25275 return s 25276} 25277 25278// SetServerCertificateId sets the ServerCertificateId field's value. 25279func (s *ServerCertificateMetadata) SetServerCertificateId(v string) *ServerCertificateMetadata { 25280 s.ServerCertificateId = &v 25281 return s 25282} 25283 25284// SetServerCertificateName sets the ServerCertificateName field's value. 25285func (s *ServerCertificateMetadata) SetServerCertificateName(v string) *ServerCertificateMetadata { 25286 s.ServerCertificateName = &v 25287 return s 25288} 25289 25290// SetUploadDate sets the UploadDate field's value. 25291func (s *ServerCertificateMetadata) SetUploadDate(v time.Time) *ServerCertificateMetadata { 25292 s.UploadDate = &v 25293 return s 25294} 25295 25296// Contains the details of a service specific credential. 25297// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ServiceSpecificCredential 25298type ServiceSpecificCredential struct { 25299 _ struct{} `type:"structure"` 25300 25301 // The date and time, in ISO 8601 date-time format (http://www.iso.org/iso/iso8601), 25302 // when the service-specific credential were created. 25303 // 25304 // CreateDate is a required field 25305 CreateDate *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"` 25306 25307 // The name of the service associated with the service-specific credential. 25308 // 25309 // ServiceName is a required field 25310 ServiceName *string `type:"string" required:"true"` 25311 25312 // The generated password for the service-specific credential. 25313 // 25314 // ServicePassword is a required field 25315 ServicePassword *string `type:"string" required:"true"` 25316 25317 // The unique identifier for the service-specific credential. 25318 // 25319 // ServiceSpecificCredentialId is a required field 25320 ServiceSpecificCredentialId *string `min:"20" type:"string" required:"true"` 25321 25322 // The generated user name for the service-specific credential. This value is 25323 // generated by combining the IAM user's name combined with the ID number of 25324 // the AWS account, as in jane-at-123456789012, for example. This value cannot 25325 // be configured by the user. 25326 // 25327 // ServiceUserName is a required field 25328 ServiceUserName *string `min:"17" type:"string" required:"true"` 25329 25330 // The status of the service-specific credential. Active means the key is valid 25331 // for API calls, while Inactive means it is not. 25332 // 25333 // Status is a required field 25334 Status *string `type:"string" required:"true" enum:"statusType"` 25335 25336 // The name of the IAM user associated with the service-specific credential. 25337 // 25338 // UserName is a required field 25339 UserName *string `min:"1" type:"string" required:"true"` 25340} 25341 25342// String returns the string representation 25343func (s ServiceSpecificCredential) String() string { 25344 return awsutil.Prettify(s) 25345} 25346 25347// GoString returns the string representation 25348func (s ServiceSpecificCredential) GoString() string { 25349 return s.String() 25350} 25351 25352// SetCreateDate sets the CreateDate field's value. 25353func (s *ServiceSpecificCredential) SetCreateDate(v time.Time) *ServiceSpecificCredential { 25354 s.CreateDate = &v 25355 return s 25356} 25357 25358// SetServiceName sets the ServiceName field's value. 25359func (s *ServiceSpecificCredential) SetServiceName(v string) *ServiceSpecificCredential { 25360 s.ServiceName = &v 25361 return s 25362} 25363 25364// SetServicePassword sets the ServicePassword field's value. 25365func (s *ServiceSpecificCredential) SetServicePassword(v string) *ServiceSpecificCredential { 25366 s.ServicePassword = &v 25367 return s 25368} 25369 25370// SetServiceSpecificCredentialId sets the ServiceSpecificCredentialId field's value. 25371func (s *ServiceSpecificCredential) SetServiceSpecificCredentialId(v string) *ServiceSpecificCredential { 25372 s.ServiceSpecificCredentialId = &v 25373 return s 25374} 25375 25376// SetServiceUserName sets the ServiceUserName field's value. 25377func (s *ServiceSpecificCredential) SetServiceUserName(v string) *ServiceSpecificCredential { 25378 s.ServiceUserName = &v 25379 return s 25380} 25381 25382// SetStatus sets the Status field's value. 25383func (s *ServiceSpecificCredential) SetStatus(v string) *ServiceSpecificCredential { 25384 s.Status = &v 25385 return s 25386} 25387 25388// SetUserName sets the UserName field's value. 25389func (s *ServiceSpecificCredential) SetUserName(v string) *ServiceSpecificCredential { 25390 s.UserName = &v 25391 return s 25392} 25393 25394// Contains additional details about a service-specific credential. 25395// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ServiceSpecificCredentialMetadata 25396type ServiceSpecificCredentialMetadata struct { 25397 _ struct{} `type:"structure"` 25398 25399 // The date and time, in ISO 8601 date-time format (http://www.iso.org/iso/iso8601), 25400 // when the service-specific credential were created. 25401 // 25402 // CreateDate is a required field 25403 CreateDate *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"` 25404 25405 // The name of the service associated with the service-specific credential. 25406 // 25407 // ServiceName is a required field 25408 ServiceName *string `type:"string" required:"true"` 25409 25410 // The unique identifier for the service-specific credential. 25411 // 25412 // ServiceSpecificCredentialId is a required field 25413 ServiceSpecificCredentialId *string `min:"20" type:"string" required:"true"` 25414 25415 // The generated user name for the service-specific credential. 25416 // 25417 // ServiceUserName is a required field 25418 ServiceUserName *string `min:"17" type:"string" required:"true"` 25419 25420 // The status of the service-specific credential. Active means the key is valid 25421 // for API calls, while Inactive means it is not. 25422 // 25423 // Status is a required field 25424 Status *string `type:"string" required:"true" enum:"statusType"` 25425 25426 // The name of the IAM user associated with the service-specific credential. 25427 // 25428 // UserName is a required field 25429 UserName *string `min:"1" type:"string" required:"true"` 25430} 25431 25432// String returns the string representation 25433func (s ServiceSpecificCredentialMetadata) String() string { 25434 return awsutil.Prettify(s) 25435} 25436 25437// GoString returns the string representation 25438func (s ServiceSpecificCredentialMetadata) GoString() string { 25439 return s.String() 25440} 25441 25442// SetCreateDate sets the CreateDate field's value. 25443func (s *ServiceSpecificCredentialMetadata) SetCreateDate(v time.Time) *ServiceSpecificCredentialMetadata { 25444 s.CreateDate = &v 25445 return s 25446} 25447 25448// SetServiceName sets the ServiceName field's value. 25449func (s *ServiceSpecificCredentialMetadata) SetServiceName(v string) *ServiceSpecificCredentialMetadata { 25450 s.ServiceName = &v 25451 return s 25452} 25453 25454// SetServiceSpecificCredentialId sets the ServiceSpecificCredentialId field's value. 25455func (s *ServiceSpecificCredentialMetadata) SetServiceSpecificCredentialId(v string) *ServiceSpecificCredentialMetadata { 25456 s.ServiceSpecificCredentialId = &v 25457 return s 25458} 25459 25460// SetServiceUserName sets the ServiceUserName field's value. 25461func (s *ServiceSpecificCredentialMetadata) SetServiceUserName(v string) *ServiceSpecificCredentialMetadata { 25462 s.ServiceUserName = &v 25463 return s 25464} 25465 25466// SetStatus sets the Status field's value. 25467func (s *ServiceSpecificCredentialMetadata) SetStatus(v string) *ServiceSpecificCredentialMetadata { 25468 s.Status = &v 25469 return s 25470} 25471 25472// SetUserName sets the UserName field's value. 25473func (s *ServiceSpecificCredentialMetadata) SetUserName(v string) *ServiceSpecificCredentialMetadata { 25474 s.UserName = &v 25475 return s 25476} 25477 25478// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/SetDefaultPolicyVersionRequest 25479type SetDefaultPolicyVersionInput struct { 25480 _ struct{} `type:"structure"` 25481 25482 // The Amazon Resource Name (ARN) of the IAM policy whose default version you 25483 // want to set. 25484 // 25485 // For more information about ARNs, see Amazon Resource Names (ARNs) and AWS 25486 // Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) 25487 // in the AWS General Reference. 25488 // 25489 // PolicyArn is a required field 25490 PolicyArn *string `min:"20" type:"string" required:"true"` 25491 25492 // The version of the policy to set as the default (operative) version. 25493 // 25494 // For more information about managed policy versions, see Versioning for Managed 25495 // Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-versions.html) 25496 // in the IAM User Guide. 25497 // 25498 // VersionId is a required field 25499 VersionId *string `type:"string" required:"true"` 25500} 25501 25502// String returns the string representation 25503func (s SetDefaultPolicyVersionInput) String() string { 25504 return awsutil.Prettify(s) 25505} 25506 25507// GoString returns the string representation 25508func (s SetDefaultPolicyVersionInput) GoString() string { 25509 return s.String() 25510} 25511 25512// Validate inspects the fields of the type to determine if they are valid. 25513func (s *SetDefaultPolicyVersionInput) Validate() error { 25514 invalidParams := request.ErrInvalidParams{Context: "SetDefaultPolicyVersionInput"} 25515 if s.PolicyArn == nil { 25516 invalidParams.Add(request.NewErrParamRequired("PolicyArn")) 25517 } 25518 if s.PolicyArn != nil && len(*s.PolicyArn) < 20 { 25519 invalidParams.Add(request.NewErrParamMinLen("PolicyArn", 20)) 25520 } 25521 if s.VersionId == nil { 25522 invalidParams.Add(request.NewErrParamRequired("VersionId")) 25523 } 25524 25525 if invalidParams.Len() > 0 { 25526 return invalidParams 25527 } 25528 return nil 25529} 25530 25531// SetPolicyArn sets the PolicyArn field's value. 25532func (s *SetDefaultPolicyVersionInput) SetPolicyArn(v string) *SetDefaultPolicyVersionInput { 25533 s.PolicyArn = &v 25534 return s 25535} 25536 25537// SetVersionId sets the VersionId field's value. 25538func (s *SetDefaultPolicyVersionInput) SetVersionId(v string) *SetDefaultPolicyVersionInput { 25539 s.VersionId = &v 25540 return s 25541} 25542 25543// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/SetDefaultPolicyVersionOutput 25544type SetDefaultPolicyVersionOutput struct { 25545 _ struct{} `type:"structure"` 25546} 25547 25548// String returns the string representation 25549func (s SetDefaultPolicyVersionOutput) String() string { 25550 return awsutil.Prettify(s) 25551} 25552 25553// GoString returns the string representation 25554func (s SetDefaultPolicyVersionOutput) GoString() string { 25555 return s.String() 25556} 25557 25558// Contains information about an X.509 signing certificate. 25559// 25560// This data type is used as a response element in the UploadSigningCertificate 25561// and ListSigningCertificates actions. 25562// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/SigningCertificate 25563type SigningCertificate struct { 25564 _ struct{} `type:"structure"` 25565 25566 // The contents of the signing certificate. 25567 // 25568 // CertificateBody is a required field 25569 CertificateBody *string `min:"1" type:"string" required:"true"` 25570 25571 // The ID for the signing certificate. 25572 // 25573 // CertificateId is a required field 25574 CertificateId *string `min:"24" type:"string" required:"true"` 25575 25576 // The status of the signing certificate. Active means the key is valid for 25577 // API calls, while Inactive means it is not. 25578 // 25579 // Status is a required field 25580 Status *string `type:"string" required:"true" enum:"statusType"` 25581 25582 // The date when the signing certificate was uploaded. 25583 UploadDate *time.Time `type:"timestamp" timestampFormat:"iso8601"` 25584 25585 // The name of the user the signing certificate is associated with. 25586 // 25587 // UserName is a required field 25588 UserName *string `min:"1" type:"string" required:"true"` 25589} 25590 25591// String returns the string representation 25592func (s SigningCertificate) String() string { 25593 return awsutil.Prettify(s) 25594} 25595 25596// GoString returns the string representation 25597func (s SigningCertificate) GoString() string { 25598 return s.String() 25599} 25600 25601// SetCertificateBody sets the CertificateBody field's value. 25602func (s *SigningCertificate) SetCertificateBody(v string) *SigningCertificate { 25603 s.CertificateBody = &v 25604 return s 25605} 25606 25607// SetCertificateId sets the CertificateId field's value. 25608func (s *SigningCertificate) SetCertificateId(v string) *SigningCertificate { 25609 s.CertificateId = &v 25610 return s 25611} 25612 25613// SetStatus sets the Status field's value. 25614func (s *SigningCertificate) SetStatus(v string) *SigningCertificate { 25615 s.Status = &v 25616 return s 25617} 25618 25619// SetUploadDate sets the UploadDate field's value. 25620func (s *SigningCertificate) SetUploadDate(v time.Time) *SigningCertificate { 25621 s.UploadDate = &v 25622 return s 25623} 25624 25625// SetUserName sets the UserName field's value. 25626func (s *SigningCertificate) SetUserName(v string) *SigningCertificate { 25627 s.UserName = &v 25628 return s 25629} 25630 25631// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/SimulateCustomPolicyRequest 25632type SimulateCustomPolicyInput struct { 25633 _ struct{} `type:"structure"` 25634 25635 // A list of names of API actions to evaluate in the simulation. Each action 25636 // is evaluated against each resource. Each action must include the service 25637 // identifier, such as iam:CreateUser. 25638 // 25639 // ActionNames is a required field 25640 ActionNames []*string `type:"list" required:"true"` 25641 25642 // The ARN of the IAM user that you want to use as the simulated caller of the 25643 // APIs. CallerArn is required if you include a ResourcePolicy so that the policy's 25644 // Principal element has a value to use in evaluating the policy. 25645 // 25646 // You can specify only the ARN of an IAM user. You cannot specify the ARN of 25647 // an assumed role, federated user, or a service principal. 25648 CallerArn *string `min:"1" type:"string"` 25649 25650 // A list of context keys and corresponding values for the simulation to use. 25651 // Whenever a context key is evaluated in one of the simulated IAM permission 25652 // policies, the corresponding value is supplied. 25653 ContextEntries []*ContextEntry `type:"list"` 25654 25655 // Use this parameter only when paginating results and only after you receive 25656 // a response indicating that the results are truncated. Set it to the value 25657 // of the Marker element in the response that you received to indicate where 25658 // the next call should start. 25659 Marker *string `min:"1" type:"string"` 25660 25661 // (Optional) Use this only when paginating results to indicate the maximum 25662 // number of items you want in the response. If additional items exist beyond 25663 // the maximum you specify, the IsTruncated response element is true. 25664 // 25665 // If you do not include this parameter, it defaults to 100. Note that IAM might 25666 // return fewer results, even when there are more results available. In that 25667 // case, the IsTruncated response element returns true and Marker contains a 25668 // value to include in the subsequent call that tells the service where to continue 25669 // from. 25670 MaxItems *int64 `min:"1" type:"integer"` 25671 25672 // A list of policy documents to include in the simulation. Each document is 25673 // specified as a string containing the complete, valid JSON text of an IAM 25674 // policy. Do not include any resource-based policies in this parameter. Any 25675 // resource-based policy must be submitted with the ResourcePolicy parameter. 25676 // The policies cannot be "scope-down" policies, such as you could include in 25677 // a call to GetFederationToken (http://docs.aws.amazon.com/IAM/latest/APIReference/API_GetFederationToken.html) 25678 // or one of the AssumeRole (http://docs.aws.amazon.com/IAM/latest/APIReference/API_AssumeRole.html) 25679 // APIs to restrict what a user can do while using the temporary credentials. 25680 // 25681 // The regex pattern (http://wikipedia.org/wiki/regex) used to validate this 25682 // parameter is a string of characters consisting of any printable ASCII character 25683 // ranging from the space character (\u0020) through end of the ASCII character 25684 // range as well as the printable characters in the Basic Latin and Latin-1 25685 // Supplement character set (through \u00FF). It also includes the special characters 25686 // tab (\u0009), line feed (\u000A), and carriage return (\u000D). 25687 // 25688 // PolicyInputList is a required field 25689 PolicyInputList []*string `type:"list" required:"true"` 25690 25691 // A list of ARNs of AWS resources to include in the simulation. If this parameter 25692 // is not provided then the value defaults to * (all resources). Each API in 25693 // the ActionNames parameter is evaluated for each resource in this list. The 25694 // simulation determines the access result (allowed or denied) of each combination 25695 // and reports it in the response. 25696 // 25697 // The simulation does not automatically retrieve policies for the specified 25698 // resources. If you want to include a resource policy in the simulation, then 25699 // you must include the policy as a string in the ResourcePolicy parameter. 25700 // 25701 // If you include a ResourcePolicy, then it must be applicable to all of the 25702 // resources included in the simulation or you receive an invalid input error. 25703 // 25704 // For more information about ARNs, see Amazon Resource Names (ARNs) and AWS 25705 // Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) 25706 // in the AWS General Reference. 25707 ResourceArns []*string `type:"list"` 25708 25709 // Specifies the type of simulation to run. Different APIs that support resource-based 25710 // policies require different combinations of resources. By specifying the type 25711 // of simulation to run, you enable the policy simulator to enforce the presence 25712 // of the required resources to ensure reliable simulation results. If your 25713 // simulation does not match one of the following scenarios, then you can omit 25714 // this parameter. The following list shows each of the supported scenario values 25715 // and the resources that you must define to run the simulation. 25716 // 25717 // Each of the EC2 scenarios requires that you specify instance, image, and 25718 // security-group resources. If your scenario includes an EBS volume, then you 25719 // must specify that volume as a resource. If the EC2 scenario includes VPC, 25720 // then you must supply the network-interface resource. If it includes an IP 25721 // subnet, then you must specify the subnet resource. For more information on 25722 // the EC2 scenario options, see Supported Platforms (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-supported-platforms.html) 25723 // in the AWS EC2 User Guide. 25724 // 25725 // * EC2-Classic-InstanceStore 25726 // 25727 // instance, image, security-group 25728 // 25729 // * EC2-Classic-EBS 25730 // 25731 // instance, image, security-group, volume 25732 // 25733 // * EC2-VPC-InstanceStore 25734 // 25735 // instance, image, security-group, network-interface 25736 // 25737 // * EC2-VPC-InstanceStore-Subnet 25738 // 25739 // instance, image, security-group, network-interface, subnet 25740 // 25741 // * EC2-VPC-EBS 25742 // 25743 // instance, image, security-group, network-interface, volume 25744 // 25745 // * EC2-VPC-EBS-Subnet 25746 // 25747 // instance, image, security-group, network-interface, subnet, volume 25748 ResourceHandlingOption *string `min:"1" type:"string"` 25749 25750 // An AWS account ID that specifies the owner of any simulated resource that 25751 // does not identify its owner in the resource ARN, such as an S3 bucket or 25752 // object. If ResourceOwner is specified, it is also used as the account owner 25753 // of any ResourcePolicy included in the simulation. If the ResourceOwner parameter 25754 // is not specified, then the owner of the resources and the resource policy 25755 // defaults to the account of the identity provided in CallerArn. This parameter 25756 // is required only if you specify a resource-based policy and account that 25757 // owns the resource is different from the account that owns the simulated calling 25758 // user CallerArn. 25759 ResourceOwner *string `min:"1" type:"string"` 25760 25761 // A resource-based policy to include in the simulation provided as a string. 25762 // Each resource in the simulation is treated as if it had this policy attached. 25763 // You can include only one resource-based policy in a simulation. 25764 // 25765 // The regex pattern (http://wikipedia.org/wiki/regex) used to validate this 25766 // parameter is a string of characters consisting of any printable ASCII character 25767 // ranging from the space character (\u0020) through end of the ASCII character 25768 // range as well as the printable characters in the Basic Latin and Latin-1 25769 // Supplement character set (through \u00FF). It also includes the special characters 25770 // tab (\u0009), line feed (\u000A), and carriage return (\u000D). 25771 ResourcePolicy *string `min:"1" type:"string"` 25772} 25773 25774// String returns the string representation 25775func (s SimulateCustomPolicyInput) String() string { 25776 return awsutil.Prettify(s) 25777} 25778 25779// GoString returns the string representation 25780func (s SimulateCustomPolicyInput) GoString() string { 25781 return s.String() 25782} 25783 25784// Validate inspects the fields of the type to determine if they are valid. 25785func (s *SimulateCustomPolicyInput) Validate() error { 25786 invalidParams := request.ErrInvalidParams{Context: "SimulateCustomPolicyInput"} 25787 if s.ActionNames == nil { 25788 invalidParams.Add(request.NewErrParamRequired("ActionNames")) 25789 } 25790 if s.CallerArn != nil && len(*s.CallerArn) < 1 { 25791 invalidParams.Add(request.NewErrParamMinLen("CallerArn", 1)) 25792 } 25793 if s.Marker != nil && len(*s.Marker) < 1 { 25794 invalidParams.Add(request.NewErrParamMinLen("Marker", 1)) 25795 } 25796 if s.MaxItems != nil && *s.MaxItems < 1 { 25797 invalidParams.Add(request.NewErrParamMinValue("MaxItems", 1)) 25798 } 25799 if s.PolicyInputList == nil { 25800 invalidParams.Add(request.NewErrParamRequired("PolicyInputList")) 25801 } 25802 if s.ResourceHandlingOption != nil && len(*s.ResourceHandlingOption) < 1 { 25803 invalidParams.Add(request.NewErrParamMinLen("ResourceHandlingOption", 1)) 25804 } 25805 if s.ResourceOwner != nil && len(*s.ResourceOwner) < 1 { 25806 invalidParams.Add(request.NewErrParamMinLen("ResourceOwner", 1)) 25807 } 25808 if s.ResourcePolicy != nil && len(*s.ResourcePolicy) < 1 { 25809 invalidParams.Add(request.NewErrParamMinLen("ResourcePolicy", 1)) 25810 } 25811 if s.ContextEntries != nil { 25812 for i, v := range s.ContextEntries { 25813 if v == nil { 25814 continue 25815 } 25816 if err := v.Validate(); err != nil { 25817 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ContextEntries", i), err.(request.ErrInvalidParams)) 25818 } 25819 } 25820 } 25821 25822 if invalidParams.Len() > 0 { 25823 return invalidParams 25824 } 25825 return nil 25826} 25827 25828// SetActionNames sets the ActionNames field's value. 25829func (s *SimulateCustomPolicyInput) SetActionNames(v []*string) *SimulateCustomPolicyInput { 25830 s.ActionNames = v 25831 return s 25832} 25833 25834// SetCallerArn sets the CallerArn field's value. 25835func (s *SimulateCustomPolicyInput) SetCallerArn(v string) *SimulateCustomPolicyInput { 25836 s.CallerArn = &v 25837 return s 25838} 25839 25840// SetContextEntries sets the ContextEntries field's value. 25841func (s *SimulateCustomPolicyInput) SetContextEntries(v []*ContextEntry) *SimulateCustomPolicyInput { 25842 s.ContextEntries = v 25843 return s 25844} 25845 25846// SetMarker sets the Marker field's value. 25847func (s *SimulateCustomPolicyInput) SetMarker(v string) *SimulateCustomPolicyInput { 25848 s.Marker = &v 25849 return s 25850} 25851 25852// SetMaxItems sets the MaxItems field's value. 25853func (s *SimulateCustomPolicyInput) SetMaxItems(v int64) *SimulateCustomPolicyInput { 25854 s.MaxItems = &v 25855 return s 25856} 25857 25858// SetPolicyInputList sets the PolicyInputList field's value. 25859func (s *SimulateCustomPolicyInput) SetPolicyInputList(v []*string) *SimulateCustomPolicyInput { 25860 s.PolicyInputList = v 25861 return s 25862} 25863 25864// SetResourceArns sets the ResourceArns field's value. 25865func (s *SimulateCustomPolicyInput) SetResourceArns(v []*string) *SimulateCustomPolicyInput { 25866 s.ResourceArns = v 25867 return s 25868} 25869 25870// SetResourceHandlingOption sets the ResourceHandlingOption field's value. 25871func (s *SimulateCustomPolicyInput) SetResourceHandlingOption(v string) *SimulateCustomPolicyInput { 25872 s.ResourceHandlingOption = &v 25873 return s 25874} 25875 25876// SetResourceOwner sets the ResourceOwner field's value. 25877func (s *SimulateCustomPolicyInput) SetResourceOwner(v string) *SimulateCustomPolicyInput { 25878 s.ResourceOwner = &v 25879 return s 25880} 25881 25882// SetResourcePolicy sets the ResourcePolicy field's value. 25883func (s *SimulateCustomPolicyInput) SetResourcePolicy(v string) *SimulateCustomPolicyInput { 25884 s.ResourcePolicy = &v 25885 return s 25886} 25887 25888// Contains the response to a successful SimulatePrincipalPolicy or SimulateCustomPolicy 25889// request. 25890// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/SimulatePolicyResponse 25891type SimulatePolicyResponse struct { 25892 _ struct{} `type:"structure"` 25893 25894 // The results of the simulation. 25895 EvaluationResults []*EvaluationResult `type:"list"` 25896 25897 // A flag that indicates whether there are more items to return. If your results 25898 // were truncated, you can make a subsequent pagination request using the Marker 25899 // request parameter to retrieve more items. Note that IAM might return fewer 25900 // than the MaxItems number of results even when there are more results available. 25901 // We recommend that you check IsTruncated after every call to ensure that you 25902 // receive all of your results. 25903 IsTruncated *bool `type:"boolean"` 25904 25905 // When IsTruncated is true, this element is present and contains the value 25906 // to use for the Marker parameter in a subsequent pagination request. 25907 Marker *string `min:"1" type:"string"` 25908} 25909 25910// String returns the string representation 25911func (s SimulatePolicyResponse) String() string { 25912 return awsutil.Prettify(s) 25913} 25914 25915// GoString returns the string representation 25916func (s SimulatePolicyResponse) GoString() string { 25917 return s.String() 25918} 25919 25920// SetEvaluationResults sets the EvaluationResults field's value. 25921func (s *SimulatePolicyResponse) SetEvaluationResults(v []*EvaluationResult) *SimulatePolicyResponse { 25922 s.EvaluationResults = v 25923 return s 25924} 25925 25926// SetIsTruncated sets the IsTruncated field's value. 25927func (s *SimulatePolicyResponse) SetIsTruncated(v bool) *SimulatePolicyResponse { 25928 s.IsTruncated = &v 25929 return s 25930} 25931 25932// SetMarker sets the Marker field's value. 25933func (s *SimulatePolicyResponse) SetMarker(v string) *SimulatePolicyResponse { 25934 s.Marker = &v 25935 return s 25936} 25937 25938// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/SimulatePrincipalPolicyRequest 25939type SimulatePrincipalPolicyInput struct { 25940 _ struct{} `type:"structure"` 25941 25942 // A list of names of API actions to evaluate in the simulation. Each action 25943 // is evaluated for each resource. Each action must include the service identifier, 25944 // such as iam:CreateUser. 25945 // 25946 // ActionNames is a required field 25947 ActionNames []*string `type:"list" required:"true"` 25948 25949 // The ARN of the IAM user that you want to specify as the simulated caller 25950 // of the APIs. If you do not specify a CallerArn, it defaults to the ARN of 25951 // the user that you specify in PolicySourceArn, if you specified a user. If 25952 // you include both a PolicySourceArn (for example, arn:aws:iam::123456789012:user/David) 25953 // and a CallerArn (for example, arn:aws:iam::123456789012:user/Bob), the result 25954 // is that you simulate calling the APIs as Bob, as if Bob had David's policies. 25955 // 25956 // You can specify only the ARN of an IAM user. You cannot specify the ARN of 25957 // an assumed role, federated user, or a service principal. 25958 // 25959 // CallerArn is required if you include a ResourcePolicy and the PolicySourceArn 25960 // is not the ARN for an IAM user. This is required so that the resource-based 25961 // policy's Principal element has a value to use in evaluating the policy. 25962 // 25963 // For more information about ARNs, see Amazon Resource Names (ARNs) and AWS 25964 // Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) 25965 // in the AWS General Reference. 25966 CallerArn *string `min:"1" type:"string"` 25967 25968 // A list of context keys and corresponding values for the simulation to use. 25969 // Whenever a context key is evaluated in one of the simulated IAM permission 25970 // policies, the corresponding value is supplied. 25971 ContextEntries []*ContextEntry `type:"list"` 25972 25973 // Use this parameter only when paginating results and only after you receive 25974 // a response indicating that the results are truncated. Set it to the value 25975 // of the Marker element in the response that you received to indicate where 25976 // the next call should start. 25977 Marker *string `min:"1" type:"string"` 25978 25979 // (Optional) Use this only when paginating results to indicate the maximum 25980 // number of items you want in the response. If additional items exist beyond 25981 // the maximum you specify, the IsTruncated response element is true. 25982 // 25983 // If you do not include this parameter, it defaults to 100. Note that IAM might 25984 // return fewer results, even when there are more results available. In that 25985 // case, the IsTruncated response element returns true and Marker contains a 25986 // value to include in the subsequent call that tells the service where to continue 25987 // from. 25988 MaxItems *int64 `min:"1" type:"integer"` 25989 25990 // An optional list of additional policy documents to include in the simulation. 25991 // Each document is specified as a string containing the complete, valid JSON 25992 // text of an IAM policy. 25993 // 25994 // The regex pattern (http://wikipedia.org/wiki/regex) used to validate this 25995 // parameter is a string of characters consisting of any printable ASCII character 25996 // ranging from the space character (\u0020) through end of the ASCII character 25997 // range as well as the printable characters in the Basic Latin and Latin-1 25998 // Supplement character set (through \u00FF). It also includes the special characters 25999 // tab (\u0009), line feed (\u000A), and carriage return (\u000D). 26000 PolicyInputList []*string `type:"list"` 26001 26002 // The Amazon Resource Name (ARN) of a user, group, or role whose policies you 26003 // want to include in the simulation. If you specify a user, group, or role, 26004 // the simulation includes all policies that are associated with that entity. 26005 // If you specify a user, the simulation also includes all policies that are 26006 // attached to any groups the user belongs to. 26007 // 26008 // For more information about ARNs, see Amazon Resource Names (ARNs) and AWS 26009 // Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) 26010 // in the AWS General Reference. 26011 // 26012 // PolicySourceArn is a required field 26013 PolicySourceArn *string `min:"20" type:"string" required:"true"` 26014 26015 // A list of ARNs of AWS resources to include in the simulation. If this parameter 26016 // is not provided then the value defaults to * (all resources). Each API in 26017 // the ActionNames parameter is evaluated for each resource in this list. The 26018 // simulation determines the access result (allowed or denied) of each combination 26019 // and reports it in the response. 26020 // 26021 // The simulation does not automatically retrieve policies for the specified 26022 // resources. If you want to include a resource policy in the simulation, then 26023 // you must include the policy as a string in the ResourcePolicy parameter. 26024 // 26025 // For more information about ARNs, see Amazon Resource Names (ARNs) and AWS 26026 // Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) 26027 // in the AWS General Reference. 26028 ResourceArns []*string `type:"list"` 26029 26030 // Specifies the type of simulation to run. Different APIs that support resource-based 26031 // policies require different combinations of resources. By specifying the type 26032 // of simulation to run, you enable the policy simulator to enforce the presence 26033 // of the required resources to ensure reliable simulation results. If your 26034 // simulation does not match one of the following scenarios, then you can omit 26035 // this parameter. The following list shows each of the supported scenario values 26036 // and the resources that you must define to run the simulation. 26037 // 26038 // Each of the EC2 scenarios requires that you specify instance, image, and 26039 // security-group resources. If your scenario includes an EBS volume, then you 26040 // must specify that volume as a resource. If the EC2 scenario includes VPC, 26041 // then you must supply the network-interface resource. If it includes an IP 26042 // subnet, then you must specify the subnet resource. For more information on 26043 // the EC2 scenario options, see Supported Platforms (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-supported-platforms.html) 26044 // in the AWS EC2 User Guide. 26045 // 26046 // * EC2-Classic-InstanceStore 26047 // 26048 // instance, image, security-group 26049 // 26050 // * EC2-Classic-EBS 26051 // 26052 // instance, image, security-group, volume 26053 // 26054 // * EC2-VPC-InstanceStore 26055 // 26056 // instance, image, security-group, network-interface 26057 // 26058 // * EC2-VPC-InstanceStore-Subnet 26059 // 26060 // instance, image, security-group, network-interface, subnet 26061 // 26062 // * EC2-VPC-EBS 26063 // 26064 // instance, image, security-group, network-interface, volume 26065 // 26066 // * EC2-VPC-EBS-Subnet 26067 // 26068 // instance, image, security-group, network-interface, subnet, volume 26069 ResourceHandlingOption *string `min:"1" type:"string"` 26070 26071 // An AWS account ID that specifies the owner of any simulated resource that 26072 // does not identify its owner in the resource ARN, such as an S3 bucket or 26073 // object. If ResourceOwner is specified, it is also used as the account owner 26074 // of any ResourcePolicy included in the simulation. If the ResourceOwner parameter 26075 // is not specified, then the owner of the resources and the resource policy 26076 // defaults to the account of the identity provided in CallerArn. This parameter 26077 // is required only if you specify a resource-based policy and account that 26078 // owns the resource is different from the account that owns the simulated calling 26079 // user CallerArn. 26080 ResourceOwner *string `min:"1" type:"string"` 26081 26082 // A resource-based policy to include in the simulation provided as a string. 26083 // Each resource in the simulation is treated as if it had this policy attached. 26084 // You can include only one resource-based policy in a simulation. 26085 // 26086 // The regex pattern (http://wikipedia.org/wiki/regex) used to validate this 26087 // parameter is a string of characters consisting of any printable ASCII character 26088 // ranging from the space character (\u0020) through end of the ASCII character 26089 // range as well as the printable characters in the Basic Latin and Latin-1 26090 // Supplement character set (through \u00FF). It also includes the special characters 26091 // tab (\u0009), line feed (\u000A), and carriage return (\u000D). 26092 ResourcePolicy *string `min:"1" type:"string"` 26093} 26094 26095// String returns the string representation 26096func (s SimulatePrincipalPolicyInput) String() string { 26097 return awsutil.Prettify(s) 26098} 26099 26100// GoString returns the string representation 26101func (s SimulatePrincipalPolicyInput) GoString() string { 26102 return s.String() 26103} 26104 26105// Validate inspects the fields of the type to determine if they are valid. 26106func (s *SimulatePrincipalPolicyInput) Validate() error { 26107 invalidParams := request.ErrInvalidParams{Context: "SimulatePrincipalPolicyInput"} 26108 if s.ActionNames == nil { 26109 invalidParams.Add(request.NewErrParamRequired("ActionNames")) 26110 } 26111 if s.CallerArn != nil && len(*s.CallerArn) < 1 { 26112 invalidParams.Add(request.NewErrParamMinLen("CallerArn", 1)) 26113 } 26114 if s.Marker != nil && len(*s.Marker) < 1 { 26115 invalidParams.Add(request.NewErrParamMinLen("Marker", 1)) 26116 } 26117 if s.MaxItems != nil && *s.MaxItems < 1 { 26118 invalidParams.Add(request.NewErrParamMinValue("MaxItems", 1)) 26119 } 26120 if s.PolicySourceArn == nil { 26121 invalidParams.Add(request.NewErrParamRequired("PolicySourceArn")) 26122 } 26123 if s.PolicySourceArn != nil && len(*s.PolicySourceArn) < 20 { 26124 invalidParams.Add(request.NewErrParamMinLen("PolicySourceArn", 20)) 26125 } 26126 if s.ResourceHandlingOption != nil && len(*s.ResourceHandlingOption) < 1 { 26127 invalidParams.Add(request.NewErrParamMinLen("ResourceHandlingOption", 1)) 26128 } 26129 if s.ResourceOwner != nil && len(*s.ResourceOwner) < 1 { 26130 invalidParams.Add(request.NewErrParamMinLen("ResourceOwner", 1)) 26131 } 26132 if s.ResourcePolicy != nil && len(*s.ResourcePolicy) < 1 { 26133 invalidParams.Add(request.NewErrParamMinLen("ResourcePolicy", 1)) 26134 } 26135 if s.ContextEntries != nil { 26136 for i, v := range s.ContextEntries { 26137 if v == nil { 26138 continue 26139 } 26140 if err := v.Validate(); err != nil { 26141 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ContextEntries", i), err.(request.ErrInvalidParams)) 26142 } 26143 } 26144 } 26145 26146 if invalidParams.Len() > 0 { 26147 return invalidParams 26148 } 26149 return nil 26150} 26151 26152// SetActionNames sets the ActionNames field's value. 26153func (s *SimulatePrincipalPolicyInput) SetActionNames(v []*string) *SimulatePrincipalPolicyInput { 26154 s.ActionNames = v 26155 return s 26156} 26157 26158// SetCallerArn sets the CallerArn field's value. 26159func (s *SimulatePrincipalPolicyInput) SetCallerArn(v string) *SimulatePrincipalPolicyInput { 26160 s.CallerArn = &v 26161 return s 26162} 26163 26164// SetContextEntries sets the ContextEntries field's value. 26165func (s *SimulatePrincipalPolicyInput) SetContextEntries(v []*ContextEntry) *SimulatePrincipalPolicyInput { 26166 s.ContextEntries = v 26167 return s 26168} 26169 26170// SetMarker sets the Marker field's value. 26171func (s *SimulatePrincipalPolicyInput) SetMarker(v string) *SimulatePrincipalPolicyInput { 26172 s.Marker = &v 26173 return s 26174} 26175 26176// SetMaxItems sets the MaxItems field's value. 26177func (s *SimulatePrincipalPolicyInput) SetMaxItems(v int64) *SimulatePrincipalPolicyInput { 26178 s.MaxItems = &v 26179 return s 26180} 26181 26182// SetPolicyInputList sets the PolicyInputList field's value. 26183func (s *SimulatePrincipalPolicyInput) SetPolicyInputList(v []*string) *SimulatePrincipalPolicyInput { 26184 s.PolicyInputList = v 26185 return s 26186} 26187 26188// SetPolicySourceArn sets the PolicySourceArn field's value. 26189func (s *SimulatePrincipalPolicyInput) SetPolicySourceArn(v string) *SimulatePrincipalPolicyInput { 26190 s.PolicySourceArn = &v 26191 return s 26192} 26193 26194// SetResourceArns sets the ResourceArns field's value. 26195func (s *SimulatePrincipalPolicyInput) SetResourceArns(v []*string) *SimulatePrincipalPolicyInput { 26196 s.ResourceArns = v 26197 return s 26198} 26199 26200// SetResourceHandlingOption sets the ResourceHandlingOption field's value. 26201func (s *SimulatePrincipalPolicyInput) SetResourceHandlingOption(v string) *SimulatePrincipalPolicyInput { 26202 s.ResourceHandlingOption = &v 26203 return s 26204} 26205 26206// SetResourceOwner sets the ResourceOwner field's value. 26207func (s *SimulatePrincipalPolicyInput) SetResourceOwner(v string) *SimulatePrincipalPolicyInput { 26208 s.ResourceOwner = &v 26209 return s 26210} 26211 26212// SetResourcePolicy sets the ResourcePolicy field's value. 26213func (s *SimulatePrincipalPolicyInput) SetResourcePolicy(v string) *SimulatePrincipalPolicyInput { 26214 s.ResourcePolicy = &v 26215 return s 26216} 26217 26218// Contains a reference to a Statement element in a policy document that determines 26219// the result of the simulation. 26220// 26221// This data type is used by the MatchedStatements member of the EvaluationResult 26222// type. 26223// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/Statement 26224type Statement struct { 26225 _ struct{} `type:"structure"` 26226 26227 // The row and column of the end of a Statement in an IAM policy. 26228 EndPosition *Position `type:"structure"` 26229 26230 // The identifier of the policy that was provided as an input. 26231 SourcePolicyId *string `type:"string"` 26232 26233 // The type of the policy. 26234 SourcePolicyType *string `type:"string" enum:"PolicySourceType"` 26235 26236 // The row and column of the beginning of the Statement in an IAM policy. 26237 StartPosition *Position `type:"structure"` 26238} 26239 26240// String returns the string representation 26241func (s Statement) String() string { 26242 return awsutil.Prettify(s) 26243} 26244 26245// GoString returns the string representation 26246func (s Statement) GoString() string { 26247 return s.String() 26248} 26249 26250// SetEndPosition sets the EndPosition field's value. 26251func (s *Statement) SetEndPosition(v *Position) *Statement { 26252 s.EndPosition = v 26253 return s 26254} 26255 26256// SetSourcePolicyId sets the SourcePolicyId field's value. 26257func (s *Statement) SetSourcePolicyId(v string) *Statement { 26258 s.SourcePolicyId = &v 26259 return s 26260} 26261 26262// SetSourcePolicyType sets the SourcePolicyType field's value. 26263func (s *Statement) SetSourcePolicyType(v string) *Statement { 26264 s.SourcePolicyType = &v 26265 return s 26266} 26267 26268// SetStartPosition sets the StartPosition field's value. 26269func (s *Statement) SetStartPosition(v *Position) *Statement { 26270 s.StartPosition = v 26271 return s 26272} 26273 26274// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/UpdateAccessKeyRequest 26275type UpdateAccessKeyInput struct { 26276 _ struct{} `type:"structure"` 26277 26278 // The access key ID of the secret access key you want to update. 26279 // 26280 // This parameter allows (per its regex pattern (http://wikipedia.org/wiki/regex)) 26281 // a string of characters that can consist of any upper or lowercased letter 26282 // or digit. 26283 // 26284 // AccessKeyId is a required field 26285 AccessKeyId *string `min:"16" type:"string" required:"true"` 26286 26287 // The status you want to assign to the secret access key. Active means the 26288 // key can be used for API calls to AWS, while Inactive means the key cannot 26289 // be used. 26290 // 26291 // Status is a required field 26292 Status *string `type:"string" required:"true" enum:"statusType"` 26293 26294 // The name of the user whose key you want to update. 26295 // 26296 // This parameter allows (per its regex pattern (http://wikipedia.org/wiki/regex)) 26297 // a string of characters consisting of upper and lowercase alphanumeric characters 26298 // with no spaces. You can also include any of the following characters: =,.@- 26299 UserName *string `min:"1" type:"string"` 26300} 26301 26302// String returns the string representation 26303func (s UpdateAccessKeyInput) String() string { 26304 return awsutil.Prettify(s) 26305} 26306 26307// GoString returns the string representation 26308func (s UpdateAccessKeyInput) GoString() string { 26309 return s.String() 26310} 26311 26312// Validate inspects the fields of the type to determine if they are valid. 26313func (s *UpdateAccessKeyInput) Validate() error { 26314 invalidParams := request.ErrInvalidParams{Context: "UpdateAccessKeyInput"} 26315 if s.AccessKeyId == nil { 26316 invalidParams.Add(request.NewErrParamRequired("AccessKeyId")) 26317 } 26318 if s.AccessKeyId != nil && len(*s.AccessKeyId) < 16 { 26319 invalidParams.Add(request.NewErrParamMinLen("AccessKeyId", 16)) 26320 } 26321 if s.Status == nil { 26322 invalidParams.Add(request.NewErrParamRequired("Status")) 26323 } 26324 if s.UserName != nil && len(*s.UserName) < 1 { 26325 invalidParams.Add(request.NewErrParamMinLen("UserName", 1)) 26326 } 26327 26328 if invalidParams.Len() > 0 { 26329 return invalidParams 26330 } 26331 return nil 26332} 26333 26334// SetAccessKeyId sets the AccessKeyId field's value. 26335func (s *UpdateAccessKeyInput) SetAccessKeyId(v string) *UpdateAccessKeyInput { 26336 s.AccessKeyId = &v 26337 return s 26338} 26339 26340// SetStatus sets the Status field's value. 26341func (s *UpdateAccessKeyInput) SetStatus(v string) *UpdateAccessKeyInput { 26342 s.Status = &v 26343 return s 26344} 26345 26346// SetUserName sets the UserName field's value. 26347func (s *UpdateAccessKeyInput) SetUserName(v string) *UpdateAccessKeyInput { 26348 s.UserName = &v 26349 return s 26350} 26351 26352// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/UpdateAccessKeyOutput 26353type UpdateAccessKeyOutput struct { 26354 _ struct{} `type:"structure"` 26355} 26356 26357// String returns the string representation 26358func (s UpdateAccessKeyOutput) String() string { 26359 return awsutil.Prettify(s) 26360} 26361 26362// GoString returns the string representation 26363func (s UpdateAccessKeyOutput) GoString() string { 26364 return s.String() 26365} 26366 26367// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/UpdateAccountPasswordPolicyRequest 26368type UpdateAccountPasswordPolicyInput struct { 26369 _ struct{} `type:"structure"` 26370 26371 // Allows all IAM users in your account to use the AWS Management Console to 26372 // change their own passwords. For more information, see Letting IAM Users Change 26373 // Their Own Passwords (http://docs.aws.amazon.com/IAM/latest/UserGuide/HowToPwdIAMUser.html) 26374 // in the IAM User Guide. 26375 // 26376 // Default value: false 26377 AllowUsersToChangePassword *bool `type:"boolean"` 26378 26379 // Prevents IAM users from setting a new password after their password has expired. 26380 // 26381 // Default value: false 26382 HardExpiry *bool `type:"boolean"` 26383 26384 // The number of days that an IAM user password is valid. The default value 26385 // of 0 means IAM user passwords never expire. 26386 // 26387 // Default value: 0 26388 MaxPasswordAge *int64 `min:"1" type:"integer"` 26389 26390 // The minimum number of characters allowed in an IAM user password. 26391 // 26392 // Default value: 6 26393 MinimumPasswordLength *int64 `min:"6" type:"integer"` 26394 26395 // Specifies the number of previous passwords that IAM users are prevented from 26396 // reusing. The default value of 0 means IAM users are not prevented from reusing 26397 // previous passwords. 26398 // 26399 // Default value: 0 26400 PasswordReusePrevention *int64 `min:"1" type:"integer"` 26401 26402 // Specifies whether IAM user passwords must contain at least one lowercase 26403 // character from the ISO basic Latin alphabet (a to z). 26404 // 26405 // Default value: false 26406 RequireLowercaseCharacters *bool `type:"boolean"` 26407 26408 // Specifies whether IAM user passwords must contain at least one numeric character 26409 // (0 to 9). 26410 // 26411 // Default value: false 26412 RequireNumbers *bool `type:"boolean"` 26413 26414 // Specifies whether IAM user passwords must contain at least one of the following 26415 // non-alphanumeric characters: 26416 // 26417 // ! @ # $ % ^ & * ( ) _ + - = [ ] { } | ' 26418 // 26419 // Default value: false 26420 RequireSymbols *bool `type:"boolean"` 26421 26422 // Specifies whether IAM user passwords must contain at least one uppercase 26423 // character from the ISO basic Latin alphabet (A to Z). 26424 // 26425 // Default value: false 26426 RequireUppercaseCharacters *bool `type:"boolean"` 26427} 26428 26429// String returns the string representation 26430func (s UpdateAccountPasswordPolicyInput) String() string { 26431 return awsutil.Prettify(s) 26432} 26433 26434// GoString returns the string representation 26435func (s UpdateAccountPasswordPolicyInput) GoString() string { 26436 return s.String() 26437} 26438 26439// Validate inspects the fields of the type to determine if they are valid. 26440func (s *UpdateAccountPasswordPolicyInput) Validate() error { 26441 invalidParams := request.ErrInvalidParams{Context: "UpdateAccountPasswordPolicyInput"} 26442 if s.MaxPasswordAge != nil && *s.MaxPasswordAge < 1 { 26443 invalidParams.Add(request.NewErrParamMinValue("MaxPasswordAge", 1)) 26444 } 26445 if s.MinimumPasswordLength != nil && *s.MinimumPasswordLength < 6 { 26446 invalidParams.Add(request.NewErrParamMinValue("MinimumPasswordLength", 6)) 26447 } 26448 if s.PasswordReusePrevention != nil && *s.PasswordReusePrevention < 1 { 26449 invalidParams.Add(request.NewErrParamMinValue("PasswordReusePrevention", 1)) 26450 } 26451 26452 if invalidParams.Len() > 0 { 26453 return invalidParams 26454 } 26455 return nil 26456} 26457 26458// SetAllowUsersToChangePassword sets the AllowUsersToChangePassword field's value. 26459func (s *UpdateAccountPasswordPolicyInput) SetAllowUsersToChangePassword(v bool) *UpdateAccountPasswordPolicyInput { 26460 s.AllowUsersToChangePassword = &v 26461 return s 26462} 26463 26464// SetHardExpiry sets the HardExpiry field's value. 26465func (s *UpdateAccountPasswordPolicyInput) SetHardExpiry(v bool) *UpdateAccountPasswordPolicyInput { 26466 s.HardExpiry = &v 26467 return s 26468} 26469 26470// SetMaxPasswordAge sets the MaxPasswordAge field's value. 26471func (s *UpdateAccountPasswordPolicyInput) SetMaxPasswordAge(v int64) *UpdateAccountPasswordPolicyInput { 26472 s.MaxPasswordAge = &v 26473 return s 26474} 26475 26476// SetMinimumPasswordLength sets the MinimumPasswordLength field's value. 26477func (s *UpdateAccountPasswordPolicyInput) SetMinimumPasswordLength(v int64) *UpdateAccountPasswordPolicyInput { 26478 s.MinimumPasswordLength = &v 26479 return s 26480} 26481 26482// SetPasswordReusePrevention sets the PasswordReusePrevention field's value. 26483func (s *UpdateAccountPasswordPolicyInput) SetPasswordReusePrevention(v int64) *UpdateAccountPasswordPolicyInput { 26484 s.PasswordReusePrevention = &v 26485 return s 26486} 26487 26488// SetRequireLowercaseCharacters sets the RequireLowercaseCharacters field's value. 26489func (s *UpdateAccountPasswordPolicyInput) SetRequireLowercaseCharacters(v bool) *UpdateAccountPasswordPolicyInput { 26490 s.RequireLowercaseCharacters = &v 26491 return s 26492} 26493 26494// SetRequireNumbers sets the RequireNumbers field's value. 26495func (s *UpdateAccountPasswordPolicyInput) SetRequireNumbers(v bool) *UpdateAccountPasswordPolicyInput { 26496 s.RequireNumbers = &v 26497 return s 26498} 26499 26500// SetRequireSymbols sets the RequireSymbols field's value. 26501func (s *UpdateAccountPasswordPolicyInput) SetRequireSymbols(v bool) *UpdateAccountPasswordPolicyInput { 26502 s.RequireSymbols = &v 26503 return s 26504} 26505 26506// SetRequireUppercaseCharacters sets the RequireUppercaseCharacters field's value. 26507func (s *UpdateAccountPasswordPolicyInput) SetRequireUppercaseCharacters(v bool) *UpdateAccountPasswordPolicyInput { 26508 s.RequireUppercaseCharacters = &v 26509 return s 26510} 26511 26512// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/UpdateAccountPasswordPolicyOutput 26513type UpdateAccountPasswordPolicyOutput struct { 26514 _ struct{} `type:"structure"` 26515} 26516 26517// String returns the string representation 26518func (s UpdateAccountPasswordPolicyOutput) String() string { 26519 return awsutil.Prettify(s) 26520} 26521 26522// GoString returns the string representation 26523func (s UpdateAccountPasswordPolicyOutput) GoString() string { 26524 return s.String() 26525} 26526 26527// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/UpdateAssumeRolePolicyRequest 26528type UpdateAssumeRolePolicyInput struct { 26529 _ struct{} `type:"structure"` 26530 26531 // The policy that grants an entity permission to assume the role. 26532 // 26533 // The regex pattern (http://wikipedia.org/wiki/regex) used to validate this 26534 // parameter is a string of characters consisting of any printable ASCII character 26535 // ranging from the space character (\u0020) through end of the ASCII character 26536 // range as well as the printable characters in the Basic Latin and Latin-1 26537 // Supplement character set (through \u00FF). It also includes the special characters 26538 // tab (\u0009), line feed (\u000A), and carriage return (\u000D). 26539 // 26540 // PolicyDocument is a required field 26541 PolicyDocument *string `min:"1" type:"string" required:"true"` 26542 26543 // The name of the role to update with the new policy. 26544 // 26545 // This parameter allows (per its regex pattern (http://wikipedia.org/wiki/regex)) 26546 // a string of characters consisting of upper and lowercase alphanumeric characters 26547 // with no spaces. You can also include any of the following characters: _+=,.@- 26548 // 26549 // RoleName is a required field 26550 RoleName *string `min:"1" type:"string" required:"true"` 26551} 26552 26553// String returns the string representation 26554func (s UpdateAssumeRolePolicyInput) String() string { 26555 return awsutil.Prettify(s) 26556} 26557 26558// GoString returns the string representation 26559func (s UpdateAssumeRolePolicyInput) GoString() string { 26560 return s.String() 26561} 26562 26563// Validate inspects the fields of the type to determine if they are valid. 26564func (s *UpdateAssumeRolePolicyInput) Validate() error { 26565 invalidParams := request.ErrInvalidParams{Context: "UpdateAssumeRolePolicyInput"} 26566 if s.PolicyDocument == nil { 26567 invalidParams.Add(request.NewErrParamRequired("PolicyDocument")) 26568 } 26569 if s.PolicyDocument != nil && len(*s.PolicyDocument) < 1 { 26570 invalidParams.Add(request.NewErrParamMinLen("PolicyDocument", 1)) 26571 } 26572 if s.RoleName == nil { 26573 invalidParams.Add(request.NewErrParamRequired("RoleName")) 26574 } 26575 if s.RoleName != nil && len(*s.RoleName) < 1 { 26576 invalidParams.Add(request.NewErrParamMinLen("RoleName", 1)) 26577 } 26578 26579 if invalidParams.Len() > 0 { 26580 return invalidParams 26581 } 26582 return nil 26583} 26584 26585// SetPolicyDocument sets the PolicyDocument field's value. 26586func (s *UpdateAssumeRolePolicyInput) SetPolicyDocument(v string) *UpdateAssumeRolePolicyInput { 26587 s.PolicyDocument = &v 26588 return s 26589} 26590 26591// SetRoleName sets the RoleName field's value. 26592func (s *UpdateAssumeRolePolicyInput) SetRoleName(v string) *UpdateAssumeRolePolicyInput { 26593 s.RoleName = &v 26594 return s 26595} 26596 26597// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/UpdateAssumeRolePolicyOutput 26598type UpdateAssumeRolePolicyOutput struct { 26599 _ struct{} `type:"structure"` 26600} 26601 26602// String returns the string representation 26603func (s UpdateAssumeRolePolicyOutput) String() string { 26604 return awsutil.Prettify(s) 26605} 26606 26607// GoString returns the string representation 26608func (s UpdateAssumeRolePolicyOutput) GoString() string { 26609 return s.String() 26610} 26611 26612// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/UpdateGroupRequest 26613type UpdateGroupInput struct { 26614 _ struct{} `type:"structure"` 26615 26616 // Name of the IAM group to update. If you're changing the name of the group, 26617 // this is the original name. 26618 // 26619 // This parameter allows (per its regex pattern (http://wikipedia.org/wiki/regex)) 26620 // a string of characters consisting of upper and lowercase alphanumeric characters 26621 // with no spaces. You can also include any of the following characters: =,.@- 26622 // 26623 // GroupName is a required field 26624 GroupName *string `min:"1" type:"string" required:"true"` 26625 26626 // New name for the IAM group. Only include this if changing the group's name. 26627 // 26628 // This parameter allows (per its regex pattern (http://wikipedia.org/wiki/regex)) 26629 // a string of characters consisting of upper and lowercase alphanumeric characters 26630 // with no spaces. You can also include any of the following characters: =,.@- 26631 NewGroupName *string `min:"1" type:"string"` 26632 26633 // New path for the IAM group. Only include this if changing the group's path. 26634 // 26635 // This paramater allows (per its regex pattern (http://wikipedia.org/wiki/regex)) 26636 // a string of characters consisting of either a forward slash (/) by itself 26637 // or a string that must begin and end with forward slashes, containing any 26638 // ASCII character from the ! (\u0021) thru the DEL character (\u007F), including 26639 // most punctuation characters, digits, and upper and lowercased letters. 26640 NewPath *string `min:"1" type:"string"` 26641} 26642 26643// String returns the string representation 26644func (s UpdateGroupInput) String() string { 26645 return awsutil.Prettify(s) 26646} 26647 26648// GoString returns the string representation 26649func (s UpdateGroupInput) GoString() string { 26650 return s.String() 26651} 26652 26653// Validate inspects the fields of the type to determine if they are valid. 26654func (s *UpdateGroupInput) Validate() error { 26655 invalidParams := request.ErrInvalidParams{Context: "UpdateGroupInput"} 26656 if s.GroupName == nil { 26657 invalidParams.Add(request.NewErrParamRequired("GroupName")) 26658 } 26659 if s.GroupName != nil && len(*s.GroupName) < 1 { 26660 invalidParams.Add(request.NewErrParamMinLen("GroupName", 1)) 26661 } 26662 if s.NewGroupName != nil && len(*s.NewGroupName) < 1 { 26663 invalidParams.Add(request.NewErrParamMinLen("NewGroupName", 1)) 26664 } 26665 if s.NewPath != nil && len(*s.NewPath) < 1 { 26666 invalidParams.Add(request.NewErrParamMinLen("NewPath", 1)) 26667 } 26668 26669 if invalidParams.Len() > 0 { 26670 return invalidParams 26671 } 26672 return nil 26673} 26674 26675// SetGroupName sets the GroupName field's value. 26676func (s *UpdateGroupInput) SetGroupName(v string) *UpdateGroupInput { 26677 s.GroupName = &v 26678 return s 26679} 26680 26681// SetNewGroupName sets the NewGroupName field's value. 26682func (s *UpdateGroupInput) SetNewGroupName(v string) *UpdateGroupInput { 26683 s.NewGroupName = &v 26684 return s 26685} 26686 26687// SetNewPath sets the NewPath field's value. 26688func (s *UpdateGroupInput) SetNewPath(v string) *UpdateGroupInput { 26689 s.NewPath = &v 26690 return s 26691} 26692 26693// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/UpdateGroupOutput 26694type UpdateGroupOutput struct { 26695 _ struct{} `type:"structure"` 26696} 26697 26698// String returns the string representation 26699func (s UpdateGroupOutput) String() string { 26700 return awsutil.Prettify(s) 26701} 26702 26703// GoString returns the string representation 26704func (s UpdateGroupOutput) GoString() string { 26705 return s.String() 26706} 26707 26708// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/UpdateLoginProfileRequest 26709type UpdateLoginProfileInput struct { 26710 _ struct{} `type:"structure"` 26711 26712 // The new password for the specified IAM user. 26713 // 26714 // The regex pattern (http://wikipedia.org/wiki/regex) used to validate this 26715 // parameter is a string of characters consisting of any printable ASCII character 26716 // ranging from the space character (\u0020) through end of the ASCII character 26717 // range as well as the printable characters in the Basic Latin and Latin-1 26718 // Supplement character set (through \u00FF). It also includes the special characters 26719 // tab (\u0009), line feed (\u000A), and carriage return (\u000D). However, 26720 // the format can be further restricted by the account administrator by setting 26721 // a password policy on the AWS account. For more information, see UpdateAccountPasswordPolicy. 26722 Password *string `min:"1" type:"string"` 26723 26724 // Allows this new password to be used only once by requiring the specified 26725 // IAM user to set a new password on next sign-in. 26726 PasswordResetRequired *bool `type:"boolean"` 26727 26728 // The name of the user whose password you want to update. 26729 // 26730 // This parameter allows (per its regex pattern (http://wikipedia.org/wiki/regex)) 26731 // a string of characters consisting of upper and lowercase alphanumeric characters 26732 // with no spaces. You can also include any of the following characters: =,.@- 26733 // 26734 // UserName is a required field 26735 UserName *string `min:"1" type:"string" required:"true"` 26736} 26737 26738// String returns the string representation 26739func (s UpdateLoginProfileInput) String() string { 26740 return awsutil.Prettify(s) 26741} 26742 26743// GoString returns the string representation 26744func (s UpdateLoginProfileInput) GoString() string { 26745 return s.String() 26746} 26747 26748// Validate inspects the fields of the type to determine if they are valid. 26749func (s *UpdateLoginProfileInput) Validate() error { 26750 invalidParams := request.ErrInvalidParams{Context: "UpdateLoginProfileInput"} 26751 if s.Password != nil && len(*s.Password) < 1 { 26752 invalidParams.Add(request.NewErrParamMinLen("Password", 1)) 26753 } 26754 if s.UserName == nil { 26755 invalidParams.Add(request.NewErrParamRequired("UserName")) 26756 } 26757 if s.UserName != nil && len(*s.UserName) < 1 { 26758 invalidParams.Add(request.NewErrParamMinLen("UserName", 1)) 26759 } 26760 26761 if invalidParams.Len() > 0 { 26762 return invalidParams 26763 } 26764 return nil 26765} 26766 26767// SetPassword sets the Password field's value. 26768func (s *UpdateLoginProfileInput) SetPassword(v string) *UpdateLoginProfileInput { 26769 s.Password = &v 26770 return s 26771} 26772 26773// SetPasswordResetRequired sets the PasswordResetRequired field's value. 26774func (s *UpdateLoginProfileInput) SetPasswordResetRequired(v bool) *UpdateLoginProfileInput { 26775 s.PasswordResetRequired = &v 26776 return s 26777} 26778 26779// SetUserName sets the UserName field's value. 26780func (s *UpdateLoginProfileInput) SetUserName(v string) *UpdateLoginProfileInput { 26781 s.UserName = &v 26782 return s 26783} 26784 26785// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/UpdateLoginProfileOutput 26786type UpdateLoginProfileOutput struct { 26787 _ struct{} `type:"structure"` 26788} 26789 26790// String returns the string representation 26791func (s UpdateLoginProfileOutput) String() string { 26792 return awsutil.Prettify(s) 26793} 26794 26795// GoString returns the string representation 26796func (s UpdateLoginProfileOutput) GoString() string { 26797 return s.String() 26798} 26799 26800// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/UpdateOpenIDConnectProviderThumbprintRequest 26801type UpdateOpenIDConnectProviderThumbprintInput struct { 26802 _ struct{} `type:"structure"` 26803 26804 // The Amazon Resource Name (ARN) of the IAM OIDC provider resource object for 26805 // which you want to update the thumbprint. You can get a list of OIDC provider 26806 // ARNs by using the ListOpenIDConnectProviders action. 26807 // 26808 // For more information about ARNs, see Amazon Resource Names (ARNs) and AWS 26809 // Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) 26810 // in the AWS General Reference. 26811 // 26812 // OpenIDConnectProviderArn is a required field 26813 OpenIDConnectProviderArn *string `min:"20" type:"string" required:"true"` 26814 26815 // A list of certificate thumbprints that are associated with the specified 26816 // IAM OpenID Connect provider. For more information, see CreateOpenIDConnectProvider. 26817 // 26818 // ThumbprintList is a required field 26819 ThumbprintList []*string `type:"list" required:"true"` 26820} 26821 26822// String returns the string representation 26823func (s UpdateOpenIDConnectProviderThumbprintInput) String() string { 26824 return awsutil.Prettify(s) 26825} 26826 26827// GoString returns the string representation 26828func (s UpdateOpenIDConnectProviderThumbprintInput) GoString() string { 26829 return s.String() 26830} 26831 26832// Validate inspects the fields of the type to determine if they are valid. 26833func (s *UpdateOpenIDConnectProviderThumbprintInput) Validate() error { 26834 invalidParams := request.ErrInvalidParams{Context: "UpdateOpenIDConnectProviderThumbprintInput"} 26835 if s.OpenIDConnectProviderArn == nil { 26836 invalidParams.Add(request.NewErrParamRequired("OpenIDConnectProviderArn")) 26837 } 26838 if s.OpenIDConnectProviderArn != nil && len(*s.OpenIDConnectProviderArn) < 20 { 26839 invalidParams.Add(request.NewErrParamMinLen("OpenIDConnectProviderArn", 20)) 26840 } 26841 if s.ThumbprintList == nil { 26842 invalidParams.Add(request.NewErrParamRequired("ThumbprintList")) 26843 } 26844 26845 if invalidParams.Len() > 0 { 26846 return invalidParams 26847 } 26848 return nil 26849} 26850 26851// SetOpenIDConnectProviderArn sets the OpenIDConnectProviderArn field's value. 26852func (s *UpdateOpenIDConnectProviderThumbprintInput) SetOpenIDConnectProviderArn(v string) *UpdateOpenIDConnectProviderThumbprintInput { 26853 s.OpenIDConnectProviderArn = &v 26854 return s 26855} 26856 26857// SetThumbprintList sets the ThumbprintList field's value. 26858func (s *UpdateOpenIDConnectProviderThumbprintInput) SetThumbprintList(v []*string) *UpdateOpenIDConnectProviderThumbprintInput { 26859 s.ThumbprintList = v 26860 return s 26861} 26862 26863// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/UpdateOpenIDConnectProviderThumbprintOutput 26864type UpdateOpenIDConnectProviderThumbprintOutput struct { 26865 _ struct{} `type:"structure"` 26866} 26867 26868// String returns the string representation 26869func (s UpdateOpenIDConnectProviderThumbprintOutput) String() string { 26870 return awsutil.Prettify(s) 26871} 26872 26873// GoString returns the string representation 26874func (s UpdateOpenIDConnectProviderThumbprintOutput) GoString() string { 26875 return s.String() 26876} 26877 26878// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/UpdateRoleDescriptionRequest 26879type UpdateRoleDescriptionInput struct { 26880 _ struct{} `type:"structure"` 26881 26882 // The new description that you want to apply to the specified role. 26883 // 26884 // Description is a required field 26885 Description *string `type:"string" required:"true"` 26886 26887 // The name of the role that you want to modify. 26888 // 26889 // RoleName is a required field 26890 RoleName *string `min:"1" type:"string" required:"true"` 26891} 26892 26893// String returns the string representation 26894func (s UpdateRoleDescriptionInput) String() string { 26895 return awsutil.Prettify(s) 26896} 26897 26898// GoString returns the string representation 26899func (s UpdateRoleDescriptionInput) GoString() string { 26900 return s.String() 26901} 26902 26903// Validate inspects the fields of the type to determine if they are valid. 26904func (s *UpdateRoleDescriptionInput) Validate() error { 26905 invalidParams := request.ErrInvalidParams{Context: "UpdateRoleDescriptionInput"} 26906 if s.Description == nil { 26907 invalidParams.Add(request.NewErrParamRequired("Description")) 26908 } 26909 if s.RoleName == nil { 26910 invalidParams.Add(request.NewErrParamRequired("RoleName")) 26911 } 26912 if s.RoleName != nil && len(*s.RoleName) < 1 { 26913 invalidParams.Add(request.NewErrParamMinLen("RoleName", 1)) 26914 } 26915 26916 if invalidParams.Len() > 0 { 26917 return invalidParams 26918 } 26919 return nil 26920} 26921 26922// SetDescription sets the Description field's value. 26923func (s *UpdateRoleDescriptionInput) SetDescription(v string) *UpdateRoleDescriptionInput { 26924 s.Description = &v 26925 return s 26926} 26927 26928// SetRoleName sets the RoleName field's value. 26929func (s *UpdateRoleDescriptionInput) SetRoleName(v string) *UpdateRoleDescriptionInput { 26930 s.RoleName = &v 26931 return s 26932} 26933 26934// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/UpdateRoleDescriptionResponse 26935type UpdateRoleDescriptionOutput struct { 26936 _ struct{} `type:"structure"` 26937 26938 // A structure that contains details about the modified role. 26939 Role *Role `type:"structure"` 26940} 26941 26942// String returns the string representation 26943func (s UpdateRoleDescriptionOutput) String() string { 26944 return awsutil.Prettify(s) 26945} 26946 26947// GoString returns the string representation 26948func (s UpdateRoleDescriptionOutput) GoString() string { 26949 return s.String() 26950} 26951 26952// SetRole sets the Role field's value. 26953func (s *UpdateRoleDescriptionOutput) SetRole(v *Role) *UpdateRoleDescriptionOutput { 26954 s.Role = v 26955 return s 26956} 26957 26958// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/UpdateSAMLProviderRequest 26959type UpdateSAMLProviderInput struct { 26960 _ struct{} `type:"structure"` 26961 26962 // An XML document generated by an identity provider (IdP) that supports SAML 26963 // 2.0. The document includes the issuer's name, expiration information, and 26964 // keys that can be used to validate the SAML authentication response (assertions) 26965 // that are received from the IdP. You must generate the metadata document using 26966 // the identity management software that is used as your organization's IdP. 26967 // 26968 // SAMLMetadataDocument is a required field 26969 SAMLMetadataDocument *string `min:"1000" type:"string" required:"true"` 26970 26971 // The Amazon Resource Name (ARN) of the SAML provider to update. 26972 // 26973 // For more information about ARNs, see Amazon Resource Names (ARNs) and AWS 26974 // Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) 26975 // in the AWS General Reference. 26976 // 26977 // SAMLProviderArn is a required field 26978 SAMLProviderArn *string `min:"20" type:"string" required:"true"` 26979} 26980 26981// String returns the string representation 26982func (s UpdateSAMLProviderInput) String() string { 26983 return awsutil.Prettify(s) 26984} 26985 26986// GoString returns the string representation 26987func (s UpdateSAMLProviderInput) GoString() string { 26988 return s.String() 26989} 26990 26991// Validate inspects the fields of the type to determine if they are valid. 26992func (s *UpdateSAMLProviderInput) Validate() error { 26993 invalidParams := request.ErrInvalidParams{Context: "UpdateSAMLProviderInput"} 26994 if s.SAMLMetadataDocument == nil { 26995 invalidParams.Add(request.NewErrParamRequired("SAMLMetadataDocument")) 26996 } 26997 if s.SAMLMetadataDocument != nil && len(*s.SAMLMetadataDocument) < 1000 { 26998 invalidParams.Add(request.NewErrParamMinLen("SAMLMetadataDocument", 1000)) 26999 } 27000 if s.SAMLProviderArn == nil { 27001 invalidParams.Add(request.NewErrParamRequired("SAMLProviderArn")) 27002 } 27003 if s.SAMLProviderArn != nil && len(*s.SAMLProviderArn) < 20 { 27004 invalidParams.Add(request.NewErrParamMinLen("SAMLProviderArn", 20)) 27005 } 27006 27007 if invalidParams.Len() > 0 { 27008 return invalidParams 27009 } 27010 return nil 27011} 27012 27013// SetSAMLMetadataDocument sets the SAMLMetadataDocument field's value. 27014func (s *UpdateSAMLProviderInput) SetSAMLMetadataDocument(v string) *UpdateSAMLProviderInput { 27015 s.SAMLMetadataDocument = &v 27016 return s 27017} 27018 27019// SetSAMLProviderArn sets the SAMLProviderArn field's value. 27020func (s *UpdateSAMLProviderInput) SetSAMLProviderArn(v string) *UpdateSAMLProviderInput { 27021 s.SAMLProviderArn = &v 27022 return s 27023} 27024 27025// Contains the response to a successful UpdateSAMLProvider request. 27026// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/UpdateSAMLProviderResponse 27027type UpdateSAMLProviderOutput struct { 27028 _ struct{} `type:"structure"` 27029 27030 // The Amazon Resource Name (ARN) of the SAML provider that was updated. 27031 SAMLProviderArn *string `min:"20" type:"string"` 27032} 27033 27034// String returns the string representation 27035func (s UpdateSAMLProviderOutput) String() string { 27036 return awsutil.Prettify(s) 27037} 27038 27039// GoString returns the string representation 27040func (s UpdateSAMLProviderOutput) GoString() string { 27041 return s.String() 27042} 27043 27044// SetSAMLProviderArn sets the SAMLProviderArn field's value. 27045func (s *UpdateSAMLProviderOutput) SetSAMLProviderArn(v string) *UpdateSAMLProviderOutput { 27046 s.SAMLProviderArn = &v 27047 return s 27048} 27049 27050// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/UpdateSSHPublicKeyRequest 27051type UpdateSSHPublicKeyInput struct { 27052 _ struct{} `type:"structure"` 27053 27054 // The unique identifier for the SSH public key. 27055 // 27056 // This parameter allows (per its regex pattern (http://wikipedia.org/wiki/regex)) 27057 // a string of characters that can consist of any upper or lowercased letter 27058 // or digit. 27059 // 27060 // SSHPublicKeyId is a required field 27061 SSHPublicKeyId *string `min:"20" type:"string" required:"true"` 27062 27063 // The status to assign to the SSH public key. Active means the key can be used 27064 // for authentication with an AWS CodeCommit repository. Inactive means the 27065 // key cannot be used. 27066 // 27067 // Status is a required field 27068 Status *string `type:"string" required:"true" enum:"statusType"` 27069 27070 // The name of the IAM user associated with the SSH public key. 27071 // 27072 // This parameter allows (per its regex pattern (http://wikipedia.org/wiki/regex)) 27073 // a string of characters consisting of upper and lowercase alphanumeric characters 27074 // with no spaces. You can also include any of the following characters: =,.@- 27075 // 27076 // UserName is a required field 27077 UserName *string `min:"1" type:"string" required:"true"` 27078} 27079 27080// String returns the string representation 27081func (s UpdateSSHPublicKeyInput) String() string { 27082 return awsutil.Prettify(s) 27083} 27084 27085// GoString returns the string representation 27086func (s UpdateSSHPublicKeyInput) GoString() string { 27087 return s.String() 27088} 27089 27090// Validate inspects the fields of the type to determine if they are valid. 27091func (s *UpdateSSHPublicKeyInput) Validate() error { 27092 invalidParams := request.ErrInvalidParams{Context: "UpdateSSHPublicKeyInput"} 27093 if s.SSHPublicKeyId == nil { 27094 invalidParams.Add(request.NewErrParamRequired("SSHPublicKeyId")) 27095 } 27096 if s.SSHPublicKeyId != nil && len(*s.SSHPublicKeyId) < 20 { 27097 invalidParams.Add(request.NewErrParamMinLen("SSHPublicKeyId", 20)) 27098 } 27099 if s.Status == nil { 27100 invalidParams.Add(request.NewErrParamRequired("Status")) 27101 } 27102 if s.UserName == nil { 27103 invalidParams.Add(request.NewErrParamRequired("UserName")) 27104 } 27105 if s.UserName != nil && len(*s.UserName) < 1 { 27106 invalidParams.Add(request.NewErrParamMinLen("UserName", 1)) 27107 } 27108 27109 if invalidParams.Len() > 0 { 27110 return invalidParams 27111 } 27112 return nil 27113} 27114 27115// SetSSHPublicKeyId sets the SSHPublicKeyId field's value. 27116func (s *UpdateSSHPublicKeyInput) SetSSHPublicKeyId(v string) *UpdateSSHPublicKeyInput { 27117 s.SSHPublicKeyId = &v 27118 return s 27119} 27120 27121// SetStatus sets the Status field's value. 27122func (s *UpdateSSHPublicKeyInput) SetStatus(v string) *UpdateSSHPublicKeyInput { 27123 s.Status = &v 27124 return s 27125} 27126 27127// SetUserName sets the UserName field's value. 27128func (s *UpdateSSHPublicKeyInput) SetUserName(v string) *UpdateSSHPublicKeyInput { 27129 s.UserName = &v 27130 return s 27131} 27132 27133// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/UpdateSSHPublicKeyOutput 27134type UpdateSSHPublicKeyOutput struct { 27135 _ struct{} `type:"structure"` 27136} 27137 27138// String returns the string representation 27139func (s UpdateSSHPublicKeyOutput) String() string { 27140 return awsutil.Prettify(s) 27141} 27142 27143// GoString returns the string representation 27144func (s UpdateSSHPublicKeyOutput) GoString() string { 27145 return s.String() 27146} 27147 27148// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/UpdateServerCertificateRequest 27149type UpdateServerCertificateInput struct { 27150 _ struct{} `type:"structure"` 27151 27152 // The new path for the server certificate. Include this only if you are updating 27153 // the server certificate's path. 27154 // 27155 // This paramater allows (per its regex pattern (http://wikipedia.org/wiki/regex)) 27156 // a string of characters consisting of either a forward slash (/) by itself 27157 // or a string that must begin and end with forward slashes, containing any 27158 // ASCII character from the ! (\u0021) thru the DEL character (\u007F), including 27159 // most punctuation characters, digits, and upper and lowercased letters. 27160 NewPath *string `min:"1" type:"string"` 27161 27162 // The new name for the server certificate. Include this only if you are updating 27163 // the server certificate's name. The name of the certificate cannot contain 27164 // any spaces. 27165 // 27166 // This parameter allows (per its regex pattern (http://wikipedia.org/wiki/regex)) 27167 // a string of characters consisting of upper and lowercase alphanumeric characters 27168 // with no spaces. You can also include any of the following characters: =,.@- 27169 NewServerCertificateName *string `min:"1" type:"string"` 27170 27171 // The name of the server certificate that you want to update. 27172 // 27173 // This parameter allows (per its regex pattern (http://wikipedia.org/wiki/regex)) 27174 // a string of characters consisting of upper and lowercase alphanumeric characters 27175 // with no spaces. You can also include any of the following characters: =,.@- 27176 // 27177 // ServerCertificateName is a required field 27178 ServerCertificateName *string `min:"1" type:"string" required:"true"` 27179} 27180 27181// String returns the string representation 27182func (s UpdateServerCertificateInput) String() string { 27183 return awsutil.Prettify(s) 27184} 27185 27186// GoString returns the string representation 27187func (s UpdateServerCertificateInput) GoString() string { 27188 return s.String() 27189} 27190 27191// Validate inspects the fields of the type to determine if they are valid. 27192func (s *UpdateServerCertificateInput) Validate() error { 27193 invalidParams := request.ErrInvalidParams{Context: "UpdateServerCertificateInput"} 27194 if s.NewPath != nil && len(*s.NewPath) < 1 { 27195 invalidParams.Add(request.NewErrParamMinLen("NewPath", 1)) 27196 } 27197 if s.NewServerCertificateName != nil && len(*s.NewServerCertificateName) < 1 { 27198 invalidParams.Add(request.NewErrParamMinLen("NewServerCertificateName", 1)) 27199 } 27200 if s.ServerCertificateName == nil { 27201 invalidParams.Add(request.NewErrParamRequired("ServerCertificateName")) 27202 } 27203 if s.ServerCertificateName != nil && len(*s.ServerCertificateName) < 1 { 27204 invalidParams.Add(request.NewErrParamMinLen("ServerCertificateName", 1)) 27205 } 27206 27207 if invalidParams.Len() > 0 { 27208 return invalidParams 27209 } 27210 return nil 27211} 27212 27213// SetNewPath sets the NewPath field's value. 27214func (s *UpdateServerCertificateInput) SetNewPath(v string) *UpdateServerCertificateInput { 27215 s.NewPath = &v 27216 return s 27217} 27218 27219// SetNewServerCertificateName sets the NewServerCertificateName field's value. 27220func (s *UpdateServerCertificateInput) SetNewServerCertificateName(v string) *UpdateServerCertificateInput { 27221 s.NewServerCertificateName = &v 27222 return s 27223} 27224 27225// SetServerCertificateName sets the ServerCertificateName field's value. 27226func (s *UpdateServerCertificateInput) SetServerCertificateName(v string) *UpdateServerCertificateInput { 27227 s.ServerCertificateName = &v 27228 return s 27229} 27230 27231// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/UpdateServerCertificateOutput 27232type UpdateServerCertificateOutput struct { 27233 _ struct{} `type:"structure"` 27234} 27235 27236// String returns the string representation 27237func (s UpdateServerCertificateOutput) String() string { 27238 return awsutil.Prettify(s) 27239} 27240 27241// GoString returns the string representation 27242func (s UpdateServerCertificateOutput) GoString() string { 27243 return s.String() 27244} 27245 27246// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/UpdateServiceSpecificCredentialRequest 27247type UpdateServiceSpecificCredentialInput struct { 27248 _ struct{} `type:"structure"` 27249 27250 // The unique identifier of the service-specific credential. 27251 // 27252 // This parameter allows (per its regex pattern (http://wikipedia.org/wiki/regex)) 27253 // a string of characters that can consist of any upper or lowercased letter 27254 // or digit. 27255 // 27256 // ServiceSpecificCredentialId is a required field 27257 ServiceSpecificCredentialId *string `min:"20" type:"string" required:"true"` 27258 27259 // The status to be assigned to the service-specific credential. 27260 // 27261 // Status is a required field 27262 Status *string `type:"string" required:"true" enum:"statusType"` 27263 27264 // The name of the IAM user associated with the service-specific credential. 27265 // If you do not specify this value, then the operation assumes the user whose 27266 // credentials are used to call the operation. 27267 // 27268 // This parameter allows (per its regex pattern (http://wikipedia.org/wiki/regex)) 27269 // a string of characters consisting of upper and lowercase alphanumeric characters 27270 // with no spaces. You can also include any of the following characters: =,.@- 27271 UserName *string `min:"1" type:"string"` 27272} 27273 27274// String returns the string representation 27275func (s UpdateServiceSpecificCredentialInput) String() string { 27276 return awsutil.Prettify(s) 27277} 27278 27279// GoString returns the string representation 27280func (s UpdateServiceSpecificCredentialInput) GoString() string { 27281 return s.String() 27282} 27283 27284// Validate inspects the fields of the type to determine if they are valid. 27285func (s *UpdateServiceSpecificCredentialInput) Validate() error { 27286 invalidParams := request.ErrInvalidParams{Context: "UpdateServiceSpecificCredentialInput"} 27287 if s.ServiceSpecificCredentialId == nil { 27288 invalidParams.Add(request.NewErrParamRequired("ServiceSpecificCredentialId")) 27289 } 27290 if s.ServiceSpecificCredentialId != nil && len(*s.ServiceSpecificCredentialId) < 20 { 27291 invalidParams.Add(request.NewErrParamMinLen("ServiceSpecificCredentialId", 20)) 27292 } 27293 if s.Status == nil { 27294 invalidParams.Add(request.NewErrParamRequired("Status")) 27295 } 27296 if s.UserName != nil && len(*s.UserName) < 1 { 27297 invalidParams.Add(request.NewErrParamMinLen("UserName", 1)) 27298 } 27299 27300 if invalidParams.Len() > 0 { 27301 return invalidParams 27302 } 27303 return nil 27304} 27305 27306// SetServiceSpecificCredentialId sets the ServiceSpecificCredentialId field's value. 27307func (s *UpdateServiceSpecificCredentialInput) SetServiceSpecificCredentialId(v string) *UpdateServiceSpecificCredentialInput { 27308 s.ServiceSpecificCredentialId = &v 27309 return s 27310} 27311 27312// SetStatus sets the Status field's value. 27313func (s *UpdateServiceSpecificCredentialInput) SetStatus(v string) *UpdateServiceSpecificCredentialInput { 27314 s.Status = &v 27315 return s 27316} 27317 27318// SetUserName sets the UserName field's value. 27319func (s *UpdateServiceSpecificCredentialInput) SetUserName(v string) *UpdateServiceSpecificCredentialInput { 27320 s.UserName = &v 27321 return s 27322} 27323 27324// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/UpdateServiceSpecificCredentialOutput 27325type UpdateServiceSpecificCredentialOutput struct { 27326 _ struct{} `type:"structure"` 27327} 27328 27329// String returns the string representation 27330func (s UpdateServiceSpecificCredentialOutput) String() string { 27331 return awsutil.Prettify(s) 27332} 27333 27334// GoString returns the string representation 27335func (s UpdateServiceSpecificCredentialOutput) GoString() string { 27336 return s.String() 27337} 27338 27339// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/UpdateSigningCertificateRequest 27340type UpdateSigningCertificateInput struct { 27341 _ struct{} `type:"structure"` 27342 27343 // The ID of the signing certificate you want to update. 27344 // 27345 // This parameter allows (per its regex pattern (http://wikipedia.org/wiki/regex)) 27346 // a string of characters that can consist of any upper or lowercased letter 27347 // or digit. 27348 // 27349 // CertificateId is a required field 27350 CertificateId *string `min:"24" type:"string" required:"true"` 27351 27352 // The status you want to assign to the certificate. Active means the certificate 27353 // can be used for API calls to AWS, while Inactive means the certificate cannot 27354 // be used. 27355 // 27356 // Status is a required field 27357 Status *string `type:"string" required:"true" enum:"statusType"` 27358 27359 // The name of the IAM user the signing certificate belongs to. 27360 // 27361 // This parameter allows (per its regex pattern (http://wikipedia.org/wiki/regex)) 27362 // a string of characters consisting of upper and lowercase alphanumeric characters 27363 // with no spaces. You can also include any of the following characters: =,.@- 27364 UserName *string `min:"1" type:"string"` 27365} 27366 27367// String returns the string representation 27368func (s UpdateSigningCertificateInput) String() string { 27369 return awsutil.Prettify(s) 27370} 27371 27372// GoString returns the string representation 27373func (s UpdateSigningCertificateInput) GoString() string { 27374 return s.String() 27375} 27376 27377// Validate inspects the fields of the type to determine if they are valid. 27378func (s *UpdateSigningCertificateInput) Validate() error { 27379 invalidParams := request.ErrInvalidParams{Context: "UpdateSigningCertificateInput"} 27380 if s.CertificateId == nil { 27381 invalidParams.Add(request.NewErrParamRequired("CertificateId")) 27382 } 27383 if s.CertificateId != nil && len(*s.CertificateId) < 24 { 27384 invalidParams.Add(request.NewErrParamMinLen("CertificateId", 24)) 27385 } 27386 if s.Status == nil { 27387 invalidParams.Add(request.NewErrParamRequired("Status")) 27388 } 27389 if s.UserName != nil && len(*s.UserName) < 1 { 27390 invalidParams.Add(request.NewErrParamMinLen("UserName", 1)) 27391 } 27392 27393 if invalidParams.Len() > 0 { 27394 return invalidParams 27395 } 27396 return nil 27397} 27398 27399// SetCertificateId sets the CertificateId field's value. 27400func (s *UpdateSigningCertificateInput) SetCertificateId(v string) *UpdateSigningCertificateInput { 27401 s.CertificateId = &v 27402 return s 27403} 27404 27405// SetStatus sets the Status field's value. 27406func (s *UpdateSigningCertificateInput) SetStatus(v string) *UpdateSigningCertificateInput { 27407 s.Status = &v 27408 return s 27409} 27410 27411// SetUserName sets the UserName field's value. 27412func (s *UpdateSigningCertificateInput) SetUserName(v string) *UpdateSigningCertificateInput { 27413 s.UserName = &v 27414 return s 27415} 27416 27417// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/UpdateSigningCertificateOutput 27418type UpdateSigningCertificateOutput struct { 27419 _ struct{} `type:"structure"` 27420} 27421 27422// String returns the string representation 27423func (s UpdateSigningCertificateOutput) String() string { 27424 return awsutil.Prettify(s) 27425} 27426 27427// GoString returns the string representation 27428func (s UpdateSigningCertificateOutput) GoString() string { 27429 return s.String() 27430} 27431 27432// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/UpdateUserRequest 27433type UpdateUserInput struct { 27434 _ struct{} `type:"structure"` 27435 27436 // New path for the IAM user. Include this parameter only if you're changing 27437 // the user's path. 27438 // 27439 // This paramater allows (per its regex pattern (http://wikipedia.org/wiki/regex)) 27440 // a string of characters consisting of either a forward slash (/) by itself 27441 // or a string that must begin and end with forward slashes, containing any 27442 // ASCII character from the ! (\u0021) thru the DEL character (\u007F), including 27443 // most punctuation characters, digits, and upper and lowercased letters. 27444 NewPath *string `min:"1" type:"string"` 27445 27446 // New name for the user. Include this parameter only if you're changing the 27447 // user's name. 27448 // 27449 // This parameter allows (per its regex pattern (http://wikipedia.org/wiki/regex)) 27450 // a string of characters consisting of upper and lowercase alphanumeric characters 27451 // with no spaces. You can also include any of the following characters: =,.@- 27452 NewUserName *string `min:"1" type:"string"` 27453 27454 // Name of the user to update. If you're changing the name of the user, this 27455 // is the original user name. 27456 // 27457 // This parameter allows (per its regex pattern (http://wikipedia.org/wiki/regex)) 27458 // a string of characters consisting of upper and lowercase alphanumeric characters 27459 // with no spaces. You can also include any of the following characters: =,.@- 27460 // 27461 // UserName is a required field 27462 UserName *string `min:"1" type:"string" required:"true"` 27463} 27464 27465// String returns the string representation 27466func (s UpdateUserInput) String() string { 27467 return awsutil.Prettify(s) 27468} 27469 27470// GoString returns the string representation 27471func (s UpdateUserInput) GoString() string { 27472 return s.String() 27473} 27474 27475// Validate inspects the fields of the type to determine if they are valid. 27476func (s *UpdateUserInput) Validate() error { 27477 invalidParams := request.ErrInvalidParams{Context: "UpdateUserInput"} 27478 if s.NewPath != nil && len(*s.NewPath) < 1 { 27479 invalidParams.Add(request.NewErrParamMinLen("NewPath", 1)) 27480 } 27481 if s.NewUserName != nil && len(*s.NewUserName) < 1 { 27482 invalidParams.Add(request.NewErrParamMinLen("NewUserName", 1)) 27483 } 27484 if s.UserName == nil { 27485 invalidParams.Add(request.NewErrParamRequired("UserName")) 27486 } 27487 if s.UserName != nil && len(*s.UserName) < 1 { 27488 invalidParams.Add(request.NewErrParamMinLen("UserName", 1)) 27489 } 27490 27491 if invalidParams.Len() > 0 { 27492 return invalidParams 27493 } 27494 return nil 27495} 27496 27497// SetNewPath sets the NewPath field's value. 27498func (s *UpdateUserInput) SetNewPath(v string) *UpdateUserInput { 27499 s.NewPath = &v 27500 return s 27501} 27502 27503// SetNewUserName sets the NewUserName field's value. 27504func (s *UpdateUserInput) SetNewUserName(v string) *UpdateUserInput { 27505 s.NewUserName = &v 27506 return s 27507} 27508 27509// SetUserName sets the UserName field's value. 27510func (s *UpdateUserInput) SetUserName(v string) *UpdateUserInput { 27511 s.UserName = &v 27512 return s 27513} 27514 27515// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/UpdateUserOutput 27516type UpdateUserOutput struct { 27517 _ struct{} `type:"structure"` 27518} 27519 27520// String returns the string representation 27521func (s UpdateUserOutput) String() string { 27522 return awsutil.Prettify(s) 27523} 27524 27525// GoString returns the string representation 27526func (s UpdateUserOutput) GoString() string { 27527 return s.String() 27528} 27529 27530// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/UploadSSHPublicKeyRequest 27531type UploadSSHPublicKeyInput struct { 27532 _ struct{} `type:"structure"` 27533 27534 // The SSH public key. The public key must be encoded in ssh-rsa format or PEM 27535 // format. 27536 // 27537 // The regex pattern (http://wikipedia.org/wiki/regex) used to validate this 27538 // parameter is a string of characters consisting of any printable ASCII character 27539 // ranging from the space character (\u0020) through end of the ASCII character 27540 // range as well as the printable characters in the Basic Latin and Latin-1 27541 // Supplement character set (through \u00FF). It also includes the special characters 27542 // tab (\u0009), line feed (\u000A), and carriage return (\u000D). 27543 // 27544 // SSHPublicKeyBody is a required field 27545 SSHPublicKeyBody *string `min:"1" type:"string" required:"true"` 27546 27547 // The name of the IAM user to associate the SSH public key with. 27548 // 27549 // This parameter allows (per its regex pattern (http://wikipedia.org/wiki/regex)) 27550 // a string of characters consisting of upper and lowercase alphanumeric characters 27551 // with no spaces. You can also include any of the following characters: =,.@- 27552 // 27553 // UserName is a required field 27554 UserName *string `min:"1" type:"string" required:"true"` 27555} 27556 27557// String returns the string representation 27558func (s UploadSSHPublicKeyInput) String() string { 27559 return awsutil.Prettify(s) 27560} 27561 27562// GoString returns the string representation 27563func (s UploadSSHPublicKeyInput) GoString() string { 27564 return s.String() 27565} 27566 27567// Validate inspects the fields of the type to determine if they are valid. 27568func (s *UploadSSHPublicKeyInput) Validate() error { 27569 invalidParams := request.ErrInvalidParams{Context: "UploadSSHPublicKeyInput"} 27570 if s.SSHPublicKeyBody == nil { 27571 invalidParams.Add(request.NewErrParamRequired("SSHPublicKeyBody")) 27572 } 27573 if s.SSHPublicKeyBody != nil && len(*s.SSHPublicKeyBody) < 1 { 27574 invalidParams.Add(request.NewErrParamMinLen("SSHPublicKeyBody", 1)) 27575 } 27576 if s.UserName == nil { 27577 invalidParams.Add(request.NewErrParamRequired("UserName")) 27578 } 27579 if s.UserName != nil && len(*s.UserName) < 1 { 27580 invalidParams.Add(request.NewErrParamMinLen("UserName", 1)) 27581 } 27582 27583 if invalidParams.Len() > 0 { 27584 return invalidParams 27585 } 27586 return nil 27587} 27588 27589// SetSSHPublicKeyBody sets the SSHPublicKeyBody field's value. 27590func (s *UploadSSHPublicKeyInput) SetSSHPublicKeyBody(v string) *UploadSSHPublicKeyInput { 27591 s.SSHPublicKeyBody = &v 27592 return s 27593} 27594 27595// SetUserName sets the UserName field's value. 27596func (s *UploadSSHPublicKeyInput) SetUserName(v string) *UploadSSHPublicKeyInput { 27597 s.UserName = &v 27598 return s 27599} 27600 27601// Contains the response to a successful UploadSSHPublicKey request. 27602// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/UploadSSHPublicKeyResponse 27603type UploadSSHPublicKeyOutput struct { 27604 _ struct{} `type:"structure"` 27605 27606 // Contains information about the SSH public key. 27607 SSHPublicKey *SSHPublicKey `type:"structure"` 27608} 27609 27610// String returns the string representation 27611func (s UploadSSHPublicKeyOutput) String() string { 27612 return awsutil.Prettify(s) 27613} 27614 27615// GoString returns the string representation 27616func (s UploadSSHPublicKeyOutput) GoString() string { 27617 return s.String() 27618} 27619 27620// SetSSHPublicKey sets the SSHPublicKey field's value. 27621func (s *UploadSSHPublicKeyOutput) SetSSHPublicKey(v *SSHPublicKey) *UploadSSHPublicKeyOutput { 27622 s.SSHPublicKey = v 27623 return s 27624} 27625 27626// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/UploadServerCertificateRequest 27627type UploadServerCertificateInput struct { 27628 _ struct{} `type:"structure"` 27629 27630 // The contents of the public key certificate in PEM-encoded format. 27631 // 27632 // The regex pattern (http://wikipedia.org/wiki/regex) used to validate this 27633 // parameter is a string of characters consisting of any printable ASCII character 27634 // ranging from the space character (\u0020) through end of the ASCII character 27635 // range as well as the printable characters in the Basic Latin and Latin-1 27636 // Supplement character set (through \u00FF). It also includes the special characters 27637 // tab (\u0009), line feed (\u000A), and carriage return (\u000D). 27638 // 27639 // CertificateBody is a required field 27640 CertificateBody *string `min:"1" type:"string" required:"true"` 27641 27642 // The contents of the certificate chain. This is typically a concatenation 27643 // of the PEM-encoded public key certificates of the chain. 27644 // 27645 // The regex pattern (http://wikipedia.org/wiki/regex) used to validate this 27646 // parameter is a string of characters consisting of any printable ASCII character 27647 // ranging from the space character (\u0020) through end of the ASCII character 27648 // range as well as the printable characters in the Basic Latin and Latin-1 27649 // Supplement character set (through \u00FF). It also includes the special characters 27650 // tab (\u0009), line feed (\u000A), and carriage return (\u000D). 27651 CertificateChain *string `min:"1" type:"string"` 27652 27653 // The path for the server certificate. For more information about paths, see 27654 // IAM Identifiers (http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html) 27655 // in the IAM User Guide. 27656 // 27657 // This parameter is optional. If it is not included, it defaults to a slash 27658 // (/). This paramater allows (per its regex pattern (http://wikipedia.org/wiki/regex)) 27659 // a string of characters consisting of either a forward slash (/) by itself 27660 // or a string that must begin and end with forward slashes, containing any 27661 // ASCII character from the ! (\u0021) thru the DEL character (\u007F), including 27662 // most punctuation characters, digits, and upper and lowercased letters. 27663 // 27664 // If you are uploading a server certificate specifically for use with Amazon 27665 // CloudFront distributions, you must specify a path using the --path option. 27666 // The path must begin with /cloudfront and must include a trailing slash (for 27667 // example, /cloudfront/test/). 27668 Path *string `min:"1" type:"string"` 27669 27670 // The contents of the private key in PEM-encoded format. 27671 // 27672 // The regex pattern (http://wikipedia.org/wiki/regex) used to validate this 27673 // parameter is a string of characters consisting of any printable ASCII character 27674 // ranging from the space character (\u0020) through end of the ASCII character 27675 // range as well as the printable characters in the Basic Latin and Latin-1 27676 // Supplement character set (through \u00FF). It also includes the special characters 27677 // tab (\u0009), line feed (\u000A), and carriage return (\u000D). 27678 // 27679 // PrivateKey is a required field 27680 PrivateKey *string `min:"1" type:"string" required:"true"` 27681 27682 // The name for the server certificate. Do not include the path in this value. 27683 // The name of the certificate cannot contain any spaces. 27684 // 27685 // This parameter allows (per its regex pattern (http://wikipedia.org/wiki/regex)) 27686 // a string of characters consisting of upper and lowercase alphanumeric characters 27687 // with no spaces. You can also include any of the following characters: =,.@- 27688 // 27689 // ServerCertificateName is a required field 27690 ServerCertificateName *string `min:"1" type:"string" required:"true"` 27691} 27692 27693// String returns the string representation 27694func (s UploadServerCertificateInput) String() string { 27695 return awsutil.Prettify(s) 27696} 27697 27698// GoString returns the string representation 27699func (s UploadServerCertificateInput) GoString() string { 27700 return s.String() 27701} 27702 27703// Validate inspects the fields of the type to determine if they are valid. 27704func (s *UploadServerCertificateInput) Validate() error { 27705 invalidParams := request.ErrInvalidParams{Context: "UploadServerCertificateInput"} 27706 if s.CertificateBody == nil { 27707 invalidParams.Add(request.NewErrParamRequired("CertificateBody")) 27708 } 27709 if s.CertificateBody != nil && len(*s.CertificateBody) < 1 { 27710 invalidParams.Add(request.NewErrParamMinLen("CertificateBody", 1)) 27711 } 27712 if s.CertificateChain != nil && len(*s.CertificateChain) < 1 { 27713 invalidParams.Add(request.NewErrParamMinLen("CertificateChain", 1)) 27714 } 27715 if s.Path != nil && len(*s.Path) < 1 { 27716 invalidParams.Add(request.NewErrParamMinLen("Path", 1)) 27717 } 27718 if s.PrivateKey == nil { 27719 invalidParams.Add(request.NewErrParamRequired("PrivateKey")) 27720 } 27721 if s.PrivateKey != nil && len(*s.PrivateKey) < 1 { 27722 invalidParams.Add(request.NewErrParamMinLen("PrivateKey", 1)) 27723 } 27724 if s.ServerCertificateName == nil { 27725 invalidParams.Add(request.NewErrParamRequired("ServerCertificateName")) 27726 } 27727 if s.ServerCertificateName != nil && len(*s.ServerCertificateName) < 1 { 27728 invalidParams.Add(request.NewErrParamMinLen("ServerCertificateName", 1)) 27729 } 27730 27731 if invalidParams.Len() > 0 { 27732 return invalidParams 27733 } 27734 return nil 27735} 27736 27737// SetCertificateBody sets the CertificateBody field's value. 27738func (s *UploadServerCertificateInput) SetCertificateBody(v string) *UploadServerCertificateInput { 27739 s.CertificateBody = &v 27740 return s 27741} 27742 27743// SetCertificateChain sets the CertificateChain field's value. 27744func (s *UploadServerCertificateInput) SetCertificateChain(v string) *UploadServerCertificateInput { 27745 s.CertificateChain = &v 27746 return s 27747} 27748 27749// SetPath sets the Path field's value. 27750func (s *UploadServerCertificateInput) SetPath(v string) *UploadServerCertificateInput { 27751 s.Path = &v 27752 return s 27753} 27754 27755// SetPrivateKey sets the PrivateKey field's value. 27756func (s *UploadServerCertificateInput) SetPrivateKey(v string) *UploadServerCertificateInput { 27757 s.PrivateKey = &v 27758 return s 27759} 27760 27761// SetServerCertificateName sets the ServerCertificateName field's value. 27762func (s *UploadServerCertificateInput) SetServerCertificateName(v string) *UploadServerCertificateInput { 27763 s.ServerCertificateName = &v 27764 return s 27765} 27766 27767// Contains the response to a successful UploadServerCertificate request. 27768// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/UploadServerCertificateResponse 27769type UploadServerCertificateOutput struct { 27770 _ struct{} `type:"structure"` 27771 27772 // The meta information of the uploaded server certificate without its certificate 27773 // body, certificate chain, and private key. 27774 ServerCertificateMetadata *ServerCertificateMetadata `type:"structure"` 27775} 27776 27777// String returns the string representation 27778func (s UploadServerCertificateOutput) String() string { 27779 return awsutil.Prettify(s) 27780} 27781 27782// GoString returns the string representation 27783func (s UploadServerCertificateOutput) GoString() string { 27784 return s.String() 27785} 27786 27787// SetServerCertificateMetadata sets the ServerCertificateMetadata field's value. 27788func (s *UploadServerCertificateOutput) SetServerCertificateMetadata(v *ServerCertificateMetadata) *UploadServerCertificateOutput { 27789 s.ServerCertificateMetadata = v 27790 return s 27791} 27792 27793// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/UploadSigningCertificateRequest 27794type UploadSigningCertificateInput struct { 27795 _ struct{} `type:"structure"` 27796 27797 // The contents of the signing certificate. 27798 // 27799 // The regex pattern (http://wikipedia.org/wiki/regex) used to validate this 27800 // parameter is a string of characters consisting of any printable ASCII character 27801 // ranging from the space character (\u0020) through end of the ASCII character 27802 // range as well as the printable characters in the Basic Latin and Latin-1 27803 // Supplement character set (through \u00FF). It also includes the special characters 27804 // tab (\u0009), line feed (\u000A), and carriage return (\u000D). 27805 // 27806 // CertificateBody is a required field 27807 CertificateBody *string `min:"1" type:"string" required:"true"` 27808 27809 // The name of the user the signing certificate is for. 27810 // 27811 // This parameter allows (per its regex pattern (http://wikipedia.org/wiki/regex)) 27812 // a string of characters consisting of upper and lowercase alphanumeric characters 27813 // with no spaces. You can also include any of the following characters: =,.@- 27814 UserName *string `min:"1" type:"string"` 27815} 27816 27817// String returns the string representation 27818func (s UploadSigningCertificateInput) String() string { 27819 return awsutil.Prettify(s) 27820} 27821 27822// GoString returns the string representation 27823func (s UploadSigningCertificateInput) GoString() string { 27824 return s.String() 27825} 27826 27827// Validate inspects the fields of the type to determine if they are valid. 27828func (s *UploadSigningCertificateInput) Validate() error { 27829 invalidParams := request.ErrInvalidParams{Context: "UploadSigningCertificateInput"} 27830 if s.CertificateBody == nil { 27831 invalidParams.Add(request.NewErrParamRequired("CertificateBody")) 27832 } 27833 if s.CertificateBody != nil && len(*s.CertificateBody) < 1 { 27834 invalidParams.Add(request.NewErrParamMinLen("CertificateBody", 1)) 27835 } 27836 if s.UserName != nil && len(*s.UserName) < 1 { 27837 invalidParams.Add(request.NewErrParamMinLen("UserName", 1)) 27838 } 27839 27840 if invalidParams.Len() > 0 { 27841 return invalidParams 27842 } 27843 return nil 27844} 27845 27846// SetCertificateBody sets the CertificateBody field's value. 27847func (s *UploadSigningCertificateInput) SetCertificateBody(v string) *UploadSigningCertificateInput { 27848 s.CertificateBody = &v 27849 return s 27850} 27851 27852// SetUserName sets the UserName field's value. 27853func (s *UploadSigningCertificateInput) SetUserName(v string) *UploadSigningCertificateInput { 27854 s.UserName = &v 27855 return s 27856} 27857 27858// Contains the response to a successful UploadSigningCertificate request. 27859// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/UploadSigningCertificateResponse 27860type UploadSigningCertificateOutput struct { 27861 _ struct{} `type:"structure"` 27862 27863 // Information about the certificate. 27864 // 27865 // Certificate is a required field 27866 Certificate *SigningCertificate `type:"structure" required:"true"` 27867} 27868 27869// String returns the string representation 27870func (s UploadSigningCertificateOutput) String() string { 27871 return awsutil.Prettify(s) 27872} 27873 27874// GoString returns the string representation 27875func (s UploadSigningCertificateOutput) GoString() string { 27876 return s.String() 27877} 27878 27879// SetCertificate sets the Certificate field's value. 27880func (s *UploadSigningCertificateOutput) SetCertificate(v *SigningCertificate) *UploadSigningCertificateOutput { 27881 s.Certificate = v 27882 return s 27883} 27884 27885// Contains information about an IAM user entity. 27886// 27887// This data type is used as a response element in the following actions: 27888// 27889// * CreateUser 27890// 27891// * GetUser 27892// 27893// * ListUsers 27894// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/User 27895type User struct { 27896 _ struct{} `type:"structure"` 27897 27898 // The Amazon Resource Name (ARN) that identifies the user. For more information 27899 // about ARNs and how to use ARNs in policies, see IAM Identifiers (http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html) 27900 // in the Using IAM guide. 27901 // 27902 // Arn is a required field 27903 Arn *string `min:"20" type:"string" required:"true"` 27904 27905 // The date and time, in ISO 8601 date-time format (http://www.iso.org/iso/iso8601), 27906 // when the user was created. 27907 // 27908 // CreateDate is a required field 27909 CreateDate *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"` 27910 27911 // The date and time, in ISO 8601 date-time format (http://www.iso.org/iso/iso8601), 27912 // when the user's password was last used to sign in to an AWS website. For 27913 // a list of AWS websites that capture a user's last sign-in time, see the Credential 27914 // Reports (http://docs.aws.amazon.com/IAM/latest/UserGuide/credential-reports.html) 27915 // topic in the Using IAM guide. If a password is used more than once in a five-minute 27916 // span, only the first use is returned in this field. If the field is null 27917 // (no value) then it indicates that they never signed in with a password. This 27918 // can be because: 27919 // 27920 // * The user never had a password. 27921 // 27922 // * A password exists but has not been used since IAM started tracking this 27923 // information on October 20th, 2014. 27924 // 27925 // A null does not mean that the user never had a password. Also, if the user 27926 // does not currently have a password, but had one in the past, then this field 27927 // contains the date and time the most recent password was used. 27928 // 27929 // This value is returned only in the GetUser and ListUsers actions. 27930 PasswordLastUsed *time.Time `type:"timestamp" timestampFormat:"iso8601"` 27931 27932 // The path to the user. For more information about paths, see IAM Identifiers 27933 // (http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html) 27934 // in the Using IAM guide. 27935 // 27936 // Path is a required field 27937 Path *string `min:"1" type:"string" required:"true"` 27938 27939 // The stable and unique string identifying the user. For more information about 27940 // IDs, see IAM Identifiers (http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html) 27941 // in the Using IAM guide. 27942 // 27943 // UserId is a required field 27944 UserId *string `min:"16" type:"string" required:"true"` 27945 27946 // The friendly name identifying the user. 27947 // 27948 // UserName is a required field 27949 UserName *string `min:"1" type:"string" required:"true"` 27950} 27951 27952// String returns the string representation 27953func (s User) String() string { 27954 return awsutil.Prettify(s) 27955} 27956 27957// GoString returns the string representation 27958func (s User) GoString() string { 27959 return s.String() 27960} 27961 27962// SetArn sets the Arn field's value. 27963func (s *User) SetArn(v string) *User { 27964 s.Arn = &v 27965 return s 27966} 27967 27968// SetCreateDate sets the CreateDate field's value. 27969func (s *User) SetCreateDate(v time.Time) *User { 27970 s.CreateDate = &v 27971 return s 27972} 27973 27974// SetPasswordLastUsed sets the PasswordLastUsed field's value. 27975func (s *User) SetPasswordLastUsed(v time.Time) *User { 27976 s.PasswordLastUsed = &v 27977 return s 27978} 27979 27980// SetPath sets the Path field's value. 27981func (s *User) SetPath(v string) *User { 27982 s.Path = &v 27983 return s 27984} 27985 27986// SetUserId sets the UserId field's value. 27987func (s *User) SetUserId(v string) *User { 27988 s.UserId = &v 27989 return s 27990} 27991 27992// SetUserName sets the UserName field's value. 27993func (s *User) SetUserName(v string) *User { 27994 s.UserName = &v 27995 return s 27996} 27997 27998// Contains information about an IAM user, including all the user's policies 27999// and all the IAM groups the user is in. 28000// 28001// This data type is used as a response element in the GetAccountAuthorizationDetails 28002// action. 28003// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/UserDetail 28004type UserDetail struct { 28005 _ struct{} `type:"structure"` 28006 28007 // The Amazon Resource Name (ARN). ARNs are unique identifiers for AWS resources. 28008 // 28009 // For more information about ARNs, go to Amazon Resource Names (ARNs) and AWS 28010 // Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) 28011 // in the AWS General Reference. 28012 Arn *string `min:"20" type:"string"` 28013 28014 // A list of the managed policies attached to the user. 28015 AttachedManagedPolicies []*AttachedPolicy `type:"list"` 28016 28017 // The date and time, in ISO 8601 date-time format (http://www.iso.org/iso/iso8601), 28018 // when the user was created. 28019 CreateDate *time.Time `type:"timestamp" timestampFormat:"iso8601"` 28020 28021 // A list of IAM groups that the user is in. 28022 GroupList []*string `type:"list"` 28023 28024 // The path to the user. For more information about paths, see IAM Identifiers 28025 // (http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html) 28026 // in the Using IAM guide. 28027 Path *string `min:"1" type:"string"` 28028 28029 // The stable and unique string identifying the user. For more information about 28030 // IDs, see IAM Identifiers (http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html) 28031 // in the Using IAM guide. 28032 UserId *string `min:"16" type:"string"` 28033 28034 // The friendly name identifying the user. 28035 UserName *string `min:"1" type:"string"` 28036 28037 // A list of the inline policies embedded in the user. 28038 UserPolicyList []*PolicyDetail `type:"list"` 28039} 28040 28041// String returns the string representation 28042func (s UserDetail) String() string { 28043 return awsutil.Prettify(s) 28044} 28045 28046// GoString returns the string representation 28047func (s UserDetail) GoString() string { 28048 return s.String() 28049} 28050 28051// SetArn sets the Arn field's value. 28052func (s *UserDetail) SetArn(v string) *UserDetail { 28053 s.Arn = &v 28054 return s 28055} 28056 28057// SetAttachedManagedPolicies sets the AttachedManagedPolicies field's value. 28058func (s *UserDetail) SetAttachedManagedPolicies(v []*AttachedPolicy) *UserDetail { 28059 s.AttachedManagedPolicies = v 28060 return s 28061} 28062 28063// SetCreateDate sets the CreateDate field's value. 28064func (s *UserDetail) SetCreateDate(v time.Time) *UserDetail { 28065 s.CreateDate = &v 28066 return s 28067} 28068 28069// SetGroupList sets the GroupList field's value. 28070func (s *UserDetail) SetGroupList(v []*string) *UserDetail { 28071 s.GroupList = v 28072 return s 28073} 28074 28075// SetPath sets the Path field's value. 28076func (s *UserDetail) SetPath(v string) *UserDetail { 28077 s.Path = &v 28078 return s 28079} 28080 28081// SetUserId sets the UserId field's value. 28082func (s *UserDetail) SetUserId(v string) *UserDetail { 28083 s.UserId = &v 28084 return s 28085} 28086 28087// SetUserName sets the UserName field's value. 28088func (s *UserDetail) SetUserName(v string) *UserDetail { 28089 s.UserName = &v 28090 return s 28091} 28092 28093// SetUserPolicyList sets the UserPolicyList field's value. 28094func (s *UserDetail) SetUserPolicyList(v []*PolicyDetail) *UserDetail { 28095 s.UserPolicyList = v 28096 return s 28097} 28098 28099// Contains information about a virtual MFA device. 28100// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/VirtualMFADevice 28101type VirtualMFADevice struct { 28102 _ struct{} `type:"structure"` 28103 28104 // The Base32 seed defined as specified in RFC3548 (https://tools.ietf.org/html/rfc3548.txt). 28105 // The Base32StringSeed is Base64-encoded. 28106 // 28107 // Base32StringSeed is automatically base64 encoded/decoded by the SDK. 28108 Base32StringSeed []byte `type:"blob"` 28109 28110 // The date and time on which the virtual MFA device was enabled. 28111 EnableDate *time.Time `type:"timestamp" timestampFormat:"iso8601"` 28112 28113 // A QR code PNG image that encodes otpauth://totp/$virtualMFADeviceName@$AccountName?secret=$Base32String 28114 // where $virtualMFADeviceName is one of the create call arguments, AccountName 28115 // is the user name if set (otherwise, the account ID otherwise), and Base32String 28116 // is the seed in Base32 format. The Base32String value is Base64-encoded. 28117 // 28118 // QRCodePNG is automatically base64 encoded/decoded by the SDK. 28119 QRCodePNG []byte `type:"blob"` 28120 28121 // The serial number associated with VirtualMFADevice. 28122 // 28123 // SerialNumber is a required field 28124 SerialNumber *string `min:"9" type:"string" required:"true"` 28125 28126 // The IAM user associated with this virtual MFA device. 28127 User *User `type:"structure"` 28128} 28129 28130// String returns the string representation 28131func (s VirtualMFADevice) String() string { 28132 return awsutil.Prettify(s) 28133} 28134 28135// GoString returns the string representation 28136func (s VirtualMFADevice) GoString() string { 28137 return s.String() 28138} 28139 28140// SetBase32StringSeed sets the Base32StringSeed field's value. 28141func (s *VirtualMFADevice) SetBase32StringSeed(v []byte) *VirtualMFADevice { 28142 s.Base32StringSeed = v 28143 return s 28144} 28145 28146// SetEnableDate sets the EnableDate field's value. 28147func (s *VirtualMFADevice) SetEnableDate(v time.Time) *VirtualMFADevice { 28148 s.EnableDate = &v 28149 return s 28150} 28151 28152// SetQRCodePNG sets the QRCodePNG field's value. 28153func (s *VirtualMFADevice) SetQRCodePNG(v []byte) *VirtualMFADevice { 28154 s.QRCodePNG = v 28155 return s 28156} 28157 28158// SetSerialNumber sets the SerialNumber field's value. 28159func (s *VirtualMFADevice) SetSerialNumber(v string) *VirtualMFADevice { 28160 s.SerialNumber = &v 28161 return s 28162} 28163 28164// SetUser sets the User field's value. 28165func (s *VirtualMFADevice) SetUser(v *User) *VirtualMFADevice { 28166 s.User = v 28167 return s 28168} 28169 28170const ( 28171 // ContextKeyTypeEnumString is a ContextKeyTypeEnum enum value 28172 ContextKeyTypeEnumString = "string" 28173 28174 // ContextKeyTypeEnumStringList is a ContextKeyTypeEnum enum value 28175 ContextKeyTypeEnumStringList = "stringList" 28176 28177 // ContextKeyTypeEnumNumeric is a ContextKeyTypeEnum enum value 28178 ContextKeyTypeEnumNumeric = "numeric" 28179 28180 // ContextKeyTypeEnumNumericList is a ContextKeyTypeEnum enum value 28181 ContextKeyTypeEnumNumericList = "numericList" 28182 28183 // ContextKeyTypeEnumBoolean is a ContextKeyTypeEnum enum value 28184 ContextKeyTypeEnumBoolean = "boolean" 28185 28186 // ContextKeyTypeEnumBooleanList is a ContextKeyTypeEnum enum value 28187 ContextKeyTypeEnumBooleanList = "booleanList" 28188 28189 // ContextKeyTypeEnumIp is a ContextKeyTypeEnum enum value 28190 ContextKeyTypeEnumIp = "ip" 28191 28192 // ContextKeyTypeEnumIpList is a ContextKeyTypeEnum enum value 28193 ContextKeyTypeEnumIpList = "ipList" 28194 28195 // ContextKeyTypeEnumBinary is a ContextKeyTypeEnum enum value 28196 ContextKeyTypeEnumBinary = "binary" 28197 28198 // ContextKeyTypeEnumBinaryList is a ContextKeyTypeEnum enum value 28199 ContextKeyTypeEnumBinaryList = "binaryList" 28200 28201 // ContextKeyTypeEnumDate is a ContextKeyTypeEnum enum value 28202 ContextKeyTypeEnumDate = "date" 28203 28204 // ContextKeyTypeEnumDateList is a ContextKeyTypeEnum enum value 28205 ContextKeyTypeEnumDateList = "dateList" 28206) 28207 28208const ( 28209 // DeletionTaskStatusTypeSucceeded is a DeletionTaskStatusType enum value 28210 DeletionTaskStatusTypeSucceeded = "SUCCEEDED" 28211 28212 // DeletionTaskStatusTypeInProgress is a DeletionTaskStatusType enum value 28213 DeletionTaskStatusTypeInProgress = "IN_PROGRESS" 28214 28215 // DeletionTaskStatusTypeFailed is a DeletionTaskStatusType enum value 28216 DeletionTaskStatusTypeFailed = "FAILED" 28217 28218 // DeletionTaskStatusTypeNotStarted is a DeletionTaskStatusType enum value 28219 DeletionTaskStatusTypeNotStarted = "NOT_STARTED" 28220) 28221 28222const ( 28223 // EntityTypeUser is a EntityType enum value 28224 EntityTypeUser = "User" 28225 28226 // EntityTypeRole is a EntityType enum value 28227 EntityTypeRole = "Role" 28228 28229 // EntityTypeGroup is a EntityType enum value 28230 EntityTypeGroup = "Group" 28231 28232 // EntityTypeLocalManagedPolicy is a EntityType enum value 28233 EntityTypeLocalManagedPolicy = "LocalManagedPolicy" 28234 28235 // EntityTypeAwsmanagedPolicy is a EntityType enum value 28236 EntityTypeAwsmanagedPolicy = "AWSManagedPolicy" 28237) 28238 28239const ( 28240 // PolicyEvaluationDecisionTypeAllowed is a PolicyEvaluationDecisionType enum value 28241 PolicyEvaluationDecisionTypeAllowed = "allowed" 28242 28243 // PolicyEvaluationDecisionTypeExplicitDeny is a PolicyEvaluationDecisionType enum value 28244 PolicyEvaluationDecisionTypeExplicitDeny = "explicitDeny" 28245 28246 // PolicyEvaluationDecisionTypeImplicitDeny is a PolicyEvaluationDecisionType enum value 28247 PolicyEvaluationDecisionTypeImplicitDeny = "implicitDeny" 28248) 28249 28250const ( 28251 // PolicySourceTypeUser is a PolicySourceType enum value 28252 PolicySourceTypeUser = "user" 28253 28254 // PolicySourceTypeGroup is a PolicySourceType enum value 28255 PolicySourceTypeGroup = "group" 28256 28257 // PolicySourceTypeRole is a PolicySourceType enum value 28258 PolicySourceTypeRole = "role" 28259 28260 // PolicySourceTypeAwsManaged is a PolicySourceType enum value 28261 PolicySourceTypeAwsManaged = "aws-managed" 28262 28263 // PolicySourceTypeUserManaged is a PolicySourceType enum value 28264 PolicySourceTypeUserManaged = "user-managed" 28265 28266 // PolicySourceTypeResource is a PolicySourceType enum value 28267 PolicySourceTypeResource = "resource" 28268 28269 // PolicySourceTypeNone is a PolicySourceType enum value 28270 PolicySourceTypeNone = "none" 28271) 28272 28273const ( 28274 // ReportFormatTypeTextCsv is a ReportFormatType enum value 28275 ReportFormatTypeTextCsv = "text/csv" 28276) 28277 28278const ( 28279 // ReportStateTypeStarted is a ReportStateType enum value 28280 ReportStateTypeStarted = "STARTED" 28281 28282 // ReportStateTypeInprogress is a ReportStateType enum value 28283 ReportStateTypeInprogress = "INPROGRESS" 28284 28285 // ReportStateTypeComplete is a ReportStateType enum value 28286 ReportStateTypeComplete = "COMPLETE" 28287) 28288 28289const ( 28290 // AssignmentStatusTypeAssigned is a assignmentStatusType enum value 28291 AssignmentStatusTypeAssigned = "Assigned" 28292 28293 // AssignmentStatusTypeUnassigned is a assignmentStatusType enum value 28294 AssignmentStatusTypeUnassigned = "Unassigned" 28295 28296 // AssignmentStatusTypeAny is a assignmentStatusType enum value 28297 AssignmentStatusTypeAny = "Any" 28298) 28299 28300const ( 28301 // EncodingTypeSsh is a encodingType enum value 28302 EncodingTypeSsh = "SSH" 28303 28304 // EncodingTypePem is a encodingType enum value 28305 EncodingTypePem = "PEM" 28306) 28307 28308const ( 28309 // PolicyScopeTypeAll is a policyScopeType enum value 28310 PolicyScopeTypeAll = "All" 28311 28312 // PolicyScopeTypeAws is a policyScopeType enum value 28313 PolicyScopeTypeAws = "AWS" 28314 28315 // PolicyScopeTypeLocal is a policyScopeType enum value 28316 PolicyScopeTypeLocal = "Local" 28317) 28318 28319const ( 28320 // StatusTypeActive is a statusType enum value 28321 StatusTypeActive = "Active" 28322 28323 // StatusTypeInactive is a statusType enum value 28324 StatusTypeInactive = "Inactive" 28325) 28326 28327const ( 28328 // SummaryKeyTypeUsers is a summaryKeyType enum value 28329 SummaryKeyTypeUsers = "Users" 28330 28331 // SummaryKeyTypeUsersQuota is a summaryKeyType enum value 28332 SummaryKeyTypeUsersQuota = "UsersQuota" 28333 28334 // SummaryKeyTypeGroups is a summaryKeyType enum value 28335 SummaryKeyTypeGroups = "Groups" 28336 28337 // SummaryKeyTypeGroupsQuota is a summaryKeyType enum value 28338 SummaryKeyTypeGroupsQuota = "GroupsQuota" 28339 28340 // SummaryKeyTypeServerCertificates is a summaryKeyType enum value 28341 SummaryKeyTypeServerCertificates = "ServerCertificates" 28342 28343 // SummaryKeyTypeServerCertificatesQuota is a summaryKeyType enum value 28344 SummaryKeyTypeServerCertificatesQuota = "ServerCertificatesQuota" 28345 28346 // SummaryKeyTypeUserPolicySizeQuota is a summaryKeyType enum value 28347 SummaryKeyTypeUserPolicySizeQuota = "UserPolicySizeQuota" 28348 28349 // SummaryKeyTypeGroupPolicySizeQuota is a summaryKeyType enum value 28350 SummaryKeyTypeGroupPolicySizeQuota = "GroupPolicySizeQuota" 28351 28352 // SummaryKeyTypeGroupsPerUserQuota is a summaryKeyType enum value 28353 SummaryKeyTypeGroupsPerUserQuota = "GroupsPerUserQuota" 28354 28355 // SummaryKeyTypeSigningCertificatesPerUserQuota is a summaryKeyType enum value 28356 SummaryKeyTypeSigningCertificatesPerUserQuota = "SigningCertificatesPerUserQuota" 28357 28358 // SummaryKeyTypeAccessKeysPerUserQuota is a summaryKeyType enum value 28359 SummaryKeyTypeAccessKeysPerUserQuota = "AccessKeysPerUserQuota" 28360 28361 // SummaryKeyTypeMfadevices is a summaryKeyType enum value 28362 SummaryKeyTypeMfadevices = "MFADevices" 28363 28364 // SummaryKeyTypeMfadevicesInUse is a summaryKeyType enum value 28365 SummaryKeyTypeMfadevicesInUse = "MFADevicesInUse" 28366 28367 // SummaryKeyTypeAccountMfaenabled is a summaryKeyType enum value 28368 SummaryKeyTypeAccountMfaenabled = "AccountMFAEnabled" 28369 28370 // SummaryKeyTypeAccountAccessKeysPresent is a summaryKeyType enum value 28371 SummaryKeyTypeAccountAccessKeysPresent = "AccountAccessKeysPresent" 28372 28373 // SummaryKeyTypeAccountSigningCertificatesPresent is a summaryKeyType enum value 28374 SummaryKeyTypeAccountSigningCertificatesPresent = "AccountSigningCertificatesPresent" 28375 28376 // SummaryKeyTypeAttachedPoliciesPerGroupQuota is a summaryKeyType enum value 28377 SummaryKeyTypeAttachedPoliciesPerGroupQuota = "AttachedPoliciesPerGroupQuota" 28378 28379 // SummaryKeyTypeAttachedPoliciesPerRoleQuota is a summaryKeyType enum value 28380 SummaryKeyTypeAttachedPoliciesPerRoleQuota = "AttachedPoliciesPerRoleQuota" 28381 28382 // SummaryKeyTypeAttachedPoliciesPerUserQuota is a summaryKeyType enum value 28383 SummaryKeyTypeAttachedPoliciesPerUserQuota = "AttachedPoliciesPerUserQuota" 28384 28385 // SummaryKeyTypePolicies is a summaryKeyType enum value 28386 SummaryKeyTypePolicies = "Policies" 28387 28388 // SummaryKeyTypePoliciesQuota is a summaryKeyType enum value 28389 SummaryKeyTypePoliciesQuota = "PoliciesQuota" 28390 28391 // SummaryKeyTypePolicySizeQuota is a summaryKeyType enum value 28392 SummaryKeyTypePolicySizeQuota = "PolicySizeQuota" 28393 28394 // SummaryKeyTypePolicyVersionsInUse is a summaryKeyType enum value 28395 SummaryKeyTypePolicyVersionsInUse = "PolicyVersionsInUse" 28396 28397 // SummaryKeyTypePolicyVersionsInUseQuota is a summaryKeyType enum value 28398 SummaryKeyTypePolicyVersionsInUseQuota = "PolicyVersionsInUseQuota" 28399 28400 // SummaryKeyTypeVersionsPerPolicyQuota is a summaryKeyType enum value 28401 SummaryKeyTypeVersionsPerPolicyQuota = "VersionsPerPolicyQuota" 28402) 28403