Class: Azure::Consumption::Mgmt::V2018_03_31::CostTagsOperations
- Inherits:
-
Object
- Object
- Azure::Consumption::Mgmt::V2018_03_31::CostTagsOperations
- Includes:
- MsRestAzure
- Defined in:
- lib/2018-03-31/generated/azure_mgmt_consumption/cost_tags_operations.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
-
#create_or_update(billing_account_id, parameters, custom_headers: nil) ⇒ CostTags
The operation to create or update cost tags assiciated with a billing account.
-
#create_or_update_async(billing_account_id, parameters, custom_headers: nil) ⇒ Concurrent::Promise
The operation to create or update cost tags assiciated with a billing account.
-
#create_or_update_with_http_info(billing_account_id, parameters, custom_headers: nil) ⇒ MsRestAzure::AzureOperationResponse
The operation to create or update cost tags assiciated with a billing account.
-
#get(billing_account_id, custom_headers: nil) ⇒ CostTags
Get cost tags for a billing account.
-
#get_async(billing_account_id, custom_headers: nil) ⇒ Concurrent::Promise
Get cost tags for a billing account.
-
#get_with_http_info(billing_account_id, custom_headers: nil) ⇒ MsRestAzure::AzureOperationResponse
Get cost tags for a billing account.
-
#initialize(client) ⇒ CostTagsOperations
constructor
Creates and initializes a new instance of the CostTagsOperations class.
Constructor Details
#initialize(client) ⇒ CostTagsOperations
Creates and initializes a new instance of the CostTagsOperations class.
18 19 20 |
# File 'lib/2018-03-31/generated/azure_mgmt_consumption/cost_tags_operations.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/2018-03-31/generated/azure_mgmt_consumption/cost_tags_operations.rb', line 23 def client @client end |
Instance Method Details
#create_or_update(billing_account_id, parameters, custom_headers: nil) ⇒ CostTags
The operation to create or update cost tags assiciated with a billing account. Update operation requires latest eTag to be set in the request mandatorily. You may obtain the latest eTag by performing a get operation. Create operation does not require eTag.
operation. will be added to the HTTP request.
128 129 130 131 |
# File 'lib/2018-03-31/generated/azure_mgmt_consumption/cost_tags_operations.rb', line 128 def create_or_update(billing_account_id, parameters, custom_headers:nil) response = create_or_update_async(billing_account_id, parameters, custom_headers:custom_headers).value! response.body unless response.nil? end |
#create_or_update_async(billing_account_id, parameters, custom_headers: nil) ⇒ Concurrent::Promise
The operation to create or update cost tags assiciated with a billing account. Update operation requires latest eTag to be set in the request mandatorily. You may obtain the latest eTag by performing a get operation. Create operation does not require eTag.
operation. to the HTTP request.
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 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 |
# File 'lib/2018-03-31/generated/azure_mgmt_consumption/cost_tags_operations.rb', line 165 def create_or_update_async(billing_account_id, parameters, 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? fail ArgumentError, 'parameters is nil' if parameters.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? # Serialize Request request_mapper = Azure::Consumption::Mgmt::V2018_03_31::Models::CostTags.mapper() request_content = @client.serialize(request_mapper, parameters) request_content = request_content != nil ? JSON.generate(request_content, quirks_mode: true) : nil path_template = 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/providers/Microsoft.Consumption/costTags' 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: {'api-version' => @client.api_version}, body: request_content, headers: request_headers.merge(custom_headers || {}), base_url: request_url } promise = @client.make_request_async(:put, 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 || status_code == 201 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_03_31::Models::CostTags.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 # Deserialize Response if status_code == 201 begin parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content) result_mapper = Azure::Consumption::Mgmt::V2018_03_31::Models::CostTags.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 |
#create_or_update_with_http_info(billing_account_id, parameters, custom_headers: nil) ⇒ MsRestAzure::AzureOperationResponse
The operation to create or update cost tags assiciated with a billing account. Update operation requires latest eTag to be set in the request mandatorily. You may obtain the latest eTag by performing a get operation. Create operation does not require eTag.
operation. will be added to the HTTP request.
147 148 149 |
# File 'lib/2018-03-31/generated/azure_mgmt_consumption/cost_tags_operations.rb', line 147 def create_or_update_with_http_info(billing_account_id, parameters, custom_headers:nil) create_or_update_async(billing_account_id, parameters, custom_headers:custom_headers).value! end |
#get(billing_account_id, custom_headers: nil) ⇒ CostTags
Get cost tags for a billing account.
will be added to the HTTP request.
34 35 36 37 |
# File 'lib/2018-03-31/generated/azure_mgmt_consumption/cost_tags_operations.rb', line 34 def get(billing_account_id, custom_headers:nil) response = get_async(billing_account_id, custom_headers:custom_headers).value! response.body unless response.nil? end |
#get_async(billing_account_id, custom_headers: nil) ⇒ Concurrent::Promise
Get cost tags for a billing account.
to the HTTP request.
61 62 63 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 |
# File 'lib/2018-03-31/generated/azure_mgmt_consumption/cost_tags_operations.rb', line 61 def get_async(billing_account_id, 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/costTags' 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: {'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::V2018_03_31::Models::CostTags.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 |
#get_with_http_info(billing_account_id, custom_headers: nil) ⇒ MsRestAzure::AzureOperationResponse
Get cost tags for a billing account.
will be added to the HTTP request.
48 49 50 |
# File 'lib/2018-03-31/generated/azure_mgmt_consumption/cost_tags_operations.rb', line 48 def get_with_http_info(billing_account_id, custom_headers:nil) get_async(billing_account_id, custom_headers:custom_headers).value! end |