Module: Misty

Defined in:
lib/misty/auth.rb,
lib/misty/cloud.rb,
lib/misty/misty.rb,
lib/misty/client.rb,
lib/misty/service.rb,
lib/misty/version.rb,
lib/misty/autoload.rb,
lib/misty/services.rb,
lib/misty/auth/name.rb,
lib/misty/auth/errors.rb,
lib/misty/client_pack.rb,
lib/misty/http/direct.rb,
lib/misty/http/header.rb,
lib/misty/auth/auth_v2.rb,
lib/misty/auth/auth_v3.rb,
lib/misty/http/request.rb,
lib/misty/microversion.rb,
lib/misty/http/net_http.rb,
lib/misty/openstack/aodh/v2.rb,
lib/misty/openstack/heat/v1.rb,
lib/misty/openstack/swift/v1.rb,
lib/misty/openstack/zaqar/v2.rb,
lib/misty/http/method_builder.rb,
lib/misty/openstack/cinder/v1.rb,
lib/misty/openstack/cinder/v2.rb,
lib/misty/openstack/cinder/v3.rb,
lib/misty/openstack/extension.rb,
lib/misty/openstack/glance/v1.rb,
lib/misty/openstack/glance/v2.rb,
lib/misty/openstack/ironic/v1.rb,
lib/misty/openstack/karbor/v1.rb,
lib/misty/openstack/magnum/v1.rb,
lib/misty/openstack/manila/v2.rb,
lib/misty/openstack/murano/v1.rb,
lib/misty/openstack/nova/v2_1.rb,
lib/misty/openstack/senlin/v1.rb,
lib/misty/openstack/freezer/v1.rb,
lib/misty/openstack/trove/v1_0.rb,
lib/misty/openstack/keystone/v3.rb,
lib/misty/openstack/sahara/v1_1.rb,
lib/misty/openstack/tacker/v1_0.rb,
lib/misty/openstack/designate/v2.rb,
lib/misty/openstack/neutron/v2_0.rb,
lib/misty/openstack/octavia/v2_0.rb,
lib/misty/openstack/ceilometer/v2.rb,
lib/misty/openstack/keystone/v2_0.rb,
lib/misty/openstack/searchlight/v1.rb

Defined Under Namespace

Modules: Auth, Client, ClientPack, HTTP, Microversion, Openstack Classes: AuthV2, AuthV3, Cloud, Service, Services

Constant Summary collapse

SERVICES =
[
  { name: :application_catalog,                 project: :murano,      versions: ['v1']},
  { name: :alarming,                            project: :aodh,        versions: ['v2']},
  { name: :backup,                              project: :freezer,     versions: ['v1']},
  { name: :baremetal,                           project: :ironic,      microversion: 'v1'},
  { name: :block_storage,                       project: :cinder,      microversion: 'v3', versions: ['v2', 'v1']},
  { name: :clustering,                          project: :senlin,      versions: ['v1']},
  { name: :compute,                             project: :nova,        microversion: 'v2.1'},
  { name: :container_infrastructure_management, project: :magnum,      microversion: 'v1'},
  { name: :data_processing,                     project: :sahara,      versions: ['v1.1']},
  { name: :data_protection_orchestration,       project: :karbor,      versions: ['v1']},
  { name: :database,                            project: :trove,       versions: ['v1.0']},
  { name: :domain_name_server,                  project: :designate,   versions: ['v2']},
  { name: :identity,                            project: :keystone,    versions: ['v3', 'v2.0']},
  { name: :image,                               project: :glance,      versions: ['v2', 'v1']},
  { name: :load_balancer,                       project: :octavia,     versions: ['v2.0']},
  { name: :messaging,                           project: :zaqar,       versions: ['v2']},
  { name: :metering,                            project: :ceilometer,  versions: ['v2']},
  { name: :networking,                          project: :neutron,     versions: ['v2.0']},
  { name: :nfv_orchestration,                   project: :tacker,      versions: ['v1.0']},
  { name: :object_storage,                      project: :swift,       versions: ['v1']},
  { name: :orchestration,                       project: :heat,        versions: ['v1']},
  { name: :search,                              project: :searchlight, versions: ['v1']},
  { name: :shared_file_systems,                 project: :manila,      microversion: 'v2'}
]
CONTENT_TYPE =

Default REST content type. Use :json or :ruby

:ruby
DOMAIN_ID =

Default Domain ID

'default'
INTERFACE =

Default Interface

'public'
LOG_FILE =

Default log file. Use :log_file option to override

'misty.log'
LOG_LEVEL =

Default log level. Use :log_level option to override

Logger::INFO
REGION_ID =

Default Region ID

'regionOne'
SSL_VERIFY_MODE =

Default when uri.scheme is https

true
VERSION =
'1.3.2'

Class Method Summary collapse

Class Method Details

.json_encode?(data) ⇒ Boolean

Returns:

  • (Boolean)


51
52
53
54
55
56
57
58
59
60
61
62
63
# File 'lib/misty/misty.rb', line 51

def self.json_encode?(data)
  return true if data.is_a?(Array) || data.is_a?(Hash)
  if data.is_a?(String)
    begin
      JSON.parse(data)
    rescue JSON::ParserError
      return false
    else
      return true
    end
  end
  return false
end

.servicesObject



65
66
67
68
69
70
71
# File 'lib/misty/misty.rb', line 65

def self.services
  services = Misty::Services.new
  SERVICES.each do |service|
    services.add(service)
  end
  services
end

.to_json(data) ⇒ Object



73
74
75
76
77
78
79
# File 'lib/misty/misty.rb', line 73

def self.to_json(data)
  if data.is_a? String
    JSON.parse(data)
    return data
  end
  return JSON.dump(data)
end