Connection module for Amazon EC2
New in version 2015.8.0.
configuration: | This module accepts explicit EC2 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: ec2.keyid: GKTADJGHEIQSXMKKRBJ08H
ec2.key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
A region may also be specified in the configuration: ec2.region: us-east-1
If a region is not specified, the default is 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_ec2.
allocate_eip_address
(domain=None, region=None, key=None, keyid=None, profile=None)¶Allocate a new Elastic IP address and associate it with your account.
CLI Example:
salt-call boto_ec2.allocate_eip_address domain=vpc
New in version 2016.3.0.
salt.modules.boto_ec2.
associate_eip_address
(instance_id=None, instance_name=None, public_ip=None, allocation_id=None, network_interface_id=None, network_interface_name=None, private_ip_address=None, allow_reassociation=False, region=None, key=None, keyid=None, profile=None)¶Associate an Elastic IP address with a currently running instance or a network interface. This requires exactly one of either 'public_ip' or 'allocation_id', depending on whether you’re associating a VPC address or a plain EC2 address.
CLI Example:
salt myminion boto_ec2.associate_eip_address instance_name=bubba.ho.tep allocation_id=eipalloc-ef382c8a
New in version 2016.3.0.
salt.modules.boto_ec2.
attach_network_interface
(device_index, name=None, network_interface_id=None, instance_name=None, instance_id=None, region=None, key=None, keyid=None, profile=None)¶Attach an Elastic Network Interface.
New in version 2016.3.0.
CLI Example:
salt myminion boto_ec2.attach_network_interface my_eni instance_name=salt-master device_index=0
salt.modules.boto_ec2.
create_image
(ami_name, instance_id=None, instance_name=None, tags=None, region=None, key=None, keyid=None, profile=None, description=None, no_reboot=False, dry_run=False)¶Given instance properties that define exactly one instance, create AMI and return AMI-id.
CLI Examples:
salt myminion boto_ec2.create_instance ami_name instance_name=myinstance
salt myminion boto_ec2.create_instance another_ami_name tags='{"mytag": "value"}' description='this is my ami'
salt.modules.boto_ec2.
create_key
(key_name, save_path, region=None, key=None, keyid=None, profile=None)¶Creates a key and saves it to a given path. Returns the private key.
CLI Example:
salt myminion boto_ec2.create mykey /root/
salt.modules.boto_ec2.
create_network_interface
(name, subnet_id=None, subnet_name=None, private_ip_address=None, description=None, groups=None, region=None, key=None, keyid=None, profile=None)¶Create an Elastic Network Interface.
New in version 2016.3.0.
CLI Example:
salt myminion boto_ec2.create_network_interface my_eni subnet-12345 description=my_eni groups=['my_group']
Create new metadata tags for the specified resource ids.
CLI Example:
salt-call boto_ec2.create_tags vol-12345678 '{"Name": "myVolume01"}'
New in version Carbon.
salt.modules.boto_ec2.
delete_key
(key_name, region=None, key=None, keyid=None, profile=None)¶Deletes a key. Always returns True
CLI Example:
salt myminion boto_ec2.delete_key mykey
salt.modules.boto_ec2.
delete_network_interface
(name=None, network_interface_id=None, region=None, key=None, keyid=None, profile=None)¶Create an Elastic Network Interface.
New in version 2016.3.0.
CLI Example:
salt myminion boto_ec2.create_network_interface my_eni subnet-12345 description=my_eni groups=['my_group']
salt.modules.boto_ec2.
delete_volume
(volume_id, instance_id=None, device=None, force=False, region=None, key=None, keyid=None, profile=None)¶Detach an EBS volume from an EC2 instance.
CLI Example:
salt-call boto_ec2.delete_volume vol-12345678
New in version Carbon.
salt.modules.boto_ec2.
detach_network_interface
(name=None, network_interface_id=None, attachment_id=None, force=False, region=None, key=None, keyid=None, profile=None)¶Detach an Elastic Network Interface.
New in version 2016.3.0.
CLI Example:
salt myminion boto_ec2.detach_network_interface my_eni
salt.modules.boto_ec2.
detach_volume
(volume_id, instance_id=None, device=None, force=False, region=None, key=None, keyid=None, profile=None)¶Detach an EBS volume from an EC2 instance.
CLI Example:
salt-call boto_ec2.detach_volume vol-12345678 i-87654321
New in version Carbon.
salt.modules.boto_ec2.
disassociate_eip_address
(public_ip=None, association_id=None, region=None, key=None, keyid=None, profile=None)¶Disassociate an Elastic IP address from a currently running instance. This requires exactly one of either 'association_id' or 'public_ip', depending on whether you’re dealing with a VPC or EC2 Classic address.
CLI Example:
salt myminion boto_ec2.disassociate_eip_address association_id=eipassoc-e3ba2d16
New in version 2016.3.0.
salt.modules.boto_ec2.
exists
(instance_id=None, name=None, tags=None, region=None, key=None, keyid=None, profile=None, in_states=None)¶Given a instance id, check to see if the given instance id exists.
Returns True if the given an instance with the given id, name, or tags exists; otherwise, False is returned.
CLI Example:
salt myminion boto_ec2.exists myinstance
salt.modules.boto_ec2.
find_images
(ami_name=None, executable_by=None, owners=None, image_ids=None, tags=None, region=None, key=None, keyid=None, profile=None, return_objs=False)¶Given image properties, find and return matching AMI ids
CLI Examples:
salt myminion boto_ec2.find_instances tags='{"mytag": "value"}'
salt.modules.boto_ec2.
find_instances
(instance_id=None, name=None, tags=None, region=None, key=None, keyid=None, profile=None, return_objs=False, in_states=None)¶Given instance properties, find and return matching instance ids
CLI Examples:
salt myminion boto_ec2.find_instances # Lists all instances
salt myminion boto_ec2.find_instances name=myinstance
salt myminion boto_ec2.find_instances tags='{"mytag": "value"}'
salt.modules.boto_ec2.
get_all_eip_addresses
(addresses=None, allocation_ids=None, region=None, key=None, keyid=None, profile=None)¶Get public addresses of some, or all EIPs associated with the current account.
CLI Example:
salt-call boto_ec2.get_all_eip_addresses
New in version 2016.3.0.
salt.modules.boto_ec2.
get_all_volumes
(volume_ids=None, filters=None, return_objs=False, region=None, key=None, keyid=None, profile=None)¶Get a list of all EBS volumes, optionally filtered by provided 'filters' param
attachment.attach-time - The time stamp when the attachment initiated. attachment.delete-on-termination - Whether the volume is deleted on instance termination. attachment.device - The device name that is exposed to the instance (for example, /dev/sda1). attachment.instance-id - The ID of the instance the volume is attached to. attachment.status - The attachment state (attaching | attached | detaching | detached). availability-zone - The Availability Zone in which the volume was created. create-time - The time stamp when the volume was created. encrypted - The encryption status of the volume. size - The size of the volume, in GiB. snapshot-id - The snapshot from which the volume was created. status - The status of the volume (creating | available | in-use | deleting | deleted | error). tag:key=value - The key/value combination of a tag assigned to the resource. volume-id - The volume ID. volume-type - The Amazon EBS volume type. This can be gp2 for General Purpose SSD, io1 for
Provisioned IOPS SSD, st1 for Throughput Optimized HDD, sc1 for Cold HDD, or standard for Magnetic volumes.
CLI Example:
salt-call boto_ec2.get_all_volumes filters='{"tag:Name": "myVolume01"}'
New in version Carbon.
salt.modules.boto_ec2.
get_attribute
(attribute, instance_name=None, instance_id=None, region=None, key=None, keyid=None, profile=None)¶Get an EC2 instance attribute.
CLI Example:
salt myminion boto_ec2.get_attribute sourceDestCheck instance_name=my_instance
salt.modules.boto_ec2.
get_eip_address_info
(addresses=None, allocation_ids=None, region=None, key=None, keyid=None, profile=None)¶Get 'interesting' info about some, or all EIPs associated with the current account.
CLI Example:
salt-call boto_ec2.get_eip_address_info addresses=52.4.2.15
New in version 2016.3.0.
salt.modules.boto_ec2.
get_id
(name=None, tags=None, region=None, key=None, keyid=None, profile=None, in_states=None)¶Given instance properties, return the instance id if it exists.
CLI Example:
salt myminion boto_ec2.get_id myinstance
salt.modules.boto_ec2.
get_key
(key_name, region=None, key=None, keyid=None, profile=None)¶Check to see if a key exists. Returns fingerprint and name if it does and False if it doesn't CLI Example:
salt myminion boto_ec2.get_key mykey
salt.modules.boto_ec2.
get_keys
(keynames=None, filters=None, region=None, key=None, keyid=None, profile=None)¶Gets all keys or filters them by name and returns a list. keynames (list):: A list of the names of keypairs to retrieve. If not provided, all key pairs will be returned. filters (dict) :: Optional filters that can be used to limit the results returned. Filters are provided in the form of a dictionary consisting of filter names as the key and filter values as the value. The set of allowable filter names/values is dependent on the request being performed. Check the EC2 API guide for details.
CLI Example:
salt myminion boto_ec2.get_keys
salt.modules.boto_ec2.
get_network_interface
(name=None, network_interface_id=None, region=None, key=None, keyid=None, profile=None)¶Get an Elastic Network Interface.
New in version 2016.3.0.
CLI Example:
salt myminion boto_ec2.get_network_interface name=my_eni
salt.modules.boto_ec2.
get_network_interface_id
(name, region=None, key=None, keyid=None, profile=None)¶Get an Elastic Network Interface id from its name tag.
New in version 2016.3.0.
CLI Example:
salt myminion boto_ec2.get_network_interface_id name=my_eni
salt.modules.boto_ec2.
get_unassociated_eip_address
(domain='standard', region=None, key=None, keyid=None, profile=None)¶Return the first unassociated EIP
CLI Example:
salt-call boto_ec2.get_unassociated_eip_address
New in version 2016.3.0.
salt.modules.boto_ec2.
get_zones
(region=None, key=None, keyid=None, profile=None)¶Get a list of AZs for the configured region.
CLI Example:
salt myminion boto_ec2.get_zones
salt.modules.boto_ec2.
import_key
(key_name, public_key_material, region=None, key=None, keyid=None, profile=None)¶Imports the public key from an RSA key pair that you created with a third-party tool. Supported formats: - OpenSSH public key format (e.g., the format in ~/.ssh/authorized_keys) - Base64 encoded DER format - SSH public key file format as specified in RFC4716 - DSA keys are not supported. Make sure your key generator is set up to create RSA keys. Supported lengths: 1024, 2048, and 4096.
CLI Example:
salt myminion boto_ec2.import mykey publickey
salt.modules.boto_ec2.
modify_network_interface_attribute
(name=None, network_interface_id=None, attr=None, value=None, region=None, key=None, keyid=None, profile=None)¶Modify an attribute of an Elastic Network Interface.
New in version 2016.3.0.
CLI Example:
salt myminion boto_ec2.modify_network_interface_attribute my_eni attr=description value='example description'
salt.modules.boto_ec2.
release_eip_address
(public_ip=None, allocation_id=None, region=None, key=None, keyid=None, profile=None)¶Free an Elastic IP address. Pass either a public IP address to release an EC2 Classic EIP, or an AllocationId to release a VPC EIP.
CLI Example:
salt myminion boto_ec2.release_eip_address allocation_id=eipalloc-ef382c8a
New in version 2016.3.0.
salt.modules.boto_ec2.
run
(image_id, name=None, tags=None, key_name=None, security_groups=None, user_data=None, instance_type='m1.small', placement=None, kernel_id=None, ramdisk_id=None, monitoring_enabled=None, vpc_id=None, vpc_name=None, subnet_id=None, subnet_name=None, private_ip_address=None, block_device_map=None, disable_api_termination=None, instance_initiated_shutdown_behavior=None, placement_group=None, client_token=None, security_group_ids=None, security_group_names=None, additional_info=None, tenancy=None, instance_profile_arn=None, instance_profile_name=None, ebs_optimized=None, network_interface_id=None, network_interface_name=None, region=None, key=None, keyid=None, profile=None, network_interfaces=None)¶Create and start an EC2 instance.
Returns True if the instance was created; otherwise False.
CLI Example:
salt myminion boto_ec2.run ami-b80c2b87 name=myinstance
(boto.ec2.blockdevicemapping.BlockDeviceMapping) – A BlockDeviceMapping data structure describing the EBS volumes associated with the Image. (string) - A string representation of a BlockDeviceMapping structure (dict) - A dict describing a BlockDeviceMapping structure YAML example: .. code-block:: yaml
- device-maps:
- /dev/sdb:
- ephemeral_name: ephemeral0
- /dev/sdc:
- ephemeral_name: ephemeral1
- /dev/sdd:
- ephemeral_name: ephemeral2
- /dev/sde:
- ephemeral_name: ephemeral3
- /dev/sdf:
- size: 20 volume_type: gp2
salt.modules.boto_ec2.
set_attribute
(attribute, attribute_value, instance_name=None, instance_id=None, region=None, key=None, keyid=None, profile=None)¶Set an EC2 instance attribute. Returns whether the operation succeeded or not.
CLI Example:
salt myminion boto_ec2.set_attribute sourceDestCheck False instance_name=my_instance
salt.modules.boto_ec2.
terminate
(instance_id=None, name=None, region=None, key=None, keyid=None, profile=None)¶Terminate the instance described by instance_id or name.
CLI Example:
salt myminion boto_ec2.terminate name=myinstance
salt myminion boto_ec2.terminate instance_id=i-a46b9f