fog-openstack 0.1.31 → 0.2.0
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 +5 -5
- data/.gitignore +1 -0
- data/.rubocop.yml +4 -1
- data/.travis.yml +5 -5
- data/.zuul.yaml +8 -8
- data/Rakefile +14 -4
- data/fog-openstack.gemspec +3 -2
- data/lib/fog/baremetal/openstack.rb +6 -24
- data/lib/fog/compute/openstack.rb +6 -27
- data/lib/fog/compute/openstack/requests/create_security_group.rb +1 -1
- data/lib/fog/compute/openstack/requests/create_server.rb +1 -1
- data/lib/fog/compute/openstack/requests/evacuate_server.rb +1 -5
- data/lib/fog/container_infra/openstack.rb +6 -25
- data/lib/fog/dns/openstack/v1.rb +5 -17
- data/lib/fog/dns/openstack/v2.rb +5 -22
- data/lib/fog/event/openstack.rb +5 -24
- data/lib/fog/identity/openstack.rb +24 -71
- data/lib/fog/identity/openstack/v2.rb +6 -4
- data/lib/fog/identity/openstack/v3.rb +5 -11
- data/lib/fog/image/openstack/v1.rb +8 -21
- data/lib/fog/image/openstack/v2.rb +8 -21
- data/lib/fog/image/openstack/v2/models/image.rb +1 -1
- data/lib/fog/introspection/openstack.rb +4 -19
- data/lib/fog/key_manager/openstack.rb +5 -47
- data/lib/fog/metering/openstack.rb +8 -23
- data/lib/fog/metric/openstack.rb +7 -26
- data/lib/fog/monitoring/openstack.rb +3 -12
- data/lib/fog/network/openstack.rb +5 -26
- data/lib/fog/network/openstack/requests/set_tenant.rb +0 -1
- data/lib/fog/nfv/openstack.rb +4 -24
- data/lib/fog/openstack.rb +17 -431
- data/lib/fog/openstack/auth/catalog.rb +64 -0
- data/lib/fog/openstack/auth/catalog/v2.rb +23 -0
- data/lib/fog/openstack/auth/catalog/v3.rb +23 -0
- data/lib/fog/openstack/auth/name.rb +65 -0
- data/lib/fog/openstack/auth/token.rb +69 -0
- data/lib/fog/openstack/auth/token/v2.rb +70 -0
- data/lib/fog/openstack/auth/token/v3.rb +116 -0
- data/lib/fog/openstack/core.rb +100 -76
- data/lib/fog/openstack/version.rb +1 -1
- data/lib/fog/orchestration/openstack.rb +4 -21
- data/lib/fog/planning/openstack.rb +13 -23
- data/lib/fog/shared_file_system/openstack.rb +10 -27
- data/lib/fog/storage/openstack.rb +6 -11
- data/lib/fog/volume/openstack.rb +1 -1
- data/lib/fog/volume/openstack/models/backup.rb +2 -2
- data/lib/fog/volume/openstack/requests/restore_backup.rb +2 -2
- data/lib/fog/volume/openstack/requests/update_volume.rb +12 -1
- data/lib/fog/volume/openstack/v1.rb +4 -21
- data/lib/fog/volume/openstack/v1/models/volume.rb +1 -2
- data/lib/fog/volume/openstack/v1/requests/update_volume.rb +0 -17
- data/lib/fog/volume/openstack/v2.rb +4 -21
- data/lib/fog/volume/openstack/v2/models/volume.rb +1 -1
- data/lib/fog/volume/openstack/v2/requests/update_volume.rb +0 -18
- data/lib/fog/workflow/openstack/v2.rb +5 -22
- data/playbooks/fog-openstack-unittest-spec/run.yaml +2 -1
- data/playbooks/fog-openstack-unittest-test/run.yaml +2 -1
- data/unit/auth/catalog_test.rb +252 -0
- data/unit/auth/name_test.rb +115 -0
- data/unit/auth/token_test.rb +478 -0
- data/unit/auth_helper.rb +102 -0
- data/unit/test_helper.rb +6 -0
- metadata +41 -16
- data/lib/fog/compute/openstack/requests/list_tenants.rb +0 -43
@@ -1,38 +1,32 @@
|
|
1
|
-
|
2
|
-
|
3
1
|
module Fog
|
4
2
|
module Identity
|
5
3
|
class OpenStack < Fog::Service
|
6
4
|
autoload :V2, 'fog/identity/openstack/v2'
|
7
5
|
autoload :V3, 'fog/identity/openstack/v3'
|
8
6
|
|
9
|
-
requires :openstack_auth_url
|
10
|
-
recognizes :openstack_auth_token, :openstack_management_url, :persistent,
|
11
|
-
:openstack_service_type, :openstack_service_name, :openstack_tenant,
|
12
|
-
:openstack_endpoint_type, :openstack_region, :openstack_domain_id,
|
13
|
-
:openstack_project_name, :openstack_domain_name,
|
14
|
-
:openstack_user_domain, :openstack_project_domain,
|
15
|
-
:openstack_user_domain_id, :openstack_project_domain_id,
|
16
|
-
:openstack_api_key, :openstack_current_user_id, :openstack_userid, :openstack_username,
|
17
|
-
:current_user, :current_user_id, :current_tenant, :openstack_cache_ttl,
|
18
|
-
:provider, :openstack_identity_prefix, :openstack_endpoint_path_matches
|
19
|
-
|
20
|
-
# Fog::Identity::OpenStack.new() will return a Fog::Identity::OpenStack::V3 by default
|
21
7
|
def self.new(args = {})
|
22
|
-
version =
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
8
|
+
version = if args[:openstack_identity_api_version] =~ /(v)*2(\.0)*/i
|
9
|
+
'2.0'
|
10
|
+
elsif args[:openstack_auth_url] =~ /v3|v2(\.0)*/
|
11
|
+
# Deprecated from fog-openstack 0.2.0
|
12
|
+
# Will be removed in future after hard deprecation is enforced for a couple of releases
|
13
|
+
Fog::Logger.deprecation("An authentication URL including a version is deprecated")
|
14
|
+
case args[:openstack_auth_url]
|
15
|
+
when /v3/
|
16
|
+
args[:openstack_auth_url].gsub!(/\/v3(\/)*.*/, '')
|
17
|
+
'v3'
|
18
|
+
when /v2(\.0)*/
|
19
|
+
args[:openstack_auth_url].gsub!(/\/v2(\.0)*(\/)*.*/, '')
|
20
|
+
'2.0'
|
21
|
+
end
|
34
22
|
end
|
35
|
-
|
23
|
+
|
24
|
+
case version
|
25
|
+
when '2.0'
|
26
|
+
Fog::Identity::OpenStack::V2.new(args)
|
27
|
+
else
|
28
|
+
Fog::Identity::OpenStack::V3.new(args)
|
29
|
+
end
|
36
30
|
end
|
37
31
|
|
38
32
|
class Mock
|
@@ -47,39 +41,10 @@ module Fog
|
|
47
41
|
class Real
|
48
42
|
include Fog::OpenStack::Core
|
49
43
|
|
50
|
-
DEFAULT_SERVICE_TYPE_V3 = %w(identity_v3 identityv3 identity).collect(&:freeze).freeze
|
51
|
-
DEFAULT_SERVICE_TYPE = %w(identity).collect(&:freeze).freeze
|
52
|
-
|
53
44
|
def self.not_found_class
|
54
45
|
Fog::Identity::OpenStack::NotFound
|
55
46
|
end
|
56
47
|
|
57
|
-
def initialize(options = {})
|
58
|
-
if options.respond_to?(:config_service?) && options.config_service?
|
59
|
-
configure(options)
|
60
|
-
return
|
61
|
-
end
|
62
|
-
|
63
|
-
initialize_identity(options)
|
64
|
-
|
65
|
-
@openstack_service_type = options[:openstack_service_type] || default_service_type(options)
|
66
|
-
@openstack_service_name = options[:openstack_service_name]
|
67
|
-
|
68
|
-
@connection_options = options[:connection_options] || {}
|
69
|
-
|
70
|
-
@openstack_endpoint_type = options[:openstack_endpoint_type] || 'adminURL'
|
71
|
-
initialize_endpoint_path_matches(options)
|
72
|
-
|
73
|
-
authenticate
|
74
|
-
|
75
|
-
if options[:openstack_identity_prefix]
|
76
|
-
@path = "/#{options[:openstack_identity_prefix]}/#{@path}"
|
77
|
-
end
|
78
|
-
|
79
|
-
@persistent = options[:persistent] || false
|
80
|
-
@connection = Fog::Core::Connection.new("#{@scheme}://#{@host}:#{@port}", @persistent, @connection_options)
|
81
|
-
end
|
82
|
-
|
83
48
|
def config_service?
|
84
49
|
true
|
85
50
|
end
|
@@ -88,23 +53,11 @@ module Fog
|
|
88
53
|
self
|
89
54
|
end
|
90
55
|
|
91
|
-
|
92
|
-
|
93
|
-
def default_service_type(options)
|
94
|
-
unless options[:openstack_identity_prefix]
|
95
|
-
if @openstack_auth_uri.path =~ %r{/v3} ||
|
96
|
-
(options[:openstack_endpoint_path_matches] && options[:openstack_endpoint_path_matches] =~ '/v3')
|
97
|
-
return DEFAULT_SERVICE_TYPE_V3
|
98
|
-
end
|
99
|
-
end
|
100
|
-
DEFAULT_SERVICE_TYPE
|
56
|
+
def default_endpoint_type
|
57
|
+
'admin'
|
101
58
|
end
|
102
59
|
|
103
|
-
|
104
|
-
if options[:openstack_endpoint_path_matches]
|
105
|
-
@openstack_endpoint_path_matches = options[:openstack_endpoint_path_matches]
|
106
|
-
end
|
107
|
-
end
|
60
|
+
private
|
108
61
|
|
109
62
|
def configure(source)
|
110
63
|
source.instance_variables.each do |v|
|
@@ -14,7 +14,7 @@ module Fog
|
|
14
14
|
:openstack_project_name, :openstack_project_id,
|
15
15
|
:openstack_project_domain, :openstack_user_domain, :openstack_domain_name,
|
16
16
|
:openstack_project_domain_id, :openstack_user_domain_id, :openstack_domain_id,
|
17
|
-
:
|
17
|
+
:openstack_identity_api_version
|
18
18
|
|
19
19
|
model_path 'fog/identity/openstack/v2/models'
|
20
20
|
model :tenant
|
@@ -169,10 +169,12 @@ module Fog
|
|
169
169
|
end
|
170
170
|
|
171
171
|
class Real < Fog::Identity::OpenStack::Real
|
172
|
-
|
172
|
+
def default_path_prefix
|
173
|
+
'v2.0'
|
174
|
+
end
|
173
175
|
|
174
|
-
def default_service_type
|
175
|
-
|
176
|
+
def default_service_type
|
177
|
+
%w[identity_v2 identityv2 identity]
|
176
178
|
end
|
177
179
|
end
|
178
180
|
end
|
@@ -13,7 +13,7 @@ module Fog
|
|
13
13
|
:openstack_user_domain_id, :openstack_project_domain_id,
|
14
14
|
:openstack_api_key, :openstack_current_user_id, :openstack_userid, :openstack_username,
|
15
15
|
:current_user, :current_user_id, :current_tenant,
|
16
|
-
:provider, :
|
16
|
+
:provider, :openstack_identity_api_version, :openstack_cache_ttl
|
17
17
|
|
18
18
|
model_path 'fog/identity/openstack/v3/models'
|
19
19
|
model :domain
|
@@ -142,18 +142,12 @@ module Fog
|
|
142
142
|
end
|
143
143
|
|
144
144
|
class Real < Fog::Identity::OpenStack::Real
|
145
|
-
|
146
|
-
|
147
|
-
def default_service_type(_)
|
148
|
-
DEFAULT_SERVICE_TYPE_V3
|
145
|
+
def default_path_prefix
|
146
|
+
'v3'
|
149
147
|
end
|
150
148
|
|
151
|
-
def
|
152
|
-
|
153
|
-
@openstack_endpoint_path_matches = options[:openstack_endpoint_path_matches]
|
154
|
-
else
|
155
|
-
@openstack_endpoint_path_matches = %r{/v3} unless options[:openstack_identity_prefix]
|
156
|
-
end
|
149
|
+
def default_service_type
|
150
|
+
%w[identity_v3 identityv3 identity]
|
157
151
|
end
|
158
152
|
end
|
159
153
|
end
|
@@ -16,7 +16,7 @@ module Fog
|
|
16
16
|
:openstack_project_name, :openstack_project_id,
|
17
17
|
:openstack_project_domain, :openstack_user_domain, :openstack_domain_name,
|
18
18
|
:openstack_project_domain_id, :openstack_user_domain_id, :openstack_domain_id,
|
19
|
-
:
|
19
|
+
:openstack_identity_api_version
|
20
20
|
|
21
21
|
model_path 'fog/image/openstack/v1/models'
|
22
22
|
|
@@ -102,29 +102,16 @@ module Fog
|
|
102
102
|
Fog::Image::OpenStack::NotFound
|
103
103
|
end
|
104
104
|
|
105
|
-
def
|
106
|
-
|
107
|
-
|
108
|
-
@openstack_service_type = options[:openstack_service_type] || ['image']
|
109
|
-
@openstack_service_name = options[:openstack_service_name]
|
110
|
-
@openstack_endpoint_type = options[:openstack_endpoint_type] || 'adminURL'
|
111
|
-
|
112
|
-
@connection_options = options[:connection_options] || {}
|
113
|
-
|
114
|
-
authenticate
|
115
|
-
set_api_path
|
105
|
+
def default_endpoint_type
|
106
|
+
'admin'
|
107
|
+
end
|
116
108
|
|
117
|
-
|
118
|
-
|
109
|
+
def default_path_prefix
|
110
|
+
'v1'
|
119
111
|
end
|
120
112
|
|
121
|
-
def
|
122
|
-
|
123
|
-
@path = Fog::OpenStack.get_supported_version_path(SUPPORTED_VERSIONS,
|
124
|
-
@openstack_management_uri,
|
125
|
-
@auth_token,
|
126
|
-
@connection_options)
|
127
|
-
end
|
113
|
+
def default_service_type
|
114
|
+
%w[image]
|
128
115
|
end
|
129
116
|
end
|
130
117
|
end
|
@@ -16,7 +16,7 @@ module Fog
|
|
16
16
|
:openstack_project_name, :openstack_project_id,
|
17
17
|
:openstack_project_domain, :openstack_user_domain, :openstack_domain_name,
|
18
18
|
:openstack_project_domain_id, :openstack_user_domain_id, :openstack_domain_id,
|
19
|
-
:
|
19
|
+
:openstack_identity_api_version
|
20
20
|
|
21
21
|
model_path 'fog/image/openstack/v2/models'
|
22
22
|
|
@@ -110,29 +110,16 @@ module Fog
|
|
110
110
|
Fog::Image::OpenStack::NotFound
|
111
111
|
end
|
112
112
|
|
113
|
-
def
|
114
|
-
|
115
|
-
|
116
|
-
@openstack_service_type = options[:openstack_service_type] || ['image']
|
117
|
-
@openstack_service_name = options[:openstack_service_name]
|
118
|
-
@openstack_endpoint_type = options[:openstack_endpoint_type] || 'adminURL'
|
119
|
-
|
120
|
-
@connection_options = options[:connection_options] || {}
|
121
|
-
|
122
|
-
authenticate
|
123
|
-
set_api_path
|
113
|
+
def default_endpoint_type
|
114
|
+
'admin'
|
115
|
+
end
|
124
116
|
|
125
|
-
|
126
|
-
|
117
|
+
def default_path_prefix
|
118
|
+
'v2'
|
127
119
|
end
|
128
120
|
|
129
|
-
def
|
130
|
-
|
131
|
-
@path = Fog::OpenStack.get_supported_version_path(SUPPORTED_VERSIONS,
|
132
|
-
@openstack_management_uri,
|
133
|
-
@auth_token,
|
134
|
-
@connection_options)
|
135
|
-
end
|
121
|
+
def default_service_type
|
122
|
+
%w[image]
|
136
123
|
end
|
137
124
|
end
|
138
125
|
end
|
@@ -47,7 +47,7 @@ module Fog
|
|
47
47
|
elsif attributes.key?(method_sym.to_s)
|
48
48
|
attributes[method_sym.to_s]
|
49
49
|
elsif method_sym.to_s.end_with?('=')
|
50
|
-
attributes[method_sym.to_s.gsub(/=$/, '')] = arguments[0]
|
50
|
+
attributes[method_sym.to_s.gsub(/=$/, '').to_sym] = arguments[0]
|
51
51
|
else
|
52
52
|
super
|
53
53
|
end
|
@@ -57,8 +57,6 @@ module Fog
|
|
57
57
|
def initialize(options = {})
|
58
58
|
@auth_token = Fog::Mock.random_base64(64)
|
59
59
|
@auth_token_expiration = (Time.now.utc + 86_400).iso8601
|
60
|
-
|
61
|
-
initialize_identity options
|
62
60
|
end
|
63
61
|
|
64
62
|
def data
|
@@ -77,25 +75,12 @@ module Fog
|
|
77
75
|
Fog::Introspection::OpenStack::NotFound
|
78
76
|
end
|
79
77
|
|
80
|
-
def
|
81
|
-
|
82
|
-
|
83
|
-
@openstack_service_type = options[:openstack_service_type] || ['baremetal-introspection']
|
84
|
-
@openstack_service_name = options[:openstack_service_name]
|
85
|
-
|
86
|
-
@connection_options = options[:connection_options] || {}
|
87
|
-
|
88
|
-
authenticate
|
89
|
-
set_api_path
|
90
|
-
|
91
|
-
@persistent = options[:persistent] || false
|
92
|
-
@connection = Fog::Core::Connection.new("#{@scheme}://#{@host}:#{@port}", @persistent, @connection_options)
|
78
|
+
def default_path_prefix
|
79
|
+
'v1'
|
93
80
|
end
|
94
81
|
|
95
|
-
def
|
96
|
-
|
97
|
-
@path = "/v1"
|
98
|
-
end
|
82
|
+
def default_service_type
|
83
|
+
%w[baremetal-introspection]
|
99
84
|
end
|
100
85
|
end
|
101
86
|
end
|
@@ -13,7 +13,7 @@ module Fog
|
|
13
13
|
:openstack_project_name, :openstack_project_id,
|
14
14
|
:openstack_project_domain, :openstack_user_domain, :openstack_domain_name,
|
15
15
|
:openstack_project_domain_id, :openstack_user_domain_id, :openstack_domain_id,
|
16
|
-
:
|
16
|
+
:openstack_identity_api_version, :openstack_temp_url_key, :openstack_cache_ttl
|
17
17
|
|
18
18
|
|
19
19
|
## MODELS
|
@@ -96,55 +96,13 @@ module Fog
|
|
96
96
|
Fog::KeyManager::OpenStack::NotFound
|
97
97
|
end
|
98
98
|
|
99
|
-
def
|
100
|
-
|
101
|
-
|
102
|
-
@openstack_service_type = options[:openstack_service_type] || ['key-manager']
|
103
|
-
@openstack_service_name = options[:openstack_service_name]
|
104
|
-
@connection_options = options[:connection_options] || {}
|
105
|
-
|
106
|
-
authenticate
|
107
|
-
set_api_path
|
108
|
-
|
109
|
-
@persistent = options[:persistent] || false
|
110
|
-
@connection = Fog::Core::Connection.new("#{@scheme}://#{@host}:#{@port}", @persistent, @connection_options)
|
111
|
-
end
|
112
|
-
|
113
|
-
def set_api_path
|
114
|
-
@path.sub!(%r{/$}, '')
|
115
|
-
unless @path.match(SUPPORTED_VERSIONS)
|
116
|
-
@path = supported_version(SUPPORTED_VERSIONS, @openstack_management_uri, @auth_token, @connection_options)
|
117
|
-
end
|
99
|
+
def default_path_prefix
|
100
|
+
'v1'
|
118
101
|
end
|
119
102
|
|
120
|
-
def
|
121
|
-
|
122
|
-
response = connection.request({ :expects => [200, 204, 300],
|
123
|
-
:headers => {'Content-Type' => 'application/json',
|
124
|
-
'Accept' => 'application/json',
|
125
|
-
'X-Auth-Token' => auth_token},
|
126
|
-
:method => 'GET'
|
127
|
-
})
|
128
|
-
|
129
|
-
body = Fog::JSON.decode(response.body)
|
130
|
-
version = nil
|
131
|
-
|
132
|
-
versions = body.fetch('versions',{}).fetch('values',[])
|
133
|
-
versions.each do |v|
|
134
|
-
if v.fetch('id', "").match(supported_versions) &&
|
135
|
-
['current', 'supported', 'stable'].include?(v.fetch('status','').downcase)
|
136
|
-
version = v['id']
|
137
|
-
end
|
138
|
-
end
|
139
|
-
|
140
|
-
if !version || version.empty?
|
141
|
-
raise Fog::OpenStack::Errors::ServiceUnavailable.new(
|
142
|
-
"OpenStack service only supports API versions #{supported_versions.inspect}")
|
143
|
-
end
|
144
|
-
|
145
|
-
version
|
103
|
+
def default_service_type
|
104
|
+
%w[key-manager]
|
146
105
|
end
|
147
|
-
|
148
106
|
end
|
149
107
|
end
|
150
108
|
end
|
@@ -15,7 +15,7 @@ module Fog
|
|
15
15
|
:openstack_project_name, :openstack_project_id,
|
16
16
|
:openstack_project_domain, :openstack_user_domain, :openstack_domain_name,
|
17
17
|
:openstack_project_domain_id, :openstack_user_domain_id, :openstack_domain_id,
|
18
|
-
:
|
18
|
+
:openstack_identity_api_version
|
19
19
|
|
20
20
|
model_path 'fog/metering/openstack/models'
|
21
21
|
|
@@ -100,31 +100,16 @@ module Fog
|
|
100
100
|
Fog::Metering::OpenStack::NotFound
|
101
101
|
end
|
102
102
|
|
103
|
-
def
|
104
|
-
|
105
|
-
|
106
|
-
@openstack_service_type = options[:openstack_service_type] || ['metering']
|
107
|
-
@openstack_service_name = options[:openstack_service_name]
|
108
|
-
@openstack_endpoint_type = options[:openstack_endpoint_type] || 'adminURL'
|
109
|
-
|
110
|
-
@connection_options = options[:connection_options] || {}
|
111
|
-
|
112
|
-
authenticate
|
113
|
-
set_api_path
|
103
|
+
def default_endpoint_type
|
104
|
+
'admin'
|
105
|
+
end
|
114
106
|
|
115
|
-
|
116
|
-
|
107
|
+
def default_path_prefix
|
108
|
+
'v2'
|
117
109
|
end
|
118
110
|
|
119
|
-
def
|
120
|
-
|
121
|
-
@path = "/" + Fog::OpenStack.get_supported_version(
|
122
|
-
SUPPORTED_VERSIONS,
|
123
|
-
@openstack_management_uri,
|
124
|
-
@auth_token,
|
125
|
-
@connection_options
|
126
|
-
)
|
127
|
-
end
|
111
|
+
def default_service_type
|
112
|
+
%w[metering]
|
128
113
|
end
|
129
114
|
end
|
130
115
|
end
|
data/lib/fog/metric/openstack.rb
CHANGED
@@ -13,7 +13,7 @@ module Fog
|
|
13
13
|
:openstack_project_name, :openstack_project_id,
|
14
14
|
:openstack_project_domain, :openstack_user_domain, :openstack_domain_name,
|
15
15
|
:openstack_project_domain_id, :openstack_user_domain_id, :openstack_domain_id,
|
16
|
-
:
|
16
|
+
:openstack_identity_api_version
|
17
17
|
|
18
18
|
model_path 'fog/metric/openstack/models'
|
19
19
|
|
@@ -90,35 +90,16 @@ module Fog
|
|
90
90
|
class Real
|
91
91
|
include Fog::OpenStack::Core
|
92
92
|
|
93
|
-
def
|
94
|
-
|
93
|
+
def default_path_prefix
|
94
|
+
'v1'
|
95
95
|
end
|
96
96
|
|
97
|
-
def
|
98
|
-
|
99
|
-
|
100
|
-
@openstack_service_type = options[:openstack_service_type] || ['metric']
|
101
|
-
@openstack_service_name = options[:openstack_service_name]
|
102
|
-
@openstack_endpoint_type = options[:openstack_endpoint_type] || 'publicURL'
|
103
|
-
|
104
|
-
@connection_options = options[:connection_options] || {}
|
105
|
-
|
106
|
-
authenticate
|
107
|
-
set_api_path
|
108
|
-
|
109
|
-
@persistent = options[:persistent] || false
|
110
|
-
@connection = Fog::Core::Connection.new("#{@scheme}://#{@host}:#{@port}", @persistent, @connection_options)
|
97
|
+
def self.not_found_class
|
98
|
+
Fog::Metric::OpenStack::NotFound
|
111
99
|
end
|
112
100
|
|
113
|
-
def
|
114
|
-
|
115
|
-
@path = Fog::OpenStack.get_supported_version_path(
|
116
|
-
SUPPORTED_VERSIONS,
|
117
|
-
@openstack_management_uri,
|
118
|
-
@auth_token,
|
119
|
-
@connection_options
|
120
|
-
)
|
121
|
-
end
|
101
|
+
def default_service_type
|
102
|
+
%w[metric]
|
122
103
|
end
|
123
104
|
end
|
124
105
|
end
|