# Copyright 2011-2012 Amazon.com, Inc. or its affiliates. All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License"). You
# may not use this file except in compliance with the License. A copy of
# the License is located at
#
# http://aws.amazon.com/apache2.0/
#
# or in the "license" file accompanying this file. This file is
# distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
# ANY KIND, either express or implied. See the License for the specific
# language governing permissions and limitations under the License.
module AWS
class EC2
# Client class for Amazon Elastic Compute Cloud (EC2).
class Client < Core::Client
API_VERSION = '2012-06-01'
extend Core::Client::QueryXML
# @private
CACHEABLE_REQUESTS = Set[
:describe_addresses,
:describe_availability_zones,
:describe_bundle_tasks,
:describe_customer_gateways,
:describe_dhcp_options,
:describe_image_attribute,
:describe_images,
:describe_instances,
:describe_key_pairs,
:describe_regions,
:describe_reserved_instances,
:describe_reserved_instances_offerings,
:describe_security_groups,
:describe_snapshot_attribute,
:describe_snapshots,
:describe_subnets,
:describe_volume_status,
:describe_volumes,
:describe_vpcs,
:describe_vpn_connections,
:describe_vpn_gateways,
:describe_instance_attribute,
:describe_spot_instance_requests,
:describe_spot_price_history,
:describe_spot_datafeed_subscription,
:describe_licenses,
:describe_placement_groups,
:describe_tags,
:describe_internet_gateways,
:describe_route_tables,
:describe_network_acls,
:describe_instance_status,
:describe_conversion_tasks,
:describe_network_interfaces,
:describe_network_interface_attribute,
]
## client methods ##
# Calls the ActivateLicense API operation.
# @method activate_license(options = {})
#
# === Options:
#
# * +:license_id+ - *required* - (String) Specifies the ID for the
# specific license to activate against.
# * +:capacity+ - *required* - (Integer) Specifies the additional number
# of licenses to activate.
#
# === Response Structure:
#
# This method returns no response data.
#
# @return [Core::Response]
#
define_client_method :activate_license, 'ActivateLicense'
# Calls the AllocateAddress API operation.
# @method allocate_address(options = {})
#
# === Options:
#
# * +:domain+ - (String) Set to vpc to allocate the address to your VPC.
# By default, will allocate to EC2.
#
# === Response Structure:
#
# * +:public_ip+ - (String)
# * +:domain+ - (String)
# * +:allocation_id+ - (String)
#
# @return [Core::Response]
#
define_client_method :allocate_address, 'AllocateAddress'
# Calls the AssociateAddress API operation.
# @method associate_address(options = {})
#
# === Options:
#
# * +:instance_id+ - (String) The instance to associate with
# the IP address.
# * +:public_ip+ - (String) IP address that you are assigning to the
# instance.
# * +:allocation_id+ - (String) The allocation ID that AWS returned when
# you allocated the elastic IP address for use with Amazon VPC.
# * +:network_interface_id+ - (String)
#
# === Response Structure:
#
# * +:association_id+ - (String)
#
# @return [Core::Response]
#
define_client_method :associate_address, 'AssociateAddress'
# Calls the AssociateDhcpOptions API operation.
# @method associate_dhcp_options(options = {})
#
# === Options:
#
# * +:dhcp_options_id+ - *required* - (String) The ID of the DHCP options
# to associate with the VPC. Specify "default" to associate the default
# DHCP options with the VPC.
# * +:vpc_id+ - *required* - (String) The ID of the VPC to associate the
# DHCP options with.
#
# === Response Structure:
#
# This method returns no response data.
#
# @return [Core::Response]
#
define_client_method :associate_dhcp_options, 'AssociateDhcpOptions'
# Calls the AssociateRouteTable API operation.
# @method associate_route_table(options = {})
#
# === Options:
#
# * +:subnet_id+ - *required* - (String) The ID of the subnet.
# * +:route_table_id+ - *required* - (String) The ID of the route table.
#
# === Response Structure:
#
# * +:association_id+ - (String)
#
# @return [Core::Response]
#
define_client_method :associate_route_table, 'AssociateRouteTable'
# Calls the AttachInternetGateway API operation.
# @method attach_internet_gateway(options = {})
#
# === Options:
#
# * +:internet_gateway_id+ - *required* - (String) The ID of the Internet
# gateway to attach.
# * +:vpc_id+ - *required* - (String) The ID of the VPC.
#
# === Response Structure:
#
# This method returns no response data.
#
# @return [Core::Response]
#
define_client_method :attach_internet_gateway, 'AttachInternetGateway'
# Calls the AttachNetworkInterface API operation.
# @method attach_network_interface(options = {})
#
# === Options:
#
# * +:network_interface_id+ - *required* - (String)
# * +:instance_id+ - *required* - (String)
# * +:device_index+ - *required* - (Integer)
#
# === Response Structure:
#
# * +:attachment_id+ - (String)
#
# @return [Core::Response]
#
define_client_method :attach_network_interface, 'AttachNetworkInterface'
# Calls the AttachVolume API operation.
# @method attach_volume(options = {})
#
# === Options:
#
# * +:volume_id+ - *required* - (String) The ID of the Amazon EBS volume.
# The volume and instance must be within the same Availability Zone and
# the instance must be running.
# * +:instance_id+ - *required* - (String) The ID of the instance to
# which the volume attaches. The volume and instance must be within the
# same Availability Zone and the instance must be running.
# * +:device+ - *required* - (String) Specifies how the device is exposed
# to the instance (e.g., /dev/sdh).
#
# === Response Structure:
#
# * +:volume_id+ - (String)
# * +:instance_id+ - (String)
# * +:device+ - (String)
# * +:status+ - (String)
# * +:attach_time+ - (Time)
# * +:delete_on_termination+ - (Boolean)
#
# @return [Core::Response]
#
define_client_method :attach_volume, 'AttachVolume'
# Calls the AttachVpnGateway API operation.
# @method attach_vpn_gateway(options = {})
#
# === Options:
#
# * +:vpn_gateway_id+ - *required* - (String) The ID of the VPN gateway
# to attach to the VPC.
# * +:vpc_id+ - *required* - (String) The ID of the VPC to attach to the
# VPN gateway.
#
# === Response Structure:
#
# * +:attachment+ - (Hash)
# * +:vpc_id+ - (String)
# * +:state+ - (String)
#
# @return [Core::Response]
#
define_client_method :attach_vpn_gateway, 'AttachVpnGateway'
# Calls the AuthorizeSecurityGroupEgress API operation.
# @method authorize_security_group_egress(options = {})
#
# === Options:
#
# * +:group_id+ - *required* - (String) ID of the VPC security group to
# modify.
# * +:source_security_group_name+ - (String) Deprecated.
# * +:source_security_group_owner_id+ - (String) Deprecated.
# * +:ip_protocol+ - (String) Deprecated.
# * +:from_port+ - (Integer) Deprecated.
# * +:to_port+ - (Integer) Deprecated.
# * +:cidr_ip+ - (String) Deprecated.
# * +:ip_permissions+ - (Array<Hash>) List of IP permissions to authorize
# on the specified security group. Specifying permissions through IP
# permissions is the preferred way of authorizing permissions since it
# offers more flexibility and control.
# * +:ip_protocol+ - (String) The IP protocol of this permission. Valid
# protocol values: tcp, udp, icmp
# * +:from_port+ - (Integer) Start of port range for the TCP and UDP
# protocols, or an ICMP type number. An ICMP type number of -1
# indicates a wildcard (i.e., any ICMP type number).
# * +:to_port+ - (Integer) End of port range for the TCP and UDP
# protocols, or an ICMP code. An ICMP code of -1 indicates a wildcard
# (i.e., any ICMP code).
# * +:user_id_group_pairs+ - (Array<Hash>) The list of AWS user IDs and
# groups included in this permission.
# * +:user_id+ - (String) The AWS user ID of an account.
# * +:group_name+ - (String) Name of the security group in the
# specified AWS account. Cannot be used when specifying a CIDR IP
# address range.
# * +:group_id+ - (String) ID of the security group in the specified
# AWS account. Cannot be used when specifying a CIDR IP address
# range.
# * +:ip_ranges+ - (Array<Hash>) The list of CIDR IP ranges included in
# this permission.
# * +:cidr_ip+ - (String) The list of CIDR IP ranges.
#
# === Response Structure:
#
# This method returns no response data.
#
# @return [Core::Response]
#
define_client_method :authorize_security_group_egress, 'AuthorizeSecurityGroupEgress'
# Calls the AuthorizeSecurityGroupIngress API operation.
# @method authorize_security_group_ingress(options = {})
#
# === Options:
#
# * +:group_name+ - (String) Name of the standard (EC2) security group to
# modify. The group must belong to your account. Can be used instead of
# GroupID for standard (EC2) security groups.
# * +:group_id+ - (String) ID of the standard (EC2) or VPC security group
# to modify. The group must belong to your account. Required for VPC
# security groups; can be used instead of GroupName for standard (EC2)
# security groups.
# * +:source_security_group_name+ - (String) Deprecated
# * +:source_security_group_owner_id+ - (String) Deprecated
# * +:ip_protocol+ - (String) Deprecated
# * +:from_port+ - (Integer) Deprecated
# * +:to_port+ - (Integer) Deprecated
# * +:cidr_ip+ - (String) Deprecated
# * +:ip_permissions+ - (Array<Hash>) List of IP permissions to authorize
# on the specified security group. Specifying permissions through IP
# permissions is the preferred way of authorizing permissions since it
# offers more flexibility and control.
# * +:ip_protocol+ - (String) The IP protocol of this permission. Valid
# protocol values: tcp, udp, icmp
# * +:from_port+ - (Integer) Start of port range for the TCP and UDP
# protocols, or an ICMP type number. An ICMP type number of -1
# indicates a wildcard (i.e., any ICMP type number).
# * +:to_port+ - (Integer) End of port range for the TCP and UDP
# protocols, or an ICMP code. An ICMP code of -1 indicates a wildcard
# (i.e., any ICMP code).
# * +:user_id_group_pairs+ - (Array<Hash>) The list of AWS user IDs and
# groups included in this permission.
# * +:user_id+ - (String) The AWS user ID of an account.
# * +:group_name+ - (String) Name of the security group in the
# specified AWS account. Cannot be used when specifying a CIDR IP
# address range.
# * +:group_id+ - (String) ID of the security group in the specified
# AWS account. Cannot be used when specifying a CIDR IP address
# range.
# * +:ip_ranges+ - (Array<Hash>) The list of CIDR IP ranges included in
# this permission.
# * +:cidr_ip+ - (String) The list of CIDR IP ranges.
#
# === Response Structure:
#
# This method returns no response data.
#
# @return [Core::Response]
#
define_client_method :authorize_security_group_ingress, 'AuthorizeSecurityGroupIngress'
# Calls the BundleInstance API operation.
# @method bundle_instance(options = {})
#
# === Options:
#
# * +:instance_id+ - *required* - (String) The ID of the instance to
# bundle.
# * +:storage+ - *required* - (Hash)
# * +:s3+ - (Hash) The details of S3 storage for bundling a Windows
# instance.
# * +:bucket+ - (String) The bucket in which to store the AMI. You
# can specify a bucket that you already own or a new bucket that
# Amazon EC2 creates on your behalf. If you specify a bucket that
# belongs to someone else, Amazon EC2 returns an error.
# * +:prefix+ - (String) The prefix to use when storing the AMI in
# S3.
# * +:aws_access_key_id+ - (String) The Access Key ID of the owner of
# the Amazon S3 bucket.
# * +:upload_policy+ - (String) A Base64-encoded Amazon S3 upload
# policy that gives Amazon EC2 permission to upload items into
# Amazon S3 on the user's behalf.
# * +:upload_policy_signature+ - (String) The signature of the Base64
# encoded JSON document.
#
# === Response Structure:
#
# * +:bundle_instance_task+ - (Hash)
# * +:instance_id+ - (String)
# * +:bundle_id+ - (String)
# * +:state+ - (String)
# * +:start_time+ - (Time)
# * +:update_time+ - (Time)
# * +:storage+ - (Hash)
# * +:s3+ - (Hash)
# * +:bucket+ - (String)
# * +:prefix+ - (String)
# * +:aws_access_key_id+ - (String)
# * +:upload_policy+ - (String)
# * +:upload_policy_signature+ - (String)
# * +:progress+ - (String)
# * +:error+ - (Hash)
# * +:code+ - (String)
# * +:message+ - (String)
#
# @return [Core::Response]
#
define_client_method :bundle_instance, 'BundleInstance'
# Calls the CancelBundleTask API operation.
# @method cancel_bundle_task(options = {})
#
# === Options:
#
# * +:bundle_id+ - *required* - (String) The ID of the bundle task to
# cancel.
#
# === Response Structure:
#
# * +:bundle_instance_task+ - (Hash)
# * +:instance_id+ - (String)
# * +:bundle_id+ - (String)
# * +:state+ - (String)
# * +:start_time+ - (Time)
# * +:update_time+ - (Time)
# * +:storage+ - (Hash)
# * +:s3+ - (Hash)
# * +:bucket+ - (String)
# * +:prefix+ - (String)
# * +:aws_access_key_id+ - (String)
# * +:upload_policy+ - (String)
# * +:upload_policy_signature+ - (String)
# * +:progress+ - (String)
# * +:error+ - (Hash)
# * +:code+ - (String)
# * +:message+ - (String)
#
# @return [Core::Response]
#
define_client_method :cancel_bundle_task, 'CancelBundleTask'
# Calls the CancelConversionTask API operation.
# @method cancel_conversion_task(options = {})
#
# === Options:
#
# * +:conversion_task_id+ - *required* - (String)
# * +:reason_message+ - (String)
#
# === Response Structure:
#
# This method returns no response data.
#
# @return [Core::Response]
#
define_client_method :cancel_conversion_task, 'CancelConversionTask'
# Calls the CancelExportTask API operation.
# @method cancel_export_task(options = {})
#
# === Options:
#
# * +:export_task_id+ - *required* - (String)
#
# === Response Structure:
#
# This method returns no response data.
#
# @return [Core::Response]
#
define_client_method :cancel_export_task, 'CancelExportTask'
# Calls the CancelSpotInstanceRequests API operation.
# @method cancel_spot_instance_requests(options = {})
#
# === Options:
#
# * +:spot_instance_request_ids+ - *required* - (Array<String>) Specifies
# the ID of the Spot Instance request.
#
# === Response Structure:
#
# * +:spot_instance_request_set+ - (Array<Hash>)
# * +:spot_instance_request_id+ - (String)
# * +:state+ - (String)
#
# @return [Core::Response]
#
define_client_method :cancel_spot_instance_requests, 'CancelSpotInstanceRequests'
# Calls the ConfirmProductInstance API operation.
# @method confirm_product_instance(options = {})
#
# === Options:
#
# * +:product_code+ - *required* - (String) The product code to confirm.
# * +:instance_id+ - *required* - (String) The ID of the instance to
# confirm.
#
# === Response Structure:
#
# * +:owner_id+ - (String)
#
# @return [Core::Response]
#
define_client_method :confirm_product_instance, 'ConfirmProductInstance'
# Calls the CreateCustomerGateway API operation.
# @method create_customer_gateway(options = {})
#
# === Options:
#
# * +:type+ - *required* - (String) The type of VPN connection this
# customer gateway supports.
# * +:public_ip+ - *required* - (String) The Internet-routable IP address
# for the customer gateway's outside interface. The address must be
# static
# * +:bgp_asn+ - *required* - (Integer) The customer gateway's Border
# Gateway Protocol (BGP) Autonomous System Number (ASN).
#
# === Response Structure:
#
# * +:customer_gateway+ - (Hash)
# * +:customer_gateway_id+ - (String)
# * +:state+ - (String)
# * +:type+ - (String)
# * +:ip_address+ - (String)
# * +:bgp_asn+ - (String)
# * +:tag_set+ - (Array<Hash>)
# * +:key+ - (String)
# * +:value+ - (String)
#
# @return [Core::Response]
#
define_client_method :create_customer_gateway, 'CreateCustomerGateway'
# Calls the CreateDhcpOptions API operation.
# @method create_dhcp_options(options = {})
#
# === Options:
#
# * +:dhcp_configurations+ - *required* - (Array<Hash>) A set of one or
# more DHCP configurations.
# * +:key+ - (String) Contains the name of a DHCP option.
# * +:values+ - (Array<String>) Contains a set of values for a DHCP
# option.
#
# === Response Structure:
#
# * +:dhcp_options+ - (Hash)
# * +:dhcp_options_id+ - (String)
# * +:dhcp_configuration_set+ - (Array<Hash>)
# * +:key+ - (String)
# * +:value_set+ - (Array<String>)
# * +:tag_set+ - (Array<Hash>)
# * +:key+ - (String)
# * +:value+ - (String)
#
# @return [Core::Response]
#
define_client_method :create_dhcp_options, 'CreateDhcpOptions'
# Calls the CreateImage API operation.
# @method create_image(options = {})
#
# === Options:
#
# * +:instance_id+ - *required* - (String) The ID of the instance from
# which to create the new image.
# * +:name+ - *required* - (String) The name for the new AMI being
# created.
# * +:description+ - (String) The description for the new AMI being
# created.
# * +:no_reboot+ - (Boolean) By default this property is set to +false+ ,
# which means Amazon EC2 attempts to cleanly shut down the instance
# before image creation and reboots the instance afterwards. When set
# to +true+ , Amazon EC2 will not shut down the instance before
# creating the image. When this option is used, file system integrity
# on the created image cannot be guaranteed.
#
# === Response Structure:
#
# * +:image_id+ - (String)
#
# @return [Core::Response]
#
define_client_method :create_image, 'CreateImage'
# Calls the CreateInstanceExportTask API operation.
# @method create_instance_export_task(options = {})
#
# === Options:
#
# * +:description+ - (String)
# * +:instance_id+ - *required* - (String)
# * +:target_environment+ - *required* - (String)
# * +:export_to_s3+ - (Hash)
# * +:disk_image_format+ - (String)
# * +:container_format+ - (String)
# * +:s3_bucket+ - *required* - (String)
# * +:s3_prefix+ - (String)
#
# === Response Structure:
#
# * +:request_id+ - (String)
# * +:export_task+ - (Hash)
# * +:export_task_id+ - (String)
# * +:description+ - (String)
# * +:state+ - (String)
# * +:status_message+ - (String)
# * +:instance_export+ - (Hash)
# * +:instance_id+ - (String)
# * +:target_environment+ - (String)
# * +:export_to_s3+ - (Hash)
# * +:disk_image_format+ - (String)
# * +:container_format+ - (String)
# * +:s3_bucket+ - (String)
# * +:s3_key+ - (String)
#
# @return [Core::Response]
#
define_client_method :create_instance_export_task, 'CreateInstanceExportTask'
# Calls the CreateInternetGateway API operation.
# @method create_internet_gateway(options = {})
#
# === Options:
#
# This method accepts no options.
#
# === Response Structure:
#
# * +:internet_gateway+ - (Hash)
# * +:internet_gateway_id+ - (String)
# * +:attachment_set+ - (Array<Hash>)
# * +:vpc_id+ - (String)
# * +:state+ - (String)
# * +:tag_set+ - (Array<Hash>)
# * +:key+ - (String)
# * +:value+ - (String)
#
# @return [Core::Response]
#
define_client_method :create_internet_gateway, 'CreateInternetGateway'
# Calls the CreateKeyPair API operation.
# @method create_key_pair(options = {})
#
# === Options:
#
# * +:key_name+ - *required* - (String) The unique name for the new key
# pair.
#
# === Response Structure:
#
# * +:key_pair+ - (Hash)
# * +:key_name+ - (String)
# * +:key_fingerprint+ - (String)
# * +:key_material+ - (String)
#
# @return [Core::Response]
#
define_client_method :create_key_pair, 'CreateKeyPair'
# Calls the CreateNetworkAcl API operation.
# @method create_network_acl(options = {})
#
# === Options:
#
# * +:vpc_id+ - *required* - (String) The ID of the VPC where the network
# ACL will be created.
#
# === Response Structure:
#
# * +:network_acl+ - (Hash)
# * +:network_acl_id+ - (String)
# * +:vpc_id+ - (String)
# * +:default+ - (Boolean)
# * +:entry_set+ - (Array<Hash>)
# * +:rule_number+ - (Integer)
# * +:protocol+ - (String)
# * +:rule_action+ - (String)
# * +:egress+ - (Boolean)
# * +:cidr_block+ - (String)
# * +:icmp_type_code+ - (Hash)
# * +:type+ - (Integer)
# * +:code+ - (Integer)
# * +:port_range+ - (Hash)
# * +:from+ - (Integer)
# * +:to+ - (Integer)
# * +:association_set+ - (Array<Hash>)
# * +:network_acl_association_id+ - (String)
# * +:network_acl_id+ - (String)
# * +:subnet_id+ - (String)
# * +:tag_set+ - (Array<Hash>)
# * +:key+ - (String)
# * +:value+ - (String)
#
# @return [Core::Response]
#
define_client_method :create_network_acl, 'CreateNetworkAcl'
# Calls the CreateNetworkAclEntry API operation.
# @method create_network_acl_entry(options = {})
#
# === Options:
#
# * +:network_acl_id+ - *required* - (String) ID of the ACL where the
# entry will be created.
# * +:rule_number+ - *required* - (Integer) Rule number to assign to the
# entry (e.g., 100). ACL entries are processed in ascending order by
# rule number.
# * +:protocol+ - *required* - (String) IP protocol the rule applies to.
# Valid Values: tcp, udp, icmp or an IP protocol number.
# * +:rule_action+ - *required* - (String) Whether to allow or deny
# traffic that matches the rule.
# * +:egress+ - *required* - (Boolean) Whether this rule applies to
# egress traffic from the subnet ( +true+ ) or ingress traffic to the
# subnet ( +false+ ).
# * +:cidr_block+ - *required* - (String) The CIDR range to allow or
# deny, in CIDR notation (e.g., 172.16.0.0/24).
# * +:icmp_type_code+ - (Hash) ICMP values.
# * +:type+ - (Integer) For the ICMP protocol, the ICMP type. A value
# of -1 is a wildcard meaning all types. Required if specifying icmp
# for the protocol.
# * +:code+ - (Integer) For the ICMP protocol, the ICMP code. A value
# of -1 is a wildcard meaning all codes. Required if specifying icmp
# for the protocol.
# * +:port_range+ - (Hash) Port ranges.
# * +:from+ - (Integer) The first port in the range. Required if
# specifying tcp or udp for the protocol.
# * +:to+ - (Integer) The last port in the range. Required if
# specifying tcp or udp for the protocol.
#
# === Response Structure:
#
# This method returns no response data.
#
# @return [Core::Response]
#
define_client_method :create_network_acl_entry, 'CreateNetworkAclEntry'
# Calls the CreateNetworkInterface API operation.
# @method create_network_interface(options = {})
#
# === Options:
#
# * +:subnet_id+ - *required* - (String)
# * +:description+ - (String)
# * +:private_ip_address+ - (String)
# * +:groups+ - (Array<String>)
#
# === Response Structure:
#
# * +:network_interface+ - (Hash)
# * +:network_interface_id+ - (String)
# * +:subnet_id+ - (String)
# * +:vpc_id+ - (String)
# * +:availability_zone+ - (String)
# * +:description+ - (String)
# * +:owner_id+ - (String)
# * +:requester_id+ - (String)
# * +:requester_managed+ - (Boolean)
# * +:status+ - (String)
# * +:mac_address+ - (String)
# * +:private_ip_address+ - (String)
# * +:private_dns_name+ - (String)
# * +:source_dest_check+ - (Boolean)
# * +:group_set+ - (Array<Hash>)
# * +:group_name+ - (String)
# * +:group_id+ - (String)
# * +:attachment+ - (Hash)
# * +:attachment_id+ - (String)
# * +:instance_id+ - (String)
# * +:instance_owner_id+ - (String)
# * +:device_index+ - (Integer)
# * +:status+ - (String)
# * +:attach_time+ - (Time)
# * +:delete_on_termination+ - (Boolean)
# * +:association+ - (Hash)
# * +:public_ip+ - (String)
# * +:ip_owner_id+ - (String)
# * +:allocation_id+ - (String)
# * +:association_id+ - (String)
# * +:tag_set+ - (Array<Hash>)
# * +:key+ - (String)
# * +:value+ - (String)
#
# @return [Core::Response]
#
define_client_method :create_network_interface, 'CreateNetworkInterface'
# Calls the CreatePlacementGroup API operation.
# @method create_placement_group(options = {})
#
# === Options:
#
# * +:group_name+ - *required* - (String) The name of the PlacementGroup.
# * +:strategy+ - *required* - (String) The PlacementGroup strategy.
#
# === Response Structure:
#
# This method returns no response data.
#
# @return [Core::Response]
#
define_client_method :create_placement_group, 'CreatePlacementGroup'
# Calls the CreateRoute API operation.
# @method create_route(options = {})
#
# === Options:
#
# * +:route_table_id+ - *required* - (String) The ID of the route table
# where the route will be added.
# * +:destination_cidr_block+ - *required* - (String) The CIDR address
# block used for the destination match. For example: 0.0.0.0/0. Routing
# decisions are based on the most specific match.
# * +:gateway_id+ - (String) The ID of a VPN or Internet gateway attached
# to your VPC. You must provide either GatewayId or InstanceId, but not
# both.
# * +:instance_id+ - (String) The ID of a NAT instance in your VPC. You
# must provide either GatewayId or InstanceId, but not both.
# * +:network_interface_id+ - (String)
#
# === Response Structure:
#
# This method returns no response data.
#
# @return [Core::Response]
#
define_client_method :create_route, 'CreateRoute'
# Calls the CreateRouteTable API operation.
# @method create_route_table(options = {})
#
# === Options:
#
# * +:vpc_id+ - *required* - (String) The ID of the VPC where the route
# table will be created.
#
# === Response Structure:
#
# * +:route_table+ - (Hash)
# * +:route_table_id+ - (String)
# * +:vpc_id+ - (String)
# * +:route_set+ - (Array<Hash>)
# * +:destination_cidr_block+ - (String)
# * +:gateway_id+ - (String)
# * +:instance_id+ - (String)
# * +:instance_owner_id+ - (String)
# * +:network_interface_id+ - (String)
# * +:state+ - (String)
# * +:association_set+ - (Array<Hash>)
# * +:route_table_association_id+ - (String)
# * +:route_table_id+ - (String)
# * +:subnet_id+ - (String)
# * +:main+ - (Boolean)
# * +:tag_set+ - (Array<Hash>)
# * +:key+ - (String)
# * +:value+ - (String)
#
# @return [Core::Response]
#
define_client_method :create_route_table, 'CreateRouteTable'
# Calls the CreateSecurityGroup API operation.
# @method create_security_group(options = {})
#
# === Options:
#
# * +:group_name+ - *required* - (String) Name of the security group.
# * +:description+ - *required* - (String) Description of the group. This
# is informational only.
# * +:vpc_id+ - (String) ID of the VPC.
#
# === Response Structure:
#
# * +:group_id+ - (String)
#
# @return [Core::Response]
#
define_client_method :create_security_group, 'CreateSecurityGroup'
# Calls the CreateSnapshot API operation.
# @method create_snapshot(options = {})
#
# === Options:
#
# * +:volume_id+ - *required* - (String) The ID of the volume from which
# to create the snapshot.
# * +:description+ - (String) The description for the new snapshot.
#
# === Response Structure:
#
# * +:snapshot_id+ - (String)
# * +:volume_id+ - (String)
# * +:status+ - (String)
# * +:start_time+ - (Time)
# * +:progress+ - (String)
# * +:owner_id+ - (String)
# * +:description+ - (String)
# * +:volume_size+ - (Integer)
# * +:owner_alias+ - (String)
# * +:tag_set+ - (Array<Hash>)
# * +:key+ - (String)
# * +:value+ - (String)
#
# @return [Core::Response]
#
define_client_method :create_snapshot, 'CreateSnapshot'
# Calls the CreateSpotDatafeedSubscription API operation.
# @method create_spot_datafeed_subscription(options = {})
#
# === Options:
#
# * +:bucket+ - *required* - (String) The Amazon S3 bucket in which to
# store the Spot Instance datafeed.
# * +:prefix+ - (String) The prefix that is prepended to datafeed files.
#
# === Response Structure:
#
# * +:spot_datafeed_subscription+ - (Hash)
# * +:owner_id+ - (String)
# * +:bucket+ - (String)
# * +:prefix+ - (String)
# * +:state+ - (String)
# * +:fault+ - (Hash)
# * +:code+ - (String)
# * +:message+ - (String)
#
# @return [Core::Response]
#
define_client_method :create_spot_datafeed_subscription, 'CreateSpotDatafeedSubscription'
# Calls the CreateSubnet API operation.
# @method create_subnet(options = {})
#
# === Options:
#
# * +:vpc_id+ - *required* - (String) The ID of the VPC to create the
# subnet in.
# * +:cidr_block+ - *required* - (String) The CIDR block the subnet is to
# cover.
# * +:availability_zone+ - (String) The Availability Zone to create the
# subnet in.
#
# === Response Structure:
#
# * +:subnet+ - (Hash)
# * +:subnet_id+ - (String)
# * +:state+ - (String)
# * +:vpc_id+ - (String)
# * +:cidr_block+ - (String)
# * +:available_ip_address_count+ - (Integer)
# * +:availability_zone+ - (String)
# * +:tag_set+ - (Array<Hash>)
# * +:key+ - (String)
# * +:value+ - (String)
#
# @return [Core::Response]
#
define_client_method :create_subnet, 'CreateSubnet'
# Calls the CreateTags API operation.
# @method create_tags(options = {})
#
# === Options:
#
# * +:resources+ - *required* - (Array<String>) One or more IDs of
# resources to tag. This could be the ID of an AMI, an instance, an EBS
# volume, or snapshot, etc.
# * +:tags+ - *required* - (Array<Hash>) The tags to add or overwrite for
# the specified resources. Each tag item consists of a key-value pair.
# * +:key+ - (String) The tag's key.
# * +:value+ - (String) The tag's value.
#
# === Response Structure:
#
# This method returns no response data.
#
# @return [Core::Response]
#
define_client_method :create_tags, 'CreateTags'
# Calls the CreateVolume API operation.
# @method create_volume(options = {})
#
# === Options:
#
# * +:size+ - (Integer) The size of the volume, in gigabytes. Required if
# you are not creating a volume from a snapshot.
# * +:snapshot_id+ - (String) The ID of the snapshot from which to create
# the new volume.
# * +:availability_zone+ - *required* - (String) The Availability Zone in
# which to create the new volume.
#
# === Response Structure:
#
# * +:volume_id+ - (String)
# * +:size+ - (Integer)
# * +:snapshot_id+ - (String)
# * +:availability_zone+ - (String)
# * +:status+ - (String)
# * +:create_time+ - (Time)
# * +:attachment_set+ - (Array<Hash>)
# * +:volume_id+ - (String)
# * +:instance_id+ - (String)
# * +:device+ - (String)
# * +:status+ - (String)
# * +:attach_time+ - (Time)
# * +:delete_on_termination+ - (Boolean)
# * +:tag_set+ - (Array<Hash>)
# * +:key+ - (String)
# * +:value+ - (String)
#
# @return [Core::Response]
#
define_client_method :create_volume, 'CreateVolume'
# Calls the CreateVpc API operation.
# @method create_vpc(options = {})
#
# === Options:
#
# * +:cidr_block+ - *required* - (String) A valid CIDR block.
# * +:instance_tenancy+ - (String) The allowed tenancy of instances
# launched into the VPC. A value of default means instances can be
# launched with any tenancy; a value of dedicated means instances must
# be launched with tenancy as dedicated.
#
# === Response Structure:
#
# * +:vpc+ - (Hash)
# * +:vpc_id+ - (String)
# * +:state+ - (String)
# * +:cidr_block+ - (String)
# * +:dhcp_options_id+ - (String)
# * +:tag_set+ - (Array<Hash>)
# * +:key+ - (String)
# * +:value+ - (String)
# * +:instance_tenancy+ - (String)
#
# @return [Core::Response]
#
define_client_method :create_vpc, 'CreateVpc'
# Calls the CreateVpnConnection API operation.
# @method create_vpn_connection(options = {})
#
# === Options:
#
# * +:type+ - *required* - (String) The type of VPN connection.
# * +:customer_gateway_id+ - *required* - (String) The ID of the customer
# gateway.
# * +:vpn_gateway_id+ - *required* - (String) The ID of the VPN gateway.
#
# === Response Structure:
#
# * +:vpn_connection+ - (Hash)
# * +:vpn_connection_id+ - (String)
# * +:state+ - (String)
# * +:customer_gateway_configuration+ - (String)
# * +:type+ - (String)
# * +:customer_gateway_id+ - (String)
# * +:vpn_gateway_id+ - (String)
# * +:tag_set+ - (Array<Hash>)
# * +:key+ - (String)
# * +:value+ - (String)
# * +:vgw_telemetry+ - (Array<Hash>)
# * +:outside_ip_address+ - (String)
# * +:status+ - (String)
# * +:last_status_change+ - (Time)
# * +:status_message+ - (String)
# * +:accepted_route_count+ - (Integer)
#
# @return [Core::Response]
#
define_client_method :create_vpn_connection, 'CreateVpnConnection'
# Calls the CreateVpnGateway API operation.
# @method create_vpn_gateway(options = {})
#
# === Options:
#
# * +:type+ - *required* - (String) The type of VPN connection this VPN
# gateway supports.
# * +:availability_zone+ - (String) The Availability Zone in which to
# create the VPN gateway.
#
# === Response Structure:
#
# * +:vpn_gateway+ - (Hash)
# * +:vpn_gateway_id+ - (String)
# * +:state+ - (String)
# * +:vpn_type+ - (String)
# * +:availability_zone+ - (String)
# * +:attachments+ - (Array<Hash>)
# * +:vpc_id+ - (String)
# * +:state+ - (String)
# * +:tag_set+ - (Array<Hash>)
# * +:key+ - (String)
# * +:value+ - (String)
#
# @return [Core::Response]
#
define_client_method :create_vpn_gateway, 'CreateVpnGateway'
# Calls the DeactivateLicense API operation.
# @method deactivate_license(options = {})
#
# === Options:
#
# * +:license_id+ - *required* - (String) Specifies the ID for the
# specific license to deactivate against.
# * +:capacity+ - *required* - (Integer) Specifies the amount of capacity
# to deactivate against the license.
#
# === Response Structure:
#
# This method returns no response data.
#
# @return [Core::Response]
#
define_client_method :deactivate_license, 'DeactivateLicense'
# Calls the DeleteCustomerGateway API operation.
# @method delete_customer_gateway(options = {})
#
# === Options:
#
# * +:customer_gateway_id+ - *required* - (String) The ID of the customer
# gateway to delete.
#
# === Response Structure:
#
# This method returns no response data.
#
# @return [Core::Response]
#
define_client_method :delete_customer_gateway, 'DeleteCustomerGateway'
# Calls the DeleteDhcpOptions API operation.
# @method delete_dhcp_options(options = {})
#
# === Options:
#
# * +:dhcp_options_id+ - *required* - (String) The ID of the DHCP options
# set to delete.
#
# === Response Structure:
#
# This method returns no response data.
#
# @return [Core::Response]
#
define_client_method :delete_dhcp_options, 'DeleteDhcpOptions'
# Calls the DeleteInternetGateway API operation.
# @method delete_internet_gateway(options = {})
#
# === Options:
#
# * +:internet_gateway_id+ - *required* - (String) The ID of the Internet
# gateway to be deleted.
#
# === Response Structure:
#
# This method returns no response data.
#
# @return [Core::Response]
#
define_client_method :delete_internet_gateway, 'DeleteInternetGateway'
# Calls the DeleteKeyPair API operation.
# @method delete_key_pair(options = {})
#
# === Options:
#
# * +:key_name+ - *required* - (String) The name of the Amazon EC2 key
# pair to delete.
#
# === Response Structure:
#
# This method returns no response data.
#
# @return [Core::Response]
#
define_client_method :delete_key_pair, 'DeleteKeyPair'
# Calls the DeleteNetworkAcl API operation.
# @method delete_network_acl(options = {})
#
# === Options:
#
# * +:network_acl_id+ - *required* - (String) The ID of the network ACL
# to be deleted.
#
# === Response Structure:
#
# This method returns no response data.
#
# @return [Core::Response]
#
define_client_method :delete_network_acl, 'DeleteNetworkAcl'
# Calls the DeleteNetworkAclEntry API operation.
# @method delete_network_acl_entry(options = {})
#
# === Options:
#
# * +:network_acl_id+ - *required* - (String) ID of the network ACL.
# * +:rule_number+ - *required* - (Integer) Rule number for the entry to
# delete.
# * +:egress+ - *required* - (Boolean) Whether the rule to delete is an
# egress rule ( +true+ ) or ingress rule ( +false+ ).
#
# === Response Structure:
#
# This method returns no response data.
#
# @return [Core::Response]
#
define_client_method :delete_network_acl_entry, 'DeleteNetworkAclEntry'
# Calls the DeleteNetworkInterface API operation.
# @method delete_network_interface(options = {})
#
# === Options:
#
# * +:network_interface_id+ - *required* - (String)
#
# === Response Structure:
#
# This method returns no response data.
#
# @return [Core::Response]
#
define_client_method :delete_network_interface, 'DeleteNetworkInterface'
# Calls the DeletePlacementGroup API operation.
# @method delete_placement_group(options = {})
#
# === Options:
#
# * +:group_name+ - *required* - (String) The name of the PlacementGroup
# to delete.
#
# === Response Structure:
#
# This method returns no response data.
#
# @return [Core::Response]
#
define_client_method :delete_placement_group, 'DeletePlacementGroup'
# Calls the DeleteRoute API operation.
# @method delete_route(options = {})
#
# === Options:
#
# * +:route_table_id+ - *required* - (String) The ID of the route table
# where the route will be deleted.
# * +:destination_cidr_block+ - *required* - (String) The CIDR range for
# the route you want to delete. The value you specify must exactly
# match the CIDR for the route you want to delete.
#
# === Response Structure:
#
# This method returns no response data.
#
# @return [Core::Response]
#
define_client_method :delete_route, 'DeleteRoute'
# Calls the DeleteRouteTable API operation.
# @method delete_route_table(options = {})
#
# === Options:
#
# * +:route_table_id+ - *required* - (String) The ID of the route table
# to be deleted.
#
# === Response Structure:
#
# This method returns no response data.
#
# @return [Core::Response]
#
define_client_method :delete_route_table, 'DeleteRouteTable'
# Calls the DeleteSecurityGroup API operation.
# @method delete_security_group(options = {})
#
# === Options:
#
# * +:group_name+ - (String) The name of the Amazon EC2 security group to
# delete.
# * +:group_id+ - (String) The ID of the Amazon EC2 security group to
# delete.
#
# === Response Structure:
#
# This method returns no response data.
#
# @return [Core::Response]
#
define_client_method :delete_security_group, 'DeleteSecurityGroup'
# Calls the DeleteSnapshot API operation.
# @method delete_snapshot(options = {})
#
# === Options:
#
# * +:snapshot_id+ - *required* - (String) The ID of the snapshot to
# delete.
#
# === Response Structure:
#
# This method returns no response data.
#
# @return [Core::Response]
#
define_client_method :delete_snapshot, 'DeleteSnapshot'
# Calls the DeleteSpotDatafeedSubscription API operation.
# @method delete_spot_datafeed_subscription(options = {})
#
# === Options:
#
# This method accepts no options.
#
# === Response Structure:
#
# This method returns no response data.
#
# @return [Core::Response]
#
define_client_method :delete_spot_datafeed_subscription, 'DeleteSpotDatafeedSubscription'
# Calls the DeleteSubnet API operation.
# @method delete_subnet(options = {})
#
# === Options:
#
# * +:subnet_id+ - *required* - (String) The ID of the subnet you want to
# delete.
#
# === Response Structure:
#
# This method returns no response data.
#
# @return [Core::Response]
#
define_client_method :delete_subnet, 'DeleteSubnet'
# Calls the DeleteTags API operation.
# @method delete_tags(options = {})
#
# === Options:
#
# * +:resources+ - *required* - (Array<String>) A list of one or more
# resource IDs. This could be the ID of an AMI, an instance, an EBS
# volume, or snapshot, etc.
# * +:tags+ - (Array<Hash>) The tags to delete from the specified
# resources. Each tag item consists of a key-value pair. If a tag is
# specified without a value, the tag and all of its values are deleted.
# * +:key+ - (String) The tag's key.
# * +:value+ - (String) The tag's value.
#
# === Response Structure:
#
# This method returns no response data.
#
# @return [Core::Response]
#
define_client_method :delete_tags, 'DeleteTags'
# Calls the DeleteVolume API operation.
# @method delete_volume(options = {})
#
# === Options:
#
# * +:volume_id+ - *required* - (String) The ID of the EBS volume to
# delete.
#
# === Response Structure:
#
# This method returns no response data.
#
# @return [Core::Response]
#
define_client_method :delete_volume, 'DeleteVolume'
# Calls the DeleteVpc API operation.
# @method delete_vpc(options = {})
#
# === Options:
#
# * +:vpc_id+ - *required* - (String) The ID of the VPC you want to
# delete.
#
# === Response Structure:
#
# This method returns no response data.
#
# @return [Core::Response]
#
define_client_method :delete_vpc, 'DeleteVpc'
# Calls the DeleteVpnConnection API operation.
# @method delete_vpn_connection(options = {})
#
# === Options:
#
# * +:vpn_connection_id+ - *required* - (String) The ID of the VPN
# connection to delete
#
# === Response Structure:
#
# This method returns no response data.
#
# @return [Core::Response]
#
define_client_method :delete_vpn_connection, 'DeleteVpnConnection'
# Calls the DeleteVpnGateway API operation.
# @method delete_vpn_gateway(options = {})
#
# === Options:
#
# * +:vpn_gateway_id+ - *required* - (String) The ID of the VPN gateway
# to delete.
#
# === Response Structure:
#
# This method returns no response data.
#
# @return [Core::Response]
#
define_client_method :delete_vpn_gateway, 'DeleteVpnGateway'
# Calls the DeregisterImage API operation.
# @method deregister_image(options = {})
#
# === Options:
#
# * +:image_id+ - *required* - (String) The ID of the AMI to deregister.
#
# === Response Structure:
#
# This method returns no response data.
#
# @return [Core::Response]
#
define_client_method :deregister_image, 'DeregisterImage'
# Calls the DescribeAddresses API operation.
# @method describe_addresses(options = {})
#
# === Options:
#
# * +:public_ips+ - (Array<String>) The optional list of Elastic IP
# addresses to describe.
# * +:filters+ - (Array<Hash>) A list of filters used to match properties
# for Addresses. For a complete reference to the available filter keys
# for this operation, see the Amazon EC2 API reference.
# * +:name+ - (String) Specifies the name of the filter.
# * +:values+ - (Array<String>) Contains one or more values for the
# filter.
# * +:allocation_ids+ - (Array<String>)
#
# === Response Structure:
#
# * +:addresses_set+ - (Array<Hash>)
# * +:instance_id+ - (String)
# * +:public_ip+ - (String)
# * +:allocation_id+ - (String)
# * +:association_id+ - (String)
# * +:domain+ - (String)
# * +:network_interface_id+ - (String)
# * +:network_interface_owner_id+ - (String)
#
# @return [Core::Response]
#
define_client_method :describe_addresses, 'DescribeAddresses'
# Calls the DescribeAvailabilityZones API operation.
# @method describe_availability_zones(options = {})
#
# === Options:
#
# * +:zone_names+ - (Array<String>) A list of the availability zone names
# to describe.
# * +:filters+ - (Array<Hash>) A list of filters used to match properties
# for AvailabilityZones. For a complete reference to the available
# filter keys for this operation, see the Amazon EC2 API reference.
# * +:name+ - (String) Specifies the name of the filter.
# * +:values+ - (Array<String>) Contains one or more values for the
# filter.
#
# === Response Structure:
#
# * +:availability_zone_info+ - (Array<Hash>)
# * +:zone_name+ - (String)
# * +:zone_state+ - (String)
# * +:region_name+ - (String)
# * +:message_set+ - (Array<Hash>)
# * +:message+ - (String)
#
# @return [Core::Response]
#
define_client_method :describe_availability_zones, 'DescribeAvailabilityZones'
# Calls the DescribeBundleTasks API operation.
# @method describe_bundle_tasks(options = {})
#
# === Options:
#
# * +:bundle_ids+ - (Array<String>) The list of bundle task IDs to
# describe.
# * +:filters+ - (Array<Hash>) A list of filters used to match properties
# for BundleTasks. For a complete reference to the available filter
# keys for this operation, see the Amazon EC2 API reference.
# * +:name+ - (String) Specifies the name of the filter.
# * +:values+ - (Array<String>) Contains one or more values for the
# filter.
#
# === Response Structure:
#
# * +:bundle_instance_tasks_set+ - (Array<Hash>)
# * +:instance_id+ - (String)
# * +:bundle_id+ - (String)
# * +:state+ - (String)
# * +:start_time+ - (Time)
# * +:update_time+ - (Time)
# * +:storage+ - (Hash)
# * +:s3+ - (Hash)
# * +:bucket+ - (String)
# * +:prefix+ - (String)
# * +:aws_access_key_id+ - (String)
# * +:upload_policy+ - (String)
# * +:upload_policy_signature+ - (String)
# * +:progress+ - (String)
# * +:error+ - (Hash)
# * +:code+ - (String)
# * +:message+ - (String)
#
# @return [Core::Response]
#
define_client_method :describe_bundle_tasks, 'DescribeBundleTasks'
# Calls the DescribeConversionTasks API operation.
# @method describe_conversion_tasks(options = {})
#
# === Options:
#
# * +:filters+ - (Array<Hash>)
# * +:name+ - (String) Specifies the name of the filter.
# * +:values+ - (Array<String>) Contains one or more values for the
# filter.
# * +:conversion_task_ids+ - (Array<String>)
#
# === Response Structure:
#
# * +:conversion_tasks+ - (Array<Hash>)
# * +:conversion_task_id+ - (String)
# * +:expiration_time+ - (String)
# * +:import_instance+ - (Hash)
# * +:volumes+ - (Array<Hash>)
# * +:bytes_converted+ - (Integer)
# * +:availability_zone+ - (String)
# * +:image+ - (Hash)
# * +:format+ - (String)
# * +:size+ - (Integer)
# * +:import_manifest_url+ - (String)
# * +:checksum+ - (String)
# * +:volume+ - (Hash)
# * +:size+ - (Integer)
# * +:id+ - (String)
# * +:status+ - (String)
# * +:status_message+ - (String)
# * +:description+ - (String)
# * +:instance_id+ - (String)
# * +:platform+ - (String)
# * +:description+ - (String)
# * +:import_volume+ - (Hash)
# * +:bytes_converted+ - (Integer)
# * +:availability_zone+ - (String)
# * +:description+ - (String)
# * +:image+ - (Hash)
# * +:format+ - (String)
# * +:size+ - (Integer)
# * +:import_manifest_url+ - (String)
# * +:checksum+ - (String)
# * +:volume+ - (Hash)
# * +:size+ - (Integer)
# * +:id+ - (String)
# * +:state+ - (String)
# * +:status_message+ - (String)
# * +:tag_set+ - (Array<Hash>)
# * +:key+ - (String)
# * +:value+ - (String)
#
# @return [Core::Response]
#
define_client_method :describe_conversion_tasks, 'DescribeConversionTasks'
# Calls the DescribeCustomerGateways API operation.
# @method describe_customer_gateways(options = {})
#
# === Options:
#
# * +:customer_gateway_ids+ - (Array<String>) A set of one or more
# customer gateway IDs.
# * +:filters+ - (Array<Hash>) A list of filters used to match properties
# for Customer Gateways. For a complete reference to the available
# filter keys for this operation, see the Amazon EC2 API reference.
# * +:name+ - (String) Specifies the name of the filter.
# * +:values+ - (Array<String>) Contains one or more values for the
# filter.
#
# === Response Structure:
#
# * +:customer_gateway_set+ - (Array<Hash>)
# * +:customer_gateway_id+ - (String)
# * +:state+ - (String)
# * +:vpn_type+ - (String)
# * +:ip_address+ - (String)
# * +:bgp_asn+ - (String)
# * +:tag_set+ - (Array<Hash>)
# * +:key+ - (String)
# * +:value+ - (String)
#
# @return [Core::Response]
#
define_client_method :describe_customer_gateways, 'DescribeCustomerGateways'
# Calls the DescribeDhcpOptions API operation.
# @method describe_dhcp_options(options = {})
#
# === Options:
#
# * +:dhcp_options_ids+ - (Array<String>)
# * +:filters+ - (Array<Hash>) A list of filters used to match properties
# for DhcpOptions. For a complete reference to the available filter
# keys for this operation, see the Amazon EC2 API reference.
# * +:name+ - (String) Specifies the name of the filter.
# * +:values+ - (Array<String>) Contains one or more values for the
# filter.
#
# === Response Structure:
#
# * +:dhcp_options_set+ - (Array<Hash>)
# * +:dhcp_options_id+ - (String)
# * +:dhcp_configuration_set+ - (Array<Hash>)
# * +:key+ - (String)
# * +:value_set+ - (Array<String>)
# * +:tag_set+ - (Array<Hash>)
# * +:key+ - (String)
# * +:value+ - (String)
#
# @return [Core::Response]
#
define_client_method :describe_dhcp_options, 'DescribeDhcpOptions'
# Calls the DescribeExportTasks API operation.
# @method describe_export_tasks(options = {})
#
# === Options:
#
# * +:export_task_ids+ - (Array<String>)
#
# === Response Structure:
#
# * +:request_id+ - (String)
# * +:export_task_set+ - (Array<Hash>)
# * +:export_task_id+ - (String)
# * +:description+ - (String)
# * +:state+ - (String)
# * +:status_message+ - (String)
# * +:instance_export+ - (Hash)
# * +:instance_id+ - (String)
# * +:target_environment+ - (String)
# * +:export_to_s3+ - (Hash)
# * +:disk_image_format+ - (String)
# * +:container_format+ - (String)
# * +:s3_bucket+ - (String)
# * +:s3_key+ - (String)
#
# @return [Core::Response]
#
define_client_method :describe_export_tasks, 'DescribeExportTasks'
# Calls the DescribeImageAttribute API operation.
# @method describe_image_attribute(options = {})
#
# === Options:
#
# * +:image_id+ - *required* - (String) The ID of the AMI whose attribute
# is to be described.
# * +:attribute+ - *required* - (String) The name of the attribute to
# describe. Available attribute names: productCodes, kernel, ramdisk,
# launchPermisson, blockDeviceMapping
#
# === Response Structure:
#
# * +:image_id+ - (String)
# * +:launch_permission+ - (Array<Hash>)
# * +:user_id+ - (String)
# * +:group+ - (String)
# * +:product_codes+ - (Array<Hash>)
# * +:product_code+ - (String)
# * +:type+ - (String)
# * +:kernel+ - (Hash)
# * +:value+ - (String)
# * +:ramdisk+ - (Hash)
# * +:value+ - (String)
# * +:description+ - (Hash)
# * +:value+ - (String)
# * +:block_device_mapping+ - (Array<Hash>)
# * +:virtual_name+ - (String)
# * +:device_name+ - (String)
# * +:ebs+ - (Hash)
# * +:snapshot_id+ - (String)
# * +:volume_size+ - (Integer)
# * +:delete_on_termination+ - (Boolean)
# * +:no_device+ - (String)
#
# @return [Core::Response]
#
define_client_method :describe_image_attribute, 'DescribeImageAttribute'
# Calls the DescribeImages API operation.
# @method describe_images(options = {})
#
# === Options:
#
# * +:image_ids+ - (Array<String>) An optional list of the AMI IDs to
# describe. If not specified, all AMIs will be described.
# * +:owners+ - (Array<String>) The optional list of owners for the
# described AMIs. The IDs amazon, self, and explicit can be used to
# include AMIs owned by Amazon, AMIs owned by the user, and AMIs for
# which the user has explicit launch permissions, respectively.
# * +:executable_users+ - (Array<String>) The optional list of users with
# explicit launch permissions for the described AMIs. The user ID can
# be a user's account ID, 'self' to return AMIs for which the sender of
# the request has explicit launch permissions, or 'all' to return AMIs
# with public launch permissions.
# * +:filters+ - (Array<Hash>) A list of filters used to match properties
# for Images. For a complete reference to the available filter keys for
# this operation, see the Amazon EC2 API reference.
# * +:name+ - (String) Specifies the name of the filter.
# * +:values+ - (Array<String>) Contains one or more values for the
# filter.
#
# === Response Structure:
#
# * +:images_set+ - (Array<Hash>)
# * +:image_id+ - (String)
# * +:image_location+ - (String)
# * +:image_state+ - (String)
# * +:image_owner_id+ - (String)
# * +:is_public+ - (Boolean)
# * +:product_codes+ - (Array<Hash>)
# * +:product_code+ - (String)
# * +:type+ - (String)
# * +:architecture+ - (String)
# * +:image_type+ - (String)
# * +:kernel_id+ - (String)
# * +:ramdisk_id+ - (String)
# * +:platform+ - (String)
# * +:state_reason+ - (Hash)
# * +:code+ - (String)
# * +:message+ - (String)
# * +:image_owner_alias+ - (String)
# * +:name+ - (String)
# * +:description+ - (String)
# * +:root_device_type+ - (String)
# * +:root_device_name+ - (String)
# * +:block_device_mapping+ - (Array<Hash>)
# * +:virtual_name+ - (String)
# * +:device_name+ - (String)
# * +:ebs+ - (Hash)
# * +:snapshot_id+ - (String)
# * +:volume_size+ - (Integer)
# * +:delete_on_termination+ - (Boolean)
# * +:no_device+ - (String)
# * +:virtualization_type+ - (String)
# * +:tag_set+ - (Array<Hash>)
# * +:key+ - (String)
# * +:value+ - (String)
# * +:hypervisor+ - (String)
#
# @return [Core::Response]
#
define_client_method :describe_images, 'DescribeImages'
# Calls the DescribeInstanceAttribute API operation.
# @method describe_instance_attribute(options = {})
#
# === Options:
#
# * +:instance_id+ - *required* - (String) The ID of the instance whose
# instance attribute is being described.
# * +:attribute+ - *required* - (String) The name of the attribute to
# describe. Available attribute names: instanceType, kernel, ramdisk,
# userData, disableApiTermination, instanceInitiatedShutdownBehavior,
# rootDeviceName, blockDeviceMapping
#
# === Response Structure:
#
# * +:instance_id+ - (String)
# * +:instance_type+ - (Hash)
# * +:value+ - (String)
# * +:kernel+ - (Hash)
# * +:value+ - (String)
# * +:ramdisk+ - (Hash)
# * +:value+ - (String)
# * +:user_data+ - (Hash)
# * +:value+ - (String)
# * +:disable_api_termination+ - (Hash)
# * +:value+ - (Boolean)
# * +:instance_initiated_shutdown_behavior+ - (Hash)
# * +:value+ - (String)
# * +:root_device_name+ - (Hash)
# * +:value+ - (String)
# * +:block_device_mapping+ - (Array<Hash>)
# * +:device_name+ - (String)
# * +:ebs+ - (Hash)
# * +:volume_id+ - (String)
# * +:status+ - (String)
# * +:attach_time+ - (Time)
# * +:delete_on_termination+ - (Boolean)
# * +:product_codes+ - (Array<Hash>)
# * +:product_code+ - (String)
# * +:type+ - (String)
#
# @return [Core::Response]
#
define_client_method :describe_instance_attribute, 'DescribeInstanceAttribute'
# Calls the DescribeInstanceStatus API operation.
# @method describe_instance_status(options = {})
#
# === Options:
#
# * +:instance_ids+ - (Array<String>) The list of instance IDs. If not
# specified, all instances are described.
# * +:filters+ - (Array<Hash>) The list of filters to limit returned
# results.
# * +:name+ - (String) Specifies the name of the filter.
# * +:values+ - (Array<String>) Contains one or more values for the
# filter.
# * +:next_token+ - (String) A string specifying the next paginated set
# of results to return.
# * +:max_results+ - (Integer) The maximum number of paginated instance
# items per response.
#
# === Response Structure:
#
# * +:instance_status_set+ - (Array<Hash>)
# * +:instance_id+ - (String)
# * +:availability_zone+ - (String)
# * +:events_set+ - (Array<Hash>)
# * +:code+ - (String)
# * +:description+ - (String)
# * +:not_before+ - (Time)
# * +:not_after+ - (Time)
# * +:instance_state+ - (Hash)
# * +:code+ - (Integer)
# * +:name+ - (String)
# * +:system_status+ - (Hash)
# * +:status+ - (String)
# * +:details+ - (Array<Hash>)
# * +:name+ - (String)
# * +:status+ - (String)
# * +:instance_status+ - (Hash)
# * +:status+ - (String)
# * +:details+ - (Array<Hash>)
# * +:name+ - (String)
# * +:status+ - (String)
# * +:next_token+ - (String)
#
# @return [Core::Response]
#
define_client_method :describe_instance_status, 'DescribeInstanceStatus'
# Calls the DescribeInstances API operation.
# @method describe_instances(options = {})
#
# === Options:
#
# * +:instance_ids+ - (Array<String>) An optional list of the instances
# to describe.
# * +:filters+ - (Array<Hash>) A list of filters used to match properties
# for Instances. For a complete reference to the available filter keys
# for this operation, see the Amazon EC2 API reference.
# * +:name+ - (String) Specifies the name of the filter.
# * +:values+ - (Array<String>) Contains one or more values for the
# filter.
#
# === Response Structure:
#
# * +:reservation_set+ - (Array<Hash>)
# * +:reservation_id+ - (String)
# * +:owner_id+ - (String)
# * +:requester_id+ - (String)
# * +:group_set+ - (Array<Hash>)
# * +:group_name+ - (String)
# * +:group_id+ - (String)
# * +:instances_set+ - (Array<Hash>)
# * +:instance_id+ - (String)
# * +:image_id+ - (String)
# * +:instance_state+ - (Hash)
# * +:code+ - (Integer)
# * +:name+ - (String)
# * +:private_dns_name+ - (String)
# * +:dns_name+ - (String)
# * +:reason+ - (String)
# * +:key_name+ - (String)
# * +:ami_launch_index+ - (Integer)
# * +:product_codes+ - (Array<Hash>)
# * +:product_code+ - (String)
# * +:type+ - (String)
# * +:instance_type+ - (String)
# * +:launch_time+ - (Time)
# * +:placement+ - (Hash)
# * +:availability_zone+ - (String)
# * +:group_name+ - (String)
# * +:tenancy+ - (String)
# * +:kernel_id+ - (String)
# * +:ramdisk_id+ - (String)
# * +:platform+ - (String)
# * +:monitoring+ - (Hash)
# * +:state+ - (String)
# * +:subnet_id+ - (String)
# * +:vpc_id+ - (String)
# * +:private_ip_address+ - (String)
# * +:ip_address+ - (String)
# * +:state_reason+ - (Hash)
# * +:code+ - (String)
# * +:message+ - (String)
# * +:architecture+ - (String)
# * +:root_device_type+ - (String)
# * +:root_device_name+ - (String)
# * +:block_device_mapping+ - (Array<Hash>)
# * +:device_name+ - (String)
# * +:ebs+ - (Hash)
# * +:volume_id+ - (String)
# * +:status+ - (String)
# * +:attach_time+ - (Time)
# * +:delete_on_termination+ - (Boolean)
# * +:virtualization_type+ - (String)
# * +:instance_lifecycle+ - (String)
# * +:spot_instance_request_id+ - (String)
# * +:license+ - (Hash)
# * +:pool+ - (String)
# * +:client_token+ - (String)
# * +:tag_set+ - (Array<Hash>)
# * +:key+ - (String)
# * +:value+ - (String)
# * +:group_set+ - (Array<Hash>)
# * +:group_name+ - (String)
# * +:group_id+ - (String)
# * +:source_dest_check+ - (Boolean)
# * +:hypervisor+ - (String)
# * +:network_interface_set+ - (Array<Hash>)
# * +:network_interface_id+ - (String)
# * +:subnet_id+ - (String)
# * +:vpc_id+ - (String)
# * +:description+ - (String)
# * +:owner_id+ - (String)
# * +:status+ - (String)
# * +:private_ip_address+ - (String)
# * +:private_dns_name+ - (String)
# * +:source_dest_check+ - (Boolean)
# * +:group_set+ - (Array<Hash>)
# * +:group_name+ - (String)
# * +:group_id+ - (String)
# * +:attachment+ - (Hash)
# * +:attachment_id+ - (String)
# * +:device_index+ - (Integer)
# * +:status+ - (String)
# * +:attach_time+ - (Time)
# * +:delete_on_termination+ - (Boolean)
# * +:association+ - (Hash)
# * +:public_ip+ - (String)
# * +:ip_owner_id+ - (String)
# * +:iam_instance_profile+ - (Hash)
# * +:arn+ - (String)
# * +:id+ - (String)
#
# @return [Core::Response]
#
define_client_method :describe_instances, 'DescribeInstances'
# Calls the DescribeInternetGateways API operation.
# @method describe_internet_gateways(options = {})
#
# === Options:
#
# * +:internet_gateway_ids+ - (Array<String>) One or more Internet
# gateway IDs.
# * +:filters+ - (Array<Hash>) A list of filters used to match properties
# for Internet Gateways. For a complete reference to the available
# filter keys for this operation, see the Amazon EC2 API reference.
# * +:name+ - (String) Specifies the name of the filter.
# * +:values+ - (Array<String>) Contains one or more values for the
# filter.
#
# === Response Structure:
#
# * +:internet_gateway_set+ - (Array<Hash>)
# * +:internet_gateway_id+ - (String)
# * +:attachment_set+ - (Array<Hash>)
# * +:vpc_id+ - (String)
# * +:state+ - (String)
# * +:tag_set+ - (Array<Hash>)
# * +:key+ - (String)
# * +:value+ - (String)
#
# @return [Core::Response]
#
define_client_method :describe_internet_gateways, 'DescribeInternetGateways'
# Calls the DescribeKeyPairs API operation.
# @method describe_key_pairs(options = {})
#
# === Options:
#
# * +:key_names+ - (Array<String>) The optional list of key pair names to
# describe.
# * +:filters+ - (Array<Hash>) A list of filters used to match properties
# for KeyPairs. For a complete reference to the available filter keys
# for this operation, see the Amazon EC2 API reference.
# * +:name+ - (String) Specifies the name of the filter.
# * +:values+ - (Array<String>) Contains one or more values for the
# filter.
#
# === Response Structure:
#
# * +:key_set+ - (Array<Hash>)
# * +:key_name+ - (String)
# * +:key_fingerprint+ - (String)
#
# @return [Core::Response]
#
define_client_method :describe_key_pairs, 'DescribeKeyPairs'
# Calls the DescribeLicenses API operation.
# @method describe_licenses(options = {})
#
# === Options:
#
# * +:license_ids+ - (Array<String>) Specifies the license registration
# for which details are to be returned.
# * +:filters+ - (Array<Hash>) A list of filters used to match properties
# for Licenses. For a complete reference to the available filter keys
# for this operation, see the Amazon EC2 API reference.
# * +:name+ - (String) Specifies the name of the filter.
# * +:values+ - (Array<String>) Contains one or more values for the
# filter.
#
# === Response Structure:
#
# * +:license_set+ - (Array<Hash>)
# * +:license_id+ - (String)
# * +:type+ - (String)
# * +:pool+ - (String)
# * +:capacity_set+ - (Array<Hash>)
# * +:capacity+ - (Integer)
# * +:instance_capacity+ - (Integer)
# * +:state+ - (String)
# * +:earliest_allowed_deactivation_time+ - (Time)
# * +:tag_set+ - (Array<Hash>)
# * +:key+ - (String)
# * +:value+ - (String)
#
# @return [Core::Response]
#
define_client_method :describe_licenses, 'DescribeLicenses'
# Calls the DescribeNetworkAcls API operation.
# @method describe_network_acls(options = {})
#
# === Options:
#
# * +:network_acl_ids+ - (Array<String>) One or more network ACL IDs.
# * +:filters+ - (Array<Hash>) A list of filters used to match properties
# for Network ACLs. For a complete reference to the available filter
# keys for this operation, see the Amazon EC2 API reference.
# * +:name+ - (String) Specifies the name of the filter.
# * +:values+ - (Array<String>) Contains one or more values for the
# filter.
#
# === Response Structure:
#
# * +:network_acl_set+ - (Array<Hash>)
# * +:network_acl_id+ - (String)
# * +:vpc_id+ - (String)
# * +:default+ - (Boolean)
# * +:entry_set+ - (Array<Hash>)
# * +:rule_number+ - (Integer)
# * +:protocol+ - (String)
# * +:rule_action+ - (String)
# * +:egress+ - (Boolean)
# * +:cidr_block+ - (String)
# * +:icmp_type_code+ - (Hash)
# * +:type+ - (Integer)
# * +:code+ - (Integer)
# * +:port_range+ - (Hash)
# * +:from+ - (Integer)
# * +:to+ - (Integer)
# * +:association_set+ - (Array<Hash>)
# * +:network_acl_association_id+ - (String)
# * +:network_acl_id+ - (String)
# * +:subnet_id+ - (String)
# * +:tag_set+ - (Array<Hash>)
# * +:key+ - (String)
# * +:value+ - (String)
#
# @return [Core::Response]
#
define_client_method :describe_network_acls, 'DescribeNetworkAcls'
# Calls the DescribeNetworkInterfaceAttribute API operation.
# @method describe_network_interface_attribute(options = {})
#
# === Options:
#
# * +:network_interface_id+ - *required* - (String)
# * +:description+ - (String)
# * +:source_dest_check+ - (String)
# * +:groups+ - (String)
# * +:attachment+ - (String)
#
# === Response Structure:
#
# * +:network_interface_id+ - (String)
# * +:description+ - (Hash)
# * +:value+ - (String)
# * +:source_dest_check+ - (Hash)
# * +:value+ - (Boolean)
# * +:group_set+ - (Array<Hash>)
# * +:group_name+ - (String)
# * +:group_id+ - (String)
# * +:attachment+ - (Hash)
# * +:attachment_id+ - (String)
# * +:instance_id+ - (String)
# * +:instance_owner_id+ - (String)
# * +:device_index+ - (Integer)
# * +:status+ - (String)
# * +:attach_time+ - (Time)
# * +:delete_on_termination+ - (Boolean)
#
# @return [Core::Response]
#
define_client_method :describe_network_interface_attribute, 'DescribeNetworkInterfaceAttribute'
# Calls the DescribeNetworkInterfaces API operation.
# @method describe_network_interfaces(options = {})
#
# === Options:
#
# * +:network_interface_ids+ - (Array<String>)
# * +:filters+ - (Array<Hash>)
# * +:name+ - (String) Specifies the name of the filter.
# * +:values+ - (Array<String>) Contains one or more values for the
# filter.
#
# === Response Structure:
#
# * +:network_interface_set+ - (Array<Hash>)
# * +:network_interface_id+ - (String)
# * +:subnet_id+ - (String)
# * +:vpc_id+ - (String)
# * +:availability_zone+ - (String)
# * +:description+ - (String)
# * +:owner_id+ - (String)
# * +:requester_id+ - (String)
# * +:requester_managed+ - (Boolean)
# * +:status+ - (String)
# * +:mac_address+ - (String)
# * +:private_ip_address+ - (String)
# * +:private_dns_name+ - (String)
# * +:source_dest_check+ - (Boolean)
# * +:groups+ - (Array<Hash>)
# * +:group_name+ - (String)
# * +:group_id+ - (String)
# * +:attachment+ - (Hash)
# * +:attachment_id+ - (String)
# * +:instance_id+ - (String)
# * +:instance_owner_id+ - (String)
# * +:device_index+ - (Integer)
# * +:status+ - (String)
# * +:attach_time+ - (Time)
# * +:delete_on_termination+ - (Boolean)
# * +:association+ - (Hash)
# * +:public_ip+ - (String)
# * +:ip_owner_id+ - (String)
# * +:allocation_id+ - (String)
# * +:association_id+ - (String)
# * +:tag_set+ - (Array<Hash>)
# * +:key+ - (String)
# * +:value+ - (String)
#
# @return [Core::Response]
#
define_client_method :describe_network_interfaces, 'DescribeNetworkInterfaces'
# Calls the DescribePlacementGroups API operation.
# @method describe_placement_groups(options = {})
#
# === Options:
#
# * +:group_names+ - (Array<String>) The name of the PlacementGroup.
# * +:filters+ - (Array<Hash>) A list of filters used to match properties
# for Placement Groups. For a complete reference to the available
# filter keys for this operation, see the Amazon EC2 API reference.
# * +:name+ - (String) Specifies the name of the filter.
# * +:values+ - (Array<String>) Contains one or more values for the
# filter.
#
# === Response Structure:
#
# * +:placement_group_set+ - (Array<Hash>)
# * +:group_name+ - (String)
# * +:strategy+ - (String)
# * +:state+ - (String)
#
# @return [Core::Response]
#
define_client_method :describe_placement_groups, 'DescribePlacementGroups'
# Calls the DescribeRegions API operation.
# @method describe_regions(options = {})
#
# === Options:
#
# * +:region_names+ - (Array<String>) The optional list of regions to
# describe.
# * +:filters+ - (Array<Hash>) A list of filters used to match properties
# for Regions. For a complete reference to the available filter keys
# for this operation, see the Amazon EC2 API reference.
# * +:name+ - (String) Specifies the name of the filter.
# * +:values+ - (Array<String>) Contains one or more values for the
# filter.
#
# === Response Structure:
#
# * +:region_info+ - (Array<Hash>)
# * +:region_name+ - (String)
# * +:region_endpoint+ - (String)
#
# @return [Core::Response]
#
define_client_method :describe_regions, 'DescribeRegions'
# Calls the DescribeReservedInstances API operation.
# @method describe_reserved_instances(options = {})
#
# === Options:
#
# * +:reserved_instances_ids+ - (Array<String>) The optional list of
# Reserved Instance IDs to describe.
# * +:filters+ - (Array<Hash>) A list of filters used to match properties
# for ReservedInstances. For a complete reference to the available
# filter keys for this operation, see the Amazon EC2 API reference.
# * +:name+ - (String) Specifies the name of the filter.
# * +:values+ - (Array<String>) Contains one or more values for the
# filter.
# * +:offering_type+ - (String) The Reserved Instance offering type.
#
# === Response Structure:
#
# * +:reserved_instances_set+ - (Array<Hash>)
# * +:reserved_instances_id+ - (String)
# * +:instance_type+ - (String)
# * +:availability_zone+ - (String)
# * +:start+ - (Time)
# * +:duration+ - (Integer)
# * +:usage_price+ - (Numeric)
# * +:fixed_price+ - (Numeric)
# * +:instance_count+ - (Integer)
# * +:product_description+ - (String)
# * +:state+ - (String)
# * +:tag_set+ - (Array<Hash>)
# * +:key+ - (String)
# * +:value+ - (String)
# * +:instance_tenancy+ - (String)
# * +:currency_code+ - (String)
# * +:offering_type+ - (String)
# * +:recurring_charges+ - (Array<Hash>)
# * +:frequency+ - (String)
# * +:amount+ - (Numeric)
#
# @return [Core::Response]
#
define_client_method :describe_reserved_instances, 'DescribeReservedInstances'
# Calls the DescribeReservedInstancesOfferings API operation.
# @method describe_reserved_instances_offerings(options = {})
#
# === Options:
#
# * +:reserved_instances_offering_ids+ - (Array<String>) An optional list
# of the unique IDs of the Reserved Instance offerings to describe.
# * +:instance_type+ - (String) The instance type on which the Reserved
# Instance can be used.
# * +:availability_zone+ - (String) The Availability Zone in which the
# Reserved Instance can be used.
# * +:product_description+ - (String) The Reserved Instance product
# description.
# * +:filters+ - (Array<Hash>) A list of filters used to match properties
# for ReservedInstancesOfferings. For a complete reference to the
# available filter keys for this operation, see the Amazon EC2 API
# reference.
# * +:name+ - (String) Specifies the name of the filter.
# * +:values+ - (Array<String>) Contains one or more values for the
# filter.
# * +:instance_tenancy+ - (String) The tenancy of the Reserved Instance
# offering. A Reserved Instance with tenancy of dedicated will run on
# single-tenant hardware and can only be launched within a VPC.
# * +:offering_type+ - (String) The Reserved Instance offering type.
#
# === Response Structure:
#
# * +:reserved_instances_offerings_set+ - (Array<Hash>)
# * +:reserved_instances_offering_id+ - (String)
# * +:instance_type+ - (String)
# * +:availability_zone+ - (String)
# * +:duration+ - (Integer)
# * +:usage_price+ - (Numeric)
# * +:fixed_price+ - (Numeric)
# * +:product_description+ - (String)
# * +:instance_tenancy+ - (String)
# * +:currency_code+ - (String)
# * +:offering_type+ - (String)
# * +:recurring_charges+ - (Array<Hash>)
# * +:frequency+ - (String)
# * +:amount+ - (Numeric)
#
# @return [Core::Response]
#
define_client_method :describe_reserved_instances_offerings, 'DescribeReservedInstancesOfferings'
# Calls the DescribeRouteTables API operation.
# @method describe_route_tables(options = {})
#
# === Options:
#
# * +:route_table_ids+ - (Array<String>) One or more route table IDs.
# * +:filters+ - (Array<Hash>) A list of filters used to match properties
# for Route Tables. For a complete reference to the available filter
# keys for this operation, see the Amazon EC2 API reference.
# * +:name+ - (String) Specifies the name of the filter.
# * +:values+ - (Array<String>) Contains one or more values for the
# filter.
#
# === Response Structure:
#
# * +:route_table_set+ - (Array<Hash>)
# * +:route_table_id+ - (String)
# * +:vpc_id+ - (String)
# * +:route_set+ - (Array<Hash>)
# * +:destination_cidr_block+ - (String)
# * +:gateway_id+ - (String)
# * +:instance_id+ - (String)
# * +:instance_owner_id+ - (String)
# * +:network_interface_id+ - (String)
# * +:state+ - (String)
# * +:association_set+ - (Array<Hash>)
# * +:route_table_association_id+ - (String)
# * +:route_table_id+ - (String)
# * +:subnet_id+ - (String)
# * +:main+ - (Boolean)
# * +:tag_set+ - (Array<Hash>)
# * +:key+ - (String)
# * +:value+ - (String)
#
# @return [Core::Response]
#
define_client_method :describe_route_tables, 'DescribeRouteTables'
# Calls the DescribeSecurityGroups API operation.
# @method describe_security_groups(options = {})
#
# === Options:
#
# * +:group_names+ - (Array<String>) The optional list of Amazon EC2
# security groups to describe.
# * +:group_ids+ - (Array<String>)
# * +:filters+ - (Array<Hash>) A list of filters used to match properties
# for SecurityGroups. For a complete reference to the available filter
# keys for this operation, see the Amazon EC2 API reference.
# * +:name+ - (String) Specifies the name of the filter.
# * +:values+ - (Array<String>) Contains one or more values for the
# filter.
#
# === Response Structure:
#
# * +:security_group_info+ - (Array<Hash>)
# * +:owner_id+ - (String)
# * +:group_name+ - (String)
# * +:group_id+ - (String)
# * +:group_description+ - (String)
# * +:ip_permissions+ - (Array<Hash>)
# * +:ip_protocol+ - (String)
# * +:from_port+ - (Integer)
# * +:to_port+ - (Integer)
# * +:groups+ - (Array<Hash>)
# * +:user_id+ - (String)
# * +:group_name+ - (String)
# * +:group_id+ - (String)
# * +:ip_ranges+ - (Array<Hash>)
# * +:cidr_ip+ - (String)
# * +:ip_permissions_egress+ - (Array<Hash>)
# * +:ip_protocol+ - (String)
# * +:from_port+ - (Integer)
# * +:to_port+ - (Integer)
# * +:groups+ - (Array<Hash>)
# * +:user_id+ - (String)
# * +:group_name+ - (String)
# * +:group_id+ - (String)
# * +:ip_ranges+ - (Array<Hash>)
# * +:cidr_ip+ - (String)
# * +:vpc_id+ - (String)
# * +:tag_set+ - (Array<Hash>)
# * +:key+ - (String)
# * +:value+ - (String)
#
# @return [Core::Response]
#
define_client_method :describe_security_groups, 'DescribeSecurityGroups'
# Calls the DescribeSnapshotAttribute API operation.
# @method describe_snapshot_attribute(options = {})
#
# === Options:
#
# * +:snapshot_id+ - *required* - (String) The ID of the EBS snapshot
# whose attribute is being described.
# * +:attribute+ - *required* - (String) The name of the EBS attribute to
# describe. Available attribute names: createVolumePermission
#
# === Response Structure:
#
# * +:snapshot_id+ - (String)
# * +:create_volume_permission+ - (Array<Hash>)
# * +:user_id+ - (String)
# * +:group+ - (String)
# * +:product_codes+ - (Array<Hash>)
# * +:product_code+ - (String)
# * +:type+ - (String)
#
# @return [Core::Response]
#
define_client_method :describe_snapshot_attribute, 'DescribeSnapshotAttribute'
# Calls the DescribeSnapshots API operation.
# @method describe_snapshots(options = {})
#
# === Options:
#
# * +:snapshot_ids+ - (Array<String>) The optional list of EBS snapshot
# IDs to describe.
# * +:owner_ids+ - (Array<String>) The optional list of EBS snapshot
# owners.
# * +:restorable_by_user_ids+ - (Array<String>) The optional list of
# users who have permission to create volumes from the described EBS
# snapshots.
# * +:filters+ - (Array<Hash>) A list of filters used to match properties
# for Snapshots. For a complete reference to the available filter keys
# for this operation, see the Amazon EC2 API reference.
# * +:name+ - (String) Specifies the name of the filter.
# * +:values+ - (Array<String>) Contains one or more values for the
# filter.
#
# === Response Structure:
#
# * +:snapshot_set+ - (Array<Hash>)
# * +:snapshot_id+ - (String)
# * +:volume_id+ - (String)
# * +:status+ - (String)
# * +:start_time+ - (Time)
# * +:progress+ - (String)
# * +:owner_id+ - (String)
# * +:description+ - (String)
# * +:volume_size+ - (Integer)
# * +:owner_alias+ - (String)
# * +:tag_set+ - (Array<Hash>)
# * +:key+ - (String)
# * +:value+ - (String)
#
# @return [Core::Response]
#
define_client_method :describe_snapshots, 'DescribeSnapshots'
# Calls the DescribeSpotDatafeedSubscription API operation.
# @method describe_spot_datafeed_subscription(options = {})
#
# === Options:
#
# This method accepts no options.
#
# === Response Structure:
#
# * +:spot_datafeed_subscription+ - (Hash)
# * +:owner_id+ - (String)
# * +:bucket+ - (String)
# * +:prefix+ - (String)
# * +:state+ - (String)
# * +:fault+ - (Hash)
# * +:code+ - (String)
# * +:message+ - (String)
#
# @return [Core::Response]
#
define_client_method :describe_spot_datafeed_subscription, 'DescribeSpotDatafeedSubscription'
# Calls the DescribeSpotInstanceRequests API operation.
# @method describe_spot_instance_requests(options = {})
#
# === Options:
#
# * +:spot_instance_request_ids+ - (Array<String>) The ID of the request.
# * +:filters+ - (Array<Hash>) A list of filters used to match properties
# for SpotInstances. For a complete reference to the available filter
# keys for this operation, see the Amazon EC2 API reference.
# * +:name+ - (String) Specifies the name of the filter.
# * +:values+ - (Array<String>) Contains one or more values for the
# filter.
#
# === Response Structure:
#
# * +:spot_instance_request_set+ - (Array<Hash>)
# * +:spot_instance_request_id+ - (String)
# * +:spot_price+ - (String)
# * +:type+ - (String)
# * +:state+ - (String)
# * +:fault+ - (Hash)
# * +:code+ - (String)
# * +:message+ - (String)
# * +:valid_from+ - (Time)
# * +:valid_until+ - (Time)
# * +:launch_group+ - (String)
# * +:availability_zone_group+ - (String)
# * +:launch_specification+ - (Hash)
# * +:image_id+ - (String)
# * +:key_name+ - (String)
# * +:group_set+ - (Array<Hash>)
# * +:group_name+ - (String)
# * +:group_id+ - (String)
# * +:user_data+ - (String)
# * +:addressing_type+ - (String)
# * +:instance_type+ - (String)
# * +:placement+ - (Hash)
# * +:availability_zone+ - (String)
# * +:group_name+ - (String)
# * +:kernel_id+ - (String)
# * +:ramdisk_id+ - (String)
# * +:block_device_mapping+ - (Array<Hash>)
# * +:virtual_name+ - (String)
# * +:device_name+ - (String)
# * +:ebs+ - (Hash)
# * +:snapshot_id+ - (String)
# * +:volume_size+ - (Integer)
# * +:delete_on_termination+ - (Boolean)
# * +:no_device+ - (String)
# * +:monitoring_enabled+ - (Boolean)
# * +:subnet_id+ - (String)
# * +:network_interface_set+ - (Array<Hash>)
# * +:network_interface_id+ - (String)
# * +:device_index+ - (Integer)
# * +:subnet_id+ - (String)
# * +:description+ - (String)
# * +:private_ip_address+ - (String)
# * +:security_group_id+ - (Array<String>)
# * +:delete_on_termination+ - (Boolean)
# * +:iam_instance_profile+ - (Hash)
# * +:arn+ - (String)
# * +:name+ - (String)
# * +:instance_id+ - (String)
# * +:create_time+ - (Time)
# * +:product_description+ - (String)
# * +:tag_set+ - (Array<Hash>)
# * +:key+ - (String)
# * +:value+ - (String)
# * +:launched_availability_zone+ - (String)
#
# @return [Core::Response]
#
define_client_method :describe_spot_instance_requests, 'DescribeSpotInstanceRequests'
# Calls the DescribeSpotPriceHistory API operation.
# @method describe_spot_price_history(options = {})
#
# === Options:
#
# * +:start_time+ - (String<ISO8601 datetime>) The start date and time of
# the Spot Instance price history data.
# * +:end_time+ - (String<ISO8601 datetime>) The end date and time of the
# Spot Instance price history data.
# * +:instance_types+ - (Array<String>) Specifies the instance type to
# return.
# * +:product_descriptions+ - (Array<String>) The description of the AMI.
# * +:filters+ - (Array<Hash>) A list of filters used to match properties
# for SpotPriceHistory. For a complete reference to the available
# filter keys for this operation, see the Amazon EC2 API reference.
# * +:name+ - (String) Specifies the name of the filter.
# * +:values+ - (Array<String>) Contains one or more values for the
# filter.
# * +:availability_zone+ - (String) Filters the results by availability
# zone (ex: 'us-east-1a').
# * +:max_results+ - (Integer) Specifies the number of rows to return.
# * +:next_token+ - (String) Specifies the next set of rows to return.
#
# === Response Structure:
#
# * +:spot_price_history_set+ - (Array<Hash>)
# * +:instance_type+ - (String)
# * +:product_description+ - (String)
# * +:spot_price+ - (String)
# * +:timestamp+ - (Time)
# * +:availability_zone+ - (String)
# * +:next_token+ - (String)
#
# @return [Core::Response]
#
define_client_method :describe_spot_price_history, 'DescribeSpotPriceHistory'
# Calls the DescribeSubnets API operation.
# @method describe_subnets(options = {})
#
# === Options:
#
# * +:subnet_ids+ - (Array<String>) A set of one or more subnet IDs.
# * +:filters+ - (Array<Hash>) A list of filters used to match properties
# for Subnets. For a complete reference to the available filter keys
# for this operation, see the Amazon EC2 API reference.
# * +:name+ - (String) Specifies the name of the filter.
# * +:values+ - (Array<String>) Contains one or more values for the
# filter.
#
# === Response Structure:
#
# * +:subnet_set+ - (Array<Hash>)
# * +:subnet_id+ - (String)
# * +:state+ - (String)
# * +:vpc_id+ - (String)
# * +:cidr_block+ - (String)
# * +:available_ip_address_count+ - (Integer)
# * +:availability_zone+ - (String)
# * +:tag_set+ - (Array<Hash>)
# * +:key+ - (String)
# * +:value+ - (String)
#
# @return [Core::Response]
#
define_client_method :describe_subnets, 'DescribeSubnets'
# Calls the DescribeTags API operation.
# @method describe_tags(options = {})
#
# === Options:
#
# * +:filters+ - (Array<Hash>) A list of filters used to match properties
# for tags.
# * +:name+ - (String) Specifies the name of the filter.
# * +:values+ - (Array<String>) Contains one or more values for the
# filter.
#
# === Response Structure:
#
# * +:tag_set+ - (Array<Hash>)
# * +:resource_id+ - (String)
# * +:resource_type+ - (String)
# * +:key+ - (String)
# * +:value+ - (String)
#
# @return [Core::Response]
#
define_client_method :describe_tags, 'DescribeTags'
# Calls the DescribeVolumeAttribute API operation.
# @method describe_volume_attribute(options = {})
#
# === Options:
#
# * +:volume_id+ - *required* - (String)
# * +:attribute+ - (String)
#
# === Response Structure:
#
# * +:volume_id+ - (String)
# * +:auto_enable_io+ - (Hash)
# * +:value+ - (Boolean)
# * +:product_codes+ - (Array<Hash>)
# * +:product_code+ - (String)
# * +:type+ - (String)
#
# @return [Core::Response]
#
define_client_method :describe_volume_attribute, 'DescribeVolumeAttribute'
# Calls the DescribeVolumeStatus API operation.
# @method describe_volume_status(options = {})
#
# === Options:
#
# * +:volume_ids+ - (Array<String>)
# * +:filters+ - (Array<Hash>)
# * +:name+ - (String) Specifies the name of the filter.
# * +:values+ - (Array<String>) Contains one or more values for the
# filter.
# * +:next_token+ - (String)
# * +:max_results+ - (Integer)
#
# === Response Structure:
#
# * +:volume_status_set+ - (Array<Hash>)
# * +:volume_id+ - (String)
# * +:availability_zone+ - (String)
# * +:volume_status+ - (Hash)
# * +:status+ - (String)
# * +:details+ - (Array<Hash>)
# * +:name+ - (String)
# * +:status+ - (String)
# * +:events_set+ - (Array<Hash>)
# * +:event_type+ - (String)
# * +:description+ - (String)
# * +:not_before+ - (Time)
# * +:not_after+ - (Time)
# * +:event_id+ - (String)
# * +:actions_set+ - (Array<Hash>)
# * +:code+ - (String)
# * +:description+ - (String)
# * +:event_type+ - (String)
# * +:event_id+ - (String)
# * +:next_token+ - (String)
#
# @return [Core::Response]
#
define_client_method :describe_volume_status, 'DescribeVolumeStatus'
# Calls the DescribeVolumes API operation.
# @method describe_volumes(options = {})
#
# === Options:
#
# * +:volume_ids+ - (Array<String>) The optional list of EBS volumes to
# describe.
# * +:filters+ - (Array<Hash>) A list of filters used to match properties
# for Volumes. For a complete reference to the available filter keys
# for this operation, see the Amazon EC2 API reference.
# * +:name+ - (String) Specifies the name of the filter.
# * +:values+ - (Array<String>) Contains one or more values for the
# filter.
#
# === Response Structure:
#
# * +:volume_set+ - (Array<Hash>)
# * +:volume_id+ - (String)
# * +:size+ - (Integer)
# * +:snapshot_id+ - (String)
# * +:availability_zone+ - (String)
# * +:status+ - (String)
# * +:create_time+ - (Time)
# * +:attachment_set+ - (Array<Hash>)
# * +:volume_id+ - (String)
# * +:instance_id+ - (String)
# * +:device+ - (String)
# * +:status+ - (String)
# * +:attach_time+ - (Time)
# * +:delete_on_termination+ - (Boolean)
# * +:tag_set+ - (Array<Hash>)
# * +:key+ - (String)
# * +:value+ - (String)
#
# @return [Core::Response]
#
define_client_method :describe_volumes, 'DescribeVolumes'
# Calls the DescribeVpcs API operation.
# @method describe_vpcs(options = {})
#
# === Options:
#
# * +:vpc_ids+ - (Array<String>) The ID of a VPC you want information
# about.
# * +:filters+ - (Array<Hash>) A list of filters used to match properties
# for VPCs. For a complete reference to the available filter keys for
# this operation, see the Amazon EC2 API reference.
# * +:name+ - (String) Specifies the name of the filter.
# * +:values+ - (Array<String>) Contains one or more values for the
# filter.
#
# === Response Structure:
#
# * +:vpc_set+ - (Array<Hash>)
# * +:vpc_id+ - (String)
# * +:state+ - (String)
# * +:cidr_block+ - (String)
# * +:dhcp_options_id+ - (String)
# * +:tag_set+ - (Array<Hash>)
# * +:key+ - (String)
# * +:value+ - (String)
# * +:instance_tenancy+ - (String)
#
# @return [Core::Response]
#
define_client_method :describe_vpcs, 'DescribeVpcs'
# Calls the DescribeVpnConnections API operation.
# @method describe_vpn_connections(options = {})
#
# === Options:
#
# * +:vpn_connection_ids+ - (Array<String>) A VPN connection ID. More
# than one may be specified per request.
# * +:filters+ - (Array<Hash>) A list of filters used to match properties
# for VPN Connections. For a complete reference to the available filter
# keys for this operation, see the Amazon EC2 API reference.
# * +:name+ - (String) Specifies the name of the filter.
# * +:values+ - (Array<String>) Contains one or more values for the
# filter.
#
# === Response Structure:
#
# * +:vpn_connection_set+ - (Array<Hash>)
# * +:vpn_connection_id+ - (String)
# * +:state+ - (String)
# * +:customer_gateway_configuration+ - (String)
# * +:vpn_type+ - (String)
# * +:customer_gateway_id+ - (String)
# * +:vpn_gateway_id+ - (String)
# * +:tag_set+ - (Array<Hash>)
# * +:key+ - (String)
# * +:value+ - (String)
# * +:vgw_telemetry+ - (Array<Hash>)
# * +:outside_ip_address+ - (String)
# * +:status+ - (String)
# * +:last_status_change+ - (Time)
# * +:status_message+ - (String)
# * +:accepted_route_count+ - (Integer)
#
# @return [Core::Response]
#
define_client_method :describe_vpn_connections, 'DescribeVpnConnections'
# Calls the DescribeVpnGateways API operation.
# @method describe_vpn_gateways(options = {})
#
# === Options:
#
# * +:vpn_gateway_ids+ - (Array<String>) A list of filters used to match
# properties for VPN Gateways. For a complete reference to the
# available filter keys for this operation, see the Amazon EC2 API
# reference.
# * +:filters+ - (Array<Hash>) A list of filters used to match properties
# for VPN Gateways. For a complete reference to the available filter
# keys for this operation, see the Amazon EC2 API reference.
# * +:name+ - (String) Specifies the name of the filter.
# * +:values+ - (Array<String>) Contains one or more values for the
# filter.
#
# === Response Structure:
#
# * +:vpn_gateway_set+ - (Array<Hash>)
# * +:vpn_gateway_id+ - (String)
# * +:state+ - (String)
# * +:vpn_type+ - (String)
# * +:availability_zone+ - (String)
# * +:attachments+ - (Array<Hash>)
# * +:vpc_id+ - (String)
# * +:state+ - (String)
# * +:tag_set+ - (Array<Hash>)
# * +:key+ - (String)
# * +:value+ - (String)
#
# @return [Core::Response]
#
define_client_method :describe_vpn_gateways, 'DescribeVpnGateways'
# Calls the DetachInternetGateway API operation.
# @method detach_internet_gateway(options = {})
#
# === Options:
#
# * +:internet_gateway_id+ - *required* - (String) The ID of the Internet
# gateway to detach.
# * +:vpc_id+ - *required* - (String) The ID of the VPC.
#
# === Response Structure:
#
# This method returns no response data.
#
# @return [Core::Response]
#
define_client_method :detach_internet_gateway, 'DetachInternetGateway'
# Calls the DetachNetworkInterface API operation.
# @method detach_network_interface(options = {})
#
# === Options:
#
# * +:attachment_id+ - *required* - (String)
# * +:force+ - (Boolean)
#
# === Response Structure:
#
# This method returns no response data.
#
# @return [Core::Response]
#
define_client_method :detach_network_interface, 'DetachNetworkInterface'
# Calls the DetachVolume API operation.
# @method detach_volume(options = {})
#
# === Options:
#
# * +:volume_id+ - *required* - (String) The ID of the volume to detach.
# * +:instance_id+ - (String) The ID of the instance from which to detach
# the the specified volume.
# * +:device+ - (String) The device name to which the volume is attached
# on the specified instance.
# * +:force+ - (Boolean) Forces detachment if the previous detachment
# attempt did not occur cleanly (logging into an instance, unmounting
# the volume, and detaching normally). This option can lead to data
# loss or a corrupted file system. Use this option only as a last
# resort to detach a volume from a failed instance. The instance will
# not have an opportunity to flush file system caches nor file system
# meta data. If you use this option, you must perform file system check
# and repair procedures.
#
# === Response Structure:
#
# * +:volume_id+ - (String)
# * +:instance_id+ - (String)
# * +:device+ - (String)
# * +:status+ - (String)
# * +:attach_time+ - (Time)
# * +:delete_on_termination+ - (Boolean)
#
# @return [Core::Response]
#
define_client_method :detach_volume, 'DetachVolume'
# Calls the DetachVpnGateway API operation.
# @method detach_vpn_gateway(options = {})
#
# === Options:
#
# * +:vpn_gateway_id+ - *required* - (String) The ID of the VPN gateway
# to detach from the VPC.
# * +:vpc_id+ - *required* - (String) The ID of the VPC to detach the VPN
# gateway from.
#
# === Response Structure:
#
# This method returns no response data.
#
# @return [Core::Response]
#
define_client_method :detach_vpn_gateway, 'DetachVpnGateway'
# Calls the DisassociateAddress API operation.
# @method disassociate_address(options = {})
#
# === Options:
#
# * +:public_ip+ - (String) The elastic IP address that you are
# disassociating from the instance.
# * +:association_id+ - (String) Association ID corresponding to the VPC
# elastic IP address you want to disassociate.
#
# === Response Structure:
#
# This method returns no response data.
#
# @return [Core::Response]
#
define_client_method :disassociate_address, 'DisassociateAddress'
# Calls the DisassociateRouteTable API operation.
# @method disassociate_route_table(options = {})
#
# === Options:
#
# * +:association_id+ - *required* - (String) The association ID
# representing the current association between the route table and
# subnet.
#
# === Response Structure:
#
# This method returns no response data.
#
# @return [Core::Response]
#
define_client_method :disassociate_route_table, 'DisassociateRouteTable'
# Calls the EnableVolumeIO API operation.
# @method enable_volume_io(options = {})
#
# === Options:
#
# * +:volume_id+ - *required* - (String)
#
# === Response Structure:
#
# This method returns no response data.
#
# @return [Core::Response]
#
define_client_method :enable_volume_io, 'EnableVolumeIO'
# Calls the GetConsoleOutput API operation.
# @method get_console_output(options = {})
#
# === Options:
#
# * +:instance_id+ - *required* - (String) The ID of the instance for
# which you want console output.
#
# === Response Structure:
#
# * +:instance_id+ - (String)
# * +:timestamp+ - (Time)
# * +:output+ - (String)
#
# @return [Core::Response]
#
define_client_method :get_console_output, 'GetConsoleOutput'
# Calls the GetPasswordData API operation.
# @method get_password_data(options = {})
#
# === Options:
#
# * +:instance_id+ - *required* - (String) The ID of the instance for
# which you want the Windows administrator password.
#
# === Response Structure:
#
# * +:instance_id+ - (String)
# * +:timestamp+ - (Time)
# * +:password_data+ - (String)
#
# @return [Core::Response]
#
define_client_method :get_password_data, 'GetPasswordData'
# Calls the ImportInstance API operation.
# @method import_instance(options = {})
#
# === Options:
#
# * +:description+ - (String)
# * +:launch_specification+ - (Hash)
# * +:architecture+ - (String)
# * +:security_groups+ - (Array<String>)
# * +:additional_info+ - (String)
# * +:user_data+ - (String)
# * +:instance_type+ - (String)
# * +:placement+ - (Hash)
# * +:availability_zone+ - (String) The availability zone in which an
# Amazon EC2 instance runs.
# * +:group_name+ - (String) The name of the PlacementGroup in which
# an Amazon EC2 instance runs. Placement groups are primarily used
# for launching High Performance Computing instances in the same
# group to ensure fast connection speeds.
# * +:tenancy+ - (String) The allowed tenancy of instances launched
# into the VPC. A value of default means instances can be launched
# with any tenancy; a value of dedicated means all instances
# launched into the VPC will be launched as dedicated tenancy
# regardless of the tenancy assigned to the instance at launch.
# * +:block_device_mappings+ - (Array<Hash>)
# * +:virtual_name+ - (String) Specifies the virtual device name.
# * +:device_name+ - (String) Specifies the device name (e.g.,
# /dev/sdh).
# * +:ebs+ - (Hash) Specifies parameters used to automatically setup
# Amazon EBS volumes when the instance is launched.
# * +:snapshot_id+ - (String) The ID of the snapshot from which the
# volume will be created.
# * +:volume_size+ - (Integer) The size of the volume, in
# gigabytes.
# * +:delete_on_termination+ - (Boolean) Specifies whether the
# Amazon EBS volume is deleted on instance termination.
# * +:no_device+ - (String) Specifies the device name to suppress
# during instance launch.
# * +:monitoring+ - (Hash)
# * +:enabled+ - (Boolean)
# * +:subnet_id+ - (String)
# * +:disable_api_termination+ - (Boolean)
# * +:instance_initiated_shutdown_behavior+ - (String)
# * +:private_ip_address+ - (String)
# * +:disk_images+ - (Array<Hash>)
# * +:image+ - (Hash)
# * +:format+ - *required* - (String)
# * +:bytes+ - *required* - (Integer)
# * +:import_manifest_url+ - *required* - (String)
# * +:description+ - (String)
# * +:volume+ - (Hash)
# * +:size+ - *required* - (Integer)
# * +:platform+ - *required* - (String)
#
# === Response Structure:
#
# * +:conversion_task+ - (Hash)
# * +:conversion_task_id+ - (String)
# * +:expiration_time+ - (String)
# * +:import_instance+ - (Hash)
# * +:volumes+ - (Array<Hash>)
# * +:bytes_converted+ - (Integer)
# * +:availability_zone+ - (String)
# * +:image+ - (Hash)
# * +:format+ - (String)
# * +:size+ - (Integer)
# * +:import_manifest_url+ - (String)
# * +:checksum+ - (String)
# * +:volume+ - (Hash)
# * +:size+ - (Integer)
# * +:id+ - (String)
# * +:status+ - (String)
# * +:status_message+ - (String)
# * +:description+ - (String)
# * +:instance_id+ - (String)
# * +:platform+ - (String)
# * +:description+ - (String)
# * +:import_volume+ - (Hash)
# * +:bytes_converted+ - (Integer)
# * +:availability_zone+ - (String)
# * +:description+ - (String)
# * +:image+ - (Hash)
# * +:format+ - (String)
# * +:size+ - (Integer)
# * +:import_manifest_url+ - (String)
# * +:checksum+ - (String)
# * +:volume+ - (Hash)
# * +:size+ - (Integer)
# * +:id+ - (String)
# * +:state+ - (String)
# * +:status_message+ - (String)
# * +:tag_set+ - (Array<Hash>)
# * +:key+ - (String)
# * +:value+ - (String)
#
# @return [Core::Response]
#
define_client_method :import_instance, 'ImportInstance'
# Calls the ImportKeyPair API operation.
# @method import_key_pair(options = {})
#
# === Options:
#
# * +:key_name+ - *required* - (String) The unique name for the key pair.
# * +:public_key_material+ - *required* - (String) The public key portion
# of the key pair being imported.
#
# === Response Structure:
#
# * +:key_name+ - (String)
# * +:key_fingerprint+ - (String)
#
# @return [Core::Response]
#
define_client_method :import_key_pair, 'ImportKeyPair'
# Calls the ImportVolume API operation.
# @method import_volume(options = {})
#
# === Options:
#
# * +:availability_zone+ - (String)
# * +:image+ - (Hash)
# * +:format+ - *required* - (String)
# * +:bytes+ - *required* - (Integer)
# * +:import_manifest_url+ - *required* - (String)
# * +:description+ - (String)
# * +:volume+ - (Hash)
# * +:size+ - *required* - (Integer)
#
# === Response Structure:
#
# * +:conversion_task+ - (Hash)
# * +:conversion_task_id+ - (String)
# * +:expiration_time+ - (String)
# * +:import_instance+ - (Hash)
# * +:volumes+ - (Array<Hash>)
# * +:bytes_converted+ - (Integer)
# * +:availability_zone+ - (String)
# * +:image+ - (Hash)
# * +:format+ - (String)
# * +:size+ - (Integer)
# * +:import_manifest_url+ - (String)
# * +:checksum+ - (String)
# * +:volume+ - (Hash)
# * +:size+ - (Integer)
# * +:id+ - (String)
# * +:status+ - (String)
# * +:status_message+ - (String)
# * +:description+ - (String)
# * +:instance_id+ - (String)
# * +:platform+ - (String)
# * +:description+ - (String)
# * +:import_volume+ - (Hash)
# * +:bytes_converted+ - (Integer)
# * +:availability_zone+ - (String)
# * +:description+ - (String)
# * +:image+ - (Hash)
# * +:format+ - (String)
# * +:size+ - (Integer)
# * +:import_manifest_url+ - (String)
# * +:checksum+ - (String)
# * +:volume+ - (Hash)
# * +:size+ - (Integer)
# * +:id+ - (String)
# * +:state+ - (String)
# * +:status_message+ - (String)
# * +:tag_set+ - (Array<Hash>)
# * +:key+ - (String)
# * +:value+ - (String)
#
# @return [Core::Response]
#
define_client_method :import_volume, 'ImportVolume'
# Calls the ModifyImageAttribute API operation.
# @method modify_image_attribute(options = {})
#
# === Options:
#
# * +:image_id+ - *required* - (String) The ID of the AMI whose attribute
# you want to modify.
# * +:attribute+ - (String) The name of the AMI attribute you want to
# modify. Available attributes: launchPermission, productCodes
# * +:operation_type+ - (String) The type of operation being requested.
# Available operation types: add, remove
# * +:user_ids+ - (Array<String>) The AWS user ID being added to or
# removed from the list of users with launch permissions for this AMI.
# Only valid when the launchPermission attribute is being modified.
# * +:user_groups+ - (Array<String>) The user group being added to or
# removed from the list of user groups with launch permissions for this
# AMI. Only valid when the launchPermission attribute is being
# modified. Available user groups: all
# * +:product_codes+ - (Array<String>) The list of product codes being
# added to or removed from the specified AMI. Only valid when the
# productCodes attribute is being modified.
# * +:value+ - (String) The value of the attribute being modified. Only
# valid when the description attribute is being modified.
# * +:launch_permission+ - (Hash)
# * +:add+ - (Array<Hash>)
# * +:user_id+ - (String) The AWS user ID of the user involved in
# this launch permission.
# * +:group+ - (String) The AWS group of the user involved in this
# launch permission. Available groups: all
# * +:remove+ - (Array<Hash>)
# * +:user_id+ - (String) The AWS user ID of the user involved in
# this launch permission.
# * +:group+ - (String) The AWS group of the user involved in this
# launch permission. Available groups: all
# * +:description+ - (Hash)
# * +:value+ - (String) String value
#
# === Response Structure:
#
# This method returns no response data.
#
# @return [Core::Response]
#
define_client_method :modify_image_attribute, 'ModifyImageAttribute'
# Calls the ModifyInstanceAttribute API operation.
# @method modify_instance_attribute(options = {})
#
# === Options:
#
# * +:instance_id+ - *required* - (String) The ID of the instance whose
# attribute is being modified.
# * +:attribute+ - (String) The name of the attribute being modified.
# Available attribute names: instanceType, kernel, ramdisk, userData,
# disableApiTermination, instanceInitiatedShutdownBehavior, rootDevice,
# blockDeviceMapping
# * +:value+ - (String) The new value of the instance attribute being
# modified. Only valid when kernel, ramdisk, userData,
# disableApiTermination or instanceInitiateShutdownBehavior is
# specified as the attribute being modified.
# * +:block_device_mappings+ - (Array<Hash>) The new block device
# mappings for the instance whose attributes are being modified. Only
# valid when blockDeviceMapping is specified as the attribute being
# modified.
# * +:device_name+ - (String) The device name (e.g., /dev/sdh) at which
# the block device is exposed on the instance.
# * +:ebs+ - (Hash) The EBS instance block device specification
# describing the EBS block device to map to the specified device name
# on a running instance.
# * +:volume_id+ - (String) The ID of the EBS volume that should be
# mounted as a block device on an Amazon EC2 instance.
# * +:delete_on_termination+ - (Boolean) Specifies whether the Amazon
# EBS volume is deleted on instance termination.
# * +:virtual_name+ - (String) The virtual device name.
# * +:no_device+ - (String) When set to the empty string, specifies
# that the device name in this object should not be mapped to any
# real device.
# * +:source_dest_check+ - (Hash)
# * +:value+ - (Boolean) Boolean value
# * +:disable_api_termination+ - (Hash)
# * +:value+ - (Boolean) Boolean value
# * +:instance_type+ - (Hash)
# * +:value+ - (String) String value
# * +:kernel+ - (Hash)
# * +:value+ - (String) String value
# * +:ramdisk+ - (Hash)
# * +:value+ - (String) String value
# * +:user_data+ - (Hash)
# * +:value+ - (String) String value
# * +:instance_initiated_shutdown_behavior+ - (Hash)
# * +:value+ - (String) String value
# * +:groups+ - (Array<String>)
#
# === Response Structure:
#
# This method returns no response data.
#
# @return [Core::Response]
#
define_client_method :modify_instance_attribute, 'ModifyInstanceAttribute'
# Calls the ModifyNetworkInterfaceAttribute API operation.
# @method modify_network_interface_attribute(options = {})
#
# === Options:
#
# * +:network_interface_id+ - *required* - (String)
# * +:description+ - (Hash)
# * +:value+ - (String) String value
# * +:source_dest_check+ - (Hash)
# * +:value+ - (Boolean) Boolean value
# * +:groups+ - (Array<String>)
# * +:attachment+ - (Hash)
# * +:attachment_id+ - (String)
# * +:delete_on_termination+ - (Boolean)
#
# === Response Structure:
#
# This method returns no response data.
#
# @return [Core::Response]
#
define_client_method :modify_network_interface_attribute, 'ModifyNetworkInterfaceAttribute'
# Calls the ModifySnapshotAttribute API operation.
# @method modify_snapshot_attribute(options = {})
#
# === Options:
#
# * +:snapshot_id+ - *required* - (String) The ID of the EBS snapshot
# whose attributes are being modified.
# * +:attribute+ - (String) The name of the attribute being modified.
# Available attribute names: createVolumePermission
# * +:operation_type+ - (String) The operation to perform on the
# attribute. Available operation names: add, remove
# * +:user_ids+ - (Array<String>) The AWS user IDs to add to or remove
# from the list of users that have permission to create EBS volumes
# from the specified snapshot. Currently supports "all". Only valid
# when the createVolumePermission attribute is being modified.
# * +:group_names+ - (Array<String>) The AWS group names to add to or
# remove from the list of groups that have permission to create EBS
# volumes from the specified snapshot. Currently supports "all". Only
# valid when the createVolumePermission attribute is being modified.
# * +:create_volume_permission+ - (Hash)
# * +:add+ - (Array<Hash>)
# * +:user_id+ - (String) The user ID of the user that can create
# volumes from the snapshot.
# * +:group+ - (String) The group that is allowed to create volumes
# from the snapshot (currently supports "all").
# * +:remove+ - (Array<Hash>)
# * +:user_id+ - (String) The user ID of the user that can create
# volumes from the snapshot.
# * +:group+ - (String) The group that is allowed to create volumes
# from the snapshot (currently supports "all").
#
# === Response Structure:
#
# This method returns no response data.
#
# @return [Core::Response]
#
define_client_method :modify_snapshot_attribute, 'ModifySnapshotAttribute'
# Calls the ModifyVolumeAttribute API operation.
# @method modify_volume_attribute(options = {})
#
# === Options:
#
# * +:volume_id+ - *required* - (String)
# * +:auto_enable_io+ - (Boolean)
#
# === Response Structure:
#
# This method returns no response data.
#
# @return [Core::Response]
#
define_client_method :modify_volume_attribute, 'ModifyVolumeAttribute'
# Calls the MonitorInstances API operation.
# @method monitor_instances(options = {})
#
# === Options:
#
# * +:instance_ids+ - *required* - (Array<String>) The list of Amazon EC2
# instances on which to enable monitoring.
#
# === Response Structure:
#
# * +:instances_set+ - (Array<Hash>)
# * +:instance_id+ - (String)
# * +:monitoring+ - (Hash)
# * +:state+ - (String)
#
# @return [Core::Response]
#
define_client_method :monitor_instances, 'MonitorInstances'
# Calls the PurchaseReservedInstancesOffering API operation.
# @method purchase_reserved_instances_offering(options = {})
#
# === Options:
#
# * +:reserved_instances_offering_id+ - *required* - (String) The unique
# ID of the Reserved Instances offering being purchased.
# * +:instance_count+ - *required* - (Integer) The number of Reserved
# Instances to purchase.
#
# === Response Structure:
#
# * +:reserved_instances_id+ - (String)
#
# @return [Core::Response]
#
define_client_method :purchase_reserved_instances_offering, 'PurchaseReservedInstancesOffering'
# Calls the RebootInstances API operation.
# @method reboot_instances(options = {})
#
# === Options:
#
# * +:instance_ids+ - *required* - (Array<String>) The list of instances
# to terminate.
#
# === Response Structure:
#
# This method returns no response data.
#
# @return [Core::Response]
#
define_client_method :reboot_instances, 'RebootInstances'
# Calls the RegisterImage API operation.
# @method register_image(options = {})
#
# === Options:
#
# * +:image_location+ - (String) The full path to your AMI manifest in
# Amazon S3 storage.
# * +:name+ - (String) The name to give the new Amazon Machine Image.
# Constraints: 3-128 alphanumeric characters, parenthesis (()), commas
# (,), slashes (/), dashes (-), or underscores(_)
# * +:description+ - (String) The description describing the new AMI.
# * +:architecture+ - (String) The architecture of the image. Valid
# Values: i386, x86_64
# * +:kernel_id+ - (String) The optional ID of a specific kernel to
# register with the new AMI.
# * +:ramdisk_id+ - (String) The optional ID of a specific ramdisk to
# register with the new AMI. Some kernels require additional drivers at
# launch. Check the kernel requirements for information on whether you
# need to specify a RAM disk.
# * +:root_device_name+ - (String) The root device name (e.g.,
# /dev/sda1).
# * +:block_device_mappings+ - (Array<Hash>) The block device mappings
# for the new AMI, which specify how different block devices (ex: EBS
# volumes and ephemeral drives) will be exposed on instances launched
# from the new image.
# * +:virtual_name+ - (String) Specifies the virtual device name.
# * +:device_name+ - (String) Specifies the device name (e.g.,
# /dev/sdh).
# * +:ebs+ - (Hash) Specifies parameters used to automatically setup
# Amazon EBS volumes when the instance is launched.
# * +:snapshot_id+ - (String) The ID of the snapshot from which the
# volume will be created.
# * +:volume_size+ - (Integer) The size of the volume, in gigabytes.
# * +:delete_on_termination+ - (Boolean) Specifies whether the Amazon
# EBS volume is deleted on instance termination.
# * +:no_device+ - (String) Specifies the device name to suppress
# during instance launch.
#
# === Response Structure:
#
# * +:image_id+ - (String)
#
# @return [Core::Response]
#
define_client_method :register_image, 'RegisterImage'
# Calls the ReleaseAddress API operation.
# @method release_address(options = {})
#
# === Options:
#
# * +:public_ip+ - (String) The elastic IP address that you are releasing
# from your account.
# * +:allocation_id+ - (String) The allocation ID that AWS provided when
# you allocated the address for use with Amazon VPC.
#
# === Response Structure:
#
# This method returns no response data.
#
# @return [Core::Response]
#
define_client_method :release_address, 'ReleaseAddress'
# Calls the ReplaceNetworkAclAssociation API operation.
# @method replace_network_acl_association(options = {})
#
# === Options:
#
# * +:association_id+ - *required* - (String) The ID representing the
# current association between the original network ACL and the subnet.
# * +:network_acl_id+ - *required* - (String) The ID of the new ACL to
# associate with the subnet.
#
# === Response Structure:
#
# * +:new_association_id+ - (String)
#
# @return [Core::Response]
#
define_client_method :replace_network_acl_association, 'ReplaceNetworkAclAssociation'
# Calls the ReplaceNetworkAclEntry API operation.
# @method replace_network_acl_entry(options = {})
#
# === Options:
#
# * +:network_acl_id+ - *required* - (String) ID of the ACL where the
# entry will be replaced.
# * +:rule_number+ - *required* - (Integer) Rule number of the entry to
# replace.
# * +:protocol+ - *required* - (String) IP protocol the rule applies to.
# Valid Values: tcp, udp, icmp or an IP protocol number.
# * +:rule_action+ - *required* - (String) Whether to allow or deny
# traffic that matches the rule.
# * +:egress+ - *required* - (Boolean) Whether this rule applies to
# egress traffic from the subnet ( +true+ ) or ingress traffic (
# +false+ ).
# * +:cidr_block+ - *required* - (String) The CIDR range to allow or
# deny, in CIDR notation (e.g., 172.16.0.0/24).
# * +:icmp_type_code+ - (Hash) ICMP values.
# * +:type+ - (Integer) For the ICMP protocol, the ICMP type. A value
# of -1 is a wildcard meaning all types. Required if specifying icmp
# for the protocol.
# * +:code+ - (Integer) For the ICMP protocol, the ICMP code. A value
# of -1 is a wildcard meaning all codes. Required if specifying icmp
# for the protocol.
# * +:port_range+ - (Hash) Port ranges.
# * +:from+ - (Integer) The first port in the range. Required if
# specifying tcp or udp for the protocol.
# * +:to+ - (Integer) The last port in the range. Required if
# specifying tcp or udp for the protocol.
#
# === Response Structure:
#
# This method returns no response data.
#
# @return [Core::Response]
#
define_client_method :replace_network_acl_entry, 'ReplaceNetworkAclEntry'
# Calls the ReplaceRoute API operation.
# @method replace_route(options = {})
#
# === Options:
#
# * +:route_table_id+ - *required* - (String) The ID of the route table
# where the route will be replaced.
# * +:destination_cidr_block+ - *required* - (String) The CIDR address
# block used for the destination match. For example: 0.0.0.0/0. The
# value you provide must match the CIDR of an existing route in the
# table.
# * +:gateway_id+ - (String) The ID of a VPN or Internet gateway attached
# to your VPC.
# * +:instance_id+ - (String) The ID of a NAT instance in your VPC.
# * +:network_interface_id+ - (String)
#
# === Response Structure:
#
# This method returns no response data.
#
# @return [Core::Response]
#
define_client_method :replace_route, 'ReplaceRoute'
# Calls the ReplaceRouteTableAssociation API operation.
# @method replace_route_table_association(options = {})
#
# === Options:
#
# * +:association_id+ - *required* - (String) The ID representing the
# current association between the original route table and the subnet.
# * +:route_table_id+ - *required* - (String) The ID of the new route
# table to associate with the subnet.
#
# === Response Structure:
#
# * +:new_association_id+ - (String)
#
# @return [Core::Response]
#
define_client_method :replace_route_table_association, 'ReplaceRouteTableAssociation'
# Calls the ReportInstanceStatus API operation.
# @method report_instance_status(options = {})
#
# === Options:
#
# * +:instances+ - (Array<String>)
# * +:status+ - (String)
# * +:start_time+ - (String<ISO8601 datetime>)
# * +:end_time+ - (String<ISO8601 datetime>)
# * +:reason_codes+ - (Array<String>)
# * +:description+ - (String)
#
# === Response Structure:
#
# This method returns no response data.
#
# @return [Core::Response]
#
define_client_method :report_instance_status, 'ReportInstanceStatus'
# Calls the RequestSpotInstances API operation.
# @method request_spot_instances(options = {})
#
# === Options:
#
# * +:spot_price+ - *required* - (String) Specifies the maximum hourly
# price for any Spot Instance launched to fulfill the request.
# * +:instance_count+ - (Integer) Specifies the maximum number of Spot
# Instances to launch.
# * +:type+ - (String) Specifies the Spot Instance type.
# * +:valid_from+ - (String<ISO8601 datetime>) Defines the start date of
# the request. If this is a one-time request, the request becomes
# active at this date and time and remains active until all instances
# launch, the request expires, or the request is canceled. If the
# request is persistent, the request becomes active at this date and
# time and remains active until it expires or is canceled.
# * +:valid_until+ - (String<ISO8601 datetime>) End date of the request.
# If this is a one-time request, the request remains active until all
# instances launch, the request is canceled, or this date is reached.
# If the request is persistent, it remains active until it is canceled
# or this date and time is reached.
# * +:launch_group+ - (String) Specifies the instance launch group.
# Launch groups are Spot Instances that launch and terminate together.
# * +:availability_zone_group+ - (String) Specifies the Availability Zone
# group. When specifying the same Availability Zone group for all Spot
# Instance requests, all Spot Instances are launched in the same
# Availability Zone.
# * +:launch_specification+ - (Hash) Specifies additional launch instance
# information.
# * +:image_id+ - (String) The AMI ID.
# * +:key_name+ - (String) The name of the key pair.
# * +:security_groups+ - (Array<Hash>)
# * +:group_name+ - (String)
# * +:group_id+ - (String)
# * +:user_data+ - (String) Optional data, specific to a user's
# application, to provide in the launch request. All instances that
# collectively comprise the launch request have access to this data.
# User data is never returned through API responses.
# * +:addressing_type+ - (String) Deprecated.
# * +:instance_type+ - (String) Specifies the instance type.
# * +:placement+ - (Hash) Defines a placement item.
# * +:availability_zone+ - (String) The availability zone in which an
# Amazon EC2 instance runs.
# * +:group_name+ - (String) The name of the PlacementGroup in which
# an Amazon EC2 instance runs. Placement groups are primarily used
# for launching High Performance Computing instances in the same
# group to ensure fast connection speeds.
# * +:kernel_id+ - (String) Specifies the ID of the kernel to select.
# * +:ramdisk_id+ - (String) Specifies the ID of the RAM disk to
# select. Some kernels require additional drivers at launch. Check
# the kernel requirements for information on whether or not you need
# to specify a RAM disk and search for the kernel ID.
# * +:block_device_mappings+ - (Array<Hash>) Specifies how block
# devices are exposed to the instance. Each mapping is made up of a
# virtualName and a deviceName.
# * +:virtual_name+ - (String) Specifies the virtual device name.
# * +:device_name+ - (String) Specifies the device name (e.g.,
# /dev/sdh).
# * +:ebs+ - (Hash) Specifies parameters used to automatically setup
# Amazon EBS volumes when the instance is launched.
# * +:snapshot_id+ - (String) The ID of the snapshot from which the
# volume will be created.
# * +:volume_size+ - (Integer) The size of the volume, in
# gigabytes.
# * +:delete_on_termination+ - (Boolean) Specifies whether the
# Amazon EBS volume is deleted on instance termination.
# * +:no_device+ - (String) Specifies the device name to suppress
# during instance launch.
# * +:monitoring_enabled+ - (Boolean) Enables monitoring for the
# instance.
# * +:subnet_id+ - (String) Specifies the Amazon VPC subnet ID within
# which to launch the instance(s) for Amazon Virtual Private Cloud.
# * +:network_interfaces+ - (Array<Hash>)
# * +:network_interface_id+ - (String)
# * +:device_index+ - (Integer)
# * +:subnet_id+ - (String)
# * +:description+ - (String)
# * +:private_ip_address+ - (String)
# * +:groups+ - (Array<String>)
# * +:delete_on_termination+ - (Boolean)
# * +:iam_instance_profile+ - (Hash)
# * +:arn+ - (String)
# * +:name+ - (String)
#
# === Response Structure:
#
# * +:spot_instance_request_set+ - (Array<Hash>)
# * +:spot_instance_request_id+ - (String)
# * +:spot_price+ - (String)
# * +:type+ - (String)
# * +:state+ - (String)
# * +:fault+ - (Hash)
# * +:code+ - (String)
# * +:message+ - (String)
# * +:valid_from+ - (Time)
# * +:valid_until+ - (Time)
# * +:launch_group+ - (String)
# * +:availability_zone_group+ - (String)
# * +:launch_specification+ - (Hash)
# * +:image_id+ - (String)
# * +:key_name+ - (String)
# * +:group_set+ - (Array<Hash>)
# * +:group_name+ - (String)
# * +:group_id+ - (String)
# * +:user_data+ - (String)
# * +:addressing_type+ - (String)
# * +:instance_type+ - (String)
# * +:placement+ - (Hash)
# * +:availability_zone+ - (String)
# * +:group_name+ - (String)
# * +:kernel_id+ - (String)
# * +:ramdisk_id+ - (String)
# * +:block_device_mapping+ - (Array<Hash>)
# * +:virtual_name+ - (String)
# * +:device_name+ - (String)
# * +:ebs+ - (Hash)
# * +:snapshot_id+ - (String)
# * +:volume_size+ - (Integer)
# * +:delete_on_termination+ - (Boolean)
# * +:no_device+ - (String)
# * +:monitoring_enabled+ - (Boolean)
# * +:subnet_id+ - (String)
# * +:network_interface_set+ - (Array<Hash>)
# * +:network_interface_id+ - (String)
# * +:device_index+ - (Integer)
# * +:subnet_id+ - (String)
# * +:description+ - (String)
# * +:private_ip_address+ - (String)
# * +:security_group_id+ - (Array<String>)
# * +:delete_on_termination+ - (Boolean)
# * +:iam_instance_profile+ - (Hash)
# * +:arn+ - (String)
# * +:name+ - (String)
# * +:instance_id+ - (String)
# * +:create_time+ - (Time)
# * +:product_description+ - (String)
# * +:tag_set+ - (Array<Hash>)
# * +:key+ - (String)
# * +:value+ - (String)
# * +:launched_availability_zone+ - (String)
#
# @return [Core::Response]
#
define_client_method :request_spot_instances, 'RequestSpotInstances'
# Calls the ResetImageAttribute API operation.
# @method reset_image_attribute(options = {})
#
# === Options:
#
# * +:image_id+ - *required* - (String) The ID of the AMI whose attribute
# is being reset.
# * +:attribute+ - *required* - (String) The name of the attribute being
# reset. Available attribute names: launchPermission
#
# === Response Structure:
#
# This method returns no response data.
#
# @return [Core::Response]
#
define_client_method :reset_image_attribute, 'ResetImageAttribute'
# Calls the ResetInstanceAttribute API operation.
# @method reset_instance_attribute(options = {})
#
# === Options:
#
# * +:instance_id+ - *required* - (String) The ID of the Amazon EC2
# instance whose attribute is being reset.
# * +:attribute+ - *required* - (String) The name of the attribute being
# reset. Available attribute names: kernel, ramdisk
#
# === Response Structure:
#
# This method returns no response data.
#
# @return [Core::Response]
#
define_client_method :reset_instance_attribute, 'ResetInstanceAttribute'
# Calls the ResetNetworkInterfaceAttribute API operation.
# @method reset_network_interface_attribute(options = {})
#
# === Options:
#
# * +:network_interface_id+ - *required* - (String)
# * +:source_dest_check+ - (String)
#
# === Response Structure:
#
# This method returns no response data.
#
# @return [Core::Response]
#
define_client_method :reset_network_interface_attribute, 'ResetNetworkInterfaceAttribute'
# Calls the ResetSnapshotAttribute API operation.
# @method reset_snapshot_attribute(options = {})
#
# === Options:
#
# * +:snapshot_id+ - *required* - (String) The ID of the snapshot whose
# attribute is being reset.
# * +:attribute+ - *required* - (String) The name of the attribute being
# reset. Available attribute names: createVolumePermission
#
# === Response Structure:
#
# This method returns no response data.
#
# @return [Core::Response]
#
define_client_method :reset_snapshot_attribute, 'ResetSnapshotAttribute'
# Calls the RevokeSecurityGroupEgress API operation.
# @method revoke_security_group_egress(options = {})
#
# === Options:
#
# * +:group_id+ - *required* - (String) ID of the VPC security group to
# modify.
# * +:source_security_group_name+ - (String) Deprecated.
# * +:source_security_group_owner_id+ - (String) Deprecated.
# * +:ip_protocol+ - (String) Deprecated.
# * +:from_port+ - (Integer) Deprecated.
# * +:to_port+ - (Integer) Deprecated.
# * +:cidr_ip+ - (String) Deprecated.
# * +:ip_permissions+ - (Array<Hash>) List of IP permissions to authorize
# on the specified security group. Specifying permissions through IP
# permissions is the preferred way of authorizing permissions since it
# offers more flexibility and control.
# * +:ip_protocol+ - (String) The IP protocol of this permission. Valid
# protocol values: tcp, udp, icmp
# * +:from_port+ - (Integer) Start of port range for the TCP and UDP
# protocols, or an ICMP type number. An ICMP type number of -1
# indicates a wildcard (i.e., any ICMP type number).
# * +:to_port+ - (Integer) End of port range for the TCP and UDP
# protocols, or an ICMP code. An ICMP code of -1 indicates a wildcard
# (i.e., any ICMP code).
# * +:user_id_group_pairs+ - (Array<Hash>) The list of AWS user IDs and
# groups included in this permission.
# * +:user_id+ - (String) The AWS user ID of an account.
# * +:group_name+ - (String) Name of the security group in the
# specified AWS account. Cannot be used when specifying a CIDR IP
# address range.
# * +:group_id+ - (String) ID of the security group in the specified
# AWS account. Cannot be used when specifying a CIDR IP address
# range.
# * +:ip_ranges+ - (Array<Hash>) The list of CIDR IP ranges included in
# this permission.
# * +:cidr_ip+ - (String) The list of CIDR IP ranges.
#
# === Response Structure:
#
# This method returns no response data.
#
# @return [Core::Response]
#
define_client_method :revoke_security_group_egress, 'RevokeSecurityGroupEgress'
# Calls the RevokeSecurityGroupIngress API operation.
# @method revoke_security_group_ingress(options = {})
#
# === Options:
#
# * +:group_name+ - (String) Name of the standard (EC2) security group to
# modify. The group must belong to your account. Can be used instead of
# GroupID for standard (EC2) security groups.
# * +:group_id+ - (String) ID of the standard (EC2) or VPC security group
# to modify. The group must belong to your account. Required for VPC
# security groups; can be used instead of GroupName for standard (EC2)
# security groups.
# * +:source_security_group_name+ - (String) Deprecated
# * +:source_security_group_owner_id+ - (String) Deprecated
# * +:ip_protocol+ - (String) Deprecated
# * +:from_port+ - (Integer) Deprecated
# * +:to_port+ - (Integer) Deprecated
# * +:cidr_ip+ - (String) Deprecated
# * +:ip_permissions+ - (Array<Hash>) List of IP permissions to revoke on
# the specified security group. For an IP permission to be removed, it
# must exactly match one of the IP permissions you specify in this
# list. Specifying permissions through IP permissions is the preferred
# way of revoking permissions since it offers more flexibility and
# control.
# * +:ip_protocol+ - (String) The IP protocol of this permission. Valid
# protocol values: tcp, udp, icmp
# * +:from_port+ - (Integer) Start of port range for the TCP and UDP
# protocols, or an ICMP type number. An ICMP type number of -1
# indicates a wildcard (i.e., any ICMP type number).
# * +:to_port+ - (Integer) End of port range for the TCP and UDP
# protocols, or an ICMP code. An ICMP code of -1 indicates a wildcard
# (i.e., any ICMP code).
# * +:user_id_group_pairs+ - (Array<Hash>) The list of AWS user IDs and
# groups included in this permission.
# * +:user_id+ - (String) The AWS user ID of an account.
# * +:group_name+ - (String) Name of the security group in the
# specified AWS account. Cannot be used when specifying a CIDR IP
# address range.
# * +:group_id+ - (String) ID of the security group in the specified
# AWS account. Cannot be used when specifying a CIDR IP address
# range.
# * +:ip_ranges+ - (Array<Hash>) The list of CIDR IP ranges included in
# this permission.
# * +:cidr_ip+ - (String) The list of CIDR IP ranges.
#
# === Response Structure:
#
# This method returns no response data.
#
# @return [Core::Response]
#
define_client_method :revoke_security_group_ingress, 'RevokeSecurityGroupIngress'
# Calls the RunInstances API operation.
# @method run_instances(options = {})
#
# === Options:
#
# * +:image_id+ - *required* - (String) Unique ID of a machine image,
# returned by a call to DescribeImages.
# * +:min_count+ - *required* - (Integer) Minimum number of instances to
# launch. If the value is more than Amazon EC2 can launch, no instances
# are launched at all.
# * +:max_count+ - *required* - (Integer) Maximum number of instances to
# launch. If the value is more than Amazon EC2 can launch, the largest
# possible number above minCount will be launched instead. Between 1
# and the maximum number allowed for your account (default: 20).
# * +:key_name+ - (String) The name of the key pair.
# * +:security_groups+ - (Array<String>) The names of the security groups
# into which the instances will be launched.
# * +:security_group_ids+ - (Array<String>)
# * +:user_data+ - (String) Specifies additional information to make
# available to the instance(s).
# * +:addressing_type+ - (String)
# * +:instance_type+ - (String) Specifies the instance type for the
# launched instances.
# * +:placement+ - (Hash) Specifies the placement constraints
# (Availability Zones) for launching the instances.
# * +:availability_zone+ - (String) The availability zone in which an
# Amazon EC2 instance runs.
# * +:group_name+ - (String) The name of the PlacementGroup in which an
# Amazon EC2 instance runs. Placement groups are primarily used for
# launching High Performance Computing instances in the same group to
# ensure fast connection speeds.
# * +:tenancy+ - (String) The allowed tenancy of instances launched
# into the VPC. A value of default means instances can be launched
# with any tenancy; a value of dedicated means all instances launched
# into the VPC will be launched as dedicated tenancy regardless of
# the tenancy assigned to the instance at launch.
# * +:kernel_id+ - (String) The ID of the kernel with which to launch the
# instance.
# * +:ramdisk_id+ - (String) The ID of the RAM disk with which to launch
# the instance. Some kernels require additional drivers at launch.
# Check the kernel requirements for information on whether you need to
# specify a RAM disk. To find kernel requirements, go to the Resource
# Center and search for the kernel ID.
# * +:block_device_mappings+ - (Array<Hash>) Specifies how block devices
# are exposed to the instance. Each mapping is made up of a virtualName
# and a deviceName.
# * +:virtual_name+ - (String) Specifies the virtual device name.
# * +:device_name+ - (String) Specifies the device name (e.g.,
# /dev/sdh).
# * +:ebs+ - (Hash) Specifies parameters used to automatically setup
# Amazon EBS volumes when the instance is launched.
# * +:snapshot_id+ - (String) The ID of the snapshot from which the
# volume will be created.
# * +:volume_size+ - (Integer) The size of the volume, in gigabytes.
# * +:delete_on_termination+ - (Boolean) Specifies whether the Amazon
# EBS volume is deleted on instance termination.
# * +:no_device+ - (String) Specifies the device name to suppress
# during instance launch.
# * +:monitoring+ - (Hash) Enables monitoring for the instance.
# * +:enabled+ - *required* - (Boolean)
# * +:subnet_id+ - (String) Specifies the subnet ID within which to
# launch the instance(s) for Amazon Virtual Private Cloud.
# * +:disable_api_termination+ - (Boolean) Specifies whether the instance
# can be terminated using the APIs. You must modify this attribute
# before you can terminate any "locked" instances from the APIs.
# * +:instance_initiated_shutdown_behavior+ - (String) Specifies whether
# the instance's Amazon EBS volumes are stopped or terminated when the
# instance is shut down.
# * +:license+ - (Hash) Specifies active licenses in use and attached to
# an Amazon EC2 instance.
# * +:pool+ - (String) The license pool from which to take a license
# when starting Amazon EC2 instances in the associated RunInstances
# request.
# * +:private_ip_address+ - (String) If you're using Amazon Virtual
# Private Cloud, you can optionally use this parameter to assign the
# instance a specific available IP address from the subnet.
# * +:client_token+ - (String) Unique, case-sensitive identifier you
# provide to ensure idempotency of the request. For more information,
# go to How to Ensure Idempotency in the Amazon Elastic Compute Cloud
# User Guide.
# * +:additional_info+ - (String)
# * +:network_interfaces+ - (Array<Hash>)
# * +:network_interface_id+ - (String)
# * +:device_index+ - (Integer)
# * +:subnet_id+ - (String)
# * +:description+ - (String)
# * +:private_ip_address+ - (String)
# * +:groups+ - (Array<String>)
# * +:delete_on_termination+ - (Boolean)
# * +:iam_instance_profile+ - (Hash)
# * +:arn+ - (String)
# * +:name+ - (String)
#
# === Response Structure:
#
# * +:reservation_id+ - (String)
# * +:owner_id+ - (String)
# * +:requester_id+ - (String)
# * +:group_set+ - (Array<Hash>)
# * +:group_name+ - (String)
# * +:group_id+ - (String)
# * +:instances_set+ - (Array<Hash>)
# * +:instance_id+ - (String)
# * +:image_id+ - (String)
# * +:instance_state+ - (Hash)
# * +:code+ - (Integer)
# * +:name+ - (String)
# * +:private_dns_name+ - (String)
# * +:dns_name+ - (String)
# * +:reason+ - (String)
# * +:key_name+ - (String)
# * +:ami_launch_index+ - (Integer)
# * +:product_codes+ - (Array<Hash>)
# * +:product_code+ - (String)
# * +:type+ - (String)
# * +:instance_type+ - (String)
# * +:launch_time+ - (Time)
# * +:placement+ - (Hash)
# * +:availability_zone+ - (String)
# * +:group_name+ - (String)
# * +:tenancy+ - (String)
# * +:kernel_id+ - (String)
# * +:ramdisk_id+ - (String)
# * +:platform+ - (String)
# * +:monitoring+ - (Hash)
# * +:state+ - (String)
# * +:subnet_id+ - (String)
# * +:vpc_id+ - (String)
# * +:private_ip_address+ - (String)
# * +:ip_address+ - (String)
# * +:state_reason+ - (Hash)
# * +:code+ - (String)
# * +:message+ - (String)
# * +:architecture+ - (String)
# * +:root_device_type+ - (String)
# * +:root_device_name+ - (String)
# * +:block_device_mapping+ - (Array<Hash>)
# * +:device_name+ - (String)
# * +:ebs+ - (Hash)
# * +:volume_id+ - (String)
# * +:status+ - (String)
# * +:attach_time+ - (Time)
# * +:delete_on_termination+ - (Boolean)
# * +:virtualization_type+ - (String)
# * +:instance_lifecycle+ - (String)
# * +:spot_instance_request_id+ - (String)
# * +:license+ - (Hash)
# * +:pool+ - (String)
# * +:client_token+ - (String)
# * +:tag_set+ - (Array<Hash>)
# * +:key+ - (String)
# * +:value+ - (String)
# * +:group_set+ - (Array<Hash>)
# * +:group_name+ - (String)
# * +:group_id+ - (String)
# * +:source_dest_check+ - (Boolean)
# * +:hypervisor+ - (String)
# * +:network_interface_set+ - (Array<Hash>)
# * +:network_interface_id+ - (String)
# * +:subnet_id+ - (String)
# * +:vpc_id+ - (String)
# * +:description+ - (String)
# * +:owner_id+ - (String)
# * +:status+ - (String)
# * +:private_ip_address+ - (String)
# * +:private_dns_name+ - (String)
# * +:source_dest_check+ - (Boolean)
# * +:group_set+ - (Array<Hash>)
# * +:group_name+ - (String)
# * +:group_id+ - (String)
# * +:attachment+ - (Hash)
# * +:attachment_id+ - (String)
# * +:device_index+ - (Integer)
# * +:status+ - (String)
# * +:attach_time+ - (Time)
# * +:delete_on_termination+ - (Boolean)
# * +:association+ - (Hash)
# * +:public_ip+ - (String)
# * +:ip_owner_id+ - (String)
# * +:iam_instance_profile+ - (Hash)
# * +:arn+ - (String)
# * +:id+ - (String)
#
# @return [Core::Response]
#
define_client_method :run_instances, 'RunInstances'
# Calls the StartInstances API operation.
# @method start_instances(options = {})
#
# === Options:
#
# * +:instance_ids+ - *required* - (Array<String>) The list of Amazon EC2
# instances to start.
#
# === Response Structure:
#
# * +:instances_set+ - (Array<Hash>)
# * +:instance_id+ - (String)
# * +:current_state+ - (Hash)
# * +:code+ - (Integer)
# * +:name+ - (String)
# * +:previous_state+ - (Hash)
# * +:code+ - (Integer)
# * +:name+ - (String)
#
# @return [Core::Response]
#
define_client_method :start_instances, 'StartInstances'
# Calls the StopInstances API operation.
# @method stop_instances(options = {})
#
# === Options:
#
# * +:instance_ids+ - *required* - (Array<String>) The list of Amazon EC2
# instances to stop.
# * +:force+ - (Boolean) Forces the instance to stop. The instance will
# not have an opportunity to flush file system caches nor file system
# meta data. If you use this option, you must perform file system check
# and repair procedures. This option is not recommended for Windows
# instances.
#
# === Response Structure:
#
# * +:instances_set+ - (Array<Hash>)
# * +:instance_id+ - (String)
# * +:current_state+ - (Hash)
# * +:code+ - (Integer)
# * +:name+ - (String)
# * +:previous_state+ - (Hash)
# * +:code+ - (Integer)
# * +:name+ - (String)
#
# @return [Core::Response]
#
define_client_method :stop_instances, 'StopInstances'
# Calls the TerminateInstances API operation.
# @method terminate_instances(options = {})
#
# === Options:
#
# * +:instance_ids+ - *required* - (Array<String>) The list of instances
# to terminate.
#
# === Response Structure:
#
# * +:instances_set+ - (Array<Hash>)
# * +:instance_id+ - (String)
# * +:current_state+ - (Hash)
# * +:code+ - (Integer)
# * +:name+ - (String)
# * +:previous_state+ - (Hash)
# * +:code+ - (Integer)
# * +:name+ - (String)
#
# @return [Core::Response]
#
define_client_method :terminate_instances, 'TerminateInstances'
# Calls the UnmonitorInstances API operation.
# @method unmonitor_instances(options = {})
#
# === Options:
#
# * +:instance_ids+ - *required* - (Array<String>) The list of Amazon EC2
# instances on which to disable monitoring.
#
# === Response Structure:
#
# * +:instances_set+ - (Array<Hash>)
# * +:instance_id+ - (String)
# * +:monitoring+ - (Hash)
# * +:state+ - (String)
#
# @return [Core::Response]
#
define_client_method :unmonitor_instances, 'UnmonitorInstances'
## end client methods ##
end
end
end