Class: Azure::Consumption::Mgmt::V2019_06_01::ReservationRecommendations
- Inherits:
-
Object
- Object
- Azure::Consumption::Mgmt::V2019_06_01::ReservationRecommendations
- Includes:
- MsRestAzure
- Defined in:
- lib/2019-06-01/generated/azure_mgmt_consumption/reservation_recommendations.rb
Overview
Consumption management client provides access to consumption resources for Azure Enterprise Subscriptions.
Instance Attribute Summary collapse
-
#client ⇒ ConsumptionManagementClient
readonly
Reference to the ConsumptionManagementClient.
Instance Method Summary collapse
-
#initialize(client) ⇒ ReservationRecommendations
constructor
Creates and initializes a new instance of the ReservationRecommendations class.
-
#list(filter: nil, custom_headers: nil) ⇒ Array<ReservationRecommendation>
List of recommendations for purchasing reserved instances.
-
#list_as_lazy(filter: nil, custom_headers: nil) ⇒ ReservationRecommendationsListResult
List of recommendations for purchasing reserved instances.
-
#list_async(filter: nil, custom_headers: nil) ⇒ Concurrent::Promise
List of recommendations for purchasing reserved instances.
-
#list_by_billing_account_id(billing_account_id, filter: nil, custom_headers: nil) ⇒ Array<ReservationRecommendation>
List of recommendations for purchasing reserved instances on billing account scope.
-
#list_by_billing_account_id_as_lazy(billing_account_id, filter: nil, custom_headers: nil) ⇒ ReservationRecommendationsListResult
List of recommendations for purchasing reserved instances on billing account scope.
-
#list_by_billing_account_id_async(billing_account_id, filter: nil, custom_headers: nil) ⇒ Concurrent::Promise
List of recommendations for purchasing reserved instances on billing account scope.
-
#list_by_billing_account_id_next(next_page_link, custom_headers: nil) ⇒ ReservationRecommendationsListResult
List of recommendations for purchasing reserved instances on billing account scope.
-
#list_by_billing_account_id_next_async(next_page_link, custom_headers: nil) ⇒ Concurrent::Promise
List of recommendations for purchasing reserved instances on billing account scope.
-
#list_by_billing_account_id_next_with_http_info(next_page_link, custom_headers: nil) ⇒ MsRestAzure::AzureOperationResponse
List of recommendations for purchasing reserved instances on billing account scope.
-
#list_by_billing_account_id_with_http_info(billing_account_id, filter: nil, custom_headers: nil) ⇒ MsRestAzure::AzureOperationResponse
List of recommendations for purchasing reserved instances on billing account scope.
-
#list_next(next_page_link, custom_headers: nil) ⇒ ReservationRecommendationsListResult
List of recommendations for purchasing reserved instances.
-
#list_next_async(next_page_link, custom_headers: nil) ⇒ Concurrent::Promise
List of recommendations for purchasing reserved instances.
-
#list_next_with_http_info(next_page_link, custom_headers: nil) ⇒ MsRestAzure::AzureOperationResponse
List of recommendations for purchasing reserved instances.
-
#list_with_http_info(filter: nil, custom_headers: nil) ⇒ MsRestAzure::AzureOperationResponse
List of recommendations for purchasing reserved instances.
Constructor Details
#initialize(client) ⇒ ReservationRecommendations
Creates and initializes a new instance of the ReservationRecommendations class.
18 19 20 |
# File 'lib/2019-06-01/generated/azure_mgmt_consumption/reservation_recommendations.rb', line 18 def initialize(client) @client = client end |
Instance Attribute Details
#client ⇒ ConsumptionManagementClient (readonly)
Returns reference to the ConsumptionManagementClient.
23 24 25 |
# File 'lib/2019-06-01/generated/azure_mgmt_consumption/reservation_recommendations.rb', line 23 def client @client end |
Instance Method Details
#list(filter: nil, custom_headers: nil) ⇒ Array<ReservationRecommendation>
List of recommendations for purchasing reserved instances.
properties/scope and properties/lookBackPeriod. will be added to the HTTP request.
35 36 37 38 |
# File 'lib/2019-06-01/generated/azure_mgmt_consumption/reservation_recommendations.rb', line 35 def list(filter:nil, custom_headers:nil) first_page = list_as_lazy(filter:filter, custom_headers:custom_headers) first_page.get_all_items end |
#list_as_lazy(filter: nil, custom_headers: nil) ⇒ ReservationRecommendationsListResult
List of recommendations for purchasing reserved instances.
properties/scope and properties/lookBackPeriod. will be added to the HTTP request.
pages of the response.
409 410 411 412 413 414 415 416 417 418 |
# File 'lib/2019-06-01/generated/azure_mgmt_consumption/reservation_recommendations.rb', line 409 def list_as_lazy(filter:nil, custom_headers:nil) response = list_async(filter:filter, custom_headers:custom_headers).value! unless response.nil? page = response.body page.next_method = Proc.new do |next_page_link| list_next_async(next_page_link, custom_headers:custom_headers) end page end end |
#list_async(filter: nil, custom_headers: nil) ⇒ Concurrent::Promise
List of recommendations for purchasing reserved instances.
properties/scope and properties/lookBackPeriod. to the HTTP request.
64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 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 114 115 |
# File 'lib/2019-06-01/generated/azure_mgmt_consumption/reservation_recommendations.rb', line 64 def list_async(filter:nil, custom_headers:nil) fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil? fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil? request_headers = {} request_headers['Content-Type'] = 'application/json; charset=utf-8' # Set Headers request_headers['x-ms-client-request-id'] = SecureRandom.uuid request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil? path_template = 'subscriptions/{subscriptionId}/providers/Microsoft.Consumption/reservationRecommendations' request_url = @base_url || @client.base_url = { middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]], path_params: {'subscriptionId' => @client.subscription_id}, query_params: {'$filter' => filter,'api-version' => @client.api_version}, headers: request_headers.merge(custom_headers || {}), base_url: request_url } promise = @client.make_request_async(:get, path_template, ) promise = promise.then do |result| http_response = result.response status_code = http_response.status response_content = http_response.body unless status_code == 200 error_model = JSON.load(response_content) fail MsRest::HttpOperationError.new(result.request, http_response, error_model) end result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil? result.correlation_request_id = http_response['x-ms-correlation-request-id'] unless http_response['x-ms-correlation-request-id'].nil? result.client_request_id = http_response['x-ms-client-request-id'] unless http_response['x-ms-client-request-id'].nil? # Deserialize Response if status_code == 200 begin parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content) result_mapper = Azure::Consumption::Mgmt::V2019_06_01::Models::ReservationRecommendationsListResult.mapper() result.body = @client.deserialize(result_mapper, parsed_response) rescue Exception => e fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e., e.backtrace, result) end end result end promise.execute end |
#list_by_billing_account_id(billing_account_id, filter: nil, custom_headers: nil) ⇒ Array<ReservationRecommendation>
List of recommendations for purchasing reserved instances on billing account scope
properties/scope and properties/lookBackPeriod. will be added to the HTTP request.
129 130 131 132 |
# File 'lib/2019-06-01/generated/azure_mgmt_consumption/reservation_recommendations.rb', line 129 def list_by_billing_account_id(billing_account_id, filter:nil, custom_headers:nil) first_page = list_by_billing_account_id_as_lazy(billing_account_id, filter:filter, custom_headers:custom_headers) first_page.get_all_items end |
#list_by_billing_account_id_as_lazy(billing_account_id, filter: nil, custom_headers: nil) ⇒ ReservationRecommendationsListResult
List of recommendations for purchasing reserved instances on billing account scope
properties/scope and properties/lookBackPeriod. will be added to the HTTP request.
pages of the response.
433 434 435 436 437 438 439 440 441 442 |
# File 'lib/2019-06-01/generated/azure_mgmt_consumption/reservation_recommendations.rb', line 433 def list_by_billing_account_id_as_lazy(billing_account_id, filter:nil, custom_headers:nil) response = list_by_billing_account_id_async(billing_account_id, filter:filter, custom_headers:custom_headers).value! unless response.nil? page = response.body page.next_method = Proc.new do |next_page_link| list_by_billing_account_id_next_async(next_page_link, custom_headers:custom_headers) end page end end |
#list_by_billing_account_id_async(billing_account_id, filter: nil, custom_headers: nil) ⇒ Concurrent::Promise
List of recommendations for purchasing reserved instances on billing account scope
properties/scope and properties/lookBackPeriod. to the HTTP request.
162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 |
# File 'lib/2019-06-01/generated/azure_mgmt_consumption/reservation_recommendations.rb', line 162 def list_by_billing_account_id_async(billing_account_id, filter:nil, custom_headers:nil) fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil? fail ArgumentError, 'billing_account_id is nil' if billing_account_id.nil? request_headers = {} request_headers['Content-Type'] = 'application/json; charset=utf-8' # Set Headers request_headers['x-ms-client-request-id'] = SecureRandom.uuid request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil? path_template = 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/providers/microsoft.consumption/ReservationRecommendations' request_url = @base_url || @client.base_url = { middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]], path_params: {'billingAccountId' => billing_account_id}, query_params: {'$filter' => filter,'api-version' => @client.api_version}, headers: request_headers.merge(custom_headers || {}), base_url: request_url } promise = @client.make_request_async(:get, path_template, ) promise = promise.then do |result| http_response = result.response status_code = http_response.status response_content = http_response.body unless status_code == 200 error_model = JSON.load(response_content) fail MsRest::HttpOperationError.new(result.request, http_response, error_model) end result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil? result.correlation_request_id = http_response['x-ms-correlation-request-id'] unless http_response['x-ms-correlation-request-id'].nil? result.client_request_id = http_response['x-ms-client-request-id'] unless http_response['x-ms-client-request-id'].nil? # Deserialize Response if status_code == 200 begin parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content) result_mapper = Azure::Consumption::Mgmt::V2019_06_01::Models::ReservationRecommendationsListResult.mapper() result.body = @client.deserialize(result_mapper, parsed_response) rescue Exception => e fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e., e.backtrace, result) end end result end promise.execute end |
#list_by_billing_account_id_next(next_page_link, custom_headers: nil) ⇒ ReservationRecommendationsListResult
List of recommendations for purchasing reserved instances on billing account scope
to List operation. will be added to the HTTP request.
316 317 318 319 |
# File 'lib/2019-06-01/generated/azure_mgmt_consumption/reservation_recommendations.rb', line 316 def list_by_billing_account_id_next(next_page_link, custom_headers:nil) response = list_by_billing_account_id_next_async(next_page_link, custom_headers:custom_headers).value! response.body unless response.nil? end |
#list_by_billing_account_id_next_async(next_page_link, custom_headers: nil) ⇒ Concurrent::Promise
List of recommendations for purchasing reserved instances on billing account scope
to List operation. to the HTTP request.
347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 |
# File 'lib/2019-06-01/generated/azure_mgmt_consumption/reservation_recommendations.rb', line 347 def list_by_billing_account_id_next_async(next_page_link, custom_headers:nil) fail ArgumentError, 'next_page_link is nil' if next_page_link.nil? request_headers = {} request_headers['Content-Type'] = 'application/json; charset=utf-8' # Set Headers request_headers['x-ms-client-request-id'] = SecureRandom.uuid request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil? path_template = '{nextLink}' request_url = @base_url || @client.base_url = { middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]], skip_encoding_path_params: {'nextLink' => next_page_link}, headers: request_headers.merge(custom_headers || {}), base_url: request_url } promise = @client.make_request_async(:get, path_template, ) promise = promise.then do |result| http_response = result.response status_code = http_response.status response_content = http_response.body unless status_code == 200 error_model = JSON.load(response_content) fail MsRest::HttpOperationError.new(result.request, http_response, error_model) end result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil? result.correlation_request_id = http_response['x-ms-correlation-request-id'] unless http_response['x-ms-correlation-request-id'].nil? result.client_request_id = http_response['x-ms-client-request-id'] unless http_response['x-ms-client-request-id'].nil? # Deserialize Response if status_code == 200 begin parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content) result_mapper = Azure::Consumption::Mgmt::V2019_06_01::Models::ReservationRecommendationsListResult.mapper() result.body = @client.deserialize(result_mapper, parsed_response) rescue Exception => e fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e., e.backtrace, result) end end result end promise.execute end |
#list_by_billing_account_id_next_with_http_info(next_page_link, custom_headers: nil) ⇒ MsRestAzure::AzureOperationResponse
List of recommendations for purchasing reserved instances on billing account scope
to List operation. will be added to the HTTP request.
332 333 334 |
# File 'lib/2019-06-01/generated/azure_mgmt_consumption/reservation_recommendations.rb', line 332 def list_by_billing_account_id_next_with_http_info(next_page_link, custom_headers:nil) list_by_billing_account_id_next_async(next_page_link, custom_headers:custom_headers).value! end |
#list_by_billing_account_id_with_http_info(billing_account_id, filter: nil, custom_headers: nil) ⇒ MsRestAzure::AzureOperationResponse
List of recommendations for purchasing reserved instances on billing account scope
properties/scope and properties/lookBackPeriod. will be added to the HTTP request.
146 147 148 |
# File 'lib/2019-06-01/generated/azure_mgmt_consumption/reservation_recommendations.rb', line 146 def list_by_billing_account_id_with_http_info(billing_account_id, filter:nil, custom_headers:nil) list_by_billing_account_id_async(billing_account_id, filter:filter, custom_headers:custom_headers).value! end |
#list_next(next_page_link, custom_headers: nil) ⇒ ReservationRecommendationsListResult
List of recommendations for purchasing reserved instances.
to List operation. will be added to the HTTP request.
225 226 227 228 |
# File 'lib/2019-06-01/generated/azure_mgmt_consumption/reservation_recommendations.rb', line 225 def list_next(next_page_link, custom_headers:nil) response = list_next_async(next_page_link, custom_headers:custom_headers).value! response.body unless response.nil? end |
#list_next_async(next_page_link, custom_headers: nil) ⇒ Concurrent::Promise
List of recommendations for purchasing reserved instances.
to List operation. to the HTTP request.
254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 |
# File 'lib/2019-06-01/generated/azure_mgmt_consumption/reservation_recommendations.rb', line 254 def list_next_async(next_page_link, custom_headers:nil) fail ArgumentError, 'next_page_link is nil' if next_page_link.nil? request_headers = {} request_headers['Content-Type'] = 'application/json; charset=utf-8' # Set Headers request_headers['x-ms-client-request-id'] = SecureRandom.uuid request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil? path_template = '{nextLink}' request_url = @base_url || @client.base_url = { middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]], skip_encoding_path_params: {'nextLink' => next_page_link}, headers: request_headers.merge(custom_headers || {}), base_url: request_url } promise = @client.make_request_async(:get, path_template, ) promise = promise.then do |result| http_response = result.response status_code = http_response.status response_content = http_response.body unless status_code == 200 error_model = JSON.load(response_content) fail MsRest::HttpOperationError.new(result.request, http_response, error_model) end result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil? result.correlation_request_id = http_response['x-ms-correlation-request-id'] unless http_response['x-ms-correlation-request-id'].nil? result.client_request_id = http_response['x-ms-client-request-id'] unless http_response['x-ms-client-request-id'].nil? # Deserialize Response if status_code == 200 begin parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content) result_mapper = Azure::Consumption::Mgmt::V2019_06_01::Models::ReservationRecommendationsListResult.mapper() result.body = @client.deserialize(result_mapper, parsed_response) rescue Exception => e fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e., e.backtrace, result) end end result end promise.execute end |
#list_next_with_http_info(next_page_link, custom_headers: nil) ⇒ MsRestAzure::AzureOperationResponse
List of recommendations for purchasing reserved instances.
to List operation. will be added to the HTTP request.
240 241 242 |
# File 'lib/2019-06-01/generated/azure_mgmt_consumption/reservation_recommendations.rb', line 240 def list_next_with_http_info(next_page_link, custom_headers:nil) list_next_async(next_page_link, custom_headers:custom_headers).value! end |
#list_with_http_info(filter: nil, custom_headers: nil) ⇒ MsRestAzure::AzureOperationResponse
List of recommendations for purchasing reserved instances.
properties/scope and properties/lookBackPeriod. will be added to the HTTP request.
50 51 52 |
# File 'lib/2019-06-01/generated/azure_mgmt_consumption/reservation_recommendations.rb', line 50 def list_with_http_info(filter:nil, custom_headers:nil) list_async(filter:filter, custom_headers:custom_headers).value! end |