class Azure::Consumption::Mgmt::V2018_11_01_preview::ChargesByInvoiceSection
Consumption
management client provides access to consumption resources for Azure
Enterprise Subscriptions.
Attributes
@return [ConsumptionManagementClient] reference to the ConsumptionManagementClient
Public Class Methods
Creates and initializes a new instance of the ChargesByInvoiceSection
class. @param client service class for accessing basic functionality.
# File lib/2018-11-01-preview/generated/azure_mgmt_consumption/charges_by_invoice_section.rb, line 18 def initialize(client) @client = client end
Public Instance Methods
Lists the charges by invoice section id for given start and end date. Start and end date are used to determine the billing period. For current month, the data will be provided from month to date. If there are no charges for a month then that month will show all zeroes.
@param billing_account_id [String] BillingAccount ID @param invoice_section_id [String] Invoice Section Id. @param start_date [String] Start date @param end_date [String] End date @param apply [String] May be used to group charges by properties/productName. @param custom_headers [Hash{String => String}] A hash of custom headers that will be added to the HTTP request.
@return [ChargesListByInvoiceSection] operation results.
# File lib/2018-11-01-preview/generated/azure_mgmt_consumption/charges_by_invoice_section.rb, line 41 def list(billing_account_id, invoice_section_id, start_date, end_date, apply:nil, custom_headers:nil) response = list_async(billing_account_id, invoice_section_id, start_date, end_date, apply:apply, custom_headers:custom_headers).value! response.body unless response.nil? end
Lists the charges by invoice section id for given start and end date. Start and end date are used to determine the billing period. For current month, the data will be provided from month to date. If there are no charges for a month then that month will show all zeroes.
@param billing_account_id [String] BillingAccount ID @param invoice_section_id [String] Invoice Section Id. @param start_date [String] Start date @param end_date [String] End date @param apply [String] May be used to group charges by properties/productName. @param [Hash{String => String}] A hash of custom headers that will be added to the HTTP request.
@return [Concurrent::Promise] Promise object which holds the HTTP response.
# File lib/2018-11-01-preview/generated/azure_mgmt_consumption/charges_by_invoice_section.rb, line 82 def list_async(billing_account_id, invoice_section_id, start_date, end_date, apply:nil, custom_headers:nil) fail ArgumentError, 'billing_account_id is nil' if billing_account_id.nil? fail ArgumentError, 'invoice_section_id is nil' if invoice_section_id.nil? fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil? fail ArgumentError, 'start_date is nil' if start_date.nil? fail ArgumentError, 'end_date is nil' if end_date.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}/invoiceSections/{invoiceSectionId}/providers/Microsoft.Consumption/charges' request_url = @base_url || @client.base_url options = { middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]], path_params: {'billingAccountId' => billing_account_id,'invoiceSectionId' => invoice_section_id}, query_params: {'api-version' => @client.api_version,'startDate' => start_date,'endDate' => end_date,'$apply' => apply}, headers: request_headers.merge(custom_headers || {}), base_url: request_url } promise = @client.make_request_async(:get, path_template, options) 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::V2018_11_01_preview::Models::ChargesListByInvoiceSection.mapper() result.body = @client.deserialize(result_mapper, parsed_response) rescue Exception => e fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result) end end result end promise.execute end
Lists the charges by invoice section id for given start and end date. Start and end date are used to determine the billing period. For current month, the data will be provided from month to date. If there are no charges for a month then that month will show all zeroes.
@param billing_account_id [String] BillingAccount ID @param invoice_section_id [String] Invoice Section Id. @param start_date [String] Start date @param end_date [String] End date @param apply [String] May be used to group charges by properties/productName. @param custom_headers [Hash{String => String}] A hash of custom headers that will be added to the HTTP request.
@return [MsRestAzure::AzureOperationResponse] HTTP response information.
# File lib/2018-11-01-preview/generated/azure_mgmt_consumption/charges_by_invoice_section.rb, line 62 def list_with_http_info(billing_account_id, invoice_section_id, start_date, end_date, apply:nil, custom_headers:nil) list_async(billing_account_id, invoice_section_id, start_date, end_date, apply:apply, custom_headers:custom_headers).value! end