class Azure::Postgresql::Mgmt::V2017_12_01_preview::CheckNameAvailability
The Microsoft Azure
management API provides create, read, update, and delete functionality for Azure
PostgreSQL resources including servers, databases, firewall rules, VNET rules, security alert policies, log files and configurations with new business model.
Attributes
@return [PostgreSQLManagementClient] reference to the PostgreSQLManagementClient
Public Class Methods
Creates and initializes a new instance of the CheckNameAvailability
class. @param client service class for accessing basic functionality.
# File lib/2017-12-01-preview/generated/azure_mgmt_postgresql/check_name_availability.rb, line 20 def initialize(client) @client = client end
Public Instance Methods
Check the availability of name for resource
@param name_availability_request [NameAvailabilityRequest] The required parameters for checking if resource name is available. @param custom_headers [Hash{String => String}] A hash of custom headers that will be added to the HTTP request.
@return [NameAvailability] operation results.
# File lib/2017-12-01-preview/generated/azure_mgmt_postgresql/check_name_availability.rb, line 37 def execute(name_availability_request, custom_headers:nil) response = execute_async(name_availability_request, custom_headers:custom_headers).value! response.body unless response.nil? end
Check the availability of name for resource
@param name_availability_request [NameAvailabilityRequest] The required parameters for checking if resource name is available. @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/2017-12-01-preview/generated/azure_mgmt_postgresql/check_name_availability.rb, line 66 def execute_async(name_availability_request, custom_headers:nil) fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil? fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil? fail ArgumentError, 'name_availability_request is nil' if name_availability_request.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::Postgresql::Mgmt::V2017_12_01_preview::Models::NameAvailabilityRequest.mapper() request_content = @client.serialize(request_mapper, name_availability_request) request_content = request_content != nil ? JSON.generate(request_content, quirks_mode: true) : nil path_template = 'subscriptions/{subscriptionId}/providers/Microsoft.DBforPostgreSQL/checkNameAvailability' request_url = @base_url || @client.base_url options = { middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]], path_params: {'subscriptionId' => @client.subscription_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(: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 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::Postgresql::Mgmt::V2017_12_01_preview::Models::NameAvailability.mapper() result.body = @client.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 name for resource
@param name_availability_request [NameAvailabilityRequest] The required parameters for checking if resource name is available. @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/2017-12-01-preview/generated/azure_mgmt_postgresql/check_name_availability.rb, line 52 def execute_with_http_info(name_availability_request, custom_headers:nil) execute_async(name_availability_request, custom_headers:custom_headers).value! end