class Fog::AzureRM::CustomAzureOperationError

This is a custom Fog exception inherited from MsRestAzure::AzureOperationError

Public Class Methods

new(message, azure_exception) click to toggle source
Calls superclass method
# File lib/fog/azurerm/custom_fog_errors.rb, line 6
def initialize(message, azure_exception)
  super(azure_exception.request, azure_exception.response, azure_exception.body, "Exception in #{message}")
end

Public Instance Methods

print_subscription_limits_information() click to toggle source
remaining_subscription_request_limits(response) click to toggle source
# File lib/fog/azurerm/custom_fog_errors.rb, line 19
def remaining_subscription_request_limits(response)
  limit = {}
  # handles both read and write limits
  if response.headers.key? 'x-ms-ratelimit-remaining-subscription-resource-requests'
    limit['header'] = 'x-ms-ratelimit-remaining-subscription-resource-requests'
    limit['value'] = response.headers['x-ms-ratelimit-remaining-subscription-resource-requests']

  # limit for collection API calls
  elsif response.headers.key? 'x-ms-ratelimit-remaining-subscription-resource-entities-read'
    limit['header'] = 'x-ms-ratelimit-remaining-subscription-resource-entities-read'
    limit['value'] = response.headers['x-ms-ratelimit-remaining-subscription-resource-entities-read']

  # read requests limit
  elsif response.headers.key? 'x-ms-ratelimit-remaining-subscription-reads'
    limit['header'] = 'x-ms-ratelimit-remaining-subscription-reads'
    limit['value'] = response.headers['x-ms-ratelimit-remaining-subscription-reads']

  # write requests limit
  elsif response.headers.key? 'x-ms-ratelimit-remaining-subscription-writes'
    limit['header'] = 'x-ms-ratelimit-remaining-subscription-writes'
    limit['value'] = response.headers['x-ms-ratelimit-remaining-subscription-writes']
  end
  limit
end