salt.modules.boto_iam#
Connection module for Amazon IAM
New in version 2014.7.0.
- configuration:
This module accepts explicit iam credentials but can also utilize IAM roles assigned to the instance through Instance Profiles. Dynamic credentials are then automatically obtained from AWS API and no further configuration is necessary. More Information available at:
http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html
If IAM roles are not used you need to specify them either in a pillar or in the minion's config file:
iam.keyid: GKTADJGHEIQSXMKKRBJ08H iam.key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs iam.region: us-east-1
It's also possible to specify key, keyid and region via a profile, either as a passed in dict, or as a string to pull from pillars or minion config:
myprofile: keyid: GKTADJGHEIQSXMKKRBJ08H key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs region: us-east-1
- depends:
boto
- salt.modules.boto_iam.add_user_to_group(user_name, group_name, region=None, key=None, keyid=None, profile=None)#
Add user to group.
New in version 2015.8.0.
CLI Example:
salt myminion boto_iam.add_user_to_group myuser mygroup
- salt.modules.boto_iam.associate_profile_to_role(profile_name, role_name, region=None, key=None, keyid=None, profile=None)#
Associate an instance profile with an IAM role.
CLI Example:
salt myminion boto_iam.associate_profile_to_role myirole myiprofile
- salt.modules.boto_iam.attach_group_policy(policy_name, group_name, region=None, key=None, keyid=None, profile=None)#
Attach a managed policy to a group.
CLI Example:
salt myminion boto_iam.attach_group_policy mypolicy mygroup
- salt.modules.boto_iam.attach_role_policy(policy_name, role_name, region=None, key=None, keyid=None, profile=None)#
Attach a managed policy to a role.
CLI Example:
salt myminion boto_iam.attach_role_policy mypolicy myrole
- salt.modules.boto_iam.attach_user_policy(policy_name, user_name, region=None, key=None, keyid=None, profile=None)#
Attach a managed policy to a user.
CLI Example:
salt myminion boto_iam.attach_user_policy mypolicy myuser
- salt.modules.boto_iam.build_policy(region=None, key=None, keyid=None, profile=None)#
Build a default assume role policy.
New in version 2015.8.0.
CLI Example:
salt myminion boto_iam.build_policy
- salt.modules.boto_iam.create_access_key(user_name, region=None, key=None, keyid=None, profile=None)#
Create access key id for a user.
New in version 2015.8.0.
CLI Example:
salt myminion boto_iam.create_access_key myuser
- salt.modules.boto_iam.create_group(group_name, path=None, region=None, key=None, keyid=None, profile=None)#
Create a group.
New in version 2015.8.0.
CLI Example:
salt myminion boto_iam.create_group group
- salt.modules.boto_iam.create_instance_profile(name, region=None, key=None, keyid=None, profile=None)#
Create an instance profile.
CLI Example:
salt myminion boto_iam.create_instance_profile myiprofile
- salt.modules.boto_iam.create_login_profile(user_name, password, region=None, key=None, keyid=None, profile=None)#
Creates a login profile for the specified user, give the user the ability to access AWS services and the AWS Management Console.
New in version 2015.8.0.
CLI Example:
salt myminion boto_iam.create_login_profile user_name password
- salt.modules.boto_iam.create_policy(policy_name, policy_document, path=None, description=None, region=None, key=None, keyid=None, profile=None)#
Create a policy.
CLI Example:
salt myminios boto_iam.create_policy mypolicy '{"Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": ["s3:Get*", "s3:List*"], "Resource": ["arn:aws:s3:::my-bucket/shared/*"]},]}'
- salt.modules.boto_iam.create_policy_version(policy_name, policy_document, set_as_default=None, region=None, key=None, keyid=None, profile=None)#
Create a policy version.
CLI Example:
salt myminios boto_iam.create_policy_version mypolicy '{"Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": ["s3:Get*", "s3:List*"], "Resource": ["arn:aws:s3:::my-bucket/shared/*"]},]}'
- salt.modules.boto_iam.create_role(name, policy_document=None, path=None, region=None, key=None, keyid=None, profile=None)#
Create an instance role.
CLI Example:
salt myminion boto_iam.create_role myrole
- salt.modules.boto_iam.create_role_policy(role_name, policy_name, policy, region=None, key=None, keyid=None, profile=None)#
Create or modify a role policy.
CLI Example:
salt myminion boto_iam.create_role_policy myirole mypolicy '{"MyPolicy": "Statement": [{"Action": ["sqs:*"], "Effect": "Allow", "Resource": ["arn:aws:sqs:*:*:*"], "Sid": "MyPolicySqs1"}]}'
- salt.modules.boto_iam.create_saml_provider(name, saml_metadata_document, region=None, key=None, keyid=None, profile=None)#
Create SAML provider
CLI Example:
salt myminion boto_iam.create_saml_provider my_saml_provider_name saml_metadata_document
- salt.modules.boto_iam.create_user(user_name, path=None, region=None, key=None, keyid=None, profile=None)#
Create a user.
New in version 2015.8.0.
CLI Example:
salt myminion boto_iam.create_user myuser
- salt.modules.boto_iam.deactivate_mfa_device(user_name, serial, region=None, key=None, keyid=None, profile=None)#
Deactivates the specified MFA device and removes it from association with the user.
New in version 2016.3.0.
CLI Example:
salt myminion boto_iam.deactivate_mfa_device user_name serial_num
- salt.modules.boto_iam.delete_access_key(access_key_id, user_name=None, region=None, key=None, keyid=None, profile=None)#
Delete access key id from a user.
New in version 2015.8.0.
CLI Example:
salt myminion boto_iam.delete_access_key myuser
- salt.modules.boto_iam.delete_group(group_name, region=None, key=None, keyid=None, profile=None)#
Delete a group policy.
CLI Example:
salt myminion boto_iam.delete_group mygroup
- salt.modules.boto_iam.delete_group_policy(group_name, policy_name, region=None, key=None, keyid=None, profile=None)#
Delete a group policy.
CLI Example:
salt myminion boto_iam.delete_group_policy mygroup mypolicy
- salt.modules.boto_iam.delete_instance_profile(name, region=None, key=None, keyid=None, profile=None)#
Delete an instance profile.
CLI Example:
salt myminion boto_iam.delete_instance_profile myiprofile
- salt.modules.boto_iam.delete_login_profile(user_name, region=None, key=None, keyid=None, profile=None)#
Deletes a login profile for the specified user.
New in version 2016.3.0.
CLI Example:
salt myminion boto_iam.delete_login_profile user_name
- salt.modules.boto_iam.delete_policy(policy_name, region=None, key=None, keyid=None, profile=None)#
Delete a policy.
CLI Example:
salt myminion boto_iam.delete_policy mypolicy
- salt.modules.boto_iam.delete_policy_version(policy_name, version_id, region=None, key=None, keyid=None, profile=None)#
Delete a policy version.
CLI Example:
salt myminion boto_iam.delete_policy_version mypolicy v1
- salt.modules.boto_iam.delete_role(name, region=None, key=None, keyid=None, profile=None)#
Delete an IAM role.
CLI Example:
salt myminion boto_iam.delete_role myirole
- salt.modules.boto_iam.delete_role_policy(role_name, policy_name, region=None, key=None, keyid=None, profile=None)#
Delete a role policy.
CLI Example:
salt myminion boto_iam.delete_role_policy myirole mypolicy
- salt.modules.boto_iam.delete_saml_provider(name, region=None, key=None, keyid=None, profile=None)#
Delete SAML provider
CLI Example:
salt myminion boto_iam.delete_saml_provider my_saml_provider_name
- salt.modules.boto_iam.delete_server_cert(cert_name, region=None, key=None, keyid=None, profile=None)#
Deletes a certificate from Amazon.
New in version 2015.8.0.
CLI Example:
salt myminion boto_iam.delete_server_cert mycert_name
- salt.modules.boto_iam.delete_user(user_name, region=None, key=None, keyid=None, profile=None)#
Delete a user.
New in version 2015.8.0.
CLI Example:
salt myminion boto_iam.delete_user myuser
- salt.modules.boto_iam.delete_user_policy(user_name, policy_name, region=None, key=None, keyid=None, profile=None)#
Delete a user policy.
CLI Example:
salt myminion boto_iam.delete_user_policy myuser mypolicy
- salt.modules.boto_iam.delete_virtual_mfa_device(serial, region=None, key=None, keyid=None, profile=None)#
Deletes the specified virtual MFA device.
CLI Example:
salt myminion boto_iam.delete_virtual_mfa_device serial_num
- salt.modules.boto_iam.describe_role(name, region=None, key=None, keyid=None, profile=None)#
Get information for a role.
CLI Example:
salt myminion boto_iam.describe_role myirole
- salt.modules.boto_iam.detach_group_policy(policy_name, group_name, region=None, key=None, keyid=None, profile=None)#
Detach a managed policy to a group.
CLI Example:
salt myminion boto_iam.detach_group_policy mypolicy mygroup
- salt.modules.boto_iam.detach_role_policy(policy_name, role_name, region=None, key=None, keyid=None, profile=None)#
Detach a managed policy to a role.
CLI Example:
salt myminion boto_iam.detach_role_policy mypolicy myrole
- salt.modules.boto_iam.detach_user_policy(policy_name, user_name, region=None, key=None, keyid=None, profile=None)#
Detach a managed policy to a user.
CLI Example:
salt myminion boto_iam.detach_user_policy mypolicy myuser
- salt.modules.boto_iam.disassociate_profile_from_role(profile_name, role_name, region=None, key=None, keyid=None, profile=None)#
Disassociate an instance profile from an IAM role.
CLI Example:
salt myminion boto_iam.disassociate_profile_from_role myirole myiprofile
- salt.modules.boto_iam.export_roles(path_prefix='/', region=None, key=None, keyid=None, profile=None)#
Get all IAM role details. Produces results that can be used to create an sls file.
CLI Example:
salt-call boto_iam.export_roles --out=txt | sed "s/local: //" > iam_roles.sls
- salt.modules.boto_iam.export_users(path_prefix='/', region=None, key=None, keyid=None, profile=None)#
Get all IAM user details. Produces results that can be used to create an sls file.
New in version 2016.3.0.
CLI Example:
salt-call boto_iam.export_users --out=txt | sed "s/local: //" > iam_users.sls
- salt.modules.boto_iam.get_account_id(region=None, key=None, keyid=None, profile=None)#
Get a the AWS account id associated with the used credentials.
CLI Example:
salt myminion boto_iam.get_account_id
- salt.modules.boto_iam.get_account_policy(region=None, key=None, keyid=None, profile=None)#
Get account policy for the AWS account.
New in version 2015.8.0.
CLI Example:
salt myminion boto_iam.get_account_policy
- salt.modules.boto_iam.get_all_access_keys(user_name, marker=None, max_items=None, region=None, key=None, keyid=None, profile=None)#
Get all access keys from a user.
New in version 2015.8.0.
CLI Example:
salt myminion boto_iam.get_all_access_keys myuser
- salt.modules.boto_iam.get_all_group_policies(group_name, region=None, key=None, keyid=None, profile=None)#
Get a list of policy names from a group.
CLI Example:
salt myminion boto_iam.get_all_group_policies mygroup
- salt.modules.boto_iam.get_all_groups(path_prefix='/', region=None, key=None, keyid=None, profile=None)#
Get and return all IAM group details, starting at the optional path.
New in version 2016.3.0.
CLI Example:
salt-call boto_iam.get_all_groups
- salt.modules.boto_iam.get_all_instance_profiles(path_prefix='/', region=None, key=None, keyid=None, profile=None)#
Get and return all IAM instance profiles, starting at the optional path.
New in version 2016.11.0.
CLI Example:
salt-call boto_iam.get_all_instance_profiles
- salt.modules.boto_iam.get_all_mfa_devices(user_name, region=None, key=None, keyid=None, profile=None)#
Get all MFA devices associated with an IAM user.
New in version 2016.3.0.
CLI Example:
salt myminion boto_iam.get_all_mfa_devices user_name
- salt.modules.boto_iam.get_all_roles(path_prefix=None, region=None, key=None, keyid=None, profile=None)#
Get and return all IAM role details, starting at the optional path.
New in version 2016.3.0.
CLI Example:
salt-call boto_iam.get_all_roles
- salt.modules.boto_iam.get_all_user_policies(user_name, marker=None, max_items=None, region=None, key=None, keyid=None, profile=None)#
Get all user policies.
New in version 2015.8.0.
CLI Example:
salt myminion boto_iam.get_all_user_policies myuser
- salt.modules.boto_iam.get_all_users(path_prefix='/', region=None, key=None, keyid=None, profile=None)#
Get and return all IAM user details, starting at the optional path.
New in version 2016.3.0.
CLI Example:
salt-call boto_iam.get_all_users
- salt.modules.boto_iam.get_group(group_name, region=None, key=None, keyid=None, profile=None)#
Get group information.
New in version 2015.8.0.
CLI Example:
salt myminion boto_iam.get_group mygroup
- salt.modules.boto_iam.get_group_members(group_name, region=None, key=None, keyid=None, profile=None)#
Get group information.
New in version 2016.3.0.
CLI Example:
salt myminion boto_iam.get_group mygroup
- salt.modules.boto_iam.get_group_policy(group_name, policy_name, region=None, key=None, keyid=None, profile=None)#
Retrieves the specified policy document for the specified group.
New in version 2015.8.0.
CLI Example:
salt myminion boto_iam.get_group_policy mygroup policyname
- salt.modules.boto_iam.get_policy(policy_name, region=None, key=None, keyid=None, profile=None)#
Check to see if policy exists.
CLI Example:
salt myminion boto_iam.instance_profile_exists myiprofile
- salt.modules.boto_iam.get_policy_version(policy_name, version_id, region=None, key=None, keyid=None, profile=None)#
Check to see if policy exists.
CLI Example:
salt myminion boto_iam.instance_profile_exists myiprofile
- salt.modules.boto_iam.get_role_policy(role_name, policy_name, region=None, key=None, keyid=None, profile=None)#
Get a role policy.
CLI Example:
salt myminion boto_iam.get_role_policy myirole mypolicy
- salt.modules.boto_iam.get_saml_provider(name, region=None, key=None, keyid=None, profile=None)#
Get SAML provider document.
CLI Example:
salt myminion boto_iam.get_saml_provider arn
- salt.modules.boto_iam.get_saml_provider_arn(name, region=None, key=None, keyid=None, profile=None)#
Get SAML provider
CLI Example:
salt myminion boto_iam.get_saml_provider_arn my_saml_provider_name
- salt.modules.boto_iam.get_server_certificate(cert_name, region=None, key=None, keyid=None, profile=None)#
Returns certificate information from Amazon
New in version 2015.8.0.
CLI Example:
salt myminion boto_iam.get_server_certificate mycert_name
- salt.modules.boto_iam.get_user(user_name=None, region=None, key=None, keyid=None, profile=None)#
Get user information.
New in version 2015.8.0.
CLI Example:
salt myminion boto_iam.get_user myuser
- salt.modules.boto_iam.get_user_policy(user_name, policy_name, region=None, key=None, keyid=None, profile=None)#
Retrieves the specified policy document for the specified user.
New in version 2015.8.0.
CLI Example:
salt myminion boto_iam.get_user_policy myuser mypolicyname
- salt.modules.boto_iam.instance_profile_exists(name, region=None, key=None, keyid=None, profile=None)#
Check to see if an instance profile exists.
CLI Example:
salt myminion boto_iam.instance_profile_exists myiprofile
- salt.modules.boto_iam.list_attached_group_policies(group_name, path_prefix=None, entity_filter=None, region=None, key=None, keyid=None, profile=None)#
List entities attached to the given group.
CLI Example:
salt myminion boto_iam.list_entities_for_policy mypolicy
- salt.modules.boto_iam.list_attached_role_policies(role_name, path_prefix=None, entity_filter=None, region=None, key=None, keyid=None, profile=None)#
List entities attached to the given role.
CLI Example:
salt myminion boto_iam.list_entities_for_policy mypolicy
- salt.modules.boto_iam.list_attached_user_policies(user_name, path_prefix=None, entity_filter=None, region=None, key=None, keyid=None, profile=None)#
List entities attached to the given user.
CLI Example:
salt myminion boto_iam.list_entities_for_policy mypolicy
- salt.modules.boto_iam.list_entities_for_policy(policy_name, path_prefix=None, entity_filter=None, region=None, key=None, keyid=None, profile=None)#
List entities that a policy is attached to.
CLI Example:
salt myminion boto_iam.list_entities_for_policy mypolicy
- salt.modules.boto_iam.list_instance_profiles(path_prefix='/', region=None, key=None, keyid=None, profile=None)#
List all IAM instance profiles, starting at the optional path.
New in version 2016.11.0.
CLI Example:
salt-call boto_iam.list_instance_profiles
- salt.modules.boto_iam.list_policies(region=None, key=None, keyid=None, profile=None)#
List policies.
CLI Example:
salt myminion boto_iam.list_policies
- salt.modules.boto_iam.list_policy_versions(policy_name, region=None, key=None, keyid=None, profile=None)#
List versions of a policy.
CLI Example:
salt myminion boto_iam.list_policy_versions mypolicy
- salt.modules.boto_iam.list_role_policies(role_name, region=None, key=None, keyid=None, profile=None)#
Get a list of policy names from a role.
CLI Example:
salt myminion boto_iam.list_role_policies myirole
- salt.modules.boto_iam.list_saml_providers(region=None, key=None, keyid=None, profile=None)#
List SAML providers.
CLI Example:
salt myminion boto_iam.list_saml_providers
- salt.modules.boto_iam.policy_exists(policy_name, region=None, key=None, keyid=None, profile=None)#
Check to see if policy exists.
CLI Example:
salt myminion boto_iam.instance_profile_exists myiprofile
- salt.modules.boto_iam.policy_version_exists(policy_name, version_id, region=None, key=None, keyid=None, profile=None)#
Check to see if policy exists.
CLI Example:
salt myminion boto_iam.instance_profile_exists myiprofile
- salt.modules.boto_iam.profile_associated(role_name, profile_name, region, key, keyid, profile)#
Check to see if an instance profile is associated with an IAM role.
CLI Example:
salt myminion boto_iam.profile_associated myirole myiprofile
- salt.modules.boto_iam.put_group_policy(group_name, policy_name, policy_json, region=None, key=None, keyid=None, profile=None)#
Adds or updates the specified policy document for the specified group.
New in version 2015.8.0.
CLI Example:
salt myminion boto_iam.put_group_policy mygroup policyname policyrules
- salt.modules.boto_iam.put_user_policy(user_name, policy_name, policy_json, region=None, key=None, keyid=None, profile=None)#
Adds or updates the specified policy document for the specified user.
New in version 2015.8.0.
CLI Example:
salt myminion boto_iam.put_user_policy myuser policyname policyrules
- salt.modules.boto_iam.remove_user_from_group(group_name, user_name, region=None, key=None, keyid=None, profile=None)#
Remove user from group.
New in version 2015.8.0.
CLI Example:
salt myminion boto_iam.remove_user_from_group mygroup myuser
- salt.modules.boto_iam.role_exists(name, region=None, key=None, keyid=None, profile=None)#
Check to see if an IAM role exists.
CLI Example:
salt myminion boto_iam.role_exists myirole
- salt.modules.boto_iam.set_default_policy_version(policy_name, version_id, region=None, key=None, keyid=None, profile=None)#
Set the default version of a policy.
CLI Example:
salt myminion boto_iam.set_default_policy_version mypolicy v1
- salt.modules.boto_iam.update_account_password_policy(allow_users_to_change_password=None, hard_expiry=None, max_password_age=None, minimum_password_length=None, password_reuse_prevention=None, require_lowercase_characters=None, require_numbers=None, require_symbols=None, require_uppercase_characters=None, region=None, key=None, keyid=None, profile=None)#
Update the password policy for the AWS account.
New in version 2015.8.0.
CLI Example:
salt myminion boto_iam.update_account_password_policy True
- salt.modules.boto_iam.update_assume_role_policy(role_name, policy_document, region=None, key=None, keyid=None, profile=None)#
Update an assume role policy for a role.
New in version 2015.8.0.
CLI Example:
salt myminion boto_iam.update_assume_role_policy myrole '{"Statement":"..."}'
- salt.modules.boto_iam.update_saml_provider(name, saml_metadata_document, region=None, key=None, keyid=None, profile=None)#
Update SAML provider.
CLI Example:
salt myminion boto_iam.update_saml_provider my_saml_provider_name saml_metadata_document
- salt.modules.boto_iam.upload_server_cert(cert_name, cert_body, private_key, cert_chain=None, path=None, region=None, key=None, keyid=None, profile=None)#
Upload a certificate to Amazon.
New in version 2015.8.0.
CLI Example:
salt myminion boto_iam.upload_server_cert mycert_name crt priv_key
- Parameters:
cert_name -- The name for the server certificate. Do not include the path in this value.
cert_body -- The contents of the public key certificate in PEM-encoded format.
private_key -- The contents of the private key in PEM-encoded format.
cert_chain -- The contents of the certificate chain. This is typically a concatenation of the PEM-encoded public key certificates of the chain.
path -- The path for the server certificate.
region -- The name of the region to connect to.
key -- The key to be used in order to connect
keyid -- The keyid to be used in order to connect
profile -- The profile that contains a dict of region, key, keyid
- Returns:
True / False
- salt.modules.boto_iam.user_exists_in_group(user_name, group_name, region=None, key=None, keyid=None, profile=None)#
Check if user exists in group.
New in version 2015.8.0.
CLI Example:
salt myminion boto_iam.user_exists_in_group myuser mygroup