def create_async(resource_group_name, account_name, pool_name, parameters, if_match:nil, if_none_match:nil, custom_headers:nil)
      # Send request
      promise = begin_create_async(resource_group_name, account_name, pool_name, parameters, if_match:if_match, if_none_match:if_none_match, custom_headers:custom_headers)

      promise = promise.then do |response|
        # Defining deserialization method.
        deserialize_method = lambda do |parsed_response|
          result_mapper = Azure::Batch::Mgmt::V2017_09_01::Models::Pool.mapper()
          parsed_response = @client.deserialize(result_mapper, parsed_response)
        end

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

      promise
    end
def create_async(resource_group_name, account_name, pool_name, parameters, if_match:nil, if_none_match:nil, custom_headers:nil)
      # Send request
      promise = begin_create_async(resource_group_name, account_name, pool_name, parameters, if_match:if_match, if_none_match:if_none_match, custom_headers:custom_headers)

      promise = promise.then do |response|
        # Defining deserialization method.
        deserialize_method = lambda do |parsed_response|
          result_mapper = Azure::Batch::Mgmt::V2017_09_01::Models::Pool.mapper()
          parsed_response = @client.deserialize(result_mapper, parsed_response)
        end

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

      promise
    end
@param resource_group_name [String] The name of the resource group that
 contains the Batch account.
 @param account_name [String] The name of the Batch account.
 @param pool_name [String] The pool name. This must be unique within the
 account.
 @param parameters [Pool] Additional parameters for pool creation.
 @param if_match [String] The entity state (ETag) version of the pool to
 update. A value of "*" can be used to apply the operation only if the pool
 already exists. If omitted, this operation will always be applied.
 @param if_none_match [String] Set to '*' to allow a new pool to be created,
 but to prevent updating an existing pool. Other values will be ignored.
 @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.