File manager - Edit - /opt/saltstack/salt/lib/python3.10/site-packages/salt/states/__pycache__/boto_iam.cpython-310.pyc
Back
o ;jg � @ s d Z ddlZddlZddlm mZ ddlmZ ddl Z ddlm m Z ddlZ ddlZ ddlZ e�e�ZdZdd� Z d<dd �Z d=dd�Z d>d d�Z d>dd�Z d?dd�Z d@dd�Z d@dd�Zd>dd�Zd>dd�Z d>dd�Zd>dd�Z dAd d!�Z!d"d#� Z" dBd$d%�Z# dBd&d'�Z$d>d(d)�Z%d>d*d+�Z& dCd,d-�Z'd>d.d/�Z( dDd0d1�Z) dDd2d3�Z*d>d4d5�Z+ d>d6d7�Z,d>d8d9�Z-d:d;� Z.dS )Ea& Manage IAM objects ================== .. versionadded:: 2015.8.0 This module uses ``boto``, which can be installed via package, or pip. 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 `here <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html>`_. It's also possible to specify ``key``, ``keyid`` and ``region`` via a profile, either passed in as a dict, or as a string to pull from pillars or minion config: .. code-block:: yaml delete-user: boto_iam.user_absent: - name: myuser - delete_keys: true .. code-block:: yaml delete-keys: boto_iam.keys_absent: - access_keys: - 'AKIAJHTMIQ2ASDFLASDF' - 'PQIAJHTMIQ2ASRTLASFR' - user_name: myuser .. code-block:: yaml create-user: boto_iam.user_present: - name: myuser - policies: mypolicy: | { "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": "*", "Resource": "*"}] } - password: NewPassword$$1 - region: eu-west-1 - keyid: 'AKIAJHTMIQ2ASDFLASDF' - key: 'fdkjsafkljsASSADFalkfjasdf' .. code-block:: yaml create-group: boto_iam.group_present: - name: mygroup - users: - myuser - myuser1 - policies: mypolicy: | { "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": "*", "Resource": "*"}] } - region: eu-west-1 - keyid: 'AKIAJHTMIQ2ASDFLASDF' - key: 'safsdfsal;fdkjsafkljsASSADFalkfj' .. code-block:: yaml change-policy: boto_iam.account_policy: - change_password: True - region: eu-west-1 - keyid: 'AKIAJHTMIQ2ASDFLASDF' - key: 'safsdfsal;fdkjsafkljsASSADFalkfj' .. code-block:: yaml create server certificate: boto_iam.server_cert_present: - name: mycert - public_key: salt://base/mycert.crt - private_key: salt://base/mycert.key - cert_chain: salt://base/mycert_chain.crt - region: eu-west-1 - keyid: 'AKIAJHTMIQ2ASDFLASDF' - key: 'fdkjsafkljsASSADFalkfjasdf' .. code-block:: yaml delete server certificate: boto_iam.server_cert_absent: - name: mycert .. code-block:: yaml create keys for user: boto_iam.keys_present: - name: myusername - number: 2 - save_dir: /root - region: eu-west-1 - keyid: 'AKIAJHTMIQ2ASDFLASDF' - key: 'fdkjsafkljsASSADFalkfjasdf' .. code-block:: yaml create policy: boto_iam.policy_present: - name: myname - policy_document: '{"MyPolicy": "Statement": [{"Action": ["sqs:*"], "Effect": "Allow", "Resource": ["arn:aws:sqs:*:*:*"], "Sid": "MyPolicySqs1"}]}' - region: eu-west-1 - keyid: 'AKIAJHTMIQ2ASDFLASDF' - key: 'fdkjsafkljsASSADFalkfjasdf' .. code-block:: yaml add-saml-provider: boto_iam.saml_provider_present: - name: my_saml_provider - saml_metadata_document: salt://base/files/provider.xml - keyid: 'AKIAJHTMIQ2ASDFLASDF' - key: 'safsdfsal;fdkjsafkljsASSADFalkfj' � N)�OrderedDictZboto_iamc C s dt v rdS ddt� d�fS )zF Only load if elementtree xml library and boto are available. �boto_iam.get_userTFzCannot load z# state: boto_iam module unavailable)�__salt__�__virtualname__� r r �H/opt/saltstack/salt/lib/python3.10/site-packages/salt/states/boto_iam.py�__virtual__� s �r Tc C s* | ddi d�}t d | ||||�sd|d<