class Azure::CDN::Mgmt::V2020_04_15::CdnManagementClient
A service client - single point of access to the REST API.
Attributes
@return [String] The preferred language for the response.
@return [String] Version of the API to be used with the client request. Current version is 2017-04-02.
@return [String] the base URI of the service.
@return Credentials needed for the client to connect to Azure
.
@return [CustomDomains] custom_domains
@return [EdgeNodes] edge_nodes
@return [Endpoints] endpoints
@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 [ManagedRuleSets] managed_rule_sets
@return [Operations] operations
@return [OriginGroups] origin_groups
@return [Origins] origins
@return [Policies] policies
@return [Profiles] profiles
@return [ResourceUsageOperations] resource_usage_operations
@return [String] Azure
Subscription ID.
Public Class Methods
Creates initializes a new instance of the CdnManagementClient
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/2020-04-15/generated/azure_mgmt_cdn/cdn_management_client.rb, line 75 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 @profiles = Profiles.new(self) @endpoints = Endpoints.new(self) @origins = Origins.new(self) @origin_groups = OriginGroups.new(self) @custom_domains = CustomDomains.new(self) @resource_usage_operations = ResourceUsageOperations.new(self) @operations = Operations.new(self) @edge_nodes = EdgeNodes.new(self) @policies = Policies.new(self) @managed_rule_sets = ManagedRuleSets.new(self) @api_version = '2020-04-15' @accept_language = 'en-US' @long_running_operation_retry_timeout = 30 @generate_client_request_id = true add_telemetry end
Public Instance Methods
Check the availability of a resource name. This is needed for resources where name is globally unique, such as a CDN
endpoint.
@param check_name_availability_input [CheckNameAvailabilityInput] Input to check. @param custom_headers [Hash{String => String}] A hash of custom headers that will be added to the HTTP request.
@return [CheckNameAvailabilityOutput] operation results.
# File lib/2020-04-15/generated/azure_mgmt_cdn/cdn_management_client.rb, line 168 def check_name_availability(check_name_availability_input, custom_headers:nil) response = check_name_availability_async(check_name_availability_input, custom_headers:custom_headers).value! response.body unless response.nil? end
Check the availability of a resource name. This is needed for resources where name is globally unique, such as a CDN
endpoint.
@param check_name_availability_input [CheckNameAvailabilityInput] Input to check. @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/2020-04-15/generated/azure_mgmt_cdn/cdn_management_client.rb, line 199 def check_name_availability_async(check_name_availability_input, custom_headers:nil) fail ArgumentError, 'check_name_availability_input is nil' if check_name_availability_input.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? # Serialize Request request_mapper = Azure::CDN::Mgmt::V2020_04_15::Models::CheckNameAvailabilityInput.mapper() request_content = self.serialize(request_mapper, check_name_availability_input) request_content = request_content != nil ? JSON.generate(request_content, quirks_mode: true) : nil path_template = 'providers/Microsoft.Cdn/checkNameAvailability' request_url = @base_url || self.base_url options = { middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]], query_params: {'api-version' => api_version}, body: request_content, headers: request_headers.merge(custom_headers || {}), base_url: request_url } promise = self.make_request_async(:post, 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::CDN::Mgmt::V2020_04_15::Models::CheckNameAvailabilityOutput.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
Check the availability of a resource name. This is needed for resources where name is globally unique, such as a CDN
endpoint.
@param check_name_availability_input [CheckNameAvailabilityInput] Input to check. @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/2020-04-15/generated/azure_mgmt_cdn/cdn_management_client.rb, line 184 def check_name_availability_with_http_info(check_name_availability_input, custom_headers:nil) check_name_availability_async(check_name_availability_input, custom_headers:custom_headers).value! end
Check the availability of a resource name. This is needed for resources where name is globally unique, such as a CDN
endpoint.
@param check_name_availability_input [CheckNameAvailabilityInput] Input to check. @param custom_headers [Hash{String => String}] A hash of custom headers that will be added to the HTTP request.
@return [CheckNameAvailabilityOutput] operation results.
# File lib/2020-04-15/generated/azure_mgmt_cdn/cdn_management_client.rb, line 269 def check_name_availability_with_subscription(check_name_availability_input, custom_headers:nil) response = check_name_availability_with_subscription_async(check_name_availability_input, custom_headers:custom_headers).value! response.body unless response.nil? end
Check the availability of a resource name. This is needed for resources where name is globally unique, such as a CDN
endpoint.
@param check_name_availability_input [CheckNameAvailabilityInput] Input to check. @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/2020-04-15/generated/azure_mgmt_cdn/cdn_management_client.rb, line 300 def check_name_availability_with_subscription_async(check_name_availability_input, custom_headers:nil) fail ArgumentError, 'check_name_availability_input is nil' if check_name_availability_input.nil? fail ArgumentError, 'subscription_id is nil' if subscription_id.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? # Serialize Request request_mapper = Azure::CDN::Mgmt::V2020_04_15::Models::CheckNameAvailabilityInput.mapper() request_content = self.serialize(request_mapper, check_name_availability_input) request_content = request_content != nil ? JSON.generate(request_content, quirks_mode: true) : nil path_template = 'subscriptions/{subscriptionId}/providers/Microsoft.Cdn/checkNameAvailability' request_url = @base_url || self.base_url options = { middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]], path_params: {'subscriptionId' => subscription_id}, query_params: {'api-version' => api_version}, body: request_content, headers: request_headers.merge(custom_headers || {}), base_url: request_url } promise = self.make_request_async(:post, 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::CDN::Mgmt::V2020_04_15::Models::CheckNameAvailabilityOutput.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
Check the availability of a resource name. This is needed for resources where name is globally unique, such as a CDN
endpoint.
@param check_name_availability_input [CheckNameAvailabilityInput] Input to check. @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/2020-04-15/generated/azure_mgmt_cdn/cdn_management_client.rb, line 285 def check_name_availability_with_subscription_with_http_info(check_name_availability_input, custom_headers:nil) check_name_availability_with_subscription_async(check_name_availability_input, 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/2020-04-15/generated/azure_mgmt_cdn/cdn_management_client.rb, line 115 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/2020-04-15/generated/azure_mgmt_cdn/cdn_management_client.rb, line 140 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/2020-04-15/generated/azure_mgmt_cdn/cdn_management_client.rb, line 127 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
Check if the probe path is a valid path and the file can be accessed. Probe path is the path to a file hosted on the origin server to help accelerate the delivery of dynamic content via the CDN
endpoint. This path is relative to the origin path specified in the endpoint configuration.
@param validate_probe_input [ValidateProbeInput] Input to check. @param custom_headers [Hash{String => String}] A hash of custom headers that will be added to the HTTP request.
@return [ValidateProbeOutput] operation results.
# File lib/2020-04-15/generated/azure_mgmt_cdn/cdn_management_client.rb, line 373 def validate_probe(validate_probe_input, custom_headers:nil) response = validate_probe_async(validate_probe_input, custom_headers:custom_headers).value! response.body unless response.nil? end
Check if the probe path is a valid path and the file can be accessed. Probe path is the path to a file hosted on the origin server to help accelerate the delivery of dynamic content via the CDN
endpoint. This path is relative to the origin path specified in the endpoint configuration.
@param validate_probe_input [ValidateProbeInput] Input to check. @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/2020-04-15/generated/azure_mgmt_cdn/cdn_management_client.rb, line 406 def validate_probe_async(validate_probe_input, custom_headers:nil) fail ArgumentError, 'validate_probe_input is nil' if validate_probe_input.nil? fail ArgumentError, 'subscription_id is nil' if subscription_id.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? # Serialize Request request_mapper = Azure::CDN::Mgmt::V2020_04_15::Models::ValidateProbeInput.mapper() request_content = self.serialize(request_mapper, validate_probe_input) request_content = request_content != nil ? JSON.generate(request_content, quirks_mode: true) : nil path_template = 'subscriptions/{subscriptionId}/providers/Microsoft.Cdn/validateProbe' request_url = @base_url || self.base_url options = { middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]], path_params: {'subscriptionId' => subscription_id}, query_params: {'api-version' => api_version}, body: request_content, headers: request_headers.merge(custom_headers || {}), base_url: request_url } promise = self.make_request_async(:post, 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::CDN::Mgmt::V2020_04_15::Models::ValidateProbeOutput.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
Check if the probe path is a valid path and the file can be accessed. Probe path is the path to a file hosted on the origin server to help accelerate the delivery of dynamic content via the CDN
endpoint. This path is relative to the origin path specified in the endpoint configuration.
@param validate_probe_input [ValidateProbeInput] Input to check. @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/2020-04-15/generated/azure_mgmt_cdn/cdn_management_client.rb, line 390 def validate_probe_with_http_info(validate_probe_input, custom_headers:nil) validate_probe_async(validate_probe_input, custom_headers:custom_headers).value! end
Private Instance Methods
Adds telemetry information.
# File lib/2020-04-15/generated/azure_mgmt_cdn/cdn_management_client.rb, line 472 def add_telemetry sdk_information = 'azure_mgmt_cdn' sdk_information = "#{sdk_information}/0.18.2" add_user_agent_information(sdk_information) end