Class: Azure::Consumption::Mgmt::V2019_06_01::ConsumptionManagementClient

Inherits:
MsRestAzure::AzureServiceClient
  • Object
show all
Includes:
MsRestAzure, MsRestAzure::Serialization
Defined in:
lib/2019-06-01/generated/azure_mgmt_consumption/consumption_management_client.rb

Overview

A service client - single point of access to the REST API.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(credentials = nil, base_url = nil, options = nil) ⇒ ConsumptionManagementClient

Creates initializes a new instance of the ConsumptionManagementClient class.

Parameters:

  • credentials (MsRest::ServiceClientCredentials) (defaults to: nil)

    credentials to authorize HTTP requests made by the service client.

  • base_url (String) (defaults to: nil)

    the base URI of the service.

  • options (Array) (defaults to: nil)

    filters to be applied to the HTTP requests.



87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
# File 'lib/2019-06-01/generated/azure_mgmt_consumption/consumption_management_client.rb', line 87

def initialize(credentials = nil, base_url = nil, options = nil)
  super(credentials, options)
  @base_url = base_url || 'https://management.azure.com'

  fail ArgumentError, 'invalid type of credentials input parameter' unless credentials.is_a?(MsRest::ServiceClientCredentials) unless credentials.nil?
  @credentials = credentials

  @usage_details = UsageDetails.new(self)
  @marketplaces = Marketplaces.new(self)
  @budgets = Budgets.new(self)
  @tags = Tags.new(self)
  @charges = Charges.new(self)
  @balances = Balances.new(self)
  @reservations_summaries = ReservationsSummaries.new(self)
  @reservations_details = ReservationsDetails.new(self)
  @reservation_recommendations = ReservationRecommendations.new(self)
  @reservation_transactions = ReservationTransactions.new(self)
  @price_sheet = PriceSheet.new(self)
  @forecasts = Forecasts.new(self)
  @operations = Operations.new(self)
  @aggregated_cost = AggregatedCost.new(self)
  @api_version = '2019-06-01'
  @accept_language = 'en-US'
  @long_running_operation_retry_timeout = 30
  @generate_client_request_id = true
  add_telemetry
end

Instance Attribute Details

#accept_languageString

Returns The preferred language for the response.

Returns:

  • (String)

    The preferred language for the response.



28
29
30
# File 'lib/2019-06-01/generated/azure_mgmt_consumption/consumption_management_client.rb', line 28

def accept_language
  @accept_language
end

#aggregated_costAggregatedCost (readonly)

Returns aggregated_cost.

Returns:



79
80
81
# File 'lib/2019-06-01/generated/azure_mgmt_consumption/consumption_management_client.rb', line 79

def aggregated_cost
  @aggregated_cost
end

#api_versionString (readonly)

The current version is 2019-06-01.

Returns:

  • (String)

    Version of the API to be used with the client request.



22
23
24
# File 'lib/2019-06-01/generated/azure_mgmt_consumption/consumption_management_client.rb', line 22

def api_version
  @api_version
end

#balancesBalances (readonly)

Returns balances.

Returns:



55
56
57
# File 'lib/2019-06-01/generated/azure_mgmt_consumption/consumption_management_client.rb', line 55

def balances
  @balances
end

#base_urlString

Returns the base URI of the service.

Returns:

  • (String)

    the base URI of the service.



15
16
17
# File 'lib/2019-06-01/generated/azure_mgmt_consumption/consumption_management_client.rb', line 15

def base_url
  @base_url
end

#budgetsBudgets (readonly)

Returns budgets.

Returns:



46
47
48
# File 'lib/2019-06-01/generated/azure_mgmt_consumption/consumption_management_client.rb', line 46

def budgets
  @budgets
end

#chargesCharges (readonly)

Returns charges.

Returns:



52
53
54
# File 'lib/2019-06-01/generated/azure_mgmt_consumption/consumption_management_client.rb', line 52

def charges
  @charges
end

#credentialsObject (readonly)

Returns Credentials needed for the client to connect to Azure.

Returns:

  • Credentials needed for the client to connect to Azure.



18
19
20
# File 'lib/2019-06-01/generated/azure_mgmt_consumption/consumption_management_client.rb', line 18

def credentials
  @credentials
end

#forecastsForecasts (readonly)

Returns forecasts.

Returns:



73
74
75
# File 'lib/2019-06-01/generated/azure_mgmt_consumption/consumption_management_client.rb', line 73

def forecasts
  @forecasts
end

#generate_client_request_idBoolean

generated. When set to true a unique x-ms-client-request-id value is generated and included in each request. Default is true.

Returns:

  • (Boolean)

    Whether a unique x-ms-client-request-id should be



37
38
39
# File 'lib/2019-06-01/generated/azure_mgmt_consumption/consumption_management_client.rb', line 37

def generate_client_request_id
  @generate_client_request_id
end

#long_running_operation_retry_timeoutInteger

Operations. Default value is 30.

Returns:

  • (Integer)

    The retry timeout in seconds for Long Running



32
33
34
# File 'lib/2019-06-01/generated/azure_mgmt_consumption/consumption_management_client.rb', line 32

def long_running_operation_retry_timeout
  @long_running_operation_retry_timeout
end

#marketplacesMarketplaces (readonly)

Returns marketplaces.

Returns:



43
44
45
# File 'lib/2019-06-01/generated/azure_mgmt_consumption/consumption_management_client.rb', line 43

def marketplaces
  @marketplaces
end

#operationsOperations (readonly)

Returns operations.

Returns:



76
77
78
# File 'lib/2019-06-01/generated/azure_mgmt_consumption/consumption_management_client.rb', line 76

def operations
  @operations
end

#price_sheetPriceSheet (readonly)

Returns price_sheet.

Returns:



70
71
72
# File 'lib/2019-06-01/generated/azure_mgmt_consumption/consumption_management_client.rb', line 70

def price_sheet
  @price_sheet
end

#reservation_recommendationsReservationRecommendations (readonly)

Returns reservation_recommendations.

Returns:



64
65
66
# File 'lib/2019-06-01/generated/azure_mgmt_consumption/consumption_management_client.rb', line 64

def reservation_recommendations
  @reservation_recommendations
end

#reservation_transactionsReservationTransactions (readonly)

Returns reservation_transactions.

Returns:



67
68
69
# File 'lib/2019-06-01/generated/azure_mgmt_consumption/consumption_management_client.rb', line 67

def reservation_transactions
  @reservation_transactions
end

#reservations_detailsReservationsDetails (readonly)

Returns reservations_details.

Returns:



61
62
63
# File 'lib/2019-06-01/generated/azure_mgmt_consumption/consumption_management_client.rb', line 61

def reservations_details
  @reservations_details
end

#reservations_summariesReservationsSummaries (readonly)

Returns reservations_summaries.

Returns:



58
59
60
# File 'lib/2019-06-01/generated/azure_mgmt_consumption/consumption_management_client.rb', line 58

def reservations_summaries
  @reservations_summaries
end

#subscription_idString

Returns Azure Subscription ID.

Returns:

  • (String)

    Azure Subscription ID.



25
26
27
# File 'lib/2019-06-01/generated/azure_mgmt_consumption/consumption_management_client.rb', line 25

def subscription_id
  @subscription_id
end

#tagsTags (readonly)

Returns tags.

Returns:



49
50
51
# File 'lib/2019-06-01/generated/azure_mgmt_consumption/consumption_management_client.rb', line 49

def tags
  @tags
end

#usage_detailsUsageDetails (readonly)

Returns usage_details.

Returns:



40
41
42
# File 'lib/2019-06-01/generated/azure_mgmt_consumption/consumption_management_client.rb', line 40

def usage_details
  @usage_details
end

Instance Method Details

#make_request(method, path, options = {}) ⇒ Hash{String=>String}

Makes a request and returns the body of the response. Example:

request_content = "{'location':'westus','tags':{'tag1':'val1','tag2':'val2'}}"
path = "/path"
options = {
  body: request_content,
  query_params: {'api-version' => '2016-02-01'}
}
result = @client.make_request(:put, path, options)

Parameters:

  • method (Symbol)

    with any of the following values :get, :put, :post, :patch, :delete.

  • path (String)

    the path, relative to #base_url.

  • options (Hash{String=>String}) (defaults to: {})

    specifying any request options like :body.

Returns:

  • (Hash{String=>String})

    containing the body of the response.



131
132
133
134
# File 'lib/2019-06-01/generated/azure_mgmt_consumption/consumption_management_client.rb', line 131

def make_request(method, path, options = {})
  result = make_request_with_http_info(method, path, options)
  result.body unless result.nil?
end

#make_request_async(method, path, options = {}) ⇒ Concurrent::Promise

Makes a request asynchronously.

Parameters:

  • method (Symbol)

    with any of the following values :get, :put, :post, :patch, :delete.

  • path (String)

    the path, relative to #base_url.

  • options (Hash{String=>String}) (defaults to: {})

    specifying any request options like :body.

Returns:

  • (Concurrent::Promise)

    Promise object which holds the HTTP response.



156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
# File 'lib/2019-06-01/generated/azure_mgmt_consumption/consumption_management_client.rb', line 156

def make_request_async(method, path, options = {})
  fail ArgumentError, 'method is nil' if method.nil?
  fail ArgumentError, 'path is nil' if path.nil?

  request_url = options[:base_url] || @base_url
  if(!options[:headers].nil? && !options[:headers]['Content-Type'].nil?)
    @request_headers['Content-Type'] = options[:headers]['Content-Type']
  end

  request_headers = @request_headers
  request_headers.merge!({'accept-language' => @accept_language}) unless @accept_language.nil?
  options.merge!({headers: request_headers.merge(options[:headers] || {})})
  options.merge!({credentials: @credentials}) unless @credentials.nil?

  super(request_url, method, path, options)
end

#make_request_with_http_info(method, path, options = {}) ⇒ MsRestAzure::AzureOperationResponse

Makes a request and returns the operation response.

Parameters:

  • method (Symbol)

    with any of the following values :get, :put, :post, :patch, :delete.

  • path (String)

    the path, relative to #base_url.

  • options (Hash{String=>String}) (defaults to: {})

    specifying any request options like :body.

Returns:

  • (MsRestAzure::AzureOperationResponse)

    Operation response containing the request, response and status.



143
144
145
146
147
# File 'lib/2019-06-01/generated/azure_mgmt_consumption/consumption_management_client.rb', line 143

def make_request_with_http_info(method, path, options = {})
  result = make_request_async(method, path, options).value!
  result.body = result.response.body.to_s.empty? ? nil : JSON.load(result.response.body)
  result
end