Class: Fog::AWS::Compute::Real
- Inherits:
-
Object
- Object
- Fog::AWS::Compute::Real
- Defined in:
- lib/fog/aws/compute.rb,
lib/fog/aws/requests/compute/create_image.rb,
lib/fog/aws/requests/compute/attach_volume.rb,
lib/fog/aws/requests/compute/create_volume.rb,
lib/fog/aws/requests/compute/delete_volume.rb,
lib/fog/aws/requests/compute/detach_volume.rb,
lib/fog/aws/requests/compute/run_instances.rb,
lib/fog/aws/requests/compute/register_image.rb,
lib/fog/aws/requests/compute/stop_instances.rb,
lib/fog/aws/requests/compute/create_key_pair.rb,
lib/fog/aws/requests/compute/create_snapshot.rb,
lib/fog/aws/requests/compute/delete_key_pair.rb,
lib/fog/aws/requests/compute/delete_snapshot.rb,
lib/fog/aws/requests/compute/describe_images.rb,
lib/fog/aws/requests/compute/import_key_pair.rb,
lib/fog/aws/requests/compute/release_address.rb,
lib/fog/aws/requests/compute/start_instances.rb,
lib/fog/aws/requests/compute/allocate_address.rb,
lib/fog/aws/requests/compute/deregister_image.rb,
lib/fog/aws/requests/compute/describe_regions.rb,
lib/fog/aws/requests/compute/describe_volumes.rb,
lib/fog/aws/requests/compute/reboot_instances.rb,
lib/fog/aws/requests/compute/associate_address.rb,
lib/fog/aws/requests/compute/describe_addresses.rb,
lib/fog/aws/requests/compute/describe_instances.rb,
lib/fog/aws/requests/compute/describe_key_pairs.rb,
lib/fog/aws/requests/compute/describe_snapshots.rb,
lib/fog/aws/requests/compute/get_console_output.rb,
lib/fog/aws/requests/compute/terminate_instances.rb,
lib/fog/aws/requests/compute/disassociate_address.rb,
lib/fog/aws/requests/compute/create_security_group.rb,
lib/fog/aws/requests/compute/delete_security_group.rb,
lib/fog/aws/requests/compute/modify_image_attributes.rb,
lib/fog/aws/requests/compute/describe_security_groups.rb,
lib/fog/aws/requests/compute/modify_snapshot_attribute.rb,
lib/fog/aws/requests/compute/describe_availability_zones.rb,
lib/fog/aws/requests/compute/describe_reserved_instances.rb,
lib/fog/aws/requests/compute/revoke_security_group_ingress.rb,
lib/fog/aws/requests/compute/authorize_security_group_ingress.rb
Instance Method Summary collapse
-
#allocate_address ⇒ Object
Acquire an elastic IP address.
-
#associate_address(instance_id, public_ip) ⇒ Object
Associate an elastic IP address with an instance.
-
#attach_volume(instance_id, volume_id, device) ⇒ Object
Attach an Amazon EBS volume with a running instance, exposing as specified device.
-
#authorize_security_group_ingress(options = {}) ⇒ Object
Add permissions to a security group.
-
#create_image(instance_id, name, description, no_reboot = false) ⇒ Object
Create a bootable EBS volume AMI.
-
#create_key_pair(key_name) ⇒ Object
Create a new key pair.
-
#create_security_group(name, description) ⇒ Object
Create a new security group.
-
#create_snapshot(volume_id, description = nil) ⇒ Object
Create a snapshot of an EBS volume and store it in S3.
-
#create_volume(availability_zone, size, snapshot_id = nil) ⇒ Object
Create an EBS volume.
-
#delete_key_pair(key_name) ⇒ Object
Delete a key pair that you own.
-
#delete_security_group(name) ⇒ Object
Delete a security group that you own.
-
#delete_snapshot(snapshot_id) ⇒ Object
Delete a snapshot of an EBS volume that you own.
-
#delete_volume(volume_id) ⇒ Object
Delete an EBS volume.
-
#deregister_image(image_id) ⇒ Object
deregister an image.
-
#describe_addresses(public_ip = []) ⇒ Object
Describe all or specified IP addresses.
-
#describe_availability_zones(zone_name = []) ⇒ Object
Describe all or specified availability zones.
-
#describe_images(options = {}) ⇒ Object
Describe all or specified images.
-
#describe_instances(instance_id = []) ⇒ Object
Describe all or specified instances.
-
#describe_key_pairs(key_name = []) ⇒ Object
Describe all or specified key pairs.
-
#describe_regions(region_name = []) ⇒ Object
Describe all or specified regions.
-
#describe_reserved_instances(reserved_instances_id = []) ⇒ Object
Describe all or specified reserved instances.
-
#describe_security_groups(group_name = []) ⇒ Object
Describe all or specified security groups.
-
#describe_snapshots(snapshot_id = [], options = {}) ⇒ Object
Describe all or specified snapshots.
-
#describe_volumes(volume_id = []) ⇒ Object
Describe all or specified volumes.
-
#detach_volume(volume_id, options = {}) ⇒ Object
Detach an Amazon EBS volume from a running instance.
-
#disassociate_address(public_ip) ⇒ Object
Disassociate an elastic IP address from its instance (if any).
-
#get_console_output(instance_id) ⇒ Object
Retrieve console output for specified instance.
-
#import_key_pair(key_name, public_key_material) ⇒ Object
Import an existing public key to create a new key pair.
-
#initialize(options = {}) ⇒ Real
constructor
Initialize connection to EC2.
-
#modify_image_attributes(image_id, attribute, operation_type, options = {}) ⇒ Object
Modify image attributes.
-
#modify_snapshot_attribute(snapshot_id, attribute, operation_type, options = {}) ⇒ Object
Modify snapshot attributes.
-
#reboot_instances(instance_id = []) ⇒ Object
Reboot specified instances.
-
#register_image(name, description, location, block_devices = [], options = {}) ⇒ Object
register an image.
-
#release_address(public_ip) ⇒ Object
Release an elastic IP address.
- #reload ⇒ Object
-
#revoke_security_group_ingress(options = {}) ⇒ Object
Remove permissions from a security group.
-
#run_instances(image_id, min_count, max_count, options = {}) ⇒ Object
Launch specified instances.
-
#start_instances(instance_id) ⇒ Object
Start specified instance.
-
#stop_instances(instance_id) ⇒ Object
Stop specified instance.
-
#terminate_instances(instance_id) ⇒ Object
Terminate specified instances.
Constructor Details
#initialize(options = {}) ⇒ Real
Initialize connection to EC2
Notes
options parameter must include values for :aws_access_key_id and :aws_secret_access_key in order to create a connection
Examples
sdb = SimpleDB.new(
:aws_access_key_id => your_aws_access_key_id,
:aws_secret_access_key => your_aws_secret_access_key
)
Parameters
-
options<~Hash> - config arguments for connection. Defaults to {}.
-
region<~String> - optional region to use, in [‘eu-west-1’, ‘us-east-1’, ‘us-west-1’]
-
Returns
-
EC2 object with connection to aws.
149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 |
# File 'lib/fog/aws/compute.rb', line 149 def initialize(={}) @aws_access_key_id = [:aws_access_key_id] @aws_secret_access_key = [:aws_secret_access_key] @hmac = Fog::HMAC.new('sha256', @aws_secret_access_key) [:region] ||= 'us-east-1' @host = [:host] || case [:region] when 'ap-southeast-1' 'ec2.ap-southeast-1.amazonaws.com' when 'eu-west-1' 'ec2.eu-west-1.amazonaws.com' when 'us-east-1' 'ec2.us-east-1.amazonaws.com' when 'us-west-1' 'ec2.us-west-1.amazonaws.com' else raise ArgumentError, "Unknown region: #{[:region].inspect}" end @port = [:port] || 443 @scheme = [:scheme] || 'https' @connection = Fog::Connection.new("#{@scheme}://#{@host}:#{@port}", [:persistent]) end |
Instance Method Details
#allocate_address ⇒ Object
Acquire an elastic IP address.
Returns
-
response<~Excon::Response>:
-
body<~Hash>:
-
‘publicIp’<~String> - The acquired address
-
‘requestId’<~String> - Id of the request
-
-
15 16 17 18 19 20 |
# File 'lib/fog/aws/requests/compute/allocate_address.rb', line 15 def allocate_address request( 'Action' => 'AllocateAddress', :parser => Fog::Parsers::AWS::Compute::AllocateAddress.new ) end |
#associate_address(instance_id, public_ip) ⇒ Object
Associate an elastic IP address with an instance
Parameters
-
instance_id<~String> - Id of instance to associate address with
-
public_ip<~String> - Public ip to assign to instance
Returns
-
response<~Excon::Response>:
-
body<~Hash>:
-
‘requestId’<~String> - Id of request
-
‘return’<~Boolean> - success?
-
-
17 18 19 20 21 22 23 24 25 |
# File 'lib/fog/aws/requests/compute/associate_address.rb', line 17 def associate_address(instance_id, public_ip) request( 'Action' => 'AssociateAddress', 'InstanceId' => instance_id, 'PublicIp' => public_ip, :idempotent => true, :parser => Fog::Parsers::AWS::Compute::Basic.new ) end |
#attach_volume(instance_id, volume_id, device) ⇒ Object
Attach an Amazon EBS volume with a running instance, exposing as specified device
Parameters
-
instance_id<~String> - Id of instance to associate volume with
-
volume_id<~String> - Id of amazon EBS volume to associate with instance
-
device<~String> - Specifies how the device is exposed to the instance (e.g. “/dev/sdh”)
Returns
-
response<~Excon::Response>:
-
body<~Hash>:
-
‘attachTime’<~Time> - Time of attachment was initiated at
-
‘device’<~String> - Device as it is exposed to the instance
-
‘instanceId’<~String> - Id of instance for volume
-
‘requestId’<~String> - Id of request
-
‘status’<~String> - Status of volume
-
‘volumeId’<~String> - Reference to volume
-
-
24 25 26 27 28 29 30 31 32 33 |
# File 'lib/fog/aws/requests/compute/attach_volume.rb', line 24 def attach_volume(instance_id, volume_id, device) request( 'Action' => 'AttachVolume', 'VolumeId' => volume_id, 'InstanceId' => instance_id, 'Device' => device, :idempotent => true, :parser => Fog::Parsers::AWS::Compute::AttachVolume.new ) end |
#authorize_security_group_ingress(options = {}) ⇒ Object
Add permissions to a security group
Parameters
-
options<~Hash>:
-
‘GroupName’<~String> - Name of group
-
‘SourceSecurityGroupName’<~String> - Name of security group to authorize
-
‘SourceSecurityGroupOwnerId’<~String> - Name of owner to authorize
or
-
‘CidrIp’ - CIDR range
-
‘FromPort’ - Start of port range (or -1 for ICMP wildcard)
-
‘GroupName’ - Name of group to modify
-
‘IpProtocol’ - Ip protocol, must be in [‘tcp’, ‘udp’, ‘icmp’]
-
‘ToPort’ - End of port range (or -1 for ICMP wildcard)
-
Returns
-
response<~Excon::Response>:
-
body<~Hash>:
-
‘requestId’<~String> - Id of request
-
‘return’<~Boolean> - success?
-
-
25 26 27 28 29 30 31 |
# File 'lib/fog/aws/requests/compute/authorize_security_group_ingress.rb', line 25 def ( = {}) request({ 'Action' => 'AuthorizeSecurityGroupIngress', :idempotent => true, :parser => Fog::Parsers::AWS::Compute::Basic.new }.merge!()) end |
#create_image(instance_id, name, description, no_reboot = false) ⇒ Object
Create a bootable EBS volume AMI
Parameters
-
instance_id<~String> - Instance used to create image.
-
name<~Name> - Name to give image.
-
description<~Name> - Description of image.
-
no_reboot<~Boolean> - Optional, whether or not to reboot the image when making the snapshot
Returns
-
response<~Excon::Response>:
-
body<~Hash>:
-
‘imageId’<~String> - The ID of the created AMI.
-
‘requestId’<~String> - Id of request.
-
-
21 22 23 24 25 26 27 28 29 30 |
# File 'lib/fog/aws/requests/compute/create_image.rb', line 21 def create_image(instance_id, name, description, no_reboot = false) request( 'Action' => 'CreateImage', 'InstanceId' => instance_id, 'Name' => name, 'Description' => description, 'NoReboot' => no_reboot.to_s, :parser => Fog::Parsers::AWS::Compute::CreateImage.new ) end |
#create_key_pair(key_name) ⇒ Object
Create a new key pair
Parameters
-
key_name<~String> - Unique name for key pair.
Returns
-
response<~Excon::Response>:
-
body<~Hash>:
-
‘keyFingerprint’<~String> - SHA-1 digest of DER encoded private key
-
‘keyMaterial’<~String> - Unencrypted encoded PEM private key
-
‘keyName’<~String> - Name of key
-
‘requestId’<~String> - Id of request
-
-
20 21 22 23 24 25 26 |
# File 'lib/fog/aws/requests/compute/create_key_pair.rb', line 20 def create_key_pair(key_name) request( 'Action' => 'CreateKeyPair', 'KeyName' => key_name, :parser => Fog::Parsers::AWS::Compute::CreateKeyPair.new ) end |
#create_security_group(name, description) ⇒ Object
Create a new security group
Parameters
-
group_name<~String> - Name of the security group.
-
group_description<~String> - Description of group.
Returns
-
response<~Excon::Response>:
-
body<~Hash>:
-
‘requestId’<~String> - Id of request
-
‘return’<~Boolean> - success?
-
-
17 18 19 20 21 22 23 24 |
# File 'lib/fog/aws/requests/compute/create_security_group.rb', line 17 def create_security_group(name, description) request( 'Action' => 'CreateSecurityGroup', 'GroupName' => name, 'GroupDescription' => CGI.escape(description), :parser => Fog::Parsers::AWS::Compute::Basic.new ) end |
#create_snapshot(volume_id, description = nil) ⇒ Object
Create a snapshot of an EBS volume and store it in S3
Parameters
-
volume_id<~String> - Id of EBS volume to snapshot
Returns
-
response<~Excon::Response>:
-
body<~Hash>:
-
‘progress’<~String> - The percentage progress of the snapshot
-
‘requestId’<~String> - id of request
-
‘snapshotId’<~String> - id of snapshot
-
‘startTime’<~Time> - timestamp when snapshot was initiated
-
‘status’<~String> - state of snapshot
-
‘volumeId’<~String> - id of volume snapshot targets
-
-
22 23 24 25 26 27 28 29 |
# File 'lib/fog/aws/requests/compute/create_snapshot.rb', line 22 def create_snapshot(volume_id, description = nil) request( 'Action' => 'CreateSnapshot', 'Description' => description, 'VolumeId' => volume_id, :parser => Fog::Parsers::AWS::Compute::CreateSnapshot.new ) end |
#create_volume(availability_zone, size, snapshot_id = nil) ⇒ Object
Create an EBS volume
Parameters
-
availability_zone<~String> - availability zone to create volume in
-
size<~Integer> - Size in GiBs for volume. Must be between 1 and 1024.
-
snapshot_id<~String> - Optional, snapshot to create volume from
Returns
-
response<~Excon::Response>:
-
body<~Hash>:
-
‘availabilityZone’<~String> - Availability zone for volume
-
‘createTime’<~Time> - Timestamp for creation
-
‘size’<~Integer> - Size in GiBs for volume
-
‘snapshotId’<~String> - Snapshot volume was created from, if any
-
‘status’s<~String> - State of volume
-
‘volumeId’<~String> - Reference to volume
-
-
24 25 26 27 28 29 30 31 32 |
# File 'lib/fog/aws/requests/compute/create_volume.rb', line 24 def create_volume(availability_zone, size, snapshot_id = nil) request( 'Action' => 'CreateVolume', 'AvailabilityZone' => availability_zone, 'Size' => size, 'SnapshotId' => snapshot_id, :parser => Fog::Parsers::AWS::Compute::CreateVolume.new ) end |
#delete_key_pair(key_name) ⇒ Object
Delete a key pair that you own
Parameters
-
key_name<~String> - Name of the key pair.
Returns
-
response<~Excon::Response>:
-
body<~Hash>:
-
‘requestId’<~String> id of request
-
‘return’<~Boolean> - success?
-
-
16 17 18 19 20 21 22 23 |
# File 'lib/fog/aws/requests/compute/delete_key_pair.rb', line 16 def delete_key_pair(key_name) request( 'Action' => 'DeleteKeyPair', 'KeyName' => key_name, :idempotent => true, :parser => Fog::Parsers::AWS::Compute::Basic.new ) end |
#delete_security_group(name) ⇒ Object
Delete a security group that you own
Parameters
-
group_name<~String> - Name of the security group.
Returns
-
response<~Excon::Response>:
-
body<~Hash>:
-
‘requestId’<~String> - Id of request
-
‘return’<~Boolean> - success?
-
-
16 17 18 19 20 21 22 23 |
# File 'lib/fog/aws/requests/compute/delete_security_group.rb', line 16 def delete_security_group(name) request( 'Action' => 'DeleteSecurityGroup', 'GroupName' => name, :idempotent => true, :parser => Fog::Parsers::AWS::Compute::Basic.new ) end |
#delete_snapshot(snapshot_id) ⇒ Object
Delete a snapshot of an EBS volume that you own
Parameters
-
snapshot_id<~String> - ID of snapshot to delete
Returns
-
response<~Excon::Response>:
-
body<~Hash>:
-
‘requestId’<~String> - Id of request
-
‘return’<~Boolean> - success?
-
-
16 17 18 19 20 21 22 23 |
# File 'lib/fog/aws/requests/compute/delete_snapshot.rb', line 16 def delete_snapshot(snapshot_id) request( 'Action' => 'DeleteSnapshot', 'SnapshotId' => snapshot_id, :idempotent => true, :parser => Fog::Parsers::AWS::Compute::Basic.new ) end |
#delete_volume(volume_id) ⇒ Object
Delete an EBS volume
Parameters
-
volume_id<~String> - Id of volume to delete.
Returns
-
response<~Excon::Response>:
-
body<~Hash>:
-
‘requestId’<~String> - Id of request
-
‘return’<~Boolean> - success?
-
-
16 17 18 19 20 21 22 23 |
# File 'lib/fog/aws/requests/compute/delete_volume.rb', line 16 def delete_volume(volume_id) request( 'Action' => 'DeleteVolume', 'VolumeId' => volume_id, :idempotent => true, :parser => Fog::Parsers::AWS::Compute::Basic.new ) end |
#deregister_image(image_id) ⇒ Object
deregister an image
Parameters
-
image_id<~String> - Id of image to deregister
Returns
-
response<~Excon::Response>:
-
body<~Hash>:
-
‘return’<~Boolean> - Returns true if deregistration succeeded
-
‘requestId’<~String> - Id of request
-
-
18 19 20 21 22 23 24 |
# File 'lib/fog/aws/requests/compute/deregister_image.rb', line 18 def deregister_image(image_id) request( 'Action' => 'DeregisterImage', 'ImageId' => image_id, :parser => Fog::Parsers::AWS::Compute::DeregisterImage.new ) end |
#describe_addresses(public_ip = []) ⇒ Object
Describe all or specified IP addresses.
Parameters
-
public_ip<~Array> - List of ips to describe, defaults to all
Returns
-
response<~Excon::Response>:
-
body<~Hash>:
-
‘requestId’<~String> - Id of request
-
‘addressesSet’<~Array>:
-
‘instanceId’<~String> - instance for ip address
-
‘publicIp’<~String> - ip address for instance
-
-
-
20 21 22 23 24 25 26 27 |
# File 'lib/fog/aws/requests/compute/describe_addresses.rb', line 20 def describe_addresses(public_ip = []) params = AWS.indexed_param('PublicIp', public_ip) request({ 'Action' => 'DescribeAddresses', :idempotent => true, :parser => Fog::Parsers::AWS::Compute::DescribeAddresses.new }.merge!(params)) end |
#describe_availability_zones(zone_name = []) ⇒ Object
Describe all or specified availability zones
Params
-
zone_name<~String> - List of availability zones to describe, defaults to all
Returns
-
response<~Excon::Response>:
-
body<~Hash>:
-
‘requestId’<~String> - Id of request
-
‘availabilityZoneInfo’<~Array>:
-
‘regionName’<~String> - Name of region
-
‘zoneName’<~String> - Name of zone
-
‘zoneState’<~String> - State of zone
-
-
-
21 22 23 24 25 26 27 28 |
# File 'lib/fog/aws/requests/compute/describe_availability_zones.rb', line 21 def describe_availability_zones(zone_name = []) params = AWS.indexed_param('ZoneName', zone_name) request({ 'Action' => 'DescribeAvailabilityZones', :idempotent => true, :parser => Fog::Parsers::AWS::Compute::DescribeAvailabilityZones.new }.merge!(params)) end |
#describe_images(options = {}) ⇒ Object
Describe all or specified images.
Params
-
options<~Hash> - Optional params
-
‘ExecutableBy’<~String> - Only return images that the executable_by user has explicit permission to launch
-
‘ImageId’<~Array> - Ids of images to describe
-
‘Owner’<~String> - Only return images belonging to owner.
-
Returns
-
response<~Excon::Response>:
-
body<~Hash>:
-
‘requestId’<~String> - Id of request
-
‘imagesSet’<~Array>:
-
‘architecture’<~String> - Architecture of the image
-
‘blockDeviceMapping’<~Array> - An array of mapped block devices
-
‘imageId’<~String> - Id of the image
-
‘imageLocation’<~String> - Location of the image
-
‘imageOwnerId’<~String> - Id of the owner of the image
-
‘imageState’<~String> - State of the image
-
‘imageType’<~String> - Type of the image
-
‘isPublic’<~Boolean> - Whether or not the image is public
-
‘kernelId’<~String> - Kernel id associated with image, if any
-
‘platform’<~String> - Operating platform of the image
-
‘productCodes’<~Array> - Product codes for the image
-
‘ramdiskId’<~String> - Ramdisk id associated with image, if any
-
‘rootDeviceName’<~String> - Root device name, e.g. /dev/sda1
-
‘rootDeviceType’<~String> - Root device type, ebs or instance-store
-
-
-
36 37 38 39 40 41 42 43 44 45 |
# File 'lib/fog/aws/requests/compute/describe_images.rb', line 36 def describe_images( = {}) if image_id = .delete('ImageId') .merge!(AWS.indexed_param('ImageId', image_id)) end request({ 'Action' => 'DescribeImages', :idempotent => true, :parser => Fog::Parsers::AWS::Compute::DescribeImages.new }.merge!()) end |
#describe_instances(instance_id = []) ⇒ Object
Describe all or specified instances
Parameters
-
instance_id<~Array> - List of instance ids to describe, defaults to all
Returns
-
response<~Excon::Response>:
-
body<~Hash>:
-
‘requestId’<~String> - Id of request
-
‘reservationSet’<~Array>:
-
‘groupSet’<~Array> - Group names for reservation
-
‘ownerId’<~String> - AWS Access Key ID of reservation owner
-
‘reservationId’<~String> - Id of the reservation
-
‘instancesSet’<~Array>:
-
instance<~Hash>:
-
‘architecture’<~String> - architecture of image in [i386, x86_64]
-
‘amiLaunchIndex’<~Integer> - reference to instance in launch group
-
‘blockDeviceMapping’<~Array>
-
‘attachTime’<~Time> - time of volume attachment
-
‘deleteOnTermination’<~Boolean> - whether or not to delete volume on termination
-
‘deviceName’<~String> - specifies how volume is exposed to instance
-
‘status’<~String> - status of attached volume
-
‘volumeId’<~String> - Id of attached volume
-
-
‘dnsName’<~String> - public dns name, blank until instance is running
-
‘imageId’<~String> - image id of ami used to launch instance
-
‘instanceId’<~String> - id of the instance
-
‘instanceState’<~Hash>:
-
‘code’<~Integer> - current status code
-
‘name’<~String> - current status name
-
-
‘instanceType’<~String> - type of instance
-
‘ipAddress’<~String> - public ip address assigned to instance
-
‘kernelId’<~String> - id of kernel used to launch instance
-
‘keyName’<~String> - name of key used launch instances or blank
-
‘launchTime’<~Time> - time instance was launched
-
‘monitoring’<~Hash>:
-
‘state’<~Boolean - state of monitoring
-
-
‘placement’<~Hash>:
-
‘availabilityZone’<~String> - Availability zone of the instance
-
-
‘productCodes’<~Array> - Product codes for the instance
-
‘privateDnsName’<~String> - private dns name, blank until instance is running
-
‘privateIpAddress’<~String> - private ip address assigned to instance
-
‘rootDeviceName’<~String> - specifies how the root device is exposed to the instance
-
‘rootDeviceType’<~String> - root device type used by AMI in [ebs, instance-store]
-
‘ramdiskId’<~String> - Id of ramdisk used to launch instance
-
‘reason’<~String> - reason for most recent state transition, or blank
-
-
-
-
-
53 54 55 56 57 58 59 60 |
# File 'lib/fog/aws/requests/compute/describe_instances.rb', line 53 def describe_instances(instance_id = []) params = AWS.indexed_param('InstanceId', instance_id) request({ 'Action' => 'DescribeInstances', :idempotent => true, :parser => Fog::Parsers::AWS::Compute::DescribeInstances.new }.merge!(params)) end |
#describe_key_pairs(key_name = []) ⇒ Object
Describe all or specified key pairs
Parameters
- key_name<~Array>
-
List of key names to describe, defaults to all
Returns
-
response<~Excon::Response>:
-
body<~Hash>:
-
‘requestId’<~String> - Id of request
-
‘keySet’<~Array>:
-
‘keyName’<~String> - Name of key
-
‘keyFingerprint’<~String> - Fingerprint of key
-
-
-
20 21 22 23 24 25 26 27 |
# File 'lib/fog/aws/requests/compute/describe_key_pairs.rb', line 20 def describe_key_pairs(key_name = []) params = AWS.indexed_param('KeyName', key_name) request({ 'Action' => 'DescribeKeyPairs', :idempotent => true, :parser => Fog::Parsers::AWS::Compute::DescribeKeyPairs.new }.merge!(params)) end |
#describe_regions(region_name = []) ⇒ Object
Describe all or specified regions
Params
-
region_name<~String> - List of regions to describe, defaults to all
Returns
-
response<~Excon::Response>:
-
body<~Hash>:
-
‘requestId’<~String> - Id of request
-
‘regionInfo’<~Array>:
-
‘regionName’<~String> - Name of region
-
‘regionEndpoint’<~String> - Service endpoint for region
-
-
-
20 21 22 23 24 25 26 27 |
# File 'lib/fog/aws/requests/compute/describe_regions.rb', line 20 def describe_regions(region_name = []) params = AWS.indexed_param('RegionName', region_name) request({ 'Action' => 'DescribeRegions', :idempotent => true, :parser => Fog::Parsers::AWS::Compute::DescribeRegions.new }.merge!(params)) end |
#describe_reserved_instances(reserved_instances_id = []) ⇒ Object
Describe all or specified reserved instances
Parameters
-
reserved_instances_id<~Array> - List of reserved instance ids to describe, defaults to all
Returns
-
response<~Excon::Response>:
-
body<~Hash>:
-
‘requestId’<~String> - Id of request
-
‘reservedInstancesSet’<~Array>:
-
‘availabilityZone’<~String> - availability zone of the instance
-
‘duration’<~Integer> - duration of reservation, in seconds
-
‘fixedPrice’<~Float> - purchase price of reserved instance
-
‘instanceType’<~String> - type of instance
-
‘instanceCount’<~Integer> - number of reserved instances
-
‘productDescription’<~String> - reserved instance description
-
‘reservedInstancesId’<~String> - id of the instance
-
‘start’<~Time> - start time for reservation
-
‘state’<~String> - state of reserved instance purchase, in .[pending-payment, active, payment-failed, retired]
-
‘usagePrice“<~Float> - usage price of reserved instances, per hour
-
-
-
28 29 30 31 32 33 34 35 |
# File 'lib/fog/aws/requests/compute/describe_reserved_instances.rb', line 28 def describe_reserved_instances(reserved_instances_id = []) params = AWS.indexed_param('ReservedInstancesId', reserved_instances_id) request({ 'Action' => 'DescribeReservedInstances', :idempotent => true, :parser => Fog::Parsers::AWS::Compute::DescribeReservedInstances.new }.merge!(params)) end |
#describe_security_groups(group_name = []) ⇒ Object
Describe all or specified security groups
Parameters
-
group_name<~Array> - List of groups to describe, defaults to all
Returns
-
response<~Excon::Response>:
-
body<~Hash>:
-
‘requestId’<~String> - Id of request
-
‘securityGroupInfo’<~Array>:
-
‘groupDescription’<~String> - Description of security group
-
‘groupName’<~String> - Name of security group
-
‘ipPermissions’<~Array>:
-
‘fromPort’<~Integer> - Start of port range (or -1 for ICMP wildcard)
-
‘groups’<~Array>:
-
‘groupName’<~String> - Name of security group
-
‘userId’<~String> - AWS User Id of account
-
-
‘ipProtocol’<~String> - Ip protocol, must be in [‘tcp’, ‘udp’, ‘icmp’]
-
‘ipRanges’<~Array>:
-
‘cidrIp’<~String> - CIDR range
-
-
‘toPort’<~Integer> - End of port range (or -1 for ICMP wildcard)
-
-
‘ownerId’<~String> - AWS Access Key Id of the owner of the security group
-
-
-
30 31 32 33 34 35 36 37 |
# File 'lib/fog/aws/requests/compute/describe_security_groups.rb', line 30 def describe_security_groups(group_name = []) params = AWS.indexed_param('GroupName', group_name) request({ 'Action' => 'DescribeSecurityGroups', :idempotent => true, :parser => Fog::Parsers::AWS::Compute::DescribeSecurityGroups.new }.merge!(params)) end |
#describe_snapshots(snapshot_id = [], options = {}) ⇒ Object
Describe all or specified snapshots
Parameters
-
snapshot_id<~Array> - List of snapshots to describe, defaults to all
-
options<~Array>:
-
‘Owner’<~String> - Owner of snapshot in [‘self’, ‘amazon’, account_id]
-
‘RestorableBy’<~String> - Account id of user who can create volumes from this snapshot
-
Returns
-
response<~Excon::Response>:
-
body<~Hash>:
-
‘requestId’<~String> - Id of request
-
‘snapshotSet’<~Array>:
-
‘progress’<~String>: The percentage progress of the snapshot
-
‘snapshotId’<~String>: Id of the snapshot
-
‘startTime’<~Time>: Timestamp of when snapshot was initiated
-
‘status’<~String>: Snapshot state, in [‘pending’, ‘completed’]
-
‘volumeId’<~String>: Id of volume that snapshot contains
-
-
-
26 27 28 29 30 31 32 33 34 |
# File 'lib/fog/aws/requests/compute/describe_snapshots.rb', line 26 def describe_snapshots(snapshot_id = [], = {}) ['Owner'] ||= 'self' .merge!(AWS.indexed_param('SnapshotId', snapshot_id)) request({ 'Action' => 'DescribeSnapshots', :idempotent => true, :parser => Fog::Parsers::AWS::Compute::DescribeSnapshots.new }.merge!()) end |
#describe_volumes(volume_id = []) ⇒ Object
Describe all or specified volumes.
Parameters
-
volume_id<~Array> - List of volumes to describe, defaults to all
Returns
-
response<~Excon::Response>:
-
body<~Hash>:
-
‘volumeSet’<~Array>:
-
‘availabilityZone’<~String> - Availability zone for volume
-
‘createTime’<~Time> - Timestamp for creation
-
‘size’<~Integer> - Size in GiBs for volume
-
‘snapshotId’<~String> - Snapshot volume was created from, if any
-
‘status’<~String> - State of volume
-
‘volumeId’<~String> - Reference to volume
-
‘attachmentSet’<~Array>:
-
‘attachmentTime’<~Time> - Timestamp for attachment
-
‘device’<~String> - How value is exposed to instance
-
‘instanceId’<~String> - Reference to attached instance
-
‘status’<~String> - Attachment state
-
‘volumeId’<~String> - Reference to volume
-
-
-
-
29 30 31 32 33 34 35 36 |
# File 'lib/fog/aws/requests/compute/describe_volumes.rb', line 29 def describe_volumes(volume_id = []) params = AWS.indexed_param('VolumeId', volume_id) request({ 'Action' => 'DescribeVolumes', :idempotent => true, :parser => Fog::Parsers::AWS::Compute::DescribeVolumes.new }.merge!(params)) end |
#detach_volume(volume_id, options = {}) ⇒ Object
Detach an Amazon EBS volume from a running instance
Parameters
-
volume_id<~String> - Id of amazon EBS volume to associate with instance
-
options<~Hash>:
-
‘Device’<~String> - Specifies how the device is exposed to the instance (e.g. “/dev/sdh”)
-
‘Force’<~Boolean> - If true forces detach, can cause data loss/corruption
-
‘InstanceId’<~String> - Id of instance to associate volume with
-
Returns
-
response<~Excon::Response>:
-
body<~Hash>:
-
‘attachTime’<~Time> - Time of attachment was initiated at
-
‘device’<~String> - Device as it is exposed to the instance
-
‘instanceId’<~String> - Id of instance for volume
-
‘requestId’<~String> - Id of request
-
‘status’<~String> - Status of volume
-
‘volumeId’<~String> - Reference to volume
-
-
26 27 28 29 30 31 32 33 |
# File 'lib/fog/aws/requests/compute/detach_volume.rb', line 26 def detach_volume(volume_id, = {}) request({ 'Action' => 'DetachVolume', 'VolumeId' => volume_id, :idempotent => true, :parser => Fog::Parsers::AWS::Compute::DetachVolume.new }.merge!()) end |
#disassociate_address(public_ip) ⇒ Object
Disassociate an elastic IP address from its instance (if any)
Parameters
-
public_ip<~String> - Public ip to assign to instance
Returns
-
response<~Excon::Response>:
-
body<~Hash>:
-
‘requestId’<~String> - Id of request
-
‘return’<~Boolean> - success?
-
-
16 17 18 19 20 21 22 23 |
# File 'lib/fog/aws/requests/compute/disassociate_address.rb', line 16 def disassociate_address(public_ip) request( 'Action' => 'DisassociateAddress', 'PublicIp' => public_ip, :idempotent => true, :parser => Fog::Parsers::AWS::Compute::Basic.new ) end |
#get_console_output(instance_id) ⇒ Object
Retrieve console output for specified instance
Parameters
-
instance_id<~String> - Id of instance to get console output from
Returns
# * response<~Excon::Response>:
* body<~Hash>:
* 'instanceId'<~String> - Id of instance
* 'output'<~String> - Console output
* 'requestId'<~String> - Id of request
* 'timestamp'<~Time> - Timestamp of last update to output
20 21 22 23 24 25 26 27 |
# File 'lib/fog/aws/requests/compute/get_console_output.rb', line 20 def get_console_output(instance_id) request( 'Action' => 'GetConsoleOutput', 'InstanceId' => instance_id, :idempotent => true, :parser => Fog::Parsers::AWS::Compute::GetConsoleOutput.new ) end |
#import_key_pair(key_name, public_key_material) ⇒ Object
Import an existing public key to create a new key pair
Parameters
-
key_name<~String> - Unique name for key pair.
-
public_key_material<~String> - RSA public key
Returns
-
response<~Excon::Response>:
-
body<~Hash>:
-
‘keyFingerprint’<~String> - SHA-1 digest of DER encoded private key
-
‘keyName’<~String> - Name of key
-
‘requestId’<~String> - Id of request
-
-
20 21 22 23 24 25 26 27 |
# File 'lib/fog/aws/requests/compute/import_key_pair.rb', line 20 def import_key_pair(key_name, public_key_material) request( 'Action' => 'ImportKeyPair', 'KeyName' => key_name, 'PublicKeyMaterial' => Base64::encode64(public_key_material), :parser => Fog::Parsers::AWS::Compute::ImportKeyPair.new ) end |
#modify_image_attributes(image_id, attribute, operation_type, options = {}) ⇒ Object
Modify image attributes
Parameters
-
image_id<~String> - Id of machine image to modify
-
attribute<~String> - Attribute to modify, in [‘launchPermission’, ‘productCodes’]
-
operation_type<~String> - Operation to perform on attribute, in [‘add’, ‘remove’]
13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
# File 'lib/fog/aws/requests/compute/modify_image_attributes.rb', line 13 def modify_image_attributes(image_id, attribute, operation_type, = {}) params = {} params.merge!(AWS.indexed_param('UserId', ['UserId'])) params.merge!(AWS.indexed_param('UserGroup', ['UserGroup'])) params.merge!(AWS.indexed_param('ProductCode', ['ProductCode'])) request({ 'Action' => 'ModifyImageAttribute', 'Attribute' => attribute, 'ImageId' => image_id, 'OperationType' => operation_type, :idempotent => true, :parser => Fog::Parsers::AWS::Compute::Basic.new }.merge!(params)) end |
#modify_snapshot_attribute(snapshot_id, attribute, operation_type, options = {}) ⇒ Object
Modify snapshot attributes
Parameters
-
snapshot_id<~String> - Id of snapshot to modify
-
attribute<~String> - Attribute to modify, in [‘createVolumePermission’]
-
operation_type<~String> - Operation to perform on attribute, in [‘add’, ‘remove’]
13 14 15 16 17 18 19 20 21 22 23 24 25 |
# File 'lib/fog/aws/requests/compute/modify_snapshot_attribute.rb', line 13 def modify_snapshot_attribute(snapshot_id, attribute, operation_type, = {}) params = {} params.merge!(AWS.indexed_param('UserId', ['UserId'], 1)) params.merge!(AWS.indexed_param('UserGroup', ['UserGroup'], 1)) request({ 'Action' => 'ModifySnapshotAttribute', 'Attribute' => attribute, 'SnapshotId' => snapshot_id, 'OperationType' => operation_type, :idempotent => true, :parser => Fog::Parsers::AWS::Compute::Basic.new }.merge!(params)) end |
#reboot_instances(instance_id = []) ⇒ Object
Reboot specified instances
Parameters
-
instance_id<~Array> - Ids of instances to reboot
Returns
# * response<~Excon::Response>:
* body<~Hash>:
* 'requestId'<~String> - Id of request
* 'return'<~Boolean> - success?
16 17 18 19 20 21 22 23 |
# File 'lib/fog/aws/requests/compute/reboot_instances.rb', line 16 def reboot_instances(instance_id = []) params = AWS.indexed_param('InstanceId', instance_id) request({ 'Action' => 'RebootInstances', :idempotent => true, :parser => Fog::Parsers::AWS::Compute::Basic.new }.merge!(params)) end |
#register_image(name, description, location, block_devices = [], options = {}) ⇒ Object
register an image
Parameters
-
Name<~String> - Name of the AMI to be registered
-
Description<~String> - AMI description
-
Location<~String> - S3 manifest location (for S3 backed AMIs)
or
-
RootDeviceName<~String> - Name of Root Device (for EBS snapshot backed AMIs)
-
BlockDevices<~Array>:
-
BlockDeviceOptions<~Hash>:
-
DeviceName<~String> - Name of the Block Device
-
VirtualName<~String> - Name of the Virtual Device
-
SnapshotId<~String> - id of the EBS Snapshot
-
VolumeSize<~Integer> - Size of the snapshot (optional)
-
NoDevice<~Boolean> - Do not use an ebs device (def: true)
-
DeleteOnTermation<~Boolean> - Delete EBS volume on instance term (def: true)
-
-
-
Options<~Hash>:
-
Architecture<~String> - i386 or x86_64
-
KernelId<~String> - kernelId
-
RamdiskId<~String> - ramdiskId
-
Returns
-
response<~Excon::Response>:
-
body<~Hash>:
-
‘imageId’<~String> - Id of newly created AMI
-
-
34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 |
# File 'lib/fog/aws/requests/compute/register_image.rb', line 34 def register_image(name, description, location, block_devices=[], ={}) = { 'Action' => 'RegisterImage', 'Name' => name, 'Description' => description, :parser => Fog::Parsers::AWS::Compute::RegisterImage.new } # This determines if we are doing a snapshot or a S3 backed AMI. if(location =~ /^\/dev\/sd[a-p]\d{0,2}$/) ['RootDeviceName'] = location else ['ImageLocation'] = location end bdi = 0 block_devices.each do |bd| bdi += 1 ["DeviceName","VirtualName"].each do |n| ["BlockDeviceMapping.#{bdi}.#{n}"] = bd["#{n}"] if bd["#{n}"] end ["SnapshotId","VolumeSize","NoDevice","DeleteOnTermination"].each do |n| ["BlockDeviceMapping.#{bdi}.Ebs.#{n}"] = bd["#{n}"] if bd["#{n}"] end end request(.merge!()) end |
#release_address(public_ip) ⇒ Object
Release an elastic IP address.
Returns
-
response<~Excon::Response>:
-
body<~Hash>:
-
‘requestId’<~String> - Id of request
-
‘return’<~Boolean> - success?
-
-
13 14 15 16 17 18 19 20 |
# File 'lib/fog/aws/requests/compute/release_address.rb', line 13 def release_address(public_ip) request( 'Action' => 'ReleaseAddress', 'PublicIp' => public_ip, :idempotent => true, :parser => Fog::Parsers::AWS::Compute::Basic.new ) end |
#reload ⇒ Object
171 172 173 |
# File 'lib/fog/aws/compute.rb', line 171 def reload @connection.reset end |
#revoke_security_group_ingress(options = {}) ⇒ Object
Remove permissions from a security group
Parameters
-
options<~Hash>:
-
‘GroupName’<~String> - Name of group
-
‘SourceSecurityGroupName’<~String> - Name of security group to authorize
-
‘SourceSecurityGroupOwnerId’<~String> - Name of owner to authorize
or
-
‘CidrIp’ - CIDR range
-
‘FromPort’ - Start of port range (or -1 for ICMP wildcard)
-
‘GroupName’ - Name of group to modify
-
‘IpProtocol’ - Ip protocol, must be in [‘tcp’, ‘udp’, ‘icmp’]
-
‘ToPort’ - End of port range (or -1 for ICMP wildcard)
-
Returns
-
response<~Excon::Response>:
-
body<~Hash>:
-
‘requestId’<~String> - Id of request
-
‘return’<~Boolean> - success?
-
-
25 26 27 28 29 30 31 |
# File 'lib/fog/aws/requests/compute/revoke_security_group_ingress.rb', line 25 def revoke_security_group_ingress( = {}) request({ 'Action' => 'RevokeSecurityGroupIngress', :idempotent => true, :parser => Fog::Parsers::AWS::Compute::Basic.new }.merge!()) end |
#run_instances(image_id, min_count, max_count, options = {}) ⇒ Object
Launch specified instances
Parameters
-
image_id<~String> - Id of machine image to load on instances
-
min_count<~Integer> - Minimum number of instances to launch. If this exceeds the count of available instances, no instances will be launched. Must be between 1 and maximum allowed for your account (by default the maximum for an account is 20)
-
max_count<~Integer> - Maximum number of instances to launch. If this exceeds the number of available instances, the largest possible number of instances above min_count will be launched instead. Must be between 1 and maximum allowed for you account (by default the maximum for an account is 20)
-
options<~Hash>:
-
‘Placement.AvailabilityZone’<~String> - Placement constraint for instances
-
‘BlockDeviceMapping’<~Array>: array of hashes
-
‘DeviceName’<~String> - where the volume will be exposed to instance
-
‘VirtualName’<~String> - volume virtual device name
-
‘Ebs.SnapshotId’<~String> - id of snapshot to boot volume from
-
‘Ebs.VolumeSize’<~String> - size of volume in GiBs required unless snapshot is specified
-
‘Ebs.DeleteOnTermination’<~String> - specifies whether or not to delete the volume on instance termination
-
-
‘ClientToken’<~String> - unique case-sensitive token for ensuring idempotency
-
‘SecurityGroup’<~Array> or <~String> - Name of security group(s) for instances (you must omit this parameter if using Virtual Private Clouds)
-
‘InstanceInitiatedShutdownBehaviour’<~String> - specifies whether volumes are stopped or terminated when instance is shutdown
-
‘InstanceType’<~String> - Type of instance to boot. Valid options in [‘m1.small’, ‘m1.large’, ‘m1.xlarge’, ‘c1.medium’, ‘c1.xlarge’, ‘m2.2xlarge’, ‘m2.4xlarge’] default is ‘m1.small’
-
‘KernelId’<~String> - Id of kernel with which to launch
-
‘KeyName’<~String> - Name of a keypair to add to booting instances
-
‘Monitoring.Enabled’<~Boolean> - Enables monitoring, defaults to disabled
-
‘RamdiskId’<~String> - Id of ramdisk with which to launch
-
‘UserData’<~String> - Additional data to provide to booting instances
-
Returns
-
response<~Excon::Response>:
-
body<~Hash>:
-
‘groupSet’<~Array>: groups the instances are members in
-
‘groupName’<~String> - Name of group
-
-
‘instancesSet’<~Array>: returned instances
-
instance<~Hash>:
-
‘amiLaunchIndex’<~Integer> - reference to instance in launch group
-
‘architecture’<~String> - architecture of image in [i386, x86_64]
-
‘blockDeviceMapping’<~Array>
-
‘attachTime’<~Time> - time of volume attachment
-
‘deleteOnTermination’<~Boolean> - whether or not to delete volume on termination
-
‘deviceName’<~String> - specifies how volume is exposed to instance
-
‘status’<~String> - status of attached volume
-
‘volumeId’<~String> - Id of attached volume
-
-
‘dnsName’<~String> - public dns name, blank until instance is running
-
‘imageId’<~String> - image id of ami used to launch instance
-
‘instanceId’<~String> - id of the instance
-
‘instanceState’<~Hash>:
-
‘code’<~Integer> - current status code
-
‘name’<~String> - current status name
-
-
‘instanceType’<~String> - type of instance
-
‘ipAddress’<~String> - public ip address assigned to instance
-
‘kernelId’<~String> - Id of kernel used to launch instance
-
‘keyName’<~String> - name of key used launch instances or blank
-
‘launchTime’<~Time> - time instance was launched
-
‘monitoring’<~Hash>:
-
‘state’<~Boolean - state of monitoring
-
-
‘placement’<~Hash>:
-
‘availabilityZone’<~String> - Availability zone of the instance
-
-
‘privateDnsName’<~String> - private dns name, blank until instance is running
-
‘privateIpAddress’<~String> - private ip address assigned to instance
-
‘productCodes’<~Array> - Product codes for the instance
-
‘ramdiskId’<~String> - Id of ramdisk used to launch instance
-
‘reason’<~String> - reason for most recent state transition, or blank
-
‘rootDeviceName’<~String> - specifies how the root device is exposed to the instance
-
‘rootDeviceType’<~String> - root device type used by AMI in [ebs, instance-store]
-
-
-
‘ownerId’<~String> - Id of owner
-
‘requestId’<~String> - Id of request
-
‘reservationId’<~String> - Id of reservation
-
-
82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 |
# File 'lib/fog/aws/requests/compute/run_instances.rb', line 82 def run_instances(image_id, min_count, max_count, = {}) if block_device_mapping = .delete('BlockDeviceMapping') block_device_mapping.each_with_index do |mapping, index| for key, value in mapping .merge!({ format("BlockDeviceMapping.%d.#{key}", index) => value }) end end end if security_groups = [*.delete('SecurityGroup')] .merge!(AWS.indexed_param('SecurityGroup', security_groups)) end if ['UserData'] ['UserData'] = Base64.encode64(['UserData']) end request({ 'Action' => 'RunInstances', 'ImageId' => image_id, 'MinCount' => min_count, 'MaxCount' => max_count, :parser => Fog::Parsers::AWS::Compute::RunInstances.new }.merge!()) end |
#start_instances(instance_id) ⇒ Object
Start specified instance
Parameters
-
instance_id<~Array> - Id of instance to start
Returns
-
response<~Excon::Response>:
-
body<~Hash>:
-
‘requestId’<~String> - Id of request
-
TODO: fill in the blanks
-
-
18 19 20 21 22 23 24 25 |
# File 'lib/fog/aws/requests/compute/start_instances.rb', line 18 def start_instances(instance_id) params = AWS.indexed_param('InstanceId', instance_id) request({ 'Action' => 'StartInstances', :idempotent => true, :parser => Fog::Parsers::AWS::Compute::StartStopInstances.new }.merge!(params)) end |
#stop_instances(instance_id) ⇒ Object
Stop specified instance
Parameters
-
instance_id<~Array> - Id of instance to start
Returns
-
response<~Excon::Response>:
-
body<~Hash>:
-
‘requestId’<~String> - Id of request
-
TODO: fill in the blanks
-
-
18 19 20 21 22 23 24 25 |
# File 'lib/fog/aws/requests/compute/stop_instances.rb', line 18 def stop_instances(instance_id) params = AWS.indexed_param('InstanceId', instance_id) request({ 'Action' => 'StopInstances', :idempotent => true, :parser => Fog::Parsers::AWS::Compute::StartStopInstances.new }.merge!(params)) end |
#terminate_instances(instance_id) ⇒ Object
Terminate specified instances
Parameters
-
instance_id<~Array> - Ids of instances to terminates
Returns
# * response<~Excon::Response>:
* body<~Hash>:
* 'requestId'<~String> - Id of request
* 'instancesSet'<~Array>:
* 'instanceId'<~String> - id of the terminated instance
* 'previousState'<~Hash>: previous state of instance
* 'code'<~Integer> - previous status code
* 'name'<~String> - name of previous state
* 'shutdownState'<~Hash>: shutdown state of instance
* 'code'<~Integer> - current status code
* 'name'<~String> - name of current state
25 26 27 28 29 30 31 32 |
# File 'lib/fog/aws/requests/compute/terminate_instances.rb', line 25 def terminate_instances(instance_id) params = AWS.indexed_param('InstanceId', instance_id) request({ 'Action' => 'TerminateInstances', :idempotent => true, :parser => Fog::Parsers::AWS::Compute::TerminateInstances.new }.merge!(params)) end |