mirror of
https://github.com/fog/fog.git
synced 2022-11-09 13:51:43 -05:00
requires and recognizes clauses for services now receives a block so that the declared parameters are applied to their Real implementation.
This commit is contained in:
parent
6f187b2f72
commit
c37629e742
20 changed files with 37 additions and 47 deletions
|
@ -2,8 +2,8 @@ module Fog
|
||||||
module AWS
|
module AWS
|
||||||
class CDN < Fog::Service
|
class CDN < Fog::Service
|
||||||
|
|
||||||
requires :aws_access_key_id, :aws_secret_access_key
|
requires :aws_access_key_id, :aws_secret_access_key, &inject_parameter_specs
|
||||||
recognizes :host, :path, :port, :scheme, :version, :persistent
|
recognizes :host, :path, :port, :scheme, :version, :persistent, &inject_parameter_specs
|
||||||
|
|
||||||
model_path 'fog/aws/models/cdn'
|
model_path 'fog/aws/models/cdn'
|
||||||
|
|
||||||
|
|
|
@ -2,8 +2,8 @@ module Fog
|
||||||
module AWS
|
module AWS
|
||||||
class Compute < Fog::Service
|
class Compute < Fog::Service
|
||||||
|
|
||||||
requires :aws_access_key_id, :aws_secret_access_key
|
requires :aws_access_key_id, :aws_secret_access_key, &inject_parameter_specs
|
||||||
recognizes :endpoint, :region, :host, :path, :port, :scheme, :persistent
|
recognizes :endpoint, :region, :host, :path, :port, :scheme, :persistent, &inject_parameter_specs
|
||||||
|
|
||||||
model_path 'fog/aws/models/compute'
|
model_path 'fog/aws/models/compute'
|
||||||
model :address
|
model :address
|
||||||
|
|
|
@ -2,8 +2,8 @@ module Fog
|
||||||
module AWS
|
module AWS
|
||||||
class ELB < Fog::Service
|
class ELB < Fog::Service
|
||||||
|
|
||||||
requires :aws_access_key_id, :aws_secret_access_key
|
requires :aws_access_key_id, :aws_secret_access_key, &inject_parameter_specs
|
||||||
recognizes :region, :host, :path, :port, :scheme, :persistent
|
recognizes :region, :host, :path, :port, :scheme, :persistent, &inject_parameter_specs
|
||||||
|
|
||||||
request_path 'fog/aws/requests/elb'
|
request_path 'fog/aws/requests/elb'
|
||||||
request :create_load_balancer
|
request :create_load_balancer
|
||||||
|
|
|
@ -2,8 +2,8 @@ module Fog
|
||||||
module AWS
|
module AWS
|
||||||
class IAM < Fog::Service
|
class IAM < Fog::Service
|
||||||
|
|
||||||
requires :aws_access_key_id, :aws_secret_access_key
|
requires :aws_access_key_id, :aws_secret_access_key, &inject_parameter_specs
|
||||||
recognizes :host, :path, :port, :scheme, :persistent
|
recognizes :host, :path, :port, :scheme, :persistent, &inject_parameter_specs
|
||||||
|
|
||||||
request_path 'fog/aws/requests/iam'
|
request_path 'fog/aws/requests/iam'
|
||||||
request :add_user_to_group
|
request :add_user_to_group
|
||||||
|
|
|
@ -2,8 +2,8 @@ module Fog
|
||||||
module AWS
|
module AWS
|
||||||
class SimpleDB < Fog::Service
|
class SimpleDB < Fog::Service
|
||||||
|
|
||||||
requires :aws_access_key_id, :aws_secret_access_key
|
requires :aws_access_key_id, :aws_secret_access_key, &inject_parameter_specs
|
||||||
recognizes :host, :nil_string, :path, :port, :scheme, :persistent
|
recognizes :host, :nil_string, :path, :port, :scheme, :persistent, &inject_parameter_specs
|
||||||
|
|
||||||
request_path 'fog/aws/requests/simpledb'
|
request_path 'fog/aws/requests/simpledb'
|
||||||
request :batch_put_attributes
|
request :batch_put_attributes
|
||||||
|
|
|
@ -2,8 +2,8 @@ module Fog
|
||||||
module AWS
|
module AWS
|
||||||
class Storage < Fog::Service
|
class Storage < Fog::Service
|
||||||
|
|
||||||
requires :aws_access_key_id, :aws_secret_access_key
|
requires :aws_access_key_id, :aws_secret_access_key, &inject_parameter_specs
|
||||||
recognizes :endpoint, :region, :host, :path, :port, :scheme, :persistent
|
recognizes :endpoint, :region, :host, :path, :port, :scheme, :persistent, &inject_parameter_specs
|
||||||
|
|
||||||
model_path 'fog/aws/models/storage'
|
model_path 'fog/aws/models/storage'
|
||||||
collection :directories
|
collection :directories
|
||||||
|
|
|
@ -2,8 +2,8 @@ module Fog
|
||||||
module Bluebox
|
module Bluebox
|
||||||
class Compute < Fog::Service
|
class Compute < Fog::Service
|
||||||
|
|
||||||
requires :bluebox_api_key, :bluebox_customer_id
|
requires :bluebox_api_key, :bluebox_customer_id, &inject_parameter_specs
|
||||||
recognizes :bluebox_host, :bluebox_port, :bluebox_scheme, :persistent
|
recognizes :bluebox_host, :bluebox_port, :bluebox_scheme, :persistent, &inject_parameter_specs
|
||||||
|
|
||||||
model_path 'fog/bluebox/models/compute'
|
model_path 'fog/bluebox/models/compute'
|
||||||
model :flavor
|
model :flavor
|
||||||
|
|
|
@ -4,8 +4,8 @@ module Fog
|
||||||
|
|
||||||
API_URL = "https://api.gb1.brightbox.com/"
|
API_URL = "https://api.gb1.brightbox.com/"
|
||||||
|
|
||||||
requires :brightbox_client_id, :brightbox_secret
|
requires :brightbox_client_id, :brightbox_secret, &inject_parameter_specs
|
||||||
recognizes :brightbox_auth_url, :brightbox_api_url
|
recognizes :brightbox_auth_url, :brightbox_api_url, &inject_parameter_specs
|
||||||
|
|
||||||
model_path 'fog/brightbox/models/compute'
|
model_path 'fog/brightbox/models/compute'
|
||||||
model :account # Singular resource, no collection
|
model :account # Singular resource, no collection
|
||||||
|
|
|
@ -2,8 +2,8 @@ module Fog
|
||||||
module GoGrid
|
module GoGrid
|
||||||
class Compute < Fog::Service
|
class Compute < Fog::Service
|
||||||
|
|
||||||
requires :go_grid_api_key, :go_grid_shared_secret
|
requires :go_grid_api_key, :go_grid_shared_secret, &inject_parameter_specs
|
||||||
recognizes :host, :path, :port, :scheme, :persistent
|
recognizes :host, :path, :port, :scheme, :persistent, &inject_parameter_specs
|
||||||
|
|
||||||
model_path 'fog/go_grid/models/compute'
|
model_path 'fog/go_grid/models/compute'
|
||||||
model :image
|
model :image
|
||||||
|
|
|
@ -2,8 +2,8 @@ module Fog
|
||||||
module Google
|
module Google
|
||||||
class Storage < Fog::Service
|
class Storage < Fog::Service
|
||||||
|
|
||||||
requires :google_storage_access_key_id, :google_storage_secret_access_key
|
requires :google_storage_access_key_id, :google_storage_secret_access_key, &inject_parameter_specs
|
||||||
recognizes :host, :port, :scheme, :persistent
|
recognizes :host, :port, :scheme, :persistent, &inject_parameter_specs
|
||||||
|
|
||||||
model_path 'fog/google/models/storage'
|
model_path 'fog/google/models/storage'
|
||||||
collection :directories
|
collection :directories
|
||||||
|
|
|
@ -2,8 +2,8 @@ module Fog
|
||||||
module Linode
|
module Linode
|
||||||
class Compute < Fog::Service
|
class Compute < Fog::Service
|
||||||
|
|
||||||
requires :linode_api_key
|
requires :linode_api_key, &inject_parameter_specs
|
||||||
recognizes :port, :scheme, :persistent
|
recognizes :port, :scheme, :persistent, &inject_parameter_specs
|
||||||
|
|
||||||
model_path 'fog/linode/models/compute'
|
model_path 'fog/linode/models/compute'
|
||||||
|
|
||||||
|
|
|
@ -2,7 +2,7 @@ module Fog
|
||||||
module Local
|
module Local
|
||||||
class Storage < Fog::Service
|
class Storage < Fog::Service
|
||||||
|
|
||||||
requires :local_root
|
requires :local_root, &inject_parameter_specs
|
||||||
|
|
||||||
model_path 'fog/local/models/storage'
|
model_path 'fog/local/models/storage'
|
||||||
collection :directories
|
collection :directories
|
||||||
|
|
|
@ -4,8 +4,8 @@ module Fog
|
||||||
module NewServers
|
module NewServers
|
||||||
class Compute < Fog::Service
|
class Compute < Fog::Service
|
||||||
|
|
||||||
requires :new_servers_password, :new_servers_username
|
requires :new_servers_password, :new_servers_username, &inject_parameter_specs
|
||||||
recognizes :host, :port, :scheme, :persistent
|
recognizes :host, :port, :scheme, :persistent, &inject_parameter_specs
|
||||||
|
|
||||||
model_path 'fog/new_servers/models/compute'
|
model_path 'fog/new_servers/models/compute'
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
module Fog
|
module Fog
|
||||||
module Rackspace
|
module Rackspace
|
||||||
|
|
||||||
include NamedParameters
|
|
||||||
extend Fog::Provider
|
extend Fog::Provider
|
||||||
|
|
||||||
service_path 'fog/rackspace'
|
service_path 'fog/rackspace'
|
||||||
|
@ -11,11 +10,6 @@ module Fog
|
||||||
service 'servers'
|
service 'servers'
|
||||||
service 'storage'
|
service 'storage'
|
||||||
|
|
||||||
# NOTE: might be better to rely on the caller alone to enforce parameter
|
|
||||||
# requirements...
|
|
||||||
has_named_parameters :'self.authenticate',
|
|
||||||
:required => [ :rackspace_api_key, :rackspace_username ],
|
|
||||||
:optional => [ :rackspace_auth_url ]
|
|
||||||
def self.authenticate(options)
|
def self.authenticate(options)
|
||||||
rackspace_auth_url = options[:rackspace_auth_url] || "auth.api.rackspacecloud.com"
|
rackspace_auth_url = options[:rackspace_auth_url] || "auth.api.rackspacecloud.com"
|
||||||
connection = Fog::Connection.new("https://" + rackspace_auth_url)
|
connection = Fog::Connection.new("https://" + rackspace_auth_url)
|
||||||
|
|
|
@ -2,10 +2,8 @@ module Fog
|
||||||
module Rackspace
|
module Rackspace
|
||||||
class CDN < Fog::Service
|
class CDN < Fog::Service
|
||||||
|
|
||||||
requires :rackspace_api_key, :rackspace_username
|
requires :rackspace_api_key, :rackspace_username, &inject_parameter_specs
|
||||||
# NOTE: recognizes clause delegates to Fog::Rackspace.authenticate's so
|
recognizes :rackspace_auth_url, :persistent, &inject_parameter_specs
|
||||||
# we also declare those parameters that the authenticate expects...
|
|
||||||
recognizes :rackspace_auth_url, :persistent
|
|
||||||
|
|
||||||
model_path 'fog/rackspace/models/cdn'
|
model_path 'fog/rackspace/models/cdn'
|
||||||
|
|
||||||
|
|
|
@ -2,10 +2,8 @@ module Fog
|
||||||
module Rackspace
|
module Rackspace
|
||||||
class Compute < Fog::Service
|
class Compute < Fog::Service
|
||||||
|
|
||||||
requires :rackspace_api_key, :rackspace_username
|
requires :rackspace_api_key, :rackspace_username, &inject_parameter_specs
|
||||||
# NOTE: recognizes clause delegates to Fog::Rackspace.authenticate's so
|
recognizes :rackspace_auth_url, :persistent, &inject_parameter_specs
|
||||||
# we also declare those parameters that the authenticate expects...
|
|
||||||
recognizes :rackspace_auth_url, :persistent
|
|
||||||
|
|
||||||
model_path 'fog/rackspace/models/compute'
|
model_path 'fog/rackspace/models/compute'
|
||||||
model :flavor
|
model :flavor
|
||||||
|
|
|
@ -2,10 +2,8 @@ module Fog
|
||||||
module Rackspace
|
module Rackspace
|
||||||
class Storage < Fog::Service
|
class Storage < Fog::Service
|
||||||
|
|
||||||
requires :rackspace_api_key, :rackspace_username
|
requires :rackspace_api_key, :rackspace_username, &inject_parameter_specs
|
||||||
# NOTE: recognizes clause delegates to Fog::Rackspace.authenticate's so
|
recognizes :rackspace_auth_url, :persistent, &inject_parameter_specs
|
||||||
# we also declare those parameters that the authenticate expects...
|
|
||||||
recognizes :rackspace_auth_url, :persistent
|
|
||||||
|
|
||||||
model_path 'fog/rackspace/models/storage'
|
model_path 'fog/rackspace/models/storage'
|
||||||
model :directory
|
model :directory
|
||||||
|
|
|
@ -2,8 +2,8 @@ module Fog
|
||||||
module Slicehost
|
module Slicehost
|
||||||
class Compute < Fog::Service
|
class Compute < Fog::Service
|
||||||
|
|
||||||
requires :slicehost_password
|
requires :slicehost_password, &inject_parameter_specs
|
||||||
recognizes :host, :port, :scheme, :persistent
|
recognizes :host, :port, :scheme, :persistent, &inject_parameter_specs
|
||||||
|
|
||||||
model_path 'fog/slicehost/models/compute'
|
model_path 'fog/slicehost/models/compute'
|
||||||
model :flavor
|
model :flavor
|
||||||
|
|
|
@ -32,6 +32,8 @@ module Fog
|
||||||
end
|
end
|
||||||
|
|
||||||
class Real
|
class Real
|
||||||
|
# NOTE: When this vbecomes a service, take care to pass the &inject_parameter_specs
|
||||||
|
# block on call to requires and recognizes
|
||||||
requires :terremark_ecloud_password, :terremark_ecloud_username
|
requires :terremark_ecloud_password, :terremark_ecloud_username
|
||||||
recognizes :host, :path, :port, :scheme, :persistent
|
recognizes :host, :path, :port, :scheme, :persistent
|
||||||
|
|
||||||
|
|
|
@ -19,8 +19,8 @@ end
|
||||||
module Fog
|
module Fog
|
||||||
class Vcloud < Fog::Service
|
class Vcloud < Fog::Service
|
||||||
|
|
||||||
requires :username, :password, :module, :versions_uri
|
requires :username, :password, :module, :versions_uri, &inject_parameter_specs
|
||||||
recognizes :version, :persistent
|
recognizes :version, :persistent, &inject_parameter_specs
|
||||||
|
|
||||||
model_path 'fog/vcloud/models'
|
model_path 'fog/vcloud/models'
|
||||||
model :vdc
|
model :vdc
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue