fog 1.31.0 → 1.32.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +53 -0
- data/Rakefile +5 -5
- data/fog.gemspec +6 -5
- data/lib/fog/cloudstack/models/compute/network.rb +1 -0
- data/lib/fog/openstack/compute.rb +41 -98
- data/lib/fog/openstack/core.rb +257 -118
- data/lib/fog/openstack/identity.rb +4 -0
- data/lib/fog/openstack/identity_v3.rb +10 -41
- data/lib/fog/openstack/models/baremetal/chassis_collection.rb +10 -4
- data/lib/fog/openstack/models/baremetal/drivers.rb +4 -2
- data/lib/fog/openstack/models/baremetal/nodes.rb +10 -4
- data/lib/fog/openstack/models/baremetal/ports.rb +10 -4
- data/lib/fog/openstack/models/compute/addresses.rb +4 -2
- data/lib/fog/openstack/models/compute/aggregate.rb +64 -0
- data/lib/fog/openstack/models/compute/aggregates.rb +28 -0
- data/lib/fog/openstack/models/compute/flavors.rb +5 -0
- data/lib/fog/openstack/models/compute/hosts.rb +4 -2
- data/lib/fog/openstack/models/compute/images.rb +2 -0
- data/lib/fog/openstack/models/compute/key_pairs.rb +4 -2
- data/lib/fog/openstack/models/compute/security_groups.rb +4 -2
- data/lib/fog/openstack/models/compute/servers.rb +2 -0
- data/lib/fog/openstack/models/compute/services.rb +7 -4
- data/lib/fog/openstack/models/compute/snapshots.rb +15 -2
- data/lib/fog/openstack/models/compute/volumes.rb +15 -2
- data/lib/fog/openstack/models/identity_v2/ec2_credentials.rb +6 -3
- data/lib/fog/openstack/models/identity_v2/roles.rb +5 -3
- data/lib/fog/openstack/models/identity_v2/tenants.rb +5 -3
- data/lib/fog/openstack/models/identity_v2/users.rb +7 -3
- data/lib/fog/openstack/models/identity_v3/domains.rb +7 -6
- data/lib/fog/openstack/models/identity_v3/endpoints.rb +5 -4
- data/lib/fog/openstack/models/identity_v3/groups.rb +5 -3
- data/lib/fog/openstack/models/identity_v3/os_credentials.rb +5 -3
- data/lib/fog/openstack/models/identity_v3/policies.rb +5 -3
- data/lib/fog/openstack/models/identity_v3/project.rb +1 -0
- data/lib/fog/openstack/models/identity_v3/projects.rb +7 -5
- data/lib/fog/openstack/models/identity_v3/role_assignments.rb +10 -5
- data/lib/fog/openstack/models/identity_v3/roles.rb +11 -5
- data/lib/fog/openstack/models/identity_v3/services.rb +5 -3
- data/lib/fog/openstack/models/identity_v3/users.rb +4 -2
- data/lib/fog/openstack/models/image/images.rb +10 -4
- data/lib/fog/openstack/models/network/floating_ips.rb +2 -0
- data/lib/fog/openstack/models/network/lb_health_monitors.rb +2 -0
- data/lib/fog/openstack/models/network/lb_members.rb +2 -0
- data/lib/fog/openstack/models/network/lb_pools.rb +2 -0
- data/lib/fog/openstack/models/network/lb_vips.rb +2 -0
- data/lib/fog/openstack/models/network/networks.rb +2 -0
- data/lib/fog/openstack/models/network/port.rb +1 -0
- data/lib/fog/openstack/models/network/ports.rb +2 -0
- data/lib/fog/openstack/models/network/routers.rb +2 -0
- data/lib/fog/openstack/models/network/security_group_rules.rb +2 -0
- data/lib/fog/openstack/models/network/security_groups.rb +2 -0
- data/lib/fog/openstack/models/network/subnets.rb +2 -0
- data/lib/fog/openstack/models/orchestration/events.rb +10 -6
- data/lib/fog/openstack/models/orchestration/resources.rb +4 -2
- data/lib/fog/openstack/models/orchestration/stack.rb +1 -1
- data/lib/fog/openstack/models/orchestration/stacks.rb +9 -1
- data/lib/fog/openstack/models/planning/plans.rb +4 -2
- data/lib/fog/openstack/models/planning/roles.rb +5 -2
- data/lib/fog/openstack/models/storage/directories.rb +4 -2
- data/lib/fog/openstack/models/storage/files.rb +2 -0
- data/lib/fog/openstack/models/volume/volume.rb +1 -0
- data/lib/fog/openstack/models/volume/volume_types.rb +2 -0
- data/lib/fog/openstack/models/volume/volumes.rb +13 -2
- data/lib/fog/openstack/network.rb +18 -97
- data/lib/fog/openstack/orchestration.rb +2 -0
- data/lib/fog/openstack/requests/baremetal/list_chassis.rb +2 -8
- data/lib/fog/openstack/requests/baremetal/list_chassis_detailed.rb +3 -9
- data/lib/fog/openstack/requests/baremetal/list_drivers.rb +4 -3
- data/lib/fog/openstack/requests/baremetal/list_nodes.rb +3 -9
- data/lib/fog/openstack/requests/baremetal/list_nodes_detailed.rb +3 -9
- data/lib/fog/openstack/requests/baremetal/list_ports.rb +3 -9
- data/lib/fog/openstack/requests/baremetal/list_ports_detailed.rb +3 -9
- data/lib/fog/openstack/requests/compute/add_aggregate_host.rb +30 -0
- data/lib/fog/openstack/requests/compute/create_aggregate.rb +42 -0
- data/lib/fog/openstack/requests/compute/delete_aggregate.rb +28 -0
- data/lib/fog/openstack/requests/compute/get_aggregate.rb +26 -0
- data/lib/fog/openstack/requests/compute/list_aggregates.rb +36 -0
- data/lib/fog/openstack/requests/compute/list_all_addresses.rb +4 -3
- data/lib/fog/openstack/requests/compute/list_flavors.rb +6 -5
- data/lib/fog/openstack/requests/compute/list_hosts.rb +4 -3
- data/lib/fog/openstack/requests/compute/list_key_pairs.rb +4 -3
- data/lib/fog/openstack/requests/compute/list_security_groups.rb +15 -2
- data/lib/fog/openstack/requests/compute/list_snapshots.rb +18 -4
- data/lib/fog/openstack/requests/compute/list_snapshots_detail.rb +27 -0
- data/lib/fog/openstack/requests/compute/list_volumes.rb +18 -4
- data/lib/fog/openstack/requests/compute/list_volumes_detail.rb +25 -0
- data/lib/fog/openstack/requests/compute/remove_aggregate_host.rb +30 -0
- data/lib/fog/openstack/requests/compute/update_aggregate.rb +37 -0
- data/lib/fog/openstack/requests/compute/update_aggregate_metadata.rb +30 -0
- data/lib/fog/openstack/requests/identity_v2/list_ec2_credentials.rb +23 -7
- data/lib/fog/openstack/requests/identity_v2/list_roles.rb +5 -4
- data/lib/fog/openstack/requests/identity_v2/list_tenants.rb +14 -8
- data/lib/fog/openstack/requests/identity_v2/list_users.rb +16 -4
- data/lib/fog/openstack/requests/identity_v3/auth_domains.rb +2 -7
- data/lib/fog/openstack/requests/identity_v3/auth_projects.rb +6 -11
- data/lib/fog/openstack/requests/identity_v3/list_domains.rb +7 -14
- data/lib/fog/openstack/requests/identity_v3/list_endpoints.rb +7 -14
- data/lib/fog/openstack/requests/identity_v3/list_group_users.rb +5 -13
- data/lib/fog/openstack/requests/identity_v3/list_groups.rb +14 -24
- data/lib/fog/openstack/requests/identity_v3/list_os_credentials.rb +7 -12
- data/lib/fog/openstack/requests/identity_v3/list_policies.rb +7 -11
- data/lib/fog/openstack/requests/identity_v3/list_projects.rb +14 -25
- data/lib/fog/openstack/requests/identity_v3/list_role_assignments.rb +21 -17
- data/lib/fog/openstack/requests/identity_v3/list_roles.rb +7 -25
- data/lib/fog/openstack/requests/identity_v3/list_services.rb +7 -13
- data/lib/fog/openstack/requests/identity_v3/list_users.rb +7 -15
- data/lib/fog/openstack/requests/image/list_public_images.rb +4 -3
- data/lib/fog/openstack/requests/image/list_public_images_detailed.rb +9 -6
- data/lib/fog/openstack/requests/network/create_port.rb +12 -11
- data/lib/fog/openstack/requests/network/create_subnet.rb +7 -7
- data/lib/fog/openstack/requests/network/get_port.rb +1 -0
- data/lib/fog/openstack/requests/network/update_port.rb +7 -6
- data/lib/fog/openstack/requests/orchestration/list_events.rb +46 -0
- data/lib/fog/openstack/requests/orchestration/list_resource_events.rb +7 -2
- data/lib/fog/openstack/requests/orchestration/list_resource_types.rb +3 -2
- data/lib/fog/openstack/requests/orchestration/list_resources.rb +27 -4
- data/lib/fog/openstack/requests/orchestration/list_stack_data.rb +2 -2
- data/lib/fog/openstack/requests/orchestration/list_stack_data_detailed.rb +49 -0
- data/lib/fog/openstack/requests/orchestration/list_stack_events.rb +6 -2
- data/lib/fog/openstack/requests/planning/list_plans.rb +4 -3
- data/lib/fog/openstack/requests/planning/list_roles.rb +3 -9
- data/lib/fog/openstack/requests/volume/create_volume.rb +2 -1
- data/lib/fog/openstack/requests/volume/list_snapshots.rb +16 -3
- data/lib/fog/openstack/requests/volume/list_snapshots_detailed.rb +27 -0
- data/lib/fog/openstack/requests/volume/list_volume_types.rb +6 -6
- data/lib/fog/openstack/requests/volume/list_volumes.rb +20 -7
- data/lib/fog/openstack/requests/volume/list_volumes_detailed.rb +49 -0
- data/lib/fog/openstack/volume.rb +1 -0
- data/lib/fog/ovirt/models/compute/server.rb +1 -0
- data/lib/fog/ovirt/models/compute/template.rb +1 -0
- data/lib/fog/rackspace/docs/queues.md +2 -2
- data/lib/fog/rackspace/models/block_storage/snapshot.rb +5 -1
- data/lib/fog/version.rb +1 -1
- data/lib/fog/vsphere/requests/compute/vm_clone.rb +1 -1
- data/lib/tasks/changelog_task.rb +1 -0
- data/spec/fog/openstack/identity_v3/authv3_a.yml +55 -35
- data/spec/fog/openstack/identity_v3/authv3_b.yml +55 -35
- data/spec/fog/openstack/identity_v3/authv3_c.yml +159 -33
- data/spec/fog/openstack/identity_v3/authv3_project.yml +79 -35
- data/spec/fog/openstack/identity_v3/authv3_token.yml +377 -76
- data/spec/fog/openstack/identity_v3/authv3_unscoped.yml +298 -155
- data/spec/fog/openstack/identity_v3/authv3_unscoped_reauth.yml +371 -0
- data/spec/fog/openstack/identity_v3/idv3.yml +456 -41
- data/spec/fog/openstack/identity_v3/idv3_credential.yml +36 -30
- data/spec/fog/openstack/identity_v3/idv3_credential_crud.yml +223 -190
- data/spec/fog/openstack/identity_v3/idv3_domain.yml +64 -58
- data/spec/fog/openstack/identity_v3/idv3_domain_crud.yml +176 -393
- data/spec/fog/openstack/identity_v3/idv3_domain_group_roles_mutation.yml +277 -379
- data/spec/fog/openstack/identity_v3/idv3_domain_roles_mutation.yml +177 -204
- data/spec/fog/openstack/identity_v3/idv3_endpoint.yml +492 -174
- data/spec/fog/openstack/identity_v3/idv3_endpoints_crud.yml +669 -435
- data/spec/fog/openstack/identity_v3/idv3_group_crud_mutation.yml +378 -298
- data/spec/fog/openstack/identity_v3/idv3_other_region.yml +187 -0
- data/spec/fog/openstack/identity_v3/idv3_policy.yml +54 -46
- data/spec/fog/openstack/identity_v3/idv3_policy_crud.yml +137 -117
- data/spec/fog/openstack/identity_v3/idv3_project.yml +116 -86
- data/spec/fog/openstack/identity_v3/idv3_project_crud.yml +179 -387
- data/spec/fog/openstack/identity_v3/idv3_project_group_user_roles_mutation.yml +415 -556
- data/spec/fog/openstack/identity_v3/idv3_role.yml +108 -74
- data/spec/fog/openstack/identity_v3/idv3_role_crud.yml +160 -368
- data/spec/fog/openstack/identity_v3/idv3_service.yml +156 -94
- data/spec/fog/openstack/identity_v3/idv3_services_crud.yml +250 -306
- data/spec/fog/openstack/identity_v3/idv3_token.yml +195 -101
- data/spec/fog/openstack/identity_v3/idv3_user_crud.yml +276 -193
- data/spec/fog/openstack/identity_v3/idv3_users.yml +149 -219
- data/spec/fog/openstack/identity_v3_spec.rb +502 -474
- data/spec/fog/openstack/volume/volume_common_setup.yml +76 -0
- data/spec/fog/openstack/volume/volume_crud.yml +561 -0
- data/spec/fog/openstack/volume/volume_type_read.yml +120 -0
- data/spec/fog/openstack/volume_spec.rb +165 -0
- data/tests/openstack/requests/compute/aggregate_tests.rb +59 -0
- data/tests/openstack/requests/network/port_tests.rb +12 -11
- data/tests/openstack/requests/orchestration/stack_tests.rb +25 -0
- metadata +56 -14
- data/spec/fog/openstack/identity_v3/idv2_unscoped_token_v3.yml +0 -467
@@ -2,24 +2,18 @@ module Fog
|
|
2
2
|
module Baremetal
|
3
3
|
class OpenStack
|
4
4
|
class Real
|
5
|
-
def list_nodes_detailed(
|
6
|
-
if parameters
|
7
|
-
query = parameters.each { |k, v| parameters[k] = URI::encode(v) }
|
8
|
-
else
|
9
|
-
query = {}
|
10
|
-
end
|
11
|
-
|
5
|
+
def list_nodes_detailed(options = {})
|
12
6
|
request(
|
13
7
|
:expects => [200, 204],
|
14
8
|
:method => 'GET',
|
15
9
|
:path => 'nodes/detail',
|
16
|
-
:query =>
|
10
|
+
:query => options
|
17
11
|
)
|
18
12
|
end
|
19
13
|
end # class Real
|
20
14
|
|
21
15
|
class Mock
|
22
|
-
def list_nodes_detailed(
|
16
|
+
def list_nodes_detailed(options = {})
|
23
17
|
response = Excon::Response.new
|
24
18
|
response.status = [200, 204][rand(1)]
|
25
19
|
response.body = { "nodes" => self.data[:nodes] }
|
@@ -2,24 +2,18 @@ module Fog
|
|
2
2
|
module Baremetal
|
3
3
|
class OpenStack
|
4
4
|
class Real
|
5
|
-
def list_ports(
|
6
|
-
if parameters
|
7
|
-
query = parameters.each { |k, v| parameters[k] = URI::encode(v) }
|
8
|
-
else
|
9
|
-
query = {}
|
10
|
-
end
|
11
|
-
|
5
|
+
def list_ports(options = {})
|
12
6
|
request(
|
13
7
|
:expects => [200, 204],
|
14
8
|
:method => 'GET',
|
15
9
|
:path => 'ports',
|
16
|
-
:query =>
|
10
|
+
:query => options
|
17
11
|
)
|
18
12
|
end
|
19
13
|
end # class Real
|
20
14
|
|
21
15
|
class Mock
|
22
|
-
def list_ports(
|
16
|
+
def list_ports(options = {})
|
23
17
|
response = Excon::Response.new
|
24
18
|
response.status = [200, 204][rand(1)]
|
25
19
|
response.body = {
|
@@ -2,24 +2,18 @@ module Fog
|
|
2
2
|
module Baremetal
|
3
3
|
class OpenStack
|
4
4
|
class Real
|
5
|
-
def list_ports_detailed(
|
6
|
-
if parameters
|
7
|
-
query = parameters.each { |k, v| parameters[k] = URI::encode(v) }
|
8
|
-
else
|
9
|
-
query = {}
|
10
|
-
end
|
11
|
-
|
5
|
+
def list_ports_detailed(options = {})
|
12
6
|
request(
|
13
7
|
:expects => [200, 204],
|
14
8
|
:method => 'GET',
|
15
9
|
:path => 'ports/detail',
|
16
|
-
:query =>
|
10
|
+
:query => options
|
17
11
|
)
|
18
12
|
end
|
19
13
|
end # class Real
|
20
14
|
|
21
15
|
class Mock
|
22
|
-
def list_ports_detailed(
|
16
|
+
def list_ports_detailed(options = {})
|
23
17
|
response = Excon::Response.new
|
24
18
|
response.status = [200, 204][rand(1)]
|
25
19
|
response.body = { "ports" => self.data[:ports] }
|
@@ -0,0 +1,30 @@
|
|
1
|
+
module Fog
|
2
|
+
module Compute
|
3
|
+
class OpenStack
|
4
|
+
class Real
|
5
|
+
def add_aggregate_host(uuid, host_uuid)
|
6
|
+
data = {'add_host' => {'host' => host_uuid}}
|
7
|
+
request(
|
8
|
+
:body => Fog::JSON.encode(data),
|
9
|
+
:expects => [200],
|
10
|
+
:method => 'POST',
|
11
|
+
:path => "os-aggregates/#{uuid}/action"
|
12
|
+
)
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
class Mock
|
17
|
+
def add_aggregate_host(uuid, host_uuid)
|
18
|
+
response = Excon::Response.new
|
19
|
+
response.status = 200
|
20
|
+
response.headers = {
|
21
|
+
"Content-Type" => "text/html; charset=UTF-8",
|
22
|
+
"Content-Length" => "0",
|
23
|
+
"Date" => Date.new
|
24
|
+
}
|
25
|
+
response
|
26
|
+
end
|
27
|
+
end # mock
|
28
|
+
end # openstack
|
29
|
+
end # compute
|
30
|
+
end # fog
|
@@ -0,0 +1,42 @@
|
|
1
|
+
module Fog
|
2
|
+
module Compute
|
3
|
+
class OpenStack
|
4
|
+
class Real
|
5
|
+
def create_aggregate(name, options = {})
|
6
|
+
data = {
|
7
|
+
'aggregate' => {
|
8
|
+
'name' => name
|
9
|
+
}
|
10
|
+
}
|
11
|
+
|
12
|
+
vanilla_options = ["availability_zone"]
|
13
|
+
|
14
|
+
vanilla_options.select{|o| options[o]}.each do |key|
|
15
|
+
data['aggregate'][key] = options[key]
|
16
|
+
end
|
17
|
+
|
18
|
+
request(
|
19
|
+
:body => Fog::JSON.encode(data),
|
20
|
+
:expects => [200],
|
21
|
+
:method => 'POST',
|
22
|
+
:path => "os-aggregates"
|
23
|
+
)
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
class Mock
|
28
|
+
def create_aggregate(name, options = {})
|
29
|
+
response = Excon::Response.new
|
30
|
+
response.status = 200
|
31
|
+
response.headers = {
|
32
|
+
"Content-Type" => "text/html; charset=UTF-8",
|
33
|
+
"Content-Length" => "0",
|
34
|
+
"Date" => Date.new
|
35
|
+
}
|
36
|
+
response.body = {'aggregate' => self.data[:aggregates].first}
|
37
|
+
response
|
38
|
+
end
|
39
|
+
end # mock
|
40
|
+
end # openstack
|
41
|
+
end # compute
|
42
|
+
end # fog
|
@@ -0,0 +1,28 @@
|
|
1
|
+
module Fog
|
2
|
+
module Compute
|
3
|
+
class OpenStack
|
4
|
+
class Real
|
5
|
+
def delete_aggregate(uuid)
|
6
|
+
request(
|
7
|
+
:expects => [200, 202, 204],
|
8
|
+
:method => 'DELETE',
|
9
|
+
:path => "os-aggregates/#{uuid}"
|
10
|
+
)
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
class Mock
|
15
|
+
def delete_aggregate(uuid)
|
16
|
+
response = Excon::Response.new
|
17
|
+
response.status = 200
|
18
|
+
response.headers = {
|
19
|
+
"Content-Type" => "text/html; charset=UTF-8",
|
20
|
+
"Content-Length" => "0",
|
21
|
+
"Date" => Date.new
|
22
|
+
}
|
23
|
+
response
|
24
|
+
end
|
25
|
+
end # mock
|
26
|
+
end # openstack
|
27
|
+
end # compute
|
28
|
+
end # fog
|
@@ -0,0 +1,26 @@
|
|
1
|
+
module Fog
|
2
|
+
module Compute
|
3
|
+
class OpenStack
|
4
|
+
class Real
|
5
|
+
def get_aggregate(uuid)
|
6
|
+
request(
|
7
|
+
:expects => [200],
|
8
|
+
:method => 'GET',
|
9
|
+
:path => "os-aggregates/#{uuid}"
|
10
|
+
)
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
class Mock
|
15
|
+
def get_aggregate(uuid)
|
16
|
+
response = Excon::Response.new
|
17
|
+
response.status = 2040
|
18
|
+
response.body = {'aggregate' => self.data[:aggregates].first.merge({
|
19
|
+
"hosts" => []})}
|
20
|
+
|
21
|
+
response
|
22
|
+
end
|
23
|
+
end # mock
|
24
|
+
end # openstack
|
25
|
+
end # compute
|
26
|
+
end # fog
|
@@ -0,0 +1,36 @@
|
|
1
|
+
module Fog
|
2
|
+
module Compute
|
3
|
+
class OpenStack
|
4
|
+
class Real
|
5
|
+
def list_aggregates(options = {})
|
6
|
+
request(
|
7
|
+
:expects => [200, 203],
|
8
|
+
:method => 'GET',
|
9
|
+
:path => 'os-aggregates',
|
10
|
+
:query => options
|
11
|
+
)
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
class Mock
|
16
|
+
def list_aggregates(options = {})
|
17
|
+
response = Excon::Response.new
|
18
|
+
response.status = 200
|
19
|
+
response.body = {'aggregates' => [{
|
20
|
+
"availability_zone" => "nova",
|
21
|
+
"created_at" => "2012-11-16T06:22:23.032493",
|
22
|
+
"deleted" => false,
|
23
|
+
"deleted_at" => nil,
|
24
|
+
"metadata" => {
|
25
|
+
"availability_zone" => "nova" },
|
26
|
+
"id" => 1,
|
27
|
+
"name" => "name",
|
28
|
+
"updated_at" => nil
|
29
|
+
}]}
|
30
|
+
|
31
|
+
response
|
32
|
+
end
|
33
|
+
end # mock
|
34
|
+
end # openstack
|
35
|
+
end # compute
|
36
|
+
end # fog
|
@@ -2,17 +2,18 @@ module Fog
|
|
2
2
|
module Compute
|
3
3
|
class OpenStack
|
4
4
|
class Real
|
5
|
-
def list_all_addresses
|
5
|
+
def list_all_addresses(options = {})
|
6
6
|
request(
|
7
7
|
:expects => [200, 203],
|
8
8
|
:method => 'GET',
|
9
|
-
:path => "os-floating-ips.json"
|
9
|
+
:path => "os-floating-ips.json",
|
10
|
+
:query => options
|
10
11
|
)
|
11
12
|
end
|
12
13
|
end
|
13
14
|
|
14
15
|
class Mock
|
15
|
-
def list_all_addresses
|
16
|
+
def list_all_addresses(options = {})
|
16
17
|
response = Excon::Response.new
|
17
18
|
response.status = 200
|
18
19
|
response.headers = {
|
@@ -2,17 +2,18 @@ module Fog
|
|
2
2
|
module Compute
|
3
3
|
class OpenStack
|
4
4
|
class Real
|
5
|
-
def list_flavors
|
5
|
+
def list_flavors(options = {})
|
6
6
|
request(
|
7
|
-
:expects
|
8
|
-
:method
|
9
|
-
:path
|
7
|
+
:expects => [200, 203],
|
8
|
+
:method => 'GET',
|
9
|
+
:path => 'flavors.json',
|
10
|
+
:query => options
|
10
11
|
)
|
11
12
|
end
|
12
13
|
end
|
13
14
|
|
14
15
|
class Mock
|
15
|
-
def list_flavors
|
16
|
+
def list_flavors(options = {})
|
16
17
|
response = Excon::Response.new
|
17
18
|
response.status = 200
|
18
19
|
response.body = {
|
@@ -2,17 +2,18 @@ module Fog
|
|
2
2
|
module Compute
|
3
3
|
class OpenStack
|
4
4
|
class Real
|
5
|
-
def list_hosts
|
5
|
+
def list_hosts(options = {})
|
6
6
|
request(
|
7
7
|
:expects => [200, 203],
|
8
8
|
:method => 'GET',
|
9
|
-
:path => 'os-hosts.json'
|
9
|
+
:path => 'os-hosts.json',
|
10
|
+
:query => options
|
10
11
|
)
|
11
12
|
end
|
12
13
|
end
|
13
14
|
|
14
15
|
class Mock
|
15
|
-
def list_hosts
|
16
|
+
def list_hosts(options = {})
|
16
17
|
response = Excon::Response.new
|
17
18
|
response.status = 200
|
18
19
|
response.body = { "hosts" => [
|
@@ -2,17 +2,18 @@ module Fog
|
|
2
2
|
module Compute
|
3
3
|
class OpenStack
|
4
4
|
class Real
|
5
|
-
def list_key_pairs
|
5
|
+
def list_key_pairs(options = {})
|
6
6
|
request(
|
7
7
|
:expects => [200, 203],
|
8
8
|
:method => 'GET',
|
9
|
-
:path => 'os-keypairs.json'
|
9
|
+
:path => 'os-keypairs.json',
|
10
|
+
:query => options
|
10
11
|
)
|
11
12
|
end
|
12
13
|
end
|
13
14
|
|
14
15
|
class Mock
|
15
|
-
def list_key_pairs
|
16
|
+
def list_key_pairs(options = {})
|
16
17
|
response = Excon::Response.new
|
17
18
|
response.status = 200
|
18
19
|
response.headers = {
|
@@ -2,15 +2,28 @@ module Fog
|
|
2
2
|
module Compute
|
3
3
|
class OpenStack
|
4
4
|
class Real
|
5
|
-
def list_security_groups(
|
5
|
+
def list_security_groups(options = {})
|
6
6
|
path = "os-security-groups.json"
|
7
|
+
|
8
|
+
if options.is_a?(Hash)
|
9
|
+
server_id = options.delete(:server_id)
|
10
|
+
query = options
|
11
|
+
else
|
12
|
+
# Backwards compatibility layer, only server_id was passed as first parameter previously
|
13
|
+
Fog::Logger.deprecation('Calling OpenStack[:compute].list_security_groups(server_id) is deprecated, use .list_security_groups(:server_id => value) instead')
|
14
|
+
server_id = options
|
15
|
+
query = {}
|
16
|
+
end
|
17
|
+
|
7
18
|
if server_id
|
8
19
|
path = "servers/#{server_id}/#{path}"
|
9
20
|
end
|
21
|
+
|
10
22
|
request(
|
11
23
|
:expects => [200],
|
12
24
|
:method => 'GET',
|
13
|
-
:path => path
|
25
|
+
:path => path,
|
26
|
+
:query => query
|
14
27
|
)
|
15
28
|
end
|
16
29
|
end
|
@@ -2,18 +2,32 @@ module Fog
|
|
2
2
|
module Compute
|
3
3
|
class OpenStack
|
4
4
|
class Real
|
5
|
-
def list_snapshots(
|
6
|
-
|
5
|
+
def list_snapshots(options = true)
|
6
|
+
if options.is_a?(Hash)
|
7
|
+
path = 'os-snapshots'
|
8
|
+
query = options
|
9
|
+
else
|
10
|
+
# Backwards compatibility layer, when 'detailed' boolean was sent as first param
|
11
|
+
if options
|
12
|
+
Fog::Logger.deprecation('Calling OpenStack[:compute].list_snapshots(true) is deprecated, use .list_snapshots_detail instead')
|
13
|
+
else
|
14
|
+
Fog::Logger.deprecation('Calling OpenStack[:compute].list_snapshots(false) is deprecated, use .list_snapshots({}) instead')
|
15
|
+
end
|
16
|
+
path = options ? 'os-snapshots/detail' : 'os-snapshots'
|
17
|
+
query = {}
|
18
|
+
end
|
19
|
+
|
7
20
|
request(
|
8
21
|
:expects => 200,
|
9
22
|
:method => 'GET',
|
10
|
-
:path => path
|
23
|
+
:path => path,
|
24
|
+
:query => query
|
11
25
|
)
|
12
26
|
end
|
13
27
|
end
|
14
28
|
|
15
29
|
class Mock
|
16
|
-
def list_snapshots(
|
30
|
+
def list_snapshots(options = true)
|
17
31
|
response = Excon::Response.new
|
18
32
|
response.status = 200
|
19
33
|
response.body = {
|
@@ -0,0 +1,27 @@
|
|
1
|
+
module Fog
|
2
|
+
module Compute
|
3
|
+
class OpenStack
|
4
|
+
class Real
|
5
|
+
def list_snapshots_detail(options = {})
|
6
|
+
request(
|
7
|
+
:expects => 200,
|
8
|
+
:method => 'GET',
|
9
|
+
:path => 'os-snapshots/detail',
|
10
|
+
:query => options
|
11
|
+
)
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
class Mock
|
16
|
+
def list_snapshots_detail(options = {})
|
17
|
+
response = Excon::Response.new
|
18
|
+
response.status = 200
|
19
|
+
response.body = {
|
20
|
+
'snapshots' => [get_snapshot_details.body["snapshot"]]
|
21
|
+
}
|
22
|
+
response
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
@@ -2,18 +2,32 @@ module Fog
|
|
2
2
|
module Compute
|
3
3
|
class OpenStack
|
4
4
|
class Real
|
5
|
-
def list_volumes(
|
6
|
-
|
5
|
+
def list_volumes(options = true)
|
6
|
+
if options.is_a?(Hash)
|
7
|
+
path = 'os-volumes'
|
8
|
+
query = options
|
9
|
+
else
|
10
|
+
# Backwards compatibility layer, when 'detailed' boolean was sent as first param
|
11
|
+
if options
|
12
|
+
Fog::Logger.deprecation('Calling OpenStack[:compute].list_volumes(true) is deprecated, use .list_volumes_detail instead')
|
13
|
+
else
|
14
|
+
Fog::Logger.deprecation('Calling OpenStack[:compute].list_volumes(false) is deprecated, use .list_volumes({}) instead')
|
15
|
+
end
|
16
|
+
path = options ? 'os-volumes/detail' : 'os-volumes'
|
17
|
+
query = {}
|
18
|
+
end
|
19
|
+
|
7
20
|
request(
|
8
21
|
:expects => 200,
|
9
22
|
:method => 'GET',
|
10
|
-
:path => path
|
23
|
+
:path => path,
|
24
|
+
:query => query
|
11
25
|
)
|
12
26
|
end
|
13
27
|
end
|
14
28
|
|
15
29
|
class Mock
|
16
|
-
def list_volumes(
|
30
|
+
def list_volumes(options = true)
|
17
31
|
Excon::Response.new(
|
18
32
|
:body => { 'volumes' => self.data[:volumes].values },
|
19
33
|
:status => 200
|