NOTE: For Version 3 of the AWS SDK for PHP, please see the V3 User Guide and V3 API Reference.

# Class IamClient

Client to interact with AWS Identity and Access Management

  Guzzle\Common\AbstractHasDispatcher implements Guzzle\Common\HasDispatcherInterface
  Guzzle\Http\Client implements Guzzle\Http\ClientInterface
  Guzzle\Service\Client implements Guzzle\Service\ClientInterface
  Aws\Common\Client\AbstractClient implements Aws\Common\Client\AwsClientInterface
  Aws\Iam\IamClient

Namespace: Aws\Iam
Link: User guide
Link: API docs
Located at Aws/Iam/IamClient.php

## Methods summary

- `public static` `factory ( array|Collection $config = array() )`

  Factory method to create a new AWS Identity and Access Management client using an array of configuration options.

- `public` `addClientIDToOpenIDConnectProvider ( array $args = array() )`

  Executes the AddClientIDToOpenIDConnectProvider operation.

- `public` `addRoleToInstanceProfile ( array $args = array() )`

  Executes the AddRoleToInstanceProfile operation.

- `public` `addUserToGroup ( array $args = array() )`

  Executes the AddUserToGroup operation.

- `public` `attachGroupPolicy ( array $args = array() )`

  Executes the AttachGroupPolicy operation.

- `public` `attachRolePolicy ( array $args = array() )`

  Executes the AttachRolePolicy operation.

- `public` `attachUserPolicy ( array $args = array() )`

  Executes the AttachUserPolicy operation.

- `public` `changePassword ( array $args = array() )`

  Executes the ChangePassword operation.

- `public` `createAccessKey ( array $args = array() )`

  Executes the CreateAccessKey operation.

- `public` `createAccountAlias ( array $args = array() )`

  Executes the CreateAccountAlias operation.

- `public` `createGroup ( array $args = array() )`

  Executes the CreateGroup operation.

- `public` `createInstanceProfile ( array $args = array() )`

  Executes the CreateInstanceProfile operation.

- `public` `createLoginProfile ( array $args = array() )`

  Executes the CreateLoginProfile operation.

- `public` `createOpenIDConnectProvider ( array $args = array() )`

  Executes the CreateOpenIDConnectProvider operation.

- `public` `createPolicy ( array $args = array() )`

  Executes the CreatePolicy operation.

- `public` `createPolicyVersion ( array $args = array() )`

  Executes the CreatePolicyVersion operation.

- `public` `createRole ( array $args = array() )`

  Executes the CreateRole operation.

- `public` `createSAMLProvider ( array $args = array() )`

  Executes the CreateSAMLProvider operation.

- `public` `createUser ( array $args = array() )`

  Executes the CreateUser operation.

- `public` `createVirtualMFADevice ( array $args = array() )`

  Executes the CreateVirtualMFADevice operation.

- `public` `deactivateMFADevice ( array $args = array() )`

  Executes the DeactivateMFADevice operation.

- `public` `deleteAccessKey ( array $args = array() )`

  Executes the DeleteAccessKey operation.

- `public` `deleteAccountAlias ( array $args = array() )`

  Executes the DeleteAccountAlias operation.

- `public` `deleteAccountPasswordPolicy ( array $args = array() )`

  Executes the DeleteAccountPasswordPolicy operation.

- `public` `deleteGroup ( array $args = array() )`

  Executes the DeleteGroup operation.

- `public` `deleteGroupPolicy ( array $args = array() )`

  Executes the DeleteGroupPolicy operation.

- `public` `deleteInstanceProfile ( array $args = array() )`

  Executes the DeleteInstanceProfile operation.

- `public` `deleteLoginProfile ( array $args = array() )`

  Executes the DeleteLoginProfile operation.

- `public` `deleteOpenIDConnectProvider ( array $args = array() )`

  Executes the DeleteOpenIDConnectProvider operation.

- `public` `deletePolicy ( array $args = array() )`

  Executes the DeletePolicy operation.

- `public` `deletePolicyVersion ( array $args = array() )`

  Executes the DeletePolicyVersion operation.

- `public` `deleteRole ( array $args = array() )`

  Executes the DeleteRole operation.

- `public` `deleteRolePolicy ( array $args = array() )`

  Executes the DeleteRolePolicy operation.

- `public` `deleteSAMLProvider ( array $args = array() )`

  Executes the DeleteSAMLProvider operation.

- `public` `deleteSSHPublicKey ( array $args = array() )`

  Executes the DeleteSSHPublicKey operation.

- `public` `deleteServerCertificate ( array $args = array() )`

  Executes the DeleteServerCertificate operation.

- `public` `deleteSigningCertificate ( array $args = array() )`

  Executes the DeleteSigningCertificate operation.

- `public` `deleteUser ( array $args = array() )`

  Executes the DeleteUser operation.

- `public` `deleteUserPolicy ( array $args = array() )`

  Executes the DeleteUserPolicy operation.

- `public` `deleteVirtualMFADevice ( array $args = array() )`

  Executes the DeleteVirtualMFADevice operation.

- `public` `detachGroupPolicy ( array $args = array() )`

  Executes the DetachGroupPolicy operation.

- `public` `detachRolePolicy ( array $args = array() )`

  Executes the DetachRolePolicy operation.

- `public` `detachUserPolicy ( array $args = array() )`

  Executes the DetachUserPolicy operation.

- `public` `enableMFADevice ( array $args = array() )`

  Executes the EnableMFADevice operation.

- `public` `generateCredentialReport ( array $args = array() )`

  Executes the GenerateCredentialReport operation.

- `public` `getAccessKeyLastUsed ( array $args = array() )`

  Executes the GetAccessKeyLastUsed operation.

- `public` `getAccountAuthorizationDetails ( array $args = array() )`

  Executes the GetAccountAuthorizationDetails operation.

- `public` `getAccountPasswordPolicy ( array $args = array() )`

  Executes the GetAccountPasswordPolicy operation.

- `public` `getAccountSummary ( array $args = array() )`

  Executes the GetAccountSummary operation.

- `public` `getContextKeysForPolicy ( array $args = array() )`

  Executes the GetContextKeysForPolicy operation.

- `public` `getCredentialReport ( array $args = array() )`

  Executes the GetCredentialReport operation.

- `public` `getGroup ( array $args = array() )`

  Executes the GetGroup operation.

- `public` `getGroupPolicy ( array $args = array() )`

  Executes the GetGroupPolicy operation.

- `public` `getInstanceProfile ( array $args = array() )`

  Executes the GetInstanceProfile operation.

- `public` `getLoginProfile ( array $args = array() )`

  Executes the GetLoginProfile operation.

- `public` `getOpenIDConnectProvider ( array $args = array() )`

  Executes the GetOpenIDConnectProvider operation.

- `public` `getPolicy ( array $args = array() )`

  Executes the GetPolicy operation.

- `public` `getPolicyVersion ( array $args = array() )`

  Executes the GetPolicyVersion operation.

- `public` `getRole ( array $args = array() )`

  Executes the GetRole operation.

- `public` `getRolePolicy ( array $args = array() )`

  Executes the GetRolePolicy operation.

- `public` `getSAMLProvider ( array $args = array() )`

  Executes the GetSAMLProvider operation.

- `public` `getSSHPublicKey ( array $args = array() )`

  Executes the GetSSHPublicKey operation.

- `public` `getServerCertificate ( array $args = array() )`

  Executes the GetServerCertificate operation.

- `public` `getUser ( array $args = array() )`

  Executes the GetUser operation.

- `public` `getUserPolicy ( array $args = array() )`

  Executes the GetUserPolicy operation.

- `public` `listAccessKeys ( array $args = array() )`

  Executes the ListAccessKeys operation.

- `public` `listAccountAliases ( array $args = array() )`

  Executes the ListAccountAliases operation.

- `public` `listAttachedGroupPolicies ( array $args = array() )`

  Executes the ListAttachedGroupPolicies operation.

- `public` `listAttachedRolePolicies ( array $args = array() )`

  Executes the ListAttachedRolePolicies operation.

- `public` `listAttachedUserPolicies ( array $args = array() )`

  Executes the ListAttachedUserPolicies operation.

- `public` `listEntitiesForPolicy ( array $args = array() )`

  Executes the ListEntitiesForPolicy operation.

- `public` `listGroupPolicies ( array $args = array() )`

  Executes the ListGroupPolicies operation.

- `public` `listGroups ( array $args = array() )`

  Executes the ListGroups operation.

- `public` `listGroupsForUser ( array $args = array() )`

  Executes the ListGroupsForUser operation.

- `public` `listInstanceProfiles ( array $args = array() )`

  Executes the ListInstanceProfiles operation.

- `public` `listInstanceProfilesForRole ( array $args = array() )`

  Executes the ListInstanceProfilesForRole operation.

- `public` `listMFADevices ( array $args = array() )`

  Executes the ListMFADevices operation.

- `public` `listOpenIDConnectProviders ( array $args = array() )`

  Executes the ListOpenIDConnectProviders operation.

- `public` `listPolicies ( array $args = array() )`

  Executes the ListPolicies operation.

- `public` `listPolicyVersions ( array $args = array() )`

  Executes the ListPolicyVersions operation.

- `public` `listRolePolicies ( array $args = array() )`

  Executes the ListRolePolicies operation.

- `public` `listRoles ( array $args = array() )`

  Executes the ListRoles operation.

- `public` `listSAMLProviders ( array $args = array() )`

  Executes the ListSAMLProviders operation.

- `public` `listSSHPublicKeys ( array $args = array() )`

  Executes the ListSSHPublicKeys operation.

- `public` `listServerCertificates ( array $args = array() )`

  Executes the ListServerCertificates operation.

- `public` `listSigningCertificates ( array $args = array() )`

  Executes the ListSigningCertificates operation.

- `public` `listUserPolicies ( array $args = array() )`

  Executes the ListUserPolicies operation.

- `public` `listUsers ( array $args = array() )`

  Executes the ListUsers operation.

- `public` `listVirtualMFADevices ( array $args = array() )`

  Executes the ListVirtualMFADevices operation.

- `public` `putGroupPolicy ( array $args = array() )`

  Executes the PutGroupPolicy operation.

- `public` `putRolePolicy ( array $args = array() )`

  Executes the PutRolePolicy operation.

- `public` `putUserPolicy ( array $args = array() )`

  Executes the PutUserPolicy operation.

- `public` `removeClientIDFromOpenIDConnectProvider ( array $args = array() )`

  Executes the RemoveClientIDFromOpenIDConnectProvider operation.

- `public` `removeRoleFromInstanceProfile ( array $args = array() )`

  Executes the RemoveRoleFromInstanceProfile operation.

- `public` `removeUserFromGroup ( array $args = array() )`

  Executes the RemoveUserFromGroup operation.

- `public` `resyncMFADevice ( array $args = array() )`

  Executes the ResyncMFADevice operation.

- `public` `setDefaultPolicyVersion ( array $args = array() )`

  Executes the SetDefaultPolicyVersion operation.

- `public` `simulatePolicy ( array $args = array() )`

  Executes the SimulatePolicy operation.

- `public` `updateAccessKey ( array $args = array() )`

  Executes the UpdateAccessKey operation.

- `public` `updateAccountPasswordPolicy ( array $args = array() )`

  Executes the UpdateAccountPasswordPolicy operation.

- `public` `updateAssumeRolePolicy ( array $args = array() )`

  Executes the UpdateAssumeRolePolicy operation.

- `public` `updateGroup ( array $args = array() )`

  Executes the UpdateGroup operation.

- `public` `updateLoginProfile ( array $args = array() )`

  Executes the UpdateLoginProfile operation.

- `public` `updateOpenIDConnectProviderThumbprint ( array $args = array() )`

  Executes the UpdateOpenIDConnectProviderThumbprint operation.

- `public` `updateSAMLProvider ( array $args = array() )`

  Executes the UpdateSAMLProvider operation.

- `public` `updateSSHPublicKey ( array $args = array() )`

  Executes the UpdateSSHPublicKey operation.

- `public` `updateServerCertificate ( array $args = array() )`

  Executes the UpdateServerCertificate operation.

- `public` `updateSigningCertificate ( array $args = array() )`

  Executes the UpdateSigningCertificate operation.

- `public` `updateUser ( array $args = array() )`

  Executes the UpdateUser operation.

- `public` `uploadSSHPublicKey ( array $args = array() )`

  Executes the UploadSSHPublicKey operation.

- `public` `uploadServerCertificate ( array $args = array() )`

  Executes the UploadServerCertificate operation.

- `public` `uploadSigningCertificate ( array $args = array() )`

  Executes the UploadSigningCertificate operation.

- `public` `getGetGroupIterator ( array $args = array() )`

  The input array uses the parameters of the GetGroup operation

- `public` `getListAccessKeysIterator ( array $args = array() )`

  The input array uses the parameters of the ListAccessKeys operation

- `public` `getListAccountAliasesIterator ( array $args = array() )`

  The input array uses the parameters of the ListAccountAliases operation

- `public` `getListAttachedGroupPoliciesIterator ( array $args = array() )`

  The input array uses the parameters of the ListAttachedGroupPolicies operation

- `public` `getListAttachedRolePoliciesIterator ( array $args = array() )`

  The input array uses the parameters of the ListAttachedRolePolicies operation

- `public` `getListAttachedUserPoliciesIterator ( array $args = array() )`

  The input array uses the parameters of the ListAttachedUserPolicies operation

- `public` `getListEntitiesForPolicyIterator ( array $args = array() )`

  The input array uses the parameters of the ListEntitiesForPolicy operation

- `public` `getListGroupPoliciesIterator ( array $args = array() )`

  The input array uses the parameters of the ListGroupPolicies operation

- `public` `getListGroupsIterator ( array $args = array() )`

  The input array uses the parameters of the ListGroups operation

- `public` `getListGroupsForUserIterator ( array $args = array() )`

  The input array uses the parameters of the ListGroupsForUser operation

- `public` `getListInstanceProfilesIterator ( array $args = array() )`

  The input array uses the parameters of the ListInstanceProfiles operation

- `public` `getListInstanceProfilesForRoleIterator ( array $args = array() )`

  The input array uses the parameters of the ListInstanceProfilesForRole operation

- `public` `getListMFADevicesIterator ( array $args = array() )`

  The input array uses the parameters of the ListMFADevices operation

- `public` `getListPoliciesIterator ( array $args = array() )`

  The input array uses the parameters of the ListPolicies operation

- `public` `getListRolePoliciesIterator ( array $args = array() )`

  The input array uses the parameters of the ListRolePolicies operation

- `public` `getListRolesIterator ( array $args = array() )`

  The input array uses the parameters of the ListRoles operation

- `public` `getListSAMLProvidersIterator ( array $args = array() )`

  The input array uses the parameters of the ListSAMLProviders operation

- `public` `getListServerCertificatesIterator ( array $args = array() )`

  The input array uses the parameters of the ListServerCertificates operation

- `public` `getListSigningCertificatesIterator ( array $args = array() )`

  The input array uses the parameters of the ListSigningCertificates operation

- `public` `getListUserPoliciesIterator ( array $args = array() )`

  The input array uses the parameters of the ListUserPolicies operation

- `public` `getListUsersIterator ( array $args = array() )`

  The input array uses the parameters of the ListUsers operation

- `public` `getListVirtualMFADevicesIterator ( array $args = array() )`

  The input array uses the parameters of the ListVirtualMFADevices operation

- `public` `getGetAccountAuthorizationDetailsIterator ( array $args = array() )`

  The input array uses the parameters of the GetAccountAuthorizationDetails operation

## Methods detail

# `public static `Aws\Iam\IamClient``
`factory( array|`Guzzle\Common\Collection` $config = array() )`

Factory method to create a new AWS Identity and Access Management client using an array of configuration options.

#### Parameters

$config
  `array|`Guzzle\Common\Collection``
  $config Client configuration data

#### Returns

``Aws\Iam\IamClient``

#### Link

http://docs.aws.amazon.com/aws-sdk-php/v2/guide/configuration.html#client-configuration-options

#### Overrides

`Guzzle\Service\Client::factory`
# `public `Guzzle\Service\Resource\Model``
`addClientIDToOpenIDConnectProvider( array $args = array() )`

Executes the AddClientIDToOpenIDConnectProvider operation.

Adds a new client ID (also known as audience) to the list of client IDs already registered for the specified IAM OpenID Connect provider.

This action is idempotent; it does not fail or return an error if you add an existing client ID to the provider.

#### Examples

- Basic formatting example

      $result = $client->addClientIDToOpenIDConnectProvider(array(
          // OpenIDConnectProviderArn is required
          'OpenIDConnectProviderArn' => 'string',
          // ClientID is required
          'ClientID' => 'string',
      ));

#### Parameters

$args
  `array`
  $arg Associative array containing the following keys (required keys are bold):
  - OpenIDConnectProviderArn => (string)

    The Amazon Resource Name (ARN) of the IAM OpenID Connect (OIDC) provider to add the client ID to. You can get a list of OIDC provider ARNs by using the ListOpenIDConnectProviders action.

  - ClientID => (string)

    The client ID (also known as audience) to add to the IAM OpenID Connect provider.

#### Returns

``Guzzle\Service\Resource\Model``
Returns a response Model object

# `public `Guzzle\Service\Resource\Model``
`addRoleToInstanceProfile( array $args = array() )`

Executes the AddRoleToInstanceProfile operation.

Adds the specified role to the specified instance profile. For more information about roles, go to Working with Roles. For more information about instance profiles, go to About Instance Profiles.

#### Examples

- Basic formatting example

      $result = $client->addRoleToInstanceProfile(array(
          // InstanceProfileName is required
          'InstanceProfileName' => 'string',
          // RoleName is required
          'RoleName' => 'string',
      ));

#### Parameters

$args
  `array`
  $arg Associative array containing the following keys (required keys are bold):
  - InstanceProfileName => (string)

    The name of the instance profile to update.

  - RoleName => (string)

    The name of the role to add.

#### Returns

``Guzzle\Service\Resource\Model``
Returns a response Model object

# `public `Guzzle\Service\Resource\Model``
`addUserToGroup( array $args = array() )`

Executes the AddUserToGroup operation.

Adds the specified user to the specified group.

#### Examples

- Basic formatting example

      $result = $client->addUserToGroup(array(
          // GroupName is required
          'GroupName' => 'string',
          // UserName is required
          'UserName' => 'string',
      ));

#### Parameters

$args
  `array`
  $arg Associative array containing the following keys (required keys are bold):
  - GroupName => (string)

    The name of the group to update.

  - UserName => (string)

    The name of the user to add.

#### Returns

``Guzzle\Service\Resource\Model``
Returns a response Model object

# `public `Guzzle\Service\Resource\Model``
`attachGroupPolicy( array $args = array() )`

Executes the AttachGroupPolicy operation.

Attaches the specified managed policy to the specified group.

You use this API to attach a managed policy to a group. To embed an inline policy in a group, use PutGroupPolicy.

For more information about policies, refer to Managed Policies and Inline Policies in the Using IAM guide.

#### Examples

- Basic formatting example

      $result = $client->attachGroupPolicy(array(
          // GroupName is required
          'GroupName' => 'string',
          // PolicyArn is required
          'PolicyArn' => 'string',
      ));

#### Parameters

$args
  `array`
  $arg Associative array containing the following keys (required keys are bold):
  - GroupName => (string)

    The name (friendly name, not ARN) of the group to attach the policy to.

  - PolicyArn => (string)

    The Amazon Resource Name (ARN). ARNs are unique identifiers for AWS resources.

    For more information about ARNs, go to Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

#### Returns

``Guzzle\Service\Resource\Model``
Returns a response Model object

# `public `Guzzle\Service\Resource\Model``
`attachRolePolicy( array $args = array() )`

Executes the AttachRolePolicy operation.

Attaches the specified managed policy to the specified role.

When you attach a managed policy to a role, the managed policy is used as the role's access (permissions) policy. You cannot use a managed policy as the role's trust policy. The role's trust policy is created at the same time as the role, using CreateRole. You can update a role's trust policy using UpdateAssumeRolePolicy.

Use this API to attach a managed policy to a role. To embed an inline policy in a role, use PutRolePolicy. For more information about policies, refer to Managed Policies and Inline Policies in the Using IAM guide.

#### Examples

- Basic formatting example

      $result = $client->attachRolePolicy(array(
          // RoleName is required
          'RoleName' => 'string',
          // PolicyArn is required
          'PolicyArn' => 'string',
      ));

#### Parameters

$args
  `array`
  $arg Associative array containing the following keys (required keys are bold):
  - RoleName => (string)

    The name (friendly name, not ARN) of the role to attach the policy to.

  - PolicyArn => (string)

    The Amazon Resource Name (ARN). ARNs are unique identifiers for AWS resources.

    For more information about ARNs, go to Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

#### Returns

``Guzzle\Service\Resource\Model``
Returns a response Model object

# `public `Guzzle\Service\Resource\Model``
`attachUserPolicy( array $args = array() )`

Executes the AttachUserPolicy operation.

Attaches the specified managed policy to the specified user.

You use this API to attach a managed policy to a user. To embed an inline policy in a user, use PutUserPolicy.

For more information about policies, refer to Managed Policies and Inline Policies in the Using IAM guide.

#### Examples

- Basic formatting example

      $result = $client->attachUserPolicy(array(
          // UserName is required
          'UserName' => 'string',
          // PolicyArn is required
          'PolicyArn' => 'string',
      ));

#### Parameters

$args
  `array`
  $arg Associative array containing the following keys (required keys are bold):
  - UserName => (string)

    The name (friendly name, not ARN) of the user to attach the policy to.

  - PolicyArn => (string)

    The Amazon Resource Name (ARN). ARNs are unique identifiers for AWS resources.

    For more information about ARNs, go to Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

#### Returns

``Guzzle\Service\Resource\Model``
Returns a response Model object

# `public `Guzzle\Service\Resource\Model``
`changePassword( array $args = array() )`

Executes the ChangePassword operation.

Changes the password of the IAM user who is calling this action. The root account password is not affected by this action.

To change the password for a different user, see UpdateLoginProfile. For more information about modifying passwords, see Managing Passwords in the Using IAM guide.

#### Examples

- Basic formatting example

      $result = $client->changePassword(array(
          // OldPassword is required
          'OldPassword' => 'string',
          // NewPassword is required
          'NewPassword' => 'string',
      ));

#### Parameters

$args
  `array`
  $arg Associative array containing the following keys (required keys are bold):
  - OldPassword => (string)

    The IAM user's current password.

  - NewPassword => (string)

    The new password. The new password must conform to the AWS account's password policy, if one exists.

#### Returns

``Guzzle\Service\Resource\Model``
Returns a response Model object

# `public `Guzzle\Service\Resource\Model``
`createAccessKey( array $args = array() )`

Executes the CreateAccessKey operation.

Creates a new AWS secret access key and corresponding AWS access key ID for the specified user. The default status for new keys is Active .

If you do not specify a user name, IAM determines the user name implicitly based on the AWS access key ID signing the request. Because this action works for access keys under the AWS account, you can use this action to manage root credentials even if the AWS account has no associated users.

For information about limits on the number of keys you can create, see Limitations on IAM Entities in the Using IAM guide.

To ensure the security of your AWS account, the secret access key is accessible only during key and user creation. You must save the key (for example, in a text file) if you want to be able to access it again. If a secret key is lost, you can delete the access keys for the associated user and then create new keys.

#### Examples

- Basic formatting example

      $result = $client->createAccessKey(array(
          'UserName' => 'string',
      ));

#### Parameters

$args
  `array`
  $arg Associative array containing the following keys (required keys are bold):
  - UserName => (string)

    The user name that the new key will belong to.

#### Returns

``Guzzle\Service\Resource\Model``
Returns a response Model object

- AccessKey => (associative-array)

  Information about the access key.

  - UserName => (string)

    The name of the IAM user that the access key is associated with.

  - AccessKeyId => (string)

    The ID for this access key.

  - Status => (string)

    The status of the access key. Active means the key is valid for API calls, while Inactive means it is not.

  - SecretAccessKey => (string)

    The secret key used to sign requests.

  - CreateDate => (string)

    The date when the access key was created.

# `public `Guzzle\Service\Resource\Model``
`createAccountAlias( array $args = array() )`

Executes the CreateAccountAlias operation.

Creates an alias for your AWS account. For information about using an AWS account alias, see Using an Alias for Your AWS Account ID in the Using IAM guide.

#### Examples

- Basic formatting example

      $result = $client->createAccountAlias(array(
          // AccountAlias is required
          'AccountAlias' => 'string',
      ));

#### Parameters

$args
  `array`
  $arg Associative array containing the following keys (required keys are bold):
  - AccountAlias => (string)

    The account alias to create.

#### Returns

``Guzzle\Service\Resource\Model``
Returns a response Model object

# `public `Guzzle\Service\Resource\Model``
`createGroup( array $args = array() )`

Executes the CreateGroup operation.

Creates a new group.

For information about the number of groups you can create, see Limitations on IAM Entities in the Using IAM guide.

#### Examples

- Basic formatting example

      $result = $client->createGroup(array(
          'Path' => 'string',
          // GroupName is required
          'GroupName' => 'string',
      ));

#### Parameters

$args
  `array`
  $arg Associative array containing the following keys (required keys are bold):
  - Path => (string)

    The path to the group. For more information about paths, see IAM Identifiers in the Using IAM guide.

    This parameter is optional. If it is not included, it defaults to a slash (/).

  - GroupName => (string)

    The name of the group to create. Do not include the path in this value.

#### Returns

``Guzzle\Service\Resource\Model``
Returns a response Model object

- Group => (associative-array)

  Information about the group.

  - Path => (string)

    The path to the group. For more information about paths, see IAM Identifiers in the Using IAM guide.

  - GroupName => (string)

    The friendly name that identifies the group.

  - GroupId => (string)

    The stable and unique string identifying the group. For more information about IDs, see IAM Identifiers in the Using IAM guide.

  - Arn => (string)

    The Amazon Resource Name (ARN) specifying the group. For more information about ARNs and how to use them in policies, see IAM Identifiers in the Using IAM guide.

  - CreateDate => (string)

    The date and time, in ISO 8601 date-time format, when the group was created.

# `public `Guzzle\Service\Resource\Model``
`createInstanceProfile( array $args = array() )`

Executes the CreateInstanceProfile operation.

Creates a new instance profile. For information about instance profiles, go to About Instance Profiles.

For information about the number of instance profiles you can create, see Limitations on IAM Entities in the Using IAM guide.

#### Examples

- Basic formatting example

      $result = $client->createInstanceProfile(array(
          // InstanceProfileName is required
          'InstanceProfileName' => 'string',
          'Path' => 'string',
      ));

#### Parameters

$args
  `array`
  $arg Associative array containing the following keys (required keys are bold):
  - InstanceProfileName => (string)

    The name of the instance profile to create.

  - Path => (string)

    The path to the instance profile. For more information about paths, see IAM Identifiers in the Using IAM guide.

    This parameter is optional. If it is not included, it defaults to a slash (/).

#### Returns

``Guzzle\Service\Resource\Model``
Returns a response Model object

- InstanceProfile => (associative-array)

  Information about the instance profile.

  - Path => (string)

    The path to the instance profile. For more information about paths, see IAM Identifiers in the Using IAM guide.

  - InstanceProfileName => (string)

    The name identifying the instance profile.

  - InstanceProfileId => (string)

    The stable and unique string identifying the instance profile. For more information about IDs, see IAM Identifiers in the Using IAM guide.

  - Arn => (string)

    The Amazon Resource Name (ARN) specifying the instance profile. For more information about ARNs and how to use them in policies, see IAM Identifiers in the Using IAM guide.

  - CreateDate => (string)

    The date when the instance profile was created.

  - Roles => (array<associative-array>)

    The role associated with the instance profile.

    - (associative-array)

      Contains information about an IAM role.

      This data type is used as a response element in the following actions:

      - CreateRole

      - GetRole

      - ListRoles

      - Path => (string)

        The path to the role. For more information about paths, see IAM Identifiers in the Using IAM guide.

      - RoleName => (string)

        The friendly name that identifies the role.

      - RoleId => (string)

        The stable and unique string identifying the role. For more information about IDs, see IAM Identifiers in the Using IAM guide.

      - Arn => (string)

        The Amazon Resource Name (ARN) specifying the role. For more information about ARNs and how to use them in policies, see IAM Identifiers in the Using IAM guide.

      - CreateDate => (string)

        The date and time, in ISO 8601 date-time format, when the role was created.

      - AssumeRolePolicyDocument => (string)

        The policy that grants an entity permission to assume the role.

# `public `Guzzle\Service\Resource\Model``
`createLoginProfile( array $args = array() )`

Executes the CreateLoginProfile operation.

Creates a password for the specified user, giving the user the ability to access AWS services through the AWS Management Console. For more information about managing passwords, see Managing Passwords in the Using IAM guide.

#### Examples

- Basic formatting example

      $result = $client->createLoginProfile(array(
          // UserName is required
          'UserName' => 'string',
          // Password is required
          'Password' => 'string',
          'PasswordResetRequired' => true || false,
      ));

#### Parameters

$args
  `array`
  $arg Associative array containing the following keys (required keys are bold):
  - UserName => (string)

    The name of the user to create a password for.

  - Password => (string)

    The new password for the user.

  - PasswordResetRequired => (bool)

    Specifies whether the user is required to set a new password on next sign-in.

#### Returns

``Guzzle\Service\Resource\Model``
Returns a response Model object

- LoginProfile => (associative-array)

  The user name and password create date.

  - UserName => (string)

    The name of the user, which can be used for signing in to the AWS Management Console.

  - CreateDate => (string)

    The date when the password for the user was created.

  - PasswordResetRequired => (bool)

    Specifies whether the user is required to set a new password on next sign-in.

# `public `Guzzle\Service\Resource\Model``
`createOpenIDConnectProvider( array $args = array() )`

Executes the CreateOpenIDConnectProvider operation.

Creates an IAM entity to describe an identity provider (IdP) that supports OpenID Connect (OIDC).

The OIDC provider that you create with this operation can be used as a principal in a role's trust policy to establish a trust relationship between AWS and the OIDC provider.

When you create the IAM OIDC provider, you specify the URL of the OIDC identity provider (IdP) to trust, a list of client IDs (also known as audiences) that identify the application or applications that are allowed to authenticate using the OIDC provider, and a list of thumbprints of the server certificate(s) that the IdP uses. You get all of this information from the OIDC IdP that you want to use for access to AWS.

Because trust for the OIDC provider is ultimately derived from the IAM provider that this action creates, it is a best practice to limit access to the CreateOpenIDConnectProvider action to highly-privileged users.

#### Examples

- Basic formatting example

      $result = $client->createOpenIDConnectProvider(array(
          // Url is required
          'Url' => 'string',
          'ClientIDList' => array('string', ... ),
          // ThumbprintList is required
          'ThumbprintList' => array('string', ... ),
      ));

#### Parameters

$args
  `array`
  $arg Associative array containing the following keys (required keys are bold):
  - Url => (string)

    The URL of the identity provider. The URL must begin with "https://" and should correspond to the iss claim in the provider's OpenID Connect ID tokens. Per the OIDC standard, path components are allowed but query parameters are not. Typically the URL consists of only a host name, like "https://server.example.org" or "https://example.com".

    You cannot register the same provider multiple times in a single AWS account. If you try to submit a URL that has already been used for an OpenID Connect provider in the AWS account, you will get an error.

  - ClientIDList => (array<string>)

    A list of client IDs (also known as audiences). When a mobile or web app registers with an OpenID Connect provider, they establish a value that identifies the application. (This is the value that's sent as the client_id parameter on OAuth requests.)

    You can register multiple client IDs with the same provider. For example, you might have multiple applications that use the same OIDC provider. You cannot register more than 100 client IDs with a single IAM OIDC provider.

    There is no defined format for a client ID. The CreateOpenIDConnectProviderRequest action accepts client IDs up to 255 characters long.

  - ThumbprintList => (array<string>)

    A list of server certificate thumbprints for the OpenID Connect (OIDC) identity provider's server certificate(s). Typically this list includes only one entry. However, IAM lets you have up to five thumbprints for an OIDC provider. This lets you maintain multiple thumbprints if the identity provider is rotating certificates.

    The server certificate thumbprint is the hex-encoded SHA-1 hash value of the X.509 certificate used by the domain where the OpenID Connect provider makes its keys available. It is always a 40-character string.

    You must provide at least one thumbprint when creating an IAM OIDC provider. For example, if the OIDC provider is server.example.com and the provider stores its keys at "https://keys.server.example.com/openid-connect", the thumbprint string would be the hex-encoded SHA-1 hash value of the certificate used by https://keys.server.example.com.

    For more information about obtaining the OIDC provider's thumbprint, see Obtaining the Thumbprint for an OpenID Connect Provider in the Using IAM guide.

    (string)

    Contains a thumbprint for an identity provider's server certificate.

    The identity provider's server certificate thumbprint is the hex-encoded SHA-1 hash value of the self-signed X.509 certificate used by the domain where the OpenID Connect provider makes its keys available. It is always a 40-character string.

#### Returns

``Guzzle\Service\Resource\Model``
Returns a response Model object

- OpenIDConnectProviderArn => (string)

  The Amazon Resource Name (ARN) of the IAM OpenID Connect provider that was created. For more information, see OpenIDConnectProviderListEntry.

# `public `Guzzle\Service\Resource\Model``
`createPolicy( array $args = array() )`

Executes the CreatePolicy operation.

Creates a new managed policy for your AWS account.

This operation creates a policy version with a version identifier of v1 and sets v1 as the policy's default version. For more information about policy versions, see Versioning for Managed Policies in the Using IAM guide.

For more information about managed policies in general, refer to Managed Policies and Inline Policies in the Using IAM guide.

#### Examples

- Basic formatting example

      $result = $client->createPolicy(array(
          // PolicyName is required
          'PolicyName' => 'string',
          'Path' => 'string',
          // PolicyDocument is required
          'PolicyDocument' => 'string',
          'Description' => 'string',
      ));

#### Parameters

$args
  `array`
  $arg Associative array containing the following keys (required keys are bold):
  - PolicyName => (string)

    The name of the policy document.

  - Path => (string)

    The path for the policy.

    For more information about paths, see IAM Identifiers in the Using IAM guide.

    This parameter is optional. If it is not included, it defaults to a slash (/).

  - PolicyDocument => (string)

    The policy document.

  - Description => (string)

    A friendly description of the policy.

    Typically used to store information about the permissions defined in the policy. For example, "Grants access to production DynamoDB tables."

    The policy description is immutable. After a value is assigned, it cannot be changed.

#### Returns

``Guzzle\Service\Resource\Model``
Returns a response Model object

- Policy => (associative-array)

  Information about the policy.

  - PolicyName => (string)

    The friendly name (not ARN) identifying the policy.

  - PolicyId => (string)

    The stable and unique string identifying the policy.

    For more information about IDs, see IAM Identifiers in the Using IAM guide.

  - Arn => (string)

    The Amazon Resource Name (ARN). ARNs are unique identifiers for AWS resources.

    For more information about ARNs, go to Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

  - Path => (string)

    The path to the policy.

    For more information about paths, see IAM Identifiers in the Using IAM guide.

  - DefaultVersionId => (string)

    The identifier for the version of the policy that is set as the default version.

  - AttachmentCount => (int)

    The number of entities (users, groups, and roles) that the policy is attached to.

  - IsAttachable => (bool)

    Specifies whether the policy can be attached to an IAM user, group, or role.

  - Description => (string)

    A friendly description of the policy.

    This element is included in the response to the GetPolicy operation. It is not included in the response to the ListPolicies operation.

  - CreateDate => (string)

    The date and time, in ISO 8601 date-time format, when the policy was created.

  - UpdateDate => (string)

    The date and time, in ISO 8601 date-time format, when the policy was last updated.

    When a policy has only one version, this field contains the date and time when the policy was created. When a policy has more than one version, this field contains the date and time when the most recent policy version was created.

# `public `Guzzle\Service\Resource\Model``
`createPolicyVersion( array $args = array() )`

Executes the CreatePolicyVersion operation.

Creates a new version of the specified managed policy. To update a managed policy, you create a new policy version. A managed policy can have up to five versions. If the policy has five versions, you must delete an existing version using DeletePolicyVersion before you create a new version.

Optionally, you can set the new version as the policy's default version. The default version is the operative version; that is, the version that is in effect for the IAM users, groups, and roles that the policy is attached to.

For more information about managed policy versions, see Versioning for Managed Policies in the Using IAM guide.

#### Examples

- Basic formatting example

      $result = $client->createPolicyVersion(array(
          // PolicyArn is required
          'PolicyArn' => 'string',
          // PolicyDocument is required
          'PolicyDocument' => 'string',
          'SetAsDefault' => true || false,
      ));

#### Parameters

$args
  `array`
  $arg Associative array containing the following keys (required keys are bold):
  - PolicyArn => (string)

    The Amazon Resource Name (ARN). ARNs are unique identifiers for AWS resources.

    For more information about ARNs, go to Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

  - PolicyDocument => (string)

    The policy document.

  - SetAsDefault => (bool)

    Specifies whether to set this version as the policy's default version.

    When this parameter is true, the new policy version becomes the operative version; that is, the version that is in effect for the IAM users, groups, and roles that the policy is attached to.

    For more information about managed policy versions, see Versioning for Managed Policies in the Using IAM guide.

#### Returns

``Guzzle\Service\Resource\Model``
Returns a response Model object

- PolicyVersion => (associative-array)

  Information about the policy version.

  - Document => (string)

    The policy document.

    The policy document is returned in the response to the GetPolicyVersion and GetAccountAuthorizationDetails operations. It is not returned in the response to the CreatePolicyVersion or ListPolicyVersions operations.

  - VersionId => (string)

    The identifier for the policy version.

    Policy version identifiers always begin with v (always lowercase). When a policy is created, the first policy version is v1.

  - IsDefaultVersion => (bool)

    Specifies whether the policy version is set as the policy's default version.

  - CreateDate => (string)

    The date and time, in ISO 8601 date-time format, when the policy version was created.

# `public `Guzzle\Service\Resource\Model``
`createRole( array $args = array() )`

Executes the CreateRole operation.

Creates a new role for your AWS account. For more information about roles, go to Working with Roles. For information about limitations on role names and the number of roles you can create, go to Limitations on IAM Entities in the Using IAM guide.

The policy in the following example grants permission to an EC2 instance to assume the role.

#### Examples

- Basic formatting example

      $result = $client->createRole(array(
          'Path' => 'string',
          // RoleName is required
          'RoleName' => 'string',
          // AssumeRolePolicyDocument is required
          'AssumeRolePolicyDocument' => 'string',
      ));

#### Parameters

$args
  `array`
  $arg Associative array containing the following keys (required keys are bold):
  - Path => (string)

    The path to the role. For more information about paths, see IAM Identifiers in the Using IAM guide.

    This parameter is optional. If it is not included, it defaults to a slash (/).

  - RoleName => (string)

    The name of the role to create.

  - AssumeRolePolicyDocument => (string)

    The policy that grants an entity permission to assume the role.

#### Returns

``Guzzle\Service\Resource\Model``
Returns a response Model object

- Role => (associative-array)

  Information about the role.

  - Path => (string)

    The path to the role. For more information about paths, see IAM Identifiers in the Using IAM guide.

  - RoleName => (string)

    The friendly name that identifies the role.

  - RoleId => (string)

    The stable and unique string identifying the role. For more information about IDs, see IAM Identifiers in the Using IAM guide.

  - Arn => (string)

    The Amazon Resource Name (ARN) specifying the role. For more information about ARNs and how to use them in policies, see IAM Identifiers in the Using IAM guide.

  - CreateDate => (string)

    The date and time, in ISO 8601 date-time format, when the role was created.

  - AssumeRolePolicyDocument => (string)

    The policy that grants an entity permission to assume the role.

# `public `Guzzle\Service\Resource\Model``
`createSAMLProvider( array $args = array() )`

Executes the CreateSAMLProvider operation.

Creates an IAM entity to describe an identity provider (IdP) that supports SAML 2.0.

The SAML provider that you create with this operation can be used as a principal in a role's trust policy to establish a trust relationship between AWS and a SAML identity provider. You can create an IAM role that supports Web-based single sign-on (SSO) to the AWS Management Console or one that supports API access to AWS.

When you create the SAML provider, you upload an a SAML metadata document that you get from your IdP and that includes the issuer's name, expiration information, and keys that can be used to validate the SAML authentication response (assertions) that are received from the IdP. You must generate the metadata document using the identity management software that is used as your organization's IdP.

This operation requires Signature Version 4.

For more information, see Giving Console Access Using SAML and Creating Temporary Security Credentials for SAML Federation in the Using Temporary Credentials guide.

#### Examples

- Basic formatting example

      $result = $client->createSAMLProvider(array(
          // SAMLMetadataDocument is required
          'SAMLMetadataDocument' => 'string',
          // Name is required
          'Name' => 'string',
      ));

#### Parameters

$args
  `array`
  $arg Associative array containing the following keys (required keys are bold):
  - SAMLMetadataDocument => (string)

    An XML document generated by an identity provider (IdP) that supports SAML 2.0. The document includes the issuer's name, expiration information, and keys that can be used to validate the SAML authentication response (assertions) that are received from the IdP. You must generate the metadata document using the identity management software that is used as your organization's IdP.

    For more information, see Creating Temporary Security Credentials for SAML Federation in the Using Temporary Security Credentials guide.

  - Name => (string)

    The name of the provider to create.

#### Returns

``Guzzle\Service\Resource\Model``
Returns a response Model object

- SAMLProviderArn => (string)

  The Amazon Resource Name (ARN) of the SAML provider.

# `public `Guzzle\Service\Resource\Model``
`createUser( array $args = array() )`

Executes the CreateUser operation.

Creates a new user for your AWS account.

For information about limitations on the number of users you can create, see Limitations on IAM Entities in the Using IAM guide.

#### Examples

- Basic formatting example

      $result = $client->createUser(array(
          'Path' => 'string',
          // UserName is required
          'UserName' => 'string',
      ));

#### Parameters

$args
  `array`
  $arg Associative array containing the following keys (required keys are bold):
  - Path => (string)

    The path for the user name. For more information about paths, see IAM Identifiers in the Using IAM guide.

    This parameter is optional. If it is not included, it defaults to a slash (/).

  - UserName => (string)

    The name of the user to create.

#### Returns

``Guzzle\Service\Resource\Model``
Returns a response Model object

- User => (associative-array)

  Information about the user.

  - Path => (string)

    The path to the user. For more information about paths, see IAM Identifiers in the Using IAM guide.

  - UserName => (string)

    The friendly name identifying the user.

  - UserId => (string)

    The stable and unique string identifying the user. For more information about IDs, see IAM Identifiers in the Using IAM guide.

  - Arn => (string)

    The Amazon Resource Name (ARN) that identifies the user. For more information about ARNs and how to use ARNs in policies, see IAM Identifiers in the Using IAM guide.

  - CreateDate => (string)

    The date and time, in ISO 8601 date-time format, when the user was created.

  - PasswordLastUsed => (string)

    The date and time, in ISO 8601 date-time format, when the user's password was last used to sign in to an AWS website. For a list of AWS websites that capture a user's last sign-in time, see the Credential Reports topic in the Using IAM guide. If a password is used more than once in a five-minute span, only the first use is returned in this field. This field is null (not present) when:

    - The user does not have a password

    - The password exists but has never been used (at least not since IAM started tracking this information on October 20th, 2014

    - there is no sign-in data associated with the user

    This value is returned only in the GetUser and ListUsers actions.

# `public `Guzzle\Service\Resource\Model``
`createVirtualMFADevice( array $args = array() )`

Executes the CreateVirtualMFADevice operation.

Creates a new virtual MFA device for the AWS account. After creating the virtual MFA, use EnableMFADevice to attach the MFA device to an IAM user. For more information about creating and working with virtual MFA devices, go to Using a Virtual MFA Device in the Using IAM guide.

For information about limits on the number of MFA devices you can create, see Limitations on Entities in the Using IAM guide.

The seed information contained in the QR code and the Base32 string should be treated like any other secret access information, such as your AWS access keys or your passwords. After you provision your virtual device, you should ensure that the information is destroyed following secure procedures.

#### Examples

- Basic formatting example

      $result = $client->createVirtualMFADevice(array(
          'Path' => 'string',
          // VirtualMFADeviceName is required
          'VirtualMFADeviceName' => 'string',
      ));

#### Parameters

$args
  `array`
  $arg Associative array containing the following keys (required keys are bold):
  - Path => (string)

    The path for the virtual MFA device. For more information about paths, see IAM Identifiers in the Using IAM guide.

    This parameter is optional. If it is not included, it defaults to a slash (/).

  - VirtualMFADeviceName => (string)

    The name of the virtual MFA device. Use with path to uniquely identify a virtual MFA device.

#### Returns

``Guzzle\Service\Resource\Model``
Returns a response Model object

- VirtualMFADevice => (associative-array)

  A newly created virtual MFA device.

  - SerialNumber => (string)

    The serial number associated with VirtualMFADevice.

  - Base32StringSeed => (string)

    The Base32 seed defined as specified in RFC3548. The Base32StringSeed is Base64-encoded.

  - QRCodePNG => (string)

    A QR code PNG image that encodes otpauth://totp/$virtualMFADeviceName@$AccountName?secret=$Base32String where $virtualMFADeviceName is one of the create call arguments, AccountName is the user name if set (otherwise, the account ID otherwise), and Base32String is the seed in Base32 format. The Base32String value is Base64-encoded.

  - User => (associative-array)

    Contains information about an IAM user entity.

    This data type is used as a response element in the following actions:

    - CreateUser

    - GetUser

    - ListUsers

    - Path => (string)

      The path to the user. For more information about paths, see IAM Identifiers in the Using IAM guide.

    - UserName => (string)

      The friendly name identifying the user.

    - UserId => (string)

      The stable and unique string identifying the user. For more information about IDs, see IAM Identifiers in the Using IAM guide.

    - Arn => (string)

      The Amazon Resource Name (ARN) that identifies the user. For more information about ARNs and how to use ARNs in policies, see IAM Identifiers in the Using IAM guide.

    - CreateDate => (string)

      The date and time, in ISO 8601 date-time format, when the user was created.

    - PasswordLastUsed => (string)

      The date and time, in ISO 8601 date-time format, when the user's password was last used to sign in to an AWS website. For a list of AWS websites that capture a user's last sign-in time, see the Credential Reports topic in the Using IAM guide. If a password is used more than once in a five-minute span, only the first use is returned in this field. This field is null (not present) when:

      - The user does not have a password

      - The password exists but has never been used (at least not since IAM started tracking this information on October 20th, 2014

      - there is no sign-in data associated with the user

      This value is returned only in the GetUser and ListUsers actions.

  - EnableDate => (string)

    The date and time on which the virtual MFA device was enabled.

# `public `Guzzle\Service\Resource\Model``
`deactivateMFADevice( array $args = array() )`

Executes the DeactivateMFADevice operation.

Deactivates the specified MFA device and removes it from association with the user name for which it was originally enabled.

For more information about creating and working with virtual MFA devices, go to Using a Virtual MFA Device in the Using IAM guide.

#### Examples

- Basic formatting example

      $result = $client->deactivateMFADevice(array(
          // UserName is required
          'UserName' => 'string',
          // SerialNumber is required
          'SerialNumber' => 'string',
      ));

#### Parameters

$args
  `array`
  $arg Associative array containing the following keys (required keys are bold):
  - UserName => (string)

    The name of the user whose MFA device you want to deactivate.

  - SerialNumber => (string)

    The serial number that uniquely identifies the MFA device. For virtual MFA devices, the serial number is the device ARN.

#### Returns

``Guzzle\Service\Resource\Model``
Returns a response Model object

# `public `Guzzle\Service\Resource\Model``
`deleteAccessKey( array $args = array() )`

Executes the DeleteAccessKey operation.

Deletes the access key associated with the specified user.

If you do not specify a user name, IAM determines the user name implicitly based on the AWS access key ID signing the request. Because this action works for access keys under the AWS account, you can use this action to manage root credentials even if the AWS account has no associated users.

#### Examples

- Basic formatting example

      $result = $client->deleteAccessKey(array(
          'UserName' => 'string',
          // AccessKeyId is required
          'AccessKeyId' => 'string',
      ));

#### Parameters

$args
  `array`
  $arg Associative array containing the following keys (required keys are bold):
  - UserName => (string)

    The name of the user whose key you want to delete.

  - AccessKeyId => (string)

    The access key ID for the access key ID and secret access key you want to delete.

#### Returns

``Guzzle\Service\Resource\Model``
Returns a response Model object

# `public `Guzzle\Service\Resource\Model``
`deleteAccountAlias( array $args = array() )`

Executes the DeleteAccountAlias operation.

Deletes the specified AWS account alias. For information about using an AWS account alias, see Using an Alias for Your AWS Account ID in the Using IAM guide.

#### Examples

- Basic formatting example

      $result = $client->deleteAccountAlias(array(
          // AccountAlias is required
          'AccountAlias' => 'string',
      ));

#### Parameters

$args
  `array`
  $arg Associative array containing the following keys (required keys are bold):
  - AccountAlias => (string)

    The name of the account alias to delete.

#### Returns

``Guzzle\Service\Resource\Model``
Returns a response Model object

# `public `Guzzle\Service\Resource\Model``
`deleteAccountPasswordPolicy( array $args = array() )`

Executes the DeleteAccountPasswordPolicy operation.

Deletes the password policy for the AWS account.

#### Examples

- Basic formatting example

      $result = $client->deleteAccountPasswordPolicy(array(
      ));

#### Returns

``Guzzle\Service\Resource\Model``
Returns a response Model object

# `public `Guzzle\Service\Resource\Model``
`deleteGroup( array $args = array() )`

Executes the DeleteGroup operation.

Deletes the specified group. The group must not contain any users or have any attached policies.

#### Examples

- Basic formatting example

      $result = $client->deleteGroup(array(
          // GroupName is required
          'GroupName' => 'string',
      ));

#### Parameters

$args
  `array`
  $arg Associative array containing the following keys (required keys are bold):
  - GroupName => (string)

    The name of the group to delete.

#### Returns

``Guzzle\Service\Resource\Model``
Returns a response Model object

# `public `Guzzle\Service\Resource\Model``
`deleteGroupPolicy( array $args = array() )`

Executes the DeleteGroupPolicy operation.

Deletes the specified inline policy that is embedded in the specified group.

A group can also have managed policies attached to it. To detach a managed policy from a group, use DetachGroupPolicy. For more information about policies, refer to Managed Policies and Inline Policies in the Using IAM guide.

#### Examples

- Basic formatting example

      $result = $client->deleteGroupPolicy(array(
          // GroupName is required
          'GroupName' => 'string',
          // PolicyName is required
          'PolicyName' => 'string',
      ));

#### Parameters

$args
  `array`
  $arg Associative array containing the following keys (required keys are bold):
  - GroupName => (string)

    The name (friendly name, not ARN) identifying the group that the policy is embedded in.

  - PolicyName => (string)

    The name identifying the policy document to delete.

#### Returns

``Guzzle\Service\Resource\Model``
Returns a response Model object

# `public `Guzzle\Service\Resource\Model``
`deleteInstanceProfile( array $args = array() )`

Executes the DeleteInstanceProfile operation.

Deletes the specified instance profile. The instance profile must not have an associated role.

Make sure you do not have any Amazon EC2 instances running with the instance profile you are about to delete. Deleting a role or instance profile that is associated with a running instance will break any applications running on the instance.

For more information about instance profiles, go to About Instance Profiles.

#### Examples

- Basic formatting example

      $result = $client->deleteInstanceProfile(array(
          // InstanceProfileName is required
          'InstanceProfileName' => 'string',
      ));

#### Parameters

$args
  `array`
  $arg Associative array containing the following keys (required keys are bold):
  - InstanceProfileName => (string)

    The name of the instance profile to delete.

#### Returns

``Guzzle\Service\Resource\Model``
Returns a response Model object

# `public `Guzzle\Service\Resource\Model``
`deleteLoginProfile( array $args = array() )`

Executes the DeleteLoginProfile operation.

Deletes the password for the specified user, which terminates the user's ability to access AWS services through the AWS Management Console.

Deleting a user's password does not prevent a user from accessing IAM through the command line interface or the API. To prevent all user access you must also either make the access key inactive or delete it. For more information about making keys inactive or deleting them, see UpdateAccessKey and DeleteAccessKey.

#### Examples

- Basic formatting example

      $result = $client->deleteLoginProfile(array(
          // UserName is required
          'UserName' => 'string',
      ));

#### Parameters

$args
  `array`
  $arg Associative array containing the following keys (required keys are bold):
  - UserName => (string)

    The name of the user whose password you want to delete.

#### Returns

``Guzzle\Service\Resource\Model``
Returns a response Model object

# `public `Guzzle\Service\Resource\Model``
`deleteOpenIDConnectProvider( array $args = array() )`

Executes the DeleteOpenIDConnectProvider operation.

Deletes an IAM OpenID Connect identity provider.

Deleting an OIDC provider does not update any roles that reference the provider as a principal in their trust policies. Any attempt to assume a role that references a provider that has been deleted will fail.

This action is idempotent; it does not fail or return an error if you call the action for a provider that was already deleted.

#### Examples

- Basic formatting example

      $result = $client->deleteOpenIDConnectProvider(array(
          // OpenIDConnectProviderArn is required
          'OpenIDConnectProviderArn' => 'string',
      ));

#### Parameters

$args
  `array`
  $arg Associative array containing the following keys (required keys are bold):
  - OpenIDConnectProviderArn => (string)

    The Amazon Resource Name (ARN) of the IAM OpenID Connect provider to delete. You can get a list of OpenID Connect provider ARNs by using the ListOpenIDConnectProviders action.

#### Returns

``Guzzle\Service\Resource\Model``
Returns a response Model object

# `public `Guzzle\Service\Resource\Model``
`deletePolicy( array $args = array() )`

Executes the DeletePolicy operation.

Deletes the specified managed policy.

Before you can delete a managed policy, you must detach the policy from all users, groups, and roles that it is attached to, and you must delete all of the policy's versions. The following steps describe the process for deleting a managed policy:

1. Detach the policy from all users, groups, and roles that the policy is attached to, using the DetachUserPolicy, DetachGroupPolicy, or DetachRolePolicy APIs. To list all the users, groups, and roles that a policy is attached to, use ListEntitiesForPolicy.
2. Delete all versions of the policy using DeletePolicyVersion. To list the policy's versions, use ListPolicyVersions. You cannot use DeletePolicyVersion to delete the version that is marked as the default version. You delete the policy's default version in the next step of the process.
3. Delete the policy (this automatically deletes the policy's default version) using this API.

For information about managed policies, refer to Managed Policies and Inline Policies in the Using IAM guide.

#### Examples

- Basic formatting example

      $result = $client->deletePolicy(array(
          // PolicyArn is required
          'PolicyArn' => 'string',
      ));

#### Parameters

$args
  `array`
  $arg Associative array containing the following keys (required keys are bold):
  - PolicyArn => (string)

    The Amazon Resource Name (ARN). ARNs are unique identifiers for AWS resources.

    For more information about ARNs, go to Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

#### Returns

``Guzzle\Service\Resource\Model``
Returns a response Model object

# `public `Guzzle\Service\Resource\Model``
`deletePolicyVersion( array $args = array() )`

Executes the DeletePolicyVersion operation.

Deletes the specified version of the specified managed policy.

You cannot delete the default version of a policy using this API. To delete the default version of a policy, use DeletePolicy. To find out which version of a policy is marked as the default version, use ListPolicyVersions.

For information about versions for managed policies, refer to Versioning for Managed Policies in the Using IAM guide.

#### Examples

- Basic formatting example

      $result = $client->deletePolicyVersion(array(
          // PolicyArn is required
          'PolicyArn' => 'string',
          // VersionId is required
          'VersionId' => 'string',
      ));

#### Parameters

$args
  `array`
  $arg Associative array containing the following keys (required keys are bold):
  - PolicyArn => (string)

    The Amazon Resource Name (ARN). ARNs are unique identifiers for AWS resources.

    For more information about ARNs, go to Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

  - VersionId => (string)

    The policy version to delete.

    For more information about managed policy versions, see Versioning for Managed Policies in the Using IAM guide.

#### Returns

``Guzzle\Service\Resource\Model``
Returns a response Model object

# `public `Guzzle\Service\Resource\Model``
`deleteRole( array $args = array() )`

Executes the DeleteRole operation.

Deletes the specified role. The role must not have any policies attached. For more information about roles, go to Working with Roles.

Make sure you do not have any Amazon EC2 instances running with the role you are about to delete. Deleting a role or instance profile that is associated with a running instance will break any applications running on the instance.

#### Examples

- Basic formatting example

      $result = $client->deleteRole(array(
          // RoleName is required
          'RoleName' => 'string',
      ));

#### Parameters

$args
  `array`
  $arg Associative array containing the following keys (required keys are bold):
  - RoleName => (string)

    The name of the role to delete.

#### Returns

``Guzzle\Service\Resource\Model``
Returns a response Model object

# `public `Guzzle\Service\Resource\Model``
`deleteRolePolicy( array $args = array() )`

Executes the DeleteRolePolicy operation.

Deletes the specified inline policy that is embedded in the specified role.

A role can also have managed policies attached to it. To detach a managed policy from a role, use DetachRolePolicy. For more information about policies, refer to Managed Policies and Inline Policies in the Using IAM guide.

#### Examples

- Basic formatting example

      $result = $client->deleteRolePolicy(array(
          // RoleName is required
          'RoleName' => 'string',
          // PolicyName is required
          'PolicyName' => 'string',
      ));

#### Parameters

$args
  `array`
  $arg Associative array containing the following keys (required keys are bold):
  - RoleName => (string)

    The name (friendly name, not ARN) identifying the role that the policy is embedded in.

  - PolicyName => (string)

    The name identifying the policy document to delete.

#### Returns

``Guzzle\Service\Resource\Model``
Returns a response Model object

# `public `Guzzle\Service\Resource\Model``
`deleteSAMLProvider( array $args = array() )`

Executes the DeleteSAMLProvider operation.

Deletes a SAML provider.

Deleting the provider does not update any roles that reference the SAML provider as a principal in their trust policies. Any attempt to assume a role that references a SAML provider that has been deleted will fail.

This operation requires Signature Version 4.

#### Examples

- Basic formatting example

      $result = $client->deleteSAMLProvider(array(
          // SAMLProviderArn is required
          'SAMLProviderArn' => 'string',
      ));

#### Parameters

$args
  `array`
  $arg Associative array containing the following keys (required keys are bold):
  - SAMLProviderArn => (string)

    The Amazon Resource Name (ARN) of the SAML provider to delete.

#### Returns

``Guzzle\Service\Resource\Model``
Returns a response Model object

# `public `Guzzle\Service\Resource\Model``
`deleteSSHPublicKey( array $args = array() )`

Executes the DeleteSSHPublicKey operation.

Deletes the specified SSH public key.

The SSH public key deleted by this action is used only for authenticating the associated IAM user to an AWS CodeCommit repository. For more information about using SSH keys to authenticate to an AWS CodeCommit repository, see Set up AWS CodeCommit for SSH Connections in the AWS CodeCommit User Guide.

#### Examples

- Basic formatting example

      $result = $client->deleteSSHPublicKey(array(
          // UserName is required
          'UserName' => 'string',
          // SSHPublicKeyId is required
          'SSHPublicKeyId' => 'string',
      ));

#### Parameters

$args
  `array`
  $arg Associative array containing the following keys (required keys are bold):
  - UserName => (string)

    The name of the IAM user associated with the SSH public key.

  - SSHPublicKeyId => (string)

    The unique identifier for the SSH public key.

#### Returns

``Guzzle\Service\Resource\Model``
Returns a response Model object

# `public `Guzzle\Service\Resource\Model``
`deleteServerCertificate( array $args = array() )`

Executes the DeleteServerCertificate operation.

Deletes the specified server certificate.

If you are using a server certificate with Elastic Load Balancing, deleting the certificate could have implications for your application. If Elastic Load Balancing doesn't detect the deletion of bound certificates, it may continue to use the certificates. This could cause Elastic Load Balancing to stop accepting traffic. We recommend that you remove the reference to the certificate from Elastic Load Balancing before using this command to delete the certificate. For more information, go to DeleteLoadBalancerListeners in the Elastic Load Balancing API Reference.

#### Examples

- Basic formatting example

      $result = $client->deleteServerCertificate(array(
          // ServerCertificateName is required
          'ServerCertificateName' => 'string',
      ));

#### Parameters

$args
  `array`
  $arg Associative array containing the following keys (required keys are bold):
  - ServerCertificateName => (string)

    The name of the server certificate you want to delete.

#### Returns

``Guzzle\Service\Resource\Model``
Returns a response Model object

# `public `Guzzle\Service\Resource\Model``
`deleteSigningCertificate( array $args = array() )`

Executes the DeleteSigningCertificate operation.

Deletes the specified signing certificate associated with the specified user.

If you do not specify a user name, IAM determines the user name implicitly based on the AWS access key ID signing the request. Because this action works for access keys under the AWS account, you can use this action to manage root credentials even if the AWS account has no associated users.

#### Examples

- Basic formatting example

      $result = $client->deleteSigningCertificate(array(
          'UserName' => 'string',
          // CertificateId is required
          'CertificateId' => 'string',
      ));

#### Parameters

$args
  `array`
  $arg Associative array containing the following keys (required keys are bold):
  - UserName => (string)

    The name of the user the signing certificate belongs to.

  - CertificateId => (string)

    The ID of the signing certificate to delete.

#### Returns

``Guzzle\Service\Resource\Model``
Returns a response Model object

# `public `Guzzle\Service\Resource\Model``
`deleteUser( array $args = array() )`

Executes the DeleteUser operation.

Deletes the specified user. The user must not belong to any groups, have any keys or signing certificates, or have any attached policies.

#### Examples

- Basic formatting example

      $result = $client->deleteUser(array(
          // UserName is required
          'UserName' => 'string',
      ));

#### Parameters

$args
  `array`
  $arg Associative array containing the following keys (required keys are bold):
  - UserName => (string)

    The name of the user to delete.

#### Returns

``Guzzle\Service\Resource\Model``
Returns a response Model object

# `public `Guzzle\Service\Resource\Model``
`deleteUserPolicy( array $args = array() )`

Executes the DeleteUserPolicy operation.

Deletes the specified inline policy that is embedded in the specified user.

A user can also have managed policies attached to it. To detach a managed policy from a user, use DetachUserPolicy. For more information about policies, refer to Managed Policies and Inline Policies in the Using IAM guide.

#### Examples

- Basic formatting example

      $result = $client->deleteUserPolicy(array(
          // UserName is required
          'UserName' => 'string',
          // PolicyName is required
          'PolicyName' => 'string',
      ));

#### Parameters

$args
  `array`
  $arg Associative array containing the following keys (required keys are bold):
  - UserName => (string)

    The name (friendly name, not ARN) identifying the user that the policy is embedded in.

  - PolicyName => (string)

    The name identifying the policy document to delete.

#### Returns

``Guzzle\Service\Resource\Model``
Returns a response Model object

# `public `Guzzle\Service\Resource\Model``
`deleteVirtualMFADevice( array $args = array() )`

Executes the DeleteVirtualMFADevice operation.

Deletes a virtual MFA device.

You must deactivate a user's virtual MFA device before you can delete it. For information about deactivating MFA devices, see DeactivateMFADevice.

#### Examples

- Basic formatting example

      $result = $client->deleteVirtualMFADevice(array(
          // SerialNumber is required
          'SerialNumber' => 'string',
      ));

#### Parameters

$args
  `array`
  $arg Associative array containing the following keys (required keys are bold):
  - SerialNumber => (string)

    The serial number that uniquely identifies the MFA device. For virtual MFA devices, the serial number is the same as the ARN.

#### Returns

``Guzzle\Service\Resource\Model``
Returns a response Model object

# `public `Guzzle\Service\Resource\Model``
`detachGroupPolicy( array $args = array() )`

Executes the DetachGroupPolicy operation.

Removes the specified managed policy from the specified group.

A group can also have inline policies embedded with it. To delete an inline policy, use the DeleteGroupPolicy API. For information about policies, refer to Managed Policies and Inline Policies in the Using IAM guide.

#### Examples

- Basic formatting example

      $result = $client->detachGroupPolicy(array(
          // GroupName is required
          'GroupName' => 'string',
          // PolicyArn is required
          'PolicyArn' => 'string',
      ));

#### Parameters

$args
  `array`
  $arg Associative array containing the following keys (required keys are bold):
  - GroupName => (string)

    The name (friendly name, not ARN) of the group to detach the policy from.

  - PolicyArn => (string)

    The Amazon Resource Name (ARN). ARNs are unique identifiers for AWS resources.

    For more information about ARNs, go to Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

#### Returns

``Guzzle\Service\Resource\Model``
Returns a response Model object

# `public `Guzzle\Service\Resource\Model``
`detachRolePolicy( array $args = array() )`

Executes the DetachRolePolicy operation.

Removes the specified managed policy from the specified role.

A role can also have inline policies embedded with it. To delete an inline policy, use the DeleteRolePolicy API. For information about policies, refer to Managed Policies and Inline Policies in the Using IAM guide.

#### Examples

- Basic formatting example

      $result = $client->detachRolePolicy(array(
          // RoleName is required
          'RoleName' => 'string',
          // PolicyArn is required
          'PolicyArn' => 'string',
      ));

#### Parameters

$args
  `array`
  $arg Associative array containing the following keys (required keys are bold):
  - RoleName => (string)

    The name (friendly name, not ARN) of the role to detach the policy from.

  - PolicyArn => (string)

    The Amazon Resource Name (ARN). ARNs are unique identifiers for AWS resources.

    For more information about ARNs, go to Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

#### Returns

``Guzzle\Service\Resource\Model``
Returns a response Model object

# `public `Guzzle\Service\Resource\Model``
`detachUserPolicy( array $args = array() )`

Executes the DetachUserPolicy operation.

Removes the specified managed policy from the specified user.

A user can also have inline policies embedded with it. To delete an inline policy, use the DeleteUserPolicy API. For information about policies, refer to Managed Policies and Inline Policies in the Using IAM guide.

#### Examples

- Basic formatting example

      $result = $client->detachUserPolicy(array(
          // UserName is required
          'UserName' => 'string',
          // PolicyArn is required
          'PolicyArn' => 'string',
      ));

#### Parameters

$args
  `array`
  $arg Associative array containing the following keys (required keys are bold):
  - UserName => (string)

    The name (friendly name, not ARN) of the user to detach the policy from.

  - PolicyArn => (string)

    The Amazon Resource Name (ARN). ARNs are unique identifiers for AWS resources.

    For more information about ARNs, go to Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

#### Returns

``Guzzle\Service\Resource\Model``
Returns a response Model object

# `public `Guzzle\Service\Resource\Model``
`enableMFADevice( array $args = array() )`

Executes the EnableMFADevice operation.

Enables the specified MFA device and associates it with the specified user name. When enabled, the MFA device is required for every subsequent login by the user name associated with the device.

#### Examples

- Basic formatting example

      $result = $client->enableMFADevice(array(
          // UserName is required
          'UserName' => 'string',
          // SerialNumber is required
          'SerialNumber' => 'string',
          // AuthenticationCode1 is required
          'AuthenticationCode1' => 'string',
          // AuthenticationCode2 is required
          'AuthenticationCode2' => 'string',
      ));

#### Parameters

$args
  `array`
  $arg Associative array containing the following keys (required keys are bold):
  - UserName => (string)

    The name of the user for whom you want to enable the MFA device.

  - SerialNumber => (string)

    The serial number that uniquely identifies the MFA device. For virtual MFA devices, the serial number is the device ARN.

  - AuthenticationCode1 => (string)

    An authentication code emitted by the device.

  - AuthenticationCode2 => (string)

    A subsequent authentication code emitted by the device.

#### Returns

``Guzzle\Service\Resource\Model``
Returns a response Model object

# `public `Guzzle\Service\Resource\Model``
`generateCredentialReport( array $args = array() )`

Executes the GenerateCredentialReport operation.

Generates a credential report for the AWS account. For more information about the credential report, see Getting Credential Reports in the Using IAM guide.

#### Examples

- Basic formatting example

      $result = $client->generateCredentialReport(array(
      ));

#### Returns

``Guzzle\Service\Resource\Model``
Returns a response Model object

- State => (string)

  Information about the state of the credential report.

- Description => (string)

  Information about the credential report.

# `public `Guzzle\Service\Resource\Model``
`getAccessKeyLastUsed( array $args = array() )`

Executes the GetAccessKeyLastUsed operation.

Retrieves information about when the specified access key was last used. The information includes the date and time of last use, along with the AWS service and region that were specified in the last request made with that key.

#### Examples

- Basic formatting example

      $result = $client->getAccessKeyLastUsed(array(
          // AccessKeyId is required
          'AccessKeyId' => 'string',
      ));

#### Parameters

$args
  `array`
  $arg Associative array containing the following keys (required keys are bold):
  - AccessKeyId => (string)

    The identifier of an access key.

#### Returns

``Guzzle\Service\Resource\Model``
Returns a response Model object

- UserName => (string)

  The name of the AWS IAM user that owns this access key.

- AccessKeyLastUsed => (associative-array)

  Contains information about the last time the access key was used.

  - LastUsedDate => (string)

    The date and time, in ISO 8601 date-time format, when the access key was most recently used. This field is null when:

    - The user does not have an access key.

    - An access key exists but has never been used, at least not since IAM started tracking this information on April 22nd, 2015.

    - There is no sign-in data associated with the user

  - ServiceName => (string)

    The name of the AWS service with which this access key was most recently used. This field is null when:

    - The user does not have an access key.

    - An access key exists but has never been used, at least not since IAM started tracking this information on April 22nd, 2015.

    - There is no sign-in data associated with the user

  - Region => (string)

    The AWS region where this access key was most recently used. This field is null when:

    - The user does not have an access key.

    - An access key exists but has never been used, at least not since IAM started tracking this information on April 22nd, 2015.

    - There is no sign-in data associated with the user

    For more information about AWS regions, see Regions and Endpoints in the Amazon Web Services General Reference.

# `public `Guzzle\Service\Resource\Model``
`getAccountAuthorizationDetails( array $args = array() )`

Executes the GetAccountAuthorizationDetails operation.

Retrieves information about all IAM users, groups, roles, and policies in your account, including their relationships to one another. Use this API to obtain a snapshot of the configuration of IAM permissions (users, groups, roles, and policies) in your account.

You can optionally filter the results using the Filter parameter. You can paginate the results using the MaxItems and Marker parameters.

#### Examples

- Basic formatting example

      $result = $client->getAccountAuthorizationDetails(array(
          'Filter' => array('string', ... ),
          'MaxItems' => integer,
          'Marker' => 'string',
      ));

#### Parameters

$args
  `array`
  $arg Associative array containing the following keys (required keys are bold):
  - Filter => (array<string: User | Role | Group | LocalManagedPolicy | AWSManagedPolicy >)

    A list of entity types (user, group, role, local managed policy, or AWS managed policy) for filtering the results.

  - MaxItems => (int)

    Use this only when paginating results to indicate the maximum number of items you want in the response. If there are additional items beyond the maximum you specify, the IsTruncated response element is true.

    This parameter is optional. If you do not include it, it defaults to 100.

  - Marker => (string)

    Use this parameter only when paginating results and only after you have received a response where the results are truncated. Set it to the value of the Marker element in the response you just received.

#### Returns

``Guzzle\Service\Resource\Model``
Returns a response Model object

- UserDetailList => (array<associative-array>)

  A list containing information about IAM users.

  - (associative-array)

    Contains information about an IAM user, including all the user's policies and all the IAM groups the user is in.

    This data type is used as a response element in the GetAccountAuthorizationDetails action.

    - Path => (string)

      The path to the user. For more information about paths, see IAM Identifiers in the Using IAM guide.

    - UserName => (string)

      The friendly name identifying the user.

    - UserId => (string)

      The stable and unique string identifying the user. For more information about IDs, see IAM Identifiers in the Using IAM guide.

    - Arn => (string)

      The Amazon Resource Name (ARN). ARNs are unique identifiers for AWS resources.

      For more information about ARNs, go to Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

    - CreateDate => (string)

      The date and time, in ISO 8601 date-time format, when the user was created.

    - UserPolicyList => (array<associative-array>)

      A list of the inline policies embedded in the user.

      - (associative-array)

        Contains information about an IAM policy, including the policy document.

        This data type is used as a response element in the GetAccountAuthorizationDetails action.

        - PolicyName => (string)

          The name of the policy.

        - PolicyDocument => (string)

          The policy document.

    - GroupList => (array<string>)

      A list of IAM groups that the user is in.

    - AttachedManagedPolicies => (array<associative-array>)

      A list of the managed policies attached to the user.

      - (associative-array)

        Contains information about an attached policy.

        An attached policy is a managed policy that has been attached to a user, group, or role. This data type is used as a response element in the ListAttachedGroupPolicies, ListAttachedRolePolicies, ListAttachedUserPolicies, and GetAccountAuthorizationDetails actions.

        For more information about managed policies, refer to Managed Policies and Inline Policies in the Using IAM guide.

        - PolicyName => (string)

          The friendly name of the attached policy.

        - PolicyArn => (string)

          The Amazon Resource Name (ARN). ARNs are unique identifiers for AWS resources.

          For more information about ARNs, go to Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

- GroupDetailList => (array<associative-array>)

  A list containing information about IAM groups.

  - (associative-array)

    Contains information about an IAM group, including all of the group's policies.

    This data type is used as a response element in the GetAccountAuthorizationDetails action.

    - Path => (string)

      The path to the group. For more information about paths, see IAM Identifiers in the Using IAM guide.

    - GroupName => (string)

      The friendly name that identifies the group.

    - GroupId => (string)

      The stable and unique string identifying the group. For more information about IDs, see IAM Identifiers in the Using IAM guide.

    - Arn => (string)

      The Amazon Resource Name (ARN). ARNs are unique identifiers for AWS resources.

      For more information about ARNs, go to Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

    - CreateDate => (string)

      The date and time, in ISO 8601 date-time format, when the group was created.

    - GroupPolicyList => (array<associative-array>)

      A list of the inline policies embedded in the group.

      - (associative-array)

        Contains information about an IAM policy, including the policy document.

        This data type is used as a response element in the GetAccountAuthorizationDetails action.

        - PolicyName => (string)

          The name of the policy.

        - PolicyDocument => (string)

          The policy document.

    - AttachedManagedPolicies => (array<associative-array>)

      A list of the managed policies attached to the group.

      - (associative-array)

        Contains information about an attached policy.

        An attached policy is a managed policy that has been attached to a user, group, or role. This data type is used as a response element in the ListAttachedGroupPolicies, ListAttachedRolePolicies, ListAttachedUserPolicies, and GetAccountAuthorizationDetails actions.

        For more information about managed policies, refer to Managed Policies and Inline Policies in the Using IAM guide.

        - PolicyName => (string)

          The friendly name of the attached policy.

        - PolicyArn => (string)

          The Amazon Resource Name (ARN). ARNs are unique identifiers for AWS resources.

          For more information about ARNs, go to Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

- RoleDetailList => (array<associative-array>)

  A list containing information about IAM roles.

  - (associative-array)

    Contains information about an IAM role, including all of the role's policies.

    This data type is used as a response element in the GetAccountAuthorizationDetails action.

    - Path => (string)

      The path to the role. For more information about paths, see IAM Identifiers in the Using IAM guide.

    - RoleName => (string)

      The friendly name that identifies the role.

    - RoleId => (string)

      The stable and unique string identifying the role. For more information about IDs, see IAM Identifiers in the Using IAM guide.

    - Arn => (string)

      The Amazon Resource Name (ARN). ARNs are unique identifiers for AWS resources.

      For more information about ARNs, go to Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

    - CreateDate => (string)

      The date and time, in ISO 8601 date-time format, when the role was created.

    - AssumeRolePolicyDocument => (string)

      The trust policy that grants permission to assume the role.

    - InstanceProfileList => (array<associative-array>)

      Contains a list of instance profiles.

      - (associative-array)

        Contains information about an instance profile.

        This data type is used as a response element in the following actions:

        - CreateInstanceProfile

        - GetInstanceProfile

        - ListInstanceProfiles

        - ListInstanceProfilesForRole

        - Path => (string)

          The path to the instance profile. For more information about paths, see IAM Identifiers in the Using IAM guide.

        - InstanceProfileName => (string)

          The name identifying the instance profile.

        - InstanceProfileId => (string)

          The stable and unique string identifying the instance profile. For more information about IDs, see IAM Identifiers in the Using IAM guide.

        - Arn => (string)

          The Amazon Resource Name (ARN) specifying the instance profile. For more information about ARNs and how to use them in policies, see IAM Identifiers in the Using IAM guide.

        - CreateDate => (string)

          The date when the instance profile was created.

        - Roles => (array<associative-array>)

          The role associated with the instance profile.

          - (associative-array)

            Contains information about an IAM role.

            This data type is used as a response element in the following actions:

            - CreateRole

            - GetRole

            - ListRoles

            - Path => (string)

              The path to the role. For more information about paths, see IAM Identifiers in the Using IAM guide.

            - RoleName => (string)

              The friendly name that identifies the role.

            - RoleId => (string)

              The stable and unique string identifying the role. For more information about IDs, see IAM Identifiers in the Using IAM guide.

            - Arn => (string)

              The Amazon Resource Name (ARN) specifying the role. For more information about ARNs and how to use them in policies, see IAM Identifiers in the Using IAM guide.

            - CreateDate => (string)

              The date and time, in ISO 8601 date-time format, when the role was created.

            - AssumeRolePolicyDocument => (string)

              The policy that grants an entity permission to assume the role.

    - RolePolicyList => (array<associative-array>)

      A list of inline policies embedded in the role. These policies are the role's access (permissions) policies.

      - (associative-array)

        Contains information about an IAM policy, including the policy document.

        This data type is used as a response element in the GetAccountAuthorizationDetails action.

        - PolicyName => (string)

          The name of the policy.

        - PolicyDocument => (string)

          The policy document.

    - AttachedManagedPolicies => (array<associative-array>)

      A list of managed policies attached to the role. These policies are the role's access (permissions) policies.

      - (associative-array)

        Contains information about an attached policy.

        An attached policy is a managed policy that has been attached to a user, group, or role. This data type is used as a response element in the ListAttachedGroupPolicies, ListAttachedRolePolicies, ListAttachedUserPolicies, and GetAccountAuthorizationDetails actions.

        For more information about managed policies, refer to Managed Policies and Inline Policies in the Using IAM guide.

        - PolicyName => (string)

          The friendly name of the attached policy.

        - PolicyArn => (string)

          The Amazon Resource Name (ARN). ARNs are unique identifiers for AWS resources.

          For more information about ARNs, go to Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

- Policies => (array<associative-array>)

  A list containing information about managed policies.

  - (associative-array)

    Contains information about a managed policy, including the policy's ARN, versions, and the number of principal entities (users, groups, and roles) that the policy is attached to.

    This data type is used as a response element in the GetAccountAuthorizationDetails action.

    For more information about managed policies, see Managed Policies and Inline Policies in the Using IAM guide.

    - PolicyName => (string)

      The friendly name (not ARN) identifying the policy.

    - PolicyId => (string)

      The stable and unique string identifying the policy.

      For more information about IDs, see IAM Identifiers in the Using IAM guide.

    - Arn => (string)

      The Amazon Resource Name (ARN). ARNs are unique identifiers for AWS resources.

      For more information about ARNs, go to Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

    - Path => (string)

      The path to the policy.

      For more information about paths, see IAM Identifiers in the Using IAM guide.

    - DefaultVersionId => (string)

      The identifier for the version of the policy that is set as the default (operative) version.

      For more information about policy versions, see Versioning for Managed Policies in the Using IAM guide.

    - AttachmentCount => (int)

      The number of principal entities (users, groups, and roles) that the policy is attached to.

    - IsAttachable => (bool)

      Specifies whether the policy can be attached to an IAM user, group, or role.

    - Description => (string)

      A friendly description of the policy.

    - CreateDate => (string)

      The date and time, in ISO 8601 date-time format, when the policy was created.

    - UpdateDate => (string)

      The date and time, in ISO 8601 date-time format, when the policy was last updated.

      When a policy has only one version, this field contains the date and time when the policy was created. When a policy has more than one version, this field contains the date and time when the most recent policy version was created.

    - PolicyVersionList => (array<associative-array>)

      A list containing information about the versions of the policy.

      - (associative-array)

        Contains information about a version of a managed policy.

        This data type is used as a response element in the CreatePolicyVersion, GetPolicyVersion, ListPolicyVersions, and GetAccountAuthorizationDetails actions.

        For more information about managed policies, refer to Managed Policies and Inline Policies in the Using IAM guide.

        - Document => (string)

          The policy document.

          The policy document is returned in the response to the GetPolicyVersion and GetAccountAuthorizationDetails operations. It is not returned in the response to the CreatePolicyVersion or ListPolicyVersions operations.

        - VersionId => (string)

          The identifier for the policy version.

          Policy version identifiers always begin with v (always lowercase). When a policy is created, the first policy version is v1.

        - IsDefaultVersion => (bool)

          Specifies whether the policy version is set as the policy's default version.

        - CreateDate => (string)

          The date and time, in ISO 8601 date-time format, when the policy version was created.

- IsTruncated => (bool)

  A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items.

- Marker => (string)

  When IsTruncated is true, this element is present and contains the value to use for the Marker parameter in a subsequent pagination request.

# `public `Guzzle\Service\Resource\Model``
`getAccountPasswordPolicy( array $args = array() )`

Executes the GetAccountPasswordPolicy operation.

Retrieves the password policy for the AWS account. For more information about using a password policy, go to Managing an IAM Password Policy.

#### Examples

- Basic formatting example

      $result = $client->getAccountPasswordPolicy(array(
      ));

#### Returns

``Guzzle\Service\Resource\Model``
Returns a response Model object

- PasswordPolicy => (associative-array)

  Contains information about the account password policy.

  This data type is used as a response element in the GetAccountPasswordPolicy action.

  - MinimumPasswordLength => (int)

    Minimum length to require for IAM user passwords.

  - RequireSymbols => (bool)

    Specifies whether to require symbols for IAM user passwords.

  - RequireNumbers => (bool)

    Specifies whether to require numbers for IAM user passwords.

  - RequireUppercaseCharacters => (bool)

    Specifies whether to require uppercase characters for IAM user passwords.

  - RequireLowercaseCharacters => (bool)

    Specifies whether to require lowercase characters for IAM user passwords.

  - AllowUsersToChangePassword => (bool)

    Specifies whether IAM users are allowed to change their own password.

  - ExpirePasswords => (bool)

    Specifies whether IAM users are required to change their password after a specified number of days.

  - MaxPasswordAge => (int)

    The number of days that an IAM user password is valid.

  - PasswordReusePrevention => (int)

    Specifies the number of previous passwords that IAM users are prevented from reusing.

  - HardExpiry => (bool)

    Specifies whether IAM users are prevented from setting a new password after their password has expired.

# `public `Guzzle\Service\Resource\Model``
`getAccountSummary( array $args = array() )`

Executes the GetAccountSummary operation.

Retrieves information about IAM entity usage and IAM quotas in the AWS account.

For information about limitations on IAM entities, see Limitations on IAM Entities in the Using IAM guide.

#### Examples

- Basic formatting example

      $result = $client->getAccountSummary(array(
      ));

#### Returns

``Guzzle\Service\Resource\Model``
Returns a response Model object

- SummaryMap => (array<associative-array>)

  A set of key value pairs containing information about IAM entity usage and IAM quotas.

  SummaryMap contains the following keys:

  - AccessKeysPerUserQuota

    The maximum number of active access keys allowed for each IAM user.

  - AccountAccessKeysPresent

    This value is 1 if the AWS account (root) has an access key, otherwise it is 0.

  - AccountMFAEnabled

    This value is 1 if the AWS account (root) has an MFA device assigned, otherwise it is 0.

  - AccountSigningCertificatesPresent

    This value is 1 if the AWS account (root) has a signing certificate, otherwise it is 0.

  - AssumeRolePolicySizeQuota

    The maximum allowed size for assume role policy documents (trust policies), in non-whitespace characters.

  - AttachedPoliciesPerGroupQuota

    The maximum number of managed policies that can be attached to an IAM group.

  - AttachedPoliciesPerRoleQuota

    The maximum number of managed policies that can be attached to an IAM role.

  - AttachedPoliciesPerUserQuota

    The maximum number of managed policies that can be attached to an IAM user.

  - GroupPolicySizeQuota

    The maximum allowed size for the aggregate of all inline policies embedded in an IAM group, in non-whitespace characters.

  - Groups

    The number of IAM groups in the AWS account.

  - GroupsPerUserQuota

    The maximum number of IAM groups each IAM user can belong to.

  - GroupsQuota

    The maximum number of IAM groups allowed in the AWS account.

  - InstanceProfiles

    The number of instance profiles in the AWS account.

  - InstanceProfilesQuota

    The maximum number of instance profiles allowed in the AWS account.

  - MFADevices

    The number of MFA devices in the AWS account, including those assigned and unassigned.

  - MFADevicesInUse

    The number of MFA devices that have been assigned to an IAM user or to the AWS account (root).

  - Policies

    The number of customer managed policies in the AWS account.

  - PoliciesQuota

    The maximum number of customer managed policies allowed in the AWS account.

  - PolicySizeQuota

    The maximum allowed size of a customer managed policy, in non-whitespace characters.

  - PolicyVersionsInUse

    The number of managed policies that are attached to IAM users, groups, or roles in the AWS account.

  - PolicyVersionsInUseQuota

    The maximum number of managed policies that can be attached to IAM users, groups, or roles in the AWS account.

  - Providers

    The number of identity providers in the AWS account.

  - RolePolicySizeQuota

    The maximum allowed size for the aggregate of all inline policies (access policies, not the trust policy) embedded in an IAM role, in non-whitespace characters.

  - Roles

    The number of IAM roles in the AWS account.

  - RolesQuota

    The maximum number of IAM roles allowed in the AWS account.

  - ServerCertificates

    The number of server certificates in the AWS account.

  - ServerCertificatesQuota

    The maximum number of server certificates allowed in the AWS account.

  - SigningCertificatesPerUserQuota

    The maximum number of X.509 signing certificates allowed for each IAM user.

  - UserPolicySizeQuota

    The maximum allowed size for the aggregate of all inline policies embedded in an IAM user, in non-whitespace characters.

  - Users

    The number of IAM users in the AWS account.

  - UsersQuota

    The maximum number of IAM users allowed in the AWS account.

  - VersionsPerPolicyQuota

    The maximum number of policy versions allowed for each managed policy.

  - (associative-array)
    - key => (string)
    - value => (int)

# `public `Guzzle\Service\Resource\Model``
`getContextKeysForPolicy( array $args = array() )`

Executes the GetContextKeysForPolicy operation.

#### Parameters

$args
  `array`
  $arg Associative array containing the following keys (required keys are bold):
  - GetPolicyFor => (string)
  - PolicyInputList => (array<string>)

#### Returns

``Guzzle\Service\Resource\Model``
Returns a response Model object

- ContextEntries => (array<associative-array>)
  - (associative-array)
    - ContextKeyName => (string)

# `public `Guzzle\Service\Resource\Model``
`getCredentialReport( array $args = array() )`

Executes the GetCredentialReport operation.

Retrieves a credential report for the AWS account. For more information about the credential report, see Getting Credential Reports in the Using IAM guide.

#### Examples

- Basic formatting example

      $result = $client->getCredentialReport(array(
      ));

#### Returns

``Guzzle\Service\Resource\Model``
Returns a response Model object

- Content => (string)

  Contains the credential report. The report is Base64-encoded.

- ReportFormat => (string)

  The format (MIME type) of the credential report.

- GeneratedTime => (string)

  The date and time when the credential report was created, in ISO 8601 date-time format.

# `public `Guzzle\Service\Resource\Model``
`getGroup( array $args = array() )`

Executes the GetGroup operation.

Returns a list of users that are in the specified group. You can paginate the results using the MaxItems and Marker parameters.

#### Examples

- Basic formatting example

      $result = $client->getGroup(array(
          // GroupName is required
          'GroupName' => 'string',
          'Marker' => 'string',
          'MaxItems' => integer,
      ));

#### Parameters

$args
  `array`
  $arg Associative array containing the following keys (required keys are bold):
  - GroupName => (string)

    The name of the group.

  - Marker => (string)

    Use this parameter only when paginating results and only after you have received a response where the results are truncated. Set it to the value of the Marker element in the response you just received.

  - MaxItems => (int)

    Use this only when paginating results to indicate the maximum number of items you want in the response. If there are additional items beyond the maximum you specify, the IsTruncated response element is true.

    This parameter is optional. If you do not include it, it defaults to 100.

#### Returns

``Guzzle\Service\Resource\Model``
Returns a response Model object

- Group => (associative-array)

  Information about the group.

  - Path => (string)

    The path to the group. For more information about paths, see IAM Identifiers in the Using IAM guide.

  - GroupName => (string)

    The friendly name that identifies the group.

  - GroupId => (string)

    The stable and unique string identifying the group. For more information about IDs, see IAM Identifiers in the Using IAM guide.

  - Arn => (string)

    The Amazon Resource Name (ARN) specifying the group. For more information about ARNs and how to use them in policies, see IAM Identifiers in the Using IAM guide.

  - CreateDate => (string)

    The date and time, in ISO 8601 date-time format, when the group was created.

- Users => (array<associative-array>)

  A list of users in the group.

  - (associative-array)

    Contains information about an IAM user entity.

    This data type is used as a response element in the following actions:

    - CreateUser

    - GetUser

    - ListUsers

    - Path => (string)

      The path to the user. For more information about paths, see IAM Identifiers in the Using IAM guide.

    - UserName => (string)

      The friendly name identifying the user.

    - UserId => (string)

      The stable and unique string identifying the user. For more information about IDs, see IAM Identifiers in the Using IAM guide.

    - Arn => (string)

      The Amazon Resource Name (ARN) that identifies the user. For more information about ARNs and how to use ARNs in policies, see IAM Identifiers in the Using IAM guide.

    - CreateDate => (string)

      The date and time, in ISO 8601 date-time format, when the user was created.

    - PasswordLastUsed => (string)

      The date and time, in ISO 8601 date-time format, when the user's password was last used to sign in to an AWS website. For a list of AWS websites that capture a user's last sign-in time, see the Credential Reports topic in the Using IAM guide. If a password is used more than once in a five-minute span, only the first use is returned in this field. This field is null (not present) when:

      - The user does not have a password

      - The password exists but has never been used (at least not since IAM started tracking this information on October 20th, 2014

      - there is no sign-in data associated with the user

      This value is returned only in the GetUser and ListUsers actions.

- IsTruncated => (bool)

  A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items.

- Marker => (string)

  When IsTruncated is true, this element is present and contains the value to use for the Marker parameter in a subsequent pagination request.

# `public `Guzzle\Service\Resource\Model``
`getGroupPolicy( array $args = array() )`

Executes the GetGroupPolicy operation.

Retrieves the specified inline policy document that is embedded in the specified group.

A group can also have managed policies attached to it. To retrieve a managed policy document that is attached to a group, use GetPolicy to determine the policy's default version, then use GetPolicyVersion to retrieve the policy document.

For more information about policies, refer to Managed Policies and Inline Policies in the Using IAM guide.

#### Examples

- Basic formatting example

      $result = $client->getGroupPolicy(array(
          // GroupName is required
          'GroupName' => 'string',
          // PolicyName is required
          'PolicyName' => 'string',
      ));

#### Parameters

$args
  `array`
  $arg Associative array containing the following keys (required keys are bold):
  - GroupName => (string)

    The name of the group the policy is associated with.

  - PolicyName => (string)

    The name of the policy document to get.

#### Returns

``Guzzle\Service\Resource\Model``
Returns a response Model object

- GroupName => (string)

  The group the policy is associated with.

- PolicyName => (string)

  The name of the policy.

- PolicyDocument => (string)

  The policy document.

# `public `Guzzle\Service\Resource\Model``
`getInstanceProfile( array $args = array() )`

Executes the GetInstanceProfile operation.

Retrieves information about the specified instance profile, including the instance profile's path, GUID, ARN, and role. For more information about instance profiles, go to About Instance Profiles. For more information about ARNs, go to ARNs.

#### Examples

- Basic formatting example

      $result = $client->getInstanceProfile(array(
          // InstanceProfileName is required
          'InstanceProfileName' => 'string',
      ));

#### Parameters

$args
  `array`
  $arg Associative array containing the following keys (required keys are bold):
  - InstanceProfileName => (string)

    The name of the instance profile to get information about.

#### Returns

``Guzzle\Service\Resource\Model``
Returns a response Model object

- InstanceProfile => (associative-array)

  Information about the instance profile.

  - Path => (string)

    The path to the instance profile. For more information about paths, see IAM Identifiers in the Using IAM guide.

  - InstanceProfileName => (string)

    The name identifying the instance profile.

  - InstanceProfileId => (string)

    The stable and unique string identifying the instance profile. For more information about IDs, see IAM Identifiers in the Using IAM guide.

  - Arn => (string)

    The Amazon Resource Name (ARN) specifying the instance profile. For more information about ARNs and how to use them in policies, see IAM Identifiers in the Using IAM guide.

  - CreateDate => (string)

    The date when the instance profile was created.

  - Roles => (array<associative-array>)

    The role associated with the instance profile.

    - (associative-array)

      Contains information about an IAM role.

      This data type is used as a response element in the following actions:

      - CreateRole

      - GetRole

      - ListRoles

      - Path => (string)

        The path to the role. For more information about paths, see IAM Identifiers in the Using IAM guide.

      - RoleName => (string)

        The friendly name that identifies the role.

      - RoleId => (string)

        The stable and unique string identifying the role. For more information about IDs, see IAM Identifiers in the Using IAM guide.

      - Arn => (string)

        The Amazon Resource Name (ARN) specifying the role. For more information about ARNs and how to use them in policies, see IAM Identifiers in the Using IAM guide.

      - CreateDate => (string)

        The date and time, in ISO 8601 date-time format, when the role was created.

      - AssumeRolePolicyDocument => (string)

        The policy that grants an entity permission to assume the role.

# `public `Guzzle\Service\Resource\Model``
`getLoginProfile( array $args = array() )`

Executes the GetLoginProfile operation.

Retrieves the user name and password-creation date for the specified user. If the user has not been assigned a password, the action returns a 404 ( NoSuchEntity ) error.

#### Examples

- Basic formatting example

      $result = $client->getLoginProfile(array(
          // UserName is required
          'UserName' => 'string',
      ));

#### Parameters

$args
  `array`
  $arg Associative array containing the following keys (required keys are bold):
  - UserName => (string)

    The name of the user whose login profile you want to retrieve.

#### Returns

``Guzzle\Service\Resource\Model``
Returns a response Model object

- LoginProfile => (associative-array)

  The user name and password create date for the user.

  - UserName => (string)

    The name of the user, which can be used for signing in to the AWS Management Console.

  - CreateDate => (string)

    The date when the password for the user was created.

  - PasswordResetRequired => (bool)

    Specifies whether the user is required to set a new password on next sign-in.

# `public `Guzzle\Service\Resource\Model``
`getOpenIDConnectProvider( array $args = array() )`

Executes the GetOpenIDConnectProvider operation.

Returns information about the specified OpenID Connect provider.

#### Examples

- Basic formatting example

      $result = $client->getOpenIDConnectProvider(array(
          // OpenIDConnectProviderArn is required
          'OpenIDConnectProviderArn' => 'string',
      ));

#### Parameters

$args
  `array`
  $arg Associative array containing the following keys (required keys are bold):
  - OpenIDConnectProviderArn => (string)

    The Amazon Resource Name (ARN) of the IAM OpenID Connect (OIDC) provider to get information for. You can get a list of OIDC provider ARNs by using the ListOpenIDConnectProviders action.

#### Returns

``Guzzle\Service\Resource\Model``
Returns a response Model object

- Url => (string)

  The URL that the IAM OpenID Connect provider is associated with. For more information, see CreateOpenIDConnectProvider.

- ClientIDList => (array<string>)

  A list of client IDs (also known as audiences) that are associated with the specified IAM OpenID Connect provider. For more information, see CreateOpenIDConnectProvider.

- ThumbprintList => (array<string>)

  A list of certificate thumbprints that are associated with the specified IAM OpenID Connect provider. For more information, see CreateOpenIDConnectProvider.

  (string)

  Contains a thumbprint for an identity provider's server certificate.

  The identity provider's server certificate thumbprint is the hex-encoded SHA-1 hash value of the self-signed X.509 certificate used by the domain where the OpenID Connect provider makes its keys available. It is always a 40-character string.

- CreateDate => (string)

  The date and time when the IAM OpenID Connect provider entity was created in the AWS account.

# `public `Guzzle\Service\Resource\Model``
`getPolicy( array $args = array() )`

Executes the GetPolicy operation.

Retrieves information about the specified managed policy, including the policy's default version and the total number of users, groups, and roles that the policy is attached to. For a list of the specific users, groups, and roles that the policy is attached to, use the ListEntitiesForPolicy API. This API returns metadata about the policy. To retrieve the policy document for a specific version of the policy, use GetPolicyVersion.

This API retrieves information about managed policies. To retrieve information about an inline policy that is embedded with a user, group, or role, use the GetUserPolicy, GetGroupPolicy, or GetRolePolicy API.

For more information about policies, refer to Managed Policies and Inline Policies in the Using IAM guide.

#### Examples

- Basic formatting example

      $result = $client->getPolicy(array(
          // PolicyArn is required
          'PolicyArn' => 'string',
      ));

#### Parameters

$args
  `array`
  $arg Associative array containing the following keys (required keys are bold):
  - PolicyArn => (string)

    The Amazon Resource Name (ARN). ARNs are unique identifiers for AWS resources.

    For more information about ARNs, go to Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

#### Returns

``Guzzle\Service\Resource\Model``
Returns a response Model object

- Policy => (associative-array)

  Information about the policy.

  - PolicyName => (string)

    The friendly name (not ARN) identifying the policy.

  - PolicyId => (string)

    The stable and unique string identifying the policy.

    For more information about IDs, see IAM Identifiers in the Using IAM guide.

  - Arn => (string)

    The Amazon Resource Name (ARN). ARNs are unique identifiers for AWS resources.

    For more information about ARNs, go to Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

  - Path => (string)

    The path to the policy.

    For more information about paths, see IAM Identifiers in the Using IAM guide.

  - DefaultVersionId => (string)

    The identifier for the version of the policy that is set as the default version.

  - AttachmentCount => (int)

    The number of entities (users, groups, and roles) that the policy is attached to.

  - IsAttachable => (bool)

    Specifies whether the policy can be attached to an IAM user, group, or role.

  - Description => (string)

    A friendly description of the policy.

    This element is included in the response to the GetPolicy operation. It is not included in the response to the ListPolicies operation.

  - CreateDate => (string)

    The date and time, in ISO 8601 date-time format, when the policy was created.

  - UpdateDate => (string)

    The date and time, in ISO 8601 date-time format, when the policy was last updated.

    When a policy has only one version, this field contains the date and time when the policy was created. When a policy has more than one version, this field contains the date and time when the most recent policy version was created.

# `public `Guzzle\Service\Resource\Model``
`getPolicyVersion( array $args = array() )`

Executes the GetPolicyVersion operation.

Retrieves information about the specified version of the specified managed policy, including the policy document.

To list the available versions for a policy, use ListPolicyVersions.

This API retrieves information about managed policies. To retrieve information about an inline policy that is embedded in a user, group, or role, use the GetUserPolicy, GetGroupPolicy, or GetRolePolicy API.

For more information about the types of policies, refer to Managed Policies and Inline Policies in the Using IAM guide.

#### Examples

- Basic formatting example

      $result = $client->getPolicyVersion(array(
          // PolicyArn is required
          'PolicyArn' => 'string',
          // VersionId is required
          'VersionId' => 'string',
      ));

#### Parameters

$args
  `array`
  $arg Associative array containing the following keys (required keys are bold):
  - PolicyArn => (string)

    The Amazon Resource Name (ARN). ARNs are unique identifiers for AWS resources.

    For more information about ARNs, go to Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

  - VersionId => (string)

    Identifies the policy version to retrieve.

#### Returns

``Guzzle\Service\Resource\Model``
Returns a response Model object

- PolicyVersion => (associative-array)

  Information about the policy version.

  For more information about managed policy versions, see Versioning for Managed Policies in the Using IAM guide.

  - Document => (string)

    The policy document.

    The policy document is returned in the response to the GetPolicyVersion and GetAccountAuthorizationDetails operations. It is not returned in the response to the CreatePolicyVersion or ListPolicyVersions operations.

  - VersionId => (string)

    The identifier for the policy version.

    Policy version identifiers always begin with v (always lowercase). When a policy is created, the first policy version is v1.

  - IsDefaultVersion => (bool)

    Specifies whether the policy version is set as the policy's default version.

  - CreateDate => (string)

    The date and time, in ISO 8601 date-time format, when the policy version was created.

# `public `Guzzle\Service\Resource\Model``
`getRole( array $args = array() )`

Executes the GetRole operation.

Retrieves information about the specified role, including the role's path, GUID, ARN, and the policy granting permission to assume the role. For more information about ARNs, go to ARNs. For more information about roles, go to Working with Roles.

#### Examples

- Basic formatting example

      $result = $client->getRole(array(
          // RoleName is required
          'RoleName' => 'string',
      ));

#### Parameters

$args
  `array`
  $arg Associative array containing the following keys (required keys are bold):
  - RoleName => (string)

    The name of the role to get information about.

#### Returns

``Guzzle\Service\Resource\Model``
Returns a response Model object

- Role => (associative-array)

  Information about the role.

  - Path => (string)

    The path to the role. For more information about paths, see IAM Identifiers in the Using IAM guide.

  - RoleName => (string)

    The friendly name that identifies the role.

  - RoleId => (string)

    The stable and unique string identifying the role. For more information about IDs, see IAM Identifiers in the Using IAM guide.

  - Arn => (string)

    The Amazon Resource Name (ARN) specifying the role. For more information about ARNs and how to use them in policies, see IAM Identifiers in the Using IAM guide.

  - CreateDate => (string)

    The date and time, in ISO 8601 date-time format, when the role was created.

  - AssumeRolePolicyDocument => (string)

    The policy that grants an entity permission to assume the role.

# `public `Guzzle\Service\Resource\Model``
`getRolePolicy( array $args = array() )`

Executes the GetRolePolicy operation.

Retrieves the specified inline policy document that is embedded with the specified role.

A role can also have managed policies attached to it. To retrieve a managed policy document that is attached to a role, use GetPolicy to determine the policy's default version, then use GetPolicyVersion to retrieve the policy document.

For more information about policies, refer to Managed Policies and Inline Policies in the Using IAM guide.

For more information about roles, go to Using Roles to Delegate Permissions and Federate Identities.

#### Examples

- Basic formatting example

      $result = $client->getRolePolicy(array(
          // RoleName is required
          'RoleName' => 'string',
          // PolicyName is required
          'PolicyName' => 'string',
      ));

#### Parameters

$args
  `array`
  $arg Associative array containing the following keys (required keys are bold):
  - RoleName => (string)

    The name of the role associated with the policy.

  - PolicyName => (string)

    The name of the policy document to get.

#### Returns

``Guzzle\Service\Resource\Model``
Returns a response Model object

- RoleName => (string)

  The role the policy is associated with.

- PolicyName => (string)

  The name of the policy.

- PolicyDocument => (string)

  The policy document.

# `public `Guzzle\Service\Resource\Model``
`getSAMLProvider( array $args = array() )`

Executes the GetSAMLProvider operation.

Returns the SAML provider metadocument that was uploaded when the provider was created or updated.

This operation requires Signature Version 4.

#### Examples

- Basic formatting example

      $result = $client->getSAMLProvider(array(
          // SAMLProviderArn is required
          'SAMLProviderArn' => 'string',
      ));

#### Parameters

$args
  `array`
  $arg Associative array containing the following keys (required keys are bold):
  - SAMLProviderArn => (string)

    The Amazon Resource Name (ARN) of the SAML provider to get information about.

#### Returns

``Guzzle\Service\Resource\Model``
Returns a response Model object

- SAMLMetadataDocument => (string)

  The XML metadata document that includes information about an identity provider.

- CreateDate => (string)

  The date and time when the SAML provider was created.

- ValidUntil => (string)

  The expiration date and time for the SAML provider.

# `public `Guzzle\Service\Resource\Model``
`getSSHPublicKey( array $args = array() )`

Executes the GetSSHPublicKey operation.

Retrieves the specified SSH public key, including metadata about the key.

The SSH public key retrieved by this action is used only for authenticating the associated IAM user to an AWS CodeCommit repository. For more information about using SSH keys to authenticate to an AWS CodeCommit repository, see Set up AWS CodeCommit for SSH Connections in the AWS CodeCommit User Guide.

#### Examples

- Basic formatting example

      $result = $client->getSSHPublicKey(array(
          // UserName is required
          'UserName' => 'string',
          // SSHPublicKeyId is required
          'SSHPublicKeyId' => 'string',
          // Encoding is required
          'Encoding' => 'string',
      ));

#### Parameters

$args
  `array`
  $arg Associative array containing the following keys (required keys are bold):
  - UserName => (string)

    The name of the IAM user associated with the SSH public key.

  - SSHPublicKeyId => (string)

    The unique identifier for the SSH public key.

  - Encoding => (string: SSH | PEM )

    Specifies the public key encoding format to use in the response. To retrieve the public key in ssh-rsa format, use SSH. To retrieve the public key in PEM format, use PEM.

#### Returns

``Guzzle\Service\Resource\Model``
Returns a response Model object

- SSHPublicKey => (associative-array)

  Information about the SSH public key.

  - UserName => (string)

    The name of the IAM user associated with the SSH public key.

  - SSHPublicKeyId => (string)

    The unique identifier for the SSH public key.

  - Fingerprint => (string)

    The MD5 message digest of the SSH public key.

  - SSHPublicKeyBody => (string)

    The SSH public key.

  - Status => (string)

    The status of the SSH public key. Active means the key can be used for authentication with an AWS CodeCommit repository. Inactive means the key cannot be used.

  - UploadDate => (string)

    The date and time, in ISO 8601 date-time format, when the SSH public key was uploaded.

# `public `Guzzle\Service\Resource\Model``
`getServerCertificate( array $args = array() )`

Executes the GetServerCertificate operation.

Retrieves information about the specified server certificate.

#### Examples

- Basic formatting example

      $result = $client->getServerCertificate(array(
          // ServerCertificateName is required
          'ServerCertificateName' => 'string',
      ));

#### Parameters

$args
  `array`
  $arg Associative array containing the following keys (required keys are bold):
  - ServerCertificateName => (string)

    The name of the server certificate you want to retrieve information about.

#### Returns

``Guzzle\Service\Resource\Model``
Returns a response Model object

- ServerCertificate => (associative-array)

  Information about the server certificate.

  - ServerCertificateMetadata => (associative-array)

    The meta information of the server certificate, such as its name, path, ID, and ARN.

    - Path => (string)

      The path to the server certificate. For more information about paths, see IAM Identifiers in the Using IAM guide.

    - ServerCertificateName => (string)

      The name that identifies the server certificate.

    - ServerCertificateId => (string)

      The stable and unique string identifying the server certificate. For more information about IDs, see IAM Identifiers in the Using IAM guide.

    - Arn => (string)

      The Amazon Resource Name (ARN) specifying the server certificate. For more information about ARNs and how to use them in policies, see IAM Identifiers in the Using IAM guide.

    - UploadDate => (string)

      The date when the server certificate was uploaded.

    - Expiration => (string)

      The date on which the certificate is set to expire.

  - CertificateBody => (string)

    The contents of the public key certificate.

  - CertificateChain => (string)

    The contents of the public key certificate chain.

# `public `Guzzle\Service\Resource\Model``
`getUser( array $args = array() )`

Executes the GetUser operation.

Retrieves information about the specified user, including the user's creation date, path, unique ID, and ARN.

If you do not specify a user name, IAM determines the user name implicitly based on the AWS access key ID used to sign the request.

#### Examples

- Basic formatting example

      $result = $client->getUser(array(
          'UserName' => 'string',
      ));

#### Parameters

$args
  `array`
  $arg Associative array containing the following keys (required keys are bold):
  - UserName => (string)

    The name of the user to get information about.

    This parameter is optional. If it is not included, it defaults to the user making the request.

#### Returns

``Guzzle\Service\Resource\Model``
Returns a response Model object

- User => (associative-array)

  Information about the user.

  - Path => (string)

    The path to the user. For more information about paths, see IAM Identifiers in the Using IAM guide.

  - UserName => (string)

    The friendly name identifying the user.

  - UserId => (string)

    The stable and unique string identifying the user. For more information about IDs, see IAM Identifiers in the Using IAM guide.

  - Arn => (string)

    The Amazon Resource Name (ARN) that identifies the user. For more information about ARNs and how to use ARNs in policies, see IAM Identifiers in the Using IAM guide.

  - CreateDate => (string)

    The date and time, in ISO 8601 date-time format, when the user was created.

  - PasswordLastUsed => (string)

    The date and time, in ISO 8601 date-time format, when the user's password was last used to sign in to an AWS website. For a list of AWS websites that capture a user's last sign-in time, see the Credential Reports topic in the Using IAM guide. If a password is used more than once in a five-minute span, only the first use is returned in this field. This field is null (not present) when:

    - The user does not have a password

    - The password exists but has never been used (at least not since IAM started tracking this information on October 20th, 2014

    - there is no sign-in data associated with the user

    This value is returned only in the GetUser and ListUsers actions.

# `public `Guzzle\Service\Resource\Model``
`getUserPolicy( array $args = array() )`

Executes the GetUserPolicy operation.

Retrieves the specified inline policy document that is embedded in the specified user.

A user can also have managed policies attached to it. To retrieve a managed policy document that is attached to a user, use GetPolicy to determine the policy's default version, then use GetPolicyVersion to retrieve the policy document.

For more information about policies, refer to Managed Policies and Inline Policies in the Using IAM guide.

#### Examples

- Basic formatting example

      $result = $client->getUserPolicy(array(
          // UserName is required
          'UserName' => 'string',
          // PolicyName is required
          'PolicyName' => 'string',
      ));

#### Parameters

$args
  `array`
  $arg Associative array containing the following keys (required keys are bold):
  - UserName => (string)

    The name of the user who the policy is associated with.

  - PolicyName => (string)

    The name of the policy document to get.

#### Returns

``Guzzle\Service\Resource\Model``
Returns a response Model object

- UserName => (string)

  The user the policy is associated with.

- PolicyName => (string)

  The name of the policy.

- PolicyDocument => (string)

  The policy document.

# `public `Guzzle\Service\Resource\Model``
`listAccessKeys( array $args = array() )`

Executes the ListAccessKeys operation.

Returns information about the access key IDs associated with the specified user. If there are none, the action returns an empty list.

Although each user is limited to a small number of keys, you can still paginate the results using the MaxItems and Marker parameters.

If the UserName field is not specified, the UserName is determined implicitly based on the AWS access key ID used to sign the request. Because this action works for access keys under the AWS account, you can use this action to manage root credentials even if the AWS account has no associated users.

To ensure the security of your AWS account, the secret access key is accessible only during key and user creation.

#### Examples

- Basic formatting example

      $result = $client->listAccessKeys(array(
          'UserName' => 'string',
          'Marker' => 'string',
          'MaxItems' => integer,
      ));

#### Parameters

$args
  `array`
  $arg Associative array containing the following keys (required keys are bold):
  - UserName => (string)

    The name of the user.

  - Marker => (string)

    Use this parameter only when paginating results and only after you have received a response where the results are truncated. Set it to the value of the Marker element in the response you just received.

  - MaxItems => (int)

    Use this only when paginating results to indicate the maximum number of items you want in the response. If there are additional items beyond the maximum you specify, the IsTruncated response element is true.

    This parameter is optional. If you do not include it, it defaults to 100.

#### Returns

``Guzzle\Service\Resource\Model``
Returns a response Model object

- AccessKeyMetadata => (array<associative-array>)

  A list of access key metadata.

  - (associative-array)

    Contains information about an AWS access key, without its secret key.

    This data type is used as a response element in the ListAccessKeys action.

    - UserName => (string)

      The name of the IAM user that the key is associated with.

    - AccessKeyId => (string)

      The ID for this access key.

    - Status => (string)

      The status of the access key. Active means the key is valid for API calls; Inactive means it is not.

    - CreateDate => (string)

      The date when the access key was created.

- IsTruncated => (bool)

  A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items.

- Marker => (string)

  When IsTruncated is true, this element is present and contains the value to use for the Marker parameter in a subsequent pagination request.

# `public `Guzzle\Service\Resource\Model``
`listAccountAliases( array $args = array() )`

Executes the ListAccountAliases operation.

Lists the account aliases associated with the account. For information about using an AWS account alias, see Using an Alias for Your AWS Account ID in the Using IAM guide.

You can paginate the results using the MaxItems and Marker parameters.

#### Examples

- Basic formatting example

      $result = $client->listAccountAliases(array(
          'Marker' => 'string',
          'MaxItems' => integer,
      ));

#### Parameters

$args
  `array`
  $arg Associative array containing the following keys (required keys are bold):
  - Marker => (string)

    Use this parameter only when paginating results and only after you have received a response where the results are truncated. Set it to the value of the Marker element in the response you just received.

  - MaxItems => (int)

    Use this only when paginating results to indicate the maximum number of items you want in the response. If there are additional items beyond the maximum you specify, the IsTruncated response element is true.

    This parameter is optional. If you do not include it, it defaults to 100.

#### Returns

``Guzzle\Service\Resource\Model``
Returns a response Model object

- AccountAliases => (array<string>)

  A list of aliases associated with the account.

- IsTruncated => (bool)

  A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items.

- Marker => (string)

  When IsTruncated is true, this element is present and contains the value to use for the Marker parameter in a subsequent pagination request.

# `public `Guzzle\Service\Resource\Model``
`listAttachedGroupPolicies( array $args = array() )`

Executes the ListAttachedGroupPolicies operation.

Lists all managed policies that are attached to the specified group.

A group can also have inline policies embedded with it. To list the inline policies for a group, use the ListGroupPolicies API. For information about policies, refer to Managed Policies and Inline Policies in the Using IAM guide.

You can paginate the results using the MaxItems and Marker parameters. You can use the PathPrefix parameter to limit the list of policies to only those matching the specified path prefix. If there are no policies attached to the specified group (or none that match the specified path prefix), the action returns an empty list.

#### Examples

- Basic formatting example

      $result = $client->listAttachedGroupPolicies(array(
          // GroupName is required
          'GroupName' => 'string',
          'PathPrefix' => 'string',
          'Marker' => 'string',
          'MaxItems' => integer,
      ));

#### Parameters

$args
  `array`
  $arg Associative array containing the following keys (required keys are bold):
  - GroupName => (string)

    The name (friendly name, not ARN) of the group to list attached policies for.

  - PathPrefix => (string)

    The path prefix for filtering the results. This parameter is optional. If it is not included, it defaults to a slash (/), listing all policies.

  - Marker => (string)

    Use this parameter only when paginating results and only after you have received a response where the results are truncated. Set it to the value of the Marker element in the response you just received.

  - MaxItems => (int)

    Use this only when paginating results to indicate the maximum number of items you want in the response. If there are additional items beyond the maximum you specify, the IsTruncated response element is true.

    This parameter is optional. If you do not include it, it defaults to 100.

#### Returns

``Guzzle\Service\Resource\Model``
Returns a response Model object

- AttachedPolicies => (array<associative-array>)

  A list of the attached policies.

  - (associative-array)

    Contains information about an attached policy.

    An attached policy is a managed policy that has been attached to a user, group, or role. This data type is used as a response element in the ListAttachedGroupPolicies, ListAttachedRolePolicies, ListAttachedUserPolicies, and GetAccountAuthorizationDetails actions.

    For more information about managed policies, refer to Managed Policies and Inline Policies in the Using IAM guide.

    - PolicyName => (string)

      The friendly name of the attached policy.

    - PolicyArn => (string)

      The Amazon Resource Name (ARN). ARNs are unique identifiers for AWS resources.

      For more information about ARNs, go to Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

- IsTruncated => (bool)

  A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items.

- Marker => (string)

  When IsTruncated is true, this element is present and contains the value to use for the Marker parameter in a subsequent pagination request.

# `public `Guzzle\Service\Resource\Model``
`listAttachedRolePolicies( array $args = array() )`

Executes the ListAttachedRolePolicies operation.

Lists all managed policies that are attached to the specified role.

A role can also have inline policies embedded with it. To list the inline policies for a role, use the ListRolePolicies API. For information about policies, refer to Managed Policies and Inline Policies in the Using IAM guide.

You can paginate the results using the MaxItems and Marker parameters. You can use the PathPrefix parameter to limit the list of policies to only those matching the specified path prefix. If there are no policies attached to the specified role (or none that match the specified path prefix), the action returns an empty list.

#### Examples

- Basic formatting example

      $result = $client->listAttachedRolePolicies(array(
          // RoleName is required
          'RoleName' => 'string',
          'PathPrefix' => 'string',
          'Marker' => 'string',
          'MaxItems' => integer,
      ));

#### Parameters

$args
  `array`
  $arg Associative array containing the following keys (required keys are bold):
  - RoleName => (string)

    The name (friendly name, not ARN) of the role to list attached policies for.

  - PathPrefix => (string)

    The path prefix for filtering the results. This parameter is optional. If it is not included, it defaults to a slash (/), listing all policies.

  - Marker => (string)

    Use this parameter only when paginating results and only after you have received a response where the results are truncated. Set it to the value of the Marker element in the response you just received.

  - MaxItems => (int)

    Use this only when paginating results to indicate the maximum number of items you want in the response. If there are additional items beyond the maximum you specify, the IsTruncated response element is true.

    This parameter is optional. If you do not include it, it defaults to 100.

#### Returns

``Guzzle\Service\Resource\Model``
Returns a response Model object

- AttachedPolicies => (array<associative-array>)

  A list of the attached policies.

  - (associative-array)

    Contains information about an attached policy.

    An attached policy is a managed policy that has been attached to a user, group, or role. This data type is used as a response element in the ListAttachedGroupPolicies, ListAttachedRolePolicies, ListAttachedUserPolicies, and GetAccountAuthorizationDetails actions.

    For more information about managed policies, refer to Managed Policies and Inline Policies in the Using IAM guide.

    - PolicyName => (string)

      The friendly name of the attached policy.

    - PolicyArn => (string)

      The Amazon Resource Name (ARN). ARNs are unique identifiers for AWS resources.

      For more information about ARNs, go to Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

- IsTruncated => (bool)

  A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items.

- Marker => (string)

  When IsTruncated is true, this element is present and contains the value to use for the Marker parameter in a subsequent pagination request.

# `public `Guzzle\Service\Resource\Model``
`listAttachedUserPolicies( array $args = array() )`

Executes the ListAttachedUserPolicies operation.

Lists all managed policies that are attached to the specified user.

A user can also have inline policies embedded with it. To list the inline policies for a user, use the ListUserPolicies API. For information about policies, refer to Managed Policies and Inline Policies in the Using IAM guide.

You can paginate the results using the MaxItems and Marker parameters. You can use the PathPrefix parameter to limit the list of policies to only those matching the specified path prefix. If there are no policies attached to the specified group (or none that match the specified path prefix), the action returns an empty list.

#### Examples

- Basic formatting example

      $result = $client->listAttachedUserPolicies(array(
          // UserName is required
          'UserName' => 'string',
          'PathPrefix' => 'string',
          'Marker' => 'string',
          'MaxItems' => integer,
      ));

#### Parameters

$args
  `array`
  $arg Associative array containing the following keys (required keys are bold):
  - UserName => (string)

    The name (friendly name, not ARN) of the user to list attached policies for.

  - PathPrefix => (string)

    The path prefix for filtering the results. This parameter is optional. If it is not included, it defaults to a slash (/), listing all policies.

  - Marker => (string)

    Use this parameter only when paginating results and only after you have received a response where the results are truncated. Set it to the value of the Marker element in the response you just received.

  - MaxItems => (int)

    Use this only when paginating results to indicate the maximum number of items you want in the response. If there are additional items beyond the maximum you specify, the IsTruncated response element is true.

    This parameter is optional. If you do not include it, it defaults to 100.

#### Returns

``Guzzle\Service\Resource\Model``
Returns a response Model object

- AttachedPolicies => (array<associative-array>)

  A list of the attached policies.

  - (associative-array)

    Contains information about an attached policy.

    An attached policy is a managed policy that has been attached to a user, group, or role. This data type is used as a response element in the ListAttachedGroupPolicies, ListAttachedRolePolicies, ListAttachedUserPolicies, and GetAccountAuthorizationDetails actions.

    For more information about managed policies, refer to Managed Policies and Inline Policies in the Using IAM guide.

    - PolicyName => (string)

      The friendly name of the attached policy.

    - PolicyArn => (string)

      The Amazon Resource Name (ARN). ARNs are unique identifiers for AWS resources.

      For more information about ARNs, go to Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

- IsTruncated => (bool)

  A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items.

- Marker => (string)

  When IsTruncated is true, this element is present and contains the value to use for the Marker parameter in a subsequent pagination request.

# `public `Guzzle\Service\Resource\Model``
`listEntitiesForPolicy( array $args = array() )`

Executes the ListEntitiesForPolicy operation.

Lists all users, groups, and roles that the specified managed policy is attached to.

You can use the optional EntityFilter parameter to limit the results to a particular type of entity (users, groups, or roles). For example, to list only the roles that are attached to the specified policy, set EntityFilter to Role .

You can paginate the results using the MaxItems and Marker parameters.

#### Examples

- Basic formatting example

      $result = $client->listEntitiesForPolicy(array(
          // PolicyArn is required
          'PolicyArn' => 'string',
          'EntityFilter' => 'string',
          'PathPrefix' => 'string',
          'Marker' => 'string',
          'MaxItems' => integer,
      ));

#### Parameters

$args
  `array`
  $arg Associative array containing the following keys (required keys are bold):
  - PolicyArn => (string)

    The Amazon Resource Name (ARN). ARNs are unique identifiers for AWS resources.

    For more information about ARNs, go to Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

  - EntityFilter => (string: User | Role | Group | LocalManagedPolicy | AWSManagedPolicy )

    The entity type to use for filtering the results.

    For example, when EntityFilter is Role, only the roles that are attached to the specified policy are returned. This parameter is optional. If it is not included, all attached entities (users, groups, and roles) are returned.

  - PathPrefix => (string)

    The path prefix for filtering the results. This parameter is optional. If it is not included, it defaults to a slash (/), listing all entities.

  - Marker => (string)

    Use this parameter only when paginating results and only after you have received a response where the results are truncated. Set it to the value of the Marker element in the response you just received.

  - MaxItems => (int)

    Use this only when paginating results to indicate the maximum number of items you want in the response. If there are additional items beyond the maximum you specify, the IsTruncated response element is true.

    This parameter is optional. If you do not include it, it defaults to 100.

#### Returns

``Guzzle\Service\Resource\Model``
Returns a response Model object

- PolicyGroups => (array<associative-array>)

  A list of groups that the policy is attached to.

  - (associative-array)

    Contains information about a group that a managed policy is attached to.

    This data type is used as a response element in the ListEntitiesForPolicy action.

    For more information about managed policies, refer to Managed Policies and Inline Policies in the Using IAM guide.

    - GroupName => (string)

      The name (friendly name, not ARN) identifying the group.

- PolicyUsers => (array<associative-array>)

  A list of users that the policy is attached to.

  - (associative-array)

    Contains information about a user that a managed policy is attached to.

    This data type is used as a response element in the ListEntitiesForPolicy action.

    For more information about managed policies, refer to Managed Policies and Inline Policies in the Using IAM guide.

    - UserName => (string)

      The name (friendly name, not ARN) identifying the user.

- PolicyRoles => (array<associative-array>)

  A list of roles that the policy is attached to.

  - (associative-array)

    Contains information about a role that a managed policy is attached to.

    This data type is used as a response element in the ListEntitiesForPolicy action.

    For more information about managed policies, refer to Managed Policies and Inline Policies in the Using IAM guide.

    - RoleName => (string)

      The name (friendly name, not ARN) identifying the role.

- IsTruncated => (bool)

  A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items.

- Marker => (string)

  When IsTruncated is true, this element is present and contains the value to use for the Marker parameter in a subsequent pagination request.

# `public `Guzzle\Service\Resource\Model``
`listGroupPolicies( array $args = array() )`

Executes the ListGroupPolicies operation.

Lists the names of the inline policies that are embedded in the specified group.

A group can also have managed policies attached to it. To list the managed policies that are attached to a group, use ListAttachedGroupPolicies. For more information about policies, refer to Managed Policies and Inline Policies in the Using IAM guide.

You can paginate the results using the MaxItems and Marker parameters. If there are no inline policies embedded with the specified group, the action returns an empty list.

#### Examples

- Basic formatting example

      $result = $client->listGroupPolicies(array(
          // GroupName is required
          'GroupName' => 'string',
          'Marker' => 'string',
          'MaxItems' => integer,
      ));

#### Parameters

$args
  `array`
  $arg Associative array containing the following keys (required keys are bold):
  - GroupName => (string)

    The name of the group to list policies for.

  - Marker => (string)

    Use this parameter only when paginating results and only after you have received a response where the results are truncated. Set it to the value of the Marker element in the response you just received.

  - MaxItems => (int)

    Use this only when paginating results to indicate the maximum number of items you want in the response. If there are additional items beyond the maximum you specify, the IsTruncated response element is true.

    This parameter is optional. If you do not include it, it defaults to 100.

#### Returns

``Guzzle\Service\Resource\Model``
Returns a response Model object

- PolicyNames => (array<string>)

  A list of policy names.

- IsTruncated => (bool)

  A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items.

- Marker => (string)

  When IsTruncated is true, this element is present and contains the value to use for the Marker parameter in a subsequent pagination request.

# `public `Guzzle\Service\Resource\Model``
`listGroups( array $args = array() )`

Executes the ListGroups operation.

Lists the groups that have the specified path prefix.

You can paginate the results using the MaxItems and Marker parameters.

#### Examples

- Basic formatting example

      $result = $client->listGroups(array(
          'PathPrefix' => 'string',
          'Marker' => 'string',
          'MaxItems' => integer,
      ));

#### Parameters

$args
  `array`
  $arg Associative array containing the following keys (required keys are bold):
  - PathPrefix => (string)

    The path prefix for filtering the results. For example, the prefix /division_abc/subdivision_xyz/ gets all groups whose path starts with /division_abc/subdivision_xyz/.

    This parameter is optional. If it is not included, it defaults to a slash (/), listing all groups.

  - Marker => (string)

    Use this parameter only when paginating results and only after you have received a response where the results are truncated. Set it to the value of the Marker element in the response you just received.

  - MaxItems => (int)

    Use this only when paginating results to indicate the maximum number of items you want in the response. If there are additional items beyond the maximum you specify, the IsTruncated response element is true.

    This parameter is optional. If you do not include it, it defaults to 100.

#### Returns

``Guzzle\Service\Resource\Model``
Returns a response Model object

- Groups => (array<associative-array>)

  A list of groups.

  - (associative-array)

    Contains information about an IAM group entity.

    This data type is used as a response element in the following actions:

    - CreateGroup
    - GetGroup
    - ListGroups
    - Path => (string)

      The path to the group. For more information about paths, see IAM Identifiers in the Using IAM guide.

    - GroupName => (string)

      The friendly name that identifies the group.

    - GroupId => (string)

      The stable and unique string identifying the group. For more information about IDs, see IAM Identifiers in the Using IAM guide.

    - Arn => (string)

      The Amazon Resource Name (ARN) specifying the group. For more information about ARNs and how to use them in policies, see IAM Identifiers in the Using IAM guide.

    - CreateDate => (string)

      The date and time, in ISO 8601 date-time format, when the group was created.

- IsTruncated => (bool)

  A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items.

- Marker => (string)

  When IsTruncated is true, this element is present and contains the value to use for the Marker parameter in a subsequent pagination request.

# `public `Guzzle\Service\Resource\Model``
`listGroupsForUser( array $args = array() )`

Executes the ListGroupsForUser operation.

Lists the groups the specified user belongs to.

You can paginate the results using the MaxItems and Marker parameters.

#### Examples

- Basic formatting example

      $result = $client->listGroupsForUser(array(
          // UserName is required
          'UserName' => 'string',
          'Marker' => 'string',
          'MaxItems' => integer,
      ));

#### Parameters

$args
  `array`
  $arg Associative array containing the following keys (required keys are bold):
  - UserName => (string)

    The name of the user to list groups for.

  - Marker => (string)

    Use this parameter only when paginating results and only after you have received a response where the results are truncated. Set it to the value of the Marker element in the response you just received.

  - MaxItems => (int)

    Use this only when paginating results to indicate the maximum number of items you want in the response. If there are additional items beyond the maximum you specify, the IsTruncated response element is true.

    This parameter is optional. If you do not include it, it defaults to 100.

#### Returns

``Guzzle\Service\Resource\Model``
Returns a response Model object

- Groups => (array<associative-array>)

  A list of groups.

  - (associative-array)

    Contains information about an IAM group entity.

    This data type is used as a response element in the following actions:

    - CreateGroup
    - GetGroup
    - ListGroups
    - Path => (string)

      The path to the group. For more information about paths, see IAM Identifiers in the Using IAM guide.

    - GroupName => (string)

      The friendly name that identifies the group.

    - GroupId => (string)

      The stable and unique string identifying the group. For more information about IDs, see IAM Identifiers in the Using IAM guide.

    - Arn => (string)

      The Amazon Resource Name (ARN) specifying the group. For more information about ARNs and how to use them in policies, see IAM Identifiers in the Using IAM guide.

    - CreateDate => (string)

      The date and time, in ISO 8601 date-time format, when the group was created.

- IsTruncated => (bool)

  A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items.

- Marker => (string)

  When IsTruncated is true, this element is present and contains the value to use for the Marker parameter in a subsequent pagination request.

# `public `Guzzle\Service\Resource\Model``
`listInstanceProfiles( array $args = array() )`

Executes the ListInstanceProfiles operation.

Lists the instance profiles that have the specified path prefix. If there are none, the action returns an empty list. For more information about instance profiles, go to About Instance Profiles.

You can paginate the results using the MaxItems and Marker parameters.

#### Examples

- Basic formatting example

      $result = $client->listInstanceProfiles(array(
          'PathPrefix' => 'string',
          'Marker' => 'string',
          'MaxItems' => integer,
      ));

#### Parameters

$args
  `array`
  $arg Associative array containing the following keys (required keys are bold):
  - PathPrefix => (string)

    The path prefix for filtering the results. For example, the prefix /application_abc/component_xyz/ gets all instance profiles whose path starts with /application_abc/component_xyz/.

    This parameter is optional. If it is not included, it defaults to a slash (/), listing all instance profiles.

  - Marker => (string)

    Use this parameter only when paginating results and only after you have received a response where the results are truncated. Set it to the value of the Marker element in the response you just received.

  - MaxItems => (int)

    Use this only when paginating results to indicate the maximum number of items you want in the response. If there are additional items beyond the maximum you specify, the IsTruncated response element is true.

    This parameter is optional. If you do not include it, it defaults to 100.

#### Returns

``Guzzle\Service\Resource\Model``
Returns a response Model object

- InstanceProfiles => (array<associative-array>)

  A list of instance profiles.

  - (associative-array)

    Contains information about an instance profile.

    This data type is used as a response element in the following actions:

    - CreateInstanceProfile

    - GetInstanceProfile

    - ListInstanceProfiles

    - ListInstanceProfilesForRole

    - Path => (string)

      The path to the instance profile. For more information about paths, see IAM Identifiers in the Using IAM guide.

    - InstanceProfileName => (string)

      The name identifying the instance profile.

    - InstanceProfileId => (string)

      The stable and unique string identifying the instance profile. For more information about IDs, see IAM Identifiers in the Using IAM guide.

    - Arn => (string)

      The Amazon Resource Name (ARN) specifying the instance profile. For more information about ARNs and how to use them in policies, see IAM Identifiers in the Using IAM guide.

    - CreateDate => (string)

      The date when the instance profile was created.

    - Roles => (array<associative-array>)

      The role associated with the instance profile.

      - (associative-array)

        Contains information about an IAM role.

        This data type is used as a response element in the following actions:

        - CreateRole

        - GetRole

        - ListRoles

        - Path => (string)

          The path to the role. For more information about paths, see IAM Identifiers in the Using IAM guide.

        - RoleName => (string)

          The friendly name that identifies the role.

        - RoleId => (string)

          The stable and unique string identifying the role. For more information about IDs, see IAM Identifiers in the Using IAM guide.

        - Arn => (string)

          The Amazon Resource Name (ARN) specifying the role. For more information about ARNs and how to use them in policies, see IAM Identifiers in the Using IAM guide.

        - CreateDate => (string)

          The date and time, in ISO 8601 date-time format, when the role was created.

        - AssumeRolePolicyDocument => (string)

          The policy that grants an entity permission to assume the role.

- IsTruncated => (bool)

  A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items.

- Marker => (string)

  When IsTruncated is true, this element is present and contains the value to use for the Marker parameter in a subsequent pagination request.

# `public `Guzzle\Service\Resource\Model``
`listInstanceProfilesForRole( array $args = array() )`

Executes the ListInstanceProfilesForRole operation.

Lists the instance profiles that have the specified associated role. If there are none, the action returns an empty list. For more information about instance profiles, go to About Instance Profiles.

You can paginate the results using the MaxItems and Marker parameters.

#### Examples

- Basic formatting example

      $result = $client->listInstanceProfilesForRole(array(
          // RoleName is required
          'RoleName' => 'string',
          'Marker' => 'string',
          'MaxItems' => integer,
      ));

#### Parameters

$args
  `array`
  $arg Associative array containing the following keys (required keys are bold):
  - RoleName => (string)

    The name of the role to list instance profiles for.

  - Marker => (string)

    Use this parameter only when paginating results and only after you have received a response where the results are truncated. Set it to the value of the Marker element in the response you just received.

  - MaxItems => (int)

    Use this only when paginating results to indicate the maximum number of items you want in the response. If there are additional items beyond the maximum you specify, the IsTruncated response element is true.

    This parameter is optional. If you do not include it, it defaults to 100.

#### Returns

``Guzzle\Service\Resource\Model``
Returns a response Model object

- InstanceProfiles => (array<associative-array>)

  A list of instance profiles.

  - (associative-array)

    Contains information about an instance profile.

    This data type is used as a response element in the following actions:

    - CreateInstanceProfile

    - GetInstanceProfile

    - ListInstanceProfiles

    - ListInstanceProfilesForRole

    - Path => (string)

      The path to the instance profile. For more information about paths, see IAM Identifiers in the Using IAM guide.

    - InstanceProfileName => (string)

      The name identifying the instance profile.

    - InstanceProfileId => (string)

      The stable and unique string identifying the instance profile. For more information about IDs, see IAM Identifiers in the Using IAM guide.

    - Arn => (string)

      The Amazon Resource Name (ARN) specifying the instance profile. For more information about ARNs and how to use them in policies, see IAM Identifiers in the Using IAM guide.

    - CreateDate => (string)

      The date when the instance profile was created.

    - Roles => (array<associative-array>)

      The role associated with the instance profile.

      - (associative-array)

        Contains information about an IAM role.

        This data type is used as a response element in the following actions:

        - CreateRole

        - GetRole

        - ListRoles

        - Path => (string)

          The path to the role. For more information about paths, see IAM Identifiers in the Using IAM guide.

        - RoleName => (string)

          The friendly name that identifies the role.

        - RoleId => (string)

          The stable and unique string identifying the role. For more information about IDs, see IAM Identifiers in the Using IAM guide.

        - Arn => (string)

          The Amazon Resource Name (ARN) specifying the role. For more information about ARNs and how to use them in policies, see IAM Identifiers in the Using IAM guide.

        - CreateDate => (string)

          The date and time, in ISO 8601 date-time format, when the role was created.

        - AssumeRolePolicyDocument => (string)

          The policy that grants an entity permission to assume the role.

- IsTruncated => (bool)

  A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items.

- Marker => (string)

  When IsTruncated is true, this element is present and contains the value to use for the Marker parameter in a subsequent pagination request.

# `public `Guzzle\Service\Resource\Model``
`listMFADevices( array $args = array() )`

Executes the ListMFADevices operation.

Lists the MFA devices. If the request includes the user name, then this action lists all the MFA devices associated with the specified user name. If you do not specify a user name, IAM determines the user name implicitly based on the AWS access key ID signing the request.

You can paginate the results using the MaxItems and Marker parameters.

#### Examples

- Basic formatting example

      $result = $client->listMFADevices(array(
          'UserName' => 'string',
          'Marker' => 'string',
          'MaxItems' => integer,
      ));

#### Parameters

$args
  `array`
  $arg Associative array containing the following keys (required keys are bold):
  - UserName => (string)

    The name of the user whose MFA devices you want to list.

  - Marker => (string)

    Use this parameter only when paginating results and only after you have received a response where the results are truncated. Set it to the value of the Marker element in the response you just received.

  - MaxItems => (int)

    Use this only when paginating results to indicate the maximum number of items you want in the response. If there are additional items beyond the maximum you specify, the IsTruncated response element is true.

    This parameter is optional. If you do not include it, it defaults to 100.

#### Returns

``Guzzle\Service\Resource\Model``
Returns a response Model object

- MFADevices => (array<associative-array>)

  A list of MFA devices.

  - (associative-array)

    Contains information about an MFA device.

    This data type is used as a response element in the ListMFADevices action.

    - UserName => (string)

      The user with whom the MFA device is associated.

    - SerialNumber => (string)

      The serial number that uniquely identifies the MFA device. For virtual MFA devices, the serial number is the device ARN.

    - EnableDate => (string)

      The date when the MFA device was enabled for the user.

- IsTruncated => (bool)

  A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items.

- Marker => (string)

  When IsTruncated is true, this element is present and contains the value to use for the Marker parameter in a subsequent pagination request.

# `public `Guzzle\Service\Resource\Model``
`listOpenIDConnectProviders( array $args = array() )`

Executes the ListOpenIDConnectProviders operation.

Lists information about the OpenID Connect providers in the AWS account.

#### Examples

- Basic formatting example

      $result = $client->listOpenIDConnectProviders(array(
      ));

#### Returns

``Guzzle\Service\Resource\Model``
Returns a response Model object

- OpenIDConnectProviderList => (array<associative-array>)

  The list of IAM OpenID Connect providers in the AWS account.

  - (associative-array)

    Contains the Amazon Resource Name (ARN) for an IAM OpenID Connect provider.

    - Arn => (string)

      The Amazon Resource Name (ARN). ARNs are unique identifiers for AWS resources.

      For more information about ARNs, go to Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

# `public `Guzzle\Service\Resource\Model``
`listPolicies( array $args = array() )`

Executes the ListPolicies operation.

Lists all the managed policies that are available to your account, including your own customer managed policies and all AWS managed policies.

You can filter the list of policies that is returned using the optional OnlyAttached , Scope , and PathPrefix parameters. For example, to list only the customer managed policies in your AWS account, set Scope to Local . To list only AWS managed policies, set Scope to AWS .

You can paginate the results using the MaxItems and Marker parameters.

For more information about managed policies, refer to Managed Policies and Inline Policies in the Using IAM guide.

#### Examples

- Basic formatting example

      $result = $client->listPolicies(array(
          'Scope' => 'string',
          'OnlyAttached' => true || false,
          'PathPrefix' => 'string',
          'Marker' => 'string',
          'MaxItems' => integer,
      ));

#### Parameters

$args
  `array`
  $arg Associative array containing the following keys (required keys are bold):
  - Scope => (string: All | AWS | Local )

    The scope to use for filtering the results.

    To list only AWS managed policies, set Scope to AWS. To list only the customer managed policies in your AWS account, set Scope to Local.

    This parameter is optional. If it is not included, or if it is set to All, all policies are returned.

  - OnlyAttached => (bool)

    A flag to filter the results to only the attached policies.

    When OnlyAttached is true, the returned list contains only the policies that are attached to a user, group, or role. When OnlyAttached is false, or when the parameter is not included, all policies are returned.

  - PathPrefix => (string)

    The path prefix for filtering the results. This parameter is optional. If it is not included, it defaults to a slash (/), listing all policies.

  - Marker => (string)

    Use this parameter only when paginating results and only after you have received a response where the results are truncated. Set it to the value of the Marker element in the response you just received.

  - MaxItems => (int)

    Use this only when paginating results to indicate the maximum number of items you want in the response. If there are additional items beyond the maximum you specify, the IsTruncated response element is true.

    This parameter is optional. If you do not include it, it defaults to 100.

#### Returns

``Guzzle\Service\Resource\Model``
Returns a response Model object

- Policies => (array<associative-array>)

  A list of policies.

  - (associative-array)

    Contains information about a managed policy.

    This data type is used as a response element in the CreatePolicy, GetPolicy, and ListPolicies actions.

    For more information about managed policies, refer to Managed Policies and Inline Policies in the Using IAM guide.

    - PolicyName => (string)

      The friendly name (not ARN) identifying the policy.

    - PolicyId => (string)

      The stable and unique string identifying the policy.

      For more information about IDs, see IAM Identifiers in the Using IAM guide.

    - Arn => (string)

      The Amazon Resource Name (ARN). ARNs are unique identifiers for AWS resources.

      For more information about ARNs, go to Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

    - Path => (string)

      The path to the policy.

      For more information about paths, see IAM Identifiers in the Using IAM guide.

    - DefaultVersionId => (string)

      The identifier for the version of the policy that is set as the default version.

    - AttachmentCount => (int)

      The number of entities (users, groups, and roles) that the policy is attached to.

    - IsAttachable => (bool)

      Specifies whether the policy can be attached to an IAM user, group, or role.

    - Description => (string)

      A friendly description of the policy.

      This element is included in the response to the GetPolicy operation. It is not included in the response to the ListPolicies operation.

    - CreateDate => (string)

      The date and time, in ISO 8601 date-time format, when the policy was created.

    - UpdateDate => (string)

      The date and time, in ISO 8601 date-time format, when the policy was last updated.

      When a policy has only one version, this field contains the date and time when the policy was created. When a policy has more than one version, this field contains the date and time when the most recent policy version was created.

- IsTruncated => (bool)

  A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items.

- Marker => (string)

  When IsTruncated is true, this element is present and contains the value to use for the Marker parameter in a subsequent pagination request.

# `public `Guzzle\Service\Resource\Model``
`listPolicyVersions( array $args = array() )`

Executes the ListPolicyVersions operation.

Lists information about the versions of the specified managed policy, including the version that is set as the policy's default version.

For more information about managed policies, refer to Managed Policies and Inline Policies in the Using IAM guide.

#### Examples

- Basic formatting example

      $result = $client->listPolicyVersions(array(
          // PolicyArn is required
          'PolicyArn' => 'string',
          'Marker' => 'string',
          'MaxItems' => integer,
      ));

#### Parameters

$args
  `array`
  $arg Associative array containing the following keys (required keys are bold):
  - PolicyArn => (string)

    The Amazon Resource Name (ARN). ARNs are unique identifiers for AWS resources.

    For more information about ARNs, go to Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

  - Marker => (string)

    Use this parameter only when paginating results and only after you have received a response where the results are truncated. Set it to the value of the Marker element in the response you just received.

  - MaxItems => (int)

    Use this only when paginating results to indicate the maximum number of items you want in the response. If there are additional items beyond the maximum you specify, the IsTruncated response element is true.

    This parameter is optional. If you do not include it, it defaults to 100.

#### Returns

``Guzzle\Service\Resource\Model``
Returns a response Model object

- Versions => (array<associative-array>)

  A list of policy versions.

  For more information about managed policy versions, see Versioning for Managed Policies in the Using IAM guide.

  - (associative-array)

    Contains information about a version of a managed policy.

    This data type is used as a response element in the CreatePolicyVersion, GetPolicyVersion, ListPolicyVersions, and GetAccountAuthorizationDetails actions.

    For more information about managed policies, refer to Managed Policies and Inline Policies in the Using IAM guide.

    - Document => (string)

      The policy document.

      The policy document is returned in the response to the GetPolicyVersion and GetAccountAuthorizationDetails operations. It is not returned in the response to the CreatePolicyVersion or ListPolicyVersions operations.

    - VersionId => (string)

      The identifier for the policy version.

      Policy version identifiers always begin with v (always lowercase). When a policy is created, the first policy version is v1.

    - IsDefaultVersion => (bool)

      Specifies whether the policy version is set as the policy's default version.

    - CreateDate => (string)

      The date and time, in ISO 8601 date-time format, when the policy version was created.

- IsTruncated => (bool)

  A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items.

- Marker => (string)

  When IsTruncated is true, this element is present and contains the value to use for the Marker parameter in a subsequent pagination request.

# `public `Guzzle\Service\Resource\Model``
`listRolePolicies( array $args = array() )`

Executes the ListRolePolicies operation.

Lists the names of the inline policies that are embedded in the specified role.

A role can also have managed policies attached to it. To list the managed policies that are attached to a role, use ListAttachedRolePolicies. For more information about policies, refer to Managed Policies and Inline Policies in the Using IAM guide.

You can paginate the results using the MaxItems and Marker parameters. If there are no inline policies embedded with the specified role, the action returns an empty list.

#### Examples

- Basic formatting example

      $result = $client->listRolePolicies(array(
          // RoleName is required
          'RoleName' => 'string',
          'Marker' => 'string',
          'MaxItems' => integer,
      ));

#### Parameters

$args
  `array`
  $arg Associative array containing the following keys (required keys are bold):
  - RoleName => (string)

    The name of the role to list policies for.

  - Marker => (string)

    Use this parameter only when paginating results and only after you have received a response where the results are truncated. Set it to the value of the Marker element in the response you just received.

  - MaxItems => (int)

    Use this only when paginating results to indicate the maximum number of items you want in the response. If there are additional items beyond the maximum you specify, the IsTruncated response element is true.

    This parameter is optional. If you do not include it, it defaults to 100.

#### Returns

``Guzzle\Service\Resource\Model``
Returns a response Model object

- PolicyNames => (array<string>)

  A list of policy names.

- IsTruncated => (bool)

  A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items.

- Marker => (string)

  When IsTruncated is true, this element is present and contains the value to use for the Marker parameter in a subsequent pagination request.

# `public `Guzzle\Service\Resource\Model``
`listRoles( array $args = array() )`

Executes the ListRoles operation.

Lists the roles that have the specified path prefix. If there are none, the action returns an empty list. For more information about roles, go to Working with Roles.

You can paginate the results using the MaxItems and Marker parameters.

#### Examples

- Basic formatting example

      $result = $client->listRoles(array(
          'PathPrefix' => 'string',
          'Marker' => 'string',
          'MaxItems' => integer,
      ));

#### Parameters

$args
  `array`
  $arg Associative array containing the following keys (required keys are bold):
  - PathPrefix => (string)

    The path prefix for filtering the results. For example, the prefix /application_abc/component_xyz/ gets all roles whose path starts with /application_abc/component_xyz/.

    This parameter is optional. If it is not included, it defaults to a slash (/), listing all roles.

  - Marker => (string)

    Use this parameter only when paginating results and only after you have received a response where the results are truncated. Set it to the value of the Marker element in the response you just received.

  - MaxItems => (int)

    Use this only when paginating results to indicate the maximum number of items you want in the response. If there are additional items beyond the maximum you specify, the IsTruncated response element is true.

    This parameter is optional. If you do not include it, it defaults to 100.

#### Returns

``Guzzle\Service\Resource\Model``
Returns a response Model object

- Roles => (array<associative-array>)

  A list of roles.

  - (associative-array)

    Contains information about an IAM role.

    This data type is used as a response element in the following actions:

    - CreateRole

    - GetRole

    - ListRoles

    - Path => (string)

      The path to the role. For more information about paths, see IAM Identifiers in the Using IAM guide.

    - RoleName => (string)

      The friendly name that identifies the role.

    - RoleId => (string)

      The stable and unique string identifying the role. For more information about IDs, see IAM Identifiers in the Using IAM guide.

    - Arn => (string)

      The Amazon Resource Name (ARN) specifying the role. For more information about ARNs and how to use them in policies, see IAM Identifiers in the Using IAM guide.

    - CreateDate => (string)

      The date and time, in ISO 8601 date-time format, when the role was created.

    - AssumeRolePolicyDocument => (string)

      The policy that grants an entity permission to assume the role.

- IsTruncated => (bool)

  A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items.

- Marker => (string)

  When IsTruncated is true, this element is present and contains the value to use for the Marker parameter in a subsequent pagination request.

# `public `Guzzle\Service\Resource\Model``
`listSAMLProviders( array $args = array() )`

Executes the ListSAMLProviders operation.

Lists the SAML providers in the account.

This operation requires Signature Version 4.

#### Examples

- Basic formatting example

      $result = $client->listSAMLProviders(array(
      ));

#### Returns

``Guzzle\Service\Resource\Model``
Returns a response Model object

- SAMLProviderList => (array<associative-array>)

  The list of SAML providers for this account.

  - (associative-array)

    Contains the list of SAML providers for this account.

    - Arn => (string)

      The Amazon Resource Name (ARN) of the SAML provider.

    - ValidUntil => (string)

      The expiration date and time for the SAML provider.

    - CreateDate => (string)

      The date and time when the SAML provider was created.

# `public `Guzzle\Service\Resource\Model``
`listSSHPublicKeys( array $args = array() )`

Executes the ListSSHPublicKeys operation.

Returns information about the SSH public keys associated with the specified IAM user. If there are none, the action returns an empty list.

The SSH public keys returned by this action are used only for authenticating the IAM user to an AWS CodeCommit repository. For more information about using SSH keys to authenticate to an AWS CodeCommit repository, see Set up AWS CodeCommit for SSH Connections in the AWS CodeCommit User Guide.

Although each user is limited to a small number of keys, you can still paginate the results using the MaxItems and Marker parameters.

#### Examples

- Basic formatting example

      $result = $client->listSSHPublicKeys(array(
          'UserName' => 'string',
          'Marker' => 'string',
          'MaxItems' => integer,
      ));

#### Parameters

$args
  `array`
  $arg Associative array containing the following keys (required keys are bold):
  - UserName => (string)

    The name of the IAM user to list SSH public keys for. If none is specified, the UserName field is determined implicitly based on the AWS access key used to sign the request.

  - Marker => (string)

    Use this parameter only when paginating results and only after you have received a response where the results are truncated. Set it to the value of the Marker element in the response you just received.

  - MaxItems => (int)

    Use this only when paginating results to indicate the maximum number of items you want in the response. If there are additional items beyond the maximum you specify, the IsTruncated response element is true.

    This parameter is optional. If you do not include it, it defaults to 100.

#### Returns

``Guzzle\Service\Resource\Model``
Returns a response Model object

- SSHPublicKeys => (array<associative-array>)

  A list of SSH public keys.

  - (associative-array)

    Contains information about an SSH public key, without the key's body or fingerprint.

    This data type is used as a response element in the ListSSHPublicKeys action.

    - UserName => (string)

      The name of the IAM user associated with the SSH public key.

    - SSHPublicKeyId => (string)

      The unique identifier for the SSH public key.

    - Status => (string)

      The status of the SSH public key. Active means the key can be used for authentication with an AWS CodeCommit repository. Inactive means the key cannot be used.

    - UploadDate => (string)

      The date and time, in ISO 8601 date-time format, when the SSH public key was uploaded.

- IsTruncated => (bool)

  A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items.

- Marker => (string)

  When IsTruncated is true, this element is present and contains the value to use for the Marker parameter in a subsequent pagination request.

# `public `Guzzle\Service\Resource\Model``
`listServerCertificates( array $args = array() )`

Executes the ListServerCertificates operation.

Lists the server certificates that have the specified path prefix. If none exist, the action returns an empty list.

You can paginate the results using the MaxItems and Marker parameters.

#### Examples

- Basic formatting example

      $result = $client->listServerCertificates(array(
          'PathPrefix' => 'string',
          'Marker' => 'string',
          'MaxItems' => integer,
      ));

#### Parameters

$args
  `array`
  $arg Associative array containing the following keys (required keys are bold):
  - PathPrefix => (string)

    The path prefix for filtering the results. For example: /company/servercerts would get all server certificates for which the path starts with /company/servercerts.

    This parameter is optional. If it is not included, it defaults to a slash (/), listing all server certificates.

  - Marker => (string)

    Use this parameter only when paginating results and only after you have received a response where the results are truncated. Set it to the value of the Marker element in the response you just received.

  - MaxItems => (int)

    Use this only when paginating results to indicate the maximum number of items you want in the response. If there are additional items beyond the maximum you specify, the IsTruncated response element is true.

    This parameter is optional. If you do not include it, it defaults to 100.

#### Returns

``Guzzle\Service\Resource\Model``
Returns a response Model object

- ServerCertificateMetadataList => (array<associative-array>)

  A list of server certificates.

  - (associative-array)

    Contains information about a server certificate without its certificate body, certificate chain, and private key.

    This data type is used as a response element in the UploadServerCertificate and ListServerCertificates actions.

    - Path => (string)

      The path to the server certificate. For more information about paths, see IAM Identifiers in the Using IAM guide.

    - ServerCertificateName => (string)

      The name that identifies the server certificate.

    - ServerCertificateId => (string)

      The stable and unique string identifying the server certificate. For more information about IDs, see IAM Identifiers in the Using IAM guide.

    - Arn => (string)

      The Amazon Resource Name (ARN) specifying the server certificate. For more information about ARNs and how to use them in policies, see IAM Identifiers in the Using IAM guide.

    - UploadDate => (string)

      The date when the server certificate was uploaded.

    - Expiration => (string)

      The date on which the certificate is set to expire.

- IsTruncated => (bool)

  A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items.

- Marker => (string)

  When IsTruncated is true, this element is present and contains the value to use for the Marker parameter in a subsequent pagination request.

# `public `Guzzle\Service\Resource\Model``
`listSigningCertificates( array $args = array() )`

Executes the ListSigningCertificates operation.

Returns information about the signing certificates associated with the specified user. If there are none, the action returns an empty list.

Although each user is limited to a small number of signing certificates, you can still paginate the results using the MaxItems and Marker parameters.

If the UserName field is not specified, the user name is determined implicitly based on the AWS access key ID used to sign the request. Because this action works for access keys under the AWS account, you can use this action to manage root credentials even if the AWS account has no associated users.

#### Examples

- Basic formatting example

      $result = $client->listSigningCertificates(array(
          'UserName' => 'string',
          'Marker' => 'string',
          'MaxItems' => integer,
      ));

#### Parameters

$args
  `array`
  $arg Associative array containing the following keys (required keys are bold):
  - UserName => (string)

    The name of the user.

  - Marker => (string)

    Use this parameter only when paginating results and only after you have received a response where the results are truncated. Set it to the value of the Marker element in the response you just received.

  - MaxItems => (int)

    Use this only when paginating results to indicate the maximum number of items you want in the response. If there are additional items beyond the maximum you specify, the IsTruncated response element is true.

    This parameter is optional. If you do not include it, it defaults to 100.

#### Returns

``Guzzle\Service\Resource\Model``
Returns a response Model object

- Certificates => (array<associative-array>)

  A list of the user's signing certificate information.

  - (associative-array)

    Contains information about an X.509 signing certificate.

    This data type is used as a response element in the UploadSigningCertificate and ListSigningCertificates actions.

    - UserName => (string)

      The name of the user the signing certificate is associated with.

    - CertificateId => (string)

      The ID for the signing certificate.

    - CertificateBody => (string)

      The contents of the signing certificate.

    - Status => (string)

      The status of the signing certificate. Active means the key is valid for API calls, while Inactive means it is not.

    - UploadDate => (string)

      The date when the signing certificate was uploaded.

- IsTruncated => (bool)

  A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items.

- Marker => (string)

  When IsTruncated is true, this element is present and contains the value to use for the Marker parameter in a subsequent pagination request.

# `public `Guzzle\Service\Resource\Model``
`listUserPolicies( array $args = array() )`

Executes the ListUserPolicies operation.

Lists the names of the inline policies embedded in the specified user.

A user can also have managed policies attached to it. To list the managed policies that are attached to a user, use ListAttachedUserPolicies. For more information about policies, refer to Managed Policies and Inline Policies in the Using IAM guide.

You can paginate the results using the MaxItems and Marker parameters. If there are no inline policies embedded with the specified user, the action returns an empty list.

#### Examples

- Basic formatting example

      $result = $client->listUserPolicies(array(
          // UserName is required
          'UserName' => 'string',
          'Marker' => 'string',
          'MaxItems' => integer,
      ));

#### Parameters

$args
  `array`
  $arg Associative array containing the following keys (required keys are bold):
  - UserName => (string)

    The name of the user to list policies for.

  - Marker => (string)

    Use this parameter only when paginating results and only after you have received a response where the results are truncated. Set it to the value of the Marker element in the response you just received.

  - MaxItems => (int)

    Use this only when paginating results to indicate the maximum number of items you want in the response. If there are additional items beyond the maximum you specify, the IsTruncated response element is true.

    This parameter is optional. If you do not include it, it defaults to 100.

#### Returns

``Guzzle\Service\Resource\Model``
Returns a response Model object

- PolicyNames => (array<string>)

  A list of policy names.

- IsTruncated => (bool)

  A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items.

- Marker => (string)

  When IsTruncated is true, this element is present and contains the value to use for the Marker parameter in a subsequent pagination request.

# `public `Guzzle\Service\Resource\Model``
`listUsers( array $args = array() )`

Executes the ListUsers operation.

Lists the IAM users that have the specified path prefix. If no path prefix is specified, the action returns all users in the AWS account. If there are none, the action returns an empty list.

You can paginate the results using the MaxItems and Marker parameters.

#### Examples

- Basic formatting example

      $result = $client->listUsers(array(
          'PathPrefix' => 'string',
          'Marker' => 'string',
          'MaxItems' => integer,
      ));

#### Parameters

$args
  `array`
  $arg Associative array containing the following keys (required keys are bold):
  - PathPrefix => (string)

    The path prefix for filtering the results. For example: /division_abc/subdivision_xyz/, which would get all user names whose path starts with /division_abc/subdivision_xyz/.

    This parameter is optional. If it is not included, it defaults to a slash (/), listing all user names.

  - Marker => (string)

    Use this parameter only when paginating results and only after you have received a response where the results are truncated. Set it to the value of the Marker element in the response you just received.

  - MaxItems => (int)

    Use this only when paginating results to indicate the maximum number of items you want in the response. If there are additional items beyond the maximum you specify, the IsTruncated response element is true.

    This parameter is optional. If you do not include it, it defaults to 100.

#### Returns

``Guzzle\Service\Resource\Model``
Returns a response Model object

- Users => (array<associative-array>)

  A list of users.

  - (associative-array)

    Contains information about an IAM user entity.

    This data type is used as a response element in the following actions:

    - CreateUser

    - GetUser

    - ListUsers

    - Path => (string)

      The path to the user. For more information about paths, see IAM Identifiers in the Using IAM guide.

    - UserName => (string)

      The friendly name identifying the user.

    - UserId => (string)

      The stable and unique string identifying the user. For more information about IDs, see IAM Identifiers in the Using IAM guide.

    - Arn => (string)

      The Amazon Resource Name (ARN) that identifies the user. For more information about ARNs and how to use ARNs in policies, see IAM Identifiers in the Using IAM guide.

    - CreateDate => (string)

      The date and time, in ISO 8601 date-time format, when the user was created.

    - PasswordLastUsed => (string)

      The date and time, in ISO 8601 date-time format, when the user's password was last used to sign in to an AWS website. For a list of AWS websites that capture a user's last sign-in time, see the Credential Reports topic in the Using IAM guide. If a password is used more than once in a five-minute span, only the first use is returned in this field. This field is null (not present) when:

      - The user does not have a password

      - The password exists but has never been used (at least not since IAM started tracking this information on October 20th, 2014

      - there is no sign-in data associated with the user

      This value is returned only in the GetUser and ListUsers actions.

- IsTruncated => (bool)

  A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items.

- Marker => (string)

  When IsTruncated is true, this element is present and contains the value to use for the Marker parameter in a subsequent pagination request.

# `public `Guzzle\Service\Resource\Model``
`listVirtualMFADevices( array $args = array() )`

Executes the ListVirtualMFADevices operation.

Lists the virtual MFA devices under the AWS account by assignment status. If you do not specify an assignment status, the action returns a list of all virtual MFA devices. Assignment status can be Assigned , Unassigned , or Any .

You can paginate the results using the MaxItems and Marker parameters.

#### Examples

- Basic formatting example

      $result = $client->listVirtualMFADevices(array(
          'AssignmentStatus' => 'string',
          'Marker' => 'string',
          'MaxItems' => integer,
      ));

#### Parameters

$args
  `array`
  $arg Associative array containing the following keys (required keys are bold):
  - AssignmentStatus => (string: Assigned | Unassigned | Any )

    The status (unassigned or assigned) of the devices to list. If you do not specify an AssignmentStatus, the action defaults to Any which lists both assigned and unassigned virtual MFA devices.

  - Marker => (string)

    Use this parameter only when paginating results and only after you have received a response where the results are truncated. Set it to the value of the Marker element in the response you just received.

  - MaxItems => (int)

    Use this only when paginating results to indicate the maximum number of items you want in the response. If there are additional items beyond the maximum you specify, the IsTruncated response element is true.

    This parameter is optional. If you do not include it, it defaults to 100.

#### Returns

``Guzzle\Service\Resource\Model``
Returns a response Model object

- VirtualMFADevices => (array<associative-array>)

  The list of virtual MFA devices in the current account that match the AssignmentStatus value that was passed in the request.

  - (associative-array)

    Contains information about a virtual MFA device.

    - SerialNumber => (string)

      The serial number associated with VirtualMFADevice.

    - Base32StringSeed => (string)

      The Base32 seed defined as specified in RFC3548. The Base32StringSeed is Base64-encoded.

    - QRCodePNG => (string)

      A QR code PNG image that encodes otpauth://totp/$virtualMFADeviceName@$AccountName?secret=$Base32String where $virtualMFADeviceName is one of the create call arguments, AccountName is the user name if set (otherwise, the account ID otherwise), and Base32String is the seed in Base32 format. The Base32String value is Base64-encoded.

    - User => (associative-array)

      Contains information about an IAM user entity.

      This data type is used as a response element in the following actions:

      - CreateUser

      - GetUser

      - ListUsers

      - Path => (string)

        The path to the user. For more information about paths, see IAM Identifiers in the Using IAM guide.

      - UserName => (string)

        The friendly name identifying the user.

      - UserId => (string)

        The stable and unique string identifying the user. For more information about IDs, see IAM Identifiers in the Using IAM guide.

      - Arn => (string)

        The Amazon Resource Name (ARN) that identifies the user. For more information about ARNs and how to use ARNs in policies, see IAM Identifiers in the Using IAM guide.

      - CreateDate => (string)

        The date and time, in ISO 8601 date-time format, when the user was created.

      - PasswordLastUsed => (string)

        The date and time, in ISO 8601 date-time format, when the user's password was last used to sign in to an AWS website. For a list of AWS websites that capture a user's last sign-in time, see the Credential Reports topic in the Using IAM guide. If a password is used more than once in a five-minute span, only the first use is returned in this field. This field is null (not present) when:

        - The user does not have a password

        - The password exists but has never been used (at least not since IAM started tracking this information on October 20th, 2014

        - there is no sign-in data associated with the user

        This value is returned only in the GetUser and ListUsers actions.

    - EnableDate => (string)

      The date and time on which the virtual MFA device was enabled.

- IsTruncated => (bool)

  A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items.

- Marker => (string)

  When IsTruncated is true, this element is present and contains the value to use for the Marker parameter in a subsequent pagination request.

# `public `Guzzle\Service\Resource\Model``
`putGroupPolicy( array $args = array() )`

Executes the PutGroupPolicy operation.

Adds (or updates) an inline policy document that is embedded in the specified group.

A user can also have managed policies attached to it. To attach a managed policy to a group, use AttachGroupPolicy. To create a new managed policy, use CreatePolicy. For information about policies, refer to Managed Policies and Inline Policies in the Using IAM guide.

For information about limits on the number of inline policies that you can embed in a group, see Limitations on IAM Entities in the Using IAM guide.

Because policy documents can be large, you should use POST rather than GET when calling PutGroupPolicy . For general information about using the Query API with IAM, go to Making Query Requests in the Using IAM guide.

#### Examples

- Basic formatting example

      $result = $client->putGroupPolicy(array(
          // GroupName is required
          'GroupName' => 'string',
          // PolicyName is required
          'PolicyName' => 'string',
          // PolicyDocument is required
          'PolicyDocument' => 'string',
      ));

#### Parameters

$args
  `array`
  $arg Associative array containing the following keys (required keys are bold):
  - GroupName => (string)

    The name of the group to associate the policy with.

  - PolicyName => (string)

    The name of the policy document.

  - PolicyDocument => (string)

    The policy document.

#### Returns

``Guzzle\Service\Resource\Model``
Returns a response Model object

# `public `Guzzle\Service\Resource\Model``
`putRolePolicy( array $args = array() )`

Executes the PutRolePolicy operation.

Adds (or updates) an inline policy document that is embedded in the specified role.

When you embed an inline policy in a role, the inline policy is used as the role's access (permissions) policy. The role's trust policy is created at the same time as the role, using CreateRole. You can update a role's trust policy using UpdateAssumeRolePolicy. For more information about roles, go to Using Roles to Delegate Permissions and Federate Identities.

A role can also have a managed policy attached to it. To attach a managed policy to a role, use AttachRolePolicy. To create a new managed policy, use CreatePolicy. For information about policies, refer to Managed Policies and Inline Policies in the Using IAM guide.

For information about limits on the number of inline policies that you can embed with a role, see Limitations on IAM Entities in the Using IAM guide.

Because policy documents can be large, you should use POST rather than GET when calling PutRolePolicy . For general information about using the Query API with IAM, go to Making Query Requests in the Using IAM guide.

#### Examples

- Basic formatting example

      $result = $client->putRolePolicy(array(
          // RoleName is required
          'RoleName' => 'string',
          // PolicyName is required
          'PolicyName' => 'string',
          // PolicyDocument is required
          'PolicyDocument' => 'string',
      ));

#### Parameters

$args
  `array`
  $arg Associative array containing the following keys (required keys are bold):
  - RoleName => (string)

    The name of the role to associate the policy with.

  - PolicyName => (string)

    The name of the policy document.

  - PolicyDocument => (string)

    The policy document.

#### Returns

``Guzzle\Service\Resource\Model``
Returns a response Model object

# `public `Guzzle\Service\Resource\Model``
`putUserPolicy( array $args = array() )`

Executes the PutUserPolicy operation.

Adds (or updates) an inline policy document that is embedded in the specified user.

A user can also have a managed policy attached to it. To attach a managed policy to a user, use AttachUserPolicy. To create a new managed policy, use CreatePolicy. For information about policies, refer to Managed Policies and Inline Policies in the Using IAM guide.

For information about limits on the number of inline policies that you can embed in a user, see Limitations on IAM Entities in the Using IAM guide.

Because policy documents can be large, you should use POST rather than GET when calling PutUserPolicy . For general information about using the Query API with IAM, go to Making Query Requests in the Using IAM guide.

#### Examples

- Basic formatting example

      $result = $client->putUserPolicy(array(
          // UserName is required
          'UserName' => 'string',
          // PolicyName is required
          'PolicyName' => 'string',
          // PolicyDocument is required
          'PolicyDocument' => 'string',
      ));

#### Parameters

$args
  `array`
  $arg Associative array containing the following keys (required keys are bold):
  - UserName => (string)

    The name of the user to associate the policy with.

  - PolicyName => (string)

    The name of the policy document.

  - PolicyDocument => (string)

    The policy document.

#### Returns

``Guzzle\Service\Resource\Model``
Returns a response Model object

# `public `Guzzle\Service\Resource\Model``
`removeClientIDFromOpenIDConnectProvider( array $args = array() )`

Executes the RemoveClientIDFromOpenIDConnectProvider operation.

Removes the specified client ID (also known as audience) from the list of client IDs registered for the specified IAM OpenID Connect provider.

This action is idempotent; it does not fail or return an error if you try to remove a client ID that was removed previously.

#### Examples

- Basic formatting example

      $result = $client->removeClientIDFromOpenIDConnectProvider(array(
          // OpenIDConnectProviderArn is required
          'OpenIDConnectProviderArn' => 'string',
          // ClientID is required
          'ClientID' => 'string',
      ));

#### Parameters

$args
  `array`
  $arg Associative array containing the following keys (required keys are bold):
  - OpenIDConnectProviderArn => (string)

    The Amazon Resource Name (ARN) of the IAM OpenID Connect (OIDC) provider to remove the client ID from. You can get a list of OIDC provider ARNs by using the ListOpenIDConnectProviders action.

  - ClientID => (string)

    The client ID (also known as audience) to remove from the IAM OpenID Connect provider. For more information about client IDs, see CreateOpenIDConnectProvider.

#### Returns

``Guzzle\Service\Resource\Model``
Returns a response Model object

# `public `Guzzle\Service\Resource\Model``
`removeRoleFromInstanceProfile( array $args = array() )`

Executes the RemoveRoleFromInstanceProfile operation.

Removes the specified role from the specified instance profile.

Make sure you do not have any Amazon EC2 instances running with the role you are about to remove from the instance profile. Removing a role from an instance profile that is associated with a running instance will break any applications running on the instance.

For more information about roles, go to Working with Roles. For more information about instance profiles, go to About Instance Profiles.

#### Examples

- Basic formatting example

      $result = $client->removeRoleFromInstanceProfile(array(
          // InstanceProfileName is required
          'InstanceProfileName' => 'string',
          // RoleName is required
          'RoleName' => 'string',
      ));

#### Parameters

$args
  `array`
  $arg Associative array containing the following keys (required keys are bold):
  - InstanceProfileName => (string)

    The name of the instance profile to update.

  - RoleName => (string)

    The name of the role to remove.

#### Returns

``Guzzle\Service\Resource\Model``
Returns a response Model object

# `public `Guzzle\Service\Resource\Model``
`removeUserFromGroup( array $args = array() )`

Executes the RemoveUserFromGroup operation.

Removes the specified user from the specified group.

#### Examples

- Basic formatting example

      $result = $client->removeUserFromGroup(array(
          // GroupName is required
          'GroupName' => 'string',
          // UserName is required
          'UserName' => 'string',
      ));

#### Parameters

$args
  `array`
  $arg Associative array containing the following keys (required keys are bold):
  - GroupName => (string)

    The name of the group to update.

  - UserName => (string)

    The name of the user to remove.

#### Returns

``Guzzle\Service\Resource\Model``
Returns a response Model object

# `public `Guzzle\Service\Resource\Model``
`resyncMFADevice( array $args = array() )`

Executes the ResyncMFADevice operation.

Synchronizes the specified MFA device with AWS servers.

For more information about creating and working with virtual MFA devices, go to Using a Virtual MFA Device in the Using IAM guide.

#### Examples

- Basic formatting example

      $result = $client->resyncMFADevice(array(
          // UserName is required
          'UserName' => 'string',
          // SerialNumber is required
          'SerialNumber' => 'string',
          // AuthenticationCode1 is required
          'AuthenticationCode1' => 'string',
          // AuthenticationCode2 is required
          'AuthenticationCode2' => 'string',
      ));

#### Parameters

$args
  `array`
  $arg Associative array containing the following keys (required keys are bold):
  - UserName => (string)

    The name of the user whose MFA device you want to resynchronize.

  - SerialNumber => (string)

    Serial number that uniquely identifies the MFA device.

  - AuthenticationCode1 => (string)

    An authentication code emitted by the device.

  - AuthenticationCode2 => (string)

    A subsequent authentication code emitted by the device.

#### Returns

``Guzzle\Service\Resource\Model``
Returns a response Model object

# `public `Guzzle\Service\Resource\Model``
`setDefaultPolicyVersion( array $args = array() )`

Executes the SetDefaultPolicyVersion operation.

Sets the specified version of the specified policy as the policy's default (operative) version.

This action affects all users, groups, and roles that the policy is attached to. To list the users, groups, and roles that the policy is attached to, use the ListEntitiesForPolicy API.

For information about managed policies, refer to Managed Policies and Inline Policies in the Using IAM guide.

#### Examples

- Basic formatting example

      $result = $client->setDefaultPolicyVersion(array(
          // PolicyArn is required
          'PolicyArn' => 'string',
          // VersionId is required
          'VersionId' => 'string',
      ));

#### Parameters

$args
  `array`
  $arg Associative array containing the following keys (required keys are bold):
  - PolicyArn => (string)

    The Amazon Resource Name (ARN). ARNs are unique identifiers for AWS resources.

    For more information about ARNs, go to Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

  - VersionId => (string)

    The version of the policy to set as the default (operative) version.

    For more information about managed policy versions, see Versioning for Managed Policies in the Using IAM guide.

#### Returns

``Guzzle\Service\Resource\Model``
Returns a response Model object

# `public `Guzzle\Service\Resource\Model``
`simulatePolicy( array $args = array() )`

Executes the SimulatePolicy operation.

#### Parameters

$args
  `array`
  $arg Associative array containing the following keys (required keys are bold):
  - GetPolicyFor => (string)
  - PolicyInputList => (array<string>)
  - ActionNames => (array<string>)
  - ResourceNames => (array<string>)
  - ContextEntries => (array<associative-array>)
    - (associative-array)
      - ContextKeyName => (string)
      - ContextKeyValues => (array<string>)
      - ContextKeyType => (string: string | stringList | numeric | numericList | boolean | booleanList | ip | ipList | binary | binaryList )

#### Returns

``Guzzle\Service\Resource\Model``
Returns a response Model object

- EvaluationResults => (array<associative-array>)
  - (associative-array)
    - EvalActionName => (string)
    - EvalResourceName => (string)
    - EvalDecision => (string)
    - MatchedStatements => (array<associative-array>)
      - (associative-array)
        - SourcePolicyId => (string)
        - SourcePolicyType => (string)
        - StartPosition => (associative-array)
          - Line => (int)
          - Column => (int)
        - EndPosition => (associative-array)
          - Line => (int)
          - Column => (int)
    - MissingContextValues => (array<associative-array>)
      - (associative-array)
        - ContextKeyName => (string)

# `public `Guzzle\Service\Resource\Model``
`updateAccessKey( array $args = array() )`

Executes the UpdateAccessKey operation.

Changes the status of the specified access key from Active to Inactive, or vice versa. This action can be used to disable a user's key as part of a key rotation work flow.

If the UserName field is not specified, the UserName is determined implicitly based on the AWS access key ID used to sign the request. Because this action works for access keys under the AWS account, you can use this action to manage root credentials even if the AWS account has no associated users.

For information about rotating keys, see Managing Keys and Certificates in the Using IAM guide.

#### Examples

- Basic formatting example

      $result = $client->updateAccessKey(array(
          'UserName' => 'string',
          // AccessKeyId is required
          'AccessKeyId' => 'string',
          // Status is required
          'Status' => 'string',
      ));

#### Parameters

$args
  `array`
  $arg Associative array containing the following keys (required keys are bold):
  - UserName => (string)

    The name of the user whose key you want to update.

  - AccessKeyId => (string)

    The access key ID of the secret access key you want to update.

  - Status => (string: Active | Inactive )

    The status you want to assign to the secret access key. Active means the key can be used for API calls to AWS, while Inactive means the key cannot be used.

#### Returns

``Guzzle\Service\Resource\Model``
Returns a response Model object

# `public `Guzzle\Service\Resource\Model``
`updateAccountPasswordPolicy( array $args = array() )`

Executes the UpdateAccountPasswordPolicy operation.

Updates the password policy settings for the AWS account.

This action does not support partial updates. No parameters are required, but if you do not specify a parameter, that parameter's value reverts to its default value. See the Request Parameters section for each parameter's default value.

For more information about using a password policy, see Managing an IAM Password Policy in the Using IAM guide.

#### Examples

- Basic formatting example

      $result = $client->updateAccountPasswordPolicy(array(
          'MinimumPasswordLength' => integer,
          'RequireSymbols' => true || false,
          'RequireNumbers' => true || false,
          'RequireUppercaseCharacters' => true || false,
          'RequireLowercaseCharacters' => true || false,
          'AllowUsersToChangePassword' => true || false,
          'MaxPasswordAge' => integer,
          'PasswordReusePrevention' => integer,
          'HardExpiry' => true || false,
      ));

#### Parameters

$args
  `array`
  $arg Associative array containing the following keys (required keys are bold):
  - MinimumPasswordLength => (int)

    The minimum number of characters allowed in an IAM user password.

    Default value: 6

  - RequireSymbols => (bool)

    Specifies whether IAM user passwords must contain at least one of the following non-alphanumeric characters:

    ! @ # $ % ^ &amp; * ( ) _ + - = [ ] { } | '

    Default value: false

  - RequireNumbers => (bool)

    Specifies whether IAM user passwords must contain at least one numeric character (0 to 9).

    Default value: false

  - RequireUppercaseCharacters => (bool)

    Specifies whether IAM user passwords must contain at least one uppercase character from the ISO basic Latin alphabet (A to Z).

    Default value: false

  - RequireLowercaseCharacters => (bool)

    Specifies whether IAM user passwords must contain at least one lowercase character from the ISO basic Latin alphabet (a to z).

    Default value: false

  - AllowUsersToChangePassword => (bool)

    Allows all IAM users in your account to use the AWS Management Console to change their own passwords. For more information, see Letting IAM Users Change Their Own Passwords in the Using IAM guide.

    Default value: false

  - MaxPasswordAge => (int)

    The number of days that an IAM user password is valid. The default value of 0 means IAM user passwords never expire.

    Default value: 0

  - PasswordReusePrevention => (int)

    Specifies the number of previous passwords that IAM users are prevented from reusing. The default value of 0 means IAM users are not prevented from reusing previous passwords.

    Default value: 0

  - HardExpiry => (bool)

    Prevents IAM users from setting a new password after their password has expired.

    Default value: false

#### Returns

``Guzzle\Service\Resource\Model``
Returns a response Model object

# `public `Guzzle\Service\Resource\Model``
`updateAssumeRolePolicy( array $args = array() )`

Executes the UpdateAssumeRolePolicy operation.

Updates the policy that grants an entity permission to assume a role. For more information about roles, go to Using Roles to Delegate Permissions and Federate Identities.

#### Examples

- Basic formatting example

      $result = $client->updateAssumeRolePolicy(array(
          // RoleName is required
          'RoleName' => 'string',
          // PolicyDocument is required
          'PolicyDocument' => 'string',
      ));

#### Parameters

$args
  `array`
  $arg Associative array containing the following keys (required keys are bold):
  - RoleName => (string)

    The name of the role to update.

  - PolicyDocument => (string)

    The policy that grants an entity permission to assume the role.

#### Returns

``Guzzle\Service\Resource\Model``
Returns a response Model object

# `public `Guzzle\Service\Resource\Model``
`updateGroup( array $args = array() )`

Executes the UpdateGroup operation.

Updates the name and/or the path of the specified group.

You should understand the implications of changing a group's path or name. For more information, see Renaming Users and Groups in the Using IAM guide. To change a group name the requester must have appropriate permissions on both the source object and the target object. For example, to change Managers to MGRs, the entity making the request must have permission on Managers and MGRs, or must have permission on all (*). For more information about permissions, see Permissions and Policies.

#### Examples

- Basic formatting example

      $result = $client->updateGroup(array(
          // GroupName is required
          'GroupName' => 'string',
          'NewPath' => 'string',
          'NewGroupName' => 'string',
      ));

#### Parameters

$args
  `array`
  $arg Associative array containing the following keys (required keys are bold):
  - GroupName => (string)

    Name of the group to update. If you're changing the name of the group, this is the original name.

  - NewPath => (string)

    New path for the group. Only include this if changing the group's path.

  - NewGroupName => (string)

    New name for the group. Only include this if changing the group's name.

#### Returns

``Guzzle\Service\Resource\Model``
Returns a response Model object

# `public `Guzzle\Service\Resource\Model``
`updateLoginProfile( array $args = array() )`

Executes the UpdateLoginProfile operation.

Changes the password for the specified user.

Users can change their own passwords by calling ChangePassword. For more information about modifying passwords, see Managing Passwords in the Using IAM guide.

#### Examples

- Basic formatting example

      $result = $client->updateLoginProfile(array(
          // UserName is required
          'UserName' => 'string',
          'Password' => 'string',
          'PasswordResetRequired' => true || false,
      ));

#### Parameters

$args
  `array`
  $arg Associative array containing the following keys (required keys are bold):
  - UserName => (string)

    The name of the user whose password you want to update.

  - Password => (string)

    The new password for the specified user.

  - PasswordResetRequired => (bool)

    Require the specified user to set a new password on next sign-in.

#### Returns

``Guzzle\Service\Resource\Model``
Returns a response Model object

# `public `Guzzle\Service\Resource\Model``
`updateOpenIDConnectProviderThumbprint( array $args = array() )`

Executes the UpdateOpenIDConnectProviderThumbprint operation.

Replaces the existing list of server certificate thumbprints with a new list.

The list that you pass with this action completely replaces the existing list of thumbprints. (The lists are not merged.)

Typically, you need to update a thumbprint only when the identity provider's certificate changes, which occurs rarely. However, if the provider's certificate does change, any attempt to assume an IAM role that specifies the OIDC provider as a principal will fail until the certificate thumbprint is updated.

Because trust for the OpenID Connect provider is ultimately derived from the provider's certificate and is validated by the thumbprint, it is a best practice to limit access to the UpdateOpenIDConnectProviderThumbprint action to highly-privileged users.

#### Examples

- Basic formatting example

      $result = $client->updateOpenIDConnectProviderThumbprint(array(
          // OpenIDConnectProviderArn is required
          'OpenIDConnectProviderArn' => 'string',
          // ThumbprintList is required
          'ThumbprintList' => array('string', ... ),
      ));

#### Parameters

$args
  `array`
  $arg Associative array containing the following keys (required keys are bold):
  - OpenIDConnectProviderArn => (string)

    The Amazon Resource Name (ARN) of the IAM OpenID Connect (OIDC) provider to update the thumbprint for. You can get a list of OIDC provider ARNs by using the ListOpenIDConnectProviders action.

  - ThumbprintList => (array<string>)

    A list of certificate thumbprints that are associated with the specified IAM OpenID Connect provider. For more information, see CreateOpenIDConnectProvider.

    (string)

    Contains a thumbprint for an identity provider's server certificate.

    The identity provider's server certificate thumbprint is the hex-encoded SHA-1 hash value of the self-signed X.509 certificate used by the domain where the OpenID Connect provider makes its keys available. It is always a 40-character string.

#### Returns

``Guzzle\Service\Resource\Model``
Returns a response Model object

# `public `Guzzle\Service\Resource\Model``
`updateSAMLProvider( array $args = array() )`

Executes the UpdateSAMLProvider operation.

Updates the metadata document for an existing SAML provider.

This operation requires Signature Version 4.

#### Examples

- Basic formatting example

      $result = $client->updateSAMLProvider(array(
          // SAMLMetadataDocument is required
          'SAMLMetadataDocument' => 'string',
          // SAMLProviderArn is required
          'SAMLProviderArn' => 'string',
      ));

#### Parameters

$args
  `array`
  $arg Associative array containing the following keys (required keys are bold):
  - SAMLMetadataDocument => (string)

    An XML document generated by an identity provider (IdP) that supports SAML 2.0. The document includes the issuer's name, expiration information, and keys that can be used to validate the SAML authentication response (assertions) that are received from the IdP. You must generate the metadata document using the identity management software that is used as your organization's IdP.

  - SAMLProviderArn => (string)

    The Amazon Resource Name (ARN) of the SAML provider to update.

#### Returns

``Guzzle\Service\Resource\Model``
Returns a response Model object

- SAMLProviderArn => (string)

  The Amazon Resource Name (ARN) of the SAML provider that was updated.

# `public `Guzzle\Service\Resource\Model``
`updateSSHPublicKey( array $args = array() )`

Executes the UpdateSSHPublicKey operation.

Sets the status of the specified SSH public key to active or inactive. SSH public keys that are inactive cannot be used for authentication. This action can be used to disable a user's SSH public key as part of a key rotation work flow.

The SSH public key affected by this action is used only for authenticating the associated IAM user to an AWS CodeCommit repository. For more information about using SSH keys to authenticate to an AWS CodeCommit repository, see Set up AWS CodeCommit for SSH Connections in the AWS CodeCommit User Guide.

#### Examples

- Basic formatting example

      $result = $client->updateSSHPublicKey(array(
          // UserName is required
          'UserName' => 'string',
          // SSHPublicKeyId is required
          'SSHPublicKeyId' => 'string',
          // Status is required
          'Status' => 'string',
      ));

#### Parameters

$args
  `array`
  $arg Associative array containing the following keys (required keys are bold):
  - UserName => (string)

    The name of the IAM user associated with the SSH public key.

  - SSHPublicKeyId => (string)

    The unique identifier for the SSH public key.

  - Status => (string: Active | Inactive )

    The status to assign to the SSH public key. Active means the key can be used for authentication with an AWS CodeCommit repository. Inactive means the key cannot be used.

#### Returns

``Guzzle\Service\Resource\Model``
Returns a response Model object

# `public `Guzzle\Service\Resource\Model``
`updateServerCertificate( array $args = array() )`

Executes the UpdateServerCertificate operation.

Updates the name and/or the path of the specified server certificate.

You should understand the implications of changing a server certificate's path or name. For more information, see Managing Server Certificates in the Using IAM guide. To change a server certificate name the requester must have appropriate permissions on both the source object and the target object. For example, to change the name from ProductionCert to ProdCert, the entity making the request must have permission on ProductionCert and ProdCert, or must have permission on all (*). For more information about permissions, see Permissions and Policies.

#### Examples

- Basic formatting example

      $result = $client->updateServerCertificate(array(
          // ServerCertificateName is required
          'ServerCertificateName' => 'string',
          'NewPath' => 'string',
          'NewServerCertificateName' => 'string',
      ));

#### Parameters

$args
  `array`
  $arg Associative array containing the following keys (required keys are bold):
  - ServerCertificateName => (string)

    The name of the server certificate that you want to update.

  - NewPath => (string)

    The new path for the server certificate. Include this only if you are updating the server certificate's path.

  - NewServerCertificateName => (string)

    The new name for the server certificate. Include this only if you are updating the server certificate's name. The name of the certificate cannot contain any spaces.

#### Returns

``Guzzle\Service\Resource\Model``
Returns a response Model object

# `public `Guzzle\Service\Resource\Model``
`updateSigningCertificate( array $args = array() )`

Executes the UpdateSigningCertificate operation.

Changes the status of the specified signing certificate from active to disabled, or vice versa. This action can be used to disable a user's signing certificate as part of a certificate rotation work flow.

If the UserName field is not specified, the UserName is determined implicitly based on the AWS access key ID used to sign the request. Because this action works for access keys under the AWS account, you can use this action to manage root credentials even if the AWS account has no associated users.

#### Examples

- Basic formatting example

      $result = $client->updateSigningCertificate(array(
          'UserName' => 'string',
          // CertificateId is required
          'CertificateId' => 'string',
          // Status is required
          'Status' => 'string',
      ));

#### Parameters

$args
  `array`
  $arg Associative array containing the following keys (required keys are bold):
  - UserName => (string)

    The name of the user the signing certificate belongs to.

  - CertificateId => (string)

    The ID of the signing certificate you want to update.

  - Status => (string: Active | Inactive )

    The status you want to assign to the certificate. Active means the certificate can be used for API calls to AWS, while Inactive means the certificate cannot be used.

#### Returns

``Guzzle\Service\Resource\Model``
Returns a response Model object

# `public `Guzzle\Service\Resource\Model``
`updateUser( array $args = array() )`

Executes the UpdateUser operation.

Updates the name and/or the path of the specified user.

You should understand the implications of changing a user's path or name. For more information, see Renaming Users and Groups in the Using IAM guide. To change a user name the requester must have appropriate permissions on both the source object and the target object. For example, to change Bob to Robert, the entity making the request must have permission on Bob and Robert, or must have permission on all (*). For more information about permissions, see Permissions and Policies.

#### Examples

- Basic formatting example

      $result = $client->updateUser(array(
          // UserName is required
          'UserName' => 'string',
          'NewPath' => 'string',
          'NewUserName' => 'string',
      ));

#### Parameters

$args
  `array`
  $arg Associative array containing the following keys (required keys are bold):
  - UserName => (string)

    Name of the user to update. If you're changing the name of the user, this is the original user name.

  - NewPath => (string)

    New path for the user. Include this parameter only if you're changing the user's path.

  - NewUserName => (string)

    New name for the user. Include this parameter only if you're changing the user's name.

#### Returns

``Guzzle\Service\Resource\Model``
Returns a response Model object

# `public `Guzzle\Service\Resource\Model``
`uploadSSHPublicKey( array $args = array() )`

Executes the UploadSSHPublicKey operation.

Uploads an SSH public key and associates it with the specified IAM user.

The SSH public key uploaded by this action can be used only for authenticating the associated IAM user to an AWS CodeCommit repository. For more information about using SSH keys to authenticate to an AWS CodeCommit repository, see Set up AWS CodeCommit for SSH Connections in the AWS CodeCommit User Guide.

#### Examples

- Basic formatting example

      $result = $client->uploadSSHPublicKey(array(
          // UserName is required
          'UserName' => 'string',
          // SSHPublicKeyBody is required
          'SSHPublicKeyBody' => 'string',
      ));

#### Parameters

$args
  `array`
  $arg Associative array containing the following keys (required keys are bold):
  - UserName => (string)

    The name of the IAM user to associate the SSH public key with.

  - SSHPublicKeyBody => (string)

    The SSH public key. The public key must be encoded in ssh-rsa format or PEM format.

#### Returns

``Guzzle\Service\Resource\Model``
Returns a response Model object

- SSHPublicKey => (associative-array)

  Contains information about the SSH public key.

  - UserName => (string)

    The name of the IAM user associated with the SSH public key.

  - SSHPublicKeyId => (string)

    The unique identifier for the SSH public key.

  - Fingerprint => (string)

    The MD5 message digest of the SSH public key.

  - SSHPublicKeyBody => (string)

    The SSH public key.

  - Status => (string)

    The status of the SSH public key. Active means the key can be used for authentication with an AWS CodeCommit repository. Inactive means the key cannot be used.

  - UploadDate => (string)

    The date and time, in ISO 8601 date-time format, when the SSH public key was uploaded.

# `public `Guzzle\Service\Resource\Model``
`uploadServerCertificate( array $args = array() )`

Executes the UploadServerCertificate operation.

Uploads a server certificate entity for the AWS account. The server certificate entity includes a public key certificate, a private key, and an optional certificate chain, which should all be PEM-encoded.

For information about the number of server certificates you can upload, see Limitations on IAM Entities in the Using IAM guide.

Because the body of the public key certificate, private key, and the certificate chain can be large, you should use POST rather than GET when calling UploadServerCertificate . For information about setting up signatures and authorization through the API, go to Signing AWS API Requests in the AWS General Reference. For general information about using the Query API with IAM, go to Making Query Requests in the Using IAM guide.

#### Examples

- Basic formatting example

      $result = $client->uploadServerCertificate(array(
          'Path' => 'string',
          // ServerCertificateName is required
          'ServerCertificateName' => 'string',
          // CertificateBody is required
          'CertificateBody' => 'string',
          // PrivateKey is required
          'PrivateKey' => 'string',
          'CertificateChain' => 'string',
      ));

#### Parameters

$args
  `array`
  $arg Associative array containing the following keys (required keys are bold):
  - Path => (string)

    The path for the server certificate. For more information about paths, see IAM Identifiers in the Using IAM guide.

    This parameter is optional. If it is not included, it defaults to a slash (/).

    If you are uploading a server certificate specifically for use with Amazon CloudFront distributions, you must specify a path using the --path option. The path must begin with /cloudfront and must include a trailing slash (for example, /cloudfront/test/).
  - ServerCertificateName => (string)

    The name for the server certificate. Do not include the path in this value. The name of the certificate cannot contain any spaces.

  - CertificateBody => (string)

    The contents of the public key certificate in PEM-encoded format.

  - PrivateKey => (string)

    The contents of the private key in PEM-encoded format.

  - CertificateChain => (string)

    The contents of the certificate chain. This is typically a concatenation of the PEM-encoded public key certificates of the chain.

#### Returns

``Guzzle\Service\Resource\Model``
Returns a response Model object

- ServerCertificateMetadata => (associative-array)

  The meta information of the uploaded server certificate without its certificate body, certificate chain, and private key.

  - Path => (string)

    The path to the server certificate. For more information about paths, see IAM Identifiers in the Using IAM guide.

  - ServerCertificateName => (string)

    The name that identifies the server certificate.

  - ServerCertificateId => (string)

    The stable and unique string identifying the server certificate. For more information about IDs, see IAM Identifiers in the Using IAM guide.

  - Arn => (string)

    The Amazon Resource Name (ARN) specifying the server certificate. For more information about ARNs and how to use them in policies, see IAM Identifiers in the Using IAM guide.

  - UploadDate => (string)

    The date when the server certificate was uploaded.

  - Expiration => (string)

    The date on which the certificate is set to expire.

# `public `Guzzle\Service\Resource\Model``
`uploadSigningCertificate( array $args = array() )`

Executes the UploadSigningCertificate operation.

Uploads an X.509 signing certificate and associates it with the specified user. Some AWS services use X.509 signing certificates to validate requests that are signed with a corresponding private key. When you upload the certificate, its default status is Active .

If the UserName field is not specified, the user name is determined implicitly based on the AWS access key ID used to sign the request. Because this action works for access keys under the AWS account, you can use this action to manage root credentials even if the AWS account has no associated users.

Because the body of a X.509 certificate can be large, you should use POST rather than GET when calling UploadSigningCertificate . For information about setting up signatures and authorization through the API, go to Signing AWS API Requests in the AWS General Reference. For general information about using the Query API with IAM, go to Making Query Requests in the Using IAMguide.

#### Examples

- Basic formatting example

      $result = $client->uploadSigningCertificate(array(
          'UserName' => 'string',
          // CertificateBody is required
          'CertificateBody' => 'string',
      ));

#### Parameters

$args
  `array`
  $arg Associative array containing the following keys (required keys are bold):
  - UserName => (string)

    The name of the user the signing certificate is for.

  - CertificateBody => (string)

    The contents of the signing certificate.

#### Returns

``Guzzle\Service\Resource\Model``
Returns a response Model object

- Certificate => (associative-array)

  Information about the certificate.

  - UserName => (string)

    The name of the user the signing certificate is associated with.

  - CertificateId => (string)

    The ID for the signing certificate.

  - CertificateBody => (string)

    The contents of the signing certificate.

  - Status => (string)

    The status of the signing certificate. Active means the key is valid for API calls, while Inactive means it is not.

  - UploadDate => (string)

    The date when the signing certificate was uploaded.

# `public `Guzzle\Service\Resource\ResourceIteratorInterface``
`getGetGroupIterator( array $args = array() )`

The input array uses the parameters of the GetGroup operation

#### Parameters

$args
  `array`
  $args

#### Returns

``Guzzle\Service\Resource\ResourceIteratorInterface``
# `public `Guzzle\Service\Resource\ResourceIteratorInterface``
`getListAccessKeysIterator( array $args = array() )`

The input array uses the parameters of the ListAccessKeys operation

#### Parameters

$args
  `array`
  $args

#### Returns

``Guzzle\Service\Resource\ResourceIteratorInterface``
# `public `Guzzle\Service\Resource\ResourceIteratorInterface``
`getListAccountAliasesIterator( array $args = array() )`

The input array uses the parameters of the ListAccountAliases operation

#### Parameters

$args
  `array`
  $args

#### Returns

``Guzzle\Service\Resource\ResourceIteratorInterface``
# `public `Guzzle\Service\Resource\ResourceIteratorInterface``
`getListAttachedGroupPoliciesIterator( array $args = array() )`

The input array uses the parameters of the ListAttachedGroupPolicies operation

#### Parameters

$args
  `array`
  $args

#### Returns

``Guzzle\Service\Resource\ResourceIteratorInterface``
# `public `Guzzle\Service\Resource\ResourceIteratorInterface``
`getListAttachedRolePoliciesIterator( array $args = array() )`

The input array uses the parameters of the ListAttachedRolePolicies operation

#### Parameters

$args
  `array`
  $args

#### Returns

``Guzzle\Service\Resource\ResourceIteratorInterface``
# `public `Guzzle\Service\Resource\ResourceIteratorInterface``
`getListAttachedUserPoliciesIterator( array $args = array() )`

The input array uses the parameters of the ListAttachedUserPolicies operation

#### Parameters

$args
  `array`
  $args

#### Returns

``Guzzle\Service\Resource\ResourceIteratorInterface``
# `public `Guzzle\Service\Resource\ResourceIteratorInterface``
`getListEntitiesForPolicyIterator( array $args = array() )`

The input array uses the parameters of the ListEntitiesForPolicy operation

#### Parameters

$args
  `array`
  $args

#### Returns

``Guzzle\Service\Resource\ResourceIteratorInterface``
# `public `Guzzle\Service\Resource\ResourceIteratorInterface``
`getListGroupPoliciesIterator( array $args = array() )`

The input array uses the parameters of the ListGroupPolicies operation

#### Parameters

$args
  `array`
  $args

#### Returns

``Guzzle\Service\Resource\ResourceIteratorInterface``
# `public `Guzzle\Service\Resource\ResourceIteratorInterface``
`getListGroupsIterator( array $args = array() )`

The input array uses the parameters of the ListGroups operation

#### Parameters

$args
  `array`
  $args

#### Returns

``Guzzle\Service\Resource\ResourceIteratorInterface``
# `public `Guzzle\Service\Resource\ResourceIteratorInterface``
`getListGroupsForUserIterator( array $args = array() )`

The input array uses the parameters of the ListGroupsForUser operation

#### Parameters

$args
  `array`
  $args

#### Returns

``Guzzle\Service\Resource\ResourceIteratorInterface``
# `public `Guzzle\Service\Resource\ResourceIteratorInterface``
`getListInstanceProfilesIterator( array $args = array() )`

The input array uses the parameters of the ListInstanceProfiles operation

#### Parameters

$args
  `array`
  $args

#### Returns

``Guzzle\Service\Resource\ResourceIteratorInterface``
# `public `Guzzle\Service\Resource\ResourceIteratorInterface``
`getListInstanceProfilesForRoleIterator( array $args = array() )`

The input array uses the parameters of the ListInstanceProfilesForRole operation

#### Parameters

$args
  `array`
  $args

#### Returns

``Guzzle\Service\Resource\ResourceIteratorInterface``
# `public `Guzzle\Service\Resource\ResourceIteratorInterface``
`getListMFADevicesIterator( array $args = array() )`

The input array uses the parameters of the ListMFADevices operation

#### Parameters

$args
  `array`
  $args

#### Returns

``Guzzle\Service\Resource\ResourceIteratorInterface``
# `public `Guzzle\Service\Resource\ResourceIteratorInterface``
`getListPoliciesIterator( array $args = array() )`

The input array uses the parameters of the ListPolicies operation

#### Parameters

$args
  `array`
  $args

#### Returns

``Guzzle\Service\Resource\ResourceIteratorInterface``
# `public `Guzzle\Service\Resource\ResourceIteratorInterface``
`getListRolePoliciesIterator( array $args = array() )`

The input array uses the parameters of the ListRolePolicies operation

#### Parameters

$args
  `array`
  $args

#### Returns

``Guzzle\Service\Resource\ResourceIteratorInterface``
# `public `Guzzle\Service\Resource\ResourceIteratorInterface``
`getListRolesIterator( array $args = array() )`

The input array uses the parameters of the ListRoles operation

#### Parameters

$args
  `array`
  $args

#### Returns

``Guzzle\Service\Resource\ResourceIteratorInterface``
# `public `Guzzle\Service\Resource\ResourceIteratorInterface``
`getListSAMLProvidersIterator( array $args = array() )`

The input array uses the parameters of the ListSAMLProviders operation

#### Parameters

$args
  `array`
  $args

#### Returns

``Guzzle\Service\Resource\ResourceIteratorInterface``
# `public `Guzzle\Service\Resource\ResourceIteratorInterface``
`getListServerCertificatesIterator( array $args = array() )`

The input array uses the parameters of the ListServerCertificates operation

#### Parameters

$args
  `array`
  $args

#### Returns

``Guzzle\Service\Resource\ResourceIteratorInterface``
# `public `Guzzle\Service\Resource\ResourceIteratorInterface``
`getListSigningCertificatesIterator( array $args = array() )`

The input array uses the parameters of the ListSigningCertificates operation

#### Parameters

$args
  `array`
  $args

#### Returns

``Guzzle\Service\Resource\ResourceIteratorInterface``
# `public `Guzzle\Service\Resource\ResourceIteratorInterface``
`getListUserPoliciesIterator( array $args = array() )`

The input array uses the parameters of the ListUserPolicies operation

#### Parameters

$args
  `array`
  $args

#### Returns

``Guzzle\Service\Resource\ResourceIteratorInterface``
# `public `Guzzle\Service\Resource\ResourceIteratorInterface``
`getListUsersIterator( array $args = array() )`

The input array uses the parameters of the ListUsers operation

#### Parameters

$args
  `array`
  $args

#### Returns

``Guzzle\Service\Resource\ResourceIteratorInterface``
# `public `Guzzle\Service\Resource\ResourceIteratorInterface``
`getListVirtualMFADevicesIterator( array $args = array() )`

The input array uses the parameters of the ListVirtualMFADevices operation

#### Parameters

$args
  `array`
  $args

#### Returns

``Guzzle\Service\Resource\ResourceIteratorInterface``
# `public `Guzzle\Service\Resource\ResourceIteratorInterface``
`getGetAccountAuthorizationDetailsIterator( array $args = array() )`

The input array uses the parameters of the GetAccountAuthorizationDetails operation

#### Parameters

$args
  `array`
  $args

#### Returns

``Guzzle\Service\Resource\ResourceIteratorInterface``

### Methods inherited from Aws\Common\Client\AbstractClient

`__call()`, `__construct()`, `createRequest()`, `getAllEvents()`, `getApiVersion()`, `getCredentials()`, `getRegion()`, `getRegions()`, `getSignature()`, `getWaiter()`, `getWaiterFactory()`, `send()`, `setCredentials()`, `setRegion()`, `setWaiterFactory()`, `waitUntil()`

### Methods inherited from Guzzle\Service\Client

`execute()`, `executeMultiple()`, `getCommand()`, `getCommandFactory()`, `getDescription()`, `getInflector()`, `getIterator()`, `getResourceIteratorFactory()`, `prepareCommand()`, `setCommandFactory()`, `setDescription()`, `setInflector()`, `setResourceIteratorFactory()`

### Methods inherited from Guzzle\Http\Client

`delete()`, `expandTemplate()`, `extractPharCacert()`, `get()`, `getBaseUrl()`, `getConfig()`, `getCurlMulti()`, `getDefaultOption()`, `getDefaultUserAgent()`, `getUriTemplate()`, `head()`, `initSsl()`, `options()`, `patch()`, `post()`, `prepareRequest()`, `put()`, `sendMultiple()`, `setBaseUrl()`, `setConfig()`, `setCurlMulti()`, `setDefaultOption()`, `setRequestFactory()`, `setSslVerification()`, `setUriTemplate()`, `setUserAgent()`

### Methods inherited from Guzzle\Common\AbstractHasDispatcher

`addSubscriber()`, `dispatch()`, `getEventDispatcher()`, `setEventDispatcher()`

### Magic methods summary

## Constants summary

`string` | `LATEST_API_VERSION` | `'2010-05-08'` | #

### Constants inherited from Guzzle\Service\Client

`COMMAND_PARAMS`

### Constants inherited from Guzzle\Http\Client

`CURL_OPTIONS`, `DEFAULT_SELECT_TIMEOUT`, `DISABLE_REDIRECTS`, `MAX_HANDLES`, `REQUEST_OPTIONS`, `SSL_CERT_AUTHORITY`

### Constants inherited from Guzzle\Http\ClientInterface

`CREATE_REQUEST`, `HTTP_DATE`

## Properties summary

### Properties inherited from Aws\Common\Client\AbstractClient

`$aggregator`, `$credentials`, `$signature`, `$waiterFactory`

### Properties inherited from Guzzle\Service\Client

`$commandFactory`, `$inflector`, `$resourceIteratorFactory`, `$serviceDescription`

### Properties inherited from Guzzle\Http\Client

`$defaultHeaders`, `$requestFactory`, `$userAgent`

### Properties inherited from Guzzle\Common\AbstractHasDispatcher

`$eventDispatcher`