Class: Azure::CostManagement::Mgmt::V2019_04_01_preview::Budget
- Inherits:
-
Object
- Object
- Azure::CostManagement::Mgmt::V2019_04_01_preview::Budget
- Includes:
- MsRestAzure
- Defined in:
- lib/2019-04-01-preview/generated/azure_mgmt_cost_management/budget.rb
Overview
Budget
Instance Attribute Summary collapse
-
#client ⇒ CostManagementClient
readonly
Reference to the CostManagementClient.
Instance Method Summary collapse
-
#create_or_update(scope, budget_name, parameters: nil, custom_headers: nil) ⇒ BudgetModel
The operation to create or update a budget.
-
#create_or_update_async(scope, budget_name, parameters: nil, custom_headers: nil) ⇒ Concurrent::Promise
The operation to create or update a budget.
-
#create_or_update_with_http_info(scope, budget_name, parameters: nil, custom_headers: nil) ⇒ MsRestAzure::AzureOperationResponse
The operation to create or update a budget.
-
#delete(scope, budget_name, custom_headers: nil) ⇒ Object
The operation to delete a budget.
-
#delete_async(scope, budget_name, custom_headers: nil) ⇒ Concurrent::Promise
The operation to delete a budget.
-
#delete_with_http_info(scope, budget_name, custom_headers: nil) ⇒ MsRestAzure::AzureOperationResponse
The operation to delete a budget.
-
#get(scope, budget_name, custom_headers: nil) ⇒ BudgetModel
Gets the budget for the scope by budget name.
-
#get_async(scope, budget_name, custom_headers: nil) ⇒ Concurrent::Promise
Gets the budget for the scope by budget name.
-
#get_with_http_info(scope, budget_name, custom_headers: nil) ⇒ MsRestAzure::AzureOperationResponse
Gets the budget for the scope by budget name.
-
#initialize(client) ⇒ Budget
constructor
Creates and initializes a new instance of the Budget class.
Constructor Details
#initialize(client) ⇒ Budget
Creates and initializes a new instance of the Budget class.
17 18 19 |
# File 'lib/2019-04-01-preview/generated/azure_mgmt_cost_management/budget.rb', line 17 def initialize(client) @client = client end |
Instance Attribute Details
#client ⇒ CostManagementClient (readonly)
Returns reference to the CostManagementClient.
22 23 24 |
# File 'lib/2019-04-01-preview/generated/azure_mgmt_cost_management/budget.rb', line 22 def client @client end |
Instance Method Details
#create_or_update(scope, budget_name, parameters: nil, custom_headers: nil) ⇒ BudgetModel
The operation to create or update a budget. 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.
includes '/subscriptions/subscriptionId/' for subscription scope, '/subscriptions/subscriptionId/resourceGroups/resourceGroupName' for resourceGroup scope, '/providers/Microsoft.Billing/billingAccounts/billingAccountId' for Billing Account scope, '/providers/Microsoft.Billing/billingAccounts/billingAccountId/departments/departmentId' for Department scope, '/providers/Microsoft.Billing/billingAccounts/billingAccountId/enrollmentAccounts/enrollmentAccountId' for EnrollmentAccount scope, '/providers/Microsoft.Management/managementGroups/managementGroupId' for Management Group scope, '/providers/Microsoft.Billing/billingAccounts/billingAccountId/billingProfiles/billingProfileId' for billingProfile scope, 'providers/Microsoft.Billing/billingAccounts/billingAccountId/invoiceSections/invoiceSectionId' for invoiceSection scope. operation. will be added to the HTTP request.
192 193 194 195 |
# File 'lib/2019-04-01-preview/generated/azure_mgmt_cost_management/budget.rb', line 192 def create_or_update(scope, budget_name, parameters:nil, custom_headers:nil) response = create_or_update_async(scope, budget_name, parameters:parameters, custom_headers:custom_headers).value! response.body unless response.nil? end |
#create_or_update_async(scope, budget_name, parameters: nil, custom_headers: nil) ⇒ Concurrent::Promise
The operation to create or update a budget. 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.
includes '/subscriptions/subscriptionId/' for subscription scope, '/subscriptions/subscriptionId/resourceGroups/resourceGroupName' for resourceGroup scope, '/providers/Microsoft.Billing/billingAccounts/billingAccountId' for Billing Account scope, '/providers/Microsoft.Billing/billingAccounts/billingAccountId/departments/departmentId' for Department scope, '/providers/Microsoft.Billing/billingAccounts/billingAccountId/enrollmentAccounts/enrollmentAccountId' for EnrollmentAccount scope, '/providers/Microsoft.Management/managementGroups/managementGroupId' for Management Group scope, '/providers/Microsoft.Billing/billingAccounts/billingAccountId/billingProfiles/billingProfileId' for billingProfile scope, 'providers/Microsoft.Billing/billingAccounts/billingAccountId/invoiceSections/invoiceSectionId' for invoiceSection scope. operation. to the HTTP request.
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 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 |
# File 'lib/2019-04-01-preview/generated/azure_mgmt_cost_management/budget.rb', line 259 def create_or_update_async(scope, budget_name, parameters:nil, custom_headers:nil) fail ArgumentError, 'scope is nil' if scope.nil? fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil? fail ArgumentError, 'budget_name is nil' if budget_name.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::CostManagement::Mgmt::V2019_04_01_preview::Models::BudgetModel.mapper() request_content = @client.serialize(request_mapper, parameters) request_content = request_content != nil ? JSON.generate(request_content, quirks_mode: true) : nil path_template = '{scope}/providers/Microsoft.CostManagement/budgets/{budgetName}' request_url = @base_url || @client.base_url = { middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]], path_params: {'budgetName' => budget_name}, skip_encoding_path_params: {'scope' => scope}, 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::CostManagement::Mgmt::V2019_04_01_preview::Models::BudgetModel.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::CostManagement::Mgmt::V2019_04_01_preview::Models::BudgetModel.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(scope, budget_name, parameters: nil, custom_headers: nil) ⇒ MsRestAzure::AzureOperationResponse
The operation to create or update a budget. 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.
includes '/subscriptions/subscriptionId/' for subscription scope, '/subscriptions/subscriptionId/resourceGroups/resourceGroupName' for resourceGroup scope, '/providers/Microsoft.Billing/billingAccounts/billingAccountId' for Billing Account scope, '/providers/Microsoft.Billing/billingAccounts/billingAccountId/departments/departmentId' for Department scope, '/providers/Microsoft.Billing/billingAccounts/billingAccountId/enrollmentAccounts/enrollmentAccountId' for EnrollmentAccount scope, '/providers/Microsoft.Management/managementGroups/managementGroupId' for Management Group scope, '/providers/Microsoft.Billing/billingAccounts/billingAccountId/billingProfiles/billingProfileId' for billingProfile scope, 'providers/Microsoft.Billing/billingAccounts/billingAccountId/invoiceSections/invoiceSectionId' for invoiceSection scope. operation. will be added to the HTTP request.
226 227 228 |
# File 'lib/2019-04-01-preview/generated/azure_mgmt_cost_management/budget.rb', line 226 def create_or_update_with_http_info(scope, budget_name, parameters:nil, custom_headers:nil) create_or_update_async(scope, budget_name, parameters:parameters, custom_headers:custom_headers).value! end |
#delete(scope, budget_name, custom_headers: nil) ⇒ Object
The operation to delete a budget.
includes '/subscriptions/subscriptionId/' for subscription scope, '/subscriptions/subscriptionId/resourceGroups/resourceGroupName' for resourceGroup scope, '/providers/Microsoft.Billing/billingAccounts/billingAccountId' for Billing Account scope, '/providers/Microsoft.Billing/billingAccounts/billingAccountId/departments/departmentId' for Department scope, '/providers/Microsoft.Billing/billingAccounts/billingAccountId/enrollmentAccounts/enrollmentAccountId' for EnrollmentAccount scope, '/providers/Microsoft.Management/managementGroups/managementGroupId' for Management Group scope, '/providers/Microsoft.Billing/billingAccounts/billingAccountId/billingProfiles/billingProfileId' for billingProfile scope, 'providers/Microsoft.Billing/billingAccounts/billingAccountId/invoiceSections/invoiceSectionId' for invoiceSection scope. will be added to the HTTP request.
355 356 357 358 |
# File 'lib/2019-04-01-preview/generated/azure_mgmt_cost_management/budget.rb', line 355 def delete(scope, budget_name, custom_headers:nil) response = delete_async(scope, budget_name, custom_headers:custom_headers).value! nil end |
#delete_async(scope, budget_name, custom_headers: nil) ⇒ Concurrent::Promise
The operation to delete a budget.
includes '/subscriptions/subscriptionId/' for subscription scope, '/subscriptions/subscriptionId/resourceGroups/resourceGroupName' for resourceGroup scope, '/providers/Microsoft.Billing/billingAccounts/billingAccountId' for Billing Account scope, '/providers/Microsoft.Billing/billingAccounts/billingAccountId/departments/departmentId' for Department scope, '/providers/Microsoft.Billing/billingAccounts/billingAccountId/enrollmentAccounts/enrollmentAccountId' for EnrollmentAccount scope, '/providers/Microsoft.Management/managementGroups/managementGroupId' for Management Group scope, '/providers/Microsoft.Billing/billingAccounts/billingAccountId/billingProfiles/billingProfileId' for billingProfile scope, 'providers/Microsoft.Billing/billingAccounts/billingAccountId/invoiceSections/invoiceSectionId' for invoiceSection scope. to the HTTP request.
414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 |
# File 'lib/2019-04-01-preview/generated/azure_mgmt_cost_management/budget.rb', line 414 def delete_async(scope, budget_name, custom_headers:nil) fail ArgumentError, 'scope is nil' if scope.nil? fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil? fail ArgumentError, 'budget_name is nil' if budget_name.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 = '{scope}/providers/Microsoft.CostManagement/budgets/{budgetName}' request_url = @base_url || @client.base_url = { middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]], path_params: {'budgetName' => budget_name}, skip_encoding_path_params: {'scope' => scope}, query_params: {'api-version' => @client.api_version}, headers: request_headers.merge(custom_headers || {}), base_url: request_url } promise = @client.make_request_async(:delete, 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 == 204 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? result end promise.execute end |
#delete_with_http_info(scope, budget_name, custom_headers: nil) ⇒ MsRestAzure::AzureOperationResponse
The operation to delete a budget.
includes '/subscriptions/subscriptionId/' for subscription scope, '/subscriptions/subscriptionId/resourceGroups/resourceGroupName' for resourceGroup scope, '/providers/Microsoft.Billing/billingAccounts/billingAccountId' for Billing Account scope, '/providers/Microsoft.Billing/billingAccounts/billingAccountId/departments/departmentId' for Department scope, '/providers/Microsoft.Billing/billingAccounts/billingAccountId/enrollmentAccounts/enrollmentAccountId' for EnrollmentAccount scope, '/providers/Microsoft.Management/managementGroups/managementGroupId' for Management Group scope, '/providers/Microsoft.Billing/billingAccounts/billingAccountId/billingProfiles/billingProfileId' for billingProfile scope, 'providers/Microsoft.Billing/billingAccounts/billingAccountId/invoiceSections/invoiceSectionId' for invoiceSection scope. will be added to the HTTP request.
385 386 387 |
# File 'lib/2019-04-01-preview/generated/azure_mgmt_cost_management/budget.rb', line 385 def delete_with_http_info(scope, budget_name, custom_headers:nil) delete_async(scope, budget_name, custom_headers:custom_headers).value! end |
#get(scope, budget_name, custom_headers: nil) ⇒ BudgetModel
Gets the budget for the scope by budget name.
includes '/subscriptions/subscriptionId/' for subscription scope, '/subscriptions/subscriptionId/resourceGroups/resourceGroupName' for resourceGroup scope, '/providers/Microsoft.Billing/billingAccounts/billingAccountId' for Billing Account scope, '/providers/Microsoft.Billing/billingAccounts/billingAccountId/departments/departmentId' for Department scope, '/providers/Microsoft.Billing/billingAccounts/billingAccountId/enrollmentAccounts/enrollmentAccountId' for EnrollmentAccount scope, '/providers/Microsoft.Management/managementGroups/managementGroupId' for Management Group scope, '/providers/Microsoft.Billing/billingAccounts/billingAccountId/billingProfiles/billingProfileId' for billingProfile scope, 'providers/Microsoft.Billing/billingAccounts/billingAccountId/invoiceSections/invoiceSectionId' for invoiceSection scope. will be added to the HTTP request.
49 50 51 52 |
# File 'lib/2019-04-01-preview/generated/azure_mgmt_cost_management/budget.rb', line 49 def get(scope, budget_name, custom_headers:nil) response = get_async(scope, budget_name, custom_headers:custom_headers).value! response.body unless response.nil? end |
#get_async(scope, budget_name, custom_headers: nil) ⇒ Concurrent::Promise
Gets the budget for the scope by budget name.
includes '/subscriptions/subscriptionId/' for subscription scope, '/subscriptions/subscriptionId/resourceGroups/resourceGroupName' for resourceGroup scope, '/providers/Microsoft.Billing/billingAccounts/billingAccountId' for Billing Account scope, '/providers/Microsoft.Billing/billingAccounts/billingAccountId/departments/departmentId' for Department scope, '/providers/Microsoft.Billing/billingAccounts/billingAccountId/enrollmentAccounts/enrollmentAccountId' for EnrollmentAccount scope, '/providers/Microsoft.Management/managementGroups/managementGroupId' for Management Group scope, '/providers/Microsoft.Billing/billingAccounts/billingAccountId/billingProfiles/billingProfileId' for billingProfile scope, 'providers/Microsoft.Billing/billingAccounts/billingAccountId/invoiceSections/invoiceSectionId' for invoiceSection scope. to the HTTP request.
108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 |
# File 'lib/2019-04-01-preview/generated/azure_mgmt_cost_management/budget.rb', line 108 def get_async(scope, budget_name, custom_headers:nil) fail ArgumentError, 'scope is nil' if scope.nil? fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil? fail ArgumentError, 'budget_name is nil' if budget_name.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 = '{scope}/providers/Microsoft.CostManagement/budgets/{budgetName}' request_url = @base_url || @client.base_url = { middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]], path_params: {'budgetName' => budget_name}, skip_encoding_path_params: {'scope' => scope}, 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::CostManagement::Mgmt::V2019_04_01_preview::Models::BudgetModel.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(scope, budget_name, custom_headers: nil) ⇒ MsRestAzure::AzureOperationResponse
Gets the budget for the scope by budget name.
includes '/subscriptions/subscriptionId/' for subscription scope, '/subscriptions/subscriptionId/resourceGroups/resourceGroupName' for resourceGroup scope, '/providers/Microsoft.Billing/billingAccounts/billingAccountId' for Billing Account scope, '/providers/Microsoft.Billing/billingAccounts/billingAccountId/departments/departmentId' for Department scope, '/providers/Microsoft.Billing/billingAccounts/billingAccountId/enrollmentAccounts/enrollmentAccountId' for EnrollmentAccount scope, '/providers/Microsoft.Management/managementGroups/managementGroupId' for Management Group scope, '/providers/Microsoft.Billing/billingAccounts/billingAccountId/billingProfiles/billingProfileId' for billingProfile scope, 'providers/Microsoft.Billing/billingAccounts/billingAccountId/invoiceSections/invoiceSectionId' for invoiceSection scope. will be added to the HTTP request.
79 80 81 |
# File 'lib/2019-04-01-preview/generated/azure_mgmt_cost_management/budget.rb', line 79 def get_with_http_info(scope, budget_name, custom_headers:nil) get_async(scope, budget_name, custom_headers:custom_headers).value! end |