Sha256: 3c553f351e40b70b7bfb42fdbacbc78cfcb7edaba3a04209f283ce68a3597727

Contents?: true

Size: 1.14 KB

Versions: 3

Compression:

Stored size: 1.14 KB

Contents

module Aviator
  
  define_request :list_tenants do

    meta :provider,      :openstack
    meta :service,       :identity
    meta :api_version,   :v2
    meta :endpoint_type, :public
  
    link 'documentation',
         'http://docs.openstack.org/api/openstack-identity-service/2.0/content/GET_listTenants_v2.0_tokens_tenants_.html'

    link 'documentation bug',
         'https://bugs.launchpad.net/keystone/+bug/1218601'


    param :marker, required: false
    param :limit,  required: false


    def url
      service_spec = session_data[:access][:serviceCatalog].find{|s| s[:type] == 'identity' }
      str = "#{ service_spec[:endpoints][0][:publicURL] }/tenants"
    
      filters = []
    
      (optional_params + required_params).each do |param_name|
        filters << "#{ param_name }=#{ params[param_name] }" if params[param_name]
      end
    
      str += "?#{ filters.join('&') }" unless filters.empty?
    
      str
    end

  
    def headers
      h = {}
    
      unless self.anonymous?
        h['X-Auth-Token'] = session_data[:access][:token][:id]
      end

      h
    end
  
  
    def http_method
      :get
    end

  end
  
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
aviator-0.0.5 lib/aviator/openstack/identity/v2/public/list_tenants.rb
aviator-0.0.4 lib/aviator/openstack/identity/v2/public/list_tenants.rb
aviator-0.0.3 lib/aviator/openstack/identity/v2/public/list_tenants.rb