Class: Fog::Rackspace::Service
- Inherits:
-
Object
- Object
- Fog::Rackspace::Service
show all
- Defined in:
- lib/fog/rackspace/service.rb
Direct Known Subclasses
CDN::Rackspace::Mock, CDN::Rackspace::Real, Compute::Rackspace::Mock, Compute::Rackspace::Real, Compute::RackspaceV2::Mock, Compute::RackspaceV2::Real, DNS::Rackspace::Mock, DNS::Rackspace::Real, BlockStorage::Mock, BlockStorage::Real, Databases::Mock, Databases::Real, Identity::Mock, Identity::Real, LoadBalancers::Mock, LoadBalancers::Real, Monitoring::Mock, Monitoring::Real, Storage::Rackspace::Mock, Storage::Rackspace::Real
Instance Method Summary
collapse
Instance Method Details
#authenticate(options = {}) ⇒ Object
29
30
31
|
# File 'lib/fog/rackspace/service.rb', line 29
def authenticate(options={})
self.send authentication_method, options
end
|
#endpoint_uri(service_endpoint = nil, endpoint_name = nil) ⇒ Object
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
# File 'lib/fog/rackspace/service.rb', line 13
def endpoint_uri(service_endpoint=nil, endpoint_name=nil)
return @uri if @uri
url = service_endpoint
unless url
if v1_authentication?
raise "Service Endpoint must be specified via #{endpoint_name} parameter"
else
url = endpoint_uri_v2
end
end
@uri = URI.parse url
end
|
#region ⇒ Object
9
10
11
|
# File 'lib/fog/rackspace/service.rb', line 9
def region
raise Fog::Errors::NotImplemented.new("Please implement the #region method")
end
|
#request(params, parse_json = true, &block) ⇒ Object
33
34
35
36
37
38
39
40
41
42
43
44
45
46
|
# File 'lib/fog/rackspace/service.rb', line 33
def request(params, parse_json = true, &block)
first_attempt = true
begin
response = @connection.request(request_params(params), &block)
rescue Excon::Errors::Unauthorized => error
raise error unless first_attempt
first_attempt = false
authenticate
retry
end
process_response(response) if parse_json
response
end
|
#service_name ⇒ Object
5
6
7
|
# File 'lib/fog/rackspace/service.rb', line 5
def service_name
raise Fog::Errors::NotImplemented.new("Please implement the #service_name method")
end
|