fog 0.0.56 → 0.0.57
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 +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
|