require 'fog/joyent/core' module Fog module Compute class Joyent < Fog::Service class Errors module MessageParserMixin def message if response.body["code"] && response.body["message"] "[ERROR #{response.body['code']}] : #{response.body['message']}" else '' end end def to_s message end end # https://us-west-1.api.joyentcloud.com/docs#cloudapi-http-responses # # HTTP Status Codes # # Your client should check for each of the following status codes from any API request: # # Response Code Description # 400 Bad Request Invalid HTTP Request class BadRequest < Excon::Errors::BadRequest include MessageParserMixin end # 401 Unauthorized Either no Authorization header was sent, or invalid credentials were used class Unauthorized < Excon::Errors::Unauthorized include MessageParserMixin end # 403 Forbidden No permissions to the specified resource class Forbidden < Excon::Errors::Forbidden include MessageParserMixin end # 404 Not Found Something you requested was not found class NotFound < Excon::Errors::NotFound include MessageParserMixin end # 405 Method Not Allowed Method not supported for the given resource class MethodNotAllowed < Excon::Errors::MethodNotAllowed include MessageParserMixin end # 406 Not Acceptable Try sending a different Accept header class NotAcceptable < Excon::Errors::NotAcceptable include MessageParserMixin end # 409 Conflict Most likely invalid or missing parameters class Conflict < Excon::Errors::Conflict include MessageParserMixin end # 413 Request Entity Too Large You sent too much data class RequestEntityTooLarge < Excon::Errors::RequestEntityTooLarge include MessageParserMixin end # 415 Unsupported Media Type You encoded your request in a format we don't understand class UnsupportedMediaType < Excon::Errors::UnsupportedMediaType include MessageParserMixin end # 420 Slow Down You're sending too many requests class PolicyNotForfilled < Excon::Errors::HTTPStatusError include MessageParserMixin end # 449 Retry With Invalid Version header; try with a different X-Api-Version string class RetryWith < Excon::Errors::HTTPStatusError include MessageParserMixin end # 503 Service Unavailable Either there's no capacity in this datacenter, or we're in a maintenance window class ServiceUnavailable < Excon::Errors::ServiceUnavailable include MessageParserMixin end end end end end