fog-openstack 0.1.20 → 0.1.21
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.
- checksums.yaml +4 -4
- data/README.md +1 -1
- data/lib/fog/dns/openstack/v2.rb +137 -1
- data/lib/fog/dns/openstack/v2/models/pool.rb +21 -0
- data/lib/fog/dns/openstack/v2/models/pools.rb +25 -0
- data/lib/fog/dns/openstack/v2/models/zone_transfer_accept.rb +29 -0
- data/lib/fog/dns/openstack/v2/models/zone_transfer_accepts.rb +25 -0
- data/lib/fog/dns/openstack/v2/models/zone_transfer_request.rb +50 -0
- data/lib/fog/dns/openstack/v2/models/zone_transfer_requests.rb +30 -0
- data/lib/fog/dns/openstack/v2/requests/create_zone_transfer_accept.rb +32 -0
- data/lib/fog/dns/openstack/v2/requests/create_zone_transfer_request.rb +34 -0
- data/lib/fog/dns/openstack/v2/requests/delete_zone_transfer_request.rb +26 -0
- data/lib/fog/dns/openstack/v2/requests/get_pool.rb +30 -0
- data/lib/fog/dns/openstack/v2/requests/get_zone_transfer_accept.rb +28 -0
- data/lib/fog/dns/openstack/v2/requests/get_zone_transfer_request.rb +29 -0
- data/lib/fog/dns/openstack/v2/requests/list_pools.rb +30 -0
- data/lib/fog/dns/openstack/v2/requests/list_zone_transfer_accepts.rb +27 -0
- data/lib/fog/dns/openstack/v2/requests/list_zone_transfer_requests.rb +27 -0
- data/lib/fog/dns/openstack/v2/requests/update_zone_transfer_request.rb +36 -0
- data/lib/fog/identity/openstack/v3/requests/list_user_projects.rb +3 -2
- data/lib/fog/key_manager/openstack.rb +48 -0
- data/lib/fog/key_manager/openstack/models/acl.rb +23 -0
- data/lib/fog/key_manager/openstack/requests/delete_container_acl.rb +24 -0
- data/lib/fog/key_manager/openstack/requests/delete_secret_acl.rb +24 -0
- data/lib/fog/key_manager/openstack/requests/get_container_acl.rb +31 -0
- data/lib/fog/key_manager/openstack/requests/get_secret_acl.rb +31 -0
- data/lib/fog/key_manager/openstack/requests/replace_container_acl.rb +27 -0
- data/lib/fog/key_manager/openstack/requests/replace_secret_acl.rb +27 -0
- data/lib/fog/key_manager/openstack/requests/update_container_acl.rb +26 -0
- data/lib/fog/key_manager/openstack/requests/update_secret_acl.rb +26 -0
- data/lib/fog/metric/openstack/requests/list_resources.rb +3 -3
- data/lib/fog/network/openstack.rb +77 -2
- data/lib/fog/network/openstack/models/network_ip_availabilities.rb +24 -0
- data/lib/fog/network/openstack/models/network_ip_availability.rb +17 -0
- data/lib/fog/network/openstack/requests/create_lbaas_l7policy.rb +50 -0
- data/lib/fog/network/openstack/requests/create_lbaas_l7rule.rb +50 -0
- data/lib/fog/network/openstack/requests/delete_lbaas_l7policy.rb +28 -0
- data/lib/fog/network/openstack/requests/delete_lbaas_l7rule.rb +28 -0
- data/lib/fog/network/openstack/requests/get_lbaas_l7policy.rb +28 -0
- data/lib/fog/network/openstack/requests/get_lbaas_l7rule.rb +28 -0
- data/lib/fog/network/openstack/requests/get_network_ip_availability.rb +28 -0
- data/lib/fog/network/openstack/requests/list_lbaas_l7policies.rb +25 -0
- data/lib/fog/network/openstack/requests/list_lbaas_l7rules.rb +25 -0
- data/lib/fog/network/openstack/requests/list_network_ip_availabilities.rb +28 -0
- data/lib/fog/network/openstack/requests/update_lbaas_l7policy.rb +43 -0
- data/lib/fog/network/openstack/requests/update_lbaas_l7rule.rb +42 -0
- data/lib/fog/network/openstack/requests/update_lbaas_listener.rb +3 -4
- data/lib/fog/openstack/version.rb +1 -1
- data/lib/fog/shared_file_system/openstack.rb +20 -0
- data/lib/fog/shared_file_system/openstack/models/share.rb +4 -0
- data/lib/fog/shared_file_system/openstack/models/share_export_location.rb +16 -0
- data/lib/fog/shared_file_system/openstack/models/share_export_locations.rb +31 -0
- data/lib/fog/shared_file_system/openstack/requests/get_share_export_location.rb +29 -0
- data/lib/fog/shared_file_system/openstack/requests/list_share_export_locations.rb +27 -0
- data/lib/fog/shared_file_system/openstack/requests/list_share_networks.rb +1 -1
- data/lib/fog/volume/openstack/requests/update_metadata.rb +1 -1
- metadata +81 -38
@@ -0,0 +1,30 @@
|
|
1
|
+
module Fog
|
2
|
+
module DNS
|
3
|
+
class OpenStack
|
4
|
+
class V2
|
5
|
+
class Real
|
6
|
+
def get_pool(id, options = {})
|
7
|
+
headers, _options = Fog::DNS::OpenStack::V2.setup_headers(options)
|
8
|
+
request(
|
9
|
+
:expects => 200,
|
10
|
+
:method => 'GET',
|
11
|
+
:path => "pools/#{id}",
|
12
|
+
:headers => headers
|
13
|
+
)
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
class Mock
|
18
|
+
def get_pool(id, _options = {})
|
19
|
+
response = Excon::Response.new
|
20
|
+
response.status = 200
|
21
|
+
pool = data[:pool_updated] || data[:pools]['pools'].first
|
22
|
+
pool['id'] = id
|
23
|
+
response.body = pool
|
24
|
+
response
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
module Fog
|
2
|
+
module DNS
|
3
|
+
class OpenStack
|
4
|
+
class V2
|
5
|
+
class Real
|
6
|
+
def get_zone_transfer_accept(zone_transfer_accept_id)
|
7
|
+
request(
|
8
|
+
:expects => 200,
|
9
|
+
:method => 'GET',
|
10
|
+
:path => "zones/tasks/transfer_requests/#{zone_transfer_accept_id}"
|
11
|
+
)
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
class Mock
|
16
|
+
def get_zone_transfer_accept(zone_transfer_accept_id)
|
17
|
+
response = Excon::Response.new
|
18
|
+
response.status = 200
|
19
|
+
accept = data[:zone_transfer_accepts]["transfer_accepts"].first
|
20
|
+
accept["id"] = zone_transfer_accept_id
|
21
|
+
response.body = accept
|
22
|
+
response
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
@@ -0,0 +1,29 @@
|
|
1
|
+
|
2
|
+
module Fog
|
3
|
+
module DNS
|
4
|
+
class OpenStack
|
5
|
+
class V2
|
6
|
+
class Real
|
7
|
+
def get_zone_transfer_request(zone_transfer_request_id)
|
8
|
+
request(
|
9
|
+
:expects => 200,
|
10
|
+
:method => 'GET',
|
11
|
+
:path => "zones/tasks/transfer_requests/#{zone_transfer_request_id}"
|
12
|
+
)
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
class Mock
|
17
|
+
def get_zone_transfer_request(zone_transfer_request_id)
|
18
|
+
response = Excon::Response.new
|
19
|
+
response.status = 200
|
20
|
+
request = data[:zone_transfer_requests]["transfer_requests"].first
|
21
|
+
request["id"] = zone_transfer_request_id
|
22
|
+
response.body = request
|
23
|
+
response
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
@@ -0,0 +1,30 @@
|
|
1
|
+
module Fog
|
2
|
+
module DNS
|
3
|
+
class OpenStack
|
4
|
+
class V2
|
5
|
+
class Real
|
6
|
+
def list_pools(options = {})
|
7
|
+
headers, options = Fog::DNS::OpenStack::V2.setup_headers(options)
|
8
|
+
|
9
|
+
request(
|
10
|
+
:expects => 200,
|
11
|
+
:method => 'GET',
|
12
|
+
:path => 'pools',
|
13
|
+
:query => options,
|
14
|
+
:headers => headers
|
15
|
+
)
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
class Mock
|
20
|
+
def list_pools(_options = {})
|
21
|
+
response = Excon::Response.new
|
22
|
+
response.status = 200
|
23
|
+
response.body = data[:pools]
|
24
|
+
response
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
module Fog
|
2
|
+
module DNS
|
3
|
+
class OpenStack
|
4
|
+
class V2
|
5
|
+
class Real
|
6
|
+
def list_zone_transfer_accepts(options={})
|
7
|
+
request(
|
8
|
+
:expects => 200,
|
9
|
+
:method => 'GET',
|
10
|
+
:path => "zones/tasks/transfer_accepts",
|
11
|
+
:query => options
|
12
|
+
)
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
class Mock
|
17
|
+
def list_zone_transfer_accepts(options={})
|
18
|
+
response = Excon::Response.new
|
19
|
+
response.status = 200
|
20
|
+
response.body = data[:zone_transfer_accepts]["transfer_accepts"]
|
21
|
+
response
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
module Fog
|
2
|
+
module DNS
|
3
|
+
class OpenStack
|
4
|
+
class V2
|
5
|
+
class Real
|
6
|
+
def list_zone_transfer_requests(options={})
|
7
|
+
request(
|
8
|
+
:expects => 200,
|
9
|
+
:method => 'GET',
|
10
|
+
:path => "zones/tasks/transfer_requests",
|
11
|
+
:query => options
|
12
|
+
)
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
class Mock
|
17
|
+
def list_zone_transfer_requests(options={})
|
18
|
+
response = Excon::Response.new
|
19
|
+
response.status = 200
|
20
|
+
response.body = data[:zone_transfer_requests]["transfer_requests"]
|
21
|
+
response
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
@@ -0,0 +1,36 @@
|
|
1
|
+
module Fog
|
2
|
+
module DNS
|
3
|
+
class OpenStack
|
4
|
+
class V2
|
5
|
+
class Real
|
6
|
+
def update_zone_transfer_request(zone_transfer_request_id,description,options={})
|
7
|
+
vanilla_options = [:target_project_id]
|
8
|
+
data = vanilla_options.inject({}) do |result,option|
|
9
|
+
result[option] = options[option] if options[option]
|
10
|
+
result
|
11
|
+
end
|
12
|
+
|
13
|
+
request(
|
14
|
+
:expects => 200,
|
15
|
+
:method => 'PATCH',
|
16
|
+
:path => "zones/tasks/transfer_requests/#{zone_transfer_request_id}",
|
17
|
+
:body => Fog::JSON.encode(data)
|
18
|
+
)
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
class Mock
|
23
|
+
def update_zone_transfer_request(zone_transfer_request_id,description,options={})
|
24
|
+
response = Excon::Response.new
|
25
|
+
response.status = 200
|
26
|
+
request = data[:zone_transfer_requests]["transfer_requests"]
|
27
|
+
request.id = zone_transfer_request_id
|
28
|
+
request.description =description
|
29
|
+
response.body = request
|
30
|
+
response
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
@@ -3,11 +3,12 @@ module Fog
|
|
3
3
|
class OpenStack
|
4
4
|
class V3
|
5
5
|
class Real
|
6
|
-
def list_user_projects(user_id)
|
6
|
+
def list_user_projects(user_id, options = {})
|
7
7
|
request(
|
8
8
|
:expects => [200],
|
9
9
|
:method => 'GET',
|
10
|
-
:path => "users/#{user_id}/projects"
|
10
|
+
:path => "users/#{user_id}/projects",
|
11
|
+
:query => options
|
11
12
|
)
|
12
13
|
end
|
13
14
|
end
|
@@ -23,6 +23,7 @@ module Fog
|
|
23
23
|
collection :secrets
|
24
24
|
model :container
|
25
25
|
collection :containers
|
26
|
+
model :acl
|
26
27
|
|
27
28
|
## REQUESTS
|
28
29
|
|
@@ -41,6 +42,53 @@ module Fog
|
|
41
42
|
request :list_containers
|
42
43
|
request :delete_container
|
43
44
|
|
45
|
+
#ACL
|
46
|
+
request :get_secret_acl
|
47
|
+
request :update_secret_acl
|
48
|
+
request :replace_secret_acl
|
49
|
+
request :delete_secret_acl
|
50
|
+
|
51
|
+
request :get_container_acl
|
52
|
+
request :update_container_acl
|
53
|
+
request :replace_container_acl
|
54
|
+
request :delete_container_acl
|
55
|
+
|
56
|
+
class Mock
|
57
|
+
def initialize(options = {})
|
58
|
+
@openstack_username = options[:openstack_username]
|
59
|
+
@openstack_tenant = options[:openstack_tenant]
|
60
|
+
@openstack_auth_uri = URI.parse(options[:openstack_auth_url])
|
61
|
+
|
62
|
+
@auth_token = Fog::Mock.random_base64(64)
|
63
|
+
@auth_token_expiration = (Time.now.utc + 86400).iso8601
|
64
|
+
|
65
|
+
management_url = URI.parse(options[:openstack_auth_url])
|
66
|
+
management_url.port = 9311
|
67
|
+
management_url.path = '/v1'
|
68
|
+
@openstack_management_url = management_url.to_s
|
69
|
+
|
70
|
+
@data ||= {:users => {}}
|
71
|
+
unless @data[:users].detect { |u| u['name'] == options[:openstack_username] }
|
72
|
+
id = Fog::Mock.random_numbers(6).to_s
|
73
|
+
@data[:users][id] = {
|
74
|
+
'id' => id,
|
75
|
+
'name' => options[:openstack_username],
|
76
|
+
'email' => "#{options[:openstack_username]}@mock.com",
|
77
|
+
'tenantId' => Fog::Mock.random_numbers(6).to_s,
|
78
|
+
'enabled' => true
|
79
|
+
}
|
80
|
+
end
|
81
|
+
end
|
82
|
+
|
83
|
+
def credentials
|
84
|
+
{:provider => 'openstack',
|
85
|
+
:openstack_auth_url => @openstack_auth_uri.to_s,
|
86
|
+
:openstack_auth_token => @auth_token,
|
87
|
+
:openstack_region => @openstack_region,
|
88
|
+
:openstack_management_url => @openstack_management_url}
|
89
|
+
end
|
90
|
+
end
|
91
|
+
|
44
92
|
class Real
|
45
93
|
include Fog::OpenStack::Core
|
46
94
|
|
@@ -0,0 +1,23 @@
|
|
1
|
+
|
2
|
+
require 'fog/openstack/models/model'
|
3
|
+
|
4
|
+
module Fog
|
5
|
+
module KeyManager
|
6
|
+
class OpenStack
|
7
|
+
|
8
|
+
class ACL < Fog::OpenStack::Model
|
9
|
+
identity :acl_ref
|
10
|
+
|
11
|
+
attribute :uuid
|
12
|
+
attribute :operation_type
|
13
|
+
attribute :users, type: Array
|
14
|
+
attribute :project_access
|
15
|
+
attribute :secret_type
|
16
|
+
attribute :created
|
17
|
+
attribute :creator_id
|
18
|
+
attribute :updated
|
19
|
+
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
module Fog
|
2
|
+
module KeyManager
|
3
|
+
class OpenStack
|
4
|
+
class Real
|
5
|
+
def delete_container_acl(uuid)
|
6
|
+
request(
|
7
|
+
:expects => [200],
|
8
|
+
:method => 'DELETE',
|
9
|
+
:path => "containers/#{uuid}/acl"
|
10
|
+
)
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
class Mock
|
15
|
+
def delete_container_acl(_uuid)
|
16
|
+
response = Excon::Response.new
|
17
|
+
response.status = 200
|
18
|
+
response.body = "null"
|
19
|
+
response
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
module Fog
|
2
|
+
module KeyManager
|
3
|
+
class OpenStack
|
4
|
+
class Real
|
5
|
+
def delete_secret_acl(uuid)
|
6
|
+
request(
|
7
|
+
:expects => [200],
|
8
|
+
:method => 'DELETE',
|
9
|
+
:path => "secrets/#{uuid}/acl"
|
10
|
+
)
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
class Mock
|
15
|
+
def delete_secret_acl(_uuid)
|
16
|
+
response = Excon::Response.new
|
17
|
+
response.status = 200
|
18
|
+
response.body = "null"
|
19
|
+
response
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
@@ -0,0 +1,31 @@
|
|
1
|
+
module Fog
|
2
|
+
module KeyManager
|
3
|
+
class OpenStack
|
4
|
+
class Real
|
5
|
+
def get_container_acl(uuid)
|
6
|
+
request(
|
7
|
+
:expects => [200],
|
8
|
+
:method => 'GET',
|
9
|
+
:path => "containers/#{uuid}/acl"
|
10
|
+
)
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
class Mock
|
15
|
+
def get_container_acl(_uuid)
|
16
|
+
response = Excon::Response.new
|
17
|
+
response.status = 200
|
18
|
+
response.body = {
|
19
|
+
"read" => {
|
20
|
+
"project-access" => true,
|
21
|
+
"updated" => "2017-04-25T19:10:52",
|
22
|
+
"users" => ["45895d3a393f42b2a8760f5dafa9c6d8"],
|
23
|
+
"created" => "2017-04-25T19:10:52"
|
24
|
+
}
|
25
|
+
}
|
26
|
+
response
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
@@ -0,0 +1,31 @@
|
|
1
|
+
module Fog
|
2
|
+
module KeyManager
|
3
|
+
class OpenStack
|
4
|
+
class Real
|
5
|
+
def get_secret_acl(uuid)
|
6
|
+
request(
|
7
|
+
:expects => [200],
|
8
|
+
:method => 'GET',
|
9
|
+
:path => "secrets/#{uuid}/acl"
|
10
|
+
)
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
class Mock
|
15
|
+
def get_secret_acl(_uuid)
|
16
|
+
response = Excon::Response.new
|
17
|
+
response.status = 200
|
18
|
+
response.body = {
|
19
|
+
"read" => {
|
20
|
+
"project-access" => false,
|
21
|
+
"updated" => "2017-04-25T19:10:52",
|
22
|
+
"users" => %w(45895d3a393f42b2a8760f5dafa9c6d8 dc2cb4f0d30044e2b0251409c94cc955),
|
23
|
+
"created" => "2017-04-25T19:10:52"
|
24
|
+
}
|
25
|
+
}
|
26
|
+
response
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
module Fog
|
2
|
+
module KeyManager
|
3
|
+
class OpenStack
|
4
|
+
class Real
|
5
|
+
def replace_container_acl(uuid, options)
|
6
|
+
request(
|
7
|
+
:body => Fog::JSON.encode(options),
|
8
|
+
:expects => [200],
|
9
|
+
:method => 'PUT',
|
10
|
+
:path => "containers/#{uuid}/acl"
|
11
|
+
)
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
class Mock
|
16
|
+
def replace_container_acl(_uuid, _options)
|
17
|
+
response = Excon::Response.new
|
18
|
+
response.status = 200
|
19
|
+
response.body = {
|
20
|
+
"acl_ref" => "https://10.0.2.15:9311/v1/containers/4ab86cb0-a736-48df-ae97-b10d3e5bc60a/acl"
|
21
|
+
}
|
22
|
+
response
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|