# File lib/fog/rackspace/auto_scale.rb, line 89 def initialize(options = {}) @options = options @options[:connection_options] ||= {} @options[:persistent] ||= false authenticate @connection = Fog::Core::Connection.new(endpoint_uri.to_s, @options[:persistent], @options[:connection_options]) end
# File lib/fog/rackspace/auto_scale.rb, line 115 def authenticate(options={}) super(select_options([:rackspace_username, :rackspace_api_key, :rackspace_auth_url, :connection_options])) end
# File lib/fog/rackspace/requests/auto_scale/create_group.rb, line 5 def create_group(launch_config, group_config, policies) body = { 'launchConfiguration' => launch_config, 'groupConfiguration' => group_config, 'scalingPolicies' => policies } request( :expects => [201], :method => 'POST', :path => 'groups', :body => Fog::JSON.encode(body) ) end
# File lib/fog/rackspace/requests/auto_scale/create_policy.rb, line 5 def create_policy(group_id, options) data = [options] request( :method => 'POST', :body => Fog::JSON.encode(data), :path => "groups/#{group_id}/policies", :expects => 201 ) end
# File lib/fog/rackspace/requests/auto_scale/create_webhook.rb, line 5 def create_webhook(group_id, policy_id, options) body = [options] request( :method => 'POST', :body => Fog::JSON.encode(body), :path => "groups/#{group_id}/policies/#{policy_id}/webhooks", :expects => 201 ) end
# File lib/fog/rackspace/requests/auto_scale/delete_group.rb, line 5 def delete_group(group_id) request( :expects => [204], :method => 'DELETE', :path => "groups/#{group_id}" ) end
# File lib/fog/rackspace/requests/auto_scale/delete_policy.rb, line 5 def delete_policy(group_id, policy_id) request( :expects => [204], :method => 'DELETE', :path => "groups/#{group_id}/policies/#{policy_id}" ) end
# File lib/fog/rackspace/requests/auto_scale/delete_webhook.rb, line 5 def delete_webhook(group_id, policy_id, webhook_id) request( :expects => [204], :method => 'DELETE', :path => "groups/#{group_id}/policies/#{policy_id}/webhooks/#{webhook_id}" ) end
# File lib/fog/rackspace/auto_scale.rb, line 111 def endpoint_uri(service_endpoint_url=nil) @uri = super(@options[:rackspace_auto_scale_url], :rackspace_auto_scale_url) end
# File lib/fog/rackspace/requests/auto_scale/execute_anonymous_webhook.rb, line 5 def execute_anonymous_webhook(capability_version, capability_hash) request( :expects => [202], :method => 'POST', :path => "execute/#{capability_version}/#{capability_hash}" ) end
# File lib/fog/rackspace/requests/auto_scale/execute_policy.rb, line 5 def execute_policy(group_id, policy_id) request( :expects => [202], :method => 'POST', :path => "groups/#{group_id}/policies/#{policy_id}/execute" ) end
# File lib/fog/rackspace/requests/auto_scale/get_group.rb, line 5 def get_group(group_id) request( :expects => [200], :method => 'GET', :path => "groups/#{group_id}" ) end
# File lib/fog/rackspace/requests/auto_scale/get_group_config.rb, line 5 def get_group_config(group_id) request( :expects => [200], :method => 'GET', :path => "groups/#{group_id}/config" ) end
# File lib/fog/rackspace/requests/auto_scale/get_group_state.rb, line 5 def get_group_state(group_id) request( :expects => [200], :method => 'GET', :path => "groups/#{group_id}/state" ) end
# File lib/fog/rackspace/requests/auto_scale/get_launch_config.rb, line 5 def get_launch_config(group_id) request( :expects => [200], :method => 'GET', :path => "groups/#{group_id}/launch" ) end
# File lib/fog/rackspace/requests/auto_scale/get_policy.rb, line 5 def get_policy(group_id, policy_id) request( :expects => [200], :method => 'GET', :path => "groups/#{group_id}/policies/#{policy_id}" ) end
# File lib/fog/rackspace/requests/auto_scale/get_webhook.rb, line 5 def get_webhook(group_id, policy_id, webhook_id) request( :expects => [200], :method => 'GET', :path => "groups/#{group_id}/policies/#{policy_id}/webhooks/#{webhook_id}" ) end
Retrieves a list of images @return [Excon::Response] response:
* body [Hash]: * images [Array]: * [Hash]: * id [String] - flavor id * links [Array] - image links * name [String] - image name
@raise [Fog::Compute::RackspaceV2::NotFound] - HTTP 404 @raise [Fog::Compute::RackspaceV2::BadRequest] - HTTP 400 @raise [Fog::Compute::RackspaceV2::InternalServerError] - HTTP 500 @raise [Fog::Compute::RackspaceV2::ServiceError] @see docs.rackspace.com/servers/api/v2/cs-devguide/content/List_Flavors-d1e4188.html
# File lib/fog/rackspace/requests/auto_scale/list_groups.rb, line 18 def list_groups request( :expects => [200], :method => 'GET', :path => 'groups' ) end
# File lib/fog/rackspace/requests/auto_scale/list_policies.rb, line 5 def list_policies(group_id) request( :expects => [200], :method => 'GET', :path => "groups/#{group_id}/policies" ) end
# File lib/fog/rackspace/requests/auto_scale/list_webhooks.rb, line 5 def list_webhooks(group_id, policy_id) request( :expects => [200], :method => 'GET', :path => "groups/#{group_id}/policies/#{policy_id}/webhooks" ) end
# File lib/fog/rackspace/requests/auto_scale/pause_group_state.rb, line 5 def pause_group_state(group_id) Fog::Real.not_implemented # request( # :expects => [204], # :method => 'POST', # :path => 'groups/#{group_id}/pause' # ) end
# File lib/fog/rackspace/auto_scale.rb, line 127 def region @options[:rackspace_region] end
# File lib/fog/rackspace/auto_scale.rb, line 99 def request(params, parse_json = true, &block) super(params, parse_json, &block) rescue Excon::Errors::NotFound => error raise NotFound.slurp(error, self) rescue Excon::Errors::BadRequest => error raise BadRequest.slurp(error, self) rescue Excon::Errors::InternalServerError => error raise InternalServerError.slurp(error, self) rescue Excon::Errors::HTTPStatusError => error raise ServiceError.slurp(error, self) end
# File lib/fog/rackspace/auto_scale.rb, line 123 def request_id_header "x-response-id" end
# File lib/fog/rackspace/requests/auto_scale/resume_group_state.rb, line 5 def resume_group_state(group_id) request( :expects => [204], :method => 'POST', :path => "groups/#{group_id}/resume" ) end
# File lib/fog/rackspace/auto_scale.rb, line 119 def service_name :autoscale end
# File lib/fog/rackspace/requests/auto_scale/update_group_config.rb, line 5 def update_group_config(group_id, options) body = options request( :expects => [204], :method => 'PUT', :path => "groups/#{group_id}/config", :body => Fog::JSON.encode(body) ) end
# File lib/fog/rackspace/requests/auto_scale/update_launch_config.rb, line 5 def update_launch_config(group_id, options) body = options request( :expects => [204], :method => 'PUT', :path => "groups/#{group_id}/launch", :body => Fog::JSON.encode(body) ) end
# File lib/fog/rackspace/requests/auto_scale/update_policy.rb, line 5 def update_policy(group_id, policy_id, options) request( :expects => [204], :method => 'PUT', :path => "groups/#{group_id}/policies/#{policy_id}", :body => Fog::JSON.encode(options) ) end
# File lib/fog/rackspace/requests/auto_scale/update_webhook.rb, line 5 def update_webhook(group_id, policy_id, webhook_id, options) body = options request( :expects => [204], :method => 'PUT', :path => "groups/#{group_id}/policies/#{policy_id}/webhooks/#{webhook_id}", :body => Fog::JSON.encode(body) ) end