fog 0.0.45 → 0.0.46
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/Rakefile +1 -1
- data/VERSION.yml +1 -1
- data/fog.gemspec +5 -5
- data/lib/fog/aws/models/ec2/server.rb +19 -13
- data/lib/fog/aws/parsers/ec2/describe_instances.rb +30 -10
- data/lib/fog/aws/parsers/ec2/run_instances.rb +29 -7
- data/lib/fog/aws/requests/ec2/describe_instances.rb +12 -1
- data/lib/fog/aws/requests/ec2/run_instances.rb +17 -4
- data/lib/fog/collection.rb +4 -0
- data/spec/aws/requests/ec2/describe_instances_spec.rb +12 -0
- data/spec/aws/requests/ec2/run_instances_spec.rb +6 -0
- data/spec/spec_helper.rb +1 -0
- metadata +3 -3
data/Rakefile
CHANGED
@@ -8,7 +8,7 @@ begin
|
|
8
8
|
require 'jeweler'
|
9
9
|
Jeweler::Tasks.new do |gem|
|
10
10
|
gem.add_dependency('excon', '>=0.0.18')
|
11
|
-
gem.add_dependency('formatador')
|
11
|
+
gem.add_dependency('formatador', '>=0.0.8')
|
12
12
|
gem.add_dependency('json')
|
13
13
|
gem.add_dependency('mime-types')
|
14
14
|
gem.add_dependency('nokogiri')
|
data/VERSION.yml
CHANGED
data/fog.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{fog}
|
8
|
-
s.version = "0.0.
|
8
|
+
s.version = "0.0.46"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["geemus (Wesley Beary)"]
|
12
|
-
s.date = %q{2010-02-
|
12
|
+
s.date = %q{2010-02-22}
|
13
13
|
s.default_executable = %q{fog}
|
14
14
|
s.description = %q{brings clouds to you}
|
15
15
|
s.email = %q{me@geemus.com}
|
@@ -491,14 +491,14 @@ Gem::Specification.new do |s|
|
|
491
491
|
|
492
492
|
if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
|
493
493
|
s.add_runtime_dependency(%q<excon>, [">= 0.0.18"])
|
494
|
-
s.add_runtime_dependency(%q<formatador>, [">= 0"])
|
494
|
+
s.add_runtime_dependency(%q<formatador>, [">= 0.0.8"])
|
495
495
|
s.add_runtime_dependency(%q<json>, [">= 0"])
|
496
496
|
s.add_runtime_dependency(%q<mime-types>, [">= 0"])
|
497
497
|
s.add_runtime_dependency(%q<nokogiri>, [">= 0"])
|
498
498
|
s.add_runtime_dependency(%q<ruby-hmac>, [">= 0"])
|
499
499
|
else
|
500
500
|
s.add_dependency(%q<excon>, [">= 0.0.18"])
|
501
|
-
s.add_dependency(%q<formatador>, [">= 0"])
|
501
|
+
s.add_dependency(%q<formatador>, [">= 0.0.8"])
|
502
502
|
s.add_dependency(%q<json>, [">= 0"])
|
503
503
|
s.add_dependency(%q<mime-types>, [">= 0"])
|
504
504
|
s.add_dependency(%q<nokogiri>, [">= 0"])
|
@@ -506,7 +506,7 @@ Gem::Specification.new do |s|
|
|
506
506
|
end
|
507
507
|
else
|
508
508
|
s.add_dependency(%q<excon>, [">= 0.0.18"])
|
509
|
-
s.add_dependency(%q<formatador>, [">= 0"])
|
509
|
+
s.add_dependency(%q<formatador>, [">= 0.0.8"])
|
510
510
|
s.add_dependency(%q<json>, [">= 0"])
|
511
511
|
s.add_dependency(%q<mime-types>, [">= 0"])
|
512
512
|
s.add_dependency(%q<nokogiri>, [">= 0"])
|
@@ -6,21 +6,27 @@ module Fog
|
|
6
6
|
|
7
7
|
identity :id, 'instanceId'
|
8
8
|
|
9
|
-
attribute :
|
10
|
-
attribute :
|
11
|
-
attribute :
|
9
|
+
attribute :architecture
|
10
|
+
attribute :ami_launch_index, 'amiLaunchIndex'
|
11
|
+
attribute :availability_zone, 'availabilityZone'
|
12
|
+
attribute :block_device_mapping, 'blockDeviceMapping'
|
13
|
+
attribute :dns_name, 'dnsName'
|
12
14
|
attribute :groups
|
13
|
-
attribute :
|
14
|
-
attribute :
|
15
|
-
attribute :
|
16
|
-
attribute :kernel_id,
|
17
|
-
attribute :key_name,
|
18
|
-
attribute :created_at,
|
15
|
+
attribute :flavor_id, 'instanceType'
|
16
|
+
attribute :image_id, 'imageId'
|
17
|
+
attribute :ip_address, 'ipAddress'
|
18
|
+
attribute :kernel_id, 'kernelId'
|
19
|
+
attribute :key_name, 'keyName'
|
20
|
+
attribute :created_at, 'launchTime'
|
19
21
|
attribute :monitoring
|
20
|
-
attribute :product_codes,
|
21
|
-
attribute :private_dns_name,
|
22
|
-
attribute :
|
22
|
+
attribute :product_codes, 'productCodes'
|
23
|
+
attribute :private_dns_name, 'privateDnsName'
|
24
|
+
attribute :private_ip_address, 'privateIpAddress'
|
25
|
+
attribute :ramdisk_id, 'ramdiskId'
|
23
26
|
attribute :reason
|
27
|
+
attribute :root_device_name, 'rootDeviceName'
|
28
|
+
attribute :root_device_type, 'rootDeviceType'
|
29
|
+
attribute :state, 'instanceState'
|
24
30
|
attribute :user_data
|
25
31
|
|
26
32
|
def initialize(attributes)
|
@@ -50,7 +56,7 @@ module Fog
|
|
50
56
|
# end
|
51
57
|
|
52
58
|
def flavor_id
|
53
|
-
@flavor && @flavor.id || 'm1.small'
|
59
|
+
@flavor_id || @flavor && @flavor.id || 'm1.small'
|
54
60
|
end
|
55
61
|
|
56
62
|
def flavor=(new_flavor)
|
@@ -6,15 +6,19 @@ module Fog
|
|
6
6
|
class DescribeInstances < Fog::Parsers::Base
|
7
7
|
|
8
8
|
def reset
|
9
|
-
@
|
9
|
+
@block_device_mapping = {}
|
10
|
+
@instance = { 'blockDeviceMapping' => [], 'instanceState' => {}, 'monitoring' => {}, 'placement' => {}, 'productCodes' => [] }
|
10
11
|
@reservation = { 'groupSet' => [], 'instancesSet' => [] }
|
11
12
|
@response = { 'reservationSet' => [] }
|
12
13
|
end
|
13
14
|
|
14
15
|
def start_element(name, attrs = [])
|
15
|
-
|
16
|
+
case name
|
17
|
+
when 'blockDeviceMapping'
|
18
|
+
@in_block_device_mapping = true
|
19
|
+
when'groupSet', 'productCodes'
|
16
20
|
@in_subset = true
|
17
|
-
|
21
|
+
when 'instancesSet'
|
18
22
|
@in_instances_set = true
|
19
23
|
end
|
20
24
|
@value = ''
|
@@ -26,20 +30,38 @@ module Fog
|
|
26
30
|
@instance[name] = @value.to_i
|
27
31
|
when 'availabilityZone'
|
28
32
|
@instance['placement'][name] = @value
|
33
|
+
when 'architecture', 'dnsName', 'imageId', 'instanceId',
|
34
|
+
'instanceType', 'ipAddress', 'kernelId', 'keyName',
|
35
|
+
'privateDnsName', 'privateIpAddress', 'ramdiskId', 'reason',
|
36
|
+
'rootDeviceType'
|
37
|
+
@instance[name] = @value
|
38
|
+
when 'attachTime'
|
39
|
+
@block_device_mapping[name] = Time.parse(@value)
|
40
|
+
when 'blockDeviceMapping'
|
41
|
+
@in_block_device_mapping = false
|
29
42
|
when 'code'
|
30
43
|
@instance['instanceState'][name] = @value.to_i
|
31
|
-
when '
|
32
|
-
@
|
44
|
+
when 'deleteOnTermination'
|
45
|
+
if @value == 'true'
|
46
|
+
@block_device_mapping[name] = true
|
47
|
+
else
|
48
|
+
@block_device_mapping[name] = false
|
49
|
+
end
|
50
|
+
when 'deviceName', 'status', 'volumeId'
|
51
|
+
@block_device_mapping[name] = @value
|
33
52
|
when 'groupId'
|
34
53
|
@reservation['groupSet'] << @value
|
35
|
-
when 'groupSet'
|
54
|
+
when 'groupSet', 'productCodes'
|
36
55
|
@in_subset = false
|
37
56
|
when 'instancesSet'
|
38
57
|
@in_instances_set = false
|
39
58
|
when 'item'
|
40
|
-
if @
|
59
|
+
if @in_block_device_mapping
|
60
|
+
@instance['blockDeviceMapping'] << @block_device_mapping
|
61
|
+
@block_device_mapping = {}
|
62
|
+
elsif @in_instances_set
|
41
63
|
@reservation['instancesSet'] << @instance
|
42
|
-
@instance = { 'instanceState' => {}, 'monitoring' => {}, 'placement' => {}, 'productCodes' => [] }
|
64
|
+
@instance = { 'blockDeviceMapping' => [], 'instanceState' => {}, 'monitoring' => {}, 'placement' => {}, 'productCodes' => [] }
|
43
65
|
elsif !@in_subset
|
44
66
|
@response['reservationSet'] << @reservation
|
45
67
|
@reservation = { 'groupSet' => [], 'instancesSet' => [] }
|
@@ -54,8 +76,6 @@ module Fog
|
|
54
76
|
@response[name] = @value
|
55
77
|
when 'productCode'
|
56
78
|
@instance['productCodes'] << @value
|
57
|
-
when 'productCodes'
|
58
|
-
@in_subset = false
|
59
79
|
when 'state'
|
60
80
|
if @value == 'true'
|
61
81
|
@instance['monitoring'][name] = true
|
@@ -6,14 +6,18 @@ module Fog
|
|
6
6
|
class RunInstances < Fog::Parsers::Base
|
7
7
|
|
8
8
|
def reset
|
9
|
-
@
|
9
|
+
@block_device_mapping = {}
|
10
|
+
@instance = { 'blockDeviceMapping' => [], 'instanceState' => {}, 'monitoring' => {}, 'placement' => {}, 'productCodes' => [] }
|
10
11
|
@response = { 'groupSet' => [], 'instancesSet' => [] }
|
11
12
|
end
|
12
13
|
|
13
14
|
def start_element(name, attrs = [])
|
14
|
-
|
15
|
+
case name
|
16
|
+
when 'blockDeviceMapping'
|
17
|
+
@in_block_device_mapping = true
|
18
|
+
when 'groupSet'
|
15
19
|
@in_group_set = true
|
16
|
-
|
20
|
+
when 'productCodes'
|
17
21
|
@in_product_codes = true
|
18
22
|
end
|
19
23
|
@value = ''
|
@@ -23,20 +27,38 @@ module Fog
|
|
23
27
|
case name
|
24
28
|
when 'amiLaunchIndex'
|
25
29
|
@instance[name] = @value.to_i
|
30
|
+
when 'architecture', 'dnsName', 'imageId', 'instanceId',
|
31
|
+
'instanceType', 'ipAddress', 'kernelId', 'keyName',
|
32
|
+
'privateDnsName', 'privateIpAddress', 'ramdiskId', 'reason',
|
33
|
+
'rootDeviceType'
|
34
|
+
@instance[name] = @value
|
26
35
|
when 'availabilityZone'
|
27
36
|
@instance['placement'][name] = @value
|
37
|
+
when 'attachTime'
|
38
|
+
@block_device_mapping[name] = Time.parse(@value)
|
39
|
+
when 'blockDeviceMapping'
|
40
|
+
@in_block_device_mapping = false
|
28
41
|
when 'code'
|
29
42
|
@instance['instanceState'][name] = @value.to_i
|
30
|
-
when '
|
31
|
-
@
|
43
|
+
when 'deleteOnTermination'
|
44
|
+
if @value == 'true'
|
45
|
+
@block_device_mapping[name] = true
|
46
|
+
else
|
47
|
+
@block_device_mapping[name] = false
|
48
|
+
end
|
49
|
+
when 'deviceName', 'status', 'volumeId'
|
50
|
+
@block_device_mapping[name] = @value
|
32
51
|
when 'groupId'
|
33
52
|
@response['groupSet'] << @value
|
34
53
|
when 'groupSet'
|
35
54
|
@in_group_set = false
|
36
55
|
when 'item'
|
37
|
-
|
56
|
+
if @in_block_device_mapping
|
57
|
+
@instance['blockDeviceMapping'] << @block_device_mapping
|
58
|
+
@block_device_mapping = {}
|
59
|
+
elsif !@in_group_set && !@in_product_codes
|
38
60
|
@response['instancesSet'] << @instance
|
39
|
-
@instance = { 'instanceState' => {}, 'monitoring' => {}, 'placement' => {}, 'productCodes' => [] }
|
61
|
+
@instance = { 'blockDeviceMapping' => [], 'instanceState' => {}, 'monitoring' => {}, 'placement' => {}, 'productCodes' => [] }
|
40
62
|
end
|
41
63
|
when 'launchTime'
|
42
64
|
@instance[name] = Time.parse(@value)
|
@@ -19,7 +19,14 @@ unless Fog.mocking?
|
|
19
19
|
# * 'reservationId'<~String> - Id of the reservation
|
20
20
|
# * 'instancesSet'<~Array>:
|
21
21
|
# * instance<~Hash>:
|
22
|
+
# * 'architecture'<~String> - architecture of image in [i386, x86_64]
|
22
23
|
# * 'amiLaunchIndex'<~Integer> - reference to instance in launch group
|
24
|
+
# * 'blockDeviceMapping'<~Array>
|
25
|
+
# * 'attachTime'<~Time> - time of volume attachment
|
26
|
+
# * 'deleteOnTermination'<~Boolean> - whether or not to delete volume on termination
|
27
|
+
# * 'deviceName'<~String> - specifies how volume is exposed to instance
|
28
|
+
# * 'status'<~String> - status of attached volume
|
29
|
+
# * 'volumeId'<~String> - Id of attached volume
|
23
30
|
# * 'dnsName'<~String> - public dns name, blank until instance is running
|
24
31
|
# * 'imageId'<~String> - image id of ami used to launch instance
|
25
32
|
# * 'instanceId'<~String> - id of the instance
|
@@ -27,7 +34,8 @@ unless Fog.mocking?
|
|
27
34
|
# * 'code'<~Integer> - current status code
|
28
35
|
# * 'name'<~String> - current status name
|
29
36
|
# * 'instanceType'<~String> - type of instance
|
30
|
-
# * '
|
37
|
+
# * 'ipAddress'<~String> - public ip address assigned to instance
|
38
|
+
# * 'kernelId'<~String> - id of kernel used to launch instance
|
31
39
|
# * 'keyName'<~String> - name of key used launch instances or blank
|
32
40
|
# * 'launchTime'<~Time> - time instance was launched
|
33
41
|
# * 'monitoring'<~Hash>:
|
@@ -36,6 +44,9 @@ unless Fog.mocking?
|
|
36
44
|
# * 'availabilityZone'<~String> - Availability zone of the instance
|
37
45
|
# * 'productCodes'<~Array> - Product codes for the instance
|
38
46
|
# * 'privateDnsName'<~String> - private dns name, blank until instance is running
|
47
|
+
# * 'privateIpAddress'<~String> - private ip address assigned to instance
|
48
|
+
# * 'rootDeviceName'<~String> - specifies how the root device is exposed to the instance
|
49
|
+
# * 'rootDeviceType'<~String> - root device type used by AMI in [ebs, instance-store]
|
39
50
|
# * 'ramdiskId'<~String> - Id of ramdisk used to launch instance
|
40
51
|
# * 'reason'<~String> - reason for most recent state transition, or blank
|
41
52
|
def describe_instances(instance_id = [])
|
@@ -19,9 +19,13 @@ unless Fog.mocking?
|
|
19
19
|
# (by default the maximum for an account is 20)
|
20
20
|
# * options<~Hash>:
|
21
21
|
# * 'Placement.AvailabilityZone'<~String> - Placement constraint for instances
|
22
|
-
# * 'DeviceName'<~String> -
|
23
|
-
# * '
|
22
|
+
# * 'BlockDeviceMapping.n.DeviceName'<~String> - where the volume will be exposed to instance
|
23
|
+
# * 'BlockDeviceMapping.n.VirtualName'<~String> - volume virtual device name
|
24
|
+
# * 'BlockDeviceMapping.n.Ebs.SnapshotId'<~String> - id of snapshot to boot volume from
|
25
|
+
# * 'BlockDeviceMapping.n.Ebs.VolumeSize'<~String> - size of volume in GiBs required unless snapshot is specified
|
26
|
+
# * 'BlockDeviceMapping.n.Ebs.DeleteOnTermination'<~String> - specifies whether or not to delete the volume on instance termination
|
24
27
|
# * 'SecurityGroup.n'<~String> - Indexed names of security groups for instances
|
28
|
+
# * 'InstanceInitiatedShutdownBehaviour'<~String> - specifies whether volumes are stopped or terminated when instance is shutdown
|
25
29
|
# * 'InstanceType'<~String> - Type of instance to boot. Valid options
|
26
30
|
# in ['m1.small', 'm1.large', 'm1.xlarge', 'c1.medium', 'c1.xlarge', 'm2.2xlarge', 'm2.4xlarge']
|
27
31
|
# default is 'm1.small'
|
@@ -31,8 +35,6 @@ unless Fog.mocking?
|
|
31
35
|
# disabled
|
32
36
|
# * 'RamdiskId'<~String> - Id of ramdisk with which to launch
|
33
37
|
# * 'UserData'<~String> - Additional data to provide to booting instances
|
34
|
-
# * 'Version'<~String> - ?
|
35
|
-
# * 'VirtualName'<~String> - ?
|
36
38
|
#
|
37
39
|
# ==== Returns
|
38
40
|
# * response<~Excon::Response>:
|
@@ -42,6 +44,13 @@ unless Fog.mocking?
|
|
42
44
|
# * 'instancesSet'<~Array>: returned instances
|
43
45
|
# * instance<~Hash>:
|
44
46
|
# * 'amiLaunchIndex'<~Integer> - reference to instance in launch group
|
47
|
+
# * 'architecture'<~String> - architecture of image in [i386, x86_64]
|
48
|
+
# * 'blockDeviceMapping'<~Array>
|
49
|
+
# * 'attachTime'<~Time> - time of volume attachment
|
50
|
+
# * 'deleteOnTermination'<~Boolean> - whether or not to delete volume on termination
|
51
|
+
# * 'deviceName'<~String> - specifies how volume is exposed to instance
|
52
|
+
# * 'status'<~String> - status of attached volume
|
53
|
+
# * 'volumeId'<~String> - Id of attached volume
|
45
54
|
# * 'dnsName'<~String> - public dns name, blank until instance is running
|
46
55
|
# * 'imageId'<~String> - image id of ami used to launch instance
|
47
56
|
# * 'instanceId'<~String> - id of the instance
|
@@ -49,6 +58,7 @@ unless Fog.mocking?
|
|
49
58
|
# * 'code'<~Integer> - current status code
|
50
59
|
# * 'name'<~String> - current status name
|
51
60
|
# * 'instanceType'<~String> - type of instance
|
61
|
+
# * 'ipAddress'<~String> - public ip address assigned to instance
|
52
62
|
# * 'kernelId'<~String> - Id of kernel used to launch instance
|
53
63
|
# * 'keyName'<~String> - name of key used launch instances or blank
|
54
64
|
# * 'launchTime'<~Time> - time instance was launched
|
@@ -57,9 +67,12 @@ unless Fog.mocking?
|
|
57
67
|
# * 'placement'<~Hash>:
|
58
68
|
# * 'availabilityZone'<~String> - Availability zone of the instance
|
59
69
|
# * 'privateDnsName'<~String> - private dns name, blank until instance is running
|
70
|
+
# * 'privateIpAddress'<~String> - private ip address assigned to instance
|
60
71
|
# * 'productCodes'<~Array> - Product codes for the instance
|
61
72
|
# * 'ramdiskId'<~String> - Id of ramdisk used to launch instance
|
62
73
|
# * 'reason'<~String> - reason for most recent state transition, or blank
|
74
|
+
# * 'rootDeviceName'<~String> - specifies how the root device is exposed to the instance
|
75
|
+
# * 'rootDeviceType'<~String> - root device type used by AMI in [ebs, instance-store]
|
63
76
|
# * 'ownerId'<~String> - Id of owner
|
64
77
|
# * 'requestId'<~String> - Id of request
|
65
78
|
# * 'reservationId'<~String> - Id of reservation
|
data/lib/fog/collection.rb
CHANGED
@@ -22,6 +22,8 @@ describe 'EC2.describe_instances' do
|
|
22
22
|
reservation['reservationId'].should be_a(String)
|
23
23
|
instance = reservation['instancesSet'].select {|instance| instance['instanceId'] == @instance_id}.first
|
24
24
|
instance['amiLaunchIndex'].should be_an(Integer)
|
25
|
+
# instance['architecture'].should be_a(String)
|
26
|
+
instance['blockDeviceMapping'].should be_an(Array)
|
25
27
|
instance['dnsName'].should be_a(String)
|
26
28
|
instance['imageId'].should be_a(String)
|
27
29
|
instance['instanceId'].should be_a(String)
|
@@ -29,6 +31,7 @@ describe 'EC2.describe_instances' do
|
|
29
31
|
instance['instanceState']['code'].should be_a(Integer)
|
30
32
|
instance['instanceState']['name'].should be_a(String)
|
31
33
|
instance['instanceType'].should be_a(String)
|
34
|
+
# instance['ipAddress'].should be_a(String)
|
32
35
|
instance['kernelId'].should be_a(String)
|
33
36
|
instance['keyName'].should be_a(String) if instance['keyName']
|
34
37
|
instance['launchTime'].should be_a(Time)
|
@@ -37,10 +40,13 @@ describe 'EC2.describe_instances' do
|
|
37
40
|
instance['placement'].should be_a(Hash)
|
38
41
|
instance['placement']['availabilityZone'].should be_a(String)
|
39
42
|
instance['privateDnsName'].should be_a(String)
|
43
|
+
# instance['privateIpAddress'].should be_a(String)
|
40
44
|
instance['productCodes'].should be_an(Array)
|
41
45
|
instance['productCodes'].first.should be_a(String) if instance['productCodes'].first
|
42
46
|
instance['ramdiskId'].should be_a(String)
|
43
47
|
instance['reason'].should be_a(String)
|
48
|
+
# instance['rootDeviceName'].should be_a(String)
|
49
|
+
instance['rootDeviceType'].should be_a(String)
|
44
50
|
end
|
45
51
|
|
46
52
|
it "should return proper attributes with params" do
|
@@ -52,6 +58,8 @@ describe 'EC2.describe_instances' do
|
|
52
58
|
reservation['reservationId'].should be_a(String)
|
53
59
|
instance = reservation['instancesSet'].select {|instance| instance['instanceId'] == @instance_id}.first
|
54
60
|
instance['amiLaunchIndex'].should be_an(Integer)
|
61
|
+
# instance['architecture'].should be_a(String)
|
62
|
+
instance['blockDeviceMapping'].should be_an(Array)
|
55
63
|
instance['dnsName'].should be_a(String)
|
56
64
|
instance['imageId'].should be_a(String)
|
57
65
|
instance['instanceId'].should be_a(String)
|
@@ -59,6 +67,7 @@ describe 'EC2.describe_instances' do
|
|
59
67
|
instance['instanceState']['code'].should be_a(Integer)
|
60
68
|
instance['instanceState']['name'].should be_a(String)
|
61
69
|
instance['instanceType'].should be_a(String)
|
70
|
+
# instance['ipAddress'].should be_a(String)
|
62
71
|
instance['kernelId'].should be_a(String)
|
63
72
|
instance['keyName'].should be_a(String) if instance['keyName']
|
64
73
|
instance['launchTime'].should be_a(Time)
|
@@ -67,10 +76,13 @@ describe 'EC2.describe_instances' do
|
|
67
76
|
instance['placement'].should be_a(Hash)
|
68
77
|
instance['placement']['availabilityZone'].should be_a(String)
|
69
78
|
instance['privateDnsName'].should be_a(String)
|
79
|
+
# instance['privateIpAddress'].should be_a(String)
|
70
80
|
instance['productCodes'].should be_an(Array)
|
71
81
|
instance['productCodes'].first.should be_a(String) if instance['productCodes'].first
|
72
82
|
instance['ramdiskId'].should be_a(String)
|
73
83
|
instance['reason'].should be_a(String)
|
84
|
+
# instance['rootDeviceName'].should be_a(String)
|
85
|
+
instance['rootDeviceType'].should be_a(String)
|
74
86
|
end
|
75
87
|
|
76
88
|
end
|
@@ -16,6 +16,8 @@ describe 'EC2.run_instances' do
|
|
16
16
|
actual.body['instancesSet'].should be_an(Array)
|
17
17
|
instance = actual.body['instancesSet'].first
|
18
18
|
instance['amiLaunchIndex'].should be_a(Integer)
|
19
|
+
# instance['architecture'].should be_a(String)
|
20
|
+
instance['blockDeviceMapping'].should be_an(Array)
|
19
21
|
instance['dnsName'].should be_a(String)
|
20
22
|
instance['imageId'].should be_a(String)
|
21
23
|
instance['instanceId'].should be_a(String)
|
@@ -23,6 +25,7 @@ describe 'EC2.run_instances' do
|
|
23
25
|
instance['instanceState']['code'].should be_an(Integer)
|
24
26
|
instance['instanceState']['name'].should be_an(String)
|
25
27
|
instance['instanceType'].should be_a(String)
|
28
|
+
# instance['ipAddress'].should be_a(String)
|
26
29
|
instance['kernelId'].should be_a(String)
|
27
30
|
instance['keyName'].should be_a(String) if instance['keyName']
|
28
31
|
instance['launchTime'].should be_a(Time)
|
@@ -31,11 +34,14 @@ describe 'EC2.run_instances' do
|
|
31
34
|
instance['placement'].should be_a(Hash)
|
32
35
|
instance['placement']['availabilityZone'].should be_a(String)
|
33
36
|
instance['privateDnsName'].should be_a(String)
|
37
|
+
# instance['privateIpAddress'].should be_a(String)
|
34
38
|
instance['ramdiskId'].should be_a(String)
|
35
39
|
instance['reason'].should be_a(String)
|
36
40
|
actual.body['ownerId'].should be_a(String)
|
37
41
|
actual.body['requestId'].should be_a(String)
|
38
42
|
actual.body['reservationId'].should be_a(String)
|
43
|
+
# instance['rootDeviceName'].should be_a(String)
|
44
|
+
instance['rootDeviceType'].should be_a(String)
|
39
45
|
end
|
40
46
|
|
41
47
|
end
|
data/spec/spec_helper.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fog
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.46
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- geemus (Wesley Beary)
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2010-02-
|
12
|
+
date: 2010-02-22 00:00:00 -08:00
|
13
13
|
default_executable: fog
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
@@ -30,7 +30,7 @@ dependencies:
|
|
30
30
|
requirements:
|
31
31
|
- - ">="
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version:
|
33
|
+
version: 0.0.8
|
34
34
|
version:
|
35
35
|
- !ruby/object:Gem::Dependency
|
36
36
|
name: json
|