File: //opt/saltstack/salt/lib/python3.10/site-packages/salt/states/__pycache__/boto_ec2.cpython-310.pyc
o
�N�g� � @ s� d Z ddlZddlmZmZ ddlZddlm mZ ddl m
Z
mZ e�e
�Zdd� Z d&dd�Zd'd d
�Z d(dd
�Zdd� Zdd� Z d)dd�Z d*dd�Z d+dd�Z d,dd�Z d-dd�Z d)dd�Z d.d d!�Z d/d"d#�Z d0d$d%�ZdS )1a�
Manage EC2
.. versionadded:: 2015.8.0
This module provides an interface to the Elastic Compute Cloud (EC2) service
from AWS.
The below code creates a key pair:
.. code-block:: yaml
create-key-pair:
boto_ec2.key_present:
- name: mykeypair
- save_private: /root/
- region: eu-west-1
- keyid: GKTADJGHEIQSXMKKRBJ08H
- key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
.. code-block:: yaml
import-key-pair:
boto_ec2.key_present:
- name: mykeypair
- upload_public: 'ssh-rsa AAAA'
- keyid: GKTADJGHEIQSXMKKRBJ08H
- key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
You can also use salt:// in order to define the public key.
.. code-block:: yaml
import-key-pair:
boto_ec2.key_present:
- name: mykeypair
- upload_public: salt://mybase/public_key.pub
- keyid: GKTADJGHEIQSXMKKRBJ08H
- key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
The below code deletes a key pair:
.. code-block:: yaml
delete-key-pair:
boto_ec2.key_absent:
- name: mykeypair
- region: eu-west-1
- keyid: GKTADJGHEIQSXMKKRBJ08H
- key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
� N)�sleep�time)�CommandExecutionError�SaltInvocationErrorc C s dt v rdS dS )z)
Only load if boto is available.
�boto_ec2.get_keyZboto_ec2)Fz#boto_ec2 module could not be loaded)�__salt__� r r �H/opt/saltstack/salt/lib/python3.10/site-packages/salt/states/boto_ec2.py�__virtual__? s r
c
C s� | ddi d�}t d | ||||�}t�d|� |durMd|v rMzt d |�}W n% tyL } zt�| � d |� d
�|d<