instance#
Functions for interacting with an instance based on its ID
- async idem_aws.exec.aws.ec2.instance.bootstrap(hub, ctx, instance_id, *, username: str = None, host: str = None, port: int = 22, ssh_public_key: str = None, ssh_private_key: str = None, availability_zone: str = None, heist_manager: str, artifact_version: str = None, tunnel_plugin: str = 'asyncssh', auto_configure: bool = False, verify: bool = True, **kwargs)[source]#
- Connect to the instance with an ssh keypair and call heist to bootstrap it. - If an ssh keypair is not provided one will be created. - Parameters:
- instance_id – An AWS EC2 Instance ID. 
- username (str, Optional) – The instance OS username to use in the connection, Defaults to ec2-user. 
- host (str, Optional) – The public ip address or dns name of the instance. Defaults to autodetect. 
- port (int, Optional) – The port to connect to on the host. Defaults to 22. 
- ssh_public_key (str, Optional) – A public ssh key or path to send to the instance. 
- ssh_private_key (str, Optional) – A private ssh key or path to send to the instance. 
- availability_zone (str, Optional) – The Availability Zone in which the EC2 instance was launched. 
- heist_manager (str, Required) – The heist manager to use to bootstrap the instance (I.E. salt.minion). 
- artifact_version (str, Optional) – The version of the heist_manager’s artifact to upload to the instance, Defaults to latest. 
- tunnel_plugin (str, Optional) – The heist tunnel plugin to use to ssh into the instance. Defaults to asyncssh. 
- auto_configure (bool, Optional) – automatically apply internet_gateway/subnet/vpc/route_table changes needed to SSH into an instance. 
- verify (bool, Optional) – If set to True, then verify that the instance is prepared for ssh connections. 
- kwargs – All extra kwargs are used in asyncssh.SSHClientConnectionOptions. 
 
- Returns:
- True|False, “comment”: A message Tuple, “ret”: Dict} 
- Return type:
- {“result” 
 - Examples - idem exec aws.ec2.instance.bootstrap <instance_id> heist_manager="salt.minion" 
- async idem_aws.exec.aws.ec2.instance.verify_ssh(hub, ctx, instance_id: str, auto_configure: bool = False)[source]#
- Verify that an instance meets all the requirements for SSH connection - Parameters:
- Returns:
- True|False, “comment”: A message Tuple, “ret”: Dict} 
- Return type:
- {“result” 
 - Examples - $ idem exec aws.ec2.instance.verify_ssh <instance_id> auto_configure=True 
- async idem_aws.exec.aws.ec2.instance.connect(hub, ctx, instance_id: str, *, username: str = None, host: str = None, port: int = 22, tunnel_plugin: str = 'asyncssh', ssh_public_key: str, private_key_file: str, availability_zone: str = None, **kwargs)[source]#
- Attempt connection with SSH to the instance with the given parameters. - If no host or username is specified, then make reasonable guesses and return the target configuration that was successful - Parameters:
- instance_id (str) – An AWS EC2 Instance ID. 
- username (str, Optional) – The instance OS username to use in the connection, Defaults to ec2-user. 
- host (str, Optional) – The public ip address or dns name of the instance. Defaults to autodetect. 
- port (int, Optional) – The port to connect to on the host. Defaults to 22. 
- ssh_public_key (str, Optional) – A public ssh key or path to send to the instance. 
- private_key_file (str, Optional) – The path to a private ssh key file. 
- availability_zone (str, Optional) – The Availability Zone in which the EC2 instance was launched. 
- tunnel_plugin (str, Optional) – The heist tunnel plugin to use to ssh into the instance. Defaults to asyncssh. 
- kwargs – All extra kwargs are used in asyncssh.SSHClientConnectionOptions. 
 
- Returns:
- True|False, “comment”: A message Tuple, “ret”: Dict} 
- Return type:
- {“result” 
 - Examples - idem exec aws.ec2.instance.connect <instance_id> 
- async idem_aws.exec.aws.ec2.instance.start(hub, ctx, instance_id: (<class 'str'>, 'alias=resource_id') = None)[source]#
- Start the instance and wait for it to be running 
- async idem_aws.exec.aws.ec2.instance.stop(hub, ctx, instance_id: (<class 'str'>, 'alias=resource_id') = None)[source]#
- Stop the instance and wait for it to be stopped. 
- async idem_aws.exec.aws.ec2.instance.get(hub, ctx, *, name=None, resource_id: str = None, filters: List = None) Dict[source]#
- Parameters:
- name (str) – The name of the Idem state. 
- resource_id (str, Optional) – AWS VPC id to identify the resource. 
- filters (list, Optional) – One or more filters: for example, tag :<key>, tag-key. A complete list of filters can be found at https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/ec2.html#EC2.Client.describe_instances. 
 
 
- async idem_aws.exec.aws.ec2.instance.list_(hub, ctx, *, name: str = None, filters: List = None) Dict[source]#
- Parameters:
- name (str, Optional) – The name of the Idem state. 
- filters (list, Optional) – One or more filters: for example, tag :<key>, tag-key. A complete list of filters can be found at https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/ec2.html#EC2.Client.describe_instances.