def failover_async(resource_group_name, location_name, failover_group_name, custom_headers:nil)
      # Send request
      promise = begin_failover_async(resource_group_name, location_name, failover_group_name, custom_headers:custom_headers)

      promise = promise.then do |response|
        # Defining deserialization method.
        deserialize_method = lambda do |parsed_response|
          result_mapper = Azure::SQL::Mgmt::V2017_10_01_preview::Models::InstanceFailoverGroup.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 failover_async(resource_group_name, location_name, failover_group_name, custom_headers:nil)
      # Send request
      promise = begin_failover_async(resource_group_name, location_name, failover_group_name, custom_headers:custom_headers)

      promise = promise.then do |response|
        # Defining deserialization method.
        deserialize_method = lambda do |parsed_response|
          result_mapper = Azure::SQL::Mgmt::V2017_10_01_preview::Models::InstanceFailoverGroup.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 resource. You can obtain this value from the Azure Resource
 Manager API or the portal.
 @param location_name [String] The name of the region where the resource is
 located.
 @param failover_group_name [String] The name of the failover group.
 @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.