class Azure::ContainerInstance::Mgmt::V2018_10_01::ContainerInstanceManagementClient
A service client - single point of access to the REST API.
Attributes
@return [String] The preferred language for the response.
@return [String] Client API version
@return [String] the base URI of the service.
@return [ContainerGroupUsage] container_group_usage
@return [ContainerGroups] container_groups
@return [ContainerOperations] container_operations
@return Credentials needed for the client to connect to Azure
.
@return [Boolean] Whether a unique x-ms-client-request-id should be generated. When set to true a unique x-ms-client-request-id value is generated and included in each request. Default is true.
@return [Integer] The retry timeout in seconds for Long Running Operations
. Default value is 30.
@return [Operations] operations
@return [ServiceAssociationLink] service_association_link
@return [String] Subscription credentials which uniquely identify Microsoft Azure
subscription. The subscription ID forms part of the URI for every service call.
Public Class Methods
Creates initializes a new instance of the ContainerInstanceManagementClient
class. @param credentials [MsRest::ServiceClientCredentials] credentials to authorize HTTP requests made by the service client. @param base_url
[String] the base URI of the service. @param options [Array] filters to be applied to the HTTP requests.
# File lib/2018-10-01/generated/azure_mgmt_container_instance/container_instance_management_client.rb, line 61 def initialize(credentials = nil, base_url = nil, options = nil) super(credentials, options) @base_url = base_url || 'https://management.azure.com' fail ArgumentError, 'invalid type of credentials input parameter' unless credentials.is_a?(MsRest::ServiceClientCredentials) unless credentials.nil? @credentials = credentials @container_groups = ContainerGroups.new(self) @operations = Operations.new(self) @container_group_usage = ContainerGroupUsage.new(self) @container_operations = ContainerOperations.new(self) @service_association_link = ServiceAssociationLink.new(self) @api_version = '2018-10-01' @accept_language = 'en-US' @long_running_operation_retry_timeout = 30 @generate_client_request_id = true add_telemetry end
Public Instance Methods
Get the list of cached images.
Get the list of cached images on specific OS type for a subscription in a region.
@param location [String] The identifier for the physical azure location. @param custom_headers [Hash{String => String}] A hash of custom headers that will be added to the HTTP request.
@return [CachedImagesListResult] operation results.
# File lib/2018-10-01/generated/azure_mgmt_container_instance/container_instance_management_client.rb, line 150 def list_cached_images(location, custom_headers:nil) response = list_cached_images_async(location, custom_headers:custom_headers).value! response.body unless response.nil? end
Get the list of cached images.
Get the list of cached images on specific OS type for a subscription in a region.
@param location [String] The identifier for the physical azure location. @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-10-01/generated/azure_mgmt_container_instance/container_instance_management_client.rb, line 183 def list_cached_images_async(location, custom_headers:nil) fail ArgumentError, 'subscription_id is nil' if subscription_id.nil? fail ArgumentError, 'location is nil' if location.nil? fail ArgumentError, 'api_version is nil' if 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'] = accept_language unless accept_language.nil? path_template = 'subscriptions/{subscriptionId}/providers/Microsoft.ContainerInstance/locations/{location}/cachedImages' request_url = @base_url || self.base_url options = { middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]], path_params: {'subscriptionId' => subscription_id,'location' => location}, query_params: {'api-version' => api_version}, headers: request_headers.merge(custom_headers || {}), base_url: request_url } promise = self.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 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? 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::ContainerInstance::Mgmt::V2018_10_01::Models::CachedImagesListResult.mapper() result.body = self.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
Get the list of cached images.
Get the list of cached images on specific OS type for a subscription in a region.
@param location [String] The identifier for the physical azure location. @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-10-01/generated/azure_mgmt_container_instance/container_instance_management_client.rb, line 167 def list_cached_images_with_http_info(location, custom_headers:nil) list_cached_images_async(location, custom_headers:custom_headers).value! end
Get the list of capabilities of the location.
Get the list of CPU/memory/GPU capabilities of a region.
@param location [String] The identifier for the physical azure location. @param custom_headers [Hash{String => String}] A hash of custom headers that will be added to the HTTP request.
@return [CapabilitiesListResult] operation results.
# File lib/2018-10-01/generated/azure_mgmt_container_instance/container_instance_management_client.rb, line 248 def list_capabilities(location, custom_headers:nil) response = list_capabilities_async(location, custom_headers:custom_headers).value! response.body unless response.nil? end
Get the list of capabilities of the location.
Get the list of CPU/memory/GPU capabilities of a region.
@param location [String] The identifier for the physical azure location. @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-10-01/generated/azure_mgmt_container_instance/container_instance_management_client.rb, line 279 def list_capabilities_async(location, custom_headers:nil) fail ArgumentError, 'subscription_id is nil' if subscription_id.nil? fail ArgumentError, 'location is nil' if location.nil? fail ArgumentError, 'api_version is nil' if 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'] = accept_language unless accept_language.nil? path_template = 'subscriptions/{subscriptionId}/providers/Microsoft.ContainerInstance/locations/{location}/capabilities' request_url = @base_url || self.base_url options = { middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]], path_params: {'subscriptionId' => subscription_id,'location' => location}, query_params: {'api-version' => api_version}, headers: request_headers.merge(custom_headers || {}), base_url: request_url } promise = self.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 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? 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::ContainerInstance::Mgmt::V2018_10_01::Models::CapabilitiesListResult.mapper() result.body = self.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
Get the list of capabilities of the location.
Get the list of CPU/memory/GPU capabilities of a region.
@param location [String] The identifier for the physical azure location. @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-10-01/generated/azure_mgmt_container_instance/container_instance_management_client.rb, line 264 def list_capabilities_with_http_info(location, custom_headers:nil) list_capabilities_async(location, custom_headers:custom_headers).value! end
Makes a request and returns the body of the response. @param method [Symbol] with any of the following values :get, :put, :post, :patch, :delete. @param path [String] the path, relative to {base_url}. @param options [Hash{String=>String}] specifying any request options like :body. @return [Hash{String=>String}] containing the body of the response. Example:
request_content = "{'location':'westus','tags':{'tag1':'val1','tag2':'val2'}}" path = "/path" options = { body: request_content, query_params: {'api-version' => '2016-02-01'} } result = @client.make_request(:put, path, options)
# File lib/2018-10-01/generated/azure_mgmt_container_instance/container_instance_management_client.rb, line 96 def make_request(method, path, options = {}) result = make_request_with_http_info(method, path, options) result.body unless result.nil? end
Makes a request asynchronously. @param method [Symbol] with any of the following values :get, :put, :post, :patch, :delete. @param path [String] the path, relative to {base_url}. @param options [Hash{String=>String}] specifying any request options like :body. @return [Concurrent::Promise] Promise object which holds the HTTP response.
# File lib/2018-10-01/generated/azure_mgmt_container_instance/container_instance_management_client.rb, line 121 def make_request_async(method, path, options = {}) fail ArgumentError, 'method is nil' if method.nil? fail ArgumentError, 'path is nil' if path.nil? request_url = options[:base_url] || @base_url if(!options[:headers].nil? && !options[:headers]['Content-Type'].nil?) @request_headers['Content-Type'] = options[:headers]['Content-Type'] end request_headers = @request_headers request_headers.merge!({'accept-language' => @accept_language}) unless @accept_language.nil? options.merge!({headers: request_headers.merge(options[:headers] || {})}) options.merge!({credentials: @credentials}) unless @credentials.nil? super(request_url, method, path, options) end
Makes a request and returns the operation response. @param method [Symbol] with any of the following values :get, :put, :post, :patch, :delete. @param path [String] the path, relative to {base_url}. @param options [Hash{String=>String}] specifying any request options like :body. @return [MsRestAzure::AzureOperationResponse] Operation response containing the request, response and status.
# File lib/2018-10-01/generated/azure_mgmt_container_instance/container_instance_management_client.rb, line 108 def make_request_with_http_info(method, path, options = {}) result = make_request_async(method, path, options).value! result.body = result.response.body.to_s.empty? ? nil : JSON.load(result.response.body) result end
Private Instance Methods
Adds telemetry information.
# File lib/2018-10-01/generated/azure_mgmt_container_instance/container_instance_management_client.rb, line 338 def add_telemetry sdk_information = 'azure_mgmt_container_instance' sdk_information = "#{sdk_information}/0.18.0" add_user_agent_information(sdk_information) end