Class | Fog::AWS::IAM::Real
In: | lib/fog/aws/requests/iam/create_account_alias.rb lib/fog/aws/requests/iam/get_server_certificate.rb lib/fog/aws/requests/iam/create_group.rb lib/fog/aws/requests/iam/list_signing_certificates.rb lib/fog/aws/requests/iam/put_user_policy.rb lib/fog/aws/requests/iam/delete_server_certificate.rb lib/fog/aws/requests/iam/update_server_certificate.rb lib/fog/aws/requests/iam/get_role_policy.rb lib/fog/aws/requests/iam/add_role_to_instance_profile.rb lib/fog/aws/requests/iam/list_instance_profiles_for_role.rb lib/fog/aws/requests/iam/add_user_to_group.rb lib/fog/aws/requests/iam/list_account_aliases.rb lib/fog/aws/requests/iam/create_access_key.rb lib/fog/aws/requests/iam/get_user.rb lib/fog/aws/requests/iam/list_role_policies.rb lib/fog/aws/requests/iam/delete_role_policy.rb lib/fog/aws/requests/iam/get_group_policy.rb lib/fog/aws/requests/iam/list_user_policies.rb lib/fog/aws/requests/iam/delete_access_key.rb lib/fog/aws/requests/iam/delete_group_policy.rb lib/fog/aws/requests/iam/remove_role_from_instance_profile.rb lib/fog/aws/requests/iam/list_instance_profiles.rb lib/fog/aws/requests/iam/list_access_keys.rb lib/fog/aws/requests/iam/update_login_profile.rb lib/fog/aws/requests/iam/create_user.rb lib/fog/aws/requests/iam/delete_login_profile.rb lib/fog/aws/requests/iam/delete_signing_certificate.rb lib/fog/aws/requests/iam/update_user.rb lib/fog/aws/requests/iam/delete_user.rb lib/fog/aws/requests/iam/list_users.rb lib/fog/aws/requests/iam/delete_instance_profile.rb lib/fog/aws/requests/iam/delete_group.rb lib/fog/aws/requests/iam/list_group_policies.rb lib/fog/aws/requests/iam/delete_account_alias.rb lib/fog/aws/requests/iam/list_groups_for_user.rb lib/fog/aws/requests/iam/list_server_certificates.rb lib/fog/aws/requests/iam/get_instance_profile.rb lib/fog/aws/requests/iam/update_signing_certificate.rb lib/fog/aws/requests/iam/remove_user_from_group.rb lib/fog/aws/requests/iam/create_instance_profile.rb lib/fog/aws/requests/iam/upload_server_certificate.rb lib/fog/aws/requests/iam/get_group.rb lib/fog/aws/requests/iam/put_group_policy.rb lib/fog/aws/requests/iam/get_login_profile.rb lib/fog/aws/requests/iam/get_role.rb lib/fog/aws/requests/iam/list_roles.rb lib/fog/aws/requests/iam/delete_user_policy.rb lib/fog/aws/requests/iam/create_role.rb lib/fog/aws/requests/iam/upload_signing_certificate.rb lib/fog/aws/requests/iam/get_user_policy.rb lib/fog/aws/requests/iam/update_access_key.rb lib/fog/aws/requests/iam/create_login_profile.rb lib/fog/aws/requests/iam/put_role_policy.rb lib/fog/aws/requests/iam/list_groups.rb lib/fog/aws/requests/iam/delete_role.rb lib/fog/aws/requests/iam/update_group.rb lib/fog/aws/iam.rb
Parent: | Object

### Methods

add_role_to_instance_profile add_user_to_group create_access_key create_account_alias create_group create_instance_profile create_login_profile create_role create_user delete_access_key delete_account_alias delete_group delete_group_policy delete_instance_profile delete_login_profile delete_role delete_role_policy delete_server_certificate delete_signing_certificate delete_user delete_user_policy get_group get_group_policy get_instance_profile get_login_profile get_role get_role_policy get_server_certificate get_user get_user_policy list_access_keys list_account_aliases list_group_policies list_groups list_groups_for_user list_instance_profiles list_instance_profiles_for_role list_role_policies list_roles list_server_certificates list_signing_certificates list_user_policies list_users new put_group_policy put_role_policy put_user_policy reload remove_role_from_instance_profile remove_user_from_group update_access_key update_group update_login_profile update_server_certificate update_signing_certificate update_user upload_server_certificate upload_signing_certificate

### Public Class methods

new(options={})

Initialize connection to IAM

#### Notes

options parameter must include values for :aws_access_key_id and :aws_secret_access_key in order to create a connection

#### Examples

      iam = IAM.new(
       :aws_access_key_id => your_aws_access_key_id,
       :aws_secret_access_key => your_aws_secret_access_key
      )

#### Parameters

- options<~Hash> - config arguments for connection. Defaults to {}.

#### Returns

- IAM object with connection to AWS.

### Public Instance methods

add_role_to_instance_profile(role_name, instance_profile_name)

Add a role to an instance profile

#### Parameters

- instance_profile_name<~String>: Name of the instance profile to update.
- role_name<~String>:Name of the role to add.

#### Returns

- response<~Excon::Response>:
  - body<~Hash>:
    - ‘RequestId’<~String> - Id of the request

#### See Also

docs.amazonwebservices.com/IAM/latest/APIReference/API_AddRoleToInstanceProfile.html

add_user_to_group(group_name, user_name)

Add a user to a group

#### Parameters

- group_name<~String>: name of the group
- user_name<~String>: name of user to add

#### Returns

- response<~Excon::Response>:
  - body<~Hash>:
    - ‘RequestId’<~String> - Id of the request

#### See Also

docs.amazonwebservices.com/IAM/latest/APIReference/API_AddUserToGroup.html

create_access_key(options = {})

Create a access keys for user (by default detects user from access credentials)

#### Parameters

- options<~Hash>:
  - ‘UserName’<~String> - name of the user to create (do not include path)

#### Returns

- response<~Excon::Response>:
  - body<~Hash>:
    - ‘AccessKey’<~Hash>:
      - ‘AccessKeyId’<~String> -
      - ‘UserName’<~String> -
      - ‘SecretAccessKey’<~String> -
      - ‘Status’<~String> -
    - ‘RequestId’<~String> - Id of the request

#### See Also

docs.amazonwebservices.com/IAM/latest/APIReference/API_CreateAccessKey.html

create_account_alias(account_alias)
create_group(group_name, path = '/')

Create a new group

#### Parameters

- group_name<~String>: name of the group to create (do not include path)
- path<~String>: optional path to group, defaults to ’/’

#### Returns

- response<~Excon::Response>:
  - body<~Hash>:
    - ‘Group’<~Hash>:
      - Arn<~String> -
      - GroupId<~String> -
      - GroupName<~String> -
      - Path<~String> -
    - ‘RequestId’<~String> - Id of the request

#### See Also

docs.amazonwebservices.com/IAM/latest/APIReference/API_CreateGroup.html

create_instance_profile(instance_profile_name, path='/', options={})

Create a new instance_profile

#### Parameters

- instance_profile_name<~String>: name of the instance profile to create (do not include path)
- path<~String>: optional path to group, defaults to ’/’

#### Returns

- response<~Excon::Response>:
  - body<~Hash>:
    - ‘InstanceProfile’<~Hash>:
      - Arn<~String> -
      - CreateDate<~Date>
      - InstanceProfileId<~String> -
      - InstanceProfileName<~String> -
      - Path<~String> -
      - Roles<~Array> - role<~Hash>:

              * 'Arn'<~String> -
              * 'AssumeRolePolicyDocument'<~String<
              * 'Path'<~String> -
              * 'RoleId'<~String> -
              * 'RoleName'<~String> -

    - ‘RequestId’<~String> - Id of the request

#### See Also

docs.amazonwebservices.com/IAM/latest/APIReference/API_CreateInstanceProfile.html

create_login_profile(user_name, password)

Creates a login profile for a user

docs.amazonwebservices.com/IAM/latest/APIReference/API_CreateLoginProfile.html

#### Parameters

- user_name<~String> - Name of user to create a login profile for
- password<~String> - The new password for this user

#### Returns

- response<~Excon::Response>:
  - body<~Hash>:
    - ‘LoginProfile’<~Hash>

           * UserName<~String>
           * CreateDate

    - ‘RequestId’<~String> - Id of the request

create_role(role_name, assume_role_policy_document, path = '/')

Creates a new role for your AWS account

#### Parameters

- RoleName<~String>: name of the role to create
- AssumeRolePolicyDocument<~String>: The policy that grants an entity permission to assume the role.
- Path<~String>: This parameter is optional. If it is not included, it defaults to a slash (/).

#### Returns

- response<~Excon::Response>:
  - body<~Hash>:
    - ‘Role’<~Hash>:
      - ‘Arn’<~String> -
      - ‘AssumeRolePolicyDocument’<~String<
      - ‘Path’<~String> -
      - ‘RoleId’<~String> -
      - ‘RoleName’<~String> -
    - ‘RequestId’<~String> - Id of the request

#### See Also

docs.amazonwebservices.com/IAM/latest/APIReference/API_CreateRole.html

create_user(user_name, path = '/')

Create a new user

#### Parameters

- user_name<~String>: name of the user to create (do not include path)
- path<~String>: optional path to group, defaults to ’/’

#### Returns

- response<~Excon::Response>:
  - body<~Hash>:
    - ‘User’<~Hash>:
      - ‘Arn’<~String> -
      - ‘Path’<~String> -
      - ‘UserId’<~String> -
      - ‘UserName’<~String> -
    - ‘RequestId’<~String> - Id of the request

#### See Also

docs.amazonwebservices.com/IAM/latest/APIReference/API_CreateUser.html

delete_access_key(access_key_id, options = {})

Delete an access key

#### Parameters

- access_key_id<~String> - Access key id to delete
- options<~Hash>:
  - ‘UserName’<~String> - name of the user to create (do not include path)

#### Returns

- response<~Excon::Response>:
  - body<~Hash>:
    - ‘RequestId’<~String> - Id of the request

#### See Also

docs.amazonwebservices.com/IAM/latest/APIReference/API_DeleteAccessKey.html

delete_account_alias(account_alias)
delete_group(group_name)

Delete a group

#### Parameters

- group_name<~String>: name of the group to delete

#### Returns

- response<~Excon::Response>:
  - body<~Hash>:
    - ‘RequestId’<~String> - Id of the request

#### See Also

docs.amazonwebservices.com/IAM/latest/APIReference/API_DeleteGroup.html

delete_group_policy(group_name, policy_name)

Remove a policy from a group

#### Parameters

- group_name<~String>: name of the group
- policy_name<~String>: name of policy document

#### Returns

- response<~Excon::Response>:
  - body<~Hash>:
    - ‘RequestId’<~String> - Id of the request

#### See Also

docs.amazonwebservices.com/IAM/latest/APIReference/API_DeleteGroupPolicy.html

delete_instance_profile(instance_profile_name)

Delete a instance_profile

#### Parameters

- instance_profile_name<~String>: name of the instance_profile to delete

#### Returns

- response<~Excon::Response>:
  - body<~Hash>:
    - ‘RequestId’<~String> - Id of the request

#### See Also

docs.amazonwebservices.com/IAM/latest/APIReference/API_DeleteInstanceProfile.html

delete_login_profile(user_name)

Deletes a user‘s login profile

docs.amazonwebservices.com/IAM/latest/APIReference/API_DeleteLoginProfile.html

#### Parameters

- user_name<~String> - Name of user whose login profile you want to delete

#### Returns

- response<~Excon::Response>:
  - body<~Hash>:
    - ‘RequestId’<~String> - Id of the request

delete_role(role_name)

Delete a role

#### Parameters

- role_name<~String>: name of the role to delete

#### Returns

- response<~Excon::Response>:
  - body<~Hash>:
    - ‘RequestId’<~String> - Id of the request

#### See Also

docs.amazonwebservices.com/IAM/latest/APIReference/API_DeleteRole.html

delete_role_policy(role_name, policy_name)

Remove a policy from a role

#### Parameters

- role_name<~String>: name of the role
- policy_name<~String>: name of policy document

#### Returns

- response<~Excon::Response>:
  - body<~Hash>:
    - ‘RequestId’<~String> - Id of the request

#### See Also

docs.amazonwebservices.com/IAM/latest/APIReference/API_DeleteRolePolicy.html

delete_server_certificate(server_certificate_name)

Deletes the specified server certificate.

#### Parameters

- server_certificate_name<~String>: The name of the server certificate you want to delete.

#### Returns

- response<~Excon::Response>:
  - body<~Hash>:
    - ‘RequestId’<~String> - Id of the request

#### See Also

docs.amazonwebservices.com/IAM/latest/APIReference/API_DeleteServerCertificate.html

delete_signing_certificate(certificate_id, options = {})

Upload signing certificate for user (by default detects user from access credentials)

#### Parameters

- options<~Hash>:
  - ‘UserName’<~String> - name of the user to upload certificate for (do not include path)

#### Returns

- response<~Excon::Response>:
  - body<~Hash>:
    - ‘RequestId’<~String> - Id of the request

#### See Also

docs.amazonwebservices.com/IAM/latest/APIReference/index.html?API_DeleteSigningCertificate.html

delete_user(user_name)

Delete a user

#### Parameters

- user_name<~String>: name of the user to delete

#### Returns

- response<~Excon::Response>:
  - body<~Hash>:
    - ‘RequestId’<~String> - Id of the request

#### See Also

docs.amazonwebservices.com/IAM/latest/APIReference/API_DeleteUser.html

delete_user_policy(user_name, policy_name)

Remove a policy from a user

#### Parameters

- user_name<~String>: name of the user
- policy_name<~String>: name of policy document

#### Returns

- response<~Excon::Response>:
  - body<~Hash>:
    - ‘RequestId’<~String> - Id of the request

#### See Also

docs.amazonwebservices.com/IAM/latest/APIReference/API_DeleteUserPolicy.html

get_group(group_name, options = {})

Get Group

#### Parameters

- ‘GroupName’<~String>: Name of the Group
- options<~Hash>:
  - ‘Marker’<~String>: Use this only when paginating results, and only in a subsequent request after you‘ve received a response where the results are truncated. Set it to the value of the Marker element in the response you just received.
  - ‘MaxItems’<~String>: Use this only when paginating results to indicate the maximum number of User names you want in the response. If there are additional User names beyond the maximum you specify, the IsTruncated response element is true.

#### Returns

- response<~Excon::Response>:
  - body<~Hash>:
    - ‘Group’<~Hash> - Group
      - ‘Path’<~String>
      - ‘GroupName’<~String>
      - ‘Arn’<~String>
    - ‘Users’<~Hash>? - List of users belonging to the group.
      - ‘User’<~Hash> - User
        - Arn<~String> -
        - UserId<~String> -
        - UserName<~String> -
        - Path<~String> -

#### See Also

docs.amazonwebservices.com/IAM/latest/APIReference/index.html?API_GetGroup.html

get_group_policy(policy_name, group_name)

Get Group Policy

#### Parameters

- ‘PolicyName’<~String>: Name of the policy to get
- ‘GroupName’<~String>: Name of the Group who the policy is associated with.

#### Returns

- response<~Excon::Response>:
  - body<~Hash>:

          * PolicyDocument<~String> The policy document.
          * PolicyName<~String> The name of the policy.
          * GroupName<~String> The Group the policy is associated with.

#### See Also

docs.amazonwebservices.com/IAM/latest/APIReference/API_GetGroupPolicy.html

get_instance_profile(instance_profile_name)

Retrieves information about an instance profile

docs.amazonwebservices.com/IAM/latest/APIReference/API_GetInstanceProfile.html

#### Parameters

- instance_profile_name<~String> - Name of instance_profile to retrieve the information for

#### Returns

- response<~Excon::Response>:
  - body<~Hash>:
    - ‘InstanceProfile’<~Hash>:
      - Arn<~String> -
      - CreateDate<~Date>
      - InstanceProfileId<~String> -
      - InstanceProfileName<~String> -
      - Path<~String> -
      - Roles<~Array> - role<~Hash>:

              * 'Arn'<~String> -
              * 'AssumeRolePolicyDocument'<~String<
              * 'Path'<~String> -
              * 'RoleId'<~String> -
              * 'RoleName'<~String> -

    - ‘RequestId’<~String> - Id of the request

get_login_profile(user_name)

Retrieves the login profile for a user

docs.amazonwebservices.com/IAM/latest/APIReference/API_CreateLoginProfile.html

#### Parameters

- user_name<~String> - Name of user to retrieve the login profile for
- password<~String> - The new password for this user

#### Returns

- response<~Excon::Response>:
  - body<~Hash>:
    - ‘LoginProfile’<~Hash>

           * UserName<~String>
           * CreateDate

    - ‘RequestId’<~String> - Id of the request

get_role(role_name)

#### Returns

- response<~Excon::Response>:
  - body<~Hash>:
    - Role<~Hash>:
      - ‘Arn’<~String> -
      - ‘AssumeRolePolicyDocument’<~String<
      - ‘Path’<~String> -
      - ‘RoleId’<~String> -
      - ‘RoleName’<~String> -
    - ‘RequestId’<~String> - Id of the request

#### See Also

docs.amazonwebservices.com/IAM/latest/APIReference/API_GetRole.html

get_role_policy(role_name, policy_name)

Get Role Policy

#### Parameters

- ‘PolicyName’<~String>: Name of the policy to get
- ‘RoleName’<~String>: Name of the Role who the policy is associated with.

#### Returns

- response<~Excon::Response>:
  - body<~Hash>:

          * PolicyDocument<~String> The policy document.
          * PolicyName<~String> The name of the policy.
          * RoleName<~String> The Role the policy is associated with.

#### See Also

docs.amazonwebservices.com/IAM/latest/APIReference/API_GetRolePolicy.html

get_server_certificate(name)

Gets the specified server certificate.

#### Parameters

- server_certificate_name<~String>: The name of the server certificate you want to get.

#### Returns

- response<~Excon::Response>:
  - body<~Hash>:
    - ‘RequestId’<~String> - Id of the request

#### See Also

docs.amazonwebservices.com/IAM/latest/APIReference/API_GetServerCertificate.html

get_user(username, options = {})

Get User

#### Parameters

- username<String>
- options<~Hash>:
  - ‘UserName’<~String>: Name of the User. Defaults to current user

#### Returns

- response<~Excon::Response>:
  - body<~Hash>:
    - ‘User’<~Hash> - User
      - Arn<~String> -
      - UserId<~String> -
      - UserName<~String> -
      - Path<~String> -

#### See Also

docs.amazonwebservices.com/IAM/latest/APIReference/API_Getuser.html

get_user_policy(policy_name, user_name)

Get User Policy

#### Parameters

- ‘PolicyName’<~String>: Name of the policy to get
- ‘UserName’<~String>: Name of the User who the policy is associated with.

#### Returns

- response<~Excon::Response>:
  - body<~Hash>:

          * PolicyDocument<~String> The policy document.
          * PolicyName<~String> The name of the policy.
          * UserName<~String> The User the policy is associated with.

#### See Also

docs.amazonwebservices.com/IAM/latest/APIReference/API_GetUserPolicy.html

list_access_keys(options = {})

List access_keys

#### Parameters

- options<~Hash>:
  - ‘Marker’<~String> - used to paginate subsequent requests
  - ‘MaxItems’<~Integer> - limit results to this number per page
  - ‘UserName’<~String> - optional: username to lookup access keys for, defaults to current user

#### Returns

- response<~Excon::Response>:
  - body<~Hash>:
    - ‘AccessKeys’<~Array> - Matching access keys
      - access_key<~Hash>:
        - AccessKeyId<~String> -
        - Status<~String> -
    - ‘IsTruncated<~Boolean> - Whether or not results were truncated
    - ‘Marker’<~String> - appears when IsTruncated is true as the next marker to use
    - ‘RequestId’<~String> - Id of the request

#### See Also

docs.amazonwebservices.com/IAM/latest/APIReference/API_ListAccessKeys.html

list_account_aliases(options = {})
list_group_policies(group_name, options = {})

List policies for a group

#### Parameters

- group_name<~String> - Name of group to list policies for
- options<~Hash>: Optional
  - ‘Marker’<~String>: used to paginate subsequent requests
  - ‘MaxItems’<~Integer>: limit results to this number per page
  - ‘PathPrefix’<~String>: prefix for filtering results

#### Returns

- response<~Excon::Response>:
  - body<~Hash>:
    - ‘PolicyNames’<~Array> - Matching policy names
    - ‘IsTruncated<~Boolean> - Whether or not results were truncated
    - ‘Marker’<~String> - appears when IsTruncated is true as the next marker to use
    - ‘RequestId’<~String> - Id of the request

#### See Also

docs.amazonwebservices.com/IAM/latest/APIReference/API_ListGroupPolicies.html

list_groups(options = {})

List groups

#### Parameters

- options<~Hash>:
  - ‘Marker’<~String>: used to paginate subsequent requests
  - ‘MaxItems’<~Integer>: limit results to this number per page
  - ‘PathPrefix’<~String>: prefix for filtering results

#### Returns

- response<~Excon::Response>:
  - body<~Hash>:
    - ‘Groups’<~Array> - Matching groups
      - group<~Hash>:
        - Arn<~String> -
        - GroupId<~String> -
        - GroupName<~String> -
        - Path<~String> -
    - ‘IsTruncated<~Boolean> - Whether or not results were truncated
    - ‘Marker’<~String> - appears when IsTruncated is true as the next marker to use
    - ‘RequestId’<~String> - Id of the request

#### See Also

docs.amazonwebservices.com/IAM/latest/APIReference/API_ListGroups.html

list_groups_for_user(user_name, options = {})

List groups_for_user

#### Parameters

- user_name<~String> - the username you want to look up group membership for
- options<~Hash>:
  - ‘Marker’<~String> - used to paginate subsequent requests
  - ‘MaxItems’<~Integer> - limit results to this number per page

#### Returns

- response<~Excon::Response>:
  - body<~Hash>:
    - ‘GroupsForUser’<~Array> - Groups for a user
      - group_for_user<~Hash>:
        - ‘Arn’ -
        - ‘GroupId’ -
        - ‘GroupName’ -
        - ‘Path’ -
    - ‘IsTruncated’<~Boolean> - Whether or not results were truncated
    - ‘Marker’<~String> - appears when IsTruncated is true as the next marker to use
    - ‘RequestId’<~String> - Id of the request

#### See Also

docs.amazonwebservices.com/IAM/latest/APIReference/API_ListGroupsForUser.html

list_instance_profiles(options={})

Lists instance profiles

#### Parameters

- options<~Hash>:
  - ‘Marker’<~String>: used to paginate subsequent requests
  - ‘MaxItems’<~Integer>: limit results to this number per page
  - ‘PathPrefix’<~String>: prefix for filtering results

#### Returns

- response<~Excon::Response>:
  - body<~Hash>:
    - ‘InstanceProfiles’<~Array>:
      - instance_profile <~Hash>:
        - Arn<~String> -
        - CreateDate<~Date>
        - InstanceProfileId<~String> -
        - InstanceProfileName<~String> -
        - Path<~String> -
        - Roles<~Array> - role<~Hash>:

                * 'Arn'<~String> -
                * 'AssumeRolePolicyDocument'<~String<
                * 'Path'<~String> -
                *  'RoleId'<~String> -
                * 'RoleName'<~String> -

    - ‘IsTruncated<~Boolean> - Whether or not results were truncated
    - ‘Marker’<~String> - appears when IsTruncated is true as the next marker to use
    - ‘RequestId’<~String> - Id of the request

#### See Also

docs.amazonwebservices.com/IAM/latest/APIReference/API_ListInstanceProfiles.html

list_instance_profiles_for_role(role_name,options={})

Lists the instance profiles that have the specified associated role

#### Parameters

- options<~Hash>:
  - ‘Marker’<~String>: used to paginate subsequent requests
  - ‘MaxItems’<~Integer>: limit results to this number per page
- ‘RoleName’<~String>: The name of the role to list instance profiles for.

#### Returns

- response<~Excon::Response>:
  - body<~Hash>:
    - ‘InstanceProfiles’<~Array>:
      - instance_profile <~Hash>:
        - Arn<~String> -
        - CreateDate<~Date>
        - InstanceProfileId<~String> -
        - InstanceProfileName<~String> -
        - Path<~String> -
        - Roles<~Array> - role<~Hash>:

                * 'Arn'<~String> -
                * 'AssumeRolePolicyDocument'<~String<
                * 'Path'<~String> -
                *  'RoleId'<~String> -
                * 'RoleName'<~String> -

    - ‘IsTruncated<~Boolean> - Whether or not results were truncated
    - ‘Marker’<~String> - appears when IsTruncated is true as the next marker to use
    - ‘RequestId’<~String> - Id of the request

#### See Also

docs.amazonwebservices.com/IAM/latest/APIReference/API_ListInstanceProfilesForRole.html

list_role_policies(role_name,options={})

Lists the names of policies associated with a role

#### Parameters

- role_name<~String>: the role to list policies for
- options<~Hash>:
  - ‘Marker’<~String>: used to paginate subsequent requests
  - ‘MaxItems’<~Integer>: limit results to this number per page

#### Returns

- response<~Excon::Response>:
  - body<~Hash>:
    - ‘PolicyNames’<~Array>:
      - policy_name <~String>
    - ‘IsTruncated<~Boolean> - Whether or not results were truncated
    - ‘Marker’<~String> - appears when IsTruncated is true as the next marker to use
    - ‘RequestId’<~String> - Id of the request

#### See Also

docs.amazonwebservices.com/IAM/latest/APIReference/API_ListRoleProfiles.html

list_roles(options={})

Lists roles

#### Parameters

- options<~Hash>:
  - ‘Marker’<~String>: used to paginate subsequent requests
  - ‘MaxItems’<~Integer>: limit results to this number per page
  - ‘PathPrefix’<~String>: prefix for filtering results

#### Returns

- response<~Excon::Response>:
  - body<~Hash>:
    - Roles<~Array> - role<~Hash>:

            * 'Arn'<~String> -
            * 'AssumeRolePolicyDocument'<~String<
            * 'Path'<~String> -
            * 'RoleId'<~String> -
            * 'RoleName'<~String> -

    - ‘IsTruncated<~Boolean> - Whether or not results were truncated
    - ‘Marker’<~String> - appears when IsTruncated is true as the next marker to use
    - ‘RequestId’<~String> - Id of the request

#### See Also

docs.amazonwebservices.com/IAM/latest/APIReference/API_ListRoles.html

list_server_certificates(options = {})

List server certificates

#### Parameters

- options<~Hash>:
  - ‘Marker’<~String> - The marker from the previous result (for pagination)
  - ‘MaxItems’<~String> - The maximum number of server certificates you want in the response
  - ‘PathPrefix’<~String> - The path prefix for filtering the results

#### Returns

- response<~Excon::Response>:
  - body<~Hash>:
    - ‘Certificates’<~Array> - Matching server certificates
      - server_certificate<~Hash>:
        - Arn<~String> -
        - Path<~String> -
        - ServerCertificateId<~String> -
        - ServerCertificateName<~String> -
        - UploadDate<~Time> -
      - ‘IsTruncated’<~Boolean> - Whether or not the results were truncated
      - ‘Marker’<~String> - appears when IsTruncated is true as the next marker to use

#### See Also

docs.amazonwebservices.com/IAM/latest/APIReference/index.html?API_ListServerCertificates.html

list_signing_certificates(options = {})

List signing certificates for user (by default detects user from access credentials)

#### Parameters

- options<~Hash>:
  - ‘UserName’<~String> - name of the user to list certificates for (do not include path)

#### Returns

- response<~Excon::Response>:
  - body<~Hash>:
    - ‘SigningCertificates’<~Array> - Matching signing certificates
      - signing_certificate<~Hash>:
        - CertificateId<~String> -
        - Status<~String> -
      - ‘IsTruncated’<~Boolean> - Whether or not the results were truncated
      - ‘Marker’<~String> - appears when IsTruncated is true as the next marker to use
      - ‘RequestId’<~String> - Id of the request

#### See Also

docs.amazonwebservices.com/IAM/latest/APIReference/index.html?API_ListSigningCertificates.html

list_user_policies(user_name, options = {})

List policies for a user

#### Parameters

- user_name<~String> - Name of user to list policies for
- options<~Hash>: Optional
  - ‘Marker’<~String>: used to paginate subsequent requests
  - ‘MaxItems’<~Integer>: limit results to this number per page
  - ‘PathPrefix’<~String>: prefix for filtering results

#### Returns

- response<~Excon::Response>:
  - body<~Hash>:
    - ‘PolicyNames’<~Array> - Matching policy names
    - ‘IsTruncated<~Boolean> - Whether or not results were truncated
    - ‘Marker’<~String> - appears when IsTruncated is true as the next marker to use
    - ‘RequestId’<~String> - Id of the request

#### See Also

docs.amazonwebservices.com/IAM/latest/APIReference/API_ListUserPolicies.html

list_users(options = {})

List users

#### Parameters

- options<~Hash>:
  - ‘Marker’<~String>: used to paginate subsequent requests
  - ‘MaxItems’<~Integer>: limit results to this number per page
  - ‘PathPrefix’<~String>: prefix for filtering results

#### Returns

- response<~Excon::Response>:
  - body<~Hash>:
    - ‘Users’<~Array> - Matching groups
      - user<~Hash>:
        - Arn<~String> -
        - Path<~String> -
        - UserId<~String> -
        - UserName<~String> -
    - ‘IsTruncated<~Boolean> - Whether or not results were truncated
    - ‘Marker’<~String> - appears when IsTruncated is true as the next marker to use
    - ‘RequestId’<~String> - Id of the request

#### See Also

docs.amazonwebservices.com/IAM/latest/APIReference/API_ListUsers.html

put_group_policy(group_name, policy_name, policy_document)

Add or update a policy for a group

#### Parameters

- group_name<~String>: name of the group
- policy_name<~String>: name of policy document
- policy_document<~Hash>: policy document, see: docs.amazonwebservices.com/IAM/latest/UserGuide/PoliciesOverview.html

#### Returns

- response<~Excon::Response>:
  - body<~Hash>:
    - ‘RequestId’<~String> - Id of the request

#### See Also

docs.amazonwebservices.com/IAM/latest/APIReference/API_PutGroupPolicy.html

put_role_policy(role_name, policy_name, policy_document)

Add or update a policy for a role

#### Parameters

- role_name<~String>: name of the role
- policy_name<~String>: name of policy document
- policy_document<~Hash>: policy document, see: docs.amazonwebservices.com/IAM/latest/UserGuide/PoliciesOverview.html

#### Returns

- response<~Excon::Response>:
  - body<~Hash>:
    - ‘RequestId’<~String> - Id of the request

#### See Also

docs.amazonwebservices.com/IAM/latest/APIReference/API_PutRolePolicy.html

put_user_policy(user_name, policy_name, policy_document)

Add or update a policy for a user

#### Parameters

- user_name<~String>: name of the user
- policy_name<~String>: name of policy document
- policy_document<~Hash>: policy document, see: docs.amazonwebservices.com/IAM/latest/UserGuide/PoliciesOverview.html

#### Returns

- response<~Excon::Response>:
  - body<~Hash>:
    - ‘RequestId’<~String> - Id of the request

#### See Also

docs.amazonwebservices.com/IAM/latest/APIReference/API_PutUserPolicy.html

reload()
remove_role_from_instance_profile(role_name, instance_profile_name)

removes a role from an 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.

#### Parameters

- instance_profile_name<~String>: Name of the instance profile to update.
- role_name<~String>:Name of the role to remove.

#### Returns

- response<~Excon::Response>:
  - body<~Hash>:
    - ‘RequestId’<~String> - Id of the request

#### See Also

docs.amazonwebservices.com/IAM/latest/APIReference/API_RemoveRoleFromInstanceProfile.html

remove_user_from_group(group_name, user_name)

Remove a user from a group

#### Parameters

- group_name<~String>: name of the group
- user_name<~String>: name of user to remove

#### Returns

- response<~Excon::Response>:
  - body<~Hash>:
    - ‘RequestId’<~String> - Id of the request

#### See Also

docs.amazonwebservices.com/IAM/latest/APIReference/API_RemoveUserFromGroup.html

update_access_key(access_key_id, status, options = {})

Update an access key for a user

#### Parameters

- access_key_id<~String> - Access key id to delete
- status<~String> - status of keys in [‘Active’, ‘Inactive’]
- options<~Hash>:
  - ‘UserName’<~String> - name of the user to create (do not include path)

#### Returns

- response<~Excon::Response>:
  - body<~Hash>:
    - ‘RequestId’<~String> - Id of the request

#### See Also

docs.amazonwebservices.com/IAM/latest/APIReference/API_UpdateAccessKey.html

update_group(group_name, options = {})

Update a Group

#### Parameters

- group_name<~String> - Required. Name of the Group to update. If you‘re changing the name of the Group, this is the original Group name.
- options<~Hash>:
  - new_path<~String> - New path for the Group. Include this parameter only if you‘re changing the Group‘s path.
  - new_group_name<~String> - New name for the Group. Include this parameter only if you‘re changing the Group‘s name.

#### Returns

- response<~Excon::Response>:
  - body<~Hash>:
    - ‘RequestId’<~String> - Id of the request
    - ‘Group’<~Hash> - Changed Group info
      - ‘Arn’<~String> -
      - ‘Path’<~String> -
      - ‘GroupId’<~String> -
      - ‘GroupName’<~String> -

#### See Also

docs.amazonwebservices.com/IAM/latest/APIReference/index.html?API_UpdateGroup.html

update_login_profile(user_name, password)

Updates a login profile for a user

docs.amazonwebservices.com/IAM/latest/APIReference/API_UpdateLoginProfile.html

#### Parameters

- user_name<~String> - Name of user to change the login profile for
- password<~String> - The new password for this user

#### Returns

- response<~Excon::Response>:
  - body<~Hash>:
    - ‘RequestId’<~String> - Id of the request

update_server_certificate(server_certificate_name, options = {})

Updates the name and/or the path of the specified server certificate.

#### Parameters

- server_certificate_name<~String> - The name of the server certificate that you want to update.
- options<~Hash>:
  - ‘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.

#### Returns

- response<~Excon::Response>:
  - body<~Hash>:
    - ‘RequestId’<~String> - Id of the request

#### See Also

docs.amazonwebservices.com/IAM/latest/APIReference/index.html?API_UpdateServerCertificate.html

update_signing_certificate(certificate_id, status, options = {})

Update a Signing Certificate

#### Parameters

- certificate_id<~String> - Required. ID of the Certificate to update.
- status<~String> - Required. Active/Inactive
- options<~Hash>:
  - user_name<~String> - Name of the user the signing certificate belongs to.

#### Returns

- response<~Excon::Response>:
  - body<~Hash>:
    - ‘RequestId’<~String> - Id of the request

#### See Also

docs.amazonwebservices.com/IAM/latest/APIReference/index.html?API_UpdateSigningCertificate.html

update_user(user_name, options = {})

Update a user

#### Parameters

- user_name<~String> - Required. Name of the User to update. If you‘re changing the name of the User, this is the original User name.
- options<~Hash>:
  - new_path<~String> - New path for the User. Include this parameter only if you‘re changing the User‘s path.
  - new_user_name<~String> - New name for the User. Include this parameter only if you‘re changing the User‘s name.

#### Returns

- response<~Excon::Response>:
  - body<~Hash>:
    - ‘RequestId’<~String> - Id of the request
    - ‘User’<~Hash> - Changed user info
      - ‘Arn’<~String> -
      - ‘Path’<~String> -
      - ‘UserId’<~String> -
      - ‘UserName’<~String> -

#### See Also

docs.amazonwebservices.com/IAM/latest/APIReference/index.html?API_UpdateUser.html

upload_server_certificate(certificate, private_key, name, options = {})

Uploads a server certificate entity for the AWS Account. Includes a public key certificate, a private key, and an optional certificate chain, which should all be PEM-encoded.

#### Parameters

- certificate<~Hash>: The contents of the public key certificate in PEM-encoded format.
- private_key<~Hash>: The contents of the private key in PEM-encoded format.
- name<~Hash>: The name for the server certificate. Do not include the path in this value.
- options<~Hash>:
  - ‘CertificateChain’<~String> - The contents of the certificate chain. Typically a concatenation of the PEM-encoded public key certificates of the chain.
  - ‘Path’<~String> - The path for the server certificate.

#### Returns

- response<~Excon::Response>:
  - body<~Hash>:
    - ‘Certificate’<~Hash>:
      - ‘Arn’<~String> -
      - ‘Path’<~String> -
      - ‘ServerCertificateId’<~String> -
      - ‘ServerCertificateName’<~String> -
      - ‘UploadDate’<~Time>
    - ‘RequestId’<~String> - Id of the request

#### See Also

docs.amazonwebservices.com/IAM/latest/APIReference/index.html?API_UploadServerCertificate.html

upload_signing_certificate(certificate, options = {})

Upload signing certificate for user (by default detects user from access credentials)

#### Parameters

- options<~Hash>:
  - ‘UserName’<~String> - name of the user to upload certificate for (do not include path)

#### Returns

- response<~Excon::Response>:
  - body<~Hash>:
    - ‘Certificate’<~Hash>:
      - ‘CertificateId’<~String> -
      - ‘UserName’<~String> -
      - ‘CertificateBody’<~String> -
      - ‘Status’<~String> -
    - ‘RequestId’<~String> - Id of the request

#### See Also

docs.amazonwebservices.com/IAM/latest/APIReference/index.html?API_UploadSigningCertificate.html

[Validate]