Class: Azure::DevTestLabs::Mgmt::V2018_09_15::Costs
- Inherits:
-
Object
- Object
- Azure::DevTestLabs::Mgmt::V2018_09_15::Costs
- Includes:
- MsRestAzure
- Defined in:
- lib/2018-09-15/generated/azure_mgmt_devtestlabs/costs.rb
Overview
The DevTest Labs Client.
Instance Attribute Summary collapse
-
#client ⇒ DevTestLabsClient
readonly
Reference to the DevTestLabsClient.
Instance Method Summary collapse
-
#create_or_update(resource_group_name, lab_name, name, lab_cost, custom_headers: nil) ⇒ LabCost
Create or replace an existing cost.
-
#create_or_update_async(resource_group_name, lab_name, name, lab_cost, custom_headers: nil) ⇒ Concurrent::Promise
Create or replace an existing cost.
-
#create_or_update_with_http_info(resource_group_name, lab_name, name, lab_cost, custom_headers: nil) ⇒ MsRestAzure::AzureOperationResponse
Create or replace an existing cost.
-
#get(resource_group_name, lab_name, name, expand: nil, custom_headers: nil) ⇒ LabCost
Get cost.
-
#get_async(resource_group_name, lab_name, name, expand: nil, custom_headers: nil) ⇒ Concurrent::Promise
Get cost.
-
#get_with_http_info(resource_group_name, lab_name, name, expand: nil, custom_headers: nil) ⇒ MsRestAzure::AzureOperationResponse
Get cost.
-
#initialize(client) ⇒ Costs
constructor
Creates and initializes a new instance of the Costs class.
Constructor Details
#initialize(client) ⇒ Costs
Creates and initializes a new instance of the Costs class.
17 18 19 |
# File 'lib/2018-09-15/generated/azure_mgmt_devtestlabs/costs.rb', line 17 def initialize(client) @client = client end |
Instance Attribute Details
#client ⇒ DevTestLabsClient (readonly)
Returns reference to the DevTestLabsClient.
22 23 24 |
# File 'lib/2018-09-15/generated/azure_mgmt_devtestlabs/costs.rb', line 22 def client @client end |
Instance Method Details
#create_or_update(resource_group_name, lab_name, name, lab_cost, custom_headers: nil) ⇒ LabCost
Create or replace an existing cost.
will be added to the HTTP request.
138 139 140 141 |
# File 'lib/2018-09-15/generated/azure_mgmt_devtestlabs/costs.rb', line 138 def create_or_update(resource_group_name, lab_name, name, lab_cost, custom_headers:nil) response = create_or_update_async(resource_group_name, lab_name, name, lab_cost, custom_headers:custom_headers).value! response.body unless response.nil? end |
#create_or_update_async(resource_group_name, lab_name, name, lab_cost, custom_headers: nil) ⇒ Concurrent::Promise
Create or replace an existing cost.
to the HTTP request.
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 235 236 237 238 239 240 241 |
# File 'lib/2018-09-15/generated/azure_mgmt_devtestlabs/costs.rb', line 171 def create_or_update_async(resource_group_name, lab_name, name, lab_cost, custom_headers:nil) fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil? fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil? fail ArgumentError, 'lab_name is nil' if lab_name.nil? fail ArgumentError, 'name is nil' if name.nil? fail ArgumentError, 'lab_cost is nil' if lab_cost.nil? fail ArgumentError, '@client.api_version is nil' if @client.api_version.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::DevTestLabs::Mgmt::V2018_09_15::Models::LabCost.mapper() request_content = @client.serialize(request_mapper, lab_cost) request_content = request_content != nil ? JSON.generate(request_content, quirks_mode: true) : nil path_template = 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/costs/{name}' request_url = @base_url || @client.base_url = { middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]], path_params: {'subscriptionId' => @client.subscription_id,'resourceGroupName' => resource_group_name,'labName' => lab_name,'name' => name}, 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 MsRestAzure::AzureOperationError.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? # Deserialize Response if status_code == 200 begin parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content) result_mapper = Azure::DevTestLabs::Mgmt::V2018_09_15::Models::LabCost.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::DevTestLabs::Mgmt::V2018_09_15::Models::LabCost.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(resource_group_name, lab_name, name, lab_cost, custom_headers: nil) ⇒ MsRestAzure::AzureOperationResponse
Create or replace an existing cost.
will be added to the HTTP request.
155 156 157 |
# File 'lib/2018-09-15/generated/azure_mgmt_devtestlabs/costs.rb', line 155 def create_or_update_with_http_info(resource_group_name, lab_name, name, lab_cost, custom_headers:nil) create_or_update_async(resource_group_name, lab_name, name, lab_cost, custom_headers:custom_headers).value! end |
#get(resource_group_name, lab_name, name, expand: nil, custom_headers: nil) ⇒ LabCost
Get cost.
‘properties($expand=labCostDetails)’ will be added to the HTTP request.
37 38 39 40 |
# File 'lib/2018-09-15/generated/azure_mgmt_devtestlabs/costs.rb', line 37 def get(resource_group_name, lab_name, name, expand:nil, custom_headers:nil) response = get_async(resource_group_name, lab_name, name, expand:, custom_headers:custom_headers).value! response.body unless response.nil? end |
#get_async(resource_group_name, lab_name, name, expand: nil, custom_headers: nil) ⇒ Concurrent::Promise
Get cost.
‘properties($expand=labCostDetails)’ to the HTTP request.
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 116 117 118 119 120 121 122 123 124 |
# File 'lib/2018-09-15/generated/azure_mgmt_devtestlabs/costs.rb', line 72 def get_async(resource_group_name, lab_name, name, expand:nil, custom_headers:nil) fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil? fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil? fail ArgumentError, 'lab_name is nil' if lab_name.nil? fail ArgumentError, 'name is nil' if name.nil? fail ArgumentError, '@client.api_version is nil' if @client.api_version.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}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/costs/{name}' request_url = @base_url || @client.base_url = { middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]], path_params: {'subscriptionId' => @client.subscription_id,'resourceGroupName' => resource_group_name,'labName' => lab_name,'name' => name}, query_params: {'$expand' => ,'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 MsRestAzure::AzureOperationError.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? # Deserialize Response if status_code == 200 begin parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content) result_mapper = Azure::DevTestLabs::Mgmt::V2018_09_15::Models::LabCost.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(resource_group_name, lab_name, name, expand: nil, custom_headers: nil) ⇒ MsRestAzure::AzureOperationResponse
Get cost.
‘properties($expand=labCostDetails)’ will be added to the HTTP request.
55 56 57 |
# File 'lib/2018-09-15/generated/azure_mgmt_devtestlabs/costs.rb', line 55 def get_with_http_info(resource_group_name, lab_name, name, expand:nil, custom_headers:nil) get_async(resource_group_name, lab_name, name, expand:, custom_headers:custom_headers).value! end |