class Azure::NotificationHubs::Mgmt::V2017_04_01::Namespaces

Azure NotificationHub client

Attributes

client[R]

@return [NotificationHubsManagementClient] reference to the NotificationHubsManagementClient

Private Class Methods

new(client) click to toggle source

Creates and initializes a new instance of the Namespaces class. @param client service class for accessing basic functionality.

# File lib/2017-04-01/generated/azure_mgmt_notification_hubs/namespaces.rb, line 17
def initialize(client)
  @client = client
end

Private Instance Methods

begin_delete(resource_group_name, namespace_name, custom_headers:nil) click to toggle source

Deletes an existing namespace. This operation also removes all associated notificationHubs under the namespace.

@param resource_group_name [String] The name of the resource group. @param namespace_name [String] The namespace name. @param custom_headers [Hash{String => String}] A hash of custom headers that will be added to the HTTP request.

# File lib/2017-04-01/generated/azure_mgmt_notification_hubs/namespaces.rb, line 1267
def begin_delete(resource_group_name, namespace_name, custom_headers:nil)
  response = begin_delete_async(resource_group_name, namespace_name, custom_headers:custom_headers).value!
  nil
end
begin_delete_async(resource_group_name, namespace_name, custom_headers:nil) click to toggle source

Deletes an existing namespace. This operation also removes all associated notificationHubs under the namespace.

@param resource_group_name [String] The name of the resource group. @param namespace_name [String] The namespace name. @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-04-01/generated/azure_mgmt_notification_hubs/namespaces.rb, line 1298
def begin_delete_async(resource_group_name, namespace_name, custom_headers:nil)
  fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
  fail ArgumentError, 'namespace_name is nil' if namespace_name.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?


  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.NotificationHubs/namespaces/{namespaceName}'

  request_url = @base_url || @client.base_url

  options = {
      middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
      path_params: {'resourceGroupName' => resource_group_name,'namespaceName' => namespace_name,'subscriptionId' => @client.subscription_id},
      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, options)

  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 == 202 || status_code == 204
      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
  end

  promise.execute
end
begin_delete_with_http_info(resource_group_name, namespace_name, custom_headers:nil) click to toggle source

Deletes an existing namespace. This operation also removes all associated notificationHubs under the namespace.

@param resource_group_name [String] The name of the resource group. @param namespace_name [String] The namespace name. @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-04-01/generated/azure_mgmt_notification_hubs/namespaces.rb, line 1283
def begin_delete_with_http_info(resource_group_name, namespace_name, custom_headers:nil)
  begin_delete_async(resource_group_name, namespace_name, custom_headers:custom_headers).value!
end
check_availability(parameters, custom_headers:nil) click to toggle source

Checks the availability of the given service namespace across all Azure subscriptions. This is useful because the domain name is created based on the service namespace name.

@param parameters [CheckAvailabilityParameters] The namespace name. @param custom_headers [Hash{String => String}] A hash of custom headers that will be added to the HTTP request.

@return [CheckAvailabilityResult] operation results.

# File lib/2017-04-01/generated/azure_mgmt_notification_hubs/namespaces.rb, line 35
def check_availability(parameters, custom_headers:nil)
  response = check_availability_async(parameters, custom_headers:custom_headers).value!
  response.body unless response.nil?
end
check_availability_async(parameters, custom_headers:nil) click to toggle source

Checks the availability of the given service namespace across all Azure subscriptions. This is useful because the domain name is created based on the service namespace name.

@param parameters [CheckAvailabilityParameters] The namespace name. @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-04-01/generated/azure_mgmt_notification_hubs/namespaces.rb, line 66
def check_availability_async(parameters, custom_headers:nil)
  fail ArgumentError, 'parameters is nil' if parameters.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?


  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::NotificationHubs::Mgmt::V2017_04_01::Models::CheckAvailabilityParameters.mapper()
  request_content = @client.serialize(request_mapper,  parameters)
  request_content = request_content != nil ? JSON.generate(request_content, quirks_mode: true) : nil

  path_template = 'subscriptions/{subscriptionId}/providers/Microsoft.NotificationHubs/checkNamespaceAvailability'

  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?
    # Deserialize Response
    if status_code == 200
      begin
        parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
        result_mapper = Azure::NotificationHubs::Mgmt::V2017_04_01::Models::CheckAvailabilityResult.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_availability_with_http_info(parameters, custom_headers:nil) click to toggle source

Checks the availability of the given service namespace across all Azure subscriptions. This is useful because the domain name is created based on the service namespace name.

@param parameters [CheckAvailabilityParameters] The namespace name. @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-04-01/generated/azure_mgmt_notification_hubs/namespaces.rb, line 51
def check_availability_with_http_info(parameters, custom_headers:nil)
  check_availability_async(parameters, custom_headers:custom_headers).value!
end
create_or_update(resource_group_name, namespace_name, parameters, custom_headers:nil) click to toggle source

Creates/Updates a service namespace. Once created, this namespace's resource manifest is immutable. This operation is idempotent.

@param resource_group_name [String] The name of the resource group. @param namespace_name [String] The namespace name. @param parameters [NamespaceCreateOrUpdateParameters] Parameters supplied to create a Namespace Resource. @param custom_headers [Hash{String => String}] A hash of custom headers that will be added to the HTTP request.

@return [NamespaceResource] operation results.

# File lib/2017-04-01/generated/azure_mgmt_notification_hubs/namespaces.rb, line 138
def create_or_update(resource_group_name, namespace_name, parameters, custom_headers:nil)
  response = create_or_update_async(resource_group_name, namespace_name, parameters, custom_headers:custom_headers).value!
  response.body unless response.nil?
end
create_or_update_async(resource_group_name, namespace_name, parameters, custom_headers:nil) click to toggle source

Creates/Updates a service namespace. Once created, this namespace's resource manifest is immutable. This operation is idempotent.

@param resource_group_name [String] The name of the resource group. @param namespace_name [String] The namespace name. @param parameters [NamespaceCreateOrUpdateParameters] Parameters supplied to create a Namespace Resource. @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-04-01/generated/azure_mgmt_notification_hubs/namespaces.rb, line 173
def create_or_update_async(resource_group_name, namespace_name, parameters, custom_headers:nil)
  fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
  fail ArgumentError, 'namespace_name is nil' if namespace_name.nil?
  fail ArgumentError, 'parameters is nil' if parameters.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?


  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::NotificationHubs::Mgmt::V2017_04_01::Models::NamespaceCreateOrUpdateParameters.mapper()
  request_content = @client.serialize(request_mapper,  parameters)
  request_content = request_content != nil ? JSON.generate(request_content, quirks_mode: true) : nil

  path_template = 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}'

  request_url = @base_url || @client.base_url

  options = {
      middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
      path_params: {'resourceGroupName' => resource_group_name,'namespaceName' => namespace_name,'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(:put, 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 || 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::NotificationHubs::Mgmt::V2017_04_01::Models::NamespaceResource.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
    # Deserialize Response
    if status_code == 201
      begin
        parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
        result_mapper = Azure::NotificationHubs::Mgmt::V2017_04_01::Models::NamespaceResource.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
create_or_update_authorization_rule(resource_group_name, namespace_name, authorization_rule_name, parameters, custom_headers:nil) click to toggle source

Creates an authorization rule for a namespace

@param resource_group_name [String] The name of the resource group. @param namespace_name [String] The namespace name. @param authorization_rule_name [String] Aauthorization Rule Name. @param parameters [SharedAccessAuthorizationRuleCreateOrUpdateParameters] The shared access authorization rule. @param custom_headers [Hash{String => String}] A hash of custom headers that will be added to the HTTP request.

@return [SharedAccessAuthorizationRuleResource] operation results.

# File lib/2017-04-01/generated/azure_mgmt_notification_hubs/namespaces.rb, line 494
def create_or_update_authorization_rule(resource_group_name, namespace_name, authorization_rule_name, parameters, custom_headers:nil)
  response = create_or_update_authorization_rule_async(resource_group_name, namespace_name, authorization_rule_name, parameters, custom_headers:custom_headers).value!
  response.body unless response.nil?
end
create_or_update_authorization_rule_async(resource_group_name, namespace_name, authorization_rule_name, parameters, custom_headers:nil) click to toggle source

Creates an authorization rule for a namespace

@param resource_group_name [String] The name of the resource group. @param namespace_name [String] The namespace name. @param authorization_rule_name [String] Aauthorization Rule Name. @param parameters [SharedAccessAuthorizationRuleCreateOrUpdateParameters] The shared access authorization rule. @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-04-01/generated/azure_mgmt_notification_hubs/namespaces.rb, line 529
def create_or_update_authorization_rule_async(resource_group_name, namespace_name, authorization_rule_name, parameters, custom_headers:nil)
  fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
  fail ArgumentError, 'namespace_name is nil' if namespace_name.nil?
  fail ArgumentError, 'authorization_rule_name is nil' if authorization_rule_name.nil?
  fail ArgumentError, 'parameters is nil' if parameters.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?


  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::NotificationHubs::Mgmt::V2017_04_01::Models::SharedAccessAuthorizationRuleCreateOrUpdateParameters.mapper()
  request_content = @client.serialize(request_mapper,  parameters)
  request_content = request_content != nil ? JSON.generate(request_content, quirks_mode: true) : nil

  path_template = 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/AuthorizationRules/{authorizationRuleName}'

  request_url = @base_url || @client.base_url

  options = {
      middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
      path_params: {'resourceGroupName' => resource_group_name,'namespaceName' => namespace_name,'authorizationRuleName' => authorization_rule_name,'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(:put, 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?
    # Deserialize Response
    if status_code == 200
      begin
        parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
        result_mapper = Azure::NotificationHubs::Mgmt::V2017_04_01::Models::SharedAccessAuthorizationRuleResource.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
create_or_update_authorization_rule_with_http_info(resource_group_name, namespace_name, authorization_rule_name, parameters, custom_headers:nil) click to toggle source

Creates an authorization rule for a namespace

@param resource_group_name [String] The name of the resource group. @param namespace_name [String] The namespace name. @param authorization_rule_name [String] Aauthorization Rule Name. @param parameters [SharedAccessAuthorizationRuleCreateOrUpdateParameters] The shared access authorization rule. @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-04-01/generated/azure_mgmt_notification_hubs/namespaces.rb, line 512
def create_or_update_authorization_rule_with_http_info(resource_group_name, namespace_name, authorization_rule_name, parameters, custom_headers:nil)
  create_or_update_authorization_rule_async(resource_group_name, namespace_name, authorization_rule_name, parameters, custom_headers:custom_headers).value!
end
create_or_update_with_http_info(resource_group_name, namespace_name, parameters, custom_headers:nil) click to toggle source

Creates/Updates a service namespace. Once created, this namespace's resource manifest is immutable. This operation is idempotent.

@param resource_group_name [String] The name of the resource group. @param namespace_name [String] The namespace name. @param parameters [NamespaceCreateOrUpdateParameters] Parameters supplied to create a Namespace Resource. @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-04-01/generated/azure_mgmt_notification_hubs/namespaces.rb, line 156
def create_or_update_with_http_info(resource_group_name, namespace_name, parameters, custom_headers:nil)
  create_or_update_async(resource_group_name, namespace_name, parameters, custom_headers:custom_headers).value!
end
delete(resource_group_name, namespace_name, custom_headers:nil) click to toggle source

Deletes an existing namespace. This operation also removes all associated notificationHubs under the namespace.

@param resource_group_name [String] The name of the resource group. @param namespace_name [String] The namespace name. @param custom_headers [Hash{String => String}] A hash of custom headers that will be added to the HTTP request.

# File lib/2017-04-01/generated/azure_mgmt_notification_hubs/namespaces.rb, line 359
def delete(resource_group_name, namespace_name, custom_headers:nil)
  response = delete_async(resource_group_name, namespace_name, custom_headers:custom_headers).value!
  nil
end
delete_async(resource_group_name, namespace_name, custom_headers:nil) click to toggle source

@param resource_group_name [String] The name of the resource group. @param namespace_name [String] The namespace name. @param custom_headers [Hash{String => String}] A hash of custom headers that will be added to the HTTP request.

@return [Concurrent::Promise] promise which provides async access to http response.

# File lib/2017-04-01/generated/azure_mgmt_notification_hubs/namespaces.rb, line 373
def delete_async(resource_group_name, namespace_name, custom_headers:nil)
  # Send request
  promise = begin_delete_async(resource_group_name, namespace_name, custom_headers:custom_headers)

  promise = promise.then do |response|
    # Defining deserialization method.
    deserialize_method = lambda do |parsed_response|
    end

    # Waiting for response.
    @client.get_long_running_operation_result(response, deserialize_method)
  end

  promise
end
delete_authorization_rule(resource_group_name, namespace_name, authorization_rule_name, custom_headers:nil) click to toggle source

Deletes a namespace authorization rule

@param resource_group_name [String] The name of the resource group. @param namespace_name [String] The namespace name. @param authorization_rule_name [String] Authorization Rule Name. @param custom_headers [Hash{String => String}] A hash of custom headers that will be added to the HTTP request.

# File lib/2017-04-01/generated/azure_mgmt_notification_hubs/namespaces.rb, line 601
def delete_authorization_rule(resource_group_name, namespace_name, authorization_rule_name, custom_headers:nil)
  response = delete_authorization_rule_async(resource_group_name, namespace_name, authorization_rule_name, custom_headers:custom_headers).value!
  nil
end
delete_authorization_rule_async(resource_group_name, namespace_name, authorization_rule_name, custom_headers:nil) click to toggle source

Deletes a namespace authorization rule

@param resource_group_name [String] The name of the resource group. @param namespace_name [String] The namespace name. @param authorization_rule_name [String] Authorization Rule Name. @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-04-01/generated/azure_mgmt_notification_hubs/namespaces.rb, line 632
def delete_authorization_rule_async(resource_group_name, namespace_name, authorization_rule_name, custom_headers:nil)
  fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
  fail ArgumentError, 'namespace_name is nil' if namespace_name.nil?
  fail ArgumentError, 'authorization_rule_name is nil' if authorization_rule_name.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?


  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.NotificationHubs/namespaces/{namespaceName}/AuthorizationRules/{authorizationRuleName}'

  request_url = @base_url || @client.base_url

  options = {
      middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
      path_params: {'resourceGroupName' => resource_group_name,'namespaceName' => namespace_name,'authorizationRuleName' => authorization_rule_name,'subscriptionId' => @client.subscription_id},
      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, options)

  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 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
  end

  promise.execute
end
delete_authorization_rule_with_http_info(resource_group_name, namespace_name, authorization_rule_name, custom_headers:nil) click to toggle source

Deletes a namespace authorization rule

@param resource_group_name [String] The name of the resource group. @param namespace_name [String] The namespace name. @param authorization_rule_name [String] Authorization Rule Name. @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-04-01/generated/azure_mgmt_notification_hubs/namespaces.rb, line 617
def delete_authorization_rule_with_http_info(resource_group_name, namespace_name, authorization_rule_name, custom_headers:nil)
  delete_authorization_rule_async(resource_group_name, namespace_name, authorization_rule_name, custom_headers:custom_headers).value!
end
get(resource_group_name, namespace_name, custom_headers:nil) click to toggle source

Returns the description for the specified namespace.

@param resource_group_name [String] The name of the resource group. @param namespace_name [String] The namespace name. @param custom_headers [Hash{String => String}] A hash of custom headers that will be added to the HTTP request.

@return [NamespaceResource] operation results.

# File lib/2017-04-01/generated/azure_mgmt_notification_hubs/namespaces.rb, line 399
def get(resource_group_name, namespace_name, custom_headers:nil)
  response = get_async(resource_group_name, namespace_name, custom_headers:custom_headers).value!
  response.body unless response.nil?
end
get_async(resource_group_name, namespace_name, custom_headers:nil) click to toggle source

Returns the description for the specified namespace.

@param resource_group_name [String] The name of the resource group. @param namespace_name [String] The namespace name. @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-04-01/generated/azure_mgmt_notification_hubs/namespaces.rb, line 428
def get_async(resource_group_name, namespace_name, custom_headers:nil)
  fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
  fail ArgumentError, 'namespace_name is nil' if namespace_name.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?


  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.NotificationHubs/namespaces/{namespaceName}'

  request_url = @base_url || @client.base_url

  options = {
      middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
      path_params: {'resourceGroupName' => resource_group_name,'namespaceName' => namespace_name,'subscriptionId' => @client.subscription_id},
      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, 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?
    # Deserialize Response
    if status_code == 200
      begin
        parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
        result_mapper = Azure::NotificationHubs::Mgmt::V2017_04_01::Models::NamespaceResource.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
get_authorization_rule(resource_group_name, namespace_name, authorization_rule_name, custom_headers:nil) click to toggle source

Gets an authorization rule for a namespace by name.

@param resource_group_name [String] The name of the resource group. @param namespace_name [String] The namespace name @param authorization_rule_name [String] Authorization rule name. @param custom_headers [Hash{String => String}] A hash of custom headers that will be added to the HTTP request.

@return [SharedAccessAuthorizationRuleResource] operation results.

# File lib/2017-04-01/generated/azure_mgmt_notification_hubs/namespaces.rb, line 687
def get_authorization_rule(resource_group_name, namespace_name, authorization_rule_name, custom_headers:nil)
  response = get_authorization_rule_async(resource_group_name, namespace_name, authorization_rule_name, custom_headers:custom_headers).value!
  response.body unless response.nil?
end
get_authorization_rule_async(resource_group_name, namespace_name, authorization_rule_name, custom_headers:nil) click to toggle source

Gets an authorization rule for a namespace by name.

@param resource_group_name [String] The name of the resource group. @param namespace_name [String] The namespace name @param authorization_rule_name [String] Authorization rule name. @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-04-01/generated/azure_mgmt_notification_hubs/namespaces.rb, line 718
def get_authorization_rule_async(resource_group_name, namespace_name, authorization_rule_name, custom_headers:nil)
  fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
  fail ArgumentError, 'namespace_name is nil' if namespace_name.nil?
  fail ArgumentError, 'authorization_rule_name is nil' if authorization_rule_name.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?


  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.NotificationHubs/namespaces/{namespaceName}/AuthorizationRules/{authorizationRuleName}'

  request_url = @base_url || @client.base_url

  options = {
      middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
      path_params: {'resourceGroupName' => resource_group_name,'namespaceName' => namespace_name,'authorizationRuleName' => authorization_rule_name,'subscriptionId' => @client.subscription_id},
      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, 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?
    # Deserialize Response
    if status_code == 200
      begin
        parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
        result_mapper = Azure::NotificationHubs::Mgmt::V2017_04_01::Models::SharedAccessAuthorizationRuleResource.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
get_authorization_rule_with_http_info(resource_group_name, namespace_name, authorization_rule_name, custom_headers:nil) click to toggle source

Gets an authorization rule for a namespace by name.

@param resource_group_name [String] The name of the resource group. @param namespace_name [String] The namespace name @param authorization_rule_name [String] Authorization rule name. @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-04-01/generated/azure_mgmt_notification_hubs/namespaces.rb, line 703
def get_authorization_rule_with_http_info(resource_group_name, namespace_name, authorization_rule_name, custom_headers:nil)
  get_authorization_rule_async(resource_group_name, namespace_name, authorization_rule_name, custom_headers:custom_headers).value!
end
get_with_http_info(resource_group_name, namespace_name, custom_headers:nil) click to toggle source

Returns the description for the specified namespace.

@param resource_group_name [String] The name of the resource group. @param namespace_name [String] The namespace name. @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-04-01/generated/azure_mgmt_notification_hubs/namespaces.rb, line 414
def get_with_http_info(resource_group_name, namespace_name, custom_headers:nil)
  get_async(resource_group_name, namespace_name, custom_headers:custom_headers).value!
end
list(resource_group_name, custom_headers:nil) click to toggle source

Lists the available namespaces within a resourceGroup.

@param resource_group_name [String] The name of the resource group. If resourceGroupName value is null the method lists all the namespaces within subscription @param custom_headers [Hash{String => String}] A hash of custom headers that will be added to the HTTP request.

@return [Array<NamespaceResource>] operation results.

# File lib/2017-04-01/generated/azure_mgmt_notification_hubs/namespaces.rb, line 783
def list(resource_group_name, custom_headers:nil)
  first_page = list_as_lazy(resource_group_name, custom_headers:custom_headers)
  first_page.get_all_items
end
list_all(custom_headers:nil) click to toggle source

Lists all the available namespaces within the subscription irrespective of the resourceGroups.

@param custom_headers [Hash{String => String}] A hash of custom headers that will be added to the HTTP request.

@return [Array<NamespaceResource>] operation results.

# File lib/2017-04-01/generated/azure_mgmt_notification_hubs/namespaces.rb, line 875
def list_all(custom_headers:nil)
  first_page = list_all_as_lazy(custom_headers:custom_headers)
  first_page.get_all_items
end
list_all_as_lazy(custom_headers:nil) click to toggle source

Lists all the available namespaces within the subscription irrespective of the resourceGroups.

@param custom_headers [Hash{String => String}] A hash of custom headers that will be added to the HTTP request.

@return [NamespaceListResult] which provide lazy access to pages of the response.

# File lib/2017-04-01/generated/azure_mgmt_notification_hubs/namespaces.rb, line 1641
def list_all_as_lazy(custom_headers:nil)
  response = list_all_async(custom_headers:custom_headers).value!
  unless response.nil?
    page = response.body
    page.next_method = Proc.new do |next_page_link|
      list_all_next_async(next_page_link, custom_headers:custom_headers)
    end
    page
  end
end
list_all_async(custom_headers:nil) click to toggle source

Lists all the available namespaces within the subscription irrespective of the resourceGroups.

@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-04-01/generated/azure_mgmt_notification_hubs/namespaces.rb, line 902
def list_all_async(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?


  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}/providers/Microsoft.NotificationHubs/namespaces'

  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},
      headers: request_headers.merge(custom_headers || {}),
      base_url: request_url
  }
  promise = @client.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?
    # Deserialize Response
    if status_code == 200
      begin
        parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
        result_mapper = Azure::NotificationHubs::Mgmt::V2017_04_01::Models::NamespaceListResult.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
list_all_next(next_page_link, custom_headers:nil) click to toggle source

Lists all the available namespaces within the subscription irrespective of the resourceGroups.

@param next_page_link [String] The NextLink from the previous successful call to List operation. @param custom_headers [Hash{String => String}] A hash of custom headers that will be added to the HTTP request.

@return [NamespaceListResult] operation results.

# File lib/2017-04-01/generated/azure_mgmt_notification_hubs/namespaces.rb, line 1440
def list_all_next(next_page_link, custom_headers:nil)
  response = list_all_next_async(next_page_link, custom_headers:custom_headers).value!
  response.body unless response.nil?
end
list_all_next_async(next_page_link, custom_headers:nil) click to toggle source

Lists all the available namespaces within the subscription irrespective of the resourceGroups.

@param next_page_link [String] The NextLink from the previous successful call to List operation. @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-04-01/generated/azure_mgmt_notification_hubs/namespaces.rb, line 1471
def list_all_next_async(next_page_link, custom_headers:nil)
  fail ArgumentError, 'next_page_link is nil' if next_page_link.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 = '{nextLink}'

  request_url = @base_url || @client.base_url

  options = {
      middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
      skip_encoding_path_params: {'nextLink' => next_page_link},
      headers: request_headers.merge(custom_headers || {}),
      base_url: request_url
  }
  promise = @client.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?
    # Deserialize Response
    if status_code == 200
      begin
        parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
        result_mapper = Azure::NotificationHubs::Mgmt::V2017_04_01::Models::NamespaceListResult.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
list_all_next_with_http_info(next_page_link, custom_headers:nil) click to toggle source

Lists all the available namespaces within the subscription irrespective of the resourceGroups.

@param next_page_link [String] The NextLink from the previous successful call to List operation. @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-04-01/generated/azure_mgmt_notification_hubs/namespaces.rb, line 1456
def list_all_next_with_http_info(next_page_link, custom_headers:nil)
  list_all_next_async(next_page_link, custom_headers:custom_headers).value!
end
list_all_with_http_info(custom_headers:nil) click to toggle source

Lists all the available namespaces within the subscription irrespective of the resourceGroups.

@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-04-01/generated/azure_mgmt_notification_hubs/namespaces.rb, line 889
def list_all_with_http_info(custom_headers:nil)
  list_all_async(custom_headers:custom_headers).value!
end
list_as_lazy(resource_group_name, custom_headers:nil) click to toggle source

Lists the available namespaces within a resourceGroup.

@param resource_group_name [String] The name of the resource group. If resourceGroupName value is null the method lists all the namespaces within subscription @param custom_headers [Hash{String => String}] A hash of custom headers that will be added to the HTTP request.

@return [NamespaceListResult] which provide lazy access to pages of the response.

# File lib/2017-04-01/generated/azure_mgmt_notification_hubs/namespaces.rb, line 1620
def list_as_lazy(resource_group_name, custom_headers:nil)
  response = list_async(resource_group_name, custom_headers:custom_headers).value!
  unless response.nil?
    page = response.body
    page.next_method = Proc.new do |next_page_link|
      list_next_async(next_page_link, custom_headers:custom_headers)
    end
    page
  end
end
list_async(resource_group_name, custom_headers:nil) click to toggle source

Lists the available namespaces within a resourceGroup.

@param resource_group_name [String] The name of the resource group. If resourceGroupName value is null the method lists all the namespaces within subscription @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-04-01/generated/azure_mgmt_notification_hubs/namespaces.rb, line 814
def list_async(resource_group_name, custom_headers:nil)
  fail ArgumentError, 'resource_group_name is nil' if resource_group_name.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?


  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.NotificationHubs/namespaces'

  request_url = @base_url || @client.base_url

  options = {
      middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
      path_params: {'resourceGroupName' => resource_group_name,'subscriptionId' => @client.subscription_id},
      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, 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?
    # Deserialize Response
    if status_code == 200
      begin
        parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
        result_mapper = Azure::NotificationHubs::Mgmt::V2017_04_01::Models::NamespaceListResult.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
list_authorization_rules(resource_group_name, namespace_name, custom_headers:nil) click to toggle source

Gets the authorization rules for a namespace.

@param resource_group_name [String] The name of the resource group. @param namespace_name [String] The namespace name @param custom_headers [Hash{String => String}] A hash of custom headers that will be added to the HTTP request.

@return [Array<SharedAccessAuthorizationRuleResource>] operation results.

# File lib/2017-04-01/generated/azure_mgmt_notification_hubs/namespaces.rb, line 963
def list_authorization_rules(resource_group_name, namespace_name, custom_headers:nil)
  first_page = list_authorization_rules_as_lazy(resource_group_name, namespace_name, custom_headers:custom_headers)
  first_page.get_all_items
end
list_authorization_rules_as_lazy(resource_group_name, namespace_name, custom_headers:nil) click to toggle source

Gets the authorization rules for a namespace.

@param resource_group_name [String] The name of the resource group. @param namespace_name [String] The namespace name @param custom_headers [Hash{String => String}] A hash of custom headers that will be added to the HTTP request.

@return [SharedAccessAuthorizationRuleListResult] which provide lazy access to pages of the response.

# File lib/2017-04-01/generated/azure_mgmt_notification_hubs/namespaces.rb, line 1663
def list_authorization_rules_as_lazy(resource_group_name, namespace_name, custom_headers:nil)
  response = list_authorization_rules_async(resource_group_name, namespace_name, custom_headers:custom_headers).value!
  unless response.nil?
    page = response.body
    page.next_method = Proc.new do |next_page_link|
      list_authorization_rules_next_async(next_page_link, custom_headers:custom_headers)
    end
    page
  end
end
list_authorization_rules_async(resource_group_name, namespace_name, custom_headers:nil) click to toggle source

Gets the authorization rules for a namespace.

@param resource_group_name [String] The name of the resource group. @param namespace_name [String] The namespace name @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-04-01/generated/azure_mgmt_notification_hubs/namespaces.rb, line 992
def list_authorization_rules_async(resource_group_name, namespace_name, custom_headers:nil)
  fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
  fail ArgumentError, 'namespace_name is nil' if namespace_name.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?


  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.NotificationHubs/namespaces/{namespaceName}/AuthorizationRules'

  request_url = @base_url || @client.base_url

  options = {
      middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
      path_params: {'resourceGroupName' => resource_group_name,'namespaceName' => namespace_name,'subscriptionId' => @client.subscription_id},
      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, 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?
    # Deserialize Response
    if status_code == 200
      begin
        parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
        result_mapper = Azure::NotificationHubs::Mgmt::V2017_04_01::Models::SharedAccessAuthorizationRuleListResult.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
list_authorization_rules_next(next_page_link, custom_headers:nil) click to toggle source

Gets the authorization rules for a namespace.

@param next_page_link [String] The NextLink from the previous successful call to List operation. @param custom_headers [Hash{String => String}] A hash of custom headers that will be added to the HTTP request.

@return [SharedAccessAuthorizationRuleListResult] operation results.

# File lib/2017-04-01/generated/azure_mgmt_notification_hubs/namespaces.rb, line 1530
def list_authorization_rules_next(next_page_link, custom_headers:nil)
  response = list_authorization_rules_next_async(next_page_link, custom_headers:custom_headers).value!
  response.body unless response.nil?
end
list_authorization_rules_next_async(next_page_link, custom_headers:nil) click to toggle source

Gets the authorization rules for a namespace.

@param next_page_link [String] The NextLink from the previous successful call to List operation. @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-04-01/generated/azure_mgmt_notification_hubs/namespaces.rb, line 1559
def list_authorization_rules_next_async(next_page_link, custom_headers:nil)
  fail ArgumentError, 'next_page_link is nil' if next_page_link.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 = '{nextLink}'

  request_url = @base_url || @client.base_url

  options = {
      middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
      skip_encoding_path_params: {'nextLink' => next_page_link},
      headers: request_headers.merge(custom_headers || {}),
      base_url: request_url
  }
  promise = @client.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?
    # Deserialize Response
    if status_code == 200
      begin
        parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
        result_mapper = Azure::NotificationHubs::Mgmt::V2017_04_01::Models::SharedAccessAuthorizationRuleListResult.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
list_authorization_rules_next_with_http_info(next_page_link, custom_headers:nil) click to toggle source

Gets the authorization rules for a namespace.

@param next_page_link [String] The NextLink from the previous successful call to List operation. @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-04-01/generated/azure_mgmt_notification_hubs/namespaces.rb, line 1545
def list_authorization_rules_next_with_http_info(next_page_link, custom_headers:nil)
  list_authorization_rules_next_async(next_page_link, custom_headers:custom_headers).value!
end
list_authorization_rules_with_http_info(resource_group_name, namespace_name, custom_headers:nil) click to toggle source

Gets the authorization rules for a namespace.

@param resource_group_name [String] The name of the resource group. @param namespace_name [String] The namespace name @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-04-01/generated/azure_mgmt_notification_hubs/namespaces.rb, line 978
def list_authorization_rules_with_http_info(resource_group_name, namespace_name, custom_headers:nil)
  list_authorization_rules_async(resource_group_name, namespace_name, custom_headers:custom_headers).value!
end
list_keys(resource_group_name, namespace_name, authorization_rule_name, custom_headers:nil) click to toggle source

Gets the Primary and Secondary ConnectionStrings to the namespace

@param resource_group_name [String] The name of the resource group. @param namespace_name [String] The namespace name. @param authorization_rule_name [String] The connection string of the namespace for the specified authorizationRule. @param custom_headers [Hash{String => String}] A hash of custom headers that will be added to the HTTP request.

@return [SharedAccessAuthorizationRuleListResult] operation results.

# File lib/2017-04-01/generated/azure_mgmt_notification_hubs/namespaces.rb, line 1057
def list_keys(resource_group_name, namespace_name, authorization_rule_name, custom_headers:nil)
  response = list_keys_async(resource_group_name, namespace_name, authorization_rule_name, custom_headers:custom_headers).value!
  response.body unless response.nil?
end
list_keys_async(resource_group_name, namespace_name, authorization_rule_name, custom_headers:nil) click to toggle source

Gets the Primary and Secondary ConnectionStrings to the namespace

@param resource_group_name [String] The name of the resource group. @param namespace_name [String] The namespace name. @param authorization_rule_name [String] The connection string of the namespace for the specified authorizationRule. @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-04-01/generated/azure_mgmt_notification_hubs/namespaces.rb, line 1090
def list_keys_async(resource_group_name, namespace_name, authorization_rule_name, custom_headers:nil)
  fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
  fail ArgumentError, 'namespace_name is nil' if namespace_name.nil?
  fail ArgumentError, 'authorization_rule_name is nil' if authorization_rule_name.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?


  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.NotificationHubs/namespaces/{namespaceName}/AuthorizationRules/{authorizationRuleName}/listKeys'

  request_url = @base_url || @client.base_url

  options = {
      middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
      path_params: {'resourceGroupName' => resource_group_name,'namespaceName' => namespace_name,'authorizationRuleName' => authorization_rule_name,'subscriptionId' => @client.subscription_id},
      query_params: {'api-version' => @client.api_version},
      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?
    # Deserialize Response
    if status_code == 200
      begin
        parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
        result_mapper = Azure::NotificationHubs::Mgmt::V2017_04_01::Models::SharedAccessAuthorizationRuleListResult.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
list_keys_with_http_info(resource_group_name, namespace_name, authorization_rule_name, custom_headers:nil) click to toggle source

Gets the Primary and Secondary ConnectionStrings to the namespace

@param resource_group_name [String] The name of the resource group. @param namespace_name [String] The namespace name. @param authorization_rule_name [String] The connection string of the namespace for the specified authorizationRule. @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-04-01/generated/azure_mgmt_notification_hubs/namespaces.rb, line 1074
def list_keys_with_http_info(resource_group_name, namespace_name, authorization_rule_name, custom_headers:nil)
  list_keys_async(resource_group_name, namespace_name, authorization_rule_name, custom_headers:custom_headers).value!
end
list_next(next_page_link, custom_headers:nil) click to toggle source

Lists the available namespaces within a resourceGroup.

@param next_page_link [String] The NextLink from the previous successful call to List operation. @param custom_headers [Hash{String => String}] A hash of custom headers that will be added to the HTTP request.

@return [NamespaceListResult] operation results.

# File lib/2017-04-01/generated/azure_mgmt_notification_hubs/namespaces.rb, line 1351
def list_next(next_page_link, custom_headers:nil)
  response = list_next_async(next_page_link, custom_headers:custom_headers).value!
  response.body unless response.nil?
end
list_next_async(next_page_link, custom_headers:nil) click to toggle source

Lists the available namespaces within a resourceGroup.

@param next_page_link [String] The NextLink from the previous successful call to List operation. @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-04-01/generated/azure_mgmt_notification_hubs/namespaces.rb, line 1380
def list_next_async(next_page_link, custom_headers:nil)
  fail ArgumentError, 'next_page_link is nil' if next_page_link.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 = '{nextLink}'

  request_url = @base_url || @client.base_url

  options = {
      middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
      skip_encoding_path_params: {'nextLink' => next_page_link},
      headers: request_headers.merge(custom_headers || {}),
      base_url: request_url
  }
  promise = @client.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?
    # Deserialize Response
    if status_code == 200
      begin
        parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
        result_mapper = Azure::NotificationHubs::Mgmt::V2017_04_01::Models::NamespaceListResult.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
list_next_with_http_info(next_page_link, custom_headers:nil) click to toggle source

Lists the available namespaces within a resourceGroup.

@param next_page_link [String] The NextLink from the previous successful call to List operation. @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-04-01/generated/azure_mgmt_notification_hubs/namespaces.rb, line 1366
def list_next_with_http_info(next_page_link, custom_headers:nil)
  list_next_async(next_page_link, custom_headers:custom_headers).value!
end
list_with_http_info(resource_group_name, custom_headers:nil) click to toggle source

Lists the available namespaces within a resourceGroup.

@param resource_group_name [String] The name of the resource group. If resourceGroupName value is null the method lists all the namespaces within subscription @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-04-01/generated/azure_mgmt_notification_hubs/namespaces.rb, line 799
def list_with_http_info(resource_group_name, custom_headers:nil)
  list_async(resource_group_name, custom_headers:custom_headers).value!
end
patch(resource_group_name, namespace_name, parameters, custom_headers:nil) click to toggle source

Patches the existing namespace

@param resource_group_name [String] The name of the resource group. @param namespace_name [String] The namespace name. @param parameters [NamespacePatchParameters] Parameters supplied to patch a Namespace Resource. @param custom_headers [Hash{String => String}] A hash of custom headers that will be added to the HTTP request.

@return [NamespaceResource] operation results.

# File lib/2017-04-01/generated/azure_mgmt_notification_hubs/namespaces.rb, line 256
def patch(resource_group_name, namespace_name, parameters, custom_headers:nil)
  response = patch_async(resource_group_name, namespace_name, parameters, custom_headers:custom_headers).value!
  response.body unless response.nil?
end
patch_async(resource_group_name, namespace_name, parameters, custom_headers:nil) click to toggle source

Patches the existing namespace

@param resource_group_name [String] The name of the resource group. @param namespace_name [String] The namespace name. @param parameters [NamespacePatchParameters] Parameters supplied to patch a Namespace Resource. @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-04-01/generated/azure_mgmt_notification_hubs/namespaces.rb, line 289
def patch_async(resource_group_name, namespace_name, parameters, custom_headers:nil)
  fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
  fail ArgumentError, 'namespace_name is nil' if namespace_name.nil?
  fail ArgumentError, 'parameters is nil' if parameters.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?


  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::NotificationHubs::Mgmt::V2017_04_01::Models::NamespacePatchParameters.mapper()
  request_content = @client.serialize(request_mapper,  parameters)
  request_content = request_content != nil ? JSON.generate(request_content, quirks_mode: true) : nil

  path_template = 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}'

  request_url = @base_url || @client.base_url

  options = {
      middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
      path_params: {'resourceGroupName' => resource_group_name,'namespaceName' => namespace_name,'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(:patch, 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?
    # Deserialize Response
    if status_code == 200
      begin
        parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
        result_mapper = Azure::NotificationHubs::Mgmt::V2017_04_01::Models::NamespaceResource.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
patch_with_http_info(resource_group_name, namespace_name, parameters, custom_headers:nil) click to toggle source

Patches the existing namespace

@param resource_group_name [String] The name of the resource group. @param namespace_name [String] The namespace name. @param parameters [NamespacePatchParameters] Parameters supplied to patch a Namespace Resource. @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-04-01/generated/azure_mgmt_notification_hubs/namespaces.rb, line 273
def patch_with_http_info(resource_group_name, namespace_name, parameters, custom_headers:nil)
  patch_async(resource_group_name, namespace_name, parameters, custom_headers:custom_headers).value!
end
regenerate_keys(resource_group_name, namespace_name, authorization_rule_name, parameters, custom_headers:nil) click to toggle source

Regenerates the Primary/Secondary Keys to the Namespace Authorization Rule

@param resource_group_name [String] The name of the resource group. @param namespace_name [String] The namespace name. @param authorization_rule_name [String] The connection string of the namespace for the specified authorizationRule. @param parameters [PolicykeyResource] Parameters supplied to regenerate the Namespace Authorization Rule Key. @param custom_headers [Hash{String => String}] A hash of custom headers that will be added to the HTTP request.

@return [ResourceListKeys] operation results.

# File lib/2017-04-01/generated/azure_mgmt_notification_hubs/namespaces.rb, line 1158
def regenerate_keys(resource_group_name, namespace_name, authorization_rule_name, parameters, custom_headers:nil)
  response = regenerate_keys_async(resource_group_name, namespace_name, authorization_rule_name, parameters, custom_headers:custom_headers).value!
  response.body unless response.nil?
end
regenerate_keys_async(resource_group_name, namespace_name, authorization_rule_name, parameters, custom_headers:nil) click to toggle source

Regenerates the Primary/Secondary Keys to the Namespace Authorization Rule

@param resource_group_name [String] The name of the resource group. @param namespace_name [String] The namespace name. @param authorization_rule_name [String] The connection string of the namespace for the specified authorizationRule. @param parameters [PolicykeyResource] Parameters supplied to regenerate the Namespace Authorization Rule Key. @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-04-01/generated/azure_mgmt_notification_hubs/namespaces.rb, line 1195
def regenerate_keys_async(resource_group_name, namespace_name, authorization_rule_name, parameters, custom_headers:nil)
  fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
  fail ArgumentError, 'namespace_name is nil' if namespace_name.nil?
  fail ArgumentError, 'authorization_rule_name is nil' if authorization_rule_name.nil?
  fail ArgumentError, 'parameters is nil' if parameters.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?


  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::NotificationHubs::Mgmt::V2017_04_01::Models::PolicykeyResource.mapper()
  request_content = @client.serialize(request_mapper,  parameters)
  request_content = request_content != nil ? JSON.generate(request_content, quirks_mode: true) : nil

  path_template = 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/AuthorizationRules/{authorizationRuleName}/regenerateKeys'

  request_url = @base_url || @client.base_url

  options = {
      middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
      path_params: {'resourceGroupName' => resource_group_name,'namespaceName' => namespace_name,'authorizationRuleName' => authorization_rule_name,'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?
    # Deserialize Response
    if status_code == 200
      begin
        parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
        result_mapper = Azure::NotificationHubs::Mgmt::V2017_04_01::Models::ResourceListKeys.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
regenerate_keys_with_http_info(resource_group_name, namespace_name, authorization_rule_name, parameters, custom_headers:nil) click to toggle source

Regenerates the Primary/Secondary Keys to the Namespace Authorization Rule

@param resource_group_name [String] The name of the resource group. @param namespace_name [String] The namespace name. @param authorization_rule_name [String] The connection string of the namespace for the specified authorizationRule. @param parameters [PolicykeyResource] Parameters supplied to regenerate the Namespace Authorization Rule Key. @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-04-01/generated/azure_mgmt_notification_hubs/namespaces.rb, line 1177
def regenerate_keys_with_http_info(resource_group_name, namespace_name, authorization_rule_name, parameters, custom_headers:nil)
  regenerate_keys_async(resource_group_name, namespace_name, authorization_rule_name, parameters, custom_headers:custom_headers).value!
end