fog 0.0.56 → 0.0.57
Sign up to get free protection for your applications and to get access to all the features.
- data/Rakefile +1 -1
- data/VERSION.yml +1 -1
- data/fog.gemspec +4 -4
- data/lib/fog/aws.rb +4 -3
- data/lib/fog/aws/ec2.rb +136 -150
- data/lib/fog/aws/models/ec2/address.rb +3 -1
- data/lib/fog/aws/models/ec2/addresses.rb +20 -6
- data/lib/fog/aws/models/ec2/flavor.rb +3 -1
- data/lib/fog/aws/models/ec2/flavors.rb +14 -3
- data/lib/fog/aws/models/ec2/image.rb +3 -1
- data/lib/fog/aws/models/ec2/images.rb +14 -3
- data/lib/fog/aws/models/ec2/key_pair.rb +3 -1
- data/lib/fog/aws/models/ec2/key_pairs.rb +14 -3
- data/lib/fog/aws/models/ec2/security_group.rb +3 -1
- data/lib/fog/aws/models/ec2/security_groups.rb +14 -3
- data/lib/fog/aws/models/ec2/server.rb +3 -1
- data/lib/fog/aws/models/ec2/servers.rb +14 -3
- data/lib/fog/aws/models/ec2/snapshot.rb +3 -1
- data/lib/fog/aws/models/ec2/snapshots.rb +18 -5
- data/lib/fog/aws/models/ec2/volume.rb +3 -1
- data/lib/fog/aws/models/ec2/volumes.rb +18 -5
- data/lib/fog/aws/models/s3/directories.rb +14 -3
- data/lib/fog/aws/models/s3/directory.rb +4 -1
- data/lib/fog/aws/models/s3/file.rb +3 -1
- data/lib/fog/aws/models/s3/files.rb +4 -1
- data/lib/fog/aws/parsers/simpledb/domain_metadata.rb +2 -0
- data/lib/fog/aws/parsers/simpledb/get_attributes.rb +2 -0
- data/lib/fog/aws/parsers/simpledb/list_domains.rb +2 -0
- data/lib/fog/aws/parsers/simpledb/select.rb +2 -0
- data/lib/fog/aws/requests/ec2/allocate_address.rb +11 -16
- data/lib/fog/aws/requests/ec2/associate_address.rb +14 -19
- data/lib/fog/aws/requests/ec2/attach_volume.rb +16 -21
- data/lib/fog/aws/requests/ec2/authorize_security_group_ingress.rb +29 -27
- data/lib/fog/aws/requests/ec2/create_key_pair.rb +13 -18
- data/lib/fog/aws/requests/ec2/create_security_group.rb +14 -19
- data/lib/fog/aws/requests/ec2/create_snapshot.rb +13 -18
- data/lib/fog/aws/requests/ec2/create_volume.rb +14 -19
- data/lib/fog/aws/requests/ec2/delete_key_pair.rb +12 -17
- data/lib/fog/aws/requests/ec2/delete_security_group.rb +13 -18
- data/lib/fog/aws/requests/ec2/delete_snapshot.rb +12 -17
- data/lib/fog/aws/requests/ec2/delete_volume.rb +13 -18
- data/lib/fog/aws/requests/ec2/describe_addresses.rb +11 -16
- data/lib/fog/aws/requests/ec2/describe_availability_zones.rb +9 -14
- data/lib/fog/aws/requests/ec2/describe_images.rb +9 -14
- data/lib/fog/aws/requests/ec2/describe_instances.rb +17 -22
- data/lib/fog/aws/requests/ec2/describe_key_pairs.rb +11 -16
- data/lib/fog/aws/requests/ec2/describe_regions.rb +9 -14
- data/lib/fog/aws/requests/ec2/describe_reserved_instances.rb +9 -14
- data/lib/fog/aws/requests/ec2/describe_security_groups.rb +11 -16
- data/lib/fog/aws/requests/ec2/describe_snapshots.rb +12 -17
- data/lib/fog/aws/requests/ec2/describe_volumes.rb +14 -19
- data/lib/fog/aws/requests/ec2/detach_volume.rb +11 -16
- data/lib/fog/aws/requests/ec2/disassociate_address.rb +12 -17
- data/lib/fog/aws/requests/ec2/get_console_output.rb +12 -17
- data/lib/fog/aws/requests/ec2/reboot_instances.rb +11 -16
- data/lib/fog/aws/requests/ec2/release_address.rb +12 -17
- data/lib/fog/aws/requests/ec2/revoke_security_group_ingress.rb +10 -15
- data/lib/fog/aws/requests/ec2/run_instances.rb +36 -38
- data/lib/fog/aws/requests/ec2/terminate_instances.rb +16 -20
- data/lib/fog/aws/requests/s3/copy_object.rb +9 -15
- data/lib/fog/aws/requests/s3/delete_bucket.rb +9 -16
- data/lib/fog/aws/requests/s3/delete_object.rb +6 -14
- data/lib/fog/aws/requests/s3/get_bucket.rb +9 -14
- data/lib/fog/aws/requests/s3/get_bucket_location.rb +8 -14
- data/lib/fog/aws/requests/s3/get_object.rb +7 -15
- data/lib/fog/aws/requests/s3/get_request_payment.rb +7 -13
- data/lib/fog/aws/requests/s3/get_service.rb +7 -13
- data/lib/fog/aws/requests/s3/head_object.rb +6 -14
- data/lib/fog/aws/requests/s3/put_bucket.rb +13 -21
- data/lib/fog/aws/requests/s3/put_object.rb +8 -16
- data/lib/fog/aws/requests/s3/put_request_payment.rb +7 -16
- data/lib/fog/aws/requests/simpledb/batch_put_attributes.rb +14 -21
- data/lib/fog/aws/requests/simpledb/create_domain.rb +11 -18
- data/lib/fog/aws/requests/simpledb/delete_attributes.rb +15 -22
- data/lib/fog/aws/requests/simpledb/delete_domain.rb +11 -18
- data/lib/fog/aws/requests/simpledb/domain_metadata.rb +14 -19
- data/lib/fog/aws/requests/simpledb/get_attributes.rb +19 -23
- data/lib/fog/aws/requests/simpledb/list_domains.rb +11 -16
- data/lib/fog/aws/requests/simpledb/put_attributes.rb +15 -15
- data/lib/fog/aws/requests/simpledb/select.rb +12 -17
- data/lib/fog/aws/s3.rb +117 -121
- data/lib/fog/aws/simpledb.rb +127 -127
- data/lib/fog/rackspace/models/servers/images.rb +1 -1
- data/spec/aws/requests/ec2/authorize_security_group_ingress_spec.rb +11 -1
- metadata +4 -4
@@ -1,8 +1,9 @@
|
|
1
|
-
|
1
|
+
module Fog
|
2
|
+
module AWS
|
3
|
+
module EC2
|
4
|
+
class Real
|
2
5
|
|
3
|
-
|
4
|
-
module AWS
|
5
|
-
class EC2
|
6
|
+
require 'fog/aws/parsers/ec2/basic'
|
6
7
|
|
7
8
|
# Delete an EBS volume
|
8
9
|
#
|
@@ -15,26 +16,21 @@ unless Fog.mocking?
|
|
15
16
|
# * 'requestId'<~String> - Id of request
|
16
17
|
# * 'return'<~Boolean> - success?
|
17
18
|
def delete_volume(volume_id)
|
18
|
-
request(
|
19
|
-
'Action'
|
20
|
-
'VolumeId'
|
21
|
-
|
19
|
+
request(
|
20
|
+
'Action' => 'DeleteVolume',
|
21
|
+
'VolumeId' => volume_id,
|
22
|
+
:parser => Fog::Parsers::AWS::EC2::Basic.new
|
23
|
+
)
|
22
24
|
end
|
23
25
|
|
24
26
|
end
|
25
|
-
end
|
26
|
-
end
|
27
27
|
|
28
|
-
|
29
|
-
|
30
|
-
module Fog
|
31
|
-
module AWS
|
32
|
-
class EC2
|
28
|
+
class Mock
|
33
29
|
|
34
30
|
def delete_volume(volume_id)
|
35
31
|
response = Excon::Response.new
|
36
|
-
if volume =
|
37
|
-
|
32
|
+
if volume = @data[:volumes][volume_id]
|
33
|
+
@data[:deleted_at][volume_id] = Time.now
|
38
34
|
volume['status'] = 'deleting'
|
39
35
|
response.status = 200
|
40
36
|
response.body = {
|
@@ -51,5 +47,4 @@ else
|
|
51
47
|
end
|
52
48
|
end
|
53
49
|
end
|
54
|
-
|
55
50
|
end
|
@@ -1,8 +1,9 @@
|
|
1
|
-
|
1
|
+
module Fog
|
2
|
+
module AWS
|
3
|
+
module EC2
|
4
|
+
class Real
|
2
5
|
|
3
|
-
|
4
|
-
module AWS
|
5
|
-
class EC2
|
6
|
+
require 'fog/aws/parsers/ec2/describe_addresses'
|
6
7
|
|
7
8
|
# Describe all or specified IP addresses.
|
8
9
|
#
|
@@ -19,27 +20,22 @@ unless Fog.mocking?
|
|
19
20
|
def describe_addresses(public_ip = [])
|
20
21
|
params = AWS.indexed_param('PublicIp', public_ip)
|
21
22
|
request({
|
22
|
-
'Action'
|
23
|
-
|
23
|
+
'Action' => 'DescribeAddresses',
|
24
|
+
:parser => Fog::Parsers::AWS::EC2::DescribeAddresses.new
|
25
|
+
}.merge!(params))
|
24
26
|
end
|
25
27
|
|
26
28
|
end
|
27
|
-
end
|
28
|
-
end
|
29
29
|
|
30
|
-
|
31
|
-
|
32
|
-
module Fog
|
33
|
-
module AWS
|
34
|
-
class EC2
|
30
|
+
class Mock
|
35
31
|
|
36
32
|
def describe_addresses(public_ip = [])
|
37
33
|
response = Excon::Response.new
|
38
34
|
public_ip = [*public_ip]
|
39
35
|
if public_ip != []
|
40
|
-
addresses_set =
|
36
|
+
addresses_set = @data[:addresses].reject {|key, value| !public_ip.include?(key)}.values
|
41
37
|
else
|
42
|
-
addresses_set =
|
38
|
+
addresses_set = @data[:addresses].values
|
43
39
|
end
|
44
40
|
if public_ip.length == 0 || public_ip.length == addresses_set.length
|
45
41
|
response.status = 200
|
@@ -57,5 +53,4 @@ else
|
|
57
53
|
end
|
58
54
|
end
|
59
55
|
end
|
60
|
-
|
61
56
|
end
|
@@ -1,8 +1,9 @@
|
|
1
|
-
|
1
|
+
module Fog
|
2
|
+
module AWS
|
3
|
+
module EC2
|
4
|
+
class Real
|
2
5
|
|
3
|
-
|
4
|
-
module AWS
|
5
|
-
class EC2
|
6
|
+
require 'fog/aws/parsers/ec2/describe_availability_zones'
|
6
7
|
|
7
8
|
# Describe all or specified availability zones
|
8
9
|
#
|
@@ -20,19 +21,14 @@ unless Fog.mocking?
|
|
20
21
|
def describe_availability_zones(zone_name = [])
|
21
22
|
params = AWS.indexed_param('ZoneName', zone_name)
|
22
23
|
request({
|
23
|
-
'Action'
|
24
|
-
|
24
|
+
'Action' => 'DescribeAvailabilityZones',
|
25
|
+
:parser => Fog::Parsers::AWS::EC2::DescribeAvailabilityZones.new
|
26
|
+
}.merge!(params))
|
25
27
|
end
|
26
28
|
|
27
29
|
end
|
28
|
-
end
|
29
|
-
end
|
30
30
|
|
31
|
-
|
32
|
-
|
33
|
-
module Fog
|
34
|
-
module AWS
|
35
|
-
class EC2
|
31
|
+
class Mock
|
36
32
|
|
37
33
|
def describe_availability_zones(zone_name = [])
|
38
34
|
response = Excon::Response.new
|
@@ -60,5 +56,4 @@ else
|
|
60
56
|
end
|
61
57
|
end
|
62
58
|
end
|
63
|
-
|
64
59
|
end
|
@@ -1,8 +1,9 @@
|
|
1
|
-
|
1
|
+
module Fog
|
2
|
+
module AWS
|
3
|
+
module EC2
|
4
|
+
class Real
|
2
5
|
|
3
|
-
|
4
|
-
module AWS
|
5
|
-
class EC2
|
6
|
+
require 'fog/aws/parsers/ec2/describe_images'
|
6
7
|
|
7
8
|
# Describe all or specified images.
|
8
9
|
#
|
@@ -34,19 +35,14 @@ unless Fog.mocking?
|
|
34
35
|
options.merge!(AWS.indexed_param('ImageId', image_id))
|
35
36
|
end
|
36
37
|
request({
|
37
|
-
'Action'
|
38
|
-
|
38
|
+
'Action' => 'DescribeImages',
|
39
|
+
:parser => Fog::Parsers::AWS::EC2::DescribeImages.new
|
40
|
+
}.merge!(options))
|
39
41
|
end
|
40
42
|
|
41
43
|
end
|
42
|
-
end
|
43
|
-
end
|
44
44
|
|
45
|
-
|
46
|
-
|
47
|
-
module Fog
|
48
|
-
module AWS
|
49
|
-
class EC2
|
45
|
+
class Mock
|
50
46
|
|
51
47
|
def describe_images(options = {})
|
52
48
|
response = Excon::Response.new
|
@@ -67,5 +63,4 @@ else
|
|
67
63
|
end
|
68
64
|
end
|
69
65
|
end
|
70
|
-
|
71
66
|
end
|
@@ -1,8 +1,9 @@
|
|
1
|
-
|
1
|
+
module Fog
|
2
|
+
module AWS
|
3
|
+
module EC2
|
4
|
+
class Real
|
2
5
|
|
3
|
-
|
4
|
-
module AWS
|
5
|
-
class EC2
|
6
|
+
require 'fog/aws/parsers/ec2/describe_instances'
|
6
7
|
|
7
8
|
# Describe all or specified instances
|
8
9
|
#
|
@@ -52,31 +53,26 @@ unless Fog.mocking?
|
|
52
53
|
def describe_instances(instance_id = [])
|
53
54
|
params = AWS.indexed_param('InstanceId', instance_id)
|
54
55
|
request({
|
55
|
-
'Action'
|
56
|
-
|
56
|
+
'Action' => 'DescribeInstances',
|
57
|
+
:parser => Fog::Parsers::AWS::EC2::DescribeInstances.new
|
58
|
+
}.merge!(params))
|
57
59
|
end
|
58
60
|
|
59
61
|
end
|
60
|
-
end
|
61
|
-
end
|
62
62
|
|
63
|
-
|
64
|
-
|
65
|
-
module Fog
|
66
|
-
module AWS
|
67
|
-
class EC2
|
63
|
+
class Mock
|
68
64
|
|
69
65
|
def describe_instances(instance_id = {})
|
70
66
|
response = Excon::Response.new
|
71
67
|
instance_id = [*instance_id]
|
72
68
|
if instance_id != []
|
73
|
-
instance_set =
|
69
|
+
instance_set = @data[:instances].reject {|key,value| !instance_id.include?(key)}.values
|
74
70
|
else
|
75
|
-
instance_set =
|
71
|
+
instance_set = @data[:instances].values
|
76
72
|
end
|
77
73
|
|
78
74
|
instance_set.each do |instance|
|
79
|
-
case instance['instanceState']
|
75
|
+
case instance['instanceState']['name']
|
80
76
|
when 'pending'
|
81
77
|
if Time.now - instance['launchTime'] > 2
|
82
78
|
instance['instanceState'] = { :code => 16, :name => 'running' }
|
@@ -84,13 +80,13 @@ else
|
|
84
80
|
when 'rebooting'
|
85
81
|
instance['instanceState'] = { :code => 16, :name => 'running' }
|
86
82
|
when 'shutting-down'
|
87
|
-
if Time.now -
|
83
|
+
if Time.now - @data[:deleted_at][instance['instanceId']] > 2
|
88
84
|
instance['instanceState'] = { :code => 16, :name => 'terminating' }
|
89
85
|
end
|
90
86
|
when 'terminating'
|
91
|
-
if Time.now -
|
92
|
-
|
93
|
-
|
87
|
+
if Time.now - @data[:deleted_at][instance['instanceId']] > 4
|
88
|
+
@data[:deleted_at].delete(instance['instanceId'])
|
89
|
+
@data[:instances].delete(instance['instanceId'])
|
94
90
|
end
|
95
91
|
end
|
96
92
|
end
|
@@ -106,7 +102,7 @@ else
|
|
106
102
|
'ownerId' => instance['ownerId'],
|
107
103
|
'reservationId' => instance['reservationId']
|
108
104
|
}
|
109
|
-
reservation_set[instance['reservationId']]['instancesSet'] << instance.reject{|key,value| !['amiLaunchIndex', 'dnsName', 'imageId', 'instanceId', 'instanceState', 'instanceType', 'kernelId', 'keyName', 'launchTime', 'monitoring', 'placement', 'privateDnsName', 'productCodes', 'ramdiskId', 'reason'].include?(key)}
|
105
|
+
reservation_set[instance['reservationId']]['instancesSet'] << instance.reject{|key,value| !['amiLaunchIndex', 'blockDeviceMapping', 'dnsName', 'imageId', 'instanceId', 'instanceState', 'instanceType', 'kernelId', 'keyName', 'launchTime', 'monitoring', 'placement', 'privateDnsName', 'productCodes', 'ramdiskId', 'reason', 'rootDeviceType'].include?(key)}
|
110
106
|
end
|
111
107
|
|
112
108
|
response.body = {
|
@@ -123,5 +119,4 @@ else
|
|
123
119
|
end
|
124
120
|
end
|
125
121
|
end
|
126
|
-
|
127
122
|
end
|
@@ -1,8 +1,9 @@
|
|
1
|
-
|
1
|
+
module Fog
|
2
|
+
module AWS
|
3
|
+
module EC2
|
4
|
+
class Real
|
2
5
|
|
3
|
-
|
4
|
-
module AWS
|
5
|
-
class EC2
|
6
|
+
require 'fog/aws/parsers/ec2/describe_key_pairs'
|
6
7
|
|
7
8
|
# Describe all or specified key pairs
|
8
9
|
#
|
@@ -19,27 +20,22 @@ unless Fog.mocking?
|
|
19
20
|
def describe_key_pairs(key_name = [])
|
20
21
|
params = AWS.indexed_param('KeyName', key_name)
|
21
22
|
request({
|
22
|
-
'Action'
|
23
|
-
|
23
|
+
'Action' => 'DescribeKeyPairs',
|
24
|
+
:parser => Fog::Parsers::AWS::EC2::DescribeKeyPairs.new
|
25
|
+
}.merge!(params))
|
24
26
|
end
|
25
27
|
|
26
28
|
end
|
27
|
-
end
|
28
|
-
end
|
29
29
|
|
30
|
-
|
31
|
-
|
32
|
-
module Fog
|
33
|
-
module AWS
|
34
|
-
class EC2
|
30
|
+
class Mock
|
35
31
|
|
36
32
|
def describe_key_pairs(key_name = [])
|
37
33
|
response = Excon::Response.new
|
38
34
|
key_name = [*key_name]
|
39
35
|
if key_name != []
|
40
|
-
key_set =
|
36
|
+
key_set = @data[:key_pairs].reject {|key, value| !key_name.include?(key)}.values
|
41
37
|
else
|
42
|
-
key_set =
|
38
|
+
key_set = @data[:key_pairs].values
|
43
39
|
end
|
44
40
|
if key_name.length == 0 || key_name.length == key_set.length
|
45
41
|
response.status = 200
|
@@ -59,5 +55,4 @@ else
|
|
59
55
|
end
|
60
56
|
end
|
61
57
|
end
|
62
|
-
|
63
58
|
end
|
@@ -1,8 +1,9 @@
|
|
1
|
-
|
1
|
+
module Fog
|
2
|
+
module AWS
|
3
|
+
module EC2
|
4
|
+
class Real
|
2
5
|
|
3
|
-
|
4
|
-
module AWS
|
5
|
-
class EC2
|
6
|
+
require 'fog/aws/parsers/ec2/describe_regions'
|
6
7
|
|
7
8
|
# Describe all or specified regions
|
8
9
|
#
|
@@ -19,19 +20,14 @@ unless Fog.mocking?
|
|
19
20
|
def describe_regions(region_name = [])
|
20
21
|
params = AWS.indexed_param('RegionName', region_name)
|
21
22
|
request({
|
22
|
-
'Action'
|
23
|
-
|
23
|
+
'Action' => 'DescribeRegions',
|
24
|
+
:parser => Fog::Parsers::AWS::EC2::DescribeRegions.new
|
25
|
+
}.merge!(params))
|
24
26
|
end
|
25
27
|
|
26
28
|
end
|
27
|
-
end
|
28
|
-
end
|
29
29
|
|
30
|
-
|
31
|
-
|
32
|
-
module Fog
|
33
|
-
module AWS
|
34
|
-
class EC2
|
30
|
+
class Mock
|
35
31
|
|
36
32
|
def describe_regions(region_name = [])
|
37
33
|
response = Excon::Response.new
|
@@ -57,5 +53,4 @@ else
|
|
57
53
|
end
|
58
54
|
end
|
59
55
|
end
|
60
|
-
|
61
56
|
end
|
@@ -1,8 +1,9 @@
|
|
1
|
-
|
1
|
+
module Fog
|
2
|
+
module AWS
|
3
|
+
module EC2
|
4
|
+
class Real
|
2
5
|
|
3
|
-
|
4
|
-
module AWS
|
5
|
-
class EC2
|
6
|
+
require 'fog/aws/parsers/ec2/describe_reserved_instances'
|
6
7
|
|
7
8
|
# Describe all or specified reserved instances
|
8
9
|
#
|
@@ -27,19 +28,14 @@ unless Fog.mocking?
|
|
27
28
|
def describe_reserved_instances(reserved_instances_id = [])
|
28
29
|
params = AWS.indexed_param('ReservedInstancesId', reserved_instances_id)
|
29
30
|
request({
|
30
|
-
'Action'
|
31
|
-
|
31
|
+
'Action' => 'DescribeReservedInstances',
|
32
|
+
:parser => Fog::Parsers::AWS::EC2::DescribeReservedInstances.new
|
33
|
+
}.merge!(params))
|
32
34
|
end
|
33
35
|
|
34
36
|
end
|
35
|
-
end
|
36
|
-
end
|
37
37
|
|
38
|
-
|
39
|
-
|
40
|
-
module Fog
|
41
|
-
module AWS
|
42
|
-
class EC2
|
38
|
+
class Mock
|
43
39
|
|
44
40
|
def describe_reserved_instances(reserved_instances_id = {})
|
45
41
|
raise MockNotImplemented.new("Contributions welcome!")
|
@@ -48,5 +44,4 @@ else
|
|
48
44
|
end
|
49
45
|
end
|
50
46
|
end
|
51
|
-
|
52
47
|
end
|
@@ -1,8 +1,9 @@
|
|
1
|
-
|
1
|
+
module Fog
|
2
|
+
module AWS
|
3
|
+
module EC2
|
4
|
+
class Real
|
2
5
|
|
3
|
-
|
4
|
-
module AWS
|
5
|
-
class EC2
|
6
|
+
require 'fog/aws/parsers/ec2/describe_security_groups'
|
6
7
|
|
7
8
|
# Describe all or specified security groups
|
8
9
|
#
|
@@ -29,27 +30,22 @@ unless Fog.mocking?
|
|
29
30
|
def describe_security_groups(group_name = [])
|
30
31
|
params = AWS.indexed_param('GroupName', group_name)
|
31
32
|
request({
|
32
|
-
'Action'
|
33
|
-
|
33
|
+
'Action' => 'DescribeSecurityGroups',
|
34
|
+
:parser => Fog::Parsers::AWS::EC2::DescribeSecurityGroups.new
|
35
|
+
}.merge!(params))
|
34
36
|
end
|
35
37
|
|
36
38
|
end
|
37
|
-
end
|
38
|
-
end
|
39
39
|
|
40
|
-
|
41
|
-
|
42
|
-
module Fog
|
43
|
-
module AWS
|
44
|
-
class EC2
|
40
|
+
class Mock
|
45
41
|
|
46
42
|
def describe_security_groups(group_name = [])
|
47
43
|
response = Excon::Response.new
|
48
44
|
group_name = [*group_name]
|
49
45
|
if group_name != []
|
50
|
-
security_group_info =
|
46
|
+
security_group_info = @data[:security_groups].reject {|key, value| !group_name.include?(key)}.values
|
51
47
|
else
|
52
|
-
security_group_info =
|
48
|
+
security_group_info = @data[:security_groups].values
|
53
49
|
end
|
54
50
|
if group_name.length == 0 || group_name.length == security_group_info.length
|
55
51
|
response.status = 200
|
@@ -67,5 +63,4 @@ else
|
|
67
63
|
end
|
68
64
|
end
|
69
65
|
end
|
70
|
-
|
71
66
|
end
|