# Class CloudChannelServiceClient (1.28.0)

1.28.0 (latest) 1.27.0 1.26.0 1.25.0 1.24.0 1.23.0 1.22.2 1.21.0 1.20.1 1.19.0 1.18.5 1.17.1 1.15.1 1.14.0 1.13.0 1.12.1 1.11.0 1.10.0 1.9.3 1.8.1 1.7.1 1.6.3 1.5.0 1.4.0 1.3.2 1.2.3 1.1.1 1.0.0 0.3.0 0.2.1 0.1.0

    CloudChannelServiceClient(
        *,
        credentials: typing.Optional[google.auth.credentials.Credentials] = None,
        transport: typing.Optional[
            typing.Union[
                str,
                google.cloud.channel_v1.services.cloud_channel_service.transports.base.CloudChannelServiceTransport,
                typing.Callable[
                    [...],
                    google.cloud.channel_v1.services.cloud_channel_service.transports.base.CloudChannelServiceTransport,
                ],
            ]
        ] = None,
        client_options: typing.Optional[
            typing.Union[google.api_core.client_options.ClientOptions, dict]
        ] = None,
        client_info: google.api_core.gapic_v1.client_info.ClientInfo = google.api_core.gapic_v1.client_info.ClientInfo
    )

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:

- Customers: An entity-usually
  an enterprise-managed by a reseller or distributor.

- Entitlements: An entity
  that provides a customer with the means to use a service.
  Entitlements are created or updated as a result of a successful
  fulfillment.

- ChannelPartnerLinks:
  An entity that identifies links between distributors and their
  indirect resellers in a channel.

## Properties

### api_endpoint

Return the API endpoint used by the client instance.

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `str` | The API endpoint used by the client instance. |

### transport

Returns the transport used by the client instance.

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `CloudChannelServiceTransport` | The transport used by the client instance. |

### universe_domain

Return the universe domain used by the client instance.

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `str` | The universe domain used by the client instance. |

## Methods

### CloudChannelServiceClient

    CloudChannelServiceClient(
        *,
        credentials: typing.Optional[google.auth.credentials.Credentials] = None,
        transport: typing.Optional[
            typing.Union[
                str,
                google.cloud.channel_v1.services.cloud_channel_service.transports.base.CloudChannelServiceTransport,
                typing.Callable[
                    [...],
                    google.cloud.channel_v1.services.cloud_channel_service.transports.base.CloudChannelServiceTransport,
                ],
            ]
        ] = None,
        client_options: typing.Optional[
            typing.Union[google.api_core.client_options.ClientOptions, dict]
        ] = None,
        client_info: google.api_core.gapic_v1.client_info.ClientInfo = google.api_core.gapic_v1.client_info.ClientInfo
    )

Instantiates the cloud channel service client.

| **Parameters** ||
|---|---|
| **Name** | **Description** |
| `credentials` | `Optional[google.auth.credentials.Credentials]` The authorization credentials to attach to requests. These credentials identify the application to the service; if none are specified, the client will attempt to ascertain the credentials from the environment. |
| `transport` | `Optional[Union[str,CloudChannelServiceTransport,Callable[..., CloudChannelServiceTransport]]]` The transport to use, or a Callable that constructs and returns a new transport. If a Callable is given, it will be called with the same set of initialization arguments as used in the CloudChannelServiceTransport constructor. If set to None, a transport is chosen automatically. |
| `client_options` | `Optional[Union[google.api_core.client_options.ClientOptions, dict]]` Custom options for the client. 1. The `api_endpoint` property can be used to override the default endpoint provided by the client when `transport` is not explicitly provided. Only if this property is not set and `transport` was not explicitly provided, the endpoint is determined by the GOOGLE_API_USE_MTLS_ENDPOINT environment variable, which have one of the following values: "always" (always use the default mTLS endpoint), "never" (always use the default regular endpoint) and "auto" (auto-switch to the default mTLS endpoint if client certificate is present; this is the default value). 2. If the GOOGLE_API_USE_CLIENT_CERTIFICATE environment variable is "true", then the `client_cert_source` property can be used to provide a client certificate for mTLS transport. If not provided, the default SSL client certificate will be used if present. If GOOGLE_API_USE_CLIENT_CERTIFICATE is "false" or not set, no client certificate will be used. 3. The `universe_domain` property can be used to override the default "googleapis.com" universe. Note that the `api_endpoint` property still takes precedence; and `universe_domain` is currently not supported for mTLS. |
| `client_info` | `google.api_core.gapic_v1.client_info.ClientInfo` The client info used to send a user-agent string along with API requests. If `None`, then default info will be used. Generally, you only need to set this if you're developing your own client library. |

| **Exceptions** ||
|---|---|
| **Type** | **Description** |
| `google.auth.exceptions.MutualTLSChannelError` | If mutual TLS transport creation failed for any reason. |

### __exit__

    __exit__(type, value, traceback)

Releases underlying transport's resources.

> [!WARNING]
> **Warning:** ONLY use as a context manager if the transport is NOT shared with other clients! Exiting the with block will CLOSE the transport and may cause errors in other clients!

### account_path

    account_path(account: str) -> str

Returns a fully-qualified account string.

### activate_entitlement

    activate_entitlement(
        request: typing.Optional[
            typing.Union[
                google.cloud.channel_v1.types.service.ActivateEntitlementRequest, dict
            ]
        ] = None,
        *,
        retry: typing.Optional[
            typing.Union[
                google.api_core.retry.retry_unary.Retry,
                google.api_core.gapic_v1.method._MethodDefault,
            ]
        ] = _MethodDefault._DEFAULT_VALUE,
        timeout: typing.Union[float, object] = _MethodDefault._DEFAULT_VALUE,
        metadata: typing.Sequence[typing.Tuple[str, typing.Union[str, bytes]]] = ()
    ) -> google.api_core.operation.Operation

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
xref_OperationMetadata.

    # This snippet has been automatically generated and should be regarded as a
    # code template only.
    # It will require modifications to work:
    # - It may require correct/in-range values for request initialization.
    # - It may require specifying regional endpoints when creating the service
    #   client as shown in:
    #   https://googleapis.dev/python/google-api-core/latest/client_options.html
    from google.cloud import https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest

    def sample_activate_entitlement():
        # Create a client
        client = https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest.https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.services.cloud_channel_service.CloudChannelServiceClient.html()

        # Initialize request argument(s)
        request = https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest.https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.types.ActivateEntitlementRequest.html(
            name="name_value",
        )

        # Make the request
        operation = client.https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.services.cloud_channel_service.CloudChannelServiceClient.html#google_cloud_channel_v1_services_cloud_channel_service_CloudChannelServiceClient_activate_entitlement(request=request)

        print("Waiting for operation to complete...")

        response = operation.result()

        # Handle the response
        print(response)

| **Parameters** ||
|---|---|
| **Name** | **Description** |
| `request` | `Union[https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.types.ActivateEntitlementRequest, dict]` The request object. Request message for CloudChannelService.ActivateEntitlement. |
| `retry` | `google.api_core.retry.Retry` Designation of what errors, if any, should be retried. |
| `timeout` | `float` The timeout for this request. |
| `metadata` | `Sequence[Tuple[str, Union[str, bytes]]]` Key/value pairs which should be sent along with the request as metadata. Normally, each value must be of type `str`, but for metadata keys ending with the suffix `-bin`, the corresponding values must be of type `bytes`. |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `google.api_core.operation.Operation` | An object representing a long-running operation. The result type for the operation will be [Entitlement](https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.types.Entitlement) An entitlement is a representation of a customer's ability to use a service. |

### billing_account_path

    billing_account_path(account: str, billing_account: str) -> str

Returns a fully-qualified billing_account string.

### cancel_entitlement

    cancel_entitlement(
        request: typing.Optional[
            typing.Union[
                google.cloud.channel_v1.types.service.CancelEntitlementRequest, dict
            ]
        ] = None,
        *,
        retry: typing.Optional[
            typing.Union[
                google.api_core.retry.retry_unary.Retry,
                google.api_core.gapic_v1.method._MethodDefault,
            ]
        ] = _MethodDefault._DEFAULT_VALUE,
        timeout: typing.Union[float, object] = _MethodDefault._DEFAULT_VALUE,
        metadata: typing.Sequence[typing.Tuple[str, typing.Union[str, bytes]]] = ()
    ) -> google.api_core.operation.Operation

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
xref_OperationMetadata.

    # This snippet has been automatically generated and should be regarded as a
    # code template only.
    # It will require modifications to work:
    # - It may require correct/in-range values for request initialization.
    # - It may require specifying regional endpoints when creating the service
    #   client as shown in:
    #   https://googleapis.dev/python/google-api-core/latest/client_options.html
    from google.cloud import https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest

    def sample_cancel_entitlement():
        # Create a client
        client = https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest.https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.services.cloud_channel_service.CloudChannelServiceClient.html()

        # Initialize request argument(s)
        request = https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest.https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.types.CancelEntitlementRequest.html(
            name="name_value",
        )

        # Make the request
        operation = client.https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.services.cloud_channel_service.CloudChannelServiceClient.html#google_cloud_channel_v1_services_cloud_channel_service_CloudChannelServiceClient_cancel_entitlement(request=request)

        print("Waiting for operation to complete...")

        response = operation.result()

        # Handle the response
        print(response)

| **Parameters** ||
|---|---|
| **Name** | **Description** |
| `request` | `Union[https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.types.CancelEntitlementRequest, dict]` The request object. Request message for CloudChannelService.CancelEntitlement. |
| `retry` | `google.api_core.retry.Retry` Designation of what errors, if any, should be retried. |
| `timeout` | `float` The timeout for this request. |
| `metadata` | `Sequence[Tuple[str, Union[str, bytes]]]` Key/value pairs which should be sent along with the request as metadata. Normally, each value must be of type `str`, but for metadata keys ending with the suffix `-bin`, the corresponding values must be of type `bytes`. |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `google.api_core.operation.Operation` | An object representing a long-running operation. The result type for the operation will be `google.protobuf.empty_pb2.Empty` A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } |

### cancel_operation

    cancel_operation(
        request: typing.Optional[
            typing.Union[google.longrunning.operations_pb2.CancelOperationRequest, dict]
        ] = None,
        *,
        retry: typing.Optional[
            typing.Union[
                google.api_core.retry.retry_unary.Retry,
                google.api_core.gapic_v1.method._MethodDefault,
            ]
        ] = _MethodDefault._DEFAULT_VALUE,
        timeout: typing.Union[float, object] = _MethodDefault._DEFAULT_VALUE,
        metadata: typing.Sequence[typing.Tuple[str, typing.Union[str, bytes]]] = ()
    ) -> None

Starts asynchronous cancellation on a long-running operation.

The server makes a best effort to cancel the operation, but success
is not guaranteed. If the server doesn't support this method, it returns
`google.rpc.Code.UNIMPLEMENTED`.

| **Parameters** ||
|---|---|
| **Name** | **Description** |
| `request` | `` `.operations_pb2.CancelOperationRequest` `` The request object. Request message for `CancelOperation` method. |
| `retry` | `google.api_core.retry.Retry` Designation of what errors, if any, should be retried. |
| `timeout` | `float` The timeout for this request. |
| `metadata` | `Sequence[Tuple[str, Union[str, bytes]]]` Key/value pairs which should be sent along with the request as metadata. Normally, each value must be of type `str`, but for metadata keys ending with the suffix `-bin`, the corresponding values must be of type `bytes`. |

### change_offer

    change_offer(
        request: typing.Optional[
            typing.Union[google.cloud.channel_v1.types.service.ChangeOfferRequest, dict]
        ] = None,
        *,
        retry: typing.Optional[
            typing.Union[
                google.api_core.retry.retry_unary.Retry,
                google.api_core.gapic_v1.method._MethodDefault,
            ]
        ] = _MethodDefault._DEFAULT_VALUE,
        timeout: typing.Union[float, object] = _MethodDefault._DEFAULT_VALUE,
        metadata: typing.Sequence[typing.Tuple[str, typing.Union[str, bytes]]] = ()
    ) -> google.api_core.operation.Operation

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
xref_OperationMetadata.

    # This snippet has been automatically generated and should be regarded as a
    # code template only.
    # It will require modifications to work:
    # - It may require correct/in-range values for request initialization.
    # - It may require specifying regional endpoints when creating the service
    #   client as shown in:
    #   https://googleapis.dev/python/google-api-core/latest/client_options.html
    from google.cloud import https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest

    def sample_change_offer():
        # Create a client
        client = https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest.https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.services.cloud_channel_service.CloudChannelServiceClient.html()

        # Initialize request argument(s)
        request = https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest.https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.types.ChangeOfferRequest.html(
            name="name_value",
            offer="offer_value",
        )

        # Make the request
        operation = client.https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.services.cloud_channel_service.CloudChannelServiceClient.html#google_cloud_channel_v1_services_cloud_channel_service_CloudChannelServiceClient_change_offer(request=request)

        print("Waiting for operation to complete...")

        response = operation.result()

        # Handle the response
        print(response)

| **Parameters** ||
|---|---|
| **Name** | **Description** |
| `request` | `Union[https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.types.ChangeOfferRequest, dict]` The request object. Request message for CloudChannelService.ChangeOffer. |
| `retry` | `google.api_core.retry.Retry` Designation of what errors, if any, should be retried. |
| `timeout` | `float` The timeout for this request. |
| `metadata` | `Sequence[Tuple[str, Union[str, bytes]]]` Key/value pairs which should be sent along with the request as metadata. Normally, each value must be of type `str`, but for metadata keys ending with the suffix `-bin`, the corresponding values must be of type `bytes`. |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `google.api_core.operation.Operation` | An object representing a long-running operation. The result type for the operation will be [Entitlement](https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.types.Entitlement) An entitlement is a representation of a customer's ability to use a service. |

### change_parameters

    change_parameters(
        request: typing.Optional[
            typing.Union[
                google.cloud.channel_v1.types.service.ChangeParametersRequest, dict
            ]
        ] = None,
        *,
        retry: typing.Optional[
            typing.Union[
                google.api_core.retry.retry_unary.Retry,
                google.api_core.gapic_v1.method._MethodDefault,
            ]
        ] = _MethodDefault._DEFAULT_VALUE,
        timeout: typing.Union[float, object] = _MethodDefault._DEFAULT_VALUE,
        metadata: typing.Sequence[typing.Tuple[str, typing.Union[str, bytes]]] = ()
    ) -> google.api_core.operation.Operation

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
xref_OperationMetadata.

    # This snippet has been automatically generated and should be regarded as a
    # code template only.
    # It will require modifications to work:
    # - It may require correct/in-range values for request initialization.
    # - It may require specifying regional endpoints when creating the service
    #   client as shown in:
    #   https://googleapis.dev/python/google-api-core/latest/client_options.html
    from google.cloud import https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest

    def sample_change_parameters():
        # Create a client
        client = https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest.https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.services.cloud_channel_service.CloudChannelServiceClient.html()

        # Initialize request argument(s)
        request = https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest.https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.types.ChangeParametersRequest.html(
            name="name_value",
        )

        # Make the request
        operation = client.https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.services.cloud_channel_service.CloudChannelServiceClient.html#google_cloud_channel_v1_services_cloud_channel_service_CloudChannelServiceClient_change_parameters(request=request)

        print("Waiting for operation to complete...")

        response = operation.result()

        # Handle the response
        print(response)

| **Parameters** ||
|---|---|
| **Name** | **Description** |
| `request` | `Union[https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.types.ChangeParametersRequest, dict]` The request object. Request message for CloudChannelService.ChangeParameters. |
| `retry` | `google.api_core.retry.Retry` Designation of what errors, if any, should be retried. |
| `timeout` | `float` The timeout for this request. |
| `metadata` | `Sequence[Tuple[str, Union[str, bytes]]]` Key/value pairs which should be sent along with the request as metadata. Normally, each value must be of type `str`, but for metadata keys ending with the suffix `-bin`, the corresponding values must be of type `bytes`. |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `google.api_core.operation.Operation` | An object representing a long-running operation. The result type for the operation will be [Entitlement](https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.types.Entitlement) An entitlement is a representation of a customer's ability to use a service. |

### change_renewal_settings

    change_renewal_settings(
        request: typing.Optional[
            typing.Union[
                google.cloud.channel_v1.types.service.ChangeRenewalSettingsRequest, dict
            ]
        ] = None,
        *,
        retry: typing.Optional[
            typing.Union[
                google.api_core.retry.retry_unary.Retry,
                google.api_core.gapic_v1.method._MethodDefault,
            ]
        ] = _MethodDefault._DEFAULT_VALUE,
        timeout: typing.Union[float, object] = _MethodDefault._DEFAULT_VALUE,
        metadata: typing.Sequence[typing.Tuple[str, typing.Union[str, bytes]]] = ()
    ) -> google.api_core.operation.Operation

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
xref_OperationMetadata.

    # This snippet has been automatically generated and should be regarded as a
    # code template only.
    # It will require modifications to work:
    # - It may require correct/in-range values for request initialization.
    # - It may require specifying regional endpoints when creating the service
    #   client as shown in:
    #   https://googleapis.dev/python/google-api-core/latest/client_options.html
    from google.cloud import https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest

    def sample_change_renewal_settings():
        # Create a client
        client = https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest.https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.services.cloud_channel_service.CloudChannelServiceClient.html()

        # Initialize request argument(s)
        request = https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest.https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.types.ChangeRenewalSettingsRequest.html(
            name="name_value",
        )

        # Make the request
        operation = client.https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.services.cloud_channel_service.CloudChannelServiceClient.html#google_cloud_channel_v1_services_cloud_channel_service_CloudChannelServiceClient_change_renewal_settings(request=request)

        print("Waiting for operation to complete...")

        response = operation.result()

        # Handle the response
        print(response)

| **Parameters** ||
|---|---|
| **Name** | **Description** |
| `request` | `Union[https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.types.ChangeRenewalSettingsRequest, dict]` The request object. Request message for CloudChannelService.ChangeRenewalSettings. |
| `retry` | `google.api_core.retry.Retry` Designation of what errors, if any, should be retried. |
| `timeout` | `float` The timeout for this request. |
| `metadata` | `Sequence[Tuple[str, Union[str, bytes]]]` Key/value pairs which should be sent along with the request as metadata. Normally, each value must be of type `str`, but for metadata keys ending with the suffix `-bin`, the corresponding values must be of type `bytes`. |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `google.api_core.operation.Operation` | An object representing a long-running operation. The result type for the operation will be [Entitlement](https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.types.Entitlement) An entitlement is a representation of a customer's ability to use a service. |

### channel_partner_link_path

    channel_partner_link_path(account: str, channel_partner_link: str) -> str

Returns a fully-qualified channel_partner_link string.

### channel_partner_repricing_config_path

    channel_partner_repricing_config_path(
        account: str, channel_partner: str, channel_partner_repricing_config: str
    ) -> str

Returns a fully-qualified channel_partner_repricing_config string.

### check_cloud_identity_accounts_exist

    check_cloud_identity_accounts_exist(
        request: typing.Optional[
            typing.Union[
                google.cloud.channel_v1.types.service.CheckCloudIdentityAccountsExistRequest,
                dict,
            ]
        ] = None,
        *,
        retry: typing.Optional[
            typing.Union[
                google.api_core.retry.retry_unary.Retry,
                google.api_core.gapic_v1.method._MethodDefault,
            ]
        ] = _MethodDefault._DEFAULT_VALUE,
        timeout: typing.Union[float, object] = _MethodDefault._DEFAULT_VALUE,
        metadata: typing.Sequence[typing.Tuple[str, typing.Union[str, bytes]]] = ()
    ) -> google.cloud.channel_v1.types.service.CheckCloudIdentityAccountsExistResponse

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
xref_CloudIdentityCustomerAccount
resources for the domain (may be empty)

Note: in the v1alpha1 version of the API, a NOT_FOUND error
returns if no
xref_CloudIdentityCustomerAccount
resources match the domain.

    # This snippet has been automatically generated and should be regarded as a
    # code template only.
    # It will require modifications to work:
    # - It may require correct/in-range values for request initialization.
    # - It may require specifying regional endpoints when creating the service
    #   client as shown in:
    #   https://googleapis.dev/python/google-api-core/latest/client_options.html
    from google.cloud import https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest

    def sample_check_cloud_identity_accounts_exist():
        # Create a client
        client = https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest.https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.services.cloud_channel_service.CloudChannelServiceClient.html()

        # Initialize request argument(s)
        request = https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest.https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.types.CheckCloudIdentityAccountsExistRequest.html(
            parent="parent_value",
            domain="domain_value",
        )

        # Make the request
        response = client.https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.services.cloud_channel_service.CloudChannelServiceClient.html#google_cloud_channel_v1_services_cloud_channel_service_CloudChannelServiceClient_check_cloud_identity_accounts_exist(request=request)

        # Handle the response
        print(response)

| **Parameters** ||
|---|---|
| **Name** | **Description** |
| `request` | `Union[https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.types.CheckCloudIdentityAccountsExistRequest, dict]` The request object. Request message for CloudChannelService.CheckCloudIdentityAccountsExist. |
| `retry` | `google.api_core.retry.Retry` Designation of what errors, if any, should be retried. |
| `timeout` | `float` The timeout for this request. |
| `metadata` | `Sequence[Tuple[str, Union[str, bytes]]]` Key/value pairs which should be sent along with the request as metadata. Normally, each value must be of type `str`, but for metadata keys ending with the suffix `-bin`, the corresponding values must be of type `bytes`. |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.types.CheckCloudIdentityAccountsExistResponse` | Response message for CloudChannelService.CheckCloudIdentityAccountsExist. |

### common_billing_account_path

    common_billing_account_path(billing_account: str) -> str

Returns a fully-qualified billing_account string.

### common_folder_path

    common_folder_path(folder: str) -> str

Returns a fully-qualified folder string.

### common_location_path

    common_location_path(project: str, location: str) -> str

Returns a fully-qualified location string.

### common_organization_path

    common_organization_path(organization: str) -> str

Returns a fully-qualified organization string.

### common_project_path

    common_project_path(project: str) -> str

Returns a fully-qualified project string.

### create_channel_partner_link

    create_channel_partner_link(
        request: typing.Optional[
            typing.Union[
                google.cloud.channel_v1.types.service.CreateChannelPartnerLinkRequest, dict
            ]
        ] = None,
        *,
        retry: typing.Optional[
            typing.Union[
                google.api_core.retry.retry_unary.Retry,
                google.api_core.gapic_v1.method._MethodDefault,
            ]
        ] = _MethodDefault._DEFAULT_VALUE,
        timeout: typing.Union[float, object] = _MethodDefault._DEFAULT_VALUE,
        metadata: typing.Sequence[typing.Tuple[str, typing.Union[str, bytes]]] = ()
    ) -> google.cloud.channel_v1.types.channel_partner_links.ChannelPartnerLink

Initiates a channel partner link between a distributor and a
reseller, or between resellers in an n-tier reseller channel.
Invited partners need to follow the invite_link_uri provided in
the response to accept. After accepting the invitation, a link
is set up between the two parties. You must be a distributor to
call this method.

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.
- ALREADY_EXISTS: The ChannelPartnerLink sent in the request already exists.
- NOT_FOUND: No Cloud Identity customer exists for provided 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 new
xref_ChannelPartnerLink
resource.

    # This snippet has been automatically generated and should be regarded as a
    # code template only.
    # It will require modifications to work:
    # - It may require correct/in-range values for request initialization.
    # - It may require specifying regional endpoints when creating the service
    #   client as shown in:
    #   https://googleapis.dev/python/google-api-core/latest/client_options.html
    from google.cloud import https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest

    def sample_create_channel_partner_link():
        # Create a client
        client = https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest.https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.services.cloud_channel_service.CloudChannelServiceClient.html()

        # Initialize request argument(s)
        channel_partner_link = https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest.https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.types.ChannelPartnerLink.html()
        channel_partner_link.reseller_cloud_identity_id = "reseller_cloud_identity_id_value"
        channel_partner_link.link_state = "SUSPENDED"

        request = https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest.https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.types.CreateChannelPartnerLinkRequest.html(
            parent="parent_value",
            channel_partner_link=channel_partner_link,
        )

        # Make the request
        response = client.https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.services.cloud_channel_service.CloudChannelServiceClient.html#google_cloud_channel_v1_services_cloud_channel_service_CloudChannelServiceClient_create_channel_partner_link(request=request)

        # Handle the response
        print(response)

| **Parameters** ||
|---|---|
| **Name** | **Description** |
| `request` | `Union[https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.types.CreateChannelPartnerLinkRequest, dict]` The request object. Request message for CloudChannelService.CreateChannelPartnerLink |
| `retry` | `google.api_core.retry.Retry` Designation of what errors, if any, should be retried. |
| `timeout` | `float` The timeout for this request. |
| `metadata` | `Sequence[Tuple[str, Union[str, bytes]]]` Key/value pairs which should be sent along with the request as metadata. Normally, each value must be of type `str`, but for metadata keys ending with the suffix `-bin`, the corresponding values must be of type `bytes`. |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.types.ChannelPartnerLink` | Entity representing a link between distributors and their indirect resellers in an n-tier resale channel. |

### create_channel_partner_repricing_config

    create_channel_partner_repricing_config(
        request: typing.Optional[
            typing.Union[
                google.cloud.channel_v1.types.service.CreateChannelPartnerRepricingConfigRequest,
                dict,
            ]
        ] = None,
        *,
        parent: typing.Optional[str] = None,
        channel_partner_repricing_config: typing.Optional[
            google.cloud.channel_v1.types.repricing.ChannelPartnerRepricingConfig
        ] = None,
        retry: typing.Optional[
            typing.Union[
                google.api_core.retry.retry_unary.Retry,
                google.api_core.gapic_v1.method._MethodDefault,
            ]
        ] = _MethodDefault._DEFAULT_VALUE,
        timeout: typing.Union[float, object] = _MethodDefault._DEFAULT_VALUE,
        metadata: typing.Sequence[typing.Tuple[str, typing.Union[str, bytes]]] = ()
    ) -> google.cloud.channel_v1.types.repricing.ChannelPartnerRepricingConfig

Creates a ChannelPartnerRepricingConfig. Call this method to set
modifications for a specific ChannelPartner's bill. You can only
create configs if the
xref_RepricingConfig.effective_invoice_month
is a future month. If needed, you can create a config for the
current month, with some restrictions.

When creating a config for a future month, make sure there are
no existing configs for that
xref_RepricingConfig.effective_invoice_month.

The following restrictions are for creating configs in the
current month.

- This functionality is reserved for recovering from an erroneous config, and should not be used for regular business cases.
- The new config will not modify exports used with other configs. Changes to the config may be immediate, but may take up to 24 hours.
- There is a limit of ten configs for any ChannelPartner or xref_RepricingConfig.EntitlementGranularity.entitlement, for any xref_RepricingConfig.effective_invoice_month.
- The contained xref_ChannelPartnerRepricingConfig.repricing_config value must be different from the value used in the current config for a ChannelPartner.

Possible Error Codes:

- PERMISSION_DENIED: If the account making the request and the account being queried are different.
- INVALID_ARGUMENT: Missing or invalid required parameters in the request. Also displays if the updated config is for the current month or past months.
- NOT_FOUND: The xref_ChannelPartnerRepricingConfig specified does not exist or is not associated with the given account.
- INTERNAL: Any non-user error related to technical issues in the backend. In this case, contact Cloud Channel support.

Return Value: If successful, the updated
xref_ChannelPartnerRepricingConfig
resource, otherwise returns an error.

    # This snippet has been automatically generated and should be regarded as a
    # code template only.
    # It will require modifications to work:
    # - It may require correct/in-range values for request initialization.
    # - It may require specifying regional endpoints when creating the service
    #   client as shown in:
    #   https://googleapis.dev/python/google-api-core/latest/client_options.html
    from google.cloud import https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest

    def sample_create_channel_partner_repricing_config():
        # Create a client
        client = https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest.https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.services.cloud_channel_service.CloudChannelServiceClient.html()

        # Initialize request argument(s)
        channel_partner_repricing_config = https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest.https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.types.ChannelPartnerRepricingConfig.html()
        channel_partner_repricing_config.repricing_config.rebilling_basis = "DIRECT_CUSTOMER_COST"

        request = https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest.https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.types.CreateChannelPartnerRepricingConfigRequest.html(
            parent="parent_value",
            channel_partner_repricing_config=channel_partner_repricing_config,
        )

        # Make the request
        response = client.https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.services.cloud_channel_service.CloudChannelServiceClient.html#google_cloud_channel_v1_services_cloud_channel_service_CloudChannelServiceClient_create_channel_partner_repricing_config(request=request)

        # Handle the response
        print(response)

| **Parameters** ||
|---|---|
| **Name** | **Description** |
| `request` | `Union[https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.types.CreateChannelPartnerRepricingConfigRequest, dict]` The request object. Request message for CloudChannelService.CreateChannelPartnerRepricingConfig. |
| `parent` | `str` Required. The resource name of the ChannelPartner that will receive the repricing config. Parent uses the format: accounts/{account_id}/channelPartnerLinks/{channel_partner_id} This corresponds to the `parent` field on the `request` instance; if `request` is provided, this should not be set. |
| `channel_partner_repricing_config` | `https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.types.ChannelPartnerRepricingConfig` Required. The ChannelPartnerRepricingConfig object to update. This corresponds to the `channel_partner_repricing_config` field on the `request` instance; if `request` is provided, this should not be set. |
| `retry` | `google.api_core.retry.Retry` Designation of what errors, if any, should be retried. |
| `timeout` | `float` The timeout for this request. |
| `metadata` | `Sequence[Tuple[str, Union[str, bytes]]]` Key/value pairs which should be sent along with the request as metadata. Normally, each value must be of type `str`, but for metadata keys ending with the suffix `-bin`, the corresponding values must be of type `bytes`. |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.types.ChannelPartnerRepricingConfig` | Configuration for how a distributor will rebill a channel partner (also known as a distributor-authorized reseller). |

### create_customer

    create_customer(
        request: typing.Optional[
            typing.Union[google.cloud.channel_v1.types.service.CreateCustomerRequest, dict]
        ] = None,
        *,
        retry: typing.Optional[
            typing.Union[
                google.api_core.retry.retry_unary.Retry,
                google.api_core.gapic_v1.method._MethodDefault,
            ]
        ] = _MethodDefault._DEFAULT_VALUE,
        timeout: typing.Union[float, object] = _MethodDefault._DEFAULT_VALUE,
        metadata: typing.Sequence[typing.Tuple[str, typing.Union[str, bytes]]] = ()
    ) -> google.cloud.channel_v1.types.customers.Customer

Creates a new xref_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.
  - You are not authorized to create a customer. See <https://support.google.com/channelservices/answer/9759265>
- INVALID_ARGUMENT:

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

Return value: The newly created
xref_Customer resource.

    # This snippet has been automatically generated and should be regarded as a
    # code template only.
    # It will require modifications to work:
    # - It may require correct/in-range values for request initialization.
    # - It may require specifying regional endpoints when creating the service
    #   client as shown in:
    #   https://googleapis.dev/python/google-api-core/latest/client_options.html
    from google.cloud import https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest

    def sample_create_customer():
        # Create a client
        client = https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest.https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.services.cloud_channel_service.CloudChannelServiceClient.html()

        # Initialize request argument(s)
        customer = https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest.https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.types.Customer.html()
        customer.org_display_name = "org_display_name_value"
        customer.domain = "domain_value"

        request = https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest.https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.types.CreateCustomerRequest.html(
            parent="parent_value",
            customer=customer,
        )

        # Make the request
        response = client.https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.services.cloud_channel_service.CloudChannelServiceClient.html#google_cloud_channel_v1_services_cloud_channel_service_CloudChannelServiceClient_create_customer(request=request)

        # Handle the response
        print(response)

| **Parameters** ||
|---|---|
| **Name** | **Description** |
| `request` | `Union[https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.types.CreateCustomerRequest, dict]` The request object. Request message for CloudChannelService.CreateCustomer |
| `retry` | `google.api_core.retry.Retry` Designation of what errors, if any, should be retried. |
| `timeout` | `float` The timeout for this request. |
| `metadata` | `Sequence[Tuple[str, Union[str, bytes]]]` Key/value pairs which should be sent along with the request as metadata. Normally, each value must be of type `str`, but for metadata keys ending with the suffix `-bin`, the corresponding values must be of type `bytes`. |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.types.Customer` | Entity representing a customer of a reseller or distributor. |

### create_customer_repricing_config

    create_customer_repricing_config(
        request: typing.Optional[
            typing.Union[
                google.cloud.channel_v1.types.service.CreateCustomerRepricingConfigRequest,
                dict,
            ]
        ] = None,
        *,
        parent: typing.Optional[str] = None,
        customer_repricing_config: typing.Optional[
            google.cloud.channel_v1.types.repricing.CustomerRepricingConfig
        ] = None,
        retry: typing.Optional[
            typing.Union[
                google.api_core.retry.retry_unary.Retry,
                google.api_core.gapic_v1.method._MethodDefault,
            ]
        ] = _MethodDefault._DEFAULT_VALUE,
        timeout: typing.Union[float, object] = _MethodDefault._DEFAULT_VALUE,
        metadata: typing.Sequence[typing.Tuple[str, typing.Union[str, bytes]]] = ()
    ) -> google.cloud.channel_v1.types.repricing.CustomerRepricingConfig

Creates a CustomerRepricingConfig. Call this method to set
modifications for a specific customer's bill. You can only
create configs if the
xref_RepricingConfig.effective_invoice_month
is a future month. If needed, you can create a config for the
current month, with some restrictions.

When creating a config for a future month, make sure there are
no existing configs for that
xref_RepricingConfig.effective_invoice_month.

The following restrictions are for creating configs in the
current month.

- This functionality is reserved for recovering from an erroneous config, and should not be used for regular business cases.
- The new config will not modify exports used with other configs. Changes to the config may be immediate, but may take up to 24 hours.
- There is a limit of ten configs for any xref_RepricingConfig.EntitlementGranularity.entitlement, for any xref_RepricingConfig.effective_invoice_month.
- The contained xref_CustomerRepricingConfig.repricing_config value must be different from the value used in the current config for a xref_RepricingConfig.EntitlementGranularity.entitlement.

Possible Error Codes:

- PERMISSION_DENIED: If the account making the request and the account being queried are different.
- INVALID_ARGUMENT: Missing or invalid required parameters in the request. Also displays if the updated config is for the current month or past months.
- NOT_FOUND: The xref_CustomerRepricingConfig specified does not exist or is not associated with the given account.
- INTERNAL: Any non-user error related to technical issues in the backend. In this case, contact Cloud Channel support.

Return Value: If successful, the updated
xref_CustomerRepricingConfig
resource, otherwise returns an error.

    # This snippet has been automatically generated and should be regarded as a
    # code template only.
    # It will require modifications to work:
    # - It may require correct/in-range values for request initialization.
    # - It may require specifying regional endpoints when creating the service
    #   client as shown in:
    #   https://googleapis.dev/python/google-api-core/latest/client_options.html
    from google.cloud import https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest

    def sample_create_customer_repricing_config():
        # Create a client
        client = https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest.https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.services.cloud_channel_service.CloudChannelServiceClient.html()

        # Initialize request argument(s)
        customer_repricing_config = https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest.https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.types.CustomerRepricingConfig.html()
        customer_repricing_config.repricing_config.rebilling_basis = "DIRECT_CUSTOMER_COST"

        request = https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest.https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.types.CreateCustomerRepricingConfigRequest.html(
            parent="parent_value",
            customer_repricing_config=customer_repricing_config,
        )

        # Make the request
        response = client.https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.services.cloud_channel_service.CloudChannelServiceClient.html#google_cloud_channel_v1_services_cloud_channel_service_CloudChannelServiceClient_create_customer_repricing_config(request=request)

        # Handle the response
        print(response)

| **Parameters** ||
|---|---|
| **Name** | **Description** |
| `request` | `Union[https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.types.CreateCustomerRepricingConfigRequest, dict]` The request object. Request message for CloudChannelService.CreateCustomerRepricingConfig. |
| `parent` | `str` Required. The resource name of the customer that will receive this repricing config. Parent uses the format: accounts/{account_id}/customers/{customer_id} This corresponds to the `parent` field on the `request` instance; if `request` is provided, this should not be set. |
| `customer_repricing_config` | `https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.types.CustomerRepricingConfig` Required. The CustomerRepricingConfig object to update. This corresponds to the `customer_repricing_config` field on the `request` instance; if `request` is provided, this should not be set. |
| `retry` | `google.api_core.retry.Retry` Designation of what errors, if any, should be retried. |
| `timeout` | `float` The timeout for this request. |
| `metadata` | `Sequence[Tuple[str, Union[str, bytes]]]` Key/value pairs which should be sent along with the request as metadata. Normally, each value must be of type `str`, but for metadata keys ending with the suffix `-bin`, the corresponding values must be of type `bytes`. |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.types.CustomerRepricingConfig` | Configuration for how a reseller will reprice a Customer. |

### create_entitlement

    create_entitlement(
        request: typing.Optional[
            typing.Union[
                google.cloud.channel_v1.types.service.CreateEntitlementRequest, dict
            ]
        ] = None,
        *,
        retry: typing.Optional[
            typing.Union[
                google.api_core.retry.retry_unary.Retry,
                google.api_core.gapic_v1.method._MethodDefault,
            ]
        ] = _MethodDefault._DEFAULT_VALUE,
        timeout: typing.Union[float, object] = _MethodDefault._DEFAULT_VALUE,
        metadata: typing.Sequence[typing.Tuple[str, typing.Union[str, bytes]]] = ()
    ) -> google.api_core.operation.Operation

Creates an entitlement for a customer.

Possible error codes:

- PERMISSION_DENIED:

  - The customer doesn't belong to the reseller.
  - The reseller is not authorized to transact on this Product. See <https://support.google.com/channelservices/answer/9759265>
- 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
xref_OperationMetadata.

    # This snippet has been automatically generated and should be regarded as a
    # code template only.
    # It will require modifications to work:
    # - It may require correct/in-range values for request initialization.
    # - It may require specifying regional endpoints when creating the service
    #   client as shown in:
    #   https://googleapis.dev/python/google-api-core/latest/client_options.html
    from google.cloud import https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest

    def sample_create_entitlement():
        # Create a client
        client = https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest.https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.services.cloud_channel_service.CloudChannelServiceClient.html()

        # Initialize request argument(s)
        entitlement = https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest.https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.types.Entitlement.html()
        entitlement.offer = "offer_value"

        request = https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest.https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.types.CreateEntitlementRequest.html(
            parent="parent_value",
            entitlement=entitlement,
        )

        # Make the request
        operation = client.https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.services.cloud_channel_service.CloudChannelServiceClient.html#google_cloud_channel_v1_services_cloud_channel_service_CloudChannelServiceClient_create_entitlement(request=request)

        print("Waiting for operation to complete...")

        response = operation.result()

        # Handle the response
        print(response)

| **Parameters** ||
|---|---|
| **Name** | **Description** |
| `request` | `Union[https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.types.CreateEntitlementRequest, dict]` The request object. Request message for CloudChannelService.CreateEntitlement |
| `retry` | `google.api_core.retry.Retry` Designation of what errors, if any, should be retried. |
| `timeout` | `float` The timeout for this request. |
| `metadata` | `Sequence[Tuple[str, Union[str, bytes]]]` Key/value pairs which should be sent along with the request as metadata. Normally, each value must be of type `str`, but for metadata keys ending with the suffix `-bin`, the corresponding values must be of type `bytes`. |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `google.api_core.operation.Operation` | An object representing a long-running operation. The result type for the operation will be [Entitlement](https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.types.Entitlement) An entitlement is a representation of a customer's ability to use a service. |

### customer_path

    customer_path(account: str, customer: str) -> str

Returns a fully-qualified customer string.

### customer_repricing_config_path

    customer_repricing_config_path(
        account: str, customer: str, customer_repricing_config: str
    ) -> str

Returns a fully-qualified customer_repricing_config string.

### delete_channel_partner_repricing_config

    delete_channel_partner_repricing_config(
        request: typing.Optional[
            typing.Union[
                google.cloud.channel_v1.types.service.DeleteChannelPartnerRepricingConfigRequest,
                dict,
            ]
        ] = None,
        *,
        name: typing.Optional[str] = None,
        retry: typing.Optional[
            typing.Union[
                google.api_core.retry.retry_unary.Retry,
                google.api_core.gapic_v1.method._MethodDefault,
            ]
        ] = _MethodDefault._DEFAULT_VALUE,
        timeout: typing.Union[float, object] = _MethodDefault._DEFAULT_VALUE,
        metadata: typing.Sequence[typing.Tuple[str, typing.Union[str, bytes]]] = ()
    ) -> None

Deletes the given
xref_ChannelPartnerRepricingConfig
permanently. You can only delete configs if their
xref_RepricingConfig.effective_invoice_month
is set to a date after the current month.

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 xref_ChannelPartnerRepricingConfig is active or in the past.
- NOT_FOUND: No xref_ChannelPartnerRepricingConfig found for the name in the request.

    # This snippet has been automatically generated and should be regarded as a
    # code template only.
    # It will require modifications to work:
    # - It may require correct/in-range values for request initialization.
    # - It may require specifying regional endpoints when creating the service
    #   client as shown in:
    #   https://googleapis.dev/python/google-api-core/latest/client_options.html
    from google.cloud import https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest

    def sample_delete_channel_partner_repricing_config():
        # Create a client
        client = https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest.https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.services.cloud_channel_service.CloudChannelServiceClient.html()

        # Initialize request argument(s)
        request = https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest.https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.types.DeleteChannelPartnerRepricingConfigRequest.html(
            name="name_value",
        )

        # Make the request
        client.https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.services.cloud_channel_service.CloudChannelServiceClient.html#google_cloud_channel_v1_services_cloud_channel_service_CloudChannelServiceClient_delete_channel_partner_repricing_config(request=request)

| **Parameters** ||
|---|---|
| **Name** | **Description** |
| `request` | `Union[https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.types.DeleteChannelPartnerRepricingConfigRequest, dict]` The request object. Request message for DeleteChannelPartnerRepricingConfig. |
| `name` | `str` Required. The resource name of the channel partner repricing config rule to delete. This corresponds to the `name` field on the `request` instance; if `request` is provided, this should not be set. |
| `retry` | `google.api_core.retry.Retry` Designation of what errors, if any, should be retried. |
| `timeout` | `float` The timeout for this request. |
| `metadata` | `Sequence[Tuple[str, Union[str, bytes]]]` Key/value pairs which should be sent along with the request as metadata. Normally, each value must be of type `str`, but for metadata keys ending with the suffix `-bin`, the corresponding values must be of type `bytes`. |

### delete_customer

    delete_customer(
        request: typing.Optional[
            typing.Union[google.cloud.channel_v1.types.service.DeleteCustomerRequest, dict]
        ] = None,
        *,
        name: typing.Optional[str] = None,
        retry: typing.Optional[
            typing.Union[
                google.api_core.retry.retry_unary.Retry,
                google.api_core.gapic_v1.method._MethodDefault,
            ]
        ] = _MethodDefault._DEFAULT_VALUE,
        timeout: typing.Union[float, object] = _MethodDefault._DEFAULT_VALUE,
        metadata: typing.Sequence[typing.Tuple[str, typing.Union[str, bytes]]] = ()
    ) -> None

Deletes the given xref_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 xref_Customer resource found for the name in the request.

    # This snippet has been automatically generated and should be regarded as a
    # code template only.
    # It will require modifications to work:
    # - It may require correct/in-range values for request initialization.
    # - It may require specifying regional endpoints when creating the service
    #   client as shown in:
    #   https://googleapis.dev/python/google-api-core/latest/client_options.html
    from google.cloud import https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest

    def sample_delete_customer():
        # Create a client
        client = https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest.https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.services.cloud_channel_service.CloudChannelServiceClient.html()

        # Initialize request argument(s)
        request = https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest.https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.types.DeleteCustomerRequest.html(
            name="name_value",
        )

        # Make the request
        client.https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.services.cloud_channel_service.CloudChannelServiceClient.html#google_cloud_channel_v1_services_cloud_channel_service_CloudChannelServiceClient_delete_customer(request=request)

| **Parameters** ||
|---|---|
| **Name** | **Description** |
| `request` | `Union[https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.types.DeleteCustomerRequest, dict]` The request object. Request message for CloudChannelService.DeleteCustomer. |
| `name` | `str` Required. The resource name of the customer to delete. This corresponds to the `name` field on the `request` instance; if `request` is provided, this should not be set. |
| `retry` | `google.api_core.retry.Retry` Designation of what errors, if any, should be retried. |
| `timeout` | `float` The timeout for this request. |
| `metadata` | `Sequence[Tuple[str, Union[str, bytes]]]` Key/value pairs which should be sent along with the request as metadata. Normally, each value must be of type `str`, but for metadata keys ending with the suffix `-bin`, the corresponding values must be of type `bytes`. |

### delete_customer_repricing_config

    delete_customer_repricing_config(
        request: typing.Optional[
            typing.Union[
                google.cloud.channel_v1.types.service.DeleteCustomerRepricingConfigRequest,
                dict,
            ]
        ] = None,
        *,
        name: typing.Optional[str] = None,
        retry: typing.Optional[
            typing.Union[
                google.api_core.retry.retry_unary.Retry,
                google.api_core.gapic_v1.method._MethodDefault,
            ]
        ] = _MethodDefault._DEFAULT_VALUE,
        timeout: typing.Union[float, object] = _MethodDefault._DEFAULT_VALUE,
        metadata: typing.Sequence[typing.Tuple[str, typing.Union[str, bytes]]] = ()
    ) -> None

Deletes the given
xref_CustomerRepricingConfig
permanently. You can only delete configs if their
xref_RepricingConfig.effective_invoice_month
is set to a date after the current month.

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 xref_CustomerRepricingConfig is active or in the past.
- NOT_FOUND: No xref_CustomerRepricingConfig found for the name in the request.

    # This snippet has been automatically generated and should be regarded as a
    # code template only.
    # It will require modifications to work:
    # - It may require correct/in-range values for request initialization.
    # - It may require specifying regional endpoints when creating the service
    #   client as shown in:
    #   https://googleapis.dev/python/google-api-core/latest/client_options.html
    from google.cloud import https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest

    def sample_delete_customer_repricing_config():
        # Create a client
        client = https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest.https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.services.cloud_channel_service.CloudChannelServiceClient.html()

        # Initialize request argument(s)
        request = https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest.https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.types.DeleteCustomerRepricingConfigRequest.html(
            name="name_value",
        )

        # Make the request
        client.https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.services.cloud_channel_service.CloudChannelServiceClient.html#google_cloud_channel_v1_services_cloud_channel_service_CloudChannelServiceClient_delete_customer_repricing_config(request=request)

| **Parameters** ||
|---|---|
| **Name** | **Description** |
| `request` | `Union[https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.types.DeleteCustomerRepricingConfigRequest, dict]` The request object. Request message for CloudChannelService.DeleteCustomerRepricingConfig. |
| `name` | `str` Required. The resource name of the customer repricing config rule to delete. Format: accounts/{account_id}/customers/{customer_id}/customerRepricingConfigs/{id}. This corresponds to the `name` field on the `request` instance; if `request` is provided, this should not be set. |
| `retry` | `google.api_core.retry.Retry` Designation of what errors, if any, should be retried. |
| `timeout` | `float` The timeout for this request. |
| `metadata` | `Sequence[Tuple[str, Union[str, bytes]]]` Key/value pairs which should be sent along with the request as metadata. Normally, each value must be of type `str`, but for metadata keys ending with the suffix `-bin`, the corresponding values must be of type `bytes`. |

### delete_operation

    delete_operation(
        request: typing.Optional[
            typing.Union[google.longrunning.operations_pb2.DeleteOperationRequest, dict]
        ] = None,
        *,
        retry: typing.Optional[
            typing.Union[
                google.api_core.retry.retry_unary.Retry,
                google.api_core.gapic_v1.method._MethodDefault,
            ]
        ] = _MethodDefault._DEFAULT_VALUE,
        timeout: typing.Union[float, object] = _MethodDefault._DEFAULT_VALUE,
        metadata: typing.Sequence[typing.Tuple[str, typing.Union[str, bytes]]] = ()
    ) -> None

Deletes a long-running operation.

This method indicates that the client is no longer interested
in the operation result. It does not cancel the operation.
If the server doesn't support this method, it returns
`google.rpc.Code.UNIMPLEMENTED`.

| **Parameters** ||
|---|---|
| **Name** | **Description** |
| `request` | `` `.operations_pb2.DeleteOperationRequest` `` The request object. Request message for `DeleteOperation` method. |
| `retry` | `google.api_core.retry.Retry` Designation of what errors, if any, should be retried. |
| `timeout` | `float` The timeout for this request. |
| `metadata` | `Sequence[Tuple[str, Union[str, bytes]]]` Key/value pairs which should be sent along with the request as metadata. Normally, each value must be of type `str`, but for metadata keys ending with the suffix `-bin`, the corresponding values must be of type `bytes`. |

### entitlement_path

    entitlement_path(account: str, customer: str, entitlement: str) -> str

Returns a fully-qualified entitlement string.

### from_service_account_file

    from_service_account_file(filename: str, *args, **kwargs)

Creates an instance of this client using the provided credentials
file.

| **Parameter** ||
|---|---|
| **Name** | **Description** |
| `filename` | `str` The path to the service account private key json file. |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `CloudChannelServiceClient` | The constructed client. |

### from_service_account_info

    from_service_account_info(info: dict, *args, **kwargs)

Creates an instance of this client using the provided credentials
info.

| **Parameter** ||
|---|---|
| **Name** | **Description** |
| `info` | `dict` The service account private key info. |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `CloudChannelServiceClient` | The constructed client. |

### from_service_account_json

    from_service_account_json(filename: str, *args, **kwargs)

Creates an instance of this client using the provided credentials
file.

| **Parameter** ||
|---|---|
| **Name** | **Description** |
| `filename` | `str` The path to the service account private key json file. |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `CloudChannelServiceClient` | The constructed client. |

### get_channel_partner_link

    get_channel_partner_link(
        request: typing.Optional[
            typing.Union[
                google.cloud.channel_v1.types.service.GetChannelPartnerLinkRequest, dict
            ]
        ] = None,
        *,
        retry: typing.Optional[
            typing.Union[
                google.api_core.retry.retry_unary.Retry,
                google.api_core.gapic_v1.method._MethodDefault,
            ]
        ] = _MethodDefault._DEFAULT_VALUE,
        timeout: typing.Union[float, object] = _MethodDefault._DEFAULT_VALUE,
        metadata: typing.Sequence[typing.Tuple[str, typing.Union[str, bytes]]] = ()
    ) -> google.cloud.channel_v1.types.channel_partner_links.ChannelPartnerLink

Returns the requested
xref_ChannelPartnerLink
resource. You must be a distributor to call this method.

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: ChannelPartnerLink resource not found because of an invalid channel partner link name.

Return value: The
xref_ChannelPartnerLink
resource.

    # This snippet has been automatically generated and should be regarded as a
    # code template only.
    # It will require modifications to work:
    # - It may require correct/in-range values for request initialization.
    # - It may require specifying regional endpoints when creating the service
    #   client as shown in:
    #   https://googleapis.dev/python/google-api-core/latest/client_options.html
    from google.cloud import https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest

    def sample_get_channel_partner_link():
        # Create a client
        client = https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest.https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.services.cloud_channel_service.CloudChannelServiceClient.html()

        # Initialize request argument(s)
        request = https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest.https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.types.GetChannelPartnerLinkRequest.html(
            name="name_value",
        )

        # Make the request
        response = client.https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.services.cloud_channel_service.CloudChannelServiceClient.html#google_cloud_channel_v1_services_cloud_channel_service_CloudChannelServiceClient_get_channel_partner_link(request=request)

        # Handle the response
        print(response)

| **Parameters** ||
|---|---|
| **Name** | **Description** |
| `request` | `Union[https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.types.GetChannelPartnerLinkRequest, dict]` The request object. Request message for CloudChannelService.GetChannelPartnerLink. |
| `retry` | `google.api_core.retry.Retry` Designation of what errors, if any, should be retried. |
| `timeout` | `float` The timeout for this request. |
| `metadata` | `Sequence[Tuple[str, Union[str, bytes]]]` Key/value pairs which should be sent along with the request as metadata. Normally, each value must be of type `str`, but for metadata keys ending with the suffix `-bin`, the corresponding values must be of type `bytes`. |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.types.ChannelPartnerLink` | Entity representing a link between distributors and their indirect resellers in an n-tier resale channel. |

### get_channel_partner_repricing_config

    get_channel_partner_repricing_config(
        request: typing.Optional[
            typing.Union[
                google.cloud.channel_v1.types.service.GetChannelPartnerRepricingConfigRequest,
                dict,
            ]
        ] = None,
        *,
        name: typing.Optional[str] = None,
        retry: typing.Optional[
            typing.Union[
                google.api_core.retry.retry_unary.Retry,
                google.api_core.gapic_v1.method._MethodDefault,
            ]
        ] = _MethodDefault._DEFAULT_VALUE,
        timeout: typing.Union[float, object] = _MethodDefault._DEFAULT_VALUE,
        metadata: typing.Sequence[typing.Tuple[str, typing.Union[str, bytes]]] = ()
    ) -> google.cloud.channel_v1.types.repricing.ChannelPartnerRepricingConfig

Gets information about how a Distributor modifies their bill
before sending it to a ChannelPartner.

Possible Error Codes:

- PERMISSION_DENIED: If the account making the request and the account being queried are different.
- NOT_FOUND: The xref_ChannelPartnerRepricingConfig was not found.
- INTERNAL: Any non-user error related to technical issues in the backend. In this case, contact Cloud Channel support.

Return Value: If successful, the
xref_ChannelPartnerRepricingConfig
resource, otherwise returns an error.

    # This snippet has been automatically generated and should be regarded as a
    # code template only.
    # It will require modifications to work:
    # - It may require correct/in-range values for request initialization.
    # - It may require specifying regional endpoints when creating the service
    #   client as shown in:
    #   https://googleapis.dev/python/google-api-core/latest/client_options.html
    from google.cloud import https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest

    def sample_get_channel_partner_repricing_config():
        # Create a client
        client = https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest.https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.services.cloud_channel_service.CloudChannelServiceClient.html()

        # Initialize request argument(s)
        request = https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest.https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.types.GetChannelPartnerRepricingConfigRequest.html(
            name="name_value",
        )

        # Make the request
        response = client.https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.services.cloud_channel_service.CloudChannelServiceClient.html#google_cloud_channel_v1_services_cloud_channel_service_CloudChannelServiceClient_get_channel_partner_repricing_config(request=request)

        # Handle the response
        print(response)

| **Parameters** ||
|---|---|
| **Name** | **Description** |
| `request` | `Union[https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.types.GetChannelPartnerRepricingConfigRequest, dict]` The request object. Request message for CloudChannelService.GetChannelPartnerRepricingConfig |
| `name` | `str` Required. The resource name of the ChannelPartnerRepricingConfig Format: accounts/{account_id}/channelPartnerLinks/{channel_partner_id}/channelPartnerRepricingConfigs/{id}. This corresponds to the `name` field on the `request` instance; if `request` is provided, this should not be set. |
| `retry` | `google.api_core.retry.Retry` Designation of what errors, if any, should be retried. |
| `timeout` | `float` The timeout for this request. |
| `metadata` | `Sequence[Tuple[str, Union[str, bytes]]]` Key/value pairs which should be sent along with the request as metadata. Normally, each value must be of type `str`, but for metadata keys ending with the suffix `-bin`, the corresponding values must be of type `bytes`. |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.types.ChannelPartnerRepricingConfig` | Configuration for how a distributor will rebill a channel partner (also known as a distributor-authorized reseller). |

### get_customer

    get_customer(
        request: typing.Optional[
            typing.Union[google.cloud.channel_v1.types.service.GetCustomerRequest, dict]
        ] = None,
        *,
        name: typing.Optional[str] = None,
        retry: typing.Optional[
            typing.Union[
                google.api_core.retry.retry_unary.Retry,
                google.api_core.gapic_v1.method._MethodDefault,
            ]
        ] = _MethodDefault._DEFAULT_VALUE,
        timeout: typing.Union[float, object] = _MethodDefault._DEFAULT_VALUE,
        metadata: typing.Sequence[typing.Tuple[str, typing.Union[str, bytes]]] = ()
    ) -> google.cloud.channel_v1.types.customers.Customer

Returns the requested
xref_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 xref_Customer
resource.

    # This snippet has been automatically generated and should be regarded as a
    # code template only.
    # It will require modifications to work:
    # - It may require correct/in-range values for request initialization.
    # - It may require specifying regional endpoints when creating the service
    #   client as shown in:
    #   https://googleapis.dev/python/google-api-core/latest/client_options.html
    from google.cloud import https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest

    def sample_get_customer():
        # Create a client
        client = https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest.https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.services.cloud_channel_service.CloudChannelServiceClient.html()

        # Initialize request argument(s)
        request = https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest.https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.types.GetCustomerRequest.html(
            name="name_value",
        )

        # Make the request
        response = client.https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.services.cloud_channel_service.CloudChannelServiceClient.html#google_cloud_channel_v1_services_cloud_channel_service_CloudChannelServiceClient_get_customer(request=request)

        # Handle the response
        print(response)

| **Parameters** ||
|---|---|
| **Name** | **Description** |
| `request` | `Union[https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.types.GetCustomerRequest, dict]` The request object. Request message for CloudChannelService.GetCustomer. |
| `name` | `str` Required. The resource name of the customer to retrieve. Name uses the format: accounts/{account_id}/customers/{customer_id} This corresponds to the `name` field on the `request` instance; if `request` is provided, this should not be set. |
| `retry` | `google.api_core.retry.Retry` Designation of what errors, if any, should be retried. |
| `timeout` | `float` The timeout for this request. |
| `metadata` | `Sequence[Tuple[str, Union[str, bytes]]]` Key/value pairs which should be sent along with the request as metadata. Normally, each value must be of type `str`, but for metadata keys ending with the suffix `-bin`, the corresponding values must be of type `bytes`. |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.types.Customer` | Entity representing a customer of a reseller or distributor. |

### get_customer_repricing_config

    get_customer_repricing_config(
        request: typing.Optional[
            typing.Union[
                google.cloud.channel_v1.types.service.GetCustomerRepricingConfigRequest,
                dict,
            ]
        ] = None,
        *,
        name: typing.Optional[str] = None,
        retry: typing.Optional[
            typing.Union[
                google.api_core.retry.retry_unary.Retry,
                google.api_core.gapic_v1.method._MethodDefault,
            ]
        ] = _MethodDefault._DEFAULT_VALUE,
        timeout: typing.Union[float, object] = _MethodDefault._DEFAULT_VALUE,
        metadata: typing.Sequence[typing.Tuple[str, typing.Union[str, bytes]]] = ()
    ) -> google.cloud.channel_v1.types.repricing.CustomerRepricingConfig

Gets information about how a Reseller modifies their bill before
sending it to a Customer.

Possible Error Codes:

- PERMISSION_DENIED: If the account making the request and the account being queried are different.
- NOT_FOUND: The xref_CustomerRepricingConfig was not found.
- INTERNAL: Any non-user error related to technical issues in the backend. In this case, contact Cloud Channel support.

Return Value: If successful, the
xref_CustomerRepricingConfig
resource, otherwise returns an error.

    # This snippet has been automatically generated and should be regarded as a
    # code template only.
    # It will require modifications to work:
    # - It may require correct/in-range values for request initialization.
    # - It may require specifying regional endpoints when creating the service
    #   client as shown in:
    #   https://googleapis.dev/python/google-api-core/latest/client_options.html
    from google.cloud import https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest

    def sample_get_customer_repricing_config():
        # Create a client
        client = https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest.https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.services.cloud_channel_service.CloudChannelServiceClient.html()

        # Initialize request argument(s)
        request = https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest.https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.types.GetCustomerRepricingConfigRequest.html(
            name="name_value",
        )

        # Make the request
        response = client.https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.services.cloud_channel_service.CloudChannelServiceClient.html#google_cloud_channel_v1_services_cloud_channel_service_CloudChannelServiceClient_get_customer_repricing_config(request=request)

        # Handle the response
        print(response)

| **Parameters** ||
|---|---|
| **Name** | **Description** |
| `request` | `Union[https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.types.GetCustomerRepricingConfigRequest, dict]` The request object. Request message for CloudChannelService.GetCustomerRepricingConfig. |
| `name` | `str` Required. The resource name of the CustomerRepricingConfig. Format: accounts/{account_id}/customers/{customer_id}/customerRepricingConfigs/{id}. This corresponds to the `name` field on the `request` instance; if `request` is provided, this should not be set. |
| `retry` | `google.api_core.retry.Retry` Designation of what errors, if any, should be retried. |
| `timeout` | `float` The timeout for this request. |
| `metadata` | `Sequence[Tuple[str, Union[str, bytes]]]` Key/value pairs which should be sent along with the request as metadata. Normally, each value must be of type `str`, but for metadata keys ending with the suffix `-bin`, the corresponding values must be of type `bytes`. |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.types.CustomerRepricingConfig` | Configuration for how a reseller will reprice a Customer. |

### get_entitlement

    get_entitlement(
        request: typing.Optional[
            typing.Union[google.cloud.channel_v1.types.service.GetEntitlementRequest, dict]
        ] = None,
        *,
        retry: typing.Optional[
            typing.Union[
                google.api_core.retry.retry_unary.Retry,
                google.api_core.gapic_v1.method._MethodDefault,
            ]
        ] = _MethodDefault._DEFAULT_VALUE,
        timeout: typing.Union[float, object] = _MethodDefault._DEFAULT_VALUE,
        metadata: typing.Sequence[typing.Tuple[str, typing.Union[str, bytes]]] = ()
    ) -> google.cloud.channel_v1.types.entitlements.Entitlement

Returns the requested
xref_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
xref_Entitlement resource.

    # This snippet has been automatically generated and should be regarded as a
    # code template only.
    # It will require modifications to work:
    # - It may require correct/in-range values for request initialization.
    # - It may require specifying regional endpoints when creating the service
    #   client as shown in:
    #   https://googleapis.dev/python/google-api-core/latest/client_options.html
    from google.cloud import https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest

    def sample_get_entitlement():
        # Create a client
        client = https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest.https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.services.cloud_channel_service.CloudChannelServiceClient.html()

        # Initialize request argument(s)
        request = https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest.https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.types.GetEntitlementRequest.html(
            name="name_value",
        )

        # Make the request
        response = client.https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.services.cloud_channel_service.CloudChannelServiceClient.html#google_cloud_channel_v1_services_cloud_channel_service_CloudChannelServiceClient_get_entitlement(request=request)

        # Handle the response
        print(response)

| **Parameters** ||
|---|---|
| **Name** | **Description** |
| `request` | `Union[https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.types.GetEntitlementRequest, dict]` The request object. Request message for CloudChannelService.GetEntitlement. |
| `retry` | `google.api_core.retry.Retry` Designation of what errors, if any, should be retried. |
| `timeout` | `float` The timeout for this request. |
| `metadata` | `Sequence[Tuple[str, Union[str, bytes]]]` Key/value pairs which should be sent along with the request as metadata. Normally, each value must be of type `str`, but for metadata keys ending with the suffix `-bin`, the corresponding values must be of type `bytes`. |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.types.Entitlement` | An entitlement is a representation of a customer's ability to use a service. |

### get_mtls_endpoint_and_cert_source

    get_mtls_endpoint_and_cert_source(
        client_options: typing.Optional[
            google.api_core.client_options.ClientOptions
        ] = None,
    )

Deprecated. Return the API endpoint and client cert source for mutual TLS.

The client cert source is determined in the following order:
(1) if `GOOGLE_API_USE_CLIENT_CERTIFICATE` environment variable is not "true", the
client cert source is None.
(2) if `client_options.client_cert_source` is provided, use the provided one; if the
default client cert source exists, use the default one; otherwise the client cert
source is None.

The API endpoint is determined in the following order:
(1) if `client_options.api_endpoint` if provided, use the provided one.
(2) if `GOOGLE_API_USE_CLIENT_CERTIFICATE` environment variable is "always", use the
default mTLS endpoint; if the environment variable is "never", use the default API
endpoint; otherwise if client cert source exists, use the default mTLS endpoint, otherwise
use the default API endpoint.

More details can be found at <https://google.aip.dev/auth/4114>.

| **Parameter** ||
|---|---|
| **Name** | **Description** |
| `client_options` | `google.api_core.client_options.ClientOptions` Custom options for the client. Only the `api_endpoint` and `client_cert_source` properties may be used in this method. |

| **Exceptions** ||
|---|---|
| **Type** | **Description** |
| `google.auth.exceptions.MutualTLSChannelError` | If any errors happen. |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `Tuple[str, Callable[[], Tuple[bytes, bytes]]]` | returns the API endpoint and the client cert source to use. |

### get_operation

    get_operation(
        request: typing.Optional[
            typing.Union[google.longrunning.operations_pb2.GetOperationRequest, dict]
        ] = None,
        *,
        retry: typing.Optional[
            typing.Union[
                google.api_core.retry.retry_unary.Retry,
                google.api_core.gapic_v1.method._MethodDefault,
            ]
        ] = _MethodDefault._DEFAULT_VALUE,
        timeout: typing.Union[float, object] = _MethodDefault._DEFAULT_VALUE,
        metadata: typing.Sequence[typing.Tuple[str, typing.Union[str, bytes]]] = ()
    ) -> google.longrunning.operations_pb2.Operation

Gets the latest state of a long-running operation.

| **Parameters** ||
|---|---|
| **Name** | **Description** |
| `request` | `` `.operations_pb2.GetOperationRequest` `` The request object. Request message for `GetOperation` method. |
| `retry` | `google.api_core.retry.Retry` Designation of what errors, if any, should be retried. |
| `timeout` | `float` The timeout for this request. |
| `metadata` | `Sequence[Tuple[str, Union[str, bytes]]]` Key/value pairs which should be sent along with the request as metadata. Normally, each value must be of type `str`, but for metadata keys ending with the suffix `-bin`, the corresponding values must be of type `bytes`. |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `` `.operations_pb2.Operation` `` | An `Operation` object. |

### import_customer

    import_customer(
        request: typing.Optional[
            typing.Union[google.cloud.channel_v1.types.service.ImportCustomerRequest, dict]
        ] = None,
        *,
        retry: typing.Optional[
            typing.Union[
                google.api_core.retry.retry_unary.Retry,
                google.api_core.gapic_v1.method._MethodDefault,
            ]
        ] = _MethodDefault._DEFAULT_VALUE,
        timeout: typing.Union[float, object] = _MethodDefault._DEFAULT_VALUE,
        metadata: typing.Sequence[typing.Tuple[str, typing.Union[str, bytes]]] = ()
    ) -> google.cloud.channel_v1.types.customers.Customer

Imports a xref_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.
  - You are not authorized to import the customer. See <https://support.google.com/channelservices/answer/9759265>
- 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 xref_Customer.

    # This snippet has been automatically generated and should be regarded as a
    # code template only.
    # It will require modifications to work:
    # - It may require correct/in-range values for request initialization.
    # - It may require specifying regional endpoints when creating the service
    #   client as shown in:
    #   https://googleapis.dev/python/google-api-core/latest/client_options.html
    from google.cloud import https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest

    def sample_import_customer():
        # Create a client
        client = https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest.https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.services.cloud_channel_service.CloudChannelServiceClient.html()

        # Initialize request argument(s)
        request = https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest.https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.types.ImportCustomerRequest.html(
            domain="domain_value",
            parent="parent_value",
            overwrite_if_exists=True,
        )

        # Make the request
        response = client.https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.services.cloud_channel_service.CloudChannelServiceClient.html#google_cloud_channel_v1_services_cloud_channel_service_CloudChannelServiceClient_import_customer(request=request)

        # Handle the response
        print(response)

| **Parameters** ||
|---|---|
| **Name** | **Description** |
| `request` | `Union[https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.types.ImportCustomerRequest, dict]` The request object. Request message for CloudChannelService.ImportCustomer |
| `retry` | `google.api_core.retry.Retry` Designation of what errors, if any, should be retried. |
| `timeout` | `float` The timeout for this request. |
| `metadata` | `Sequence[Tuple[str, Union[str, bytes]]]` Key/value pairs which should be sent along with the request as metadata. Normally, each value must be of type `str`, but for metadata keys ending with the suffix `-bin`, the corresponding values must be of type `bytes`. |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.types.Customer` | Entity representing a customer of a reseller or distributor. |

### list_channel_partner_links

    list_channel_partner_links(
        request: typing.Optional[
            typing.Union[
                google.cloud.channel_v1.types.service.ListChannelPartnerLinksRequest, dict
            ]
        ] = None,
        *,
        retry: typing.Optional[
            typing.Union[
                google.api_core.retry.retry_unary.Retry,
                google.api_core.gapic_v1.method._MethodDefault,
            ]
        ] = _MethodDefault._DEFAULT_VALUE,
        timeout: typing.Union[float, object] = _MethodDefault._DEFAULT_VALUE,
        metadata: typing.Sequence[typing.Tuple[str, typing.Union[str, bytes]]] = ()
    ) -> (
        google.cloud.channel_v1.services.cloud_channel_service.pagers.ListChannelPartnerLinksPager
    )

List
xref_ChannelPartnerLinks
belonging to a distributor. You must be a distributor to call
this method.

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: The list of the distributor account's
xref_ChannelPartnerLink
resources.

    # This snippet has been automatically generated and should be regarded as a
    # code template only.
    # It will require modifications to work:
    # - It may require correct/in-range values for request initialization.
    # - It may require specifying regional endpoints when creating the service
    #   client as shown in:
    #   https://googleapis.dev/python/google-api-core/latest/client_options.html
    from google.cloud import https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest

    def sample_list_channel_partner_links():
        # Create a client
        client = https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest.https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.services.cloud_channel_service.CloudChannelServiceClient.html()

        # Initialize request argument(s)
        request = https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest.https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.types.ListChannelPartnerLinksRequest.html(
            parent="parent_value",
        )

        # Make the request
        page_result = client.https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.services.cloud_channel_service.CloudChannelServiceClient.html#google_cloud_channel_v1_services_cloud_channel_service_CloudChannelServiceClient_list_channel_partner_links(request=request)

        # Handle the response
        for response in page_result:
            print(response)

| **Parameters** ||
|---|---|
| **Name** | **Description** |
| `request` | `Union[https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.types.ListChannelPartnerLinksRequest, dict]` The request object. Request message for CloudChannelService.ListChannelPartnerLinks |
| `retry` | `google.api_core.retry.Retry` Designation of what errors, if any, should be retried. |
| `timeout` | `float` The timeout for this request. |
| `metadata` | `Sequence[Tuple[str, Union[str, bytes]]]` Key/value pairs which should be sent along with the request as metadata. Normally, each value must be of type `str`, but for metadata keys ending with the suffix `-bin`, the corresponding values must be of type `bytes`. |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.services.cloud_channel_service.pagers.ListChannelPartnerLinksPager` | Response message for CloudChannelService.ListChannelPartnerLinks. Iterating over this object will yield results and resolve additional pages automatically. |

### list_channel_partner_repricing_configs

    list_channel_partner_repricing_configs(
        request: typing.Optional[
            typing.Union[
                google.cloud.channel_v1.types.service.ListChannelPartnerRepricingConfigsRequest,
                dict,
            ]
        ] = None,
        *,
        parent: typing.Optional[str] = None,
        retry: typing.Optional[
            typing.Union[
                google.api_core.retry.retry_unary.Retry,
                google.api_core.gapic_v1.method._MethodDefault,
            ]
        ] = _MethodDefault._DEFAULT_VALUE,
        timeout: typing.Union[float, object] = _MethodDefault._DEFAULT_VALUE,
        metadata: typing.Sequence[typing.Tuple[str, typing.Union[str, bytes]]] = ()
    ) -> (
        google.cloud.channel_v1.services.cloud_channel_service.pagers.ListChannelPartnerRepricingConfigsPager
    )

Lists information about how a Reseller modifies their bill
before sending it to a ChannelPartner.

Possible Error Codes:

- PERMISSION_DENIED: If the account making the request and the account being queried are different.
- NOT_FOUND: The xref_ChannelPartnerRepricingConfig specified does not exist or is not associated with the given account.
- INTERNAL: Any non-user error related to technical issues in the backend. In this case, contact Cloud Channel support.

Return Value: If successful, the
xref_ChannelPartnerRepricingConfig
resources. The data for each resource is displayed in the
ascending order of:

- Channel Partner ID
- xref_RepricingConfig.effective_invoice_month
- xref_ChannelPartnerRepricingConfig.update_time

If unsuccessful, returns an error.

    # This snippet has been automatically generated and should be regarded as a
    # code template only.
    # It will require modifications to work:
    # - It may require correct/in-range values for request initialization.
    # - It may require specifying regional endpoints when creating the service
    #   client as shown in:
    #   https://googleapis.dev/python/google-api-core/latest/client_options.html
    from google.cloud import https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest

    def sample_list_channel_partner_repricing_configs():
        # Create a client
        client = https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest.https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.services.cloud_channel_service.CloudChannelServiceClient.html()

        # Initialize request argument(s)
        request = https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest.https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.types.ListChannelPartnerRepricingConfigsRequest.html(
            parent="parent_value",
        )

        # Make the request
        page_result = client.https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.services.cloud_channel_service.CloudChannelServiceClient.html#google_cloud_channel_v1_services_cloud_channel_service_CloudChannelServiceClient_list_channel_partner_repricing_configs(request=request)

        # Handle the response
        for response in page_result:
            print(response)

| **Parameters** ||
|---|---|
| **Name** | **Description** |
| `request` | `Union[https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.types.ListChannelPartnerRepricingConfigsRequest, dict]` The request object. Request message for CloudChannelService.ListChannelPartnerRepricingConfigs. |
| `parent` | `str` Required. The resource name of the account's ChannelPartnerLink. Parent uses the format: accounts/{account_id}/channelPartnerLinks/{channel_partner_id}. Supports accounts/{account_id}/channelPartnerLinks/- to retrieve configs for all channel partners. This corresponds to the `parent` field on the `request` instance; if `request` is provided, this should not be set. |
| `retry` | `google.api_core.retry.Retry` Designation of what errors, if any, should be retried. |
| `timeout` | `float` The timeout for this request. |
| `metadata` | `Sequence[Tuple[str, Union[str, bytes]]]` Key/value pairs which should be sent along with the request as metadata. Normally, each value must be of type `str`, but for metadata keys ending with the suffix `-bin`, the corresponding values must be of type `bytes`. |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.services.cloud_channel_service.pagers.ListChannelPartnerRepricingConfigsPager` | Response message for CloudChannelService.ListChannelPartnerRepricingConfigs. Iterating over this object will yield results and resolve additional pages automatically. |

### list_customer_repricing_configs

    list_customer_repricing_configs(
        request: typing.Optional[
            typing.Union[
                google.cloud.channel_v1.types.service.ListCustomerRepricingConfigsRequest,
                dict,
            ]
        ] = None,
        *,
        parent: typing.Optional[str] = None,
        retry: typing.Optional[
            typing.Union[
                google.api_core.retry.retry_unary.Retry,
                google.api_core.gapic_v1.method._MethodDefault,
            ]
        ] = _MethodDefault._DEFAULT_VALUE,
        timeout: typing.Union[float, object] = _MethodDefault._DEFAULT_VALUE,
        metadata: typing.Sequence[typing.Tuple[str, typing.Union[str, bytes]]] = ()
    ) -> (
        google.cloud.channel_v1.services.cloud_channel_service.pagers.ListCustomerRepricingConfigsPager
    )

Lists information about how a Reseller modifies their bill
before sending it to a Customer.

Possible Error Codes:

- PERMISSION_DENIED: If the account making the request and the account being queried are different.
- NOT_FOUND: The xref_CustomerRepricingConfig specified does not exist or is not associated with the given account.
- INTERNAL: Any non-user error related to technical issues in the backend. In this case, contact Cloud Channel support.

Return Value: If successful, the
xref_CustomerRepricingConfig
resources. The data for each resource is displayed in the
ascending order of:

- Customer ID
- xref_RepricingConfig.EntitlementGranularity.entitlement
- xref_RepricingConfig.effective_invoice_month
- xref_CustomerRepricingConfig.update_time

If unsuccessful, returns an error.

    # This snippet has been automatically generated and should be regarded as a
    # code template only.
    # It will require modifications to work:
    # - It may require correct/in-range values for request initialization.
    # - It may require specifying regional endpoints when creating the service
    #   client as shown in:
    #   https://googleapis.dev/python/google-api-core/latest/client_options.html
    from google.cloud import https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest

    def sample_list_customer_repricing_configs():
        # Create a client
        client = https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest.https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.services.cloud_channel_service.CloudChannelServiceClient.html()

        # Initialize request argument(s)
        request = https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest.https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.types.ListCustomerRepricingConfigsRequest.html(
            parent="parent_value",
        )

        # Make the request
        page_result = client.https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.services.cloud_channel_service.CloudChannelServiceClient.html#google_cloud_channel_v1_services_cloud_channel_service_CloudChannelServiceClient_list_customer_repricing_configs(request=request)

        # Handle the response
        for response in page_result:
            print(response)

| **Parameters** ||
|---|---|
| **Name** | **Description** |
| `request` | `Union[https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.types.ListCustomerRepricingConfigsRequest, dict]` The request object. Request message for CloudChannelService.ListCustomerRepricingConfigs. |
| `parent` | `str` Required. The resource name of the customer. Parent uses the format: accounts/{account_id}/customers/{customer_id}. Supports accounts/{account_id}/customers/- to retrieve configs for all customers. This corresponds to the `parent` field on the `request` instance; if `request` is provided, this should not be set. |
| `retry` | `google.api_core.retry.Retry` Designation of what errors, if any, should be retried. |
| `timeout` | `float` The timeout for this request. |
| `metadata` | `Sequence[Tuple[str, Union[str, bytes]]]` Key/value pairs which should be sent along with the request as metadata. Normally, each value must be of type `str`, but for metadata keys ending with the suffix `-bin`, the corresponding values must be of type `bytes`. |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.services.cloud_channel_service.pagers.ListCustomerRepricingConfigsPager` | Response message for CloudChannelService.ListCustomerRepricingConfigs. Iterating over this object will yield results and resolve additional pages automatically. |

### list_customers

    list_customers(
        request: typing.Optional[
            typing.Union[google.cloud.channel_v1.types.service.ListCustomersRequest, dict]
        ] = None,
        *,
        retry: typing.Optional[
            typing.Union[
                google.api_core.retry.retry_unary.Retry,
                google.api_core.gapic_v1.method._MethodDefault,
            ]
        ] = _MethodDefault._DEFAULT_VALUE,
        timeout: typing.Union[float, object] = _MethodDefault._DEFAULT_VALUE,
        metadata: typing.Sequence[typing.Tuple[str, typing.Union[str, bytes]]] = ()
    ) -> google.cloud.channel_v1.services.cloud_channel_service.pagers.ListCustomersPager

List xref_Customers.

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
xref_Customers, or an empty list
if there are no customers.

    # This snippet has been automatically generated and should be regarded as a
    # code template only.
    # It will require modifications to work:
    # - It may require correct/in-range values for request initialization.
    # - It may require specifying regional endpoints when creating the service
    #   client as shown in:
    #   https://googleapis.dev/python/google-api-core/latest/client_options.html
    from google.cloud import https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest

    def sample_list_customers():
        # Create a client
        client = https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest.https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.services.cloud_channel_service.CloudChannelServiceClient.html()

        # Initialize request argument(s)
        request = https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest.https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.types.ListCustomersRequest.html(
            parent="parent_value",
        )

        # Make the request
        page_result = client.https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.services.cloud_channel_service.CloudChannelServiceClient.html#google_cloud_channel_v1_services_cloud_channel_service_CloudChannelServiceClient_list_customers(request=request)

        # Handle the response
        for response in page_result:
            print(response)

| **Parameters** ||
|---|---|
| **Name** | **Description** |
| `request` | `Union[https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.types.ListCustomersRequest, dict]` The request object. Request message for CloudChannelService.ListCustomers |
| `retry` | `google.api_core.retry.Retry` Designation of what errors, if any, should be retried. |
| `timeout` | `float` The timeout for this request. |
| `metadata` | `Sequence[Tuple[str, Union[str, bytes]]]` Key/value pairs which should be sent along with the request as metadata. Normally, each value must be of type `str`, but for metadata keys ending with the suffix `-bin`, the corresponding values must be of type `bytes`. |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.services.cloud_channel_service.pagers.ListCustomersPager` | Response message for CloudChannelService.ListCustomers. Iterating over this object will yield results and resolve additional pages automatically. |

### list_entitlement_changes

    list_entitlement_changes(
        request: typing.Optional[
            typing.Union[
                google.cloud.channel_v1.types.service.ListEntitlementChangesRequest, dict
            ]
        ] = None,
        *,
        parent: typing.Optional[str] = None,
        retry: typing.Optional[
            typing.Union[
                google.api_core.retry.retry_unary.Retry,
                google.api_core.gapic_v1.method._MethodDefault,
            ]
        ] = _MethodDefault._DEFAULT_VALUE,
        timeout: typing.Union[float, object] = _MethodDefault._DEFAULT_VALUE,
        metadata: typing.Sequence[typing.Tuple[str, typing.Union[str, bytes]]] = ()
    ) -> (
        google.cloud.channel_v1.services.cloud_channel_service.pagers.ListEntitlementChangesPager
    )

List entitlement history.

Possible error codes:

- PERMISSION_DENIED: The reseller account making the request and the provided reseller account are different.
- INVALID_ARGUMENT: Missing or invalid required fields in the request.
- NOT_FOUND: The parent resource doesn't exist. Usually the result of an invalid name parameter.
- INTERNAL: Any non-user error related to a technical issue in the backend. In this case, contact CloudChannel support.
- UNKNOWN: Any non-user error related to a technical issue in the backend. In this case, contact Cloud Channel support.

Return value: List of
xref_EntitlementChanges.

    # This snippet has been automatically generated and should be regarded as a
    # code template only.
    # It will require modifications to work:
    # - It may require correct/in-range values for request initialization.
    # - It may require specifying regional endpoints when creating the service
    #   client as shown in:
    #   https://googleapis.dev/python/google-api-core/latest/client_options.html
    from google.cloud import https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest

    def sample_list_entitlement_changes():
        # Create a client
        client = https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest.https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.services.cloud_channel_service.CloudChannelServiceClient.html()

        # Initialize request argument(s)
        request = https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest.https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.types.ListEntitlementChangesRequest.html(
            parent="parent_value",
        )

        # Make the request
        page_result = client.https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.services.cloud_channel_service.CloudChannelServiceClient.html#google_cloud_channel_v1_services_cloud_channel_service_CloudChannelServiceClient_list_entitlement_changes(request=request)

        # Handle the response
        for response in page_result:
            print(response)

| **Parameters** ||
|---|---|
| **Name** | **Description** |
| `request` | `Union[https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.types.ListEntitlementChangesRequest, dict]` The request object. Request message for CloudChannelService.ListEntitlementChanges |
| `parent` | `str` Required. The resource name of the entitlement for which to list entitlement changes. The `-` wildcard may be used to match entitlements across a customer. Formats: - accounts/{account_id}/customers/{customer_id}/entitlements/{entitlement_id} - accounts/{account_id}/customers/{customer_id}/entitlements/- This corresponds to the `parent` field on the `request` instance; if `request` is provided, this should not be set. |
| `retry` | `google.api_core.retry.Retry` Designation of what errors, if any, should be retried. |
| `timeout` | `float` The timeout for this request. |
| `metadata` | `Sequence[Tuple[str, Union[str, bytes]]]` Key/value pairs which should be sent along with the request as metadata. Normally, each value must be of type `str`, but for metadata keys ending with the suffix `-bin`, the corresponding values must be of type `bytes`. |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.services.cloud_channel_service.pagers.ListEntitlementChangesPager` | Response message for CloudChannelService.ListEntitlementChanges Iterating over this object will yield results and resolve additional pages automatically. |

### list_entitlements

    list_entitlements(
        request: typing.Optional[
            typing.Union[
                google.cloud.channel_v1.types.service.ListEntitlementsRequest, dict
            ]
        ] = None,
        *,
        retry: typing.Optional[
            typing.Union[
                google.api_core.retry.retry_unary.Retry,
                google.api_core.gapic_v1.method._MethodDefault,
            ]
        ] = _MethodDefault._DEFAULT_VALUE,
        timeout: typing.Union[float, object] = _MethodDefault._DEFAULT_VALUE,
        metadata: typing.Sequence[typing.Tuple[str, typing.Union[str, bytes]]] = ()
    ) -> (
        google.cloud.channel_v1.services.cloud_channel_service.pagers.ListEntitlementsPager
    )

Lists xref_Entitlements
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
xref_Entitlements.

    # This snippet has been automatically generated and should be regarded as a
    # code template only.
    # It will require modifications to work:
    # - It may require correct/in-range values for request initialization.
    # - It may require specifying regional endpoints when creating the service
    #   client as shown in:
    #   https://googleapis.dev/python/google-api-core/latest/client_options.html
    from google.cloud import https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest

    def sample_list_entitlements():
        # Create a client
        client = https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest.https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.services.cloud_channel_service.CloudChannelServiceClient.html()

        # Initialize request argument(s)
        request = https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest.https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.types.ListEntitlementsRequest.html(
            parent="parent_value",
        )

        # Make the request
        page_result = client.https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.services.cloud_channel_service.CloudChannelServiceClient.html#google_cloud_channel_v1_services_cloud_channel_service_CloudChannelServiceClient_list_entitlements(request=request)

        # Handle the response
        for response in page_result:
            print(response)

| **Parameters** ||
|---|---|
| **Name** | **Description** |
| `request` | `Union[https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.types.ListEntitlementsRequest, dict]` The request object. Request message for CloudChannelService.ListEntitlements |
| `retry` | `google.api_core.retry.Retry` Designation of what errors, if any, should be retried. |
| `timeout` | `float` The timeout for this request. |
| `metadata` | `Sequence[Tuple[str, Union[str, bytes]]]` Key/value pairs which should be sent along with the request as metadata. Normally, each value must be of type `str`, but for metadata keys ending with the suffix `-bin`, the corresponding values must be of type `bytes`. |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.services.cloud_channel_service.pagers.ListEntitlementsPager` | Response message for CloudChannelService.ListEntitlements. Iterating over this object will yield results and resolve additional pages automatically. |

### list_offers

    list_offers(
        request: typing.Optional[
            typing.Union[google.cloud.channel_v1.types.service.ListOffersRequest, dict]
        ] = None,
        *,
        retry: typing.Optional[
            typing.Union[
                google.api_core.retry.retry_unary.Retry,
                google.api_core.gapic_v1.method._MethodDefault,
            ]
        ] = _MethodDefault._DEFAULT_VALUE,
        timeout: typing.Union[float, object] = _MethodDefault._DEFAULT_VALUE,
        metadata: typing.Sequence[typing.Tuple[str, typing.Union[str, bytes]]] = ()
    ) -> google.cloud.channel_v1.services.cloud_channel_service.pagers.ListOffersPager

Lists the Offers the reseller can sell.

Possible error codes:

- INVALID_ARGUMENT: Required request parameters are missing or invalid.

    # This snippet has been automatically generated and should be regarded as a
    # code template only.
    # It will require modifications to work:
    # - It may require correct/in-range values for request initialization.
    # - It may require specifying regional endpoints when creating the service
    #   client as shown in:
    #   https://googleapis.dev/python/google-api-core/latest/client_options.html
    from google.cloud import https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest

    def sample_list_offers():
        # Create a client
        client = https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest.https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.services.cloud_channel_service.CloudChannelServiceClient.html()

        # Initialize request argument(s)
        request = https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest.https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.types.ListOffersRequest.html(
            parent="parent_value",
        )

        # Make the request
        page_result = client.https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.services.cloud_channel_service.CloudChannelServiceClient.html#google_cloud_channel_v1_services_cloud_channel_service_CloudChannelServiceClient_list_offers(request=request)

        # Handle the response
        for response in page_result:
            print(response)

| **Parameters** ||
|---|---|
| **Name** | **Description** |
| `request` | `Union[https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.types.ListOffersRequest, dict]` The request object. Request message for ListOffers. |
| `retry` | `google.api_core.retry.Retry` Designation of what errors, if any, should be retried. |
| `timeout` | `float` The timeout for this request. |
| `metadata` | `Sequence[Tuple[str, Union[str, bytes]]]` Key/value pairs which should be sent along with the request as metadata. Normally, each value must be of type `str`, but for metadata keys ending with the suffix `-bin`, the corresponding values must be of type `bytes`. |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.services.cloud_channel_service.pagers.ListOffersPager` | Response message for ListOffers. Iterating over this object will yield results and resolve additional pages automatically. |

### list_operations

    list_operations(
        request: typing.Optional[
            typing.Union[google.longrunning.operations_pb2.ListOperationsRequest, dict]
        ] = None,
        *,
        retry: typing.Optional[
            typing.Union[
                google.api_core.retry.retry_unary.Retry,
                google.api_core.gapic_v1.method._MethodDefault,
            ]
        ] = _MethodDefault._DEFAULT_VALUE,
        timeout: typing.Union[float, object] = _MethodDefault._DEFAULT_VALUE,
        metadata: typing.Sequence[typing.Tuple[str, typing.Union[str, bytes]]] = ()
    ) -> google.longrunning.operations_pb2.ListOperationsResponse

Lists operations that match the specified filter in the request.

| **Parameters** ||
|---|---|
| **Name** | **Description** |
| `request` | `` `.operations_pb2.ListOperationsRequest` `` The request object. Request message for `ListOperations` method. |
| `retry` | `google.api_core.retry.Retry` Designation of what errors, if any, should be retried. |
| `timeout` | `float` The timeout for this request. |
| `metadata` | `Sequence[Tuple[str, Union[str, bytes]]]` Key/value pairs which should be sent along with the request as metadata. Normally, each value must be of type `str`, but for metadata keys ending with the suffix `-bin`, the corresponding values must be of type `bytes`. |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `` `.operations_pb2.ListOperationsResponse` `` | Response message for `ListOperations` method. |

### list_products

    list_products(
        request: typing.Optional[
            typing.Union[google.cloud.channel_v1.types.service.ListProductsRequest, dict]
        ] = None,
        *,
        retry: typing.Optional[
            typing.Union[
                google.api_core.retry.retry_unary.Retry,
                google.api_core.gapic_v1.method._MethodDefault,
            ]
        ] = _MethodDefault._DEFAULT_VALUE,
        timeout: typing.Union[float, object] = _MethodDefault._DEFAULT_VALUE,
        metadata: typing.Sequence[typing.Tuple[str, typing.Union[str, bytes]]] = ()
    ) -> google.cloud.channel_v1.services.cloud_channel_service.pagers.ListProductsPager

Lists the Products the reseller is authorized to sell.

Possible error codes:

- INVALID_ARGUMENT: Required request parameters are missing or invalid.

    # This snippet has been automatically generated and should be regarded as a
    # code template only.
    # It will require modifications to work:
    # - It may require correct/in-range values for request initialization.
    # - It may require specifying regional endpoints when creating the service
    #   client as shown in:
    #   https://googleapis.dev/python/google-api-core/latest/client_options.html
    from google.cloud import https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest

    def sample_list_products():
        # Create a client
        client = https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest.https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.services.cloud_channel_service.CloudChannelServiceClient.html()

        # Initialize request argument(s)
        request = https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest.https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.types.ListProductsRequest.html(
            account="account_value",
        )

        # Make the request
        page_result = client.https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.services.cloud_channel_service.CloudChannelServiceClient.html#google_cloud_channel_v1_services_cloud_channel_service_CloudChannelServiceClient_list_products(request=request)

        # Handle the response
        for response in page_result:
            print(response)

| **Parameters** ||
|---|---|
| **Name** | **Description** |
| `request` | `Union[https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.types.ListProductsRequest, dict]` The request object. Request message for ListProducts. |
| `retry` | `google.api_core.retry.Retry` Designation of what errors, if any, should be retried. |
| `timeout` | `float` The timeout for this request. |
| `metadata` | `Sequence[Tuple[str, Union[str, bytes]]]` Key/value pairs which should be sent along with the request as metadata. Normally, each value must be of type `str`, but for metadata keys ending with the suffix `-bin`, the corresponding values must be of type `bytes`. |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.services.cloud_channel_service.pagers.ListProductsPager` | Response message for ListProducts. Iterating over this object will yield results and resolve additional pages automatically. |

### list_purchasable_offers

    list_purchasable_offers(
        request: typing.Optional[
            typing.Union[
                google.cloud.channel_v1.types.service.ListPurchasableOffersRequest, dict
            ]
        ] = None,
        *,
        retry: typing.Optional[
            typing.Union[
                google.api_core.retry.retry_unary.Retry,
                google.api_core.gapic_v1.method._MethodDefault,
            ]
        ] = _MethodDefault._DEFAULT_VALUE,
        timeout: typing.Union[float, object] = _MethodDefault._DEFAULT_VALUE,
        metadata: typing.Sequence[typing.Tuple[str, typing.Union[str, bytes]]] = ()
    ) -> (
        google.cloud.channel_v1.services.cloud_channel_service.pagers.ListPurchasableOffersPager
    )

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
  - The reseller is not authorized to transact on this Product. See <https://support.google.com/channelservices/answer/9759265>
- INVALID_ARGUMENT: Required request parameters are missing or
  invalid.

    # This snippet has been automatically generated and should be regarded as a
    # code template only.
    # It will require modifications to work:
    # - It may require correct/in-range values for request initialization.
    # - It may require specifying regional endpoints when creating the service
    #   client as shown in:
    #   https://googleapis.dev/python/google-api-core/latest/client_options.html
    from google.cloud import https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest

    def sample_list_purchasable_offers():
        # Create a client
        client = https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest.https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.services.cloud_channel_service.CloudChannelServiceClient.html()

        # Initialize request argument(s)
        create_entitlement_purchase = https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest.CreateEntitlementPurchase()
        create_entitlement_purchase.sku = "sku_value"

        request = https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest.https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.types.ListPurchasableOffersRequest.html(
            create_entitlement_purchase=create_entitlement_purchase,
            customer="customer_value",
        )

        # Make the request
        page_result = client.https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.services.cloud_channel_service.CloudChannelServiceClient.html#google_cloud_channel_v1_services_cloud_channel_service_CloudChannelServiceClient_list_purchasable_offers(request=request)

        # Handle the response
        for response in page_result:
            print(response)

| **Parameters** ||
|---|---|
| **Name** | **Description** |
| `request` | `Union[https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.types.ListPurchasableOffersRequest, dict]` The request object. Request message for ListPurchasableOffers. |
| `retry` | `google.api_core.retry.Retry` Designation of what errors, if any, should be retried. |
| `timeout` | `float` The timeout for this request. |
| `metadata` | `Sequence[Tuple[str, Union[str, bytes]]]` Key/value pairs which should be sent along with the request as metadata. Normally, each value must be of type `str`, but for metadata keys ending with the suffix `-bin`, the corresponding values must be of type `bytes`. |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.services.cloud_channel_service.pagers.ListPurchasableOffersPager` | Response message for ListPurchasableOffers. Iterating over this object will yield results and resolve additional pages automatically. |

### list_purchasable_skus

    list_purchasable_skus(
        request: typing.Optional[
            typing.Union[
                google.cloud.channel_v1.types.service.ListPurchasableSkusRequest, dict
            ]
        ] = None,
        *,
        retry: typing.Optional[
            typing.Union[
                google.api_core.retry.retry_unary.Retry,
                google.api_core.gapic_v1.method._MethodDefault,
            ]
        ] = _MethodDefault._DEFAULT_VALUE,
        timeout: typing.Union[float, object] = _MethodDefault._DEFAULT_VALUE,
        metadata: typing.Sequence[typing.Tuple[str, typing.Union[str, bytes]]] = ()
    ) -> (
        google.cloud.channel_v1.services.cloud_channel_service.pagers.ListPurchasableSkusPager
    )

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.

    # This snippet has been automatically generated and should be regarded as a
    # code template only.
    # It will require modifications to work:
    # - It may require correct/in-range values for request initialization.
    # - It may require specifying regional endpoints when creating the service
    #   client as shown in:
    #   https://googleapis.dev/python/google-api-core/latest/client_options.html
    from google.cloud import https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest

    def sample_list_purchasable_skus():
        # Create a client
        client = https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest.https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.services.cloud_channel_service.CloudChannelServiceClient.html()

        # Initialize request argument(s)
        create_entitlement_purchase = https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest.CreateEntitlementPurchase()
        create_entitlement_purchase.product = "product_value"

        request = https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest.https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.types.ListPurchasableSkusRequest.html(
            create_entitlement_purchase=create_entitlement_purchase,
            customer="customer_value",
        )

        # Make the request
        page_result = client.https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.services.cloud_channel_service.CloudChannelServiceClient.html#google_cloud_channel_v1_services_cloud_channel_service_CloudChannelServiceClient_list_purchasable_skus(request=request)

        # Handle the response
        for response in page_result:
            print(response)

| **Parameters** ||
|---|---|
| **Name** | **Description** |
| `request` | `Union[https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.types.ListPurchasableSkusRequest, dict]` The request object. Request message for ListPurchasableSkus. |
| `retry` | `google.api_core.retry.Retry` Designation of what errors, if any, should be retried. |
| `timeout` | `float` The timeout for this request. |
| `metadata` | `Sequence[Tuple[str, Union[str, bytes]]]` Key/value pairs which should be sent along with the request as metadata. Normally, each value must be of type `str`, but for metadata keys ending with the suffix `-bin`, the corresponding values must be of type `bytes`. |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.services.cloud_channel_service.pagers.ListPurchasableSkusPager` | Response message for ListPurchasableSkus. Iterating over this object will yield results and resolve additional pages automatically. |

### list_sku_group_billable_skus

    list_sku_group_billable_skus(
        request: typing.Optional[
            typing.Union[
                google.cloud.channel_v1.types.service.ListSkuGroupBillableSkusRequest, dict
            ]
        ] = None,
        *,
        parent: typing.Optional[str] = None,
        retry: typing.Optional[
            typing.Union[
                google.api_core.retry.retry_unary.Retry,
                google.api_core.gapic_v1.method._MethodDefault,
            ]
        ] = _MethodDefault._DEFAULT_VALUE,
        timeout: typing.Union[float, object] = _MethodDefault._DEFAULT_VALUE,
        metadata: typing.Sequence[typing.Tuple[str, typing.Union[str, bytes]]] = ()
    ) -> (
        google.cloud.channel_v1.services.cloud_channel_service.pagers.ListSkuGroupBillableSkusPager
    )

Lists the Billable SKUs in a given SKU group.

Possible error codes: PERMISSION_DENIED: If the account making
the request and the account being queried for are different, or
the account doesn't exist. INVALID_ARGUMENT: Missing or invalid
required parameters in the request. INTERNAL: Any non-user error
related to technical issue in the backend. In this case, contact
cloud channel support.

Return Value: If successful, the
xref_BillableSku resources.
The data for each resource is displayed in the ascending order
of:

- xref_BillableSku.service_display_name
- xref_BillableSku.sku_display_name

If unsuccessful, returns an error.

    # This snippet has been automatically generated and should be regarded as a
    # code template only.
    # It will require modifications to work:
    # - It may require correct/in-range values for request initialization.
    # - It may require specifying regional endpoints when creating the service
    #   client as shown in:
    #   https://googleapis.dev/python/google-api-core/latest/client_options.html
    from google.cloud import https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest

    def sample_list_sku_group_billable_skus():
        # Create a client
        client = https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest.https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.services.cloud_channel_service.CloudChannelServiceClient.html()

        # Initialize request argument(s)
        request = https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest.https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.types.ListSkuGroupBillableSkusRequest.html(
            parent="parent_value",
        )

        # Make the request
        page_result = client.https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.services.cloud_channel_service.CloudChannelServiceClient.html#google_cloud_channel_v1_services_cloud_channel_service_CloudChannelServiceClient_list_sku_group_billable_skus(request=request)

        # Handle the response
        for response in page_result:
            print(response)

| **Parameters** ||
|---|---|
| **Name** | **Description** |
| `request` | `Union[https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.types.ListSkuGroupBillableSkusRequest, dict]` The request object. Request message for ListSkuGroupBillableSkus. |
| `parent` | `str` Required. Resource name of the SKU group. Format: accounts/{account}/skuGroups/{sku_group}. This corresponds to the `parent` field on the `request` instance; if `request` is provided, this should not be set. |
| `retry` | `google.api_core.retry.Retry` Designation of what errors, if any, should be retried. |
| `timeout` | `float` The timeout for this request. |
| `metadata` | `Sequence[Tuple[str, Union[str, bytes]]]` Key/value pairs which should be sent along with the request as metadata. Normally, each value must be of type `str`, but for metadata keys ending with the suffix `-bin`, the corresponding values must be of type `bytes`. |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.services.cloud_channel_service.pagers.ListSkuGroupBillableSkusPager` | Response message for ListSkuGroupBillableSkus. Iterating over this object will yield results and resolve additional pages automatically. |

### list_sku_groups

    list_sku_groups(
        request: typing.Optional[
            typing.Union[google.cloud.channel_v1.types.service.ListSkuGroupsRequest, dict]
        ] = None,
        *,
        parent: typing.Optional[str] = None,
        retry: typing.Optional[
            typing.Union[
                google.api_core.retry.retry_unary.Retry,
                google.api_core.gapic_v1.method._MethodDefault,
            ]
        ] = _MethodDefault._DEFAULT_VALUE,
        timeout: typing.Union[float, object] = _MethodDefault._DEFAULT_VALUE,
        metadata: typing.Sequence[typing.Tuple[str, typing.Union[str, bytes]]] = ()
    ) -> google.cloud.channel_v1.services.cloud_channel_service.pagers.ListSkuGroupsPager

Lists the Rebilling supported SKU groups the account is
authorized to sell. Reference:
<https://cloud.google.com/skus/sku-groups>

Possible Error Codes:

- PERMISSION_DENIED: If the account making the request and the account being queried are different, or the account doesn't exist.
- INTERNAL: Any non-user error related to technical issues in the backend. In this case, contact Cloud Channel support.

Return Value: If successful, the
xref_SkuGroup resources. The data
for each resource is displayed in the alphabetical order of SKU
group display name. The data for each resource is displayed in
the ascending order of
xref_SkuGroup.display_name

If unsuccessful, returns an error.

    # This snippet has been automatically generated and should be regarded as a
    # code template only.
    # It will require modifications to work:
    # - It may require correct/in-range values for request initialization.
    # - It may require specifying regional endpoints when creating the service
    #   client as shown in:
    #   https://googleapis.dev/python/google-api-core/latest/client_options.html
    from google.cloud import https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest

    def sample_list_sku_groups():
        # Create a client
        client = https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest.https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.services.cloud_channel_service.CloudChannelServiceClient.html()

        # Initialize request argument(s)
        request = https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest.https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.types.ListSkuGroupsRequest.html(
            parent="parent_value",
        )

        # Make the request
        page_result = client.https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.services.cloud_channel_service.CloudChannelServiceClient.html#google_cloud_channel_v1_services_cloud_channel_service_CloudChannelServiceClient_list_sku_groups(request=request)

        # Handle the response
        for response in page_result:
            print(response)

| **Parameters** ||
|---|---|
| **Name** | **Description** |
| `request` | `Union[https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.types.ListSkuGroupsRequest, dict]` The request object. Request message for ListSkuGroups. |
| `parent` | `str` Required. The resource name of the account from which to list SKU groups. Parent uses the format: accounts/{account}. This corresponds to the `parent` field on the `request` instance; if `request` is provided, this should not be set. |
| `retry` | `google.api_core.retry.Retry` Designation of what errors, if any, should be retried. |
| `timeout` | `float` The timeout for this request. |
| `metadata` | `Sequence[Tuple[str, Union[str, bytes]]]` Key/value pairs which should be sent along with the request as metadata. Normally, each value must be of type `str`, but for metadata keys ending with the suffix `-bin`, the corresponding values must be of type `bytes`. |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.services.cloud_channel_service.pagers.ListSkuGroupsPager` | Response message for ListSkuGroups. Iterating over this object will yield results and resolve additional pages automatically. |

### list_skus

    list_skus(
        request: typing.Optional[
            typing.Union[google.cloud.channel_v1.types.service.ListSkusRequest, dict]
        ] = None,
        *,
        retry: typing.Optional[
            typing.Union[
                google.api_core.retry.retry_unary.Retry,
                google.api_core.gapic_v1.method._MethodDefault,
            ]
        ] = _MethodDefault._DEFAULT_VALUE,
        timeout: typing.Union[float, object] = _MethodDefault._DEFAULT_VALUE,
        metadata: typing.Sequence[typing.Tuple[str, typing.Union[str, bytes]]] = ()
    ) -> google.cloud.channel_v1.services.cloud_channel_service.pagers.ListSkusPager

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

Possible error codes:

- INVALID_ARGUMENT: Required request parameters are missing or invalid.

    # This snippet has been automatically generated and should be regarded as a
    # code template only.
    # It will require modifications to work:
    # - It may require correct/in-range values for request initialization.
    # - It may require specifying regional endpoints when creating the service
    #   client as shown in:
    #   https://googleapis.dev/python/google-api-core/latest/client_options.html
    from google.cloud import https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest

    def sample_list_skus():
        # Create a client
        client = https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest.https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.services.cloud_channel_service.CloudChannelServiceClient.html()

        # Initialize request argument(s)
        request = https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest.https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.types.ListSkusRequest.html(
            parent="parent_value",
            account="account_value",
        )

        # Make the request
        page_result = client.https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.services.cloud_channel_service.CloudChannelServiceClient.html#google_cloud_channel_v1_services_cloud_channel_service_CloudChannelServiceClient_list_skus(request=request)

        # Handle the response
        for response in page_result:
            print(response)

| **Parameters** ||
|---|---|
| **Name** | **Description** |
| `request` | `Union[https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.types.ListSkusRequest, dict]` The request object. Request message for ListSkus. |
| `retry` | `google.api_core.retry.Retry` Designation of what errors, if any, should be retried. |
| `timeout` | `float` The timeout for this request. |
| `metadata` | `Sequence[Tuple[str, Union[str, bytes]]]` Key/value pairs which should be sent along with the request as metadata. Normally, each value must be of type `str`, but for metadata keys ending with the suffix `-bin`, the corresponding values must be of type `bytes`. |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.services.cloud_channel_service.pagers.ListSkusPager` | Response message for ListSkus. Iterating over this object will yield results and resolve additional pages automatically. |

### list_subscribers

    list_subscribers(
        request: typing.Optional[
            typing.Union[google.cloud.channel_v1.types.service.ListSubscribersRequest, dict]
        ] = None,
        *,
        retry: typing.Optional[
            typing.Union[
                google.api_core.retry.retry_unary.Retry,
                google.api_core.gapic_v1.method._MethodDefault,
            ]
        ] = _MethodDefault._DEFAULT_VALUE,
        timeout: typing.Union[float, object] = _MethodDefault._DEFAULT_VALUE,
        metadata: typing.Sequence[typing.Tuple[str, typing.Union[str, bytes]]] = ()
    ) -> google.cloud.channel_v1.services.cloud_channel_service.pagers.ListSubscribersPager

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

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.

    # This snippet has been automatically generated and should be regarded as a
    # code template only.
    # It will require modifications to work:
    # - It may require correct/in-range values for request initialization.
    # - It may require specifying regional endpoints when creating the service
    #   client as shown in:
    #   https://googleapis.dev/python/google-api-core/latest/client_options.html
    from google.cloud import https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest

    def sample_list_subscribers():
        # Create a client
        client = https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest.https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.services.cloud_channel_service.CloudChannelServiceClient.html()

        # Initialize request argument(s)
        request = https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest.https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.types.ListSubscribersRequest.html(
        )

        # Make the request
        page_result = client.https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.services.cloud_channel_service.CloudChannelServiceClient.html#google_cloud_channel_v1_services_cloud_channel_service_CloudChannelServiceClient_list_subscribers(request=request)

        # Handle the response
        for response in page_result:
            print(response)

| **Parameters** ||
|---|---|
| **Name** | **Description** |
| `request` | `Union[https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.types.ListSubscribersRequest, dict]` The request object. Request Message for ListSubscribers. |
| `retry` | `google.api_core.retry.Retry` Designation of what errors, if any, should be retried. |
| `timeout` | `float` The timeout for this request. |
| `metadata` | `Sequence[Tuple[str, Union[str, bytes]]]` Key/value pairs which should be sent along with the request as metadata. Normally, each value must be of type `str`, but for metadata keys ending with the suffix `-bin`, the corresponding values must be of type `bytes`. |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.services.cloud_channel_service.pagers.ListSubscribersPager` | Response Message for ListSubscribers. Iterating over this object will yield results and resolve additional pages automatically. |

### list_transferable_offers

    list_transferable_offers(
        request: typing.Optional[
            typing.Union[
                google.cloud.channel_v1.types.service.ListTransferableOffersRequest, dict
            ]
        ] = None,
        *,
        retry: typing.Optional[
            typing.Union[
                google.api_core.retry.retry_unary.Retry,
                google.api_core.gapic_v1.method._MethodDefault,
            ]
        ] = _MethodDefault._DEFAULT_VALUE,
        timeout: typing.Union[float, object] = _MethodDefault._DEFAULT_VALUE,
        metadata: typing.Sequence[typing.Tuple[str, typing.Union[str, bytes]]] = ()
    ) -> (
        google.cloud.channel_v1.services.cloud_channel_service.pagers.ListTransferableOffersPager
    )

List
xref_TransferableOffers
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 customer provided incorrect reseller information when generating auth token.
  - The reseller account making the request is different from the reseller account in the query.
  - The reseller is not authorized to transact on this Product. See <https://support.google.com/channelservices/answer/9759265>
- INVALID_ARGUMENT: Required request parameters are missing or
  invalid.

Return value: List of
xref_TransferableOffer
for the given customer and SKU.

    # This snippet has been automatically generated and should be regarded as a
    # code template only.
    # It will require modifications to work:
    # - It may require correct/in-range values for request initialization.
    # - It may require specifying regional endpoints when creating the service
    #   client as shown in:
    #   https://googleapis.dev/python/google-api-core/latest/client_options.html
    from google.cloud import https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest

    def sample_list_transferable_offers():
        # Create a client
        client = https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest.https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.services.cloud_channel_service.CloudChannelServiceClient.html()

        # Initialize request argument(s)
        request = https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest.https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.types.ListTransferableOffersRequest.html(
            cloud_identity_id="cloud_identity_id_value",
            parent="parent_value",
            sku="sku_value",
        )

        # Make the request
        page_result = client.https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.services.cloud_channel_service.CloudChannelServiceClient.html#google_cloud_channel_v1_services_cloud_channel_service_CloudChannelServiceClient_list_transferable_offers(request=request)

        # Handle the response
        for response in page_result:
            print(response)

| **Parameters** ||
|---|---|
| **Name** | **Description** |
| `request` | `Union[https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.types.ListTransferableOffersRequest, dict]` The request object. Request message for CloudChannelService.ListTransferableOffers |
| `retry` | `google.api_core.retry.Retry` Designation of what errors, if any, should be retried. |
| `timeout` | `float` The timeout for this request. |
| `metadata` | `Sequence[Tuple[str, Union[str, bytes]]]` Key/value pairs which should be sent along with the request as metadata. Normally, each value must be of type `str`, but for metadata keys ending with the suffix `-bin`, the corresponding values must be of type `bytes`. |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.services.cloud_channel_service.pagers.ListTransferableOffersPager` | Response message for CloudChannelService.ListTransferableOffers. Iterating over this object will yield results and resolve additional pages automatically. |

### list_transferable_skus

    list_transferable_skus(
        request: typing.Optional[
            typing.Union[
                google.cloud.channel_v1.types.service.ListTransferableSkusRequest, dict
            ]
        ] = None,
        *,
        retry: typing.Optional[
            typing.Union[
                google.api_core.retry.retry_unary.Retry,
                google.api_core.gapic_v1.method._MethodDefault,
            ]
        ] = _MethodDefault._DEFAULT_VALUE,
        timeout: typing.Union[float, object] = _MethodDefault._DEFAULT_VALUE,
        metadata: typing.Sequence[typing.Tuple[str, typing.Union[str, bytes]]] = ()
    ) -> (
        google.cloud.channel_v1.services.cloud_channel_service.pagers.ListTransferableSkusPager
    )

List xref_TransferableSkus
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
xref_TransferableSku.

    # This snippet has been automatically generated and should be regarded as a
    # code template only.
    # It will require modifications to work:
    # - It may require correct/in-range values for request initialization.
    # - It may require specifying regional endpoints when creating the service
    #   client as shown in:
    #   https://googleapis.dev/python/google-api-core/latest/client_options.html
    from google.cloud import https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest

    def sample_list_transferable_skus():
        # Create a client
        client = https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest.https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.services.cloud_channel_service.CloudChannelServiceClient.html()

        # Initialize request argument(s)
        request = https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest.https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.types.ListTransferableSkusRequest.html(
            cloud_identity_id="cloud_identity_id_value",
            parent="parent_value",
        )

        # Make the request
        page_result = client.https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.services.cloud_channel_service.CloudChannelServiceClient.html#google_cloud_channel_v1_services_cloud_channel_service_CloudChannelServiceClient_list_transferable_skus(request=request)

        # Handle the response
        for response in page_result:
            print(response)

| **Parameters** ||
|---|---|
| **Name** | **Description** |
| `request` | `Union[https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.types.ListTransferableSkusRequest, dict]` The request object. Request message for CloudChannelService.ListTransferableSkus |
| `retry` | `google.api_core.retry.Retry` Designation of what errors, if any, should be retried. |
| `timeout` | `float` The timeout for this request. |
| `metadata` | `Sequence[Tuple[str, Union[str, bytes]]]` Key/value pairs which should be sent along with the request as metadata. Normally, each value must be of type `str`, but for metadata keys ending with the suffix `-bin`, the corresponding values must be of type `bytes`. |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.services.cloud_channel_service.pagers.ListTransferableSkusPager` | Response message for CloudChannelService.ListTransferableSkus. Iterating over this object will yield results and resolve additional pages automatically. |

### lookup_offer

    lookup_offer(
        request: typing.Optional[
            typing.Union[google.cloud.channel_v1.types.service.LookupOfferRequest, dict]
        ] = None,
        *,
        retry: typing.Optional[
            typing.Union[
                google.api_core.retry.retry_unary.Retry,
                google.api_core.gapic_v1.method._MethodDefault,
            ]
        ] = _MethodDefault._DEFAULT_VALUE,
        timeout: typing.Union[float, object] = _MethodDefault._DEFAULT_VALUE,
        metadata: typing.Sequence[typing.Tuple[str, typing.Union[str, bytes]]] = ()
    ) -> google.cloud.channel_v1.types.offers.Offer

Returns the requested xref_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 xref_Offer
resource.

    # This snippet has been automatically generated and should be regarded as a
    # code template only.
    # It will require modifications to work:
    # - It may require correct/in-range values for request initialization.
    # - It may require specifying regional endpoints when creating the service
    #   client as shown in:
    #   https://googleapis.dev/python/google-api-core/latest/client_options.html
    from google.cloud import https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest

    def sample_lookup_offer():
        # Create a client
        client = https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest.https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.services.cloud_channel_service.CloudChannelServiceClient.html()

        # Initialize request argument(s)
        request = https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest.https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.types.LookupOfferRequest.html(
            entitlement="entitlement_value",
        )

        # Make the request
        response = client.https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.services.cloud_channel_service.CloudChannelServiceClient.html#google_cloud_channel_v1_services_cloud_channel_service_CloudChannelServiceClient_lookup_offer(request=request)

        # Handle the response
        print(response)

| **Parameters** ||
|---|---|
| **Name** | **Description** |
| `request` | `Union[https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.types.LookupOfferRequest, dict]` The request object. Request message for LookupOffer. |
| `retry` | `google.api_core.retry.Retry` Designation of what errors, if any, should be retried. |
| `timeout` | `float` The timeout for this request. |
| `metadata` | `Sequence[Tuple[str, Union[str, bytes]]]` Key/value pairs which should be sent along with the request as metadata. Normally, each value must be of type `str`, but for metadata keys ending with the suffix `-bin`, the corresponding values must be of type `bytes`. |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.types.Offer` | Represents an offer made to resellers for purchase. An offer is associated with a Sku, has a plan for payment, a price, and defines the constraints for buying. |

### offer_path

    offer_path(account: str, offer: str) -> str

Returns a fully-qualified offer string.

### parse_account_path

    parse_account_path(path: str) -> typing.Dict[str, str]

Parses a account path into its component segments.

### parse_billing_account_path

    parse_billing_account_path(path: str) -> typing.Dict[str, str]

Parses a billing_account path into its component segments.

### parse_channel_partner_link_path

    parse_channel_partner_link_path(path: str) -> typing.Dict[str, str]

Parses a channel_partner_link path into its component segments.

### parse_channel_partner_repricing_config_path

    parse_channel_partner_repricing_config_path(path: str) -> typing.Dict[str, str]

Parses a channel_partner_repricing_config path into its component segments.

### parse_common_billing_account_path

    parse_common_billing_account_path(path: str) -> typing.Dict[str, str]

Parse a billing_account path into its component segments.

### parse_common_folder_path

    parse_common_folder_path(path: str) -> typing.Dict[str, str]

Parse a folder path into its component segments.

### parse_common_location_path

    parse_common_location_path(path: str) -> typing.Dict[str, str]

Parse a location path into its component segments.

### parse_common_organization_path

    parse_common_organization_path(path: str) -> typing.Dict[str, str]

Parse a organization path into its component segments.

### parse_common_project_path

    parse_common_project_path(path: str) -> typing.Dict[str, str]

Parse a project path into its component segments.

### parse_customer_path

    parse_customer_path(path: str) -> typing.Dict[str, str]

Parses a customer path into its component segments.

### parse_customer_repricing_config_path

    parse_customer_repricing_config_path(path: str) -> typing.Dict[str, str]

Parses a customer_repricing_config path into its component segments.

### parse_entitlement_path

    parse_entitlement_path(path: str) -> typing.Dict[str, str]

Parses a entitlement path into its component segments.

### parse_offer_path

    parse_offer_path(path: str) -> typing.Dict[str, str]

Parses a offer path into its component segments.

### parse_product_path

    parse_product_path(path: str) -> typing.Dict[str, str]

Parses a product path into its component segments.

### parse_sku_group_path

    parse_sku_group_path(path: str) -> typing.Dict[str, str]

Parses a sku_group path into its component segments.

### parse_sku_path

    parse_sku_path(path: str) -> typing.Dict[str, str]

Parses a sku path into its component segments.

### product_path

    product_path(product: str) -> str

Returns a fully-qualified product string.

### provision_cloud_identity

    provision_cloud_identity(
        request: typing.Optional[
            typing.Union[
                google.cloud.channel_v1.types.service.ProvisionCloudIdentityRequest, dict
            ]
        ] = None,
        *,
        retry: typing.Optional[
            typing.Union[
                google.api_core.retry.retry_unary.Retry,
                google.api_core.gapic_v1.method._MethodDefault,
            ]
        ] = _MethodDefault._DEFAULT_VALUE,
        timeout: typing.Union[float, object] = _MethodDefault._DEFAULT_VALUE,
        metadata: typing.Sequence[typing.Tuple[str, typing.Union[str, bytes]]] = ()
    ) -> google.api_core.operation.Operation

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.
  - You are not authorized to provision cloud identity id. See <https://support.google.com/channelservices/answer/9759265>
- 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
xref_OperationMetadata.

    # This snippet has been automatically generated and should be regarded as a
    # code template only.
    # It will require modifications to work:
    # - It may require correct/in-range values for request initialization.
    # - It may require specifying regional endpoints when creating the service
    #   client as shown in:
    #   https://googleapis.dev/python/google-api-core/latest/client_options.html
    from google.cloud import https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest

    def sample_provision_cloud_identity():
        # Create a client
        client = https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest.https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.services.cloud_channel_service.CloudChannelServiceClient.html()

        # Initialize request argument(s)
        request = https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest.https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.types.ProvisionCloudIdentityRequest.html(
            customer="customer_value",
        )

        # Make the request
        operation = client.https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.services.cloud_channel_service.CloudChannelServiceClient.html#google_cloud_channel_v1_services_cloud_channel_service_CloudChannelServiceClient_provision_cloud_identity(request=request)

        print("Waiting for operation to complete...")

        response = operation.result()

        # Handle the response
        print(response)

| **Parameters** ||
|---|---|
| **Name** | **Description** |
| `request` | `Union[https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.types.ProvisionCloudIdentityRequest, dict]` The request object. Request message for CloudChannelService.ProvisionCloudIdentity |
| `retry` | `google.api_core.retry.Retry` Designation of what errors, if any, should be retried. |
| `timeout` | `float` The timeout for this request. |
| `metadata` | `Sequence[Tuple[str, Union[str, bytes]]]` Key/value pairs which should be sent along with the request as metadata. Normally, each value must be of type `str`, but for metadata keys ending with the suffix `-bin`, the corresponding values must be of type `bytes`. |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `google.api_core.operation.Operation` | An object representing a long-running operation. The result type for the operation will be [Customer](https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.types.Customer) Entity representing a customer of a reseller or distributor. |

### query_eligible_billing_accounts

    query_eligible_billing_accounts(
        request: typing.Optional[
            typing.Union[
                google.cloud.channel_v1.types.service.QueryEligibleBillingAccountsRequest,
                dict,
            ]
        ] = None,
        *,
        retry: typing.Optional[
            typing.Union[
                google.api_core.retry.retry_unary.Retry,
                google.api_core.gapic_v1.method._MethodDefault,
            ]
        ] = _MethodDefault._DEFAULT_VALUE,
        timeout: typing.Union[float, object] = _MethodDefault._DEFAULT_VALUE,
        metadata: typing.Sequence[typing.Tuple[str, typing.Union[str, bytes]]] = ()
    ) -> google.cloud.channel_v1.types.service.QueryEligibleBillingAccountsResponse

Lists the billing accounts that are eligible to purchase
particular SKUs for a given 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: Based on the provided list of SKUs, returns a list
of SKU groups that must be purchased using the same billing
account and the billing accounts eligible to purchase each SKU
group.

    # This snippet has been automatically generated and should be regarded as a
    # code template only.
    # It will require modifications to work:
    # - It may require correct/in-range values for request initialization.
    # - It may require specifying regional endpoints when creating the service
    #   client as shown in:
    #   https://googleapis.dev/python/google-api-core/latest/client_options.html
    from google.cloud import https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest

    def sample_query_eligible_billing_accounts():
        # Create a client
        client = https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest.https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.services.cloud_channel_service.CloudChannelServiceClient.html()

        # Initialize request argument(s)
        request = https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest.https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.types.QueryEligibleBillingAccountsRequest.html(
            customer="customer_value",
            skus=['skus_value1', 'skus_value2'],
        )

        # Make the request
        response = client.https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.services.cloud_channel_service.CloudChannelServiceClient.html#google_cloud_channel_v1_services_cloud_channel_service_CloudChannelServiceClient_query_eligible_billing_accounts(request=request)

        # Handle the response
        print(response)

| **Parameters** ||
|---|---|
| **Name** | **Description** |
| `request` | `Union[https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.types.QueryEligibleBillingAccountsRequest, dict]` The request object. Request message for QueryEligibleBillingAccounts. |
| `retry` | `google.api_core.retry.Retry` Designation of what errors, if any, should be retried. |
| `timeout` | `float` The timeout for this request. |
| `metadata` | `Sequence[Tuple[str, Union[str, bytes]]]` Key/value pairs which should be sent along with the request as metadata. Normally, each value must be of type `str`, but for metadata keys ending with the suffix `-bin`, the corresponding values must be of type `bytes`. |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.types.QueryEligibleBillingAccountsResponse` | Response message for QueryEligibleBillingAccounts. |

### register_subscriber

    register_subscriber(
        request: typing.Optional[
            typing.Union[
                google.cloud.channel_v1.types.service.RegisterSubscriberRequest, dict
            ]
        ] = None,
        *,
        retry: typing.Optional[
            typing.Union[
                google.api_core.retry.retry_unary.Retry,
                google.api_core.gapic_v1.method._MethodDefault,
            ]
        ] = _MethodDefault._DEFAULT_VALUE,
        timeout: typing.Union[float, object] = _MethodDefault._DEFAULT_VALUE,
        metadata: typing.Sequence[typing.Tuple[str, typing.Union[str, bytes]]] = ()
    ) -> google.cloud.channel_v1.types.service.RegisterSubscriberResponse

Registers a service account with subscriber privileges on the
Pub/Sub topic for this Channel Services account or integrator.
After you create a subscriber, you get the events through
xref_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.

    # This snippet has been automatically generated and should be regarded as a
    # code template only.
    # It will require modifications to work:
    # - It may require correct/in-range values for request initialization.
    # - It may require specifying regional endpoints when creating the service
    #   client as shown in:
    #   https://googleapis.dev/python/google-api-core/latest/client_options.html
    from google.cloud import https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest

    def sample_register_subscriber():
        # Create a client
        client = https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest.https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.services.cloud_channel_service.CloudChannelServiceClient.html()

        # Initialize request argument(s)
        request = https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest.https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.types.RegisterSubscriberRequest.html(
            service_account="service_account_value",
        )

        # Make the request
        response = client.https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.services.cloud_channel_service.CloudChannelServiceClient.html#google_cloud_channel_v1_services_cloud_channel_service_CloudChannelServiceClient_register_subscriber(request=request)

        # Handle the response
        print(response)

| **Parameters** ||
|---|---|
| **Name** | **Description** |
| `request` | `Union[https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.types.RegisterSubscriberRequest, dict]` The request object. Request Message for RegisterSubscriber. |
| `retry` | `google.api_core.retry.Retry` Designation of what errors, if any, should be retried. |
| `timeout` | `float` The timeout for this request. |
| `metadata` | `Sequence[Tuple[str, Union[str, bytes]]]` Key/value pairs which should be sent along with the request as metadata. Normally, each value must be of type `str`, but for metadata keys ending with the suffix `-bin`, the corresponding values must be of type `bytes`. |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.types.RegisterSubscriberResponse` | Response Message for RegisterSubscriber. |

### sku_group_path

    sku_group_path(account: str, sku_group: str) -> str

Returns a fully-qualified sku_group string.

### sku_path

    sku_path(product: str, sku: str) -> str

Returns a fully-qualified sku string.

### start_paid_service

    start_paid_service(
        request: typing.Optional[
            typing.Union[
                google.cloud.channel_v1.types.service.StartPaidServiceRequest, dict
            ]
        ] = None,
        *,
        retry: typing.Optional[
            typing.Union[
                google.api_core.retry.retry_unary.Retry,
                google.api_core.gapic_v1.method._MethodDefault,
            ]
        ] = _MethodDefault._DEFAULT_VALUE,
        timeout: typing.Union[float, object] = _MethodDefault._DEFAULT_VALUE,
        metadata: typing.Sequence[typing.Tuple[str, typing.Union[str, bytes]]] = ()
    ) -> google.api_core.operation.Operation

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
xref_OperationMetadata.

    # This snippet has been automatically generated and should be regarded as a
    # code template only.
    # It will require modifications to work:
    # - It may require correct/in-range values for request initialization.
    # - It may require specifying regional endpoints when creating the service
    #   client as shown in:
    #   https://googleapis.dev/python/google-api-core/latest/client_options.html
    from google.cloud import https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest

    def sample_start_paid_service():
        # Create a client
        client = https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest.https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.services.cloud_channel_service.CloudChannelServiceClient.html()

        # Initialize request argument(s)
        request = https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest.https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.types.StartPaidServiceRequest.html(
            name="name_value",
        )

        # Make the request
        operation = client.https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.services.cloud_channel_service.CloudChannelServiceClient.html#google_cloud_channel_v1_services_cloud_channel_service_CloudChannelServiceClient_start_paid_service(request=request)

        print("Waiting for operation to complete...")

        response = operation.result()

        # Handle the response
        print(response)

| **Parameters** ||
|---|---|
| **Name** | **Description** |
| `request` | `Union[https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.types.StartPaidServiceRequest, dict]` The request object. Request message for CloudChannelService.StartPaidService. |
| `retry` | `google.api_core.retry.Retry` Designation of what errors, if any, should be retried. |
| `timeout` | `float` The timeout for this request. |
| `metadata` | `Sequence[Tuple[str, Union[str, bytes]]]` Key/value pairs which should be sent along with the request as metadata. Normally, each value must be of type `str`, but for metadata keys ending with the suffix `-bin`, the corresponding values must be of type `bytes`. |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `google.api_core.operation.Operation` | An object representing a long-running operation. The result type for the operation will be [Entitlement](https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.types.Entitlement) An entitlement is a representation of a customer's ability to use a service. |

### suspend_entitlement

    suspend_entitlement(
        request: typing.Optional[
            typing.Union[
                google.cloud.channel_v1.types.service.SuspendEntitlementRequest, dict
            ]
        ] = None,
        *,
        retry: typing.Optional[
            typing.Union[
                google.api_core.retry.retry_unary.Retry,
                google.api_core.gapic_v1.method._MethodDefault,
            ]
        ] = _MethodDefault._DEFAULT_VALUE,
        timeout: typing.Union[float, object] = _MethodDefault._DEFAULT_VALUE,
        metadata: typing.Sequence[typing.Tuple[str, typing.Union[str, bytes]]] = ()
    ) -> google.api_core.operation.Operation

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
xref_OperationMetadata.

    # This snippet has been automatically generated and should be regarded as a
    # code template only.
    # It will require modifications to work:
    # - It may require correct/in-range values for request initialization.
    # - It may require specifying regional endpoints when creating the service
    #   client as shown in:
    #   https://googleapis.dev/python/google-api-core/latest/client_options.html
    from google.cloud import https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest

    def sample_suspend_entitlement():
        # Create a client
        client = https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest.https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.services.cloud_channel_service.CloudChannelServiceClient.html()

        # Initialize request argument(s)
        request = https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest.https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.types.SuspendEntitlementRequest.html(
            name="name_value",
        )

        # Make the request
        operation = client.https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.services.cloud_channel_service.CloudChannelServiceClient.html#google_cloud_channel_v1_services_cloud_channel_service_CloudChannelServiceClient_suspend_entitlement(request=request)

        print("Waiting for operation to complete...")

        response = operation.result()

        # Handle the response
        print(response)

| **Parameters** ||
|---|---|
| **Name** | **Description** |
| `request` | `Union[https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.types.SuspendEntitlementRequest, dict]` The request object. Request message for CloudChannelService.SuspendEntitlement. |
| `retry` | `google.api_core.retry.Retry` Designation of what errors, if any, should be retried. |
| `timeout` | `float` The timeout for this request. |
| `metadata` | `Sequence[Tuple[str, Union[str, bytes]]]` Key/value pairs which should be sent along with the request as metadata. Normally, each value must be of type `str`, but for metadata keys ending with the suffix `-bin`, the corresponding values must be of type `bytes`. |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `google.api_core.operation.Operation` | An object representing a long-running operation. The result type for the operation will be [Entitlement](https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.types.Entitlement) An entitlement is a representation of a customer's ability to use a service. |

### transfer_entitlements

    transfer_entitlements(
        request: typing.Optional[
            typing.Union[
                google.cloud.channel_v1.types.service.TransferEntitlementsRequest, dict
            ]
        ] = None,
        *,
        retry: typing.Optional[
            typing.Union[
                google.api_core.retry.retry_unary.Retry,
                google.api_core.gapic_v1.method._MethodDefault,
            ]
        ] = _MethodDefault._DEFAULT_VALUE,
        timeout: typing.Union[float, object] = _MethodDefault._DEFAULT_VALUE,
        metadata: typing.Sequence[typing.Tuple[str, typing.Union[str, bytes]]] = ()
    ) -> google.api_core.operation.Operation

Transfers customer entitlements to new reseller.

Possible error codes:

- PERMISSION_DENIED:

  - The customer doesn't belong to the reseller.
  - The reseller is not authorized to transact on this Product. See <https://support.google.com/channelservices/answer/9759265>
- 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
xref_OperationMetadata.

    # This snippet has been automatically generated and should be regarded as a
    # code template only.
    # It will require modifications to work:
    # - It may require correct/in-range values for request initialization.
    # - It may require specifying regional endpoints when creating the service
    #   client as shown in:
    #   https://googleapis.dev/python/google-api-core/latest/client_options.html
    from google.cloud import https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest

    def sample_transfer_entitlements():
        # Create a client
        client = https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest.https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.services.cloud_channel_service.CloudChannelServiceClient.html()

        # Initialize request argument(s)
        entitlements = https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest.https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.types.Entitlement.html()
        entitlements.offer = "offer_value"

        request = https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest.https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.types.TransferEntitlementsRequest.html(
            parent="parent_value",
            entitlements=entitlements,
        )

        # Make the request
        operation = client.https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.services.cloud_channel_service.CloudChannelServiceClient.html#google_cloud_channel_v1_services_cloud_channel_service_CloudChannelServiceClient_transfer_entitlements(request=request)

        print("Waiting for operation to complete...")

        response = operation.result()

        # Handle the response
        print(response)

| **Parameters** ||
|---|---|
| **Name** | **Description** |
| `request` | `Union[https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.types.TransferEntitlementsRequest, dict]` The request object. Request message for CloudChannelService.TransferEntitlements. |
| `retry` | `google.api_core.retry.Retry` Designation of what errors, if any, should be retried. |
| `timeout` | `float` The timeout for this request. |
| `metadata` | `Sequence[Tuple[str, Union[str, bytes]]]` Key/value pairs which should be sent along with the request as metadata. Normally, each value must be of type `str`, but for metadata keys ending with the suffix `-bin`, the corresponding values must be of type `bytes`. |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `google.api_core.operation.Operation` | An object representing a long-running operation. The result type for the operation will be [TransferEntitlementsResponse](https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.types.TransferEntitlementsResponse) Response message for CloudChannelService.TransferEntitlements. This is put in the response field of google.longrunning.Operation. |

### transfer_entitlements_to_google

    transfer_entitlements_to_google(
        request: typing.Optional[
            typing.Union[
                google.cloud.channel_v1.types.service.TransferEntitlementsToGoogleRequest,
                dict,
            ]
        ] = None,
        *,
        retry: typing.Optional[
            typing.Union[
                google.api_core.retry.retry_unary.Retry,
                google.api_core.gapic_v1.method._MethodDefault,
            ]
        ] = _MethodDefault._DEFAULT_VALUE,
        timeout: typing.Union[float, object] = _MethodDefault._DEFAULT_VALUE,
        metadata: typing.Sequence[typing.Tuple[str, typing.Union[str, bytes]]] = ()
    ) -> google.api_core.operation.Operation

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
xref_OperationMetadata.

    # This snippet has been automatically generated and should be regarded as a
    # code template only.
    # It will require modifications to work:
    # - It may require correct/in-range values for request initialization.
    # - It may require specifying regional endpoints when creating the service
    #   client as shown in:
    #   https://googleapis.dev/python/google-api-core/latest/client_options.html
    from google.cloud import https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest

    def sample_transfer_entitlements_to_google():
        # Create a client
        client = https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest.https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.services.cloud_channel_service.CloudChannelServiceClient.html()

        # Initialize request argument(s)
        entitlements = https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest.https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.types.Entitlement.html()
        entitlements.offer = "offer_value"

        request = https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest.https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.types.TransferEntitlementsToGoogleRequest.html(
            parent="parent_value",
            entitlements=entitlements,
        )

        # Make the request
        operation = client.https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.services.cloud_channel_service.CloudChannelServiceClient.html#google_cloud_channel_v1_services_cloud_channel_service_CloudChannelServiceClient_transfer_entitlements_to_google(request=request)

        print("Waiting for operation to complete...")

        response = operation.result()

        # Handle the response
        print(response)

| **Parameters** ||
|---|---|
| **Name** | **Description** |
| `request` | `Union[https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.types.TransferEntitlementsToGoogleRequest, dict]` The request object. Request message for CloudChannelService.TransferEntitlementsToGoogle. |
| `retry` | `google.api_core.retry.Retry` Designation of what errors, if any, should be retried. |
| `timeout` | `float` The timeout for this request. |
| `metadata` | `Sequence[Tuple[str, Union[str, bytes]]]` Key/value pairs which should be sent along with the request as metadata. Normally, each value must be of type `str`, but for metadata keys ending with the suffix `-bin`, the corresponding values must be of type `bytes`. |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `google.api_core.operation.Operation` | An object representing a long-running operation. The result type for the operation will be `google.protobuf.empty_pb2.Empty` A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } |

### unregister_subscriber

    unregister_subscriber(
        request: typing.Optional[
            typing.Union[
                google.cloud.channel_v1.types.service.UnregisterSubscriberRequest, dict
            ]
        ] = None,
        *,
        retry: typing.Optional[
            typing.Union[
                google.api_core.retry.retry_unary.Retry,
                google.api_core.gapic_v1.method._MethodDefault,
            ]
        ] = _MethodDefault._DEFAULT_VALUE,
        timeout: typing.Union[float, object] = _MethodDefault._DEFAULT_VALUE,
        metadata: typing.Sequence[typing.Tuple[str, typing.Union[str, bytes]]] = ()
    ) -> google.cloud.channel_v1.types.service.UnregisterSubscriberResponse

Unregisters a service account with subscriber privileges on the
Pub/Sub topic created for this Channel Services account or
integrator. 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.

    # This snippet has been automatically generated and should be regarded as a
    # code template only.
    # It will require modifications to work:
    # - It may require correct/in-range values for request initialization.
    # - It may require specifying regional endpoints when creating the service
    #   client as shown in:
    #   https://googleapis.dev/python/google-api-core/latest/client_options.html
    from google.cloud import https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest

    def sample_unregister_subscriber():
        # Create a client
        client = https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest.https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.services.cloud_channel_service.CloudChannelServiceClient.html()

        # Initialize request argument(s)
        request = https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest.https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.types.UnregisterSubscriberRequest.html(
            service_account="service_account_value",
        )

        # Make the request
        response = client.https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.services.cloud_channel_service.CloudChannelServiceClient.html#google_cloud_channel_v1_services_cloud_channel_service_CloudChannelServiceClient_unregister_subscriber(request=request)

        # Handle the response
        print(response)

| **Parameters** ||
|---|---|
| **Name** | **Description** |
| `request` | `Union[https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.types.UnregisterSubscriberRequest, dict]` The request object. Request Message for UnregisterSubscriber. |
| `retry` | `google.api_core.retry.Retry` Designation of what errors, if any, should be retried. |
| `timeout` | `float` The timeout for this request. |
| `metadata` | `Sequence[Tuple[str, Union[str, bytes]]]` Key/value pairs which should be sent along with the request as metadata. Normally, each value must be of type `str`, but for metadata keys ending with the suffix `-bin`, the corresponding values must be of type `bytes`. |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.types.UnregisterSubscriberResponse` | Response Message for UnregisterSubscriber. |

### update_channel_partner_link

    update_channel_partner_link(
        request: typing.Optional[
            typing.Union[
                google.cloud.channel_v1.types.service.UpdateChannelPartnerLinkRequest, dict
            ]
        ] = None,
        *,
        retry: typing.Optional[
            typing.Union[
                google.api_core.retry.retry_unary.Retry,
                google.api_core.gapic_v1.method._MethodDefault,
            ]
        ] = _MethodDefault._DEFAULT_VALUE,
        timeout: typing.Union[float, object] = _MethodDefault._DEFAULT_VALUE,
        metadata: typing.Sequence[typing.Tuple[str, typing.Union[str, bytes]]] = ()
    ) -> google.cloud.channel_v1.types.channel_partner_links.ChannelPartnerLink

Updates a channel partner link. Distributors call this method to
change a link's status. For example, to suspend a partner link.
You must be a distributor to call this method.

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.
  - Link state cannot change from invited to active or suspended.
  - Cannot send reseller_cloud_identity_id, invite_url, or name in update mask.
- NOT_FOUND: ChannelPartnerLink 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 updated
xref_ChannelPartnerLink
resource.

    # This snippet has been automatically generated and should be regarded as a
    # code template only.
    # It will require modifications to work:
    # - It may require correct/in-range values for request initialization.
    # - It may require specifying regional endpoints when creating the service
    #   client as shown in:
    #   https://googleapis.dev/python/google-api-core/latest/client_options.html
    from google.cloud import https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest

    def sample_update_channel_partner_link():
        # Create a client
        client = https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest.https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.services.cloud_channel_service.CloudChannelServiceClient.html()

        # Initialize request argument(s)
        channel_partner_link = https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest.https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.types.ChannelPartnerLink.html()
        channel_partner_link.reseller_cloud_identity_id = "reseller_cloud_identity_id_value"
        channel_partner_link.link_state = "SUSPENDED"

        request = https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest.https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.types.UpdateChannelPartnerLinkRequest.html(
            name="name_value",
            channel_partner_link=channel_partner_link,
        )

        # Make the request
        response = client.https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.services.cloud_channel_service.CloudChannelServiceClient.html#google_cloud_channel_v1_services_cloud_channel_service_CloudChannelServiceClient_update_channel_partner_link(request=request)

        # Handle the response
        print(response)

| **Parameters** ||
|---|---|
| **Name** | **Description** |
| `request` | `Union[https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.types.UpdateChannelPartnerLinkRequest, dict]` The request object. Request message for CloudChannelService.UpdateChannelPartnerLink |
| `retry` | `google.api_core.retry.Retry` Designation of what errors, if any, should be retried. |
| `timeout` | `float` The timeout for this request. |
| `metadata` | `Sequence[Tuple[str, Union[str, bytes]]]` Key/value pairs which should be sent along with the request as metadata. Normally, each value must be of type `str`, but for metadata keys ending with the suffix `-bin`, the corresponding values must be of type `bytes`. |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.types.ChannelPartnerLink` | Entity representing a link between distributors and their indirect resellers in an n-tier resale channel. |

### update_channel_partner_repricing_config

    update_channel_partner_repricing_config(
        request: typing.Optional[
            typing.Union[
                google.cloud.channel_v1.types.service.UpdateChannelPartnerRepricingConfigRequest,
                dict,
            ]
        ] = None,
        *,
        channel_partner_repricing_config: typing.Optional[
            google.cloud.channel_v1.types.repricing.ChannelPartnerRepricingConfig
        ] = None,
        retry: typing.Optional[
            typing.Union[
                google.api_core.retry.retry_unary.Retry,
                google.api_core.gapic_v1.method._MethodDefault,
            ]
        ] = _MethodDefault._DEFAULT_VALUE,
        timeout: typing.Union[float, object] = _MethodDefault._DEFAULT_VALUE,
        metadata: typing.Sequence[typing.Tuple[str, typing.Union[str, bytes]]] = ()
    ) -> google.cloud.channel_v1.types.repricing.ChannelPartnerRepricingConfig

Updates a ChannelPartnerRepricingConfig. Call this method to set
modifications for a specific ChannelPartner's bill. This method
overwrites the existing CustomerRepricingConfig.

You can only update configs if the
xref_RepricingConfig.effective_invoice_month
is a future month. To make changes to configs for the current
month, use
xref_CreateChannelPartnerRepricingConfig,
taking note of its restrictions. You cannot update the
xref_RepricingConfig.effective_invoice_month.

When updating a config in the future:

- This config must already exist.

Possible Error Codes:

- PERMISSION_DENIED: If the account making the request and the account being queried are different.
- INVALID_ARGUMENT: Missing or invalid required parameters in the request. Also displays if the updated config is for the current month or past months.
- NOT_FOUND: The xref_ChannelPartnerRepricingConfig specified does not exist or is not associated with the given account.
- INTERNAL: Any non-user error related to technical issues in the backend. In this case, contact Cloud Channel support.

Return Value: If successful, the updated
xref_ChannelPartnerRepricingConfig
resource, otherwise returns an error.

    # This snippet has been automatically generated and should be regarded as a
    # code template only.
    # It will require modifications to work:
    # - It may require correct/in-range values for request initialization.
    # - It may require specifying regional endpoints when creating the service
    #   client as shown in:
    #   https://googleapis.dev/python/google-api-core/latest/client_options.html
    from google.cloud import https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest

    def sample_update_channel_partner_repricing_config():
        # Create a client
        client = https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest.https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.services.cloud_channel_service.CloudChannelServiceClient.html()

        # Initialize request argument(s)
        channel_partner_repricing_config = https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest.https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.types.ChannelPartnerRepricingConfig.html()
        channel_partner_repricing_config.repricing_config.rebilling_basis = "DIRECT_CUSTOMER_COST"

        request = https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest.https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.types.UpdateChannelPartnerRepricingConfigRequest.html(
            channel_partner_repricing_config=channel_partner_repricing_config,
        )

        # Make the request
        response = client.https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.services.cloud_channel_service.CloudChannelServiceClient.html#google_cloud_channel_v1_services_cloud_channel_service_CloudChannelServiceClient_update_channel_partner_repricing_config(request=request)

        # Handle the response
        print(response)

| **Parameters** ||
|---|---|
| **Name** | **Description** |
| `request` | `Union[https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.types.UpdateChannelPartnerRepricingConfigRequest, dict]` The request object. Request message for CloudChannelService.UpdateChannelPartnerRepricingConfig. |
| `channel_partner_repricing_config` | `https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.types.ChannelPartnerRepricingConfig` Required. The ChannelPartnerRepricingConfig object to update. This corresponds to the `channel_partner_repricing_config` field on the `request` instance; if `request` is provided, this should not be set. |
| `retry` | `google.api_core.retry.Retry` Designation of what errors, if any, should be retried. |
| `timeout` | `float` The timeout for this request. |
| `metadata` | `Sequence[Tuple[str, Union[str, bytes]]]` Key/value pairs which should be sent along with the request as metadata. Normally, each value must be of type `str`, but for metadata keys ending with the suffix `-bin`, the corresponding values must be of type `bytes`. |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.types.ChannelPartnerRepricingConfig` | Configuration for how a distributor will rebill a channel partner (also known as a distributor-authorized reseller). |

### update_customer

    update_customer(
        request: typing.Optional[
            typing.Union[google.cloud.channel_v1.types.service.UpdateCustomerRequest, dict]
        ] = None,
        *,
        retry: typing.Optional[
            typing.Union[
                google.api_core.retry.retry_unary.Retry,
                google.api_core.gapic_v1.method._MethodDefault,
            ]
        ] = _MethodDefault._DEFAULT_VALUE,
        timeout: typing.Union[float, object] = _MethodDefault._DEFAULT_VALUE,
        metadata: typing.Sequence[typing.Tuple[str, typing.Union[str, bytes]]] = ()
    ) -> google.cloud.channel_v1.types.customers.Customer

Updates an existing xref_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 xref_Customer resource found for the name in the request.

Return value: The updated
xref_Customer resource.

    # This snippet has been automatically generated and should be regarded as a
    # code template only.
    # It will require modifications to work:
    # - It may require correct/in-range values for request initialization.
    # - It may require specifying regional endpoints when creating the service
    #   client as shown in:
    #   https://googleapis.dev/python/google-api-core/latest/client_options.html
    from google.cloud import https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest

    def sample_update_customer():
        # Create a client
        client = https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest.https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.services.cloud_channel_service.CloudChannelServiceClient.html()

        # Initialize request argument(s)
        customer = https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest.https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.types.Customer.html()
        customer.org_display_name = "org_display_name_value"
        customer.domain = "domain_value"

        request = https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest.https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.types.UpdateCustomerRequest.html(
            customer=customer,
        )

        # Make the request
        response = client.https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.services.cloud_channel_service.CloudChannelServiceClient.html#google_cloud_channel_v1_services_cloud_channel_service_CloudChannelServiceClient_update_customer(request=request)

        # Handle the response
        print(response)

| **Parameters** ||
|---|---|
| **Name** | **Description** |
| `request` | `Union[https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.types.UpdateCustomerRequest, dict]` The request object. Request message for CloudChannelService.UpdateCustomer. |
| `retry` | `google.api_core.retry.Retry` Designation of what errors, if any, should be retried. |
| `timeout` | `float` The timeout for this request. |
| `metadata` | `Sequence[Tuple[str, Union[str, bytes]]]` Key/value pairs which should be sent along with the request as metadata. Normally, each value must be of type `str`, but for metadata keys ending with the suffix `-bin`, the corresponding values must be of type `bytes`. |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.types.Customer` | Entity representing a customer of a reseller or distributor. |

### update_customer_repricing_config

    update_customer_repricing_config(
        request: typing.Optional[
            typing.Union[
                google.cloud.channel_v1.types.service.UpdateCustomerRepricingConfigRequest,
                dict,
            ]
        ] = None,
        *,
        customer_repricing_config: typing.Optional[
            google.cloud.channel_v1.types.repricing.CustomerRepricingConfig
        ] = None,
        retry: typing.Optional[
            typing.Union[
                google.api_core.retry.retry_unary.Retry,
                google.api_core.gapic_v1.method._MethodDefault,
            ]
        ] = _MethodDefault._DEFAULT_VALUE,
        timeout: typing.Union[float, object] = _MethodDefault._DEFAULT_VALUE,
        metadata: typing.Sequence[typing.Tuple[str, typing.Union[str, bytes]]] = ()
    ) -> google.cloud.channel_v1.types.repricing.CustomerRepricingConfig

Updates a CustomerRepricingConfig. Call this method to set
modifications for a specific customer's bill. This method
overwrites the existing CustomerRepricingConfig.

You can only update configs if the
xref_RepricingConfig.effective_invoice_month
is a future month. To make changes to configs for the current
month, use
xref_CreateCustomerRepricingConfig,
taking note of its restrictions. You cannot update the
xref_RepricingConfig.effective_invoice_month.

When updating a config in the future:

- This config must already exist.

Possible Error Codes:

- PERMISSION_DENIED: If the account making the request and the account being queried are different.
- INVALID_ARGUMENT: Missing or invalid required parameters in the request. Also displays if the updated config is for the current month or past months.
- NOT_FOUND: The xref_CustomerRepricingConfig specified does not exist or is not associated with the given account.
- INTERNAL: Any non-user error related to technical issues in the backend. In this case, contact Cloud Channel support.

Return Value: If successful, the updated
xref_CustomerRepricingConfig
resource, otherwise returns an error.

    # This snippet has been automatically generated and should be regarded as a
    # code template only.
    # It will require modifications to work:
    # - It may require correct/in-range values for request initialization.
    # - It may require specifying regional endpoints when creating the service
    #   client as shown in:
    #   https://googleapis.dev/python/google-api-core/latest/client_options.html
    from google.cloud import https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest

    def sample_update_customer_repricing_config():
        # Create a client
        client = https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest.https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.services.cloud_channel_service.CloudChannelServiceClient.html()

        # Initialize request argument(s)
        customer_repricing_config = https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest.https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.types.CustomerRepricingConfig.html()
        customer_repricing_config.repricing_config.rebilling_basis = "DIRECT_CUSTOMER_COST"

        request = https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest.https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.types.UpdateCustomerRepricingConfigRequest.html(
            customer_repricing_config=customer_repricing_config,
        )

        # Make the request
        response = client.https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.services.cloud_channel_service.CloudChannelServiceClient.html#google_cloud_channel_v1_services_cloud_channel_service_CloudChannelServiceClient_update_customer_repricing_config(request=request)

        # Handle the response
        print(response)

| **Parameters** ||
|---|---|
| **Name** | **Description** |
| `request` | `Union[https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.types.UpdateCustomerRepricingConfigRequest, dict]` The request object. Request message for CloudChannelService.UpdateCustomerRepricingConfig. |
| `customer_repricing_config` | `https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.types.CustomerRepricingConfig` Required. The CustomerRepricingConfig object to update. This corresponds to the `customer_repricing_config` field on the `request` instance; if `request` is provided, this should not be set. |
| `retry` | `google.api_core.retry.Retry` Designation of what errors, if any, should be retried. |
| `timeout` | `float` The timeout for this request. |
| `metadata` | `Sequence[Tuple[str, Union[str, bytes]]]` Key/value pairs which should be sent along with the request as metadata. Normally, each value must be of type `str`, but for metadata keys ending with the suffix `-bin`, the corresponding values must be of type `bytes`. |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.cloud.google.com/python/docs/reference/cloudchannel/latest/google.cloud.channel_v1.types.CustomerRepricingConfig` | Configuration for how a reseller will reprice a Customer. |