Class: AWS::IAM::Client

Inherits:
Core::Client show all
Extended by:
Core::Client::QueryXML
Defined in:
lib/aws/iam/client.rb

Overview

Client class for AWS Identity and Access Management (IAM).

Constant Summary collapse

API_VERSION =
'2010-05-08'
CACHEABLE_REQUESTS =
Set[
  :get_group,
  :get_group_policy,
  :get_instance_profile,
  :get_role_policy,
  :list_groups,
  :list_group_policies,
  :list_groups_for_user,
  :list_instance_profiles,
  :list_instance_profiles_for_role,
  :list_role_policies,
  :list_roles,
  :list_server_certificates,
  :list_virtual_mfa_devices,
]

Instance Attribute Summary

Attributes inherited from Core::Client

#config, #endpoint, #port, #service_ruby_name, #signer

Instance Method Summary collapse

Methods included from Core::Client::QueryXML

extended, option_parsers, xml_parsers

Methods inherited from Core::Client

#initialize, #new_stub_for, #operations, #stub_for, #with_config, #with_http_handler, #with_options

Methods included from Core::Naming

#service_name, #service_ruby_name

Constructor Details

This class inherits a constructor from AWS::Core::Client

Instance Method Details

#add_role_to_instance_profile(options = {}) ⇒ Core::Response

Calls the AddRoleToInstanceProfile API operation.

Options:

  • :instance_profile_name - required - (String) Name of the instance profile to update.

  • :role_name - required - (String) Name of the role to add.

Response Structure:

This method returns no response data.

Returns:



58
# File 'lib/aws/iam/client.rb', line 58

define_client_method :add_role_to_instance_profile, 'AddRoleToInstanceProfile'

#add_user_to_group(options = {}) ⇒ Core::Response

Calls the AddUserToGroup API operation.

Options:

  • :group_name - required - (String) Name of the group to update.

  • :user_name - required - (String) Name of the user to add.

Response Structure:

This method returns no response data.

Returns:



74
# File 'lib/aws/iam/client.rb', line 74

define_client_method :add_user_to_group, 'AddUserToGroup'

#change_password(options = {}) ⇒ Core::Response

Calls the ChangePassword API operation.

Options:

  • :old_password - required - (String)

  • :new_password - required - (String)

Response Structure:

This method returns no response data.

Returns:



90
# File 'lib/aws/iam/client.rb', line 90

define_client_method :change_password, 'ChangePassword'

#create_access_key(options = {}) ⇒ Core::Response

Calls the CreateAccessKey API operation.

Options:

  • :user_name - (String) The user name that the new key will belong to.

Response Structure:

  • :access_key - (Hash)

    • :user_name - (String)

    • :access_key_id - (String)

    • :status - (String)

    • :secret_access_key - (String)

    • :create_date - (Time)

Returns:



111
# File 'lib/aws/iam/client.rb', line 111

define_client_method :create_access_key, 'CreateAccessKey'

#create_account_alias(options = {}) ⇒ Core::Response

Calls the CreateAccountAlias API operation.

Options:

  • :account_alias - required - (String) Name of the account alias to create.

Response Structure:

This method returns no response data.

Returns:



127
# File 'lib/aws/iam/client.rb', line 127

define_client_method :create_account_alias, 'CreateAccountAlias'

#create_group(options = {}) ⇒ Core::Response

Calls the CreateGroup API operation.

Options:

  • :path - (String) The path to the group. For more information about paths, see Identifiers for IAM Entities in Using AWS Identity and Access Management. This parameter is optional. If it is not included, it defaults to a slash (/).

  • :group_name - required - (String) Name of the group to create. Do not include the path in this value.

Response Structure:

  • :group - (Hash)

    • :path - (String)

    • :group_name - (String)

    • :group_id - (String)

    • :arn - (String)

    • :create_date - (Time)

Returns:



152
# File 'lib/aws/iam/client.rb', line 152

define_client_method :create_group, 'CreateGroup'

#create_instance_profile(options = {}) ⇒ Core::Response

Calls the CreateInstanceProfile API operation.

Options:

  • :instance_profile_name - required - (String) Name of the instance profile to create.

  • :path - (String) The path to the instance profile. For more information about paths, see Identifiers for IAM Entities in Using AWS Identity and Access Management. This parameter is optional. If it is not included, it defaults to a slash (/).

Response Structure:

  • :instance_profile - (Hash)

    • :path - (String)

    • :instance_profile_name - (String)

    • :instance_profile_id - (String)

    • :arn - (String)

    • :create_date - (Time)

    • :roles - (Array<Hash>)

      • :path - (String)

      • :role_name - (String)

      • :role_id - (String)

      • :arn - (String)

      • :create_date - (Time)

      • :assume_role_policy_document - (String)

Returns:



184
# File 'lib/aws/iam/client.rb', line 184

define_client_method :create_instance_profile, 'CreateInstanceProfile'

#create_login_profile(options = {}) ⇒ Core::Response

Calls the CreateLoginProfile API operation.

Options:

  • :user_name - required - (String) Name of the user to create a password for.

  • :password - required - (String) The new password for the user name.

Response Structure:

  • :login_profile - (Hash)

    • :user_name - (String)

    • :create_date - (Time)

Returns:



204
# File 'lib/aws/iam/client.rb', line 204

define_client_method :create_login_profile, 'CreateLoginProfile'

#create_role(options = {}) ⇒ Core::Response

Calls the CreateRole API operation.

Options:

  • :path - (String) The path to the role. For more information about paths, see Identifiers for IAM Entities in Using AWS Identity and Access Management. This parameter is optional. If it is not included, it defaults to a slash (/).

  • :role_name - required - (String) Name of the role to create.

  • :assume_role_policy_document - required - (String) The policy govering by who and under what conditions the role can be assumed.

Response Structure:

  • :role - (Hash)

    • :path - (String)

    • :role_name - (String)

    • :role_id - (String)

    • :arn - (String)

    • :create_date - (Time)

    • :assume_role_policy_document - (String)

Returns:



231
# File 'lib/aws/iam/client.rb', line 231

define_client_method :create_role, 'CreateRole'

#create_user(options = {}) ⇒ Core::Response

Calls the CreateUser API operation.

Options:

  • :path - (String) The path for the user name. For more information about paths, see Identifiers for IAM Entities in Using AWS Identity and Access Management. This parameter is optional. If it is not included, it defaults to a slash (/).

  • :user_name - required - (String) Name of the user to create.

Response Structure:

  • :user - (Hash)

    • :path - (String)

    • :user_name - (String)

    • :user_id - (String)

    • :arn - (String)

    • :create_date - (Time)

Returns:



255
# File 'lib/aws/iam/client.rb', line 255

define_client_method :create_user, 'CreateUser'

#create_virtual_mfa_device(options = {}) ⇒ Core::Response

Calls the CreateVirtualMFADevice API operation.

Options:

  • :path - (String) The path for the virtual MFA device. For more information about paths, see Identifiers for IAM Entities in Using AWS Identity and Access Management. This parameter is optional. If it is not included, it defaults to a slash (/).

  • :virtual_mfa_device_name - required - (String) The name of the virtual MFA device. Use with path to uniquely identify a virtual MFA device.

Response Structure:

  • :virtual_mfa_device - (Hash)

    • :serial_number - (String)

    • :base_32_string_seed - (String)

    • :qr_code_png - (String)

    • :user - (Hash)

      • :path - (String)

      • :user_name - (String)

      • :user_id - (String)

      • :arn - (String)

      • :create_date - (Time)

    • :enable_date - (Time)

Returns:



286
# File 'lib/aws/iam/client.rb', line 286

define_client_method :create_virtual_mfa_device, 'CreateVirtualMFADevice'

#deactivate_mfa_device(options = {}) ⇒ Core::Response

Calls the DeactivateMFADevice API operation.

Options:

  • :user_name - required - (String) Name of the user whose MFA device you want to deactivate.

  • :serial_number - required - (String) The serial number that uniquely identifies the MFA device. For virtual MFA devices, the serial number is the device ARN.

Response Structure:

This method returns no response data.

Returns:



305
# File 'lib/aws/iam/client.rb', line 305

define_client_method :deactivate_mfa_device, 'DeactivateMFADevice'

#delete_access_key(options = {}) ⇒ Core::Response

Calls the DeleteAccessKey API operation.

Options:

  • :user_name - (String) Name of the user whose key you want to delete.

  • :access_key_id - required - (String) The Access Key ID for the Access Key ID and Secret Access Key you want to delete.

Response Structure:

This method returns no response data.

Returns:



323
# File 'lib/aws/iam/client.rb', line 323

define_client_method :delete_access_key, 'DeleteAccessKey'

#delete_account_alias(options = {}) ⇒ Core::Response

Calls the DeleteAccountAlias API operation.

Options:

  • :account_alias - required - (String) Name of the account alias to delete.

Response Structure:

This method returns no response data.

Returns:



339
# File 'lib/aws/iam/client.rb', line 339

define_client_method :delete_account_alias, 'DeleteAccountAlias'

#delete_account_password_policy(options = {}) ⇒ Core::Response

Calls the DeleteAccountPasswordPolicy API operation.

Options:

This method accepts no options.

Response Structure:

This method returns no response data.

Returns:



354
# File 'lib/aws/iam/client.rb', line 354

define_client_method :delete_account_password_policy, 'DeleteAccountPasswordPolicy'

#delete_group(options = {}) ⇒ Core::Response

Calls the DeleteGroup API operation.

Options:

  • :group_name - required - (String) Name of the group to delete.

Response Structure:

This method returns no response data.

Returns:



369
# File 'lib/aws/iam/client.rb', line 369

define_client_method :delete_group, 'DeleteGroup'

#delete_group_policy(options = {}) ⇒ Core::Response

Calls the DeleteGroupPolicy API operation.

Options:

  • :group_name - required - (String) Name of the group the policy is associated with.

  • :policy_name - required - (String) Name of the policy document to delete.

Response Structure:

This method returns no response data.

Returns:



387
# File 'lib/aws/iam/client.rb', line 387

define_client_method :delete_group_policy, 'DeleteGroupPolicy'

#delete_instance_profile(options = {}) ⇒ Core::Response

Calls the DeleteInstanceProfile API operation.

Options:

  • :instance_profile_name - required - (String) Name of the instance profile to delete.

Response Structure:

This method returns no response data.

Returns:



403
# File 'lib/aws/iam/client.rb', line 403

define_client_method :delete_instance_profile, 'DeleteInstanceProfile'

#delete_login_profile(options = {}) ⇒ Core::Response

Calls the DeleteLoginProfile API operation.

Options:

  • :user_name - required - (String) Name of the user whose password you want to delete.

Response Structure:

This method returns no response data.

Returns:



419
# File 'lib/aws/iam/client.rb', line 419

define_client_method :delete_login_profile, 'DeleteLoginProfile'

#delete_role(options = {}) ⇒ Core::Response

Calls the DeleteRole API operation.

Options:

  • :role_name - required - (String) Name of the role to delete.

Response Structure:

This method returns no response data.

Returns:



434
# File 'lib/aws/iam/client.rb', line 434

define_client_method :delete_role, 'DeleteRole'

#delete_role_policy(options = {}) ⇒ Core::Response

Calls the DeleteRolePolicy API operation.

Options:

  • :role_name - required - (String) Name of the role the policy is associated with.

  • :policy_name - required - (String) Name of the policy document to delete.

Response Structure:

This method returns no response data.

Returns:



452
# File 'lib/aws/iam/client.rb', line 452

define_client_method :delete_role_policy, 'DeleteRolePolicy'

#delete_server_certificate(options = {}) ⇒ Core::Response

Calls the DeleteServerCertificate API operation.

Options:

  • :server_certificate_name - required - (String) The name of the server certificate you want to delete.

Response Structure:

This method returns no response data.

Returns:



468
# File 'lib/aws/iam/client.rb', line 468

define_client_method :delete_server_certificate, 'DeleteServerCertificate'

#delete_signing_certificate(options = {}) ⇒ Core::Response

Calls the DeleteSigningCertificate API operation.

Options:

  • :user_name - (String) Name of the user the signing certificate belongs to.

  • :certificate_id - required - (String) ID of the signing certificate to delete.

Response Structure:

This method returns no response data.

Returns:



486
# File 'lib/aws/iam/client.rb', line 486

define_client_method :delete_signing_certificate, 'DeleteSigningCertificate'

#delete_user(options = {}) ⇒ Core::Response

Calls the DeleteUser API operation.

Options:

  • :user_name - required - (String) Name of the user to delete.

Response Structure:

This method returns no response data.

Returns:



501
# File 'lib/aws/iam/client.rb', line 501

define_client_method :delete_user, 'DeleteUser'

#delete_user_policy(options = {}) ⇒ Core::Response

Calls the DeleteUserPolicy API operation.

Options:

  • :user_name - required - (String) Name of the user the policy is associated with.

  • :policy_name - required - (String) Name of the policy document to delete.

Response Structure:

This method returns no response data.

Returns:



519
# File 'lib/aws/iam/client.rb', line 519

define_client_method :delete_user_policy, 'DeleteUserPolicy'

#delete_virtual_mfa_device(options = {}) ⇒ Core::Response

Calls the DeleteVirtualMFADevice API operation.

Options:

  • :serial_number - required - (String) The serial number that uniquely identifies the MFA device. For virtual MFA devices, the serial number is the same as the ARN.

Response Structure:

This method returns no response data.

Returns:



536
# File 'lib/aws/iam/client.rb', line 536

define_client_method :delete_virtual_mfa_device, 'DeleteVirtualMFADevice'

#enable_mfa_device(options = {}) ⇒ Core::Response

Calls the EnableMFADevice API operation.

Options:

  • :user_name - required - (String) Name of the user for whom you want to enable the MFA device.

  • :serial_number - required - (String) The serial number that uniquely identifies the MFA device. For virtual MFA devices, the serial number is the device ARN.

  • :authentication_code_1 - required - (String) An authentication code emitted by the device.

  • :authentication_code_2 - required - (String) A subsequent authentication code emitted by the device.

Response Structure:

This method returns no response data.

Returns:



559
# File 'lib/aws/iam/client.rb', line 559

define_client_method :enable_mfa_device, 'EnableMFADevice'

#get_account_password_policy(options = {}) ⇒ Core::Response

Calls the GetAccountPasswordPolicy API operation.

Options:

This method accepts no options.

Response Structure:

  • :password_policy - (Hash)

    • :minimum_password_length - (Integer)

    • :require_symbols - (Boolean)

    • :require_numbers - (Boolean)

    • :require_uppercase_characters - (Boolean)

    • :require_lowercase_characters - (Boolean)

    • :allow_users_to_change_password - (Boolean)

Returns:



580
# File 'lib/aws/iam/client.rb', line 580

define_client_method :get_account_password_policy, 'GetAccountPasswordPolicy'

#get_account_summary(options = {}) ⇒ Core::Response

Calls the GetAccountSummary API operation.

Options:

This method accepts no options.

Response Structure:

  • :summary_map - (Hash<String,Integer>)

Returns:



595
# File 'lib/aws/iam/client.rb', line 595

define_client_method :get_account_summary, 'GetAccountSummary'

#get_group(options = {}) ⇒ Core::Response

Calls the GetGroup API operation.

Options:

  • :group_name - required - (String) Name of the group.

  • :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.

  • :max_items - (Integer) 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 .

Response Structure:

  • :group - (Hash)

    • :path - (String)

    • :group_name - (String)

    • :group_id - (String)

    • :arn - (String)

    • :create_date - (Time)

  • :users - (Array<Hash>)

    • :path - (String)

    • :user_name - (String)

    • :user_id - (String)

    • :arn - (String)

    • :create_date - (Time)

  • :is_truncated - (Boolean)

  • :marker - (String)

Returns:



631
# File 'lib/aws/iam/client.rb', line 631

define_client_method :get_group, 'GetGroup'

#get_group_policy(options = {}) ⇒ Core::Response

Calls the GetGroupPolicy API operation.

Options:

  • :group_name - required - (String) Name of the group the policy is associated with.

  • :policy_name - required - (String) Name of the policy document to get.

Response Structure:

  • :group_name - (String)

  • :policy_name - (String)

  • :policy_document - (String)

Returns:



651
# File 'lib/aws/iam/client.rb', line 651

define_client_method :get_group_policy, 'GetGroupPolicy'

#get_instance_profile(options = {}) ⇒ Core::Response

Calls the GetInstanceProfile API operation.

Options:

  • :instance_profile_name - required - (String) Name of the instance profile to get information about.

Response Structure:

  • :instance_profile - (Hash)

    • :path - (String)

    • :instance_profile_name - (String)

    • :instance_profile_id - (String)

    • :arn - (String)

    • :create_date - (Time)

    • :roles - (Array<Hash>)

      • :path - (String)

      • :role_name - (String)

      • :role_id - (String)

      • :arn - (String)

      • :create_date - (Time)

      • :assume_role_policy_document - (String)

Returns:



679
# File 'lib/aws/iam/client.rb', line 679

define_client_method :get_instance_profile, 'GetInstanceProfile'

#get_login_profile(options = {}) ⇒ Core::Response

Calls the GetLoginProfile API operation.

Options:

  • :user_name - required - (String) Name of the user whose login profile you want to retrieve.

Response Structure:

  • :login_profile - (Hash)

    • :user_name - (String)

    • :create_date - (Time)

Returns:



697
# File 'lib/aws/iam/client.rb', line 697

define_client_method :get_login_profile, 'GetLoginProfile'

#get_role(options = {}) ⇒ Core::Response

Calls the GetRole API operation.

Options:

  • :role_name - required - (String) Name of the role to get information about.

Response Structure:

  • :role - (Hash)

    • :path - (String)

    • :role_name - (String)

    • :role_id - (String)

    • :arn - (String)

    • :create_date - (Time)

    • :assume_role_policy_document - (String)

Returns:



719
# File 'lib/aws/iam/client.rb', line 719

define_client_method :get_role, 'GetRole'

#get_role_policy(options = {}) ⇒ Core::Response

Calls the GetRolePolicy API operation.

Options:

  • :role_name - required - (String) Name of the role who the policy is associated with.

  • :policy_name - required - (String) Name of the policy document to get.

Response Structure:

  • :role_name - (String)

  • :policy_name - (String)

  • :policy_document - (String)

Returns:



739
# File 'lib/aws/iam/client.rb', line 739

define_client_method :get_role_policy, 'GetRolePolicy'

#get_server_certificate(options = {}) ⇒ Core::Response

Calls the GetServerCertificate API operation.

Options:

  • :server_certificate_name - required - (String) The name of the server certificate you want to retrieve information about.

Response Structure:

  • :server_certificate - (Hash)

    • :server_certificate_metadata - (Hash)

      • :path - (String)

      • :server_certificate_name - (String)

      • :server_certificate_id - (String)

      • :arn - (String)

      • :upload_date - (Time)

    • :certificate_body - (String)

    • :certificate_chain - (String)

Returns:



763
# File 'lib/aws/iam/client.rb', line 763

define_client_method :get_server_certificate, 'GetServerCertificate'

#get_user(options = {}) ⇒ Core::Response

Calls the GetUser API operation.

Options:

  • :user_name - (String) 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.

Response Structure:

  • :user - (Hash)

    • :path - (String)

    • :user_name - (String)

    • :user_id - (String)

    • :arn - (String)

    • :create_date - (Time)

Returns:



785
# File 'lib/aws/iam/client.rb', line 785

define_client_method :get_user, 'GetUser'

#get_user_policy(options = {}) ⇒ Core::Response

Calls the GetUserPolicy API operation.

Options:

  • :user_name - required - (String) Name of the user who the policy is associated with.

  • :policy_name - required - (String) Name of the policy document to get.

Response Structure:

  • :user_name - (String)

  • :policy_name - (String)

  • :policy_document - (String)

Returns:



805
# File 'lib/aws/iam/client.rb', line 805

define_client_method :get_user_policy, 'GetUserPolicy'

#list_access_keys(options = {}) ⇒ Core::Response

Calls the ListAccessKeys API operation.

Options:

  • :user_name - (String) Name of the user.

  • :marker - (String) Use this parameter 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.

  • :max_items - (Integer) Use this parameter only when paginating results to indicate the maximum number of keys you want in the response. If there are additional keys beyond the maximum you specify, the IsTruncated response element is true .

Response Structure:

  • :access_key_metadata - (Array<Hash>)

    • :user_name - (String)

    • :access_key_id - (String)

    • :status - (String)

    • :create_date - (Time)

  • :is_truncated - (Boolean)

  • :marker - (String)

Returns:



834
# File 'lib/aws/iam/client.rb', line 834

define_client_method :list_access_keys, 'ListAccessKeys'

#list_account_aliases(options = {}) ⇒ Core::Response

Calls the ListAccountAliases API operation.

Options:

  • :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.

  • :max_items - (Integer) Use this only when paginating results to indicate the maximum number of account aliases you want in the response. If there are additional account aliases beyond the maximum you specify, the IsTruncated response element is true .

Response Structure:

  • :account_aliases - (Array<String>)

  • :is_truncated - (Boolean)

  • :marker - (String)

Returns:



858
# File 'lib/aws/iam/client.rb', line 858

define_client_method :list_account_aliases, 'ListAccountAliases'

#list_group_policies(options = {}) ⇒ Core::Response

Calls the ListGroupPolicies API operation.

Options:

  • :group_name - required - (String) The name of the group to list policies for.

  • :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.

  • :max_items - (Integer) Use this only when paginating results to indicate the maximum number of policy names you want in the response. If there are additional policy names beyond the maximum you specify, the IsTruncated response element is true .

Response Structure:

  • :policy_names - (Array<String>)

  • :is_truncated - (Boolean)

  • :marker - (String)

Returns:



884
# File 'lib/aws/iam/client.rb', line 884

define_client_method :list_group_policies, 'ListGroupPolicies'

#list_groups(options = {}) ⇒ Core::Response

Calls the ListGroups API operation.

Options:

  • :path_prefix - (String) The path prefix for filtering the results. For example: /division_abc/subdivision_xyz/, which would get 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 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.

  • :max_items - (Integer) Use this only when paginating results to indicate the maximum number of groups you want in the response. If there are additional groups beyond the maximum you specify, the IsTruncated response element is true .

Response Structure:

  • :groups - (Array<Hash>)

    • :path - (String)

    • :group_name - (String)

    • :group_id - (String)

    • :arn - (String)

    • :create_date - (Time)

  • :is_truncated - (Boolean)

  • :marker - (String)

Returns:



918
# File 'lib/aws/iam/client.rb', line 918

define_client_method :list_groups, 'ListGroups'

#list_groups_for_user(options = {}) ⇒ Core::Response

Calls the ListGroupsForUser API operation.

Options:

  • :user_name - required - (String) The name of the user to list groups for.

  • :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.

  • :max_items - (Integer) Use this only when paginating results to indicate the maximum number of groups you want in the response. If there are additional groups beyond the maximum you specify, the IsTruncated response element is true .

Response Structure:

  • :groups - (Array<Hash>)

    • :path - (String)

    • :group_name - (String)

    • :group_id - (String)

    • :arn - (String)

    • :create_date - (Time)

  • :is_truncated - (Boolean)

  • :marker - (String)

Returns:



949
# File 'lib/aws/iam/client.rb', line 949

define_client_method :list_groups_for_user, 'ListGroupsForUser'

#list_instance_profiles(options = {}) ⇒ Core::Response

Calls the ListInstanceProfiles API operation.

Options:

  • :path_prefix - (String) The path prefix for filtering the results. For example: /application_abc/component_xyz/, which would get 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 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.

  • :max_items - (Integer) Use this parameter 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 .

Response Structure:

  • :instance_profiles - (Array<Hash>)

    • :path - (String)

    • :instance_profile_name - (String)

    • :instance_profile_id - (String)

    • :arn - (String)

    • :create_date - (Time)

    • :roles - (Array<Hash>)

      • :path - (String)

      • :role_name - (String)

      • :role_id - (String)

      • :arn - (String)

      • :create_date - (Time)

      • :assume_role_policy_document - (String)

  • :is_truncated - (Boolean)

  • :marker - (String)

Returns:



991
# File 'lib/aws/iam/client.rb', line 991

define_client_method :list_instance_profiles, 'ListInstanceProfiles'

#list_instance_profiles_for_role(options = {}) ⇒ Core::Response

Calls the ListInstanceProfilesForRole API operation.

Options:

  • :role_name - required - (String) The name of the role to list instance profiles for.

  • :marker - (String) Use this parameter 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.

  • :max_items - (Integer) Use this parameter 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 .

Response Structure:

  • :instance_profiles - (Array<Hash>)

    • :path - (String)

    • :instance_profile_name - (String)

    • :instance_profile_id - (String)

    • :arn - (String)

    • :create_date - (Time)

    • :roles - (Array<Hash>)

      • :path - (String)

      • :role_name - (String)

      • :role_id - (String)

      • :arn - (String)

      • :create_date - (Time)

      • :assume_role_policy_document - (String)

  • :is_truncated - (Boolean)

  • :marker - (String)

Returns:



1029
# File 'lib/aws/iam/client.rb', line 1029

define_client_method :list_instance_profiles_for_role, 'ListInstanceProfilesForRole'

#list_mfa_devices(options = {}) ⇒ Core::Response

Calls the ListMFADevices API operation.

Options:

  • :user_name - (String) Name of the user whose MFA devices you want to list.

  • :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.

  • :max_items - (Integer) Use this only when paginating results to indicate the maximum number of MFA devices you want in the response. If there are additional MFA devices beyond the maximum you specify, the IsTruncated response element is true .

Response Structure:

  • :mfa_devices - (Array<Hash>)

    • :user_name - (String)

    • :serial_number - (String)

    • :enable_date - (Time)

  • :is_truncated - (Boolean)

  • :marker - (String)

Returns:



1058
# File 'lib/aws/iam/client.rb', line 1058

define_client_method :list_mfa_devices, 'ListMFADevices'

#list_role_policies(options = {}) ⇒ Core::Response

Calls the ListRolePolicies API operation.

Options:

  • :role_name - required - (String) The name of the role to list policies for.

  • :marker - (String) Use this parameter 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.

  • :max_items - (Integer) Use this parameter 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 .

Response Structure:

  • :policy_names - (Array<String>)

  • :is_truncated - (Boolean)

  • :marker - (String)

Returns:



1084
# File 'lib/aws/iam/client.rb', line 1084

define_client_method :list_role_policies, 'ListRolePolicies'

#list_roles(options = {}) ⇒ Core::Response

Calls the ListRoles API operation.

Options:

  • :path_prefix - (String) The path prefix for filtering the results. For example: /application_abc/component_xyz/, which would get 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 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.

  • :max_items - (Integer) Use this parameter 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 .

Response Structure:

  • :roles - (Array<Hash>)

    • :path - (String)

    • :role_name - (String)

    • :role_id - (String)

    • :arn - (String)

    • :create_date - (Time)

    • :assume_role_policy_document - (String)

  • :is_truncated - (Boolean)

  • :marker - (String)

Returns:



1119
# File 'lib/aws/iam/client.rb', line 1119

define_client_method :list_roles, 'ListRoles'

#list_server_certificates(options = {}) ⇒ Core::Response

Calls the ListServerCertificates API operation.

Options:

  • :path_prefix - (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 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.

  • :max_items - (Integer) Use this only when paginating results to indicate the maximum number of server certificates you want in the response. If there are additional server certificates beyond the maximum you specify, the IsTruncated response element will be set to true .

Response Structure:

  • :server_certificate_metadata_list - (Array<Hash>)

    • :path - (String)

    • :server_certificate_name - (String)

    • :server_certificate_id - (String)

    • :arn - (String)

    • :upload_date - (Time)

  • :is_truncated - (Boolean)

  • :marker - (String)

Returns:



1154
# File 'lib/aws/iam/client.rb', line 1154

define_client_method :list_server_certificates, 'ListServerCertificates'

#list_signing_certificates(options = {}) ⇒ Core::Response

Calls the ListSigningCertificates API operation.

Options:

  • :user_name - (String) The name of the user.

  • :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.

  • :max_items - (Integer) Use this only when paginating results to indicate the maximum number of certificate IDs you want in the response. If there are additional certificate IDs beyond the maximum you specify, the IsTruncated response element is true .

Response Structure:

  • :certificates - (Array<Hash>)

    • :user_name - (String)

    • :certificate_id - (String)

    • :certificate_body - (String)

    • :status - (String)

    • :upload_date - (Time)

  • :is_truncated - (Boolean)

  • :marker - (String)

Returns:



1184
# File 'lib/aws/iam/client.rb', line 1184

define_client_method :list_signing_certificates, 'ListSigningCertificates'

#list_user_policies(options = {}) ⇒ Core::Response

Calls the ListUserPolicies API operation.

Options:

  • :user_name - required - (String) The name of the user to list policies for.

  • :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.

  • :max_items - (Integer) Use this only when paginating results to indicate the maximum number of policy names you want in the response. If there are additional policy names beyond the maximum you specify, the IsTruncated response element is true .

Response Structure:

  • :policy_names - (Array<String>)

  • :is_truncated - (Boolean)

  • :marker - (String)

Returns:



1210
# File 'lib/aws/iam/client.rb', line 1210

define_client_method :list_user_policies, 'ListUserPolicies'

#list_users(options = {}) ⇒ Core::Response

Calls the ListUsers API operation.

Options:

  • :path_prefix - (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 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.

  • :max_items - (Integer) Use this parameter 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 .

Response Structure:

  • :users - (Array<Hash>)

    • :path - (String)

    • :user_name - (String)

    • :user_id - (String)

    • :arn - (String)

    • :create_date - (Time)

  • :is_truncated - (Boolean)

  • :marker - (String)

Returns:



1244
# File 'lib/aws/iam/client.rb', line 1244

define_client_method :list_users, 'ListUsers'

#list_virtual_mfa_devices(options = {}) ⇒ Core::Response

Calls the ListVirtualMFADevices API operation.

Options:

  • :assignment_status - (String) 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 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.

  • :max_items - (Integer) Use this parameter 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 .

Response Structure:

  • :virtual_mfa_devices - (Array<Hash>)

    • :serial_number - (String)

    • :base_32_string_seed - (String)

    • :qr_code_png - (String)

    • :user - (Hash)

      • :path - (String)

      • :user_name - (String)

      • :user_id - (String)

      • :arn - (String)

      • :create_date - (Time)

    • :enable_date - (Time)

  • :is_truncated - (Boolean)

  • :marker - (String)

Returns:



1282
# File 'lib/aws/iam/client.rb', line 1282

define_client_method :list_virtual_mfa_devices, 'ListVirtualMFADevices'

#put_group_policy(options = {}) ⇒ Core::Response

Calls the PutGroupPolicy API operation.

Options:

  • :group_name - required - (String) Name of the group to associate the policy with.

  • :policy_name - required - (String) Name of the policy document.

  • :policy_document - required - (String) The policy document.

Response Structure:

This method returns no response data.

Returns:



1300
# File 'lib/aws/iam/client.rb', line 1300

define_client_method :put_group_policy, 'PutGroupPolicy'

#put_role_policy(options = {}) ⇒ Core::Response

Calls the PutRolePolicy API operation.

Options:

  • :role_name - required - (String) Name of the role to associate the policy with.

  • :policy_name - required - (String) Name of the policy document.

  • :policy_document - required - (String) The policy document.

Response Structure:

This method returns no response data.

Returns:



1318
# File 'lib/aws/iam/client.rb', line 1318

define_client_method :put_role_policy, 'PutRolePolicy'

#put_user_policy(options = {}) ⇒ Core::Response

Calls the PutUserPolicy API operation.

Options:

  • :user_name - required - (String) Name of the user to associate the policy with.

  • :policy_name - required - (String) Name of the policy document.

  • :policy_document - required - (String) The policy document.

Response Structure:

This method returns no response data.

Returns:



1336
# File 'lib/aws/iam/client.rb', line 1336

define_client_method :put_user_policy, 'PutUserPolicy'

#remove_role_from_instance_profile(options = {}) ⇒ Core::Response

Calls the RemoveRoleFromInstanceProfile API operation.

Options:

  • :instance_profile_name - required - (String) Name of the instance profile to update.

  • :role_name - required - (String) Name of the role to remove.

Response Structure:

This method returns no response data.

Returns:



1353
# File 'lib/aws/iam/client.rb', line 1353

define_client_method :remove_role_from_instance_profile, 'RemoveRoleFromInstanceProfile'

#remove_user_from_group(options = {}) ⇒ Core::Response

Calls the RemoveUserFromGroup API operation.

Options:

  • :group_name - required - (String) Name of the group to update.

  • :user_name - required - (String) Name of the user to remove.

Response Structure:

This method returns no response data.

Returns:



1369
# File 'lib/aws/iam/client.rb', line 1369

define_client_method :remove_user_from_group, 'RemoveUserFromGroup'

#resync_mfa_device(options = {}) ⇒ Core::Response

Calls the ResyncMFADevice API operation.

Options:

  • :user_name - required - (String) Name of the user whose MFA device you want to resynchronize.

  • :serial_number - required - (String) Serial number that uniquely identifies the MFA device.

  • :authentication_code_1 - required - (String) An authentication code emitted by the device.

  • :authentication_code_2 - required - (String) A subsequent authentication code emitted by the device.

Response Structure:

This method returns no response data.

Returns:



1391
# File 'lib/aws/iam/client.rb', line 1391

define_client_method :resync_mfa_device, 'ResyncMFADevice'

#update_access_key(options = {}) ⇒ Core::Response

Calls the UpdateAccessKey API operation.

Options:

  • :user_name - (String) Name of the user whose key you want to update.

  • :access_key_id - required - (String) The Access Key ID of the Secret Access Key you want to update.

  • :status - required - (String) 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.

Response Structure:

This method returns no response data.

Returns:



1412
# File 'lib/aws/iam/client.rb', line 1412

define_client_method :update_access_key, 'UpdateAccessKey'

#update_account_password_policy(options = {}) ⇒ Core::Response

Calls the UpdateAccountPasswordPolicy API operation.

Options:

  • :minimum_password_length - (Integer)

  • :require_symbols - (Boolean)

  • :require_numbers - (Boolean)

  • :require_uppercase_characters - (Boolean)

  • :require_lowercase_characters - (Boolean)

  • :allow_users_to_change_password - (Boolean)

Response Structure:

This method returns no response data.

Returns:



1432
# File 'lib/aws/iam/client.rb', line 1432

define_client_method :update_account_password_policy, 'UpdateAccountPasswordPolicy'

#update_assume_role_policy(options = {}) ⇒ Core::Response

Calls the UpdateAssumeRolePolicy API operation.

Options:

  • :role_name - required - (String) Name of the role to update.

  • :policy_document - required - (String) The policy govering by who and under what conditions the role can be assumed.

Response Structure:

This method returns no response data.

Returns:



1449
# File 'lib/aws/iam/client.rb', line 1449

define_client_method :update_assume_role_policy, 'UpdateAssumeRolePolicy'

#update_group(options = {}) ⇒ Core::Response

Calls the UpdateGroup API operation.

Options:

  • :group_name - required - (String) Name of the group to update. If you’re changing the name of the group, this is the original name.

  • :new_path - (String) New path for the group. Only include this if changing the group’s path.

  • :new_group_name - (String) New name for the group. Only include this if changing the group’s name.

Response Structure:

This method returns no response data.

Returns:



1469
# File 'lib/aws/iam/client.rb', line 1469

define_client_method :update_group, 'UpdateGroup'

#update_login_profile(options = {}) ⇒ Core::Response

Calls the UpdateLoginProfile API operation.

Options:

  • :user_name - required - (String) Name of the user whose password you want to update.

  • :password - (String) The new password for the user name.

Response Structure:

This method returns no response data.

Returns:



1486
# File 'lib/aws/iam/client.rb', line 1486

define_client_method :update_login_profile, 'UpdateLoginProfile'

#update_server_certificate(options = {}) ⇒ Core::Response

Calls the UpdateServerCertificate API operation.

Options:

  • :server_certificate_name - required - (String) The name of the server certificate that you want to update.

  • :new_path - (String) The new path for the server certificate. Include this only if you are updating the server certificate’s path.

  • :new_server_certificate_name - (String) The new name for the server certificate. Include this only if you are updating the server certificate’s name.

Response Structure:

This method returns no response data.

Returns:



1507
# File 'lib/aws/iam/client.rb', line 1507

define_client_method :update_server_certificate, 'UpdateServerCertificate'

#update_signing_certificate(options = {}) ⇒ Core::Response

Calls the UpdateSigningCertificate API operation.

Options:

  • :user_name - (String) Name of the user the signing certificate belongs to.

  • :certificate_id - required - (String) The ID of the signing certificate you want to update.

  • :status - required - (String) 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.

Response Structure:

This method returns no response data.

Returns:



1528
# File 'lib/aws/iam/client.rb', line 1528

define_client_method :update_signing_certificate, 'UpdateSigningCertificate'

#update_user(options = {}) ⇒ Core::Response

Calls the UpdateUser API operation.

Options:

  • :user_name - required - (String) Name of the user to update. If you’re changing the name of the user, this is the original user name.

  • :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.

Response Structure:

This method returns no response data.

Returns:



1548
# File 'lib/aws/iam/client.rb', line 1548

define_client_method :update_user, 'UpdateUser'

#upload_server_certificate(options = {}) ⇒ Core::Response

Calls the UploadServerCertificate API operation.

Options:

  • :path - (String) The path for the server certificate. For more information about paths, see Identifiers for IAM Entities in Using AWS Identity and Access Management. This parameter is optional. If it is not included, it defaults to a slash (/).

  • :server_certificate_name - required - (String) The name for the server certificate. Do not include the path in this value.

  • :certificate_body - required - (String) The contents of the public key certificate in PEM-encoded format.

  • :private_key - required - (String) The contents of the private key in PEM-encoded format.

  • :certificate_chain - (String) The contents of the certificate chain. This is typically a concatenation of the PEM-encoded public key certificates of the chain.

Response Structure:

  • :server_certificate_metadata - (Hash)

    • :path - (String)

    • :server_certificate_name - (String)

    • :server_certificate_id - (String)

    • :arn - (String)

    • :upload_date - (Time)

Returns:



1580
# File 'lib/aws/iam/client.rb', line 1580

define_client_method :upload_server_certificate, 'UploadServerCertificate'

#upload_signing_certificate(options = {}) ⇒ Core::Response

Calls the UploadSigningCertificate API operation.

Options:

  • :user_name - (String) Name of the user the signing certificate is for.

  • :certificate_body - required - (String) The contents of the signing certificate.

Response Structure:

  • :certificate - (Hash)

    • :user_name - (String)

    • :certificate_id - (String)

    • :certificate_body - (String)

    • :status - (String)

    • :upload_date - (Time)

Returns:



1603
# File 'lib/aws/iam/client.rb', line 1603

define_client_method :upload_signing_certificate, 'UploadSigningCertificate'