fog-openstack 0.1.31 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|