class Google::Cloud::Channel::V1::CloudChannelService::Client

Client for the CloudChannelService service.

CloudChannelService lets Google cloud resellers and distributors manage their customers, channel partners, entitlements, and reports.

Using this service:

  1. Resellers and distributors can manage a customer entity.

  2. Distributors can register an authorized reseller in their channel and provide them with delegated admin access.

  3. Resellers and distributors can manage customer entitlements.

CloudChannelService exposes the following resources:

distributor.

a service. Entitlements are created or updated as a result of a successful fulfillment.

distributors and their indirect resellers in a channel.

Attributes

cloud_channel_service_stub[R]

@private

operations_client[R]

Get the associated client for long-running operations.

@return [::Google::Cloud::Channel::V1::CloudChannelService::Operations]

Public Class Methods

configure() { |configure| ... } click to toggle source

Configure the CloudChannelService Client class.

See {::Google::Cloud::Channel::V1::CloudChannelService::Client::Configuration} for a description of the configuration fields.

@example

# Modify the configuration for all CloudChannelService clients
::Google::Cloud::Channel::V1::CloudChannelService::Client.configure do |config|
  config.timeout = 10.0
end

@yield [config] Configure the Client client. @yieldparam config [Client::Configuration]

@return [Client::Configuration]

# File lib/google/cloud/channel/v1/cloud_channel_service/client.rb, line 74
def self.configure
  @configure ||= begin
    namespace = ["Google", "Cloud", "Channel", "V1"]
    parent_config = while namespace.any?
                      parent_name = namespace.join "::"
                      parent_const = const_get parent_name
                      break parent_const.configure if parent_const.respond_to? :configure
                      namespace.pop
                    end
    default_config = Client::Configuration.new parent_config

    default_config.timeout = 60.0
    default_config.retry_policy = {
      initial_delay: 1.0, max_delay: 10.0, multiplier: 1.3, retry_codes: [14]
    }

    default_config.rpcs.provision_cloud_identity.timeout = 60.0

    default_config.rpcs.create_entitlement.timeout = 60.0

    default_config.rpcs.change_parameters.timeout = 60.0

    default_config.rpcs.change_renewal_settings.timeout = 60.0

    default_config.rpcs.change_offer.timeout = 60.0

    default_config.rpcs.start_paid_service.timeout = 60.0

    default_config.rpcs.suspend_entitlement.timeout = 60.0

    default_config.rpcs.cancel_entitlement.timeout = 60.0

    default_config.rpcs.activate_entitlement.timeout = 60.0

    default_config.rpcs.transfer_entitlements.timeout = 60.0

    default_config.rpcs.transfer_entitlements_to_google.timeout = 60.0

    default_config
  end
  yield @configure if block_given?
  @configure
end
new() { |config| ... } click to toggle source

Create a new CloudChannelService client object.

@example

# Create a client using the default configuration
client = ::Google::Cloud::Channel::V1::CloudChannelService::Client.new

# Create a client using a custom configuration
client = ::Google::Cloud::Channel::V1::CloudChannelService::Client.new do |config|
  config.timeout = 10.0
end

@yield [config] Configure the CloudChannelService client. @yieldparam config [Client::Configuration]

# File lib/google/cloud/channel/v1/cloud_channel_service/client.rb, line 154
def initialize
  # These require statements are intentionally placed here to initialize
  # the gRPC module only when it's required.
  # See https://github.com/googleapis/toolkit/issues/446
  require "gapic/grpc"
  require "google/cloud/channel/v1/service_services_pb"

  # Create the configuration object
  @config = Configuration.new Client.configure

  # Yield the configuration if needed
  yield @config if block_given?

  # Create credentials
  credentials = @config.credentials
  # Use self-signed JWT if the endpoint is unchanged from default,
  # but only if the default endpoint does not have a region prefix.
  enable_self_signed_jwt = @config.endpoint == Client.configure.endpoint &&
                           !@config.endpoint.split(".").first.include?("-")
  credentials ||= Credentials.default scope: @config.scope,
                                      enable_self_signed_jwt: enable_self_signed_jwt
  if credentials.is_a?(::String) || credentials.is_a?(::Hash)
    credentials = Credentials.new credentials, scope: @config.scope
  end
  @quota_project_id = @config.quota_project
  @quota_project_id ||= credentials.quota_project_id if credentials.respond_to? :quota_project_id

  @operations_client = Operations.new do |config|
    config.credentials = credentials
    config.endpoint = @config.endpoint
  end

  @cloud_channel_service_stub = ::Gapic::ServiceStub.new(
    ::Google::Cloud::Channel::V1::CloudChannelService::Stub,
    credentials:  credentials,
    endpoint:     @config.endpoint,
    channel_args: @config.channel_args,
    interceptors: @config.interceptors
  )
end

Public Instance Methods

activate_entitlement(request, options = nil) { |response, operation| ... } click to toggle source

Activates a previously suspended entitlement. Entitlements suspended for pending ToS acceptance can't be activated using this method.

An entitlement activation is a long-running operation and it updates the state of the customer entitlement.

Possible error codes:

  • PERMISSION_DENIED: The reseller account making the request is different

from the reseller account in the API request.

  • INVALID_ARGUMENT: Required request parameters are missing or invalid.

  • NOT_FOUND: Entitlement resource not found.

  • SUSPENSION_NOT_RESELLER_INITIATED: Can only activate reseller-initiated

suspensions and entitlements that have accepted the TOS.

  • NOT_SUSPENDED: Can only activate suspended entitlements not in an ACTIVE

state.

  • INTERNAL: Any non-user error related to a technical issue in the

backend. Contact Cloud Channel support.

  • UNKNOWN: Any non-user error related to a technical issue in the backend.

Contact Cloud Channel support.

Return value: The ID of a long-running operation.

To get the results of the operation, call the GetOperation method of CloudChannelOperationsService. The Operation metadata will contain an instance of {::Google::Cloud::Channel::V1::OperationMetadata OperationMetadata}.

@overload activate_entitlement(request, options = nil)

Pass arguments to `activate_entitlement` via a request object, either of type
{::Google::Cloud::Channel::V1::ActivateEntitlementRequest} or an equivalent Hash.

@param request [::Google::Cloud::Channel::V1::ActivateEntitlementRequest, ::Hash]
  A request object representing the call parameters. Required. To specify no
  parameters, or to keep all the default parameter values, pass an empty Hash.
@param options [::Gapic::CallOptions, ::Hash]
  Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.

@overload activate_entitlement(name: nil, request_id: nil)

Pass arguments to `activate_entitlement` via keyword arguments. Note that at
least one keyword argument is required. To specify no parameters, or to keep all
the default parameter values, pass an empty Hash as a request object (see above).

@param name [::String]
  Required. The resource name of the entitlement to activate.
  Name uses the format:
  accounts/\\{account_id}/customers/\\{customer_id}/entitlements/\\{entitlement_id}
@param request_id [::String]
  Optional. You can specify an optional unique request ID, and if you need to retry
  your request, the server will know to ignore the request if it's complete.

  For example, you make an initial request and the request times out. If you
  make the request again with the same request ID, the server can check if
  it received the original operation with the same request ID. If it did, it
  will ignore the second request.

  The request ID must be a valid [UUID](https://tools.ietf.org/html/rfc4122)
  with the exception that zero UUID is not supported
  (`00000000-0000-0000-0000-000000000000`).

@yield [response, operation] Access the result along with the RPC operation @yieldparam response [::Gapic::Operation] @yieldparam operation [::GRPC::ActiveCall::Operation]

@return [::Gapic::Operation]

@raise [::Google::Cloud::Error] if the RPC is aborted.

# File lib/google/cloud/channel/v1/cloud_channel_service/client.rb, line 2122
def activate_entitlement request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Channel::V1::ActivateEntitlementRequest

  # Converts hash and nil to an options object
  options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h

  # Customize the options with defaults
  metadata = @config.rpcs.activate_entitlement.metadata.to_h

  # Set x-goog-api-client and x-goog-user-project headers
  metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
    lib_name: @config.lib_name, lib_version: @config.lib_version,
    gapic_version: ::Google::Cloud::Channel::V1::VERSION
  metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id

  header_params = {
    "name" => request.name
  }
  request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
  metadata[:"x-goog-request-params"] ||= request_params_header

  options.apply_defaults timeout:      @config.rpcs.activate_entitlement.timeout,
                         metadata:     metadata,
                         retry_policy: @config.rpcs.activate_entitlement.retry_policy

  options.apply_defaults timeout:      @config.timeout,
                         metadata:     @config.metadata,
                         retry_policy: @config.retry_policy

  @cloud_channel_service_stub.call_rpc :activate_entitlement, request, options: options do |response, operation|
    response = ::Gapic::Operation.new response, @operations_client, options: options
    yield response, operation if block_given?
    return response
  end
rescue ::GRPC::BadStatus => e
  raise ::Google::Cloud::Error.from_error(e)
end
cancel_entitlement(request, options = nil) { |response, operation| ... } click to toggle source

Cancels a previously fulfilled entitlement.

An entitlement cancellation is a long-running operation.

Possible error codes:

  • PERMISSION_DENIED: The reseller account making the request is different

from the reseller account in the API request.

  • FAILED_PRECONDITION: There are Google Cloud projects linked to the

Google Cloud entitlement's Cloud Billing subaccount.

  • INVALID_ARGUMENT: Required request parameters are missing or invalid.

  • NOT_FOUND: Entitlement resource not found.

  • DELETION_TYPE_NOT_ALLOWED: Cancel is only allowed for Google Workspace

add-ons, or entitlements for Google Cloud's development platform.

  • INTERNAL: Any non-user error related to a technical issue in the

backend. Contact Cloud Channel support.

  • UNKNOWN: Any non-user error related to a technical issue in the backend.

Contact Cloud Channel support.

Return value: The ID of a long-running operation.

To get the results of the operation, call the GetOperation method of CloudChannelOperationsService. The response will contain google.protobuf.Empty on success. The Operation metadata will contain an instance of {::Google::Cloud::Channel::V1::OperationMetadata OperationMetadata}.

@overload cancel_entitlement(request, options = nil)

Pass arguments to `cancel_entitlement` via a request object, either of type
{::Google::Cloud::Channel::V1::CancelEntitlementRequest} or an equivalent Hash.

@param request [::Google::Cloud::Channel::V1::CancelEntitlementRequest, ::Hash]
  A request object representing the call parameters. Required. To specify no
  parameters, or to keep all the default parameter values, pass an empty Hash.
@param options [::Gapic::CallOptions, ::Hash]
  Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.

@overload cancel_entitlement(name: nil, request_id: nil)

Pass arguments to `cancel_entitlement` via keyword arguments. Note that at
least one keyword argument is required. To specify no parameters, or to keep all
the default parameter values, pass an empty Hash as a request object (see above).

@param name [::String]
  Required. The resource name of the entitlement to cancel.
  Name uses the format:
  accounts/\\{account_id}/customers/\\{customer_id}/entitlements/\\{entitlement_id}
@param request_id [::String]
  Optional. You can specify an optional unique request ID, and if you need to retry
  your request, the server will know to ignore the request if it's complete.

  For example, you make an initial request and the request times out. If you
  make the request again with the same request ID, the server can check if
  it received the original operation with the same request ID. If it did, it
  will ignore the second request.

  The request ID must be a valid [UUID](https://tools.ietf.org/html/rfc4122)
  with the exception that zero UUID is not supported
  (`00000000-0000-0000-0000-000000000000`).

@yield [response, operation] Access the result along with the RPC operation @yieldparam response [::Gapic::Operation] @yieldparam operation [::GRPC::ActiveCall::Operation]

@return [::Gapic::Operation]

@raise [::Google::Cloud::Error] if the RPC is aborted.

# File lib/google/cloud/channel/v1/cloud_channel_service/client.rb, line 2013
def cancel_entitlement request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Channel::V1::CancelEntitlementRequest

  # Converts hash and nil to an options object
  options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h

  # Customize the options with defaults
  metadata = @config.rpcs.cancel_entitlement.metadata.to_h

  # Set x-goog-api-client and x-goog-user-project headers
  metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
    lib_name: @config.lib_name, lib_version: @config.lib_version,
    gapic_version: ::Google::Cloud::Channel::V1::VERSION
  metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id

  header_params = {
    "name" => request.name
  }
  request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
  metadata[:"x-goog-request-params"] ||= request_params_header

  options.apply_defaults timeout:      @config.rpcs.cancel_entitlement.timeout,
                         metadata:     metadata,
                         retry_policy: @config.rpcs.cancel_entitlement.retry_policy

  options.apply_defaults timeout:      @config.timeout,
                         metadata:     @config.metadata,
                         retry_policy: @config.retry_policy

  @cloud_channel_service_stub.call_rpc :cancel_entitlement, request, options: options do |response, operation|
    response = ::Gapic::Operation.new response, @operations_client, options: options
    yield response, operation if block_given?
    return response
  end
rescue ::GRPC::BadStatus => e
  raise ::Google::Cloud::Error.from_error(e)
end
change_offer(request, options = nil) { |response, operation| ... } click to toggle source

Updates the Offer for an existing customer entitlement.

An entitlement update is a long-running operation and it updates the entitlement as a result of fulfillment.

Possible error codes:

  • PERMISSION_DENIED: The customer doesn't belong to the reseller.

  • INVALID_ARGUMENT: Required request parameters are missing or invalid.

  • NOT_FOUND: Offer or Entitlement resource not found.

  • INTERNAL: Any non-user error related to a technical issue in the

backend. Contact Cloud Channel support.

  • UNKNOWN: Any non-user error related to a technical issue in the backend.

Contact Cloud Channel support.

Return value: The ID of a long-running operation.

To get the results of the operation, call the GetOperation method of CloudChannelOperationsService. The Operation metadata will contain an instance of {::Google::Cloud::Channel::V1::OperationMetadata OperationMetadata}.

@overload change_offer(request, options = nil)

Pass arguments to `change_offer` via a request object, either of type
{::Google::Cloud::Channel::V1::ChangeOfferRequest} or an equivalent Hash.

@param request [::Google::Cloud::Channel::V1::ChangeOfferRequest, ::Hash]
  A request object representing the call parameters. Required. To specify no
  parameters, or to keep all the default parameter values, pass an empty Hash.
@param options [::Gapic::CallOptions, ::Hash]
  Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.

@overload change_offer(name: nil, offer: nil, parameters: nil, purchase_order_id: nil, request_id: nil)

Pass arguments to `change_offer` via keyword arguments. Note that at
least one keyword argument is required. To specify no parameters, or to keep all
the default parameter values, pass an empty Hash as a request object (see above).

@param name [::String]
  Required. The resource name of the entitlement to update.
  Name uses the format:
  accounts/\\{account_id}/customers/\\{customer_id}/entitlements/\\{entitlement_id}
@param offer [::String]
  Required. New Offer.
  Format: accounts/\\{account_id}/offers/\\{offer_id}.
@param parameters [::Array<::Google::Cloud::Channel::V1::Parameter, ::Hash>]
  Optional. Parameters needed to purchase the Offer.
@param purchase_order_id [::String]
  Optional. Purchase order id provided by the reseller.
@param request_id [::String]
  Optional. You can specify an optional unique request ID, and if you need to retry
  your request, the server will know to ignore the request if it's complete.

  For example, you make an initial request and the request times out. If you
  make the request again with the same request ID, the server can check if
  it received the original operation with the same request ID. If it did, it
  will ignore the second request.

  The request ID must be a valid [UUID](https://tools.ietf.org/html/rfc4122)
  with the exception that zero UUID is not supported
  (`00000000-0000-0000-0000-000000000000`).

@yield [response, operation] Access the result along with the RPC operation @yieldparam response [::Gapic::Operation] @yieldparam operation [::GRPC::ActiveCall::Operation]

@return [::Gapic::Operation]

@raise [::Google::Cloud::Error] if the RPC is aborted.

# File lib/google/cloud/channel/v1/cloud_channel_service/client.rb, line 1696
def change_offer request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Channel::V1::ChangeOfferRequest

  # Converts hash and nil to an options object
  options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h

  # Customize the options with defaults
  metadata = @config.rpcs.change_offer.metadata.to_h

  # Set x-goog-api-client and x-goog-user-project headers
  metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
    lib_name: @config.lib_name, lib_version: @config.lib_version,
    gapic_version: ::Google::Cloud::Channel::V1::VERSION
  metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id

  header_params = {
    "name" => request.name
  }
  request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
  metadata[:"x-goog-request-params"] ||= request_params_header

  options.apply_defaults timeout:      @config.rpcs.change_offer.timeout,
                         metadata:     metadata,
                         retry_policy: @config.rpcs.change_offer.retry_policy

  options.apply_defaults timeout:      @config.timeout,
                         metadata:     @config.metadata,
                         retry_policy: @config.retry_policy

  @cloud_channel_service_stub.call_rpc :change_offer, request, options: options do |response, operation|
    response = ::Gapic::Operation.new response, @operations_client, options: options
    yield response, operation if block_given?
    return response
  end
rescue ::GRPC::BadStatus => e
  raise ::Google::Cloud::Error.from_error(e)
end
change_parameters(request, options = nil) { |response, operation| ... } click to toggle source

Change parameters of the entitlement.

An entitlement update is a long-running operation and it updates the entitlement as a result of fulfillment.

Possible error codes:

  • PERMISSION_DENIED: The customer doesn't belong to the reseller.

  • INVALID_ARGUMENT: Required request parameters are missing or invalid.

For example, the number of seats being changed is greater than the allowed number of max seats, or decreasing seats for a commitment based plan.

  • NOT_FOUND: Entitlement resource not found.

  • INTERNAL: Any non-user error related to a technical issue in the

backend. Contact Cloud Channel support.

  • UNKNOWN: Any non-user error related to a technical issue in the backend.

Contact Cloud Channel support.

Return value: The ID of a long-running operation.

To get the results of the operation, call the GetOperation method of CloudChannelOperationsService. The Operation metadata will contain an instance of {::Google::Cloud::Channel::V1::OperationMetadata OperationMetadata}.

@overload change_parameters(request, options = nil)

Pass arguments to `change_parameters` via a request object, either of type
{::Google::Cloud::Channel::V1::ChangeParametersRequest} or an equivalent Hash.

@param request [::Google::Cloud::Channel::V1::ChangeParametersRequest, ::Hash]
  A request object representing the call parameters. Required. To specify no
  parameters, or to keep all the default parameter values, pass an empty Hash.
@param options [::Gapic::CallOptions, ::Hash]
  Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.

@overload change_parameters(name: nil, parameters: nil, request_id: nil, purchase_order_id: nil)

Pass arguments to `change_parameters` via keyword arguments. Note that at
least one keyword argument is required. To specify no parameters, or to keep all
the default parameter values, pass an empty Hash as a request object (see above).

@param name [::String]
  Required. The name of the entitlement to update.
  Name uses the format:
  accounts/\\{account_id}/customers/\\{customer_id}/entitlements/\\{entitlement_id}
@param parameters [::Array<::Google::Cloud::Channel::V1::Parameter, ::Hash>]
  Required. Entitlement parameters to update. You can only change editable parameters.
@param request_id [::String]
  Optional. You can specify an optional unique request ID, and if you need to retry
  your request, the server will know to ignore the request if it's complete.

  For example, you make an initial request and the request times out. If you
  make the request again with the same request ID, the server can check if
  it received the original operation with the same request ID. If it did, it
  will ignore the second request.

  The request ID must be a valid [UUID](https://tools.ietf.org/html/rfc4122)
  with the exception that zero UUID is not supported
  (`00000000-0000-0000-0000-000000000000`).
@param purchase_order_id [::String]
  Optional. Purchase order ID provided by the reseller.

@yield [response, operation] Access the result along with the RPC operation @yieldparam response [::Gapic::Operation] @yieldparam operation [::GRPC::ActiveCall::Operation]

@return [::Gapic::Operation]

@raise [::Google::Cloud::Error] if the RPC is aborted.

# File lib/google/cloud/channel/v1/cloud_channel_service/client.rb, line 1479
def change_parameters request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Channel::V1::ChangeParametersRequest

  # Converts hash and nil to an options object
  options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h

  # Customize the options with defaults
  metadata = @config.rpcs.change_parameters.metadata.to_h

  # Set x-goog-api-client and x-goog-user-project headers
  metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
    lib_name: @config.lib_name, lib_version: @config.lib_version,
    gapic_version: ::Google::Cloud::Channel::V1::VERSION
  metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id

  header_params = {
    "name" => request.name
  }
  request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
  metadata[:"x-goog-request-params"] ||= request_params_header

  options.apply_defaults timeout:      @config.rpcs.change_parameters.timeout,
                         metadata:     metadata,
                         retry_policy: @config.rpcs.change_parameters.retry_policy

  options.apply_defaults timeout:      @config.timeout,
                         metadata:     @config.metadata,
                         retry_policy: @config.retry_policy

  @cloud_channel_service_stub.call_rpc :change_parameters, request, options: options do |response, operation|
    response = ::Gapic::Operation.new response, @operations_client, options: options
    yield response, operation if block_given?
    return response
  end
rescue ::GRPC::BadStatus => e
  raise ::Google::Cloud::Error.from_error(e)
end
change_renewal_settings(request, options = nil) { |response, operation| ... } click to toggle source

Updates the renewal settings for an existing customer entitlement.

An entitlement update is a long-running operation and it updates the entitlement as a result of fulfillment.

Possible error codes:

  • PERMISSION_DENIED: The customer doesn't belong to the reseller.

  • INVALID_ARGUMENT: Required request parameters are missing or invalid.

  • NOT_FOUND: Entitlement resource not found.

  • NOT_COMMITMENT_PLAN: Renewal Settings are only applicable for a

commitment plan. Can't enable or disable renewals for non-commitment plans.

  • INTERNAL: Any non-user error related to a technical issue in the

backend. Contact Cloud Channel support.

  • UNKNOWN: Any non-user error related to a technical issue in the backend. Contact Cloud Channel support.

Return value: The ID of a long-running operation.

To get the results of the operation, call the GetOperation method of CloudChannelOperationsService. The Operation metadata will contain an instance of {::Google::Cloud::Channel::V1::OperationMetadata OperationMetadata}.

@overload change_renewal_settings(request, options = nil)

Pass arguments to `change_renewal_settings` via a request object, either of type
{::Google::Cloud::Channel::V1::ChangeRenewalSettingsRequest} or an equivalent Hash.

@param request [::Google::Cloud::Channel::V1::ChangeRenewalSettingsRequest, ::Hash]
  A request object representing the call parameters. Required. To specify no
  parameters, or to keep all the default parameter values, pass an empty Hash.
@param options [::Gapic::CallOptions, ::Hash]
  Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.

@overload change_renewal_settings(name: nil, renewal_settings: nil, request_id: nil)

Pass arguments to `change_renewal_settings` via keyword arguments. Note that at
least one keyword argument is required. To specify no parameters, or to keep all
the default parameter values, pass an empty Hash as a request object (see above).

@param name [::String]
  Required. The name of the entitlement to update.
  Name uses the format:
  accounts/\\{account_id}/customers/\\{customer_id}/entitlements/\\{entitlement_id}
@param renewal_settings [::Google::Cloud::Channel::V1::RenewalSettings, ::Hash]
  Required. New renewal settings.
@param request_id [::String]
  Optional. You can specify an optional unique request ID, and if you need to retry
  your request, the server will know to ignore the request if it's complete.

  For example, you make an initial request and the request times out. If you
  make the request again with the same request ID, the server can check if
  it received the original operation with the same request ID. If it did, it
  will ignore the second request.

  The request ID must be a valid [UUID](https://tools.ietf.org/html/rfc4122)
  with the exception that zero UUID is not supported
  (`00000000-0000-0000-0000-000000000000`).

@yield [response, operation] Access the result along with the RPC operation @yieldparam response [::Gapic::Operation] @yieldparam operation [::GRPC::ActiveCall::Operation]

@return [::Gapic::Operation]

@raise [::Google::Cloud::Error] if the RPC is aborted.

# File lib/google/cloud/channel/v1/cloud_channel_service/client.rb, line 1586
def change_renewal_settings request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Channel::V1::ChangeRenewalSettingsRequest

  # Converts hash and nil to an options object
  options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h

  # Customize the options with defaults
  metadata = @config.rpcs.change_renewal_settings.metadata.to_h

  # Set x-goog-api-client and x-goog-user-project headers
  metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
    lib_name: @config.lib_name, lib_version: @config.lib_version,
    gapic_version: ::Google::Cloud::Channel::V1::VERSION
  metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id

  header_params = {
    "name" => request.name
  }
  request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
  metadata[:"x-goog-request-params"] ||= request_params_header

  options.apply_defaults timeout:      @config.rpcs.change_renewal_settings.timeout,
                         metadata:     metadata,
                         retry_policy: @config.rpcs.change_renewal_settings.retry_policy

  options.apply_defaults timeout:      @config.timeout,
                         metadata:     @config.metadata,
                         retry_policy: @config.retry_policy

  @cloud_channel_service_stub.call_rpc :change_renewal_settings, request, options: options do |response, operation|
    response = ::Gapic::Operation.new response, @operations_client, options: options
    yield response, operation if block_given?
    return response
  end
rescue ::GRPC::BadStatus => e
  raise ::Google::Cloud::Error.from_error(e)
end
check_cloud_identity_accounts_exist(request, options = nil) { |response, operation| ... } click to toggle source

Confirms the existence of Cloud Identity accounts based on the domain and if the Cloud Identity accounts are owned by the reseller.

Possible error codes:

  • PERMISSION_DENIED: The reseller account making the request is different

from the reseller account in the API request.

  • INVALID_ARGUMENT: Required request parameters are missing or invalid.

  • INVALID_VALUE: Invalid domain value in the request.

Return value: A list of {::Google::Cloud::Channel::V1::CloudIdentityCustomerAccount CloudIdentityCustomerAccount} resources for the domain (may be empty)

Note: in the v1alpha1 version of the API, a NOT_FOUND error returns if no {::Google::Cloud::Channel::V1::CloudIdentityCustomerAccount CloudIdentityCustomerAccount} resources match the domain.

@overload check_cloud_identity_accounts_exist(request, options = nil)

Pass arguments to `check_cloud_identity_accounts_exist` via a request object, either of type
{::Google::Cloud::Channel::V1::CheckCloudIdentityAccountsExistRequest} or an equivalent Hash.

@param request [::Google::Cloud::Channel::V1::CheckCloudIdentityAccountsExistRequest, ::Hash]
  A request object representing the call parameters. Required. To specify no
  parameters, or to keep all the default parameter values, pass an empty Hash.
@param options [::Gapic::CallOptions, ::Hash]
  Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.

@overload check_cloud_identity_accounts_exist(parent: nil, domain: nil)

Pass arguments to `check_cloud_identity_accounts_exist` via keyword arguments. Note that at
least one keyword argument is required. To specify no parameters, or to keep all
the default parameter values, pass an empty Hash as a request object (see above).

@param parent [::String]
  Required. The reseller account's resource name.
  Parent uses the format: accounts/\\{account_id}
@param domain [::String]
  Required. Domain to fetch for Cloud Identity account customer.

@yield [response, operation] Access the result along with the RPC operation @yieldparam response [::Google::Cloud::Channel::V1::CheckCloudIdentityAccountsExistResponse] @yieldparam operation [::GRPC::ActiveCall::Operation]

@return [::Google::Cloud::Channel::V1::CheckCloudIdentityAccountsExistResponse]

@raise [::Google::Cloud::Error] if the RPC is aborted.

# File lib/google/cloud/channel/v1/cloud_channel_service/client.rb, line 419
def check_cloud_identity_accounts_exist request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Channel::V1::CheckCloudIdentityAccountsExistRequest

  # Converts hash and nil to an options object
  options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h

  # Customize the options with defaults
  metadata = @config.rpcs.check_cloud_identity_accounts_exist.metadata.to_h

  # Set x-goog-api-client and x-goog-user-project headers
  metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
    lib_name: @config.lib_name, lib_version: @config.lib_version,
    gapic_version: ::Google::Cloud::Channel::V1::VERSION
  metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id

  header_params = {
    "parent" => request.parent
  }
  request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
  metadata[:"x-goog-request-params"] ||= request_params_header

  options.apply_defaults timeout:      @config.rpcs.check_cloud_identity_accounts_exist.timeout,
                         metadata:     metadata,
                         retry_policy: @config.rpcs.check_cloud_identity_accounts_exist.retry_policy

  options.apply_defaults timeout:      @config.timeout,
                         metadata:     @config.metadata,
                         retry_policy: @config.retry_policy

  @cloud_channel_service_stub.call_rpc :check_cloud_identity_accounts_exist, request, options: options do |response, operation|
    yield response, operation if block_given?
    return response
  end
rescue ::GRPC::BadStatus => e
  raise ::Google::Cloud::Error.from_error(e)
end
configure() { |config| ... } click to toggle source

Configure the CloudChannelService Client instance.

The configuration is set to the derived mode, meaning that values can be changed, but structural changes (adding new fields, etc.) are not allowed. Structural changes should be made on {Client.configure}.

See {::Google::Cloud::Channel::V1::CloudChannelService::Client::Configuration} for a description of the configuration fields.

@yield [config] Configure the Client client. @yieldparam config [Client::Configuration]

@return [Client::Configuration]

# File lib/google/cloud/channel/v1/cloud_channel_service/client.rb, line 133
def configure
  yield @config if block_given?
  @config
end
create_customer(request, options = nil) { |response, operation| ... } click to toggle source

Creates a new {::Google::Cloud::Channel::V1::Customer Customer} resource under the reseller or distributor account.

Possible error codes:

  • PERMISSION_DENIED: The reseller account making the request is different

from the reseller account in the API request.

  • INVALID_ARGUMENT:

    * Required request parameters are missing or invalid.
    * Domain field value doesn't match the primary email domain.

Return value: The newly created {::Google::Cloud::Channel::V1::Customer Customer} resource.

@overload create_customer(request, options = nil)

Pass arguments to `create_customer` via a request object, either of type
{::Google::Cloud::Channel::V1::CreateCustomerRequest} or an equivalent Hash.

@param request [::Google::Cloud::Channel::V1::CreateCustomerRequest, ::Hash]
  A request object representing the call parameters. Required. To specify no
  parameters, or to keep all the default parameter values, pass an empty Hash.
@param options [::Gapic::CallOptions, ::Hash]
  Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.

@overload create_customer(parent: nil, customer: nil)

Pass arguments to `create_customer` via keyword arguments. Note that at
least one keyword argument is required. To specify no parameters, or to keep all
the default parameter values, pass an empty Hash as a request object (see above).

@param parent [::String]
  Required. The resource name of reseller account in which to create the customer.
  Parent uses the format: accounts/\\{account_id}
@param customer [::Google::Cloud::Channel::V1::Customer, ::Hash]
  Required. The customer to create.

@yield [response, operation] Access the result along with the RPC operation @yieldparam response [::Google::Cloud::Channel::V1::Customer] @yieldparam operation [::GRPC::ActiveCall::Operation]

@return [::Google::Cloud::Channel::V1::Customer]

@raise [::Google::Cloud::Error] if the RPC is aborted.

# File lib/google/cloud/channel/v1/cloud_channel_service/client.rb, line 502
def create_customer request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Channel::V1::CreateCustomerRequest

  # Converts hash and nil to an options object
  options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h

  # Customize the options with defaults
  metadata = @config.rpcs.create_customer.metadata.to_h

  # Set x-goog-api-client and x-goog-user-project headers
  metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
    lib_name: @config.lib_name, lib_version: @config.lib_version,
    gapic_version: ::Google::Cloud::Channel::V1::VERSION
  metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id

  header_params = {
    "parent" => request.parent
  }
  request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
  metadata[:"x-goog-request-params"] ||= request_params_header

  options.apply_defaults timeout:      @config.rpcs.create_customer.timeout,
                         metadata:     metadata,
                         retry_policy: @config.rpcs.create_customer.retry_policy

  options.apply_defaults timeout:      @config.timeout,
                         metadata:     @config.metadata,
                         retry_policy: @config.retry_policy

  @cloud_channel_service_stub.call_rpc :create_customer, request, options: options do |response, operation|
    yield response, operation if block_given?
    return response
  end
rescue ::GRPC::BadStatus => e
  raise ::Google::Cloud::Error.from_error(e)
end
create_entitlement(request, options = nil) { |response, operation| ... } click to toggle source

Creates an entitlement for a customer.

Possible error codes:

  • PERMISSION_DENIED: The customer doesn't belong to the reseller.

  • INVALID_ARGUMENT:

    * Required request parameters are missing or invalid.
    * There is already a customer entitlement for a SKU from the same
    product family.
  • INVALID_VALUE: Make sure the OfferId is valid. If it is, contact

Google Channel support for further troubleshooting.

  • NOT_FOUND: The customer or offer resource was not found.

  • ALREADY_EXISTS:

    * The SKU was already purchased for the customer.
    * The customer's primary email already exists. Retry
    after changing the customer's primary contact email.
  • CONDITION_NOT_MET or FAILED_PRECONDITION:

    * The domain required for purchasing a SKU has not been verified.
    * A pre-requisite SKU required to purchase an Add-On SKU is missing.
    For example, Google Workspace Business Starter is required to purchase
    Vault or Drive.
    * (Developer accounts only) Reseller and resold domain must meet the
    following naming requirements:
        * Domain names must start with goog-test.
        * Domain names must include the reseller domain.
  • INTERNAL: Any non-user error related to a technical issue in the

backend. Contact Cloud Channel support.

  • UNKNOWN: Any non-user error related to a technical issue in the backend.

Contact Cloud Channel support.

Return value: The ID of a long-running operation.

To get the results of the operation, call the GetOperation method of CloudChannelOperationsService. The Operation metadata will contain an instance of {::Google::Cloud::Channel::V1::OperationMetadata OperationMetadata}.

@overload create_entitlement(request, options = nil)

Pass arguments to `create_entitlement` via a request object, either of type
{::Google::Cloud::Channel::V1::CreateEntitlementRequest} or an equivalent Hash.

@param request [::Google::Cloud::Channel::V1::CreateEntitlementRequest, ::Hash]
  A request object representing the call parameters. Required. To specify no
  parameters, or to keep all the default parameter values, pass an empty Hash.
@param options [::Gapic::CallOptions, ::Hash]
  Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.

@overload create_entitlement(parent: nil, entitlement: nil, request_id: nil)

Pass arguments to `create_entitlement` via keyword arguments. Note that at
least one keyword argument is required. To specify no parameters, or to keep all
the default parameter values, pass an empty Hash as a request object (see above).

@param parent [::String]
  Required. The resource name of the reseller's customer account in which to create the
  entitlement.
  Parent uses the format: accounts/\\{account_id}/customers/\\{customer_id}
@param entitlement [::Google::Cloud::Channel::V1::Entitlement, ::Hash]
  Required. The entitlement to create.
@param request_id [::String]
  Optional. You can specify an optional unique request ID, and if you need to retry
  your request, the server will know to ignore the request if it's complete.

  For example, you make an initial request and the request times out. If you
  make the request again with the same request ID, the server can check if
  it received the original operation with the same request ID. If it did, it
  will ignore the second request.

  The request ID must be a valid [UUID](https://tools.ietf.org/html/rfc4122)
  with the exception that zero UUID is not supported
  (`00000000-0000-0000-0000-000000000000`).

@yield [response, operation] Access the result along with the RPC operation @yieldparam response [::Gapic::Operation] @yieldparam operation [::GRPC::ActiveCall::Operation]

@return [::Gapic::Operation]

@raise [::Google::Cloud::Error] if the RPC is aborted.

# File lib/google/cloud/channel/v1/cloud_channel_service/client.rb, line 1370
def create_entitlement request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Channel::V1::CreateEntitlementRequest

  # Converts hash and nil to an options object
  options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h

  # Customize the options with defaults
  metadata = @config.rpcs.create_entitlement.metadata.to_h

  # Set x-goog-api-client and x-goog-user-project headers
  metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
    lib_name: @config.lib_name, lib_version: @config.lib_version,
    gapic_version: ::Google::Cloud::Channel::V1::VERSION
  metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id

  header_params = {
    "parent" => request.parent
  }
  request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
  metadata[:"x-goog-request-params"] ||= request_params_header

  options.apply_defaults timeout:      @config.rpcs.create_entitlement.timeout,
                         metadata:     metadata,
                         retry_policy: @config.rpcs.create_entitlement.retry_policy

  options.apply_defaults timeout:      @config.timeout,
                         metadata:     @config.metadata,
                         retry_policy: @config.retry_policy

  @cloud_channel_service_stub.call_rpc :create_entitlement, request, options: options do |response, operation|
    response = ::Gapic::Operation.new response, @operations_client, options: options
    yield response, operation if block_given?
    return response
  end
rescue ::GRPC::BadStatus => e
  raise ::Google::Cloud::Error.from_error(e)
end
delete_customer(request, options = nil) { |response, operation| ... } click to toggle source

Deletes the given {::Google::Cloud::Channel::V1::Customer Customer} permanently.

Possible error codes:

  • PERMISSION_DENIED: The account making the request does not own

this customer.

  • INVALID_ARGUMENT: Required request parameters are missing or invalid.

  • FAILED_PRECONDITION: The customer has existing entitlements.

  • NOT_FOUND: No {::Google::Cloud::Channel::V1::Customer Customer} resource found for the name in the request.

@overload delete_customer(request, options = nil)

Pass arguments to `delete_customer` via a request object, either of type
{::Google::Cloud::Channel::V1::DeleteCustomerRequest} or an equivalent Hash.

@param request [::Google::Cloud::Channel::V1::DeleteCustomerRequest, ::Hash]
  A request object representing the call parameters. Required. To specify no
  parameters, or to keep all the default parameter values, pass an empty Hash.
@param options [::Gapic::CallOptions, ::Hash]
  Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.

@overload delete_customer(name: nil)

Pass arguments to `delete_customer` via keyword arguments. Note that at
least one keyword argument is required. To specify no parameters, or to keep all
the default parameter values, pass an empty Hash as a request object (see above).

@param name [::String]
  Required. The resource name of the customer to delete.

@yield [response, operation] Access the result along with the RPC operation @yieldparam response [::Google::Protobuf::Empty] @yieldparam operation [::GRPC::ActiveCall::Operation]

@return [::Google::Protobuf::Empty]

@raise [::Google::Cloud::Error] if the RPC is aborted.

# File lib/google/cloud/channel/v1/cloud_channel_service/client.rb, line 660
def delete_customer request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Channel::V1::DeleteCustomerRequest

  # Converts hash and nil to an options object
  options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h

  # Customize the options with defaults
  metadata = @config.rpcs.delete_customer.metadata.to_h

  # Set x-goog-api-client and x-goog-user-project headers
  metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
    lib_name: @config.lib_name, lib_version: @config.lib_version,
    gapic_version: ::Google::Cloud::Channel::V1::VERSION
  metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id

  header_params = {
    "name" => request.name
  }
  request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
  metadata[:"x-goog-request-params"] ||= request_params_header

  options.apply_defaults timeout:      @config.rpcs.delete_customer.timeout,
                         metadata:     metadata,
                         retry_policy: @config.rpcs.delete_customer.retry_policy

  options.apply_defaults timeout:      @config.timeout,
                         metadata:     @config.metadata,
                         retry_policy: @config.retry_policy

  @cloud_channel_service_stub.call_rpc :delete_customer, request, options: options do |response, operation|
    yield response, operation if block_given?
    return response
  end
rescue ::GRPC::BadStatus => e
  raise ::Google::Cloud::Error.from_error(e)
end
get_customer(request, options = nil) { |response, operation| ... } click to toggle source

Returns the requested {::Google::Cloud::Channel::V1::Customer Customer} resource.

Possible error codes:

  • PERMISSION_DENIED: The reseller account making the request is different

from the reseller account in the API request.

  • INVALID_ARGUMENT: Required request parameters are missing or invalid.

  • NOT_FOUND: The customer resource doesn't exist. Usually the result of an

invalid name parameter.

Return value: The {::Google::Cloud::Channel::V1::Customer Customer} resource.

@overload get_customer(request, options = nil)

Pass arguments to `get_customer` via a request object, either of type
{::Google::Cloud::Channel::V1::GetCustomerRequest} or an equivalent Hash.

@param request [::Google::Cloud::Channel::V1::GetCustomerRequest, ::Hash]
  A request object representing the call parameters. Required. To specify no
  parameters, or to keep all the default parameter values, pass an empty Hash.
@param options [::Gapic::CallOptions, ::Hash]
  Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.

@overload get_customer(name: nil)

Pass arguments to `get_customer` via keyword arguments. Note that at
least one keyword argument is required. To specify no parameters, or to keep all
the default parameter values, pass an empty Hash as a request object (see above).

@param name [::String]
  Required. The resource name of the customer to retrieve.
  Name uses the format: accounts/\\{account_id}/customers/\\{customer_id}

@yield [response, operation] Access the result along with the RPC operation @yieldparam response [::Google::Cloud::Channel::V1::Customer] @yieldparam operation [::GRPC::ActiveCall::Operation]

@return [::Google::Cloud::Channel::V1::Customer]

@raise [::Google::Cloud::Error] if the RPC is aborted.

# File lib/google/cloud/channel/v1/cloud_channel_service/client.rb, line 333
def get_customer request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Channel::V1::GetCustomerRequest

  # Converts hash and nil to an options object
  options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h

  # Customize the options with defaults
  metadata = @config.rpcs.get_customer.metadata.to_h

  # Set x-goog-api-client and x-goog-user-project headers
  metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
    lib_name: @config.lib_name, lib_version: @config.lib_version,
    gapic_version: ::Google::Cloud::Channel::V1::VERSION
  metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id

  header_params = {
    "name" => request.name
  }
  request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
  metadata[:"x-goog-request-params"] ||= request_params_header

  options.apply_defaults timeout:      @config.rpcs.get_customer.timeout,
                         metadata:     metadata,
                         retry_policy: @config.rpcs.get_customer.retry_policy

  options.apply_defaults timeout:      @config.timeout,
                         metadata:     @config.metadata,
                         retry_policy: @config.retry_policy

  @cloud_channel_service_stub.call_rpc :get_customer, request, options: options do |response, operation|
    yield response, operation if block_given?
    return response
  end
rescue ::GRPC::BadStatus => e
  raise ::Google::Cloud::Error.from_error(e)
end
get_entitlement(request, options = nil) { |response, operation| ... } click to toggle source

Returns the requested {::Google::Cloud::Channel::V1::Entitlement Entitlement} resource.

Possible error codes:

  • PERMISSION_DENIED: The customer doesn't belong to the reseller.

  • INVALID_ARGUMENT: Required request parameters are missing or invalid.

  • NOT_FOUND: The customer entitlement was not found.

Return value: The requested {::Google::Cloud::Channel::V1::Entitlement Entitlement} resource.

@overload get_entitlement(request, options = nil)

Pass arguments to `get_entitlement` via a request object, either of type
{::Google::Cloud::Channel::V1::GetEntitlementRequest} or an equivalent Hash.

@param request [::Google::Cloud::Channel::V1::GetEntitlementRequest, ::Hash]
  A request object representing the call parameters. Required. To specify no
  parameters, or to keep all the default parameter values, pass an empty Hash.
@param options [::Gapic::CallOptions, ::Hash]
  Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.

@overload get_entitlement(name: nil)

Pass arguments to `get_entitlement` via keyword arguments. Note that at
least one keyword argument is required. To specify no parameters, or to keep all
the default parameter values, pass an empty Hash as a request object (see above).

@param name [::String]
  Required. The resource name of the entitlement to retrieve.
  Name uses the format:
  accounts/\\{account_id}/customers/\\{customer_id}/entitlements/\\{entitlement_id}

@yield [response, operation] Access the result along with the RPC operation @yieldparam response [::Google::Cloud::Channel::V1::Entitlement] @yieldparam operation [::GRPC::ActiveCall::Operation]

@return [::Google::Cloud::Channel::V1::Entitlement]

@raise [::Google::Cloud::Error] if the RPC is aborted.

# File lib/google/cloud/channel/v1/cloud_channel_service/client.rb, line 1251
def get_entitlement request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Channel::V1::GetEntitlementRequest

  # Converts hash and nil to an options object
  options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h

  # Customize the options with defaults
  metadata = @config.rpcs.get_entitlement.metadata.to_h

  # Set x-goog-api-client and x-goog-user-project headers
  metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
    lib_name: @config.lib_name, lib_version: @config.lib_version,
    gapic_version: ::Google::Cloud::Channel::V1::VERSION
  metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id

  header_params = {
    "name" => request.name
  }
  request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
  metadata[:"x-goog-request-params"] ||= request_params_header

  options.apply_defaults timeout:      @config.rpcs.get_entitlement.timeout,
                         metadata:     metadata,
                         retry_policy: @config.rpcs.get_entitlement.retry_policy

  options.apply_defaults timeout:      @config.timeout,
                         metadata:     @config.metadata,
                         retry_policy: @config.retry_policy

  @cloud_channel_service_stub.call_rpc :get_entitlement, request, options: options do |response, operation|
    yield response, operation if block_given?
    return response
  end
rescue ::GRPC::BadStatus => e
  raise ::Google::Cloud::Error.from_error(e)
end
import_customer(request, options = nil) { |response, operation| ... } click to toggle source

Imports a {::Google::Cloud::Channel::V1::Customer Customer} from the Cloud Identity associated with the provided Cloud Identity ID or domain before a TransferEntitlements call. If a linked Customer already exists and overwrite_if_exists is true, it will update that Customer's data.

Possible error codes:

  • PERMISSION_DENIED: The reseller account making the request is different

from the reseller account in the API request.

  • NOT_FOUND: Cloud Identity doesn't exist or was deleted.

  • INVALID_ARGUMENT: Required parameters are missing, or the auth_token is

expired or invalid.

  • ALREADY_EXISTS: A customer already exists and has conflicting critical

fields. Requires an overwrite.

Return value: The {::Google::Cloud::Channel::V1::Customer Customer}.

@overload import_customer(request, options = nil)

Pass arguments to `import_customer` via a request object, either of type
{::Google::Cloud::Channel::V1::ImportCustomerRequest} or an equivalent Hash.

@param request [::Google::Cloud::Channel::V1::ImportCustomerRequest, ::Hash]
  A request object representing the call parameters. Required. To specify no
  parameters, or to keep all the default parameter values, pass an empty Hash.
@param options [::Gapic::CallOptions, ::Hash]
  Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.

@overload import_customer(domain: nil, cloud_identity_id: nil, parent: nil, auth_token: nil, overwrite_if_exists: nil, channel_partner_id: nil, customer: nil)

Pass arguments to `import_customer` via keyword arguments. Note that at
least one keyword argument is required. To specify no parameters, or to keep all
the default parameter values, pass an empty Hash as a request object (see above).

@param domain [::String]
  Required. Customer domain.
@param cloud_identity_id [::String]
  Required. Customer's Cloud Identity ID
@param parent [::String]
  Required. The resource name of the reseller's account.
  Parent takes the format: accounts/\\{account_id} or
  accounts/\\{account_id}/channelPartnerLinks/\\{channel_partner_id}
@param auth_token [::String]
  Optional. The super admin of the resold customer generates this token to
  authorize a reseller to access their Cloud Identity and purchase
  entitlements on their behalf. You can omit this token after authorization.
  See https://support.google.com/a/answer/7643790 for more details.
@param overwrite_if_exists [::Boolean]
  Required. Choose to overwrite an existing customer if found.
  This must be set to true if there is an existing customer with a
  conflicting region code or domain.
@param channel_partner_id [::String]
  Optional. Cloud Identity ID of a channel partner who will be the direct reseller for
  the customer's order. This field is required for 2-tier transfer scenarios
  and can be provided via the request Parent binding as well.
@param customer [::String]
  Optional. Specifies the customer that will receive imported Cloud Identity
  information.
  Format: accounts/\\{account_id}/customers/\\{customer_id}

@yield [response, operation] Access the result along with the RPC operation @yieldparam response [::Google::Cloud::Channel::V1::Customer] @yieldparam operation [::GRPC::ActiveCall::Operation]

@return [::Google::Cloud::Channel::V1::Customer]

@raise [::Google::Cloud::Error] if the RPC is aborted.

# File lib/google/cloud/channel/v1/cloud_channel_service/client.rb, line 767
def import_customer request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Channel::V1::ImportCustomerRequest

  # Converts hash and nil to an options object
  options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h

  # Customize the options with defaults
  metadata = @config.rpcs.import_customer.metadata.to_h

  # Set x-goog-api-client and x-goog-user-project headers
  metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
    lib_name: @config.lib_name, lib_version: @config.lib_version,
    gapic_version: ::Google::Cloud::Channel::V1::VERSION
  metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id

  header_params = {
    "parent" => request.parent
  }
  request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
  metadata[:"x-goog-request-params"] ||= request_params_header

  options.apply_defaults timeout:      @config.rpcs.import_customer.timeout,
                         metadata:     metadata,
                         retry_policy: @config.rpcs.import_customer.retry_policy

  options.apply_defaults timeout:      @config.timeout,
                         metadata:     @config.metadata,
                         retry_policy: @config.retry_policy

  @cloud_channel_service_stub.call_rpc :import_customer, request, options: options do |response, operation|
    yield response, operation if block_given?
    return response
  end
rescue ::GRPC::BadStatus => e
  raise ::Google::Cloud::Error.from_error(e)
end
list_customers(request, options = nil) { |response, operation| ... } click to toggle source

List {::Google::Cloud::Channel::V1::Customer Customer}s.

Possible error codes:

  • PERMISSION_DENIED: The reseller account making the request is different

from the reseller account in the API request.

  • INVALID_ARGUMENT: Required request parameters are missing or invalid.

Return value: List of {::Google::Cloud::Channel::V1::Customer Customer}s, or an empty list if there are no customers.

@overload list_customers(request, options = nil)

Pass arguments to `list_customers` via a request object, either of type
{::Google::Cloud::Channel::V1::ListCustomersRequest} or an equivalent Hash.

@param request [::Google::Cloud::Channel::V1::ListCustomersRequest, ::Hash]
  A request object representing the call parameters. Required. To specify no
  parameters, or to keep all the default parameter values, pass an empty Hash.
@param options [::Gapic::CallOptions, ::Hash]
  Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.

@overload list_customers(parent: nil, page_size: nil, page_token: nil)

Pass arguments to `list_customers` via keyword arguments. Note that at
least one keyword argument is required. To specify no parameters, or to keep all
the default parameter values, pass an empty Hash as a request object (see above).

@param parent [::String]
  Required. The resource name of the reseller account to list customers from.
  Parent uses the format: accounts/\\{account_id}.
@param page_size [::Integer]
  Optional. The maximum number of customers to return. The service may return fewer
  than this value. If unspecified, returns at most 10 customers. The
  maximum value is 50.
@param page_token [::String]
  Optional. A token identifying a page of results other than the first page.
  Obtained through
  {::Google::Cloud::Channel::V1::ListCustomersResponse#next_page_token ListCustomersResponse.next_page_token} of the previous
  {::Google::Cloud::Channel::V1::CloudChannelService::Client#list_customers CloudChannelService.ListCustomers} call.

@yield [response, operation] Access the result along with the RPC operation @yieldparam response [::Gapic::PagedEnumerable<::Google::Cloud::Channel::V1::Customer>] @yieldparam operation [::GRPC::ActiveCall::Operation]

@return [::Gapic::PagedEnumerable<::Google::Cloud::Channel::V1::Customer>]

@raise [::Google::Cloud::Error] if the RPC is aborted.

# File lib/google/cloud/channel/v1/cloud_channel_service/client.rb, line 252
def list_customers request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Channel::V1::ListCustomersRequest

  # Converts hash and nil to an options object
  options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h

  # Customize the options with defaults
  metadata = @config.rpcs.list_customers.metadata.to_h

  # Set x-goog-api-client and x-goog-user-project headers
  metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
    lib_name: @config.lib_name, lib_version: @config.lib_version,
    gapic_version: ::Google::Cloud::Channel::V1::VERSION
  metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id

  header_params = {
    "parent" => request.parent
  }
  request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
  metadata[:"x-goog-request-params"] ||= request_params_header

  options.apply_defaults timeout:      @config.rpcs.list_customers.timeout,
                         metadata:     metadata,
                         retry_policy: @config.rpcs.list_customers.retry_policy

  options.apply_defaults timeout:      @config.timeout,
                         metadata:     @config.metadata,
                         retry_policy: @config.retry_policy

  @cloud_channel_service_stub.call_rpc :list_customers, request, options: options do |response, operation|
    response = ::Gapic::PagedEnumerable.new @cloud_channel_service_stub, :list_customers, request, response, operation, options
    yield response, operation if block_given?
    return response
  end
rescue ::GRPC::BadStatus => e
  raise ::Google::Cloud::Error.from_error(e)
end
list_entitlements(request, options = nil) { |response, operation| ... } click to toggle source

Lists {::Google::Cloud::Channel::V1::Entitlement Entitlement}s belonging to a customer.

Possible error codes:

  • PERMISSION_DENIED: The customer doesn't belong to the reseller.

  • INVALID_ARGUMENT: Required request parameters are missing or invalid.

Return value: A list of the customer's {::Google::Cloud::Channel::V1::Entitlement Entitlement}s.

@overload list_entitlements(request, options = nil)

Pass arguments to `list_entitlements` via a request object, either of type
{::Google::Cloud::Channel::V1::ListEntitlementsRequest} or an equivalent Hash.

@param request [::Google::Cloud::Channel::V1::ListEntitlementsRequest, ::Hash]
  A request object representing the call parameters. Required. To specify no
  parameters, or to keep all the default parameter values, pass an empty Hash.
@param options [::Gapic::CallOptions, ::Hash]
  Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.

@overload list_entitlements(parent: nil, page_size: nil, page_token: nil)

Pass arguments to `list_entitlements` via keyword arguments. Note that at
least one keyword argument is required. To specify no parameters, or to keep all
the default parameter values, pass an empty Hash as a request object (see above).

@param parent [::String]
  Required. The resource name of the reseller's customer account to list
  entitlements for.
  Parent uses the format: accounts/\\{account_id}/customers/\\{customer_id}
@param page_size [::Integer]
  Optional. Requested page size. Server might return fewer results than requested.
  If unspecified, return at most 50 entitlements.
  The maximum value is 100; the server will coerce values above 100.
@param page_token [::String]
  Optional. A token for a page of results other than the first page.
  Obtained using
  {::Google::Cloud::Channel::V1::ListEntitlementsResponse#next_page_token ListEntitlementsResponse.next_page_token} of the previous
  {::Google::Cloud::Channel::V1::CloudChannelService::Client#list_entitlements CloudChannelService.ListEntitlements} call.

@yield [response, operation] Access the result along with the RPC operation @yieldparam response [::Gapic::PagedEnumerable<::Google::Cloud::Channel::V1::Entitlement>] @yieldparam operation [::GRPC::ActiveCall::Operation]

@return [::Gapic::PagedEnumerable<::Google::Cloud::Channel::V1::Entitlement>]

@raise [::Google::Cloud::Error] if the RPC is aborted.

# File lib/google/cloud/channel/v1/cloud_channel_service/client.rb, line 950
def list_entitlements request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Channel::V1::ListEntitlementsRequest

  # Converts hash and nil to an options object
  options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h

  # Customize the options with defaults
  metadata = @config.rpcs.list_entitlements.metadata.to_h

  # Set x-goog-api-client and x-goog-user-project headers
  metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
    lib_name: @config.lib_name, lib_version: @config.lib_version,
    gapic_version: ::Google::Cloud::Channel::V1::VERSION
  metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id

  header_params = {
    "parent" => request.parent
  }
  request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
  metadata[:"x-goog-request-params"] ||= request_params_header

  options.apply_defaults timeout:      @config.rpcs.list_entitlements.timeout,
                         metadata:     metadata,
                         retry_policy: @config.rpcs.list_entitlements.retry_policy

  options.apply_defaults timeout:      @config.timeout,
                         metadata:     @config.metadata,
                         retry_policy: @config.retry_policy

  @cloud_channel_service_stub.call_rpc :list_entitlements, request, options: options do |response, operation|
    response = ::Gapic::PagedEnumerable.new @cloud_channel_service_stub, :list_entitlements, request, response, operation, options
    yield response, operation if block_given?
    return response
  end
rescue ::GRPC::BadStatus => e
  raise ::Google::Cloud::Error.from_error(e)
end
list_offers(request, options = nil) { |response, operation| ... } click to toggle source

Lists the Offers the reseller can sell.

Possible error codes:

  • INVALID_ARGUMENT: Required request parameters are missing or invalid.

@overload list_offers(request, options = nil)

Pass arguments to `list_offers` via a request object, either of type
{::Google::Cloud::Channel::V1::ListOffersRequest} or an equivalent Hash.

@param request [::Google::Cloud::Channel::V1::ListOffersRequest, ::Hash]
  A request object representing the call parameters. Required. To specify no
  parameters, or to keep all the default parameter values, pass an empty Hash.
@param options [::Gapic::CallOptions, ::Hash]
  Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.

@overload list_offers(parent: nil, page_size: nil, page_token: nil, filter: nil, language_code: nil)

Pass arguments to `list_offers` via keyword arguments. Note that at
least one keyword argument is required. To specify no parameters, or to keep all
the default parameter values, pass an empty Hash as a request object (see above).

@param parent [::String]
  Required. The resource name of the reseller account from which to list Offers.
  Parent uses the format: accounts/\\{account_id}.
@param page_size [::Integer]
  Optional. Requested page size. Server might return fewer results than requested.
  If unspecified, returns at most 500 Offers.
  The maximum value is 1000; the server will coerce values above 1000.
@param page_token [::String]
  Optional. A token for a page of results other than the first page.
@param filter [::String]
  Optional. The expression to filter results by name (name of
  the Offer), sku.name (name of the SKU), or sku.product.name (name of the
  Product).
  Example 1: sku.product.name=products/p1 AND sku.name!=products/p1/skus/s1
  Example 2: name=accounts/a1/offers/o1
@param language_code [::String]
  Optional. The BCP-47 language code. For example, "en-US". The
  response will localize in the corresponding language code, if specified.
  The default value is "en-US".

@yield [response, operation] Access the result along with the RPC operation @yieldparam response [::Gapic::PagedEnumerable<::Google::Cloud::Channel::V1::Offer>] @yieldparam operation [::GRPC::ActiveCall::Operation]

@return [::Gapic::PagedEnumerable<::Google::Cloud::Channel::V1::Offer>]

@raise [::Google::Cloud::Error] if the RPC is aborted.

# File lib/google/cloud/channel/v1/cloud_channel_service/client.rb, line 3057
def list_offers request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Channel::V1::ListOffersRequest

  # Converts hash and nil to an options object
  options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h

  # Customize the options with defaults
  metadata = @config.rpcs.list_offers.metadata.to_h

  # Set x-goog-api-client and x-goog-user-project headers
  metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
    lib_name: @config.lib_name, lib_version: @config.lib_version,
    gapic_version: ::Google::Cloud::Channel::V1::VERSION
  metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id

  header_params = {
    "parent" => request.parent
  }
  request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
  metadata[:"x-goog-request-params"] ||= request_params_header

  options.apply_defaults timeout:      @config.rpcs.list_offers.timeout,
                         metadata:     metadata,
                         retry_policy: @config.rpcs.list_offers.retry_policy

  options.apply_defaults timeout:      @config.timeout,
                         metadata:     @config.metadata,
                         retry_policy: @config.retry_policy

  @cloud_channel_service_stub.call_rpc :list_offers, request, options: options do |response, operation|
    response = ::Gapic::PagedEnumerable.new @cloud_channel_service_stub, :list_offers, request, response, operation, options
    yield response, operation if block_given?
    return response
  end
rescue ::GRPC::BadStatus => e
  raise ::Google::Cloud::Error.from_error(e)
end
list_products(request, options = nil) { |response, operation| ... } click to toggle source

Lists the Products the reseller is authorized to sell.

Possible error codes:

  • INVALID_ARGUMENT: Required request parameters are missing or invalid.

@overload list_products(request, options = nil)

Pass arguments to `list_products` via a request object, either of type
{::Google::Cloud::Channel::V1::ListProductsRequest} or an equivalent Hash.

@param request [::Google::Cloud::Channel::V1::ListProductsRequest, ::Hash]
  A request object representing the call parameters. Required. To specify no
  parameters, or to keep all the default parameter values, pass an empty Hash.
@param options [::Gapic::CallOptions, ::Hash]
  Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.

@overload list_products(account: nil, page_size: nil, page_token: nil, language_code: nil)

Pass arguments to `list_products` via keyword arguments. Note that at
least one keyword argument is required. To specify no parameters, or to keep all
the default parameter values, pass an empty Hash as a request object (see above).

@param account [::String]
  Required. The resource name of the reseller account.
  Format: accounts/\\{account_id}.
@param page_size [::Integer]
  Optional. Requested page size. Server might return fewer results than requested.
  If unspecified, returns at most 100 Products.
  The maximum value is 1000; the server will coerce values above 1000.
@param page_token [::String]
  Optional. A token for a page of results other than the first page.
@param language_code [::String]
  Optional. The BCP-47 language code. For example, "en-US". The
  response will localize in the corresponding language code, if specified.
  The default value is "en-US".

@yield [response, operation] Access the result along with the RPC operation @yieldparam response [::Gapic::PagedEnumerable<::Google::Cloud::Channel::V1::Product>] @yieldparam operation [::GRPC::ActiveCall::Operation]

@return [::Gapic::PagedEnumerable<::Google::Cloud::Channel::V1::Product>]

@raise [::Google::Cloud::Error] if the RPC is aborted.

# File lib/google/cloud/channel/v1/cloud_channel_service/client.rb, line 2884
def list_products request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Channel::V1::ListProductsRequest

  # Converts hash and nil to an options object
  options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h

  # Customize the options with defaults
  metadata = @config.rpcs.list_products.metadata.to_h

  # Set x-goog-api-client and x-goog-user-project headers
  metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
    lib_name: @config.lib_name, lib_version: @config.lib_version,
    gapic_version: ::Google::Cloud::Channel::V1::VERSION
  metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id

  options.apply_defaults timeout:      @config.rpcs.list_products.timeout,
                         metadata:     metadata,
                         retry_policy: @config.rpcs.list_products.retry_policy

  options.apply_defaults timeout:      @config.timeout,
                         metadata:     @config.metadata,
                         retry_policy: @config.retry_policy

  @cloud_channel_service_stub.call_rpc :list_products, request, options: options do |response, operation|
    response = ::Gapic::PagedEnumerable.new @cloud_channel_service_stub, :list_products, request, response, operation, options
    yield response, operation if block_given?
    return response
  end
rescue ::GRPC::BadStatus => e
  raise ::Google::Cloud::Error.from_error(e)
end
list_purchasable_offers(request, options = nil) { |response, operation| ... } click to toggle source

Lists the following:

  • Offers that you can purchase for a customer.

  • Offers that you can change for an entitlement.

Possible error codes:

  • PERMISSION_DENIED: The customer doesn't belong to the reseller

  • INVALID_ARGUMENT: Required request parameters are missing or invalid.

@overload list_purchasable_offers(request, options = nil)

Pass arguments to `list_purchasable_offers` via a request object, either of type
{::Google::Cloud::Channel::V1::ListPurchasableOffersRequest} or an equivalent Hash.

@param request [::Google::Cloud::Channel::V1::ListPurchasableOffersRequest, ::Hash]
  A request object representing the call parameters. Required. To specify no
  parameters, or to keep all the default parameter values, pass an empty Hash.
@param options [::Gapic::CallOptions, ::Hash]
  Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.

@overload list_purchasable_offers(create_entitlement_purchase: nil, change_offer_purchase: nil, customer: nil, page_size: nil, page_token: nil, language_code: nil)

Pass arguments to `list_purchasable_offers` via keyword arguments. Note that at
least one keyword argument is required. To specify no parameters, or to keep all
the default parameter values, pass an empty Hash as a request object (see above).

@param create_entitlement_purchase [::Google::Cloud::Channel::V1::ListPurchasableOffersRequest::CreateEntitlementPurchase, ::Hash]
  List Offers for CreateEntitlement purchase.
@param change_offer_purchase [::Google::Cloud::Channel::V1::ListPurchasableOffersRequest::ChangeOfferPurchase, ::Hash]
  List Offers for ChangeOffer purchase.
@param customer [::String]
  Required. The resource name of the customer to list Offers for.
  Format: accounts/\\{account_id}/customers/\\{customer_id}.
@param page_size [::Integer]
  Optional. Requested page size. Server might return fewer results than requested.
  If unspecified, returns at most 100 Offers.
  The maximum value is 1000; the server will coerce values above 1000.
@param page_token [::String]
  Optional. A token for a page of results other than the first page.
@param language_code [::String]
  Optional. The BCP-47 language code. For example, "en-US". The
  response will localize in the corresponding language code, if specified.
  The default value is "en-US".

@yield [response, operation] Access the result along with the RPC operation @yieldparam response [::Gapic::PagedEnumerable<::Google::Cloud::Channel::V1::PurchasableOffer>] @yieldparam operation [::GRPC::ActiveCall::Operation]

@return [::Gapic::PagedEnumerable<::Google::Cloud::Channel::V1::PurchasableOffer>]

@raise [::Google::Cloud::Error] if the RPC is aborted.

# File lib/google/cloud/channel/v1/cloud_channel_service/client.rb, line 3241
def list_purchasable_offers request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Channel::V1::ListPurchasableOffersRequest

  # Converts hash and nil to an options object
  options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h

  # Customize the options with defaults
  metadata = @config.rpcs.list_purchasable_offers.metadata.to_h

  # Set x-goog-api-client and x-goog-user-project headers
  metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
    lib_name: @config.lib_name, lib_version: @config.lib_version,
    gapic_version: ::Google::Cloud::Channel::V1::VERSION
  metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id

  header_params = {
    "customer" => request.customer
  }
  request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
  metadata[:"x-goog-request-params"] ||= request_params_header

  options.apply_defaults timeout:      @config.rpcs.list_purchasable_offers.timeout,
                         metadata:     metadata,
                         retry_policy: @config.rpcs.list_purchasable_offers.retry_policy

  options.apply_defaults timeout:      @config.timeout,
                         metadata:     @config.metadata,
                         retry_policy: @config.retry_policy

  @cloud_channel_service_stub.call_rpc :list_purchasable_offers, request, options: options do |response, operation|
    response = ::Gapic::PagedEnumerable.new @cloud_channel_service_stub, :list_purchasable_offers, request, response, operation, options
    yield response, operation if block_given?
    return response
  end
rescue ::GRPC::BadStatus => e
  raise ::Google::Cloud::Error.from_error(e)
end
list_purchasable_skus(request, options = nil) { |response, operation| ... } click to toggle source

Lists the following:

  • SKUs that you can purchase for a customer

  • SKUs that you can upgrade or downgrade for an entitlement.

Possible error codes:

  • PERMISSION_DENIED: The customer doesn't belong to the reseller.

  • INVALID_ARGUMENT: Required request parameters are missing or invalid.

@overload list_purchasable_skus(request, options = nil)

Pass arguments to `list_purchasable_skus` via a request object, either of type
{::Google::Cloud::Channel::V1::ListPurchasableSkusRequest} or an equivalent Hash.

@param request [::Google::Cloud::Channel::V1::ListPurchasableSkusRequest, ::Hash]
  A request object representing the call parameters. Required. To specify no
  parameters, or to keep all the default parameter values, pass an empty Hash.
@param options [::Gapic::CallOptions, ::Hash]
  Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.

@overload list_purchasable_skus(create_entitlement_purchase: nil, change_offer_purchase: nil, customer: nil, page_size: nil, page_token: nil, language_code: nil)

Pass arguments to `list_purchasable_skus` via keyword arguments. Note that at
least one keyword argument is required. To specify no parameters, or to keep all
the default parameter values, pass an empty Hash as a request object (see above).

@param create_entitlement_purchase [::Google::Cloud::Channel::V1::ListPurchasableSkusRequest::CreateEntitlementPurchase, ::Hash]
  List SKUs for CreateEntitlement purchase.
@param change_offer_purchase [::Google::Cloud::Channel::V1::ListPurchasableSkusRequest::ChangeOfferPurchase, ::Hash]
  List SKUs for ChangeOffer purchase with a new SKU.
@param customer [::String]
  Required. The resource name of the customer to list SKUs for.
  Format: accounts/\\{account_id}/customers/\\{customer_id}.
@param page_size [::Integer]
  Optional. Requested page size. Server might return fewer results than requested.
  If unspecified, returns at most 100 SKUs.
  The maximum value is 1000; the server will coerce values above 1000.
@param page_token [::String]
  Optional. A token for a page of results other than the first page.
@param language_code [::String]
  Optional. The BCP-47 language code. For example, "en-US". The
  response will localize in the corresponding language code, if specified.
  The default value is "en-US".

@yield [response, operation] Access the result along with the RPC operation @yieldparam response [::Gapic::PagedEnumerable<::Google::Cloud::Channel::V1::PurchasableSku>] @yieldparam operation [::GRPC::ActiveCall::Operation]

@return [::Gapic::PagedEnumerable<::Google::Cloud::Channel::V1::PurchasableSku>]

@raise [::Google::Cloud::Error] if the RPC is aborted.

# File lib/google/cloud/channel/v1/cloud_channel_service/client.rb, line 3149
def list_purchasable_skus request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Channel::V1::ListPurchasableSkusRequest

  # Converts hash and nil to an options object
  options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h

  # Customize the options with defaults
  metadata = @config.rpcs.list_purchasable_skus.metadata.to_h

  # Set x-goog-api-client and x-goog-user-project headers
  metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
    lib_name: @config.lib_name, lib_version: @config.lib_version,
    gapic_version: ::Google::Cloud::Channel::V1::VERSION
  metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id

  header_params = {
    "customer" => request.customer
  }
  request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
  metadata[:"x-goog-request-params"] ||= request_params_header

  options.apply_defaults timeout:      @config.rpcs.list_purchasable_skus.timeout,
                         metadata:     metadata,
                         retry_policy: @config.rpcs.list_purchasable_skus.retry_policy

  options.apply_defaults timeout:      @config.timeout,
                         metadata:     @config.metadata,
                         retry_policy: @config.retry_policy

  @cloud_channel_service_stub.call_rpc :list_purchasable_skus, request, options: options do |response, operation|
    response = ::Gapic::PagedEnumerable.new @cloud_channel_service_stub, :list_purchasable_skus, request, response, operation, options
    yield response, operation if block_given?
    return response
  end
rescue ::GRPC::BadStatus => e
  raise ::Google::Cloud::Error.from_error(e)
end
list_skus(request, options = nil) { |response, operation| ... } click to toggle source

Lists the SKUs for a product the reseller is authorized to sell.

Possible error codes:

  • INVALID_ARGUMENT: Required request parameters are missing or invalid.

@overload list_skus(request, options = nil)

Pass arguments to `list_skus` via a request object, either of type
{::Google::Cloud::Channel::V1::ListSkusRequest} or an equivalent Hash.

@param request [::Google::Cloud::Channel::V1::ListSkusRequest, ::Hash]
  A request object representing the call parameters. Required. To specify no
  parameters, or to keep all the default parameter values, pass an empty Hash.
@param options [::Gapic::CallOptions, ::Hash]
  Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.

@overload list_skus(parent: nil, account: nil, page_size: nil, page_token: nil, language_code: nil)

Pass arguments to `list_skus` via keyword arguments. Note that at
least one keyword argument is required. To specify no parameters, or to keep all
the default parameter values, pass an empty Hash as a request object (see above).

@param parent [::String]
  Required. The resource name of the Product to list SKUs for.
  Parent uses the format: products/\\{product_id}.
  Supports products/- to retrieve SKUs for all products.
@param account [::String]
  Required. Resource name of the reseller.
  Format: accounts/\\{account_id}.
@param page_size [::Integer]
  Optional. Requested page size. Server might return fewer results than requested.
  If unspecified, returns at most 100 SKUs.
  The maximum value is 1000; the server will coerce values above 1000.
@param page_token [::String]
  Optional. A token for a page of results other than the first page.
  Optional.
@param language_code [::String]
  Optional. The BCP-47 language code. For example, "en-US". The
  response will localize in the corresponding language code, if specified.
  The default value is "en-US".

@yield [response, operation] Access the result along with the RPC operation @yieldparam response [::Gapic::PagedEnumerable<::Google::Cloud::Channel::V1::Sku>] @yieldparam operation [::GRPC::ActiveCall::Operation]

@return [::Gapic::PagedEnumerable<::Google::Cloud::Channel::V1::Sku>]

@raise [::Google::Cloud::Error] if the RPC is aborted.

# File lib/google/cloud/channel/v1/cloud_channel_service/client.rb, line 2967
def list_skus request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Channel::V1::ListSkusRequest

  # Converts hash and nil to an options object
  options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h

  # Customize the options with defaults
  metadata = @config.rpcs.list_skus.metadata.to_h

  # Set x-goog-api-client and x-goog-user-project headers
  metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
    lib_name: @config.lib_name, lib_version: @config.lib_version,
    gapic_version: ::Google::Cloud::Channel::V1::VERSION
  metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id

  header_params = {
    "parent" => request.parent
  }
  request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
  metadata[:"x-goog-request-params"] ||= request_params_header

  options.apply_defaults timeout:      @config.rpcs.list_skus.timeout,
                         metadata:     metadata,
                         retry_policy: @config.rpcs.list_skus.retry_policy

  options.apply_defaults timeout:      @config.timeout,
                         metadata:     @config.metadata,
                         retry_policy: @config.retry_policy

  @cloud_channel_service_stub.call_rpc :list_skus, request, options: options do |response, operation|
    response = ::Gapic::PagedEnumerable.new @cloud_channel_service_stub, :list_skus, request, response, operation, options
    yield response, operation if block_given?
    return response
  end
rescue ::GRPC::BadStatus => e
  raise ::Google::Cloud::Error.from_error(e)
end
list_subscribers(request, options = nil) { |response, operation| ... } click to toggle source

Lists service accounts with subscriber privileges on the Cloud Pub/Sub topic created for this Channel Services account.

Possible error codes:

  • PERMISSION_DENIED: The reseller account making the request and the

provided reseller account are different, or the impersonated user is not a super admin.

  • INVALID_ARGUMENT: Required request parameters are missing or invalid.

  • NOT_FOUND: The topic resource doesn't exist.

  • INTERNAL: Any non-user error related to a technical issue in the

backend. Contact Cloud Channel support.

  • UNKNOWN: Any non-user error related to a technical issue in the backend.

Contact Cloud Channel support.

Return value: A list of service email addresses.

@overload list_subscribers(request, options = nil)

Pass arguments to `list_subscribers` via a request object, either of type
{::Google::Cloud::Channel::V1::ListSubscribersRequest} or an equivalent Hash.

@param request [::Google::Cloud::Channel::V1::ListSubscribersRequest, ::Hash]
  A request object representing the call parameters. Required. To specify no
  parameters, or to keep all the default parameter values, pass an empty Hash.
@param options [::Gapic::CallOptions, ::Hash]
  Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.

@overload list_subscribers(account: nil, page_size: nil, page_token: nil)

Pass arguments to `list_subscribers` via keyword arguments. Note that at
least one keyword argument is required. To specify no parameters, or to keep all
the default parameter values, pass an empty Hash as a request object (see above).

@param account [::String]
  Required. Resource name of the account.
@param page_size [::Integer]
  Optional. The maximum number of service accounts to return. The service may return
  fewer than this value.
  If unspecified, returns at most 100 service accounts.
  The maximum value is 1000; the server will coerce values above 1000.
@param page_token [::String]
  Optional. A page token, received from a previous `ListSubscribers` call.
  Provide this to retrieve the subsequent page.

  When paginating, all other parameters provided to `ListSubscribers` must
  match the call that provided the page token.

@yield [response, operation] Access the result along with the RPC operation @yieldparam response [::Google::Cloud::Channel::V1::ListSubscribersResponse] @yieldparam operation [::GRPC::ActiveCall::Operation]

@return [::Google::Cloud::Channel::V1::ListSubscribersResponse]

@raise [::Google::Cloud::Error] if the RPC is aborted.

# File lib/google/cloud/channel/v1/cloud_channel_service/client.rb, line 3513
def list_subscribers request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Channel::V1::ListSubscribersRequest

  # Converts hash and nil to an options object
  options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h

  # Customize the options with defaults
  metadata = @config.rpcs.list_subscribers.metadata.to_h

  # Set x-goog-api-client and x-goog-user-project headers
  metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
    lib_name: @config.lib_name, lib_version: @config.lib_version,
    gapic_version: ::Google::Cloud::Channel::V1::VERSION
  metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id

  header_params = {
    "account" => request.account
  }
  request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
  metadata[:"x-goog-request-params"] ||= request_params_header

  options.apply_defaults timeout:      @config.rpcs.list_subscribers.timeout,
                         metadata:     metadata,
                         retry_policy: @config.rpcs.list_subscribers.retry_policy

  options.apply_defaults timeout:      @config.timeout,
                         metadata:     @config.metadata,
                         retry_policy: @config.retry_policy

  @cloud_channel_service_stub.call_rpc :list_subscribers, request, options: options do |response, operation|
    yield response, operation if block_given?
    return response
  end
rescue ::GRPC::BadStatus => e
  raise ::Google::Cloud::Error.from_error(e)
end
list_transferable_offers(request, options = nil) { |response, operation| ... } click to toggle source

List {::Google::Cloud::Channel::V1::TransferableOffer TransferableOffer}s of a customer based on Cloud Identity ID or Customer Name in the request.

Use this method when a reseller gets the entitlement information of an unowned customer. The reseller should provide the customer's Cloud Identity ID or Customer Name.

Possible error codes:

  • PERMISSION_DENIED:

    * The customer doesn't belong to the reseller and has no auth token.
    * The supplied auth token is invalid.
    * The reseller account making the request is different
    from the reseller account in the query.
  • INVALID_ARGUMENT: Required request parameters are missing or invalid.

Return value: List of {::Google::Cloud::Channel::V1::TransferableOffer TransferableOffer} for the given customer and SKU.

@overload list_transferable_offers(request, options = nil)

Pass arguments to `list_transferable_offers` via a request object, either of type
{::Google::Cloud::Channel::V1::ListTransferableOffersRequest} or an equivalent Hash.

@param request [::Google::Cloud::Channel::V1::ListTransferableOffersRequest, ::Hash]
  A request object representing the call parameters. Required. To specify no
  parameters, or to keep all the default parameter values, pass an empty Hash.
@param options [::Gapic::CallOptions, ::Hash]
  Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.

@overload list_transferable_offers(cloud_identity_id: nil, customer_name: nil, parent: nil, page_size: nil, page_token: nil, sku: nil, language_code: nil)

Pass arguments to `list_transferable_offers` via keyword arguments. Note that at
least one keyword argument is required. To specify no parameters, or to keep all
the default parameter values, pass an empty Hash as a request object (see above).

@param cloud_identity_id [::String]
  Customer's Cloud Identity ID
@param customer_name [::String]
  A reseller should create a customer and use the resource name of
  that customer here.
@param parent [::String]
  Required. The resource name of the reseller's account.
@param page_size [::Integer]
  Requested page size. Server might return fewer results than requested.
  If unspecified, returns at most 100 offers.
  The maximum value is 1000; the server will coerce values above 1000.
@param page_token [::String]
  A token for a page of results other than the first page.
  Obtained using
  {::Google::Cloud::Channel::V1::ListTransferableOffersResponse#next_page_token ListTransferableOffersResponse.next_page_token} of the previous
  {::Google::Cloud::Channel::V1::CloudChannelService::Client#list_transferable_offers CloudChannelService.ListTransferableOffers} call.
@param sku [::String]
  Required. The SKU to look up Offers for.
@param language_code [::String]
  The BCP-47 language code. For example, "en-US". The
  response will localize in the corresponding language code, if specified.
  The default value is "en-US".

@yield [response, operation] Access the result along with the RPC operation @yieldparam response [::Gapic::PagedEnumerable<::Google::Cloud::Channel::V1::TransferableOffer>] @yieldparam operation [::GRPC::ActiveCall::Operation]

@return [::Gapic::PagedEnumerable<::Google::Cloud::Channel::V1::TransferableOffer>]

@raise [::Google::Cloud::Error] if the RPC is aborted.

# File lib/google/cloud/channel/v1/cloud_channel_service/client.rb, line 1171
def list_transferable_offers request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Channel::V1::ListTransferableOffersRequest

  # Converts hash and nil to an options object
  options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h

  # Customize the options with defaults
  metadata = @config.rpcs.list_transferable_offers.metadata.to_h

  # Set x-goog-api-client and x-goog-user-project headers
  metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
    lib_name: @config.lib_name, lib_version: @config.lib_version,
    gapic_version: ::Google::Cloud::Channel::V1::VERSION
  metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id

  header_params = {
    "parent" => request.parent
  }
  request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
  metadata[:"x-goog-request-params"] ||= request_params_header

  options.apply_defaults timeout:      @config.rpcs.list_transferable_offers.timeout,
                         metadata:     metadata,
                         retry_policy: @config.rpcs.list_transferable_offers.retry_policy

  options.apply_defaults timeout:      @config.timeout,
                         metadata:     @config.metadata,
                         retry_policy: @config.retry_policy

  @cloud_channel_service_stub.call_rpc :list_transferable_offers, request, options: options do |response, operation|
    response = ::Gapic::PagedEnumerable.new @cloud_channel_service_stub, :list_transferable_offers, request, response, operation, options
    yield response, operation if block_given?
    return response
  end
rescue ::GRPC::BadStatus => e
  raise ::Google::Cloud::Error.from_error(e)
end
list_transferable_skus(request, options = nil) { |response, operation| ... } click to toggle source

List {::Google::Cloud::Channel::V1::TransferableSku TransferableSku}s of a customer based on the Cloud Identity ID or Customer Name in the request.

Use this method to list the entitlements information of an unowned customer. You should provide the customer's Cloud Identity ID or Customer Name.

Possible error codes:

  • PERMISSION_DENIED:

    * The customer doesn't belong to the reseller and has no auth token.
    * The supplied auth token is invalid.
    * The reseller account making the request is different
    from the reseller account in the query.
  • INVALID_ARGUMENT: Required request parameters are missing or invalid.

Return value: A list of the customer's {::Google::Cloud::Channel::V1::TransferableSku TransferableSku}.

@overload list_transferable_skus(request, options = nil)

Pass arguments to `list_transferable_skus` via a request object, either of type
{::Google::Cloud::Channel::V1::ListTransferableSkusRequest} or an equivalent Hash.

@param request [::Google::Cloud::Channel::V1::ListTransferableSkusRequest, ::Hash]
  A request object representing the call parameters. Required. To specify no
  parameters, or to keep all the default parameter values, pass an empty Hash.
@param options [::Gapic::CallOptions, ::Hash]
  Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.

@overload list_transferable_skus(cloud_identity_id: nil, customer_name: nil, parent: nil, page_size: nil, page_token: nil, auth_token: nil, language_code: nil)

Pass arguments to `list_transferable_skus` via keyword arguments. Note that at
least one keyword argument is required. To specify no parameters, or to keep all
the default parameter values, pass an empty Hash as a request object (see above).

@param cloud_identity_id [::String]
  Customer's Cloud Identity ID
@param customer_name [::String]
  A reseller is required to create a customer and use the resource name of
  the created customer here.
  Customer_name uses the format:
  accounts/\\{account_id}/customers/\\{customer_id}
@param parent [::String]
  Required. The reseller account's resource name.
  Parent uses the format: accounts/\\{account_id}
@param page_size [::Integer]
  The requested page size. Server might return fewer results than requested.
  If unspecified, returns at most 100 SKUs.
  The maximum value is 1000; the server will coerce values above 1000.
  Optional.
@param page_token [::String]
  A token for a page of results other than the first page.
  Obtained using
  {::Google::Cloud::Channel::V1::ListTransferableSkusResponse#next_page_token ListTransferableSkusResponse.next_page_token} of the previous
  {::Google::Cloud::Channel::V1::CloudChannelService::Client#list_transferable_skus CloudChannelService.ListTransferableSkus} call.
  Optional.
@param auth_token [::String]
  The super admin of the resold customer generates this token to
  authorize a reseller to access their Cloud Identity and purchase
  entitlements on their behalf. You can omit this token after authorization.
  See https://support.google.com/a/answer/7643790 for more details.
@param language_code [::String]
  The BCP-47 language code. For example, "en-US". The
  response will localize in the corresponding language code, if specified.
  The default value is "en-US".
  Optional.

@yield [response, operation] Access the result along with the RPC operation @yieldparam response [::Gapic::PagedEnumerable<::Google::Cloud::Channel::V1::TransferableSku>] @yieldparam operation [::GRPC::ActiveCall::Operation]

@return [::Gapic::PagedEnumerable<::Google::Cloud::Channel::V1::TransferableSku>]

@raise [::Google::Cloud::Error] if the RPC is aborted.

# File lib/google/cloud/channel/v1/cloud_channel_service/client.rb, line 1065
def list_transferable_skus request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Channel::V1::ListTransferableSkusRequest

  # Converts hash and nil to an options object
  options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h

  # Customize the options with defaults
  metadata = @config.rpcs.list_transferable_skus.metadata.to_h

  # Set x-goog-api-client and x-goog-user-project headers
  metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
    lib_name: @config.lib_name, lib_version: @config.lib_version,
    gapic_version: ::Google::Cloud::Channel::V1::VERSION
  metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id

  header_params = {
    "parent" => request.parent
  }
  request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
  metadata[:"x-goog-request-params"] ||= request_params_header

  options.apply_defaults timeout:      @config.rpcs.list_transferable_skus.timeout,
                         metadata:     metadata,
                         retry_policy: @config.rpcs.list_transferable_skus.retry_policy

  options.apply_defaults timeout:      @config.timeout,
                         metadata:     @config.metadata,
                         retry_policy: @config.retry_policy

  @cloud_channel_service_stub.call_rpc :list_transferable_skus, request, options: options do |response, operation|
    response = ::Gapic::PagedEnumerable.new @cloud_channel_service_stub, :list_transferable_skus, request, response, operation, options
    yield response, operation if block_given?
    return response
  end
rescue ::GRPC::BadStatus => e
  raise ::Google::Cloud::Error.from_error(e)
end
lookup_offer(request, options = nil) { |response, operation| ... } click to toggle source

Returns the requested {::Google::Cloud::Channel::V1::Offer Offer} resource.

Possible error codes:

  • PERMISSION_DENIED: The entitlement doesn't belong to the reseller.

  • INVALID_ARGUMENT: Required request parameters are missing or invalid.

  • NOT_FOUND: Entitlement or offer was not found.

Return value: The {::Google::Cloud::Channel::V1::Offer Offer} resource.

@overload lookup_offer(request, options = nil)

Pass arguments to `lookup_offer` via a request object, either of type
{::Google::Cloud::Channel::V1::LookupOfferRequest} or an equivalent Hash.

@param request [::Google::Cloud::Channel::V1::LookupOfferRequest, ::Hash]
  A request object representing the call parameters. Required. To specify no
  parameters, or to keep all the default parameter values, pass an empty Hash.
@param options [::Gapic::CallOptions, ::Hash]
  Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.

@overload lookup_offer(entitlement: nil)

Pass arguments to `lookup_offer` via keyword arguments. Note that at
least one keyword argument is required. To specify no parameters, or to keep all
the default parameter values, pass an empty Hash as a request object (see above).

@param entitlement [::String]
  Required. The resource name of the entitlement to retrieve the Offer.
  Entitlement uses the format:
  accounts/\\{account_id}/customers/\\{customer_id}/entitlements/\\{entitlement_id}

@yield [response, operation] Access the result along with the RPC operation @yieldparam response [::Google::Cloud::Channel::V1::Offer] @yieldparam operation [::GRPC::ActiveCall::Operation]

@return [::Google::Cloud::Channel::V1::Offer]

@raise [::Google::Cloud::Error] if the RPC is aborted.

# File lib/google/cloud/channel/v1/cloud_channel_service/client.rb, line 2801
def lookup_offer request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Channel::V1::LookupOfferRequest

  # Converts hash and nil to an options object
  options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h

  # Customize the options with defaults
  metadata = @config.rpcs.lookup_offer.metadata.to_h

  # Set x-goog-api-client and x-goog-user-project headers
  metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
    lib_name: @config.lib_name, lib_version: @config.lib_version,
    gapic_version: ::Google::Cloud::Channel::V1::VERSION
  metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id

  header_params = {
    "entitlement" => request.entitlement
  }
  request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
  metadata[:"x-goog-request-params"] ||= request_params_header

  options.apply_defaults timeout:      @config.rpcs.lookup_offer.timeout,
                         metadata:     metadata,
                         retry_policy: @config.rpcs.lookup_offer.retry_policy

  options.apply_defaults timeout:      @config.timeout,
                         metadata:     @config.metadata,
                         retry_policy: @config.retry_policy

  @cloud_channel_service_stub.call_rpc :lookup_offer, request, options: options do |response, operation|
    yield response, operation if block_given?
    return response
  end
rescue ::GRPC::BadStatus => e
  raise ::Google::Cloud::Error.from_error(e)
end
provision_cloud_identity(request, options = nil) { |response, operation| ... } click to toggle source

Creates a Cloud Identity for the given customer using the customer's information, or the information provided here.

Possible error codes:

  • PERMISSION_DENIED: The customer doesn't belong to the reseller.

  • INVALID_ARGUMENT: Required request parameters are missing or invalid.

  • NOT_FOUND: The customer was not found.

  • ALREADY_EXISTS: The customer's primary email already exists. Retry after changing the customer's primary contact email.

  • INTERNAL: Any non-user error related to a technical issue in the

backend. Contact Cloud Channel support.

  • UNKNOWN: Any non-user error related to a technical issue in the backend.

Contact Cloud Channel support.

Return value: The ID of a long-running operation.

To get the results of the operation, call the GetOperation method of CloudChannelOperationsService. The Operation metadata contains an instance of {::Google::Cloud::Channel::V1::OperationMetadata OperationMetadata}.

@overload provision_cloud_identity(request, options = nil)

Pass arguments to `provision_cloud_identity` via a request object, either of type
{::Google::Cloud::Channel::V1::ProvisionCloudIdentityRequest} or an equivalent Hash.

@param request [::Google::Cloud::Channel::V1::ProvisionCloudIdentityRequest, ::Hash]
  A request object representing the call parameters. Required. To specify no
  parameters, or to keep all the default parameter values, pass an empty Hash.
@param options [::Gapic::CallOptions, ::Hash]
  Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.

@overload provision_cloud_identity(customer: nil, cloud_identity_info: nil, user: nil, validate_only: nil)

Pass arguments to `provision_cloud_identity` via keyword arguments. Note that at
least one keyword argument is required. To specify no parameters, or to keep all
the default parameter values, pass an empty Hash as a request object (see above).

@param customer [::String]
  Required. Resource name of the customer.
  Format: accounts/\\{account_id}/customers/\\{customer_id}
@param cloud_identity_info [::Google::Cloud::Channel::V1::CloudIdentityInfo, ::Hash]
  CloudIdentity-specific customer information.
@param user [::Google::Cloud::Channel::V1::AdminUser, ::Hash]
  Admin user information.
@param validate_only [::Boolean]
  Validate the request and preview the review, but do not post it.

@yield [response, operation] Access the result along with the RPC operation @yieldparam response [::Gapic::Operation] @yieldparam operation [::GRPC::ActiveCall::Operation]

@return [::Gapic::Operation]

@raise [::Google::Cloud::Error] if the RPC is aborted.

# File lib/google/cloud/channel/v1/cloud_channel_service/client.rb, line 862
def provision_cloud_identity request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Channel::V1::ProvisionCloudIdentityRequest

  # Converts hash and nil to an options object
  options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h

  # Customize the options with defaults
  metadata = @config.rpcs.provision_cloud_identity.metadata.to_h

  # Set x-goog-api-client and x-goog-user-project headers
  metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
    lib_name: @config.lib_name, lib_version: @config.lib_version,
    gapic_version: ::Google::Cloud::Channel::V1::VERSION
  metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id

  header_params = {
    "customer" => request.customer
  }
  request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
  metadata[:"x-goog-request-params"] ||= request_params_header

  options.apply_defaults timeout:      @config.rpcs.provision_cloud_identity.timeout,
                         metadata:     metadata,
                         retry_policy: @config.rpcs.provision_cloud_identity.retry_policy

  options.apply_defaults timeout:      @config.timeout,
                         metadata:     @config.metadata,
                         retry_policy: @config.retry_policy

  @cloud_channel_service_stub.call_rpc :provision_cloud_identity, request, options: options do |response, operation|
    response = ::Gapic::Operation.new response, @operations_client, options: options
    yield response, operation if block_given?
    return response
  end
rescue ::GRPC::BadStatus => e
  raise ::Google::Cloud::Error.from_error(e)
end
register_subscriber(request, options = nil) { |response, operation| ... } click to toggle source

Registers a service account with subscriber privileges on the Cloud Pub/Sub topic for this Channel Services account. After you create a subscriber, you get the events through {::Google::Cloud::Channel::V1::SubscriberEvent SubscriberEvent}

Possible error codes:

  • PERMISSION_DENIED: The reseller account making the request and the

provided reseller account are different, or the impersonated user is not a super admin.

  • INVALID_ARGUMENT: Required request parameters are missing or invalid.

  • INTERNAL: Any non-user error related to a technical issue in the

backend. Contact Cloud Channel support.

  • UNKNOWN: Any non-user error related to a technical issue in the backend.

Contact Cloud Channel support.

Return value: The topic name with the registered service email address.

@overload register_subscriber(request, options = nil)

Pass arguments to `register_subscriber` via a request object, either of type
{::Google::Cloud::Channel::V1::RegisterSubscriberRequest} or an equivalent Hash.

@param request [::Google::Cloud::Channel::V1::RegisterSubscriberRequest, ::Hash]
  A request object representing the call parameters. Required. To specify no
  parameters, or to keep all the default parameter values, pass an empty Hash.
@param options [::Gapic::CallOptions, ::Hash]
  Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.

@overload register_subscriber(account: nil, service_account: nil)

Pass arguments to `register_subscriber` via keyword arguments. Note that at
least one keyword argument is required. To specify no parameters, or to keep all
the default parameter values, pass an empty Hash as a request object (see above).

@param account [::String]
  Required. Resource name of the account.
@param service_account [::String]
  Required. Service account that provides subscriber access to the registered topic.

@yield [response, operation] Access the result along with the RPC operation @yieldparam response [::Google::Cloud::Channel::V1::RegisterSubscriberResponse] @yieldparam operation [::GRPC::ActiveCall::Operation]

@return [::Google::Cloud::Channel::V1::RegisterSubscriberResponse]

@raise [::Google::Cloud::Error] if the RPC is aborted.

# File lib/google/cloud/channel/v1/cloud_channel_service/client.rb, line 3328
def register_subscriber request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Channel::V1::RegisterSubscriberRequest

  # Converts hash and nil to an options object
  options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h

  # Customize the options with defaults
  metadata = @config.rpcs.register_subscriber.metadata.to_h

  # Set x-goog-api-client and x-goog-user-project headers
  metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
    lib_name: @config.lib_name, lib_version: @config.lib_version,
    gapic_version: ::Google::Cloud::Channel::V1::VERSION
  metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id

  header_params = {
    "account" => request.account
  }
  request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
  metadata[:"x-goog-request-params"] ||= request_params_header

  options.apply_defaults timeout:      @config.rpcs.register_subscriber.timeout,
                         metadata:     metadata,
                         retry_policy: @config.rpcs.register_subscriber.retry_policy

  options.apply_defaults timeout:      @config.timeout,
                         metadata:     @config.metadata,
                         retry_policy: @config.retry_policy

  @cloud_channel_service_stub.call_rpc :register_subscriber, request, options: options do |response, operation|
    yield response, operation if block_given?
    return response
  end
rescue ::GRPC::BadStatus => e
  raise ::Google::Cloud::Error.from_error(e)
end
start_paid_service(request, options = nil) { |response, operation| ... } click to toggle source

Starts paid service for a trial entitlement.

Starts paid service for a trial entitlement immediately. This method is only applicable if a plan is set up for a trial entitlement but has some trial days remaining.

Possible error codes:

  • PERMISSION_DENIED: The customer doesn't belong to the reseller.

  • INVALID_ARGUMENT: Required request parameters are missing or invalid.

  • NOT_FOUND: Entitlement resource not found.

  • FAILED_PRECONDITION/NOT_IN_TRIAL: This method only works for

entitlement on trial plans.

  • INTERNAL: Any non-user error related to a technical issue in the

backend. Contact Cloud Channel support.

  • UNKNOWN: Any non-user error related to a technical issue in the backend.

Contact Cloud Channel support.

Return value: The ID of a long-running operation.

To get the results of the operation, call the GetOperation method of CloudChannelOperationsService. The Operation metadata will contain an instance of {::Google::Cloud::Channel::V1::OperationMetadata OperationMetadata}.

@overload start_paid_service(request, options = nil)

Pass arguments to `start_paid_service` via a request object, either of type
{::Google::Cloud::Channel::V1::StartPaidServiceRequest} or an equivalent Hash.

@param request [::Google::Cloud::Channel::V1::StartPaidServiceRequest, ::Hash]
  A request object representing the call parameters. Required. To specify no
  parameters, or to keep all the default parameter values, pass an empty Hash.
@param options [::Gapic::CallOptions, ::Hash]
  Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.

@overload start_paid_service(name: nil, request_id: nil)

Pass arguments to `start_paid_service` via keyword arguments. Note that at
least one keyword argument is required. To specify no parameters, or to keep all
the default parameter values, pass an empty Hash as a request object (see above).

@param name [::String]
  Required. The name of the entitlement to start a paid service for.
  Name uses the format:
  accounts/\\{account_id}/customers/\\{customer_id}/entitlements/\\{entitlement_id}
@param request_id [::String]
  Optional. You can specify an optional unique request ID, and if you need to retry
  your request, the server will know to ignore the request if it's complete.

  For example, you make an initial request and the request times out. If you
  make the request again with the same request ID, the server can check if
  it received the original operation with the same request ID. If it did, it
  will ignore the second request.

  The request ID must be a valid [UUID](https://tools.ietf.org/html/rfc4122)
  with the exception that zero UUID is not supported
  (`00000000-0000-0000-0000-000000000000`).

@yield [response, operation] Access the result along with the RPC operation @yieldparam response [::Gapic::Operation] @yieldparam operation [::GRPC::ActiveCall::Operation]

@return [::Gapic::Operation]

@raise [::Google::Cloud::Error] if the RPC is aborted.

# File lib/google/cloud/channel/v1/cloud_channel_service/client.rb, line 1802
def start_paid_service request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Channel::V1::StartPaidServiceRequest

  # Converts hash and nil to an options object
  options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h

  # Customize the options with defaults
  metadata = @config.rpcs.start_paid_service.metadata.to_h

  # Set x-goog-api-client and x-goog-user-project headers
  metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
    lib_name: @config.lib_name, lib_version: @config.lib_version,
    gapic_version: ::Google::Cloud::Channel::V1::VERSION
  metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id

  header_params = {
    "name" => request.name
  }
  request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
  metadata[:"x-goog-request-params"] ||= request_params_header

  options.apply_defaults timeout:      @config.rpcs.start_paid_service.timeout,
                         metadata:     metadata,
                         retry_policy: @config.rpcs.start_paid_service.retry_policy

  options.apply_defaults timeout:      @config.timeout,
                         metadata:     @config.metadata,
                         retry_policy: @config.retry_policy

  @cloud_channel_service_stub.call_rpc :start_paid_service, request, options: options do |response, operation|
    response = ::Gapic::Operation.new response, @operations_client, options: options
    yield response, operation if block_given?
    return response
  end
rescue ::GRPC::BadStatus => e
  raise ::Google::Cloud::Error.from_error(e)
end
suspend_entitlement(request, options = nil) { |response, operation| ... } click to toggle source

Suspends a previously fulfilled entitlement.

An entitlement suspension is a long-running operation.

Possible error codes:

  • PERMISSION_DENIED: The customer doesn't belong to the reseller.

  • INVALID_ARGUMENT: Required request parameters are missing or invalid.

  • NOT_FOUND: Entitlement resource not found.

  • NOT_ACTIVE: Entitlement is not active.

  • INTERNAL: Any non-user error related to a technical issue in the

backend. Contact Cloud Channel support.

  • UNKNOWN: Any non-user error related to a technical issue in the backend.

Contact Cloud Channel support.

Return value: The ID of a long-running operation.

To get the results of the operation, call the GetOperation method of CloudChannelOperationsService. The Operation metadata will contain an instance of {::Google::Cloud::Channel::V1::OperationMetadata OperationMetadata}.

@overload suspend_entitlement(request, options = nil)

Pass arguments to `suspend_entitlement` via a request object, either of type
{::Google::Cloud::Channel::V1::SuspendEntitlementRequest} or an equivalent Hash.

@param request [::Google::Cloud::Channel::V1::SuspendEntitlementRequest, ::Hash]
  A request object representing the call parameters. Required. To specify no
  parameters, or to keep all the default parameter values, pass an empty Hash.
@param options [::Gapic::CallOptions, ::Hash]
  Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.

@overload suspend_entitlement(name: nil, request_id: nil)

Pass arguments to `suspend_entitlement` via keyword arguments. Note that at
least one keyword argument is required. To specify no parameters, or to keep all
the default parameter values, pass an empty Hash as a request object (see above).

@param name [::String]
  Required. The resource name of the entitlement to suspend.
  Name uses the format:
  accounts/\\{account_id}/customers/\\{customer_id}/entitlements/\\{entitlement_id}
@param request_id [::String]
  Optional. You can specify an optional unique request ID, and if you need to retry
  your request, the server will know to ignore the request if it's complete.

  For example, you make an initial request and the request times out. If you
  make the request again with the same request ID, the server can check if
  it received the original operation with the same request ID. If it did, it
  will ignore the second request.

  The request ID must be a valid [UUID](https://tools.ietf.org/html/rfc4122)
  with the exception that zero UUID is not supported
  (`00000000-0000-0000-0000-000000000000`).

@yield [response, operation] Access the result along with the RPC operation @yieldparam response [::Gapic::Operation] @yieldparam operation [::GRPC::ActiveCall::Operation]

@return [::Gapic::Operation]

@raise [::Google::Cloud::Error] if the RPC is aborted.

# File lib/google/cloud/channel/v1/cloud_channel_service/client.rb, line 1905
def suspend_entitlement request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Channel::V1::SuspendEntitlementRequest

  # Converts hash and nil to an options object
  options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h

  # Customize the options with defaults
  metadata = @config.rpcs.suspend_entitlement.metadata.to_h

  # Set x-goog-api-client and x-goog-user-project headers
  metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
    lib_name: @config.lib_name, lib_version: @config.lib_version,
    gapic_version: ::Google::Cloud::Channel::V1::VERSION
  metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id

  header_params = {
    "name" => request.name
  }
  request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
  metadata[:"x-goog-request-params"] ||= request_params_header

  options.apply_defaults timeout:      @config.rpcs.suspend_entitlement.timeout,
                         metadata:     metadata,
                         retry_policy: @config.rpcs.suspend_entitlement.retry_policy

  options.apply_defaults timeout:      @config.timeout,
                         metadata:     @config.metadata,
                         retry_policy: @config.retry_policy

  @cloud_channel_service_stub.call_rpc :suspend_entitlement, request, options: options do |response, operation|
    response = ::Gapic::Operation.new response, @operations_client, options: options
    yield response, operation if block_given?
    return response
  end
rescue ::GRPC::BadStatus => e
  raise ::Google::Cloud::Error.from_error(e)
end
transfer_entitlements(request, options = nil) { |response, operation| ... } click to toggle source

Transfers customer entitlements to new reseller.

Possible error codes:

  • PERMISSION_DENIED: The customer doesn't belong to the reseller.

  • INVALID_ARGUMENT: Required request parameters are missing or invalid.

  • NOT_FOUND: The customer or offer resource was not found.

  • ALREADY_EXISTS: The SKU was already transferred for the customer.

  • CONDITION_NOT_MET or FAILED_PRECONDITION:

    * The SKU requires domain verification to transfer, but the domain is
    not verified.
    * An Add-On SKU (example, Vault or Drive) is missing the
    pre-requisite SKU (example, G Suite Basic).
    * (Developer accounts only) Reseller and resold domain must meet the
    following naming requirements:
        * Domain names must start with goog-test.
        * Domain names must include the reseller domain.
    * Specify all transferring entitlements.
  • INTERNAL: Any non-user error related to a technical issue in the

backend. Contact Cloud Channel support.

  • UNKNOWN: Any non-user error related to a technical issue in the backend.

Contact Cloud Channel support.

Return value: The ID of a long-running operation.

To get the results of the operation, call the GetOperation method of CloudChannelOperationsService. The Operation metadata will contain an instance of {::Google::Cloud::Channel::V1::OperationMetadata OperationMetadata}.

@overload transfer_entitlements(request, options = nil)

Pass arguments to `transfer_entitlements` via a request object, either of type
{::Google::Cloud::Channel::V1::TransferEntitlementsRequest} or an equivalent Hash.

@param request [::Google::Cloud::Channel::V1::TransferEntitlementsRequest, ::Hash]
  A request object representing the call parameters. Required. To specify no
  parameters, or to keep all the default parameter values, pass an empty Hash.
@param options [::Gapic::CallOptions, ::Hash]
  Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.

@overload transfer_entitlements(parent: nil, entitlements: nil, auth_token: nil, request_id: nil)

Pass arguments to `transfer_entitlements` via keyword arguments. Note that at
least one keyword argument is required. To specify no parameters, or to keep all
the default parameter values, pass an empty Hash as a request object (see above).

@param parent [::String]
  Required. The resource name of the reseller's customer account that will receive
  transferred entitlements.
  Parent uses the format: accounts/\\{account_id}/customers/\\{customer_id}
@param entitlements [::Array<::Google::Cloud::Channel::V1::Entitlement, ::Hash>]
  Required. The new entitlements to create or transfer.
@param auth_token [::String]
  The super admin of the resold customer generates this token to
  authorize a reseller to access their Cloud Identity and purchase
  entitlements on their behalf. You can omit this token after authorization.
  See https://support.google.com/a/answer/7643790 for more details.
@param request_id [::String]
  Optional. You can specify an optional unique request ID, and if you need to retry
  your request, the server will know to ignore the request if it's complete.

  For example, you make an initial request and the request times out. If you
  make the request again with the same request ID, the server can check if
  it received the original operation with the same request ID. If it did, it
  will ignore the second request.

  The request ID must be a valid [UUID](https://tools.ietf.org/html/rfc4122)
  with the exception that zero UUID is not supported
  (`00000000-0000-0000-0000-000000000000`).

@yield [response, operation] Access the result along with the RPC operation @yieldparam response [::Gapic::Operation] @yieldparam operation [::GRPC::ActiveCall::Operation]

@return [::Gapic::Operation]

@raise [::Google::Cloud::Error] if the RPC is aborted.

# File lib/google/cloud/channel/v1/cloud_channel_service/client.rb, line 2240
def transfer_entitlements request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Channel::V1::TransferEntitlementsRequest

  # Converts hash and nil to an options object
  options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h

  # Customize the options with defaults
  metadata = @config.rpcs.transfer_entitlements.metadata.to_h

  # Set x-goog-api-client and x-goog-user-project headers
  metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
    lib_name: @config.lib_name, lib_version: @config.lib_version,
    gapic_version: ::Google::Cloud::Channel::V1::VERSION
  metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id

  header_params = {
    "parent" => request.parent
  }
  request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
  metadata[:"x-goog-request-params"] ||= request_params_header

  options.apply_defaults timeout:      @config.rpcs.transfer_entitlements.timeout,
                         metadata:     metadata,
                         retry_policy: @config.rpcs.transfer_entitlements.retry_policy

  options.apply_defaults timeout:      @config.timeout,
                         metadata:     @config.metadata,
                         retry_policy: @config.retry_policy

  @cloud_channel_service_stub.call_rpc :transfer_entitlements, request, options: options do |response, operation|
    response = ::Gapic::Operation.new response, @operations_client, options: options
    yield response, operation if block_given?
    return response
  end
rescue ::GRPC::BadStatus => e
  raise ::Google::Cloud::Error.from_error(e)
end
transfer_entitlements_to_google(request, options = nil) { |response, operation| ... } click to toggle source

Transfers customer entitlements from their current reseller to Google.

Possible error codes:

  • PERMISSION_DENIED: The customer doesn't belong to the reseller.

  • INVALID_ARGUMENT: Required request parameters are missing or invalid.

  • NOT_FOUND: The customer or offer resource was not found.

  • ALREADY_EXISTS: The SKU was already transferred for the customer.

  • CONDITION_NOT_MET or FAILED_PRECONDITION:

    * The SKU requires domain verification to transfer, but the domain is
    not verified.
    * An Add-On SKU (example, Vault or Drive) is missing the
    pre-requisite SKU (example, G Suite Basic).
    * (Developer accounts only) Reseller and resold domain must meet the
    following naming requirements:
        * Domain names must start with goog-test.
        * Domain names must include the reseller domain.
  • INTERNAL: Any non-user error related to a technical issue in the

backend. Contact Cloud Channel support.

  • UNKNOWN: Any non-user error related to a technical issue in the backend.

Contact Cloud Channel support.

Return value: The ID of a long-running operation.

To get the results of the operation, call the GetOperation method of CloudChannelOperationsService. The response will contain google.protobuf.Empty on success. The Operation metadata will contain an instance of {::Google::Cloud::Channel::V1::OperationMetadata OperationMetadata}.

@overload transfer_entitlements_to_google(request, options = nil)

Pass arguments to `transfer_entitlements_to_google` via a request object, either of type
{::Google::Cloud::Channel::V1::TransferEntitlementsToGoogleRequest} or an equivalent Hash.

@param request [::Google::Cloud::Channel::V1::TransferEntitlementsToGoogleRequest, ::Hash]
  A request object representing the call parameters. Required. To specify no
  parameters, or to keep all the default parameter values, pass an empty Hash.
@param options [::Gapic::CallOptions, ::Hash]
  Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.

@overload transfer_entitlements_to_google(parent: nil, entitlements: nil, request_id: nil)

Pass arguments to `transfer_entitlements_to_google` via keyword arguments. Note that at
least one keyword argument is required. To specify no parameters, or to keep all
the default parameter values, pass an empty Hash as a request object (see above).

@param parent [::String]
  Required. The resource name of the reseller's customer account where the entitlements
  transfer from.
  Parent uses the format: accounts/\\{account_id}/customers/\\{customer_id}
@param entitlements [::Array<::Google::Cloud::Channel::V1::Entitlement, ::Hash>]
  Required. The entitlements to transfer to Google.
@param request_id [::String]
  Optional. You can specify an optional unique request ID, and if you need to retry
  your request, the server will know to ignore the request if it's complete.

  For example, you make an initial request and the request times out. If you
  make the request again with the same request ID, the server can check if
  it received the original operation with the same request ID. If it did, it
  will ignore the second request.

  The request ID must be a valid [UUID](https://tools.ietf.org/html/rfc4122)
  with the exception that zero UUID is not supported
  (`00000000-0000-0000-0000-000000000000`).

@yield [response, operation] Access the result along with the RPC operation @yieldparam response [::Gapic::Operation] @yieldparam operation [::GRPC::ActiveCall::Operation]

@return [::Gapic::Operation]

@raise [::Google::Cloud::Error] if the RPC is aborted.

# File lib/google/cloud/channel/v1/cloud_channel_service/client.rb, line 2353
def transfer_entitlements_to_google request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Channel::V1::TransferEntitlementsToGoogleRequest

  # Converts hash and nil to an options object
  options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h

  # Customize the options with defaults
  metadata = @config.rpcs.transfer_entitlements_to_google.metadata.to_h

  # Set x-goog-api-client and x-goog-user-project headers
  metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
    lib_name: @config.lib_name, lib_version: @config.lib_version,
    gapic_version: ::Google::Cloud::Channel::V1::VERSION
  metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id

  header_params = {
    "parent" => request.parent
  }
  request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
  metadata[:"x-goog-request-params"] ||= request_params_header

  options.apply_defaults timeout:      @config.rpcs.transfer_entitlements_to_google.timeout,
                         metadata:     metadata,
                         retry_policy: @config.rpcs.transfer_entitlements_to_google.retry_policy

  options.apply_defaults timeout:      @config.timeout,
                         metadata:     @config.metadata,
                         retry_policy: @config.retry_policy

  @cloud_channel_service_stub.call_rpc :transfer_entitlements_to_google, request, options: options do |response, operation|
    response = ::Gapic::Operation.new response, @operations_client, options: options
    yield response, operation if block_given?
    return response
  end
rescue ::GRPC::BadStatus => e
  raise ::Google::Cloud::Error.from_error(e)
end
unregister_subscriber(request, options = nil) { |response, operation| ... } click to toggle source

Unregisters a service account with subscriber privileges on the Cloud Pub/Sub topic created for this Channel Services account. If there are no service accounts left with subscriber privileges, this deletes the topic. You can call ListSubscribers to check for these accounts.

Possible error codes:

  • PERMISSION_DENIED: The reseller account making the request and the

provided reseller account are different, or the impersonated user is not a super admin.

  • INVALID_ARGUMENT: Required request parameters are missing or invalid.

  • NOT_FOUND: The topic resource doesn't exist.

  • INTERNAL: Any non-user error related to a technical issue in the

backend. Contact Cloud Channel support.

  • UNKNOWN: Any non-user error related to a technical issue in the backend.

Contact Cloud Channel support.

Return value: The topic name that unregistered the service email address. Returns a success response if the service email address wasn't registered with the topic.

@overload unregister_subscriber(request, options = nil)

Pass arguments to `unregister_subscriber` via a request object, either of type
{::Google::Cloud::Channel::V1::UnregisterSubscriberRequest} or an equivalent Hash.

@param request [::Google::Cloud::Channel::V1::UnregisterSubscriberRequest, ::Hash]
  A request object representing the call parameters. Required. To specify no
  parameters, or to keep all the default parameter values, pass an empty Hash.
@param options [::Gapic::CallOptions, ::Hash]
  Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.

@overload unregister_subscriber(account: nil, service_account: nil)

Pass arguments to `unregister_subscriber` via keyword arguments. Note that at
least one keyword argument is required. To specify no parameters, or to keep all
the default parameter values, pass an empty Hash as a request object (see above).

@param account [::String]
  Required. Resource name of the account.
@param service_account [::String]
  Required. Service account to unregister from subscriber access to the topic.

@yield [response, operation] Access the result along with the RPC operation @yieldparam response [::Google::Cloud::Channel::V1::UnregisterSubscriberResponse] @yieldparam operation [::GRPC::ActiveCall::Operation]

@return [::Google::Cloud::Channel::V1::UnregisterSubscriberResponse]

@raise [::Google::Cloud::Error] if the RPC is aborted.

# File lib/google/cloud/channel/v1/cloud_channel_service/client.rb, line 3418
def unregister_subscriber request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Channel::V1::UnregisterSubscriberRequest

  # Converts hash and nil to an options object
  options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h

  # Customize the options with defaults
  metadata = @config.rpcs.unregister_subscriber.metadata.to_h

  # Set x-goog-api-client and x-goog-user-project headers
  metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
    lib_name: @config.lib_name, lib_version: @config.lib_version,
    gapic_version: ::Google::Cloud::Channel::V1::VERSION
  metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id

  header_params = {
    "account" => request.account
  }
  request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
  metadata[:"x-goog-request-params"] ||= request_params_header

  options.apply_defaults timeout:      @config.rpcs.unregister_subscriber.timeout,
                         metadata:     metadata,
                         retry_policy: @config.rpcs.unregister_subscriber.retry_policy

  options.apply_defaults timeout:      @config.timeout,
                         metadata:     @config.metadata,
                         retry_policy: @config.retry_policy

  @cloud_channel_service_stub.call_rpc :unregister_subscriber, request, options: options do |response, operation|
    yield response, operation if block_given?
    return response
  end
rescue ::GRPC::BadStatus => e
  raise ::Google::Cloud::Error.from_error(e)
end
update_customer(request, options = nil) { |response, operation| ... } click to toggle source

Updates an existing {::Google::Cloud::Channel::V1::Customer Customer} resource for the reseller or distributor.

Possible error codes:

  • PERMISSION_DENIED: The reseller account making the request is different

from the reseller account in the API request.

  • INVALID_ARGUMENT: Required request parameters are missing or invalid.

  • NOT_FOUND: No {::Google::Cloud::Channel::V1::Customer Customer} resource found for the name in the request.

Return value: The updated {::Google::Cloud::Channel::V1::Customer Customer} resource.

@overload update_customer(request, options = nil)

Pass arguments to `update_customer` via a request object, either of type
{::Google::Cloud::Channel::V1::UpdateCustomerRequest} or an equivalent Hash.

@param request [::Google::Cloud::Channel::V1::UpdateCustomerRequest, ::Hash]
  A request object representing the call parameters. Required. To specify no
  parameters, or to keep all the default parameter values, pass an empty Hash.
@param options [::Gapic::CallOptions, ::Hash]
  Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.

@overload update_customer(customer: nil, update_mask: nil)

Pass arguments to `update_customer` via keyword arguments. Note that at
least one keyword argument is required. To specify no parameters, or to keep all
the default parameter values, pass an empty Hash as a request object (see above).

@param customer [::Google::Cloud::Channel::V1::Customer, ::Hash]
  Required. New contents of the customer.
@param update_mask [::Google::Protobuf::FieldMask, ::Hash]
  The update mask that applies to the resource.
  Optional.

@yield [response, operation] Access the result along with the RPC operation @yieldparam response [::Google::Cloud::Channel::V1::Customer] @yieldparam operation [::GRPC::ActiveCall::Operation]

@return [::Google::Cloud::Channel::V1::Customer]

@raise [::Google::Cloud::Error] if the RPC is aborted.

# File lib/google/cloud/channel/v1/cloud_channel_service/client.rb, line 584
def update_customer request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Channel::V1::UpdateCustomerRequest

  # Converts hash and nil to an options object
  options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h

  # Customize the options with defaults
  metadata = @config.rpcs.update_customer.metadata.to_h

  # Set x-goog-api-client and x-goog-user-project headers
  metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
    lib_name: @config.lib_name, lib_version: @config.lib_version,
    gapic_version: ::Google::Cloud::Channel::V1::VERSION
  metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id

  header_params = {
    "customer.name" => request.customer.name
  }
  request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
  metadata[:"x-goog-request-params"] ||= request_params_header

  options.apply_defaults timeout:      @config.rpcs.update_customer.timeout,
                         metadata:     metadata,
                         retry_policy: @config.rpcs.update_customer.retry_policy

  options.apply_defaults timeout:      @config.timeout,
                         metadata:     @config.metadata,
                         retry_policy: @config.retry_policy

  @cloud_channel_service_stub.call_rpc :update_customer, request, options: options do |response, operation|
    yield response, operation if block_given?
    return response
  end
rescue ::GRPC::BadStatus => e
  raise ::Google::Cloud::Error.from_error(e)
end