ExAws v1.1.1 ExAws.EC2

Operations on AWS EC2

Summary

Types

Functions

Attaches an EBS volume to a running or stopped instance and exposes it to the instance with the specified device name

Adds one or more egress rules to a security group for use with a VPC

Adds one or more ingress rules to a security group

Bundles an Amazon instance store-backed Windows instance. During bundling, only the root device volume (C:) is bundled. Data on other instance store volumes is not preserved

Cancels a bundling operation for an instance store-backed Windows instance

Initiates the copy of an AMI from the specified source region to the current region. You specify the destination region by using its endpoint when making the request

Copies a point-in-time snapshot of an EBS volume and stores it in Amazon S3. You can copy the snapshot within the same region or from one region to another

Creates an Amazon EBS-backed AMI from an Amazon EBS-backed instance that is either running or stopped

Creates a 2048-bit RSA key pair with the specified name. Amazon EC2 stores the public key and displays the private key for you to save to a file. The private key is returned as an unencrypted PEM encoded PKCS#8 private key

Creates a snapshot of an EBS volume and stores it in Amazon S3. You can use snapshots for backups, to make copies of EBS volumes, and to save data before shutting down an instance

Creates a subnet in an existing VPC

Adds or overwrites one or more tags for the specified Amazon EC2 resource or resources. Each resource can have a maximum of 10 tags. Each tag consists of a key and optional value. Tag keys must be unique per resource

Creates an EBS volume that can be attached to an instance in the same Availability Zone. The volume is created in the regional endpoint that you send the HTTP request to

Creates a VPC with the specified CIDR block

Deletes the specified key pair, by removing the public key from Amazon EC2

Deletes the specified snapshot

Deletes the specified subnet

Deletes the specified set of tags from the specified set of resources

Deletes the specified EBS volume. The volume must be in the available state (not attached to an instance)

Deletes the specified VPC

Deregisters the specified AMI. After you deregister an AMI, it can’t be used to launch new instances

Describes attributes of your AWS account

Describes one or more of the Availability Zones that are available to you. The results include zones only for the region you’re currently using

Describes one or more of your bundling tasks

Describes the ID format settings for your resources on a per-region basis, for example, to view which resource types are enabled for longer IDs

Describes the specified attribute of the specified AMI. You can specify only one attribute at a time

Describes one or more of the images (AMIs, AKIs, and ARIs) available to you

Describes the specified attribute of the specified instance. You can specify only one attribute at a time

Describes the status of one or more instances. By default, only running instances are described, unless specified otherwise

Describes one or more of your instances

Describes one or more of your key pairs

Describes one or more regions that are currently available to you

Describes one or more of your security groups

Describes the specified attribute of the specified snapshot. You can specify only one attribute at a time

Describes one or more of the EBS snapshots available to you

Describes one or more of your subnets

Describes one or more of the tags for your EC2 resources

Describes the specified attribute of the specified volume. You can specify only one attribute at a time

Describes the status of the specified volumes

Describes the specified EBS volumes

Describes the specified attribute of the specified VPC. You can specify only one attribute at a time

Describes one or more of your VPCs

Detaches an EBS volume from an instance

Enables I/O operations for a volume that had I/O operations disabled because the data on the volume was potentially inconsistent

Gets the console output for the specified instance

Retrieves the encrypted administrator password for an instance running Windows

Imports the public key from an RSA key pair that you created with a third-party tool

Modifies the ID format for the specified resource on a per-region basis

Modifies the specified attribute of the specified AMI. You can specify only one attribute at a time

Modifies the specified attribute of the specified instance. You can specify only one attribute at a time

Adds or removes permission settings for the specified snapshot

Modifies the specified attribute of the specified VPC

Enables monitoring for a running instance

Requests a reboot of one or more instances. This operation is asynchronous; it only queues a request to reboot the specified instances

Registers an AMI. When you’re creating an AMI, this is the final step you must complete before you can launch an instance from the AMI

Submits feedback about the status of an instance. The instance must be in the running state

Resets an attribute of an AMI to its default value

Resets an attribute of an instance to its default value. To reset the kernel or ramdisk, the instance must be in a stopped state. To reset the SourceDestCheck, the instance can be either running or stopped

Resets permission settings for the specified snapshot

Removes one or more egress rules from a security group for EC2-VPC

Removes one or more ingress rules from a security group. The values that you specify in the revoke request (for example, ports) must match the existing rule’s values for the rule to be removed

Launches the speficied number of instance using an AMI

Starts an Amazon EBS-backed AMI that was previously stopped

Stops an Amazon EBS-backed AMI that was previously started

Shuts down one or more instances. Terminated instances remain visible after termination (for approximately one hour)

Disables monitoring for a running instance

Types

attach_volume_opts()
attach_volume_opts() :: [{:dry_run, boolean}]
attribute_boolean_value()
attribute_boolean_value() :: value :: boolean
attribute_value()
attribute_value() :: value :: binary
attributes()
attributes() :: [:instance_type | :kernel | :ramdisk | :user_data | :disable_api_termination | :instance_initiated_shutdown_behavior | :root_device_name | :block_device_mapping | :product_codes | :source_dest_check | :group_set | :ebs_optimized | :sriov_net_support]
authorize_security_group_egress_opts()
authorize_security_group_egress_opts() :: [{:cidr_ip, binary} | {:dry_run, boolean} | {:from_port, integer} | {:group_name, binary} | [{:ip_permissions_1, [ip_permission]}, ...] | {:ip_protocol, binary} | {:source_security_group_name, binary} | {:source_security_group_owner_id, binary} | {:to_port, integer}]
authorize_security_group_ingress_opts()
authorize_security_group_ingress_opts() :: [{:cidr_ip, binary} | {:dry_run, boolean} | {:from_port, integer} | {:group_id, binary} | {:group_name, binary} | [{:ip_permissions_1, [ip_permission]}, ...] | {:ip_protocol, binary} | {:source_security_group_name, binary} | {:source_security_group_owner_id, binary} | {:to_port, integer}]
availability_zone_states()
availability_zone_states ::
  :available |
  :information |
  :impaired |
  :unavailable
block_device_mapping()
block_device_mapping() :: {device_name :: binary, ebs :: ebs_block_device, no_device :: binary, virtual_name :: binary}
block_device_mapping_list()
block_device_mapping_list() :: [block_device_mapping]
bundle_instance_opts()
bundle_instance_opts() :: [{:dry_run, boolean}]
bundle_instance_states()
bundle_instance_states ::
  :pending |
  :waiting_for_shutdown |
  :bundling |
  :storing |
  :cancelling |
  :complete |
  :failed
cancel_bundle_task_opts()
cancel_bundle_task_opts() :: [{:dry_run, boolean}]
copy_image_opts()
copy_image_opts() :: [client_token: binary, description: binary, dry_run: boolean, encrypted: boolean, kms_key_id: binary]
copy_snapshot_opts()
copy_snapshot_opts() :: [description: :binary, destination_region: binary, dry_run: boolean, encrypted: boolean, kms_key_id: binary, presigned_url: binary]
create_image_opts()
create_image_opts() :: [[{:block_device_mapping_1, block_device_mapping_list}, ...] | {:description, binary} | {:dry_run, boolean} | {:no_reboot, boolean}]
create_key_pair_opts()
create_key_pair_opts() :: [{:dry_run, boolean}]
create_security_group_opts()
create_security_group_opts() :: [dry_run: boolean, vpc_id: binary]
create_snapshot_opts()
create_snapshot_opts() :: [description: binary, dry_run: boolean]
create_subnet_opts()
create_subnet_opts() :: [availability_zone: binary, dry_run: boolean]
create_tags_opts()
create_tags_opts() :: [{:dry_run, boolean}]
create_volume_opts()
create_volume_opts() :: [dry_run: boolean, encrypted: boolean, iops: 100..20000, kms_key_id: binary, snapshot_id: binary, volume_type: :standard | :op1 | :gp2 | :sc1 | :st1]
create_volume_permission()
create_volume_permission() :: {group :: binary, user_id :: binary}
create_volume_permission_modifications()
create_volume_permission_modifications() :: {add :: [create_volume_permission], remove :: [create_volume_permission]}
create_vpc_opts()
create_vpc_opts() :: [dry_run: boolean, instance_tenancy: :default | :dedicated | :host]
datetime()
datetime() :: {calendar :: term, day :: term, hour :: term, millisecond :: term, minute :: term, month :: term, second :: term, timezone :: term, year :: term}
delete_key_pair_opts()
delete_key_pair_opts() :: [{:dry_run, boolean}]
delete_snapshot_opts()
delete_snapshot_opts() :: [{:dry_run, boolean} | {:snapshot_id}]
delete_subnet_opts()
delete_subnet_opts() :: [{:dry_run, boolean}]
delete_tags_opts()
delete_tags_opts() :: [dry_run: boolean, tags: [{:tag_1, tag}, ...]]
delete_volume_opts()
delete_volume_opts() :: [{:dry_run, boolean}]
delete_vpc_opts()
delete_vpc_opts() :: [{:dry_run, boolean}]
deregister_image_opts()
deregister_image_opts() :: [{:dry_run, boolean}]
describe_account_attributes_opts()
describe_account_attributes_opts() :: [[{:attributes_name_1, [:supported_platforms | :default_vpc]}, ...] | {:dry_run, boolean}]
describe_availability_zones_filters()
describe_availability_zones_filters() :: message :: binary | region_name :: binary | state :: availability_zone_states | zone_name :: binary
describe_availability_zones_opts()
describe_availability_zones_opts() :: [{:dry_run, boolean} | [{:filter_1, describe_availability_zones_filters}, ...] | [{:zone_name_1, [binary]}, ...]]
describe_bundle_tasks_filters()
describe_bundle_tasks_filters() :: bundle_id :: binary | error_code :: binary | error_message :: binary | instance_id :: binary | progress :: binary | s3_bucket :: binary | s3_prefix :: binary | start_time :: binary | state :: bundle_instance_states | update_time :: binary
describe_bundle_tasks_opts()
describe_bundle_tasks_opts() :: [[{:bundle_id_1, [binary]}, ...] | {:dry_run, boolean} | [{:filter_1, describe_bundle_tasks_filters}, ...]]
describe_id_format_opts()
describe_id_format_opts() :: [{:resource, binary}]
describe_image_attribute_opts()
describe_image_attribute_opts() :: [{:dry_run, boolean}]
describe_images_filters()
describe_images_filters() :: architecture :: (:i386 | :x86_64) | block_device_mapping_delete_on_termination :: boolean | block_device_mapping_device_name :: binary | block_device_mapping_snapshot_id :: binary | block_device_mapping_volume_size :: integer | block_device_mapping_volume_type :: (:gp2 | :io1 | :st1 | :sc1 | :standard) | description :: binary | hypervisor :: (:ovm | :xen) | image_id :: binary | image_type :: (:machine | :kernel | :ramdisk) | is_public :: boolean | kernel_id :: binary | manifest_location :: binary | name :: binary | owner_alias :: binary | platform :: (binary | :windows) | product_code :: binary | product_code_type :: (:devpay | :marketplace) | ramdisk_id :: binary | root_device_name :: binary | root_device_type :: (:ebs | :instance_store) | state :: (:available | :pending | :failed) | state_reason_code :: binary | state_reason_message :: binary | tag :: tag_key <> tag_value | tag_key :: binary | tag_value :: binary | virtualization_type :: :paravirtual | :hvm
describe_images_opts()
describe_images_opts() :: [{:dry_run, boolean} | [{:executable_by_1, [binary]}, ...] | [{:filter_1, describe_images_filters}, ...] | [{:image_id_1, [binary]}, ...] | [{:owner_1, [binary]}, ...]]
describe_instance_attribute_opts()
describe_instance_attribute_opts() :: [attribte: attributes, dry_run: boolean, intance_id: boolean]
describe_instance_status_filters()
describe_instance_status_filters() :: availability_zone :: binary | event_code :: event_codes | event_description :: binary | event_not_after :: binary | event_not_before :: binary | instance_state_code :: integer | instance_state_name :: instance_state_names | instance_status_reachability :: (:passed | :failed | :initializing | :insufficient_data) | instance_status_status :: (:ok | :impaired | :initializing | :insufficient_data | :not_applicable) | system_status_reachability :: (:passed | :failed | :initializing | :insufficient_data) | system_status_status :: :ok | :impaired | :initializing | :insufficient_data | :not_applicable
describe_instance_status_opts()
describe_instance_status_opts() :: [{:dry_run, boolean} | [{:filter_1, describe_instance_status_filters}, ...] | [{:instance_1, [binary]}, ...] | {:include_all_instances, boolean} | {:max_results, integer} | {:next_token, binary}]
describe_instances_filters()
describe_instances_filters() :: affinity :: (:default | :host) | architecture :: (:i386 | :x86_64) | availability_zone :: binary | block_device_mapping_attach_time :: binary | block_device_mapping_delete_on_termination :: boolean | block_device_mapping_device_name :: binary | block_device_mapping_status :: (:attaching | :attached | :detaching | :detached) | block_device_mapping_volume_id :: binary | client_token :: binary | dns_name :: binary | group_id :: binary | group_name :: binary | host_id :: binary | hypervisor :: (:ovm | :xen) | iam_instance_profile_arn :: binary | image_id :: binary | instance_id :: binary | instance_lifecycle :: binary | instance_state_code :: integer | instance_state_name :: (:pending | :running | :shutting_down | :terminated | :stopping | :stopped) | instance_type :: binary | instance_group_id :: binary | instance_group_name :: binary | ip_address :: binary | kernel_id :: binary | key_name :: binary | launch_index :: (pos_integer | 0) | launch_time :: binary | monitoring_state :: (:disabled | :enabled) | owner_id :: binary | placement_group_name :: binary | platform :: (binary | :windows) | private_dns_name :: binary | private_ip_address :: binary | product_code :: binary | product_code_type :: (:devpay | :marketplace) | ramdisk_id :: binary | reason :: binary | requester_id :: binary | reservation_id :: binary | root_device_name :: binary | root_device_type :: binary | source_dest_check :: binary | spot_instance_request_id :: binary | state_reason_code :: binary | state_reason_message :: binary | subnet_id :: binary | tag :: tag_key <> tag_value | tag_key :: binary | tag_value :: binary | tenancy :: (:default | :default | :host) | virtualization_type :: (:paravirtual | :hvm) | vpc_id :: binary | network_interface_description :: binary | network_interface_subnet_id :: binary | network_interface_vpc_id :: binary | network_interface_network_interface_id :: binary | network_interface_owner_id :: binary | network_interface_availability_zone :: binary | network_interface_requester_id :: binary | network_interface_requester_managed :: binary | network_interface_status :: (:available | :in_use) | network_interface_mac_address :: binary | network_interface_private_dns_name :: binary | network_interface_source_dest_check :: binary | network_interface_group_id :: binary | network_interface_group_name :: binary | network_interface_attachment_attachment_id :: binary | network_interface_attachment_instance_id :: binary | network_interface_attachment_instance_owner_id :: binary | network_interface_addresses_private_ip_address :: binary | network_interface_attachment_device_index :: binary | network_interface_attachment_status :: (:attaching | :attached | :detaching | :detached) | network_interface_attachment_attach_time :: binary | network_interface_attachment_delete_on_termination :: boolean | network_interface_addresses_primary :: binary | network_interface_addresses_association_public_ip :: binary | network_interface_addresses_association_ip_owner_id :: binary | association_public_ip :: binary | association_allocation_id :: binary | association_association_id :: binary
describe_instances_opts()
describe_instances_opts() :: [{:dry_run, boolean} | [{:filter_1, describe_instances_filters}, ...] | [{:instance_1, [binary]}, ...] | {:max_results, integer} | {:next_token, binary}]
describe_key_pairs_filters()
describe_key_pairs_filters() :: fingerprint :: binary | key_name :: binary
describe_key_pairs_opts()
describe_key_pairs_opts() :: [{:dry_run, boolean} | [{:filter_1, describe_key_pairs_filters}, ...] | [{:key_name_1, [binary]}, ...]]
describe_regions_filters()
describe_regions_filters() :: endpoint :: binary | region_name :: binary
describe_regions_opts()
describe_regions_opts() :: [{:dry_run, boolean} | [{:filter_1, describe_regions_filters}, ...] | [{:region_name_1, [binary]}, ...]]
describe_security_groups_filters()
describe_security_groups_filters() :: description :: binary | egress_ip_permission_prefix_list_id :: binary | group_id :: binary | group_name :: binary | ip_permission_cidr :: binary | ip_permission_from_port :: pos_integer | ip_permission_group_id :: binary | ip_permission_protocol :: (:tcp | :udp | :icmp | integer) | ip_permission_to_port :: pos_integer | ip_permission_user_id :: binary | owner_id :: binary | tag_key :: binary | tag_value :: binary | vpc_id :: binary
describe_security_groups_opts()
describe_security_groups_opts() :: [{:dry_run, boolean} | [{:filter_1, describe_security_groups_filters}, ...] | [{:group_id_1, [binary]}, ...] | [{:group_name_1, [binary]}, ...]]
describe_snapshot_attribute_opts()
describe_snapshot_attribute_opts() :: [{:dry_run, boolean}]
describe_snapshots_filters()
describe_snapshots_filters() :: description :: binary | owner_alias :: binary | owner_id :: binary | progress :: binary | snapshot_id :: binary | start_time :: binary | status :: (:pending | :completed | :error) | tag :: tag_key <> tag_value | tag_key :: binary | tag_value :: binary | volume_id :: binary | volume_size :: pos_integer
describe_snapshots_opts()
describe_snapshots_opts() :: [{:dry_run, boolean} | [{:filter_1, describe_snapshots_filters}, ...] | {:max_results, integer} | {:next_token, binary} | [{:owner_1, [binary]}, ...] | [{:restorable_by_1, [binary]}, ...] | [{:snapshot_id_1, [binary]}, ...]]
describe_subnets_filters()
describe_subnets_filters() :: availability_zone :: binary | available_ip_address_count :: integer | cidr_block :: binary | default_for_az :: boolean | state :: (:pending | :available) | subnet_id :: binary | tag :: tag_key <> tag_value | tag_key :: binary | tag_value :: binary | vpc_id :: binary
describe_subnets_opts()
describe_subnets_opts() :: [{:dry_run, boolean} | [{:filter_1, describe_subnets_filters}, ...] | [{:subnet_id_1, [binary]}, ...]]
describe_tags_filters()
describe_tags_filters() :: key :: binary | resource_id :: binary | resource_type :: resource_types | value :: binary
describe_tags_opts()
describe_tags_opts() :: [{:dry_run, boolean} | [{:filter_1, describe_tags_filters}, ...] | {:max_results, integer} | {:next_token, binary}]
describe_volume_attribute_opts()
describe_volume_attribute_opts() :: [attribute: :auto_enable_io | :product_codes, dry_run: boolean]
describe_volume_status_filters()
describe_volume_status_filters() :: action_code :: binary | action_description :: binary | action_event_id :: binary | availability_zone :: binary | event_description :: binary | event_event_id :: binary | event_event_type :: binary | event_not_after :: binary | event_not_before :: binary | volume_status_details_name :: binary | volume_status_details_status :: binary | volume_status_status :: binary
describe_volume_status_opts()
describe_volume_status_opts() :: [{:dry_run, boolean} | [{:filter_1, describe_volume_status_filters}, ...] | {:max_results, integer} | {:next_token, binary} | [{:volume_id_1, [binary]}, ...]]
describe_volumes_filters()
describe_volumes_filters() :: attachment_attach_time :: binary | attachment_delete_on_termination :: boolean | attachment_device :: binary | attacment_instance_id :: binary | attacment_status :: (:attaching | :attached | :detaching | :detached) | availability_zone :: binary | create_time :: binary | encrypted :: boolean | size :: pos_integer | snapshot_id :: binary | status :: (:created | :available | :in_use | :deleting | :deleted | :error) | tag :: tag_key <> tag_value | tag_key :: binary | tag_value :: binary | volume_id :: binary | volume_type :: :gp2 | :io1 | :st1 | :sc1 | :standard
describe_volumes_opts()
describe_volumes_opts() :: [{:dry_run, boolean} | [{:filter_1, describe_volumes_filters}, ...] | {:max_results, integer} | {:next_token, binary} | [{:volume_id_1, [binary]}, ...]]
describe_vpc_attribute_opts()
describe_vpc_attribute_opts() :: [{:dry_run, boolean}]
describe_vpcs_filters()
describe_vpcs_filters() :: cidr :: binary | dhcp_options_id :: binary | is_default :: binary | state :: (:pending | :available) | tag :: tag_key <> tag_value | tag_key :: binary | tag_value :: binary | vpc_id :: binary
describe_vpcs_opts()
describe_vpcs_opts() :: [{:dry_run, boolean} | [{:filter_1, describe_vpcs_filters}, ...] | [{:vpc_id_1, [binary]}, ...]]
detach_volume_opts()
detach_volume_opts() :: [dry_run: boolean, device: binary, force: boolean, instance_id: binary]
ebs_block_device()
ebs_block_device() :: {delete_on_termination :: boolean, encrypted :: boolean, iops :: io1_volume_iops_range | gp2_volume_iops_range, snapshot_id :: binary, volume_size :: integer, volume_type :: :standard | :io1 | :gp2 | :sc1 | :st1}
ebs_instance_block_device_specification()
ebs_instance_block_device_specification() :: {delete_on_termination :: boolean, volume_id :: binary}
enable_volume_io_opts()
enable_volume_io_opts() :: [{:dry_run, boolean}]
event_codes()
event_codes ::
  :instance_reboot |
  :system_reboot |
  :system_maintenance |
  :instance_retirement |
  :instance_stop
filter()
filter() :: {name :: binary, value :: [binary]}
get_console_output_opts()
get_console_output_opts() :: [{:dry_run, boolean}]
get_password_data_opts()
get_password_data_opts() :: [{:dry_run, boolean}]
gp2_size_range()
gp2_size_range() :: 1..16384
gp2_volume_iops_range()
gp2_volume_iops_range() :: 100..10000
iam_instance_profile()
iam_instance_profile() :: {arn :: binary, name :: binary}
import_key_pair_opts()
import_key_pair_opts() :: [{:dry_run, boolean}]
instance_block_device_mapping_specification()
instance_block_device_mapping_specification() :: {device_name :: binary, ebs :: ebs_instance_block_device_specification, no_device :: binary, virtual_name :: binary}
instance_network_interface_specification()
instance_network_interface_specification() :: {associate_public_ip_address :: boolean, delete_on_termination :: boolean, description :: binary, device_index :: integer, security_group_id :: [binary], network_interface_id :: binary, private_ip_address :: binary, private_ip_address_set :: [private_ip_address_specification], secondary_private_ip_address_count :: integer, subnet_id :: binary}
instance_state_names()
instance_state_names ::
  :pending |
  :running |
  :shutting_down |
  :terminated |
  :stopping |
  :stopped
instance_types()
instance_types() :: [:t1_micro | :m1_small | :m1_medium | :m1_large | :m1_xlarge | :m3_medium | :m3_large | :m3_xlarge | :m3_2xlarge | :m4_large | :m4_xlarge | :m4_2xlarge | :m4_4xlarge | :m4_10xlarge | :t2_nano | :t2_micro | :t2_small | :t2_medium | :t2_large | :m2_xlarge | :m2_2xlarge | :m2_4xlarge | :cr1_8xlarge | :i2_xlarge | :i2_2xlarge | :i2_4xlarge | :i2_8xlarge | :hi1_4xlarge | :hs1_8xlarge | :c1_medium | :c1_xlarge | :c3_large | :c3_xlarge | :c3_2xlarge | :c3_4xlarge | :c3_8xlarge | :c4_large | :c4_xlarge | :c4_2xlarge | :c4_4xlarge | :c4_8xlarge | :cc1_4xlarge | :cc2_8xlarge | :g2_2xlarge | :g2_8xlarge | :cg1_4xlarge | :r3_large | :r3_xlarge | :r3_2xlarge | :r3_4xlarge | :r3_8xlarge | :d2_xlarge | :d2_2xlarge | :d2_4xlarge | :d2_8xlarge]
io1_size_range()
io1_size_range() :: 4..16384
io1_volume_iops_range()
io1_volume_iops_range() :: 100..20000
ip_permission()
ip_permission() :: {from_port :: pos_integer, ip_protocol :: :tcp | :udp | :icmp | integer, ip_ranges :: ip_range, prefix_list_ids :: [prefix_list_id], to_port :: pos_integer, groups :: [user_id_group_pair]}
ip_range()
ip_range() :: cidr_ip :: binary
launch_permission()
launch_permission() :: {group :: binary, user_id :: binary}
launch_permission_list()
launch_permission_list() :: [launch_permission]
launch_permission_modifications()
launch_permission_modifications() :: {add :: launch_permission_list, remove :: launch_permission_list}
modify_image_attribute_opts()
modify_image_attribute_opts() :: [{:attribute, binary} | {:description, attribute_value} | {:dry_run, boolean} | {:launch_permission, launch_permission_modifications} | {:operation_type, :add | :remove} | [{:product_code_1, :add | :remove}, ...] | [{:user_group_1, [binary]}, ...] | {:value, binary}]
modify_instance_attribute_opts()
modify_instance_attribute_opts() :: [{:attribute, attributes} | [{:block_device_mapping_1, [instance_block_device_mapping_specification]}, ...] | {:disable_api_termination, attribute_boolean_value} | {:dry_run, boolean} | {:ebs_optimized, attribute_boolean_value} | [{:group_id_1, [binary]}, ...] | {:instance_initiated_shutdown_behavior, attribute_value} | {:kernel, attribute_value} | {:ramdisk, attribute_value} | {:source_dest_check, attribute_boolean_value} | {:sriov_net_support, attribute_value} | {:user_data, attribute_value} | {:value, binary}]
modify_snapshot_attribute_opts()
modify_snapshot_attribute_opts() :: [{:attribute, :product_codes | :create_volume_permission} | {:create_volume_permission, create_volume_permission_modifications} | {:dry_run, boolean} | [{:user_group_1, [binary]}, ...] | {:operation_type, :add | :remove} | [{:user_id_1, [binary]}, ...]]
modify_subnet_attribute_opts()
modify_subnet_attribute_opts() :: [{:map_public_ip_on_launch, attribute_boolean_value}]
modify_volume_attribute_opts()
modify_volume_attribute_opts() :: [auto_enable_io: attribute_boolean_value, dry_run: boolean]
modify_vpc_attribute_opts()
modify_vpc_attribute_opts() :: [enable_dns_hostnames: attribute_boolean_value, enable_dns_support: attribute_boolean_value]
monitor_instances_opts()
monitor_instances_opts() :: [{:dry_run, boolean} | [{:instance_id_1, [binary]}, ...]]
placement()
placement() :: {affinity :: binary, availability_zone :: binary, group_name :: binary, host_id :: binary, tenancy :: :default | :dedicated | :host}
prefix_list_id()
prefix_list_id() :: prefix_list_id :: binary
private_ip_address_specification()
private_ip_address_specification() :: {private_ip_address :: boolean, private_ip_address :: binary}
reason_code()
reason_code ::
  :instance_stuck_in_state |
  :unresponsive |
  :not_accepting_credentials |
  :password_not_available |
  :performance_network |
  :performance_instance_store |
  :perforamce_ebs_volume |
  :performance_other |
  :other
reboot_instances_opts()
reboot_instances_opts() :: [{:dry_run, boolean} | [{:instance_id_1, [binary]}, ...]]
register_image_opts()
register_image_opts() :: [{:architecture, :i386 | :x86_64} | [{:block_device_mapping_1, block_device_mapping_list}, ...] | {:description, binary} | {:dry_run, boolean} | {:image_location, binary} | {:kernel_id, binary} | {:ram_disk_id, binary} | {:root_device_name, binary} | {:sriov_net_support, binary} | {:virtualization_type, binary}]
report_instance_status_opts()
report_instance_status_opts() :: [{:description, binary} | {:dry_run, boolean} | {:end_time, datetime} | [{:instance_id_1, [binary]}, ...] | [{:reason_code_1, reason_code}, ...] | {:start_time, datetime} | {:status, :ok | :impaired}]
reset_image_attribute_opts()
reset_image_attribute_opts() :: [{:dry_run, boolean}]
reset_instance_attribute_opts()
reset_instance_attribute_opts() :: [{:dry_run, boolean}]
reset_snapshot_attribute_opts()
reset_snapshot_attribute_opts() :: [{:dry_run, boolean}]
resource_types()
resource_types ::
  :customer_gateway |
  :dhcp_options |
  :image |
  :instance |
  :internet_gateway |
  :network_acl |
  :network_interface |
  :reserved_instance |
  :route_table |
  :security_group |
  :snapshot |
  :spot_instance_request |
  :subnet |
  :volume |
  :vpc |
  :vpn_connection |
  :vpn_gateway
revoke_security_group_egress_opts()
revoke_security_group_egress_opts() :: [{:cidr_ip, binary} | {:dry_run, boolean} | {:from_port, integer} | {:group_name, binary} | [{:ip_permissions_1, [ip_permission]}, ...] | {:ip_protocol, binary} | {:source_security_group_name, binary} | {:source_security_group_owner_id, binary} | {:to_port, integer}]
revoke_security_group_ingress_opts()
revoke_security_group_ingress_opts() :: [{:cidr_ip, binary} | {:dry_run, boolean} | {:from_port, integer} | {:group_id, binary} | {:group_name, binary} | [{:ip_permissions_1, [ip_permission]}, ...] | {:ip_protocol, binary} | {:source_security_group_name, binary} | {:source_security_group_owner_id, binary} | {:to_port, integer}]
run_instances_monitoring_enabled()
run_instances_monitoring_enabled() :: enabled :: boolean
run_instances_opts()
run_instances_opts() :: [{:additional_info, binary} | [{:block_device_mapping_1, block_device_mapping_list}, ...] | {:client_token, binary} | {:disable_api_termination, boolean} | {:dry_run, boolean} | {:ebs_optimized, boolean} | {:iam_instance_profile, iam_instance_profile} | {:instance_initiated_shutdown_behavior, :stop | :terminate} | {:instance_type, instance_types} | {:kernel_id, binary} | {:key_name, binary} | {:monitoring, run_instances_monitoring_enabled} | [{:network_interface_1, [instance_network_interface_specification]}, ...] | {:placement, placement} | {:private_ip_address, binary} | {:ram_disk_id, binary} | [{:security_group_id_1, [binary]}, ...] | [{:security_group_1, [binary]}, ...] | {:user_data, binary}]
s3_storage()
s3_storage() :: {aws_access_key_id :: binary, bucket :: binary, prefix :: binary, upload_policy :: binary, upload_policy_signature :: Base.url_encode64(binary)}
sc1_size_range()
sc1_size_range() :: 500..16384
st1_size_range()
st1_size_range() :: 500..16384
standard_size_range()
standard_size_range() :: 1..1024
start_instances_opts()
start_instances_opts() :: [{:additional_info, binary} | {:dry_run, boolean} | [{:instance_id_1, [binary]}, ...]]
stop_instances_opts()
stop_instances_opts() :: [{:dry_run, boolean} | {:force, boolean} | [{:instance_id_1, [binary]}, ...]]
tag()
tag() :: {key :: binary, value :: binary}
terminate_instances_opts()
terminate_instances_opts() :: [{:dry_run, boolean} | [{:instance_id_1, [binary]}, ...]]
unmonitor_instances_opts()
unmonitor_instances_opts() :: [{:dry_run, boolean} | [{:instance_id_1, [binary]}, ...]]
user_id_group_pair()
user_id_group_pair() :: {group_id :: binary, group_name :: binary, peering_status :: binary, user_id :: binary, vpc_id :: binary, vpc_peering_connection_id :: binary}

Functions

attach_volume(instance_id, volume_id, device, opts \\ [])
attach_volume(instance_id :: binary, volume_id :: binary, device :: binary, opts :: attach_volume_opts) :: ExAws.Operation.RestQuery.t

Attaches an EBS volume to a running or stopped instance and exposes it to the instance with the specified device name.

authorize_security_group_egress(group_id, opts \\ [])
authorize_security_group_egress(group_id :: binary, opts :: authorize_security_group_egress_opts) :: ExAws.Operation.RestQuery.t

Adds one or more egress rules to a security group for use with a VPC.

authorize_security_group_ingress(opts \\ [])
authorize_security_group_ingress(opts :: authorize_security_group_ingress_opts) :: ExAws.Operation.RestQuery.t

Adds one or more ingress rules to a security group.

bundle_instance(instance_id, arg, opts \\ [])
bundle_instance(instance_id :: binary, s3_storage, opts :: bundle_instance_opts) :: ExAws.Operation.RestQuery.t

Bundles an Amazon instance store-backed Windows instance. During bundling, only the root device volume (C:) is bundled. Data on other instance store volumes is not preserved.

cancel_bundle_task(bundle_id, opts \\ [])
cancel_bundle_task(bundle_id :: binary, opts :: cancel_bundle_task_opts) :: ExAws.Operation.RestQuery.t

Cancels a bundling operation for an instance store-backed Windows instance.

copy_image(name, source_image_id, source_region, opts \\ [])
copy_image(name :: binary, source_image_id :: binary, source_region :: binary, opts :: copy_image_opts) :: ExAws.Operation.RestQuery.t

Initiates the copy of an AMI from the specified source region to the current region. You specify the destination region by using its endpoint when making the request.

copy_snapshot(source_snapshot_id, source_region, opts \\ [])
copy_snapshot(source_snapshot_id :: binary, source_region :: binary, opts :: copy_snapshot_opts) :: ExAws.Operation.RestQuery.t

Copies a point-in-time snapshot of an EBS volume and stores it in Amazon S3. You can copy the snapshot within the same region or from one region to another.

create_image(instance_id, name, opts \\ [])
create_image(instance_id :: binary, name :: binary, opts :: create_image_opts) :: ExAws.Operation.RestQuery.t

Creates an Amazon EBS-backed AMI from an Amazon EBS-backed instance that is either running or stopped.

create_key_pair(key_name, opts \\ [])
create_key_pair(key_name :: binary, opts :: create_key_pair_opts) :: ExAws.Operation.RestQuery.t

Creates a 2048-bit RSA key pair with the specified name. Amazon EC2 stores the public key and displays the private key for you to save to a file. The private key is returned as an unencrypted PEM encoded PKCS#8 private key.

create_security_group(group_name, group_description, opts \\ [])
create_security_group(group_name :: binary, group_description :: binary, opts :: create_security_group_opts) :: ExAws.Operation.RestQuery.t

Creates a security group.

create_snapshot(volume_id, opts \\ [])
create_snapshot(volume_id :: binary, opts :: create_snapshot_opts) :: ExAws.Operation.RestQuery.t

Creates a snapshot of an EBS volume and stores it in Amazon S3. You can use snapshots for backups, to make copies of EBS volumes, and to save data before shutting down an instance.

create_subnet(vpc_id, cidr_block, opts \\ [])
create_subnet(vpc_id :: binary, cidr_block :: binary, opts :: create_subnet_opts) :: ExAws.Operation.RestQuery.t

Creates a subnet in an existing VPC.

create_tags(resource_ids, tags, opts \\ [])
create_tags(resource_ids :: [binary], tags :: [tag], opts :: create_tags_opts) :: ExAws.Operation.RestQuery.t

Adds or overwrites one or more tags for the specified Amazon EC2 resource or resources. Each resource can have a maximum of 10 tags. Each tag consists of a key and optional value. Tag keys must be unique per resource.

create_volume(availability_zone, size, opts \\ [])
create_volume(availability_zone :: binary, size :: available_size_ranges, opts :: create_volume_opts) :: ExAws.Operation.RestQuery.t

Creates an EBS volume that can be attached to an instance in the same Availability Zone. The volume is created in the regional endpoint that you send the HTTP request to.

create_vpc(cidr_block, opts \\ [])
create_vpc(cidr_block :: binary, opts :: create_vpc_opts) :: ExAws.Operation.RestQuery.t

Creates a VPC with the specified CIDR block.

delete_key_pair(key_name, opts \\ [])
delete_key_pair(key_name :: binary, opts :: delete_key_pair_opts) :: ExAws.Operation.RestQuery.t

Deletes the specified key pair, by removing the public key from Amazon EC2.

delete_snapshot(snapshot_id, opts \\ [])
delete_snapshot(snapshot_id :: binary, opts :: delete_snapshot_opts) :: ExAws.Operation.RestQuery.t

Deletes the specified snapshot.

delete_subnet(subnet_id, opts \\ [])
delete_subnet(subnet_id :: binary, opts :: delete_subnet_opts) :: ExAws.Operation.RestQuery.t

Deletes the specified subnet.

delete_tags(resource_ids, opts \\ [])
delete_tags(resource_ids :: [binary], opts :: delete_tags_opts) :: ExAws.Operation.RestQuery.t

Deletes the specified set of tags from the specified set of resources.

delete_volume(volume_id, opts \\ [])
delete_volume(volume_id :: binary, opts :: delete_volume_opts) :: ExAws.Operation.RestQuery.t

Deletes the specified EBS volume. The volume must be in the available state (not attached to an instance).

delete_vpc(vpc_id, opts \\ [])
delete_vpc(vpc_id :: binary, opts :: delete_vpc_opts) :: ExAws.Operation.RestQuery.t

Deletes the specified VPC.

deregister_image(image_id, opts \\ [])
deregister_image(image_id :: binary, opts :: deregister_image_opts) :: ExAws.Operation.RestQuery.t

Deregisters the specified AMI. After you deregister an AMI, it can’t be used to launch new instances.

describe_account_attributes(opts \\ [])
describe_account_attributes(opts :: describe_account_attributes_opts) :: ExAws.Operation.RestQuery.t

Describes attributes of your AWS account.

describe_availability_zones(opts \\ [])
describe_availability_zones(opts :: describe_availability_zones_opts) :: ExAws.Operation.RestQuery.t

Describes one or more of the Availability Zones that are available to you. The results include zones only for the region you’re currently using.

describe_bundle_tasks(opts \\ [])
describe_bundle_tasks(opts :: describe_bundle_tasks_opts) :: ExAws.Operation.RestQuery.t

Describes one or more of your bundling tasks.

describe_id_format(opts \\ [])
describe_id_format(opts :: describe_id_format_opts) :: ExAws.Operation.RestQuery.t

Describes the ID format settings for your resources on a per-region basis, for example, to view which resource types are enabled for longer IDs.

describe_image_attribute(image_id, attribute, opts \\ [])
describe_image_attribute(image_id :: binary, attribute :: binary, opts :: describe_image_attribute_opts) :: ExAws.Operation.RestQuery.t

Describes the specified attribute of the specified AMI. You can specify only one attribute at a time.

describe_images(opts \\ [])

Describes one or more of the images (AMIs, AKIs, and ARIs) available to you.

describe_instance_attribute(instance_id, attribute, opts \\ [])
describe_instance_attribute(instance_id :: binary, attribute :: binary, opts :: describe_instance_attribute_opts) :: ExAws.Operation.RestQuery.t

Describes the specified attribute of the specified instance. You can specify only one attribute at a time.

describe_instance_status(opts \\ [])
describe_instance_status(opts :: describe_instance_status_opts) :: ExAws.Operation.RestQuery.t

Describes the status of one or more instances. By default, only running instances are described, unless specified otherwise.

describe_instances(opts \\ [])
describe_instances(opts :: describe_instances_opts) :: ExAws.Operation.RestQuery.t

Describes one or more of your instances.

describe_key_pairs(opts \\ [])
describe_key_pairs(opts :: describe_key_pairs_opts) :: ExAws.Operation.RestQuery.t

Describes one or more of your key pairs.

describe_regions(opts \\ [])
describe_regions(opts :: describe_regions_opts) :: ExAws.Operation.RestQuery.t

Describes one or more regions that are currently available to you.

describe_security_groups(opts \\ [])
describe_security_groups(opts :: describe_security_groups_opts) :: ExAws.Operation.RestQuery.t

Describes one or more of your security groups.

describe_snapshot_attribute(snapshot_id, attribute, opts \\ [])
describe_snapshot_attribute(snapshot_id :: binary, attribute :: binary, opts :: describe_snapshot_attribute_opts) :: ExAws.Operation.RestQuery.t

Describes the specified attribute of the specified snapshot. You can specify only one attribute at a time.

describe_snapshots(opts \\ [])
describe_snapshots(opts :: describe_snapshots_opts) :: ExAws.Operation.RestQuery.t

Describes one or more of the EBS snapshots available to you.

describe_subnets(opts \\ [])
describe_subnets(opts :: describe_subnets_opts) :: ExAws.Operation.RestQuery.t

Describes one or more of your subnets.

describe_tags(opts \\ [])

Describes one or more of the tags for your EC2 resources.

describe_volume_attribute(volume_id, opts \\ [])
describe_volume_attribute(volume_id :: binary, opts :: describe_volume_attribute_opts) :: ExAws.Operation.RestQuery.t

Describes the specified attribute of the specified volume. You can specify only one attribute at a time.

describe_volume_status(opts \\ [])
describe_volume_status(opts :: describe_volume_status_opts) :: ExAws.Operation.RestQuery.t

Describes the status of the specified volumes.

describe_volumes(opts \\ [])
describe_volumes(opts :: describe_volumes_opts) :: ExAws.Operation.RestQuery.t

Describes the specified EBS volumes.

describe_vpc_attribute(vpc_id, attribute, opts \\ [])
describe_vpc_attribute(vpc_id :: binary, attribute :: binary, opts :: describe_vpc_attribute_opts) :: ExAws.Operation.RestQuery.t

Describes the specified attribute of the specified VPC. You can specify only one attribute at a time.

describe_vpcs(opts \\ [])

Describes one or more of your VPCs.

detach_volume(volume_id, opts \\ [])
detach_volume(volume_id :: binary, opts :: detach_volume_opts) :: ExAws.Operation.RestQuery.t

Detaches an EBS volume from an instance.

enable_volume_io(volume_id, opts \\ [])
enable_volume_io(volume_id :: binary, opts :: enable_volume_io_opts) :: ExAws.Operation.RestQuery.t

Enables I/O operations for a volume that had I/O operations disabled because the data on the volume was potentially inconsistent.

get_console_output(instance_id, opts \\ [])
get_console_output(instance_id :: binary, opts :: get_console_output_opts) :: ExAws.Operation.RestQuery.t

Gets the console output for the specified instance.

get_password_data(instance_id, opts \\ [])
get_password_data(instance_id :: binary, opts :: get_password_data_opts) :: ExAws.Operation.RestQuery.t

Retrieves the encrypted administrator password for an instance running Windows.

import_key_pair(key_name, public_key_material, opts \\ [])
import_key_pair(key_name :: binary, public_key_material :: binary, opts :: import_key_pair_opts) :: ExAws.Operation.RestQuery.t

Imports the public key from an RSA key pair that you created with a third-party tool.

modify_id_format(resource, use_long_ids)
modify_id_format(resource :: binary, use_long_ids :: boolean) :: ExAws.Operation.RestQuery.t

Modifies the ID format for the specified resource on a per-region basis.

modify_image_attribute(image_id, opts \\ [])
modify_image_attribute(image_id :: binary, opts :: modify_image_attribute_opts) :: ExAws.Operation.RestQuery.t

Modifies the specified attribute of the specified AMI. You can specify only one attribute at a time.

modify_instance_attribute(instance_id, opts \\ [])
modify_instance_attribute(instance_id :: binary, opts :: modify_instance_attribute_opts) :: ExAws.Operation.RestQuery.t

Modifies the specified attribute of the specified instance. You can specify only one attribute at a time.

modify_snapshot_attribute(snapshot_id, opts \\ [])
modify_snapshot_attribute(snapshot_id :: binary, opts :: modify_snapshot_attribute_opts) :: ExAws.Operation.RestQuery.t

Adds or removes permission settings for the specified snapshot.

modify_subnet_attribute(subnet_id, opts \\ [])
modify_subnet_attribute(subnet_id :: binary, opts :: modify_subnet_attribute_opts) :: ExAws.Operation.RestQuery.t

Modifies a subnet attribute.

modify_volume_attribute(volume_id, opts \\ [])
modify_volume_attribute(volume_id :: binary, opts :: modify_volume_attribute_opts) :: ExAws.Operation.RestQuery.t

Modifies a volume attribute.

modify_vpc_attribute(vpc_id, opts \\ [])
modify_vpc_attribute(vpc_id :: binary, opts :: modify_vpc_attribute_opts) :: ExAws.Operation.RestQuery.t

Modifies the specified attribute of the specified VPC.

monitor_instances(instance_ids, opts \\ [])
monitor_instances(instance_ids :: [binary], opts :: monitor_instances_opts) :: ExAws.Operation.RestQuery.t

Enables monitoring for a running instance.

reboot_instances(instance_ids, opts \\ [])
reboot_instances(instance_ids :: [binary], opts :: reboot_instances_opts) :: ExAws.Operation.RestQuery.t

Requests a reboot of one or more instances. This operation is asynchronous; it only queues a request to reboot the specified instances.

register_image(name, opts \\ [])
register_image(name :: binary, opts :: register_image_opts) :: ExAws.Operation.RestQuery.t

Registers an AMI. When you’re creating an AMI, this is the final step you must complete before you can launch an instance from the AMI.

report_instance_status(instance_ids, status, opts \\ [])
report_instance_status(instance_ids :: [binary], status :: binary, opts :: report_instance_status_opts) :: ExAws.Operation.RestQuery.t

Submits feedback about the status of an instance. The instance must be in the running state.

reset_image_attribute(image_id, attribute, opts \\ [])
reset_image_attribute(image_id :: binary, attribute :: binary, opts :: reset_image_attribute_opts) :: ExAws.Operation.RestQuery.t

Resets an attribute of an AMI to its default value.

reset_instance_attribute(instance_id, attribute, opts \\ [])
reset_instance_attribute(instance_id :: binary, attribute :: binary, opts :: reset_instance_attribute_opts) :: ExAws.Operation.RestQuery.t

Resets an attribute of an instance to its default value. To reset the kernel or ramdisk, the instance must be in a stopped state. To reset the SourceDestCheck, the instance can be either running or stopped.

reset_snapshot_attribute(snapshot_id, attribute, opts \\ [])
reset_snapshot_attribute(snapshot_id :: binary, attribute :: binary, opts :: reset_snapshot_attribute_opts) :: ExAws.Operation.RestQuery.t

Resets permission settings for the specified snapshot.

revoke_security_group_egress(group_id, opts \\ [])
revoke_security_group_egress(group_id :: binary, opts :: revoke_security_group_egress_opts) :: ExAws.Operation.RestQuery.t

Removes one or more egress rules from a security group for EC2-VPC.

revoke_security_group_ingress(opts \\ [])
revoke_security_group_ingress(opts :: revoke_security_group_ingress_opts) :: ExAws.Operation.RestQuery.t

Removes one or more ingress rules from a security group. The values that you specify in the revoke request (for example, ports) must match the existing rule’s values for the rule to be removed.

run_instances(image_id, max, min, opts \\ [])
run_instances(image_id :: binary, max :: pos_integer, min :: pos_integer, opts :: run_instances_opts) :: ExAws.Operation.RestQuery.t

Launches the speficied number of instance using an AMI.

start_instances(instance_ids, opts \\ [])
start_instances(instance_ids :: [binary], opts :: start_instances_opts) :: ExAws.Operation.RestQuery.t

Starts an Amazon EBS-backed AMI that was previously stopped.

stop_instances(instance_ids, opts \\ [])
stop_instances(instance_ids :: [binary], opts :: stop_instances_opts) :: ExAws.Operation.RestQuery.t

Stops an Amazon EBS-backed AMI that was previously started.

terminate_instances(instance_ids, opts \\ [])
terminate_instances(instance_ids :: [binary], opts :: terminate_instances_opts) :: ExAws.Operation.RestQuery.t

Shuts down one or more instances. Terminated instances remain visible after termination (for approximately one hour).

unmonitor_instances(instance_ids, opts \\ [])
unmonitor_instances(instance_ids :: [binary], opts :: unmonitor_instances_opts) :: ExAws.Operation.RestQuery.t

Disables monitoring for a running instance.