class Fog::Metering::HuaweiCloud::Real
Public Class Methods
new(options = {})
click to toggle source
# File lib/fog/metering/huaweicloud.rb, line 103 def initialize(options = {}) initialize_identity options @huaweicloud_service_type = options[:huaweicloud_service_type] || ['metering'] @huaweicloud_service_name = options[:huaweicloud_service_name] @huaweicloud_endpoint_type = options[:huaweicloud_endpoint_type] || 'adminURL' @connection_options = options[:connection_options] || {} authenticate set_api_path @persistent = options[:persistent] || false @connection = Fog::Core::Connection.new("#{@scheme}://#{@host}:#{@port}", @persistent, @connection_options) end
not_found_class()
click to toggle source
# File lib/fog/metering/huaweicloud.rb, line 99 def self.not_found_class Fog::Metering::HuaweiCloud::NotFound end
Public Instance Methods
get_event(message_id)
click to toggle source
# File lib/fog/metering/huaweicloud/requests/get_event.rb, line 5 def get_event(message_id) request( :expects => 200, :method => 'GET', :path => "events/#{message_id}" ) end
get_resource(resource_id)
click to toggle source
# File lib/fog/metering/huaweicloud/requests/get_resource.rb, line 5 def get_resource(resource_id) request( :expects => 200, :method => 'GET', :path => "resources/#{resource_id}" ) end
get_samples(meter_id, options = [], limit = 10000000)
click to toggle source
# File lib/fog/metering/huaweicloud/requests/get_samples.rb, line 5 def get_samples(meter_id, options = [], limit = 10000000) data = { 'q' => [] } options.each do |opt| filter = {} ['field', 'op', 'value'].each do |key| filter[key] = opt[key] if opt[key] end data['q'] << filter unless filter.empty? data['limit'] = limit end request( :body => Fog::JSON.encode(data), :expects => 200, :method => 'GET', :path => "meters/#{meter_id}" ) end
get_statistics(meter_id, options = {})
click to toggle source
# File lib/fog/metering/huaweicloud/requests/get_statistics.rb, line 5 def get_statistics(meter_id, options = {}) data = { 'period' => options['period'], 'q' => [] } options['q'].each do |opt| filter = {} ['field', 'op', 'value'].each do |key| filter[key] = opt[key] if opt[key] end data['q'] << filter unless filter.empty? end if options['q'].kind_of? Array request( :body => Fog::JSON.encode(data), :expects => 200, :method => 'GET', :path => "meters/#{meter_id}/statistics" ) end
list_events(options = [])
click to toggle source
# File lib/fog/metering/huaweicloud/requests/list_events.rb, line 5 def list_events(options = []) data = { 'q' => [] } options.each do |opt| filter = {} ['field', 'op', 'value'].each do |key| filter[key] = opt[key] if opt[key] end data['q'] << filter unless filter.empty? end request( :body => Fog::JSON.encode(data), :expects => 200, :method => 'GET', :path => 'events' ) end
list_meters(options = [])
click to toggle source
# File lib/fog/metering/huaweicloud/requests/list_meters.rb, line 5 def list_meters(options = []) data = { 'q' => [] } options.each do |opt| filter = {} ['field', 'op', 'value'].each do |key| filter[key] = opt[key] if opt[key] end data['q'] << filter unless filter.empty? end request( :body => Fog::JSON.encode(data), :expects => 200, :method => 'GET', :path => 'meters' ) end
list_resources(_options = {})
click to toggle source
# File lib/fog/metering/huaweicloud/requests/list_resources.rb, line 5 def list_resources(_options = {}) request( :expects => 200, :method => 'GET', :path => 'resources' ) end
set_api_path()
click to toggle source
# File lib/fog/metering/huaweicloud.rb, line 119 def set_api_path unless @path.match(SUPPORTED_VERSIONS) @path = "/" + Fog::HuaweiCloud.get_supported_version( SUPPORTED_VERSIONS, @huaweicloud_management_uri, @auth_token, @connection_options ) end end