channel

package
v1.19.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 23, 2024 License: Apache-2.0 Imports: 26 Imported by: 0

Documentation

Overview

Package channel is an auto-generated package for the Cloud Channel API.

The Cloud Channel API enables Google Cloud partners to have a single unified resale platform and APIs across all of Google Cloud including GCP, Workspace, Maps and Chrome.

General documentation

For information that is relevant for all client libraries please reference https://pkg.go.dev/cloud.google.com/go#pkg-overview. Some information on this page includes:

Example usage

To get started with this package, create a client.

ctx := context.Background()
// 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://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
c, err := channel.NewCloudChannelReportsClient(ctx)
if err != nil {
	// TODO: Handle error.
}
defer c.Close()

The client will use your default application credentials. Clients should be reused instead of created as needed. The methods of Client are safe for concurrent use by multiple goroutines. The returned client must be Closed when it is done being used.

Using the Client

The following is an example of making an API call with the newly created client.

ctx := context.Background()
// 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://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
c, err := channel.NewCloudChannelReportsClient(ctx)
if err != nil {
	// TODO: Handle error.
}
defer c.Close()

req := &channelpb.FetchReportResultsRequest{
	// TODO: Fill request struct fields.
	// See https://pkg.go.dev/cloud.google.com/go/channel/apiv1/channelpb#FetchReportResultsRequest.
}
it := c.FetchReportResults(ctx, req)
for {
	resp, err := it.Next()
	if err == iterator.Done {
		break
	}
	if err != nil {
		// TODO: Handle error.
	}
	// TODO: Use resp.
	_ = resp

	// If you need to access the underlying RPC response,
	// you can do so by casting the `Response` as below.
	// Otherwise, remove this line. Only populated after
	// first call to Next(). Not safe for concurrent access.
	_ = it.Response.(*channelpb.FetchReportResultsResponse)
}

Use of Context

The ctx passed to NewCloudChannelReportsClient is used for authentication requests and for creating the underlying connection, but is not used for subsequent calls. Individual methods on the client use the ctx given to them.

To close the open connection, use the Close() method.

Index

Examples

Constants

This section is empty.

Variables

This section is empty.

Functions

func DefaultAuthScopes

func DefaultAuthScopes() []string

DefaultAuthScopes reports the default set of authentication scopes to use with this package.

Types

type ActivateEntitlementOperation

type ActivateEntitlementOperation struct {
	// contains filtered or unexported fields
}

ActivateEntitlementOperation manages a long-running operation from ActivateEntitlement.

func (*ActivateEntitlementOperation) Done

Done reports whether the long-running operation has completed.

func (*ActivateEntitlementOperation) Metadata

Metadata returns metadata associated with the long-running operation. Metadata itself does not contact the server, but Poll does. To get the latest metadata, call this method after a successful call to Poll. If the metadata is not available, the returned metadata and error are both nil.

func (*ActivateEntitlementOperation) Name

Name returns the name of the long-running operation. The name is assigned by the server and is unique within the service from which the operation is created.

func (*ActivateEntitlementOperation) Poll

Poll fetches the latest state of the long-running operation.

Poll also fetches the latest metadata, which can be retrieved by Metadata.

If Poll fails, the error is returned and op is unmodified. If Poll succeeds and the operation has completed with failure, the error is returned and op.Done will return true. If Poll succeeds and the operation has completed successfully, op.Done will return true, and the response of the operation is returned. If Poll succeeds and the operation has not completed, the returned response and error are both nil.

func (*ActivateEntitlementOperation) Wait

Wait blocks until the long-running operation is completed, returning the response and any errors encountered.

See documentation of Poll for error-handling information.

type BillableSkuIterator added in v1.16.0

type BillableSkuIterator struct {

	// Response is the raw response for the current page.
	// It must be cast to the RPC response type.
	// Calling Next() or InternalFetch() updates this value.
	Response interface{}

	// InternalFetch is for use by the Google Cloud Libraries only.
	// It is not part of the stable interface of this package.
	//
	// InternalFetch returns results from a single call to the underlying RPC.
	// The number of results is no greater than pageSize.
	// If there are no more results, nextPageToken is empty and err is nil.
	InternalFetch func(pageSize int, pageToken string) (results []*channelpb.BillableSku, nextPageToken string, err error)
	// contains filtered or unexported fields
}

BillableSkuIterator manages a stream of *channelpb.BillableSku.

func (*BillableSkuIterator) All added in v1.18.1

All returns an iterator. If an error is returned by the iterator, the iterator will stop after that iteration.

func (*BillableSkuIterator) Next added in v1.16.0

Next returns the next result. Its second return value is iterator.Done if there are no more results. Once Next returns Done, all subsequent calls will return Done.

func (*BillableSkuIterator) PageInfo added in v1.16.0

func (it *BillableSkuIterator) PageInfo() *iterator.PageInfo

PageInfo supports pagination. See the google.golang.org/api/iterator package for details.

type CancelEntitlementOperation

type CancelEntitlementOperation struct {
	// contains filtered or unexported fields
}

CancelEntitlementOperation manages a long-running operation from CancelEntitlement.

func (*CancelEntitlementOperation) Done

func (op *CancelEntitlementOperation) Done() bool

Done reports whether the long-running operation has completed.

func (*CancelEntitlementOperation) Metadata

Metadata returns metadata associated with the long-running operation. Metadata itself does not contact the server, but Poll does. To get the latest metadata, call this method after a successful call to Poll. If the metadata is not available, the returned metadata and error are both nil.

func (*CancelEntitlementOperation) Name

Name returns the name of the long-running operation. The name is assigned by the server and is unique within the service from which the operation is created.

func (*CancelEntitlementOperation) Poll

Poll fetches the latest state of the long-running operation.

Poll also fetches the latest metadata, which can be retrieved by Metadata.

If Poll fails, the error is returned and op is unmodified. If Poll succeeds and the operation has completed with failure, the error is returned and op.Done will return true. If Poll succeeds and the operation has completed successfully, op.Done will return true, and the response of the operation is returned. If Poll succeeds and the operation has not completed, the returned response and error are both nil.

func (*CancelEntitlementOperation) Wait

Wait blocks until the long-running operation is completed, returning the response and any errors encountered.

See documentation of Poll for error-handling information.

type ChangeOfferOperation

type ChangeOfferOperation struct {
	// contains filtered or unexported fields
}

ChangeOfferOperation manages a long-running operation from ChangeOffer.

func (*ChangeOfferOperation) Done

func (op *ChangeOfferOperation) Done() bool

Done reports whether the long-running operation has completed.

func (*ChangeOfferOperation) Metadata

Metadata returns metadata associated with the long-running operation. Metadata itself does not contact the server, but Poll does. To get the latest metadata, call this method after a successful call to Poll. If the metadata is not available, the returned metadata and error are both nil.

func (*ChangeOfferOperation) Name

func (op *ChangeOfferOperation) Name() string

Name returns the name of the long-running operation. The name is assigned by the server and is unique within the service from which the operation is created.

func (*ChangeOfferOperation) Poll

Poll fetches the latest state of the long-running operation.

Poll also fetches the latest metadata, which can be retrieved by Metadata.

If Poll fails, the error is returned and op is unmodified. If Poll succeeds and the operation has completed with failure, the error is returned and op.Done will return true. If Poll succeeds and the operation has completed successfully, op.Done will return true, and the response of the operation is returned. If Poll succeeds and the operation has not completed, the returned response and error are both nil.

func (*ChangeOfferOperation) Wait

Wait blocks until the long-running operation is completed, returning the response and any errors encountered.

See documentation of Poll for error-handling information.

type ChangeParametersOperation

type ChangeParametersOperation struct {
	// contains filtered or unexported fields
}

ChangeParametersOperation manages a long-running operation from ChangeParameters.

func (*ChangeParametersOperation) Done

func (op *ChangeParametersOperation) Done() bool

Done reports whether the long-running operation has completed.

func (*ChangeParametersOperation) Metadata

Metadata returns metadata associated with the long-running operation. Metadata itself does not contact the server, but Poll does. To get the latest metadata, call this method after a successful call to Poll. If the metadata is not available, the returned metadata and error are both nil.

func (*ChangeParametersOperation) Name

func (op *ChangeParametersOperation) Name() string

Name returns the name of the long-running operation. The name is assigned by the server and is unique within the service from which the operation is created.

func (*ChangeParametersOperation) Poll

Poll fetches the latest state of the long-running operation.

Poll also fetches the latest metadata, which can be retrieved by Metadata.

If Poll fails, the error is returned and op is unmodified. If Poll succeeds and the operation has completed with failure, the error is returned and op.Done will return true. If Poll succeeds and the operation has completed successfully, op.Done will return true, and the response of the operation is returned. If Poll succeeds and the operation has not completed, the returned response and error are both nil.

func (*ChangeParametersOperation) Wait

Wait blocks until the long-running operation is completed, returning the response and any errors encountered.

See documentation of Poll for error-handling information.

type ChangeRenewalSettingsOperation

type ChangeRenewalSettingsOperation struct {
	// contains filtered or unexported fields
}

ChangeRenewalSettingsOperation manages a long-running operation from ChangeRenewalSettings.

func (*ChangeRenewalSettingsOperation) Done

Done reports whether the long-running operation has completed.

func (*ChangeRenewalSettingsOperation) Metadata

Metadata returns metadata associated with the long-running operation. Metadata itself does not contact the server, but Poll does. To get the latest metadata, call this method after a successful call to Poll. If the metadata is not available, the returned metadata and error are both nil.

func (*ChangeRenewalSettingsOperation) Name

Name returns the name of the long-running operation. The name is assigned by the server and is unique within the service from which the operation is created.

func (*ChangeRenewalSettingsOperation) Poll

Poll fetches the latest state of the long-running operation.

Poll also fetches the latest metadata, which can be retrieved by Metadata.

If Poll fails, the error is returned and op is unmodified. If Poll succeeds and the operation has completed with failure, the error is returned and op.Done will return true. If Poll succeeds and the operation has completed successfully, op.Done will return true, and the response of the operation is returned. If Poll succeeds and the operation has not completed, the returned response and error are both nil.

func (*ChangeRenewalSettingsOperation) Wait

Wait blocks until the long-running operation is completed, returning the response and any errors encountered.

See documentation of Poll for error-handling information.

type ChannelPartnerLinkIterator

type ChannelPartnerLinkIterator struct {

	// Response is the raw response for the current page.
	// It must be cast to the RPC response type.
	// Calling Next() or InternalFetch() updates this value.
	Response interface{}

	// InternalFetch is for use by the Google Cloud Libraries only.
	// It is not part of the stable interface of this package.
	//
	// InternalFetch returns results from a single call to the underlying RPC.
	// The number of results is no greater than pageSize.
	// If there are no more results, nextPageToken is empty and err is nil.
	InternalFetch func(pageSize int, pageToken string) (results []*channelpb.ChannelPartnerLink, nextPageToken string, err error)
	// contains filtered or unexported fields
}

ChannelPartnerLinkIterator manages a stream of *channelpb.ChannelPartnerLink.

func (*ChannelPartnerLinkIterator) All added in v1.18.1

All returns an iterator. If an error is returned by the iterator, the iterator will stop after that iteration.

func (*ChannelPartnerLinkIterator) Next

Next returns the next result. Its second return value is iterator.Done if there are no more results. Once Next returns Done, all subsequent calls will return Done.

func (*ChannelPartnerLinkIterator) PageInfo

PageInfo supports pagination. See the google.golang.org/api/iterator package for details.

type ChannelPartnerRepricingConfigIterator added in v1.6.0

type ChannelPartnerRepricingConfigIterator struct {

	// Response is the raw response for the current page.
	// It must be cast to the RPC response type.
	// Calling Next() or InternalFetch() updates this value.
	Response interface{}

	// InternalFetch is for use by the Google Cloud Libraries only.
	// It is not part of the stable interface of this package.
	//
	// InternalFetch returns results from a single call to the underlying RPC.
	// The number of results is no greater than pageSize.
	// If there are no more results, nextPageToken is empty and err is nil.
	InternalFetch func(pageSize int, pageToken string) (results []*channelpb.ChannelPartnerRepricingConfig, nextPageToken string, err error)
	// contains filtered or unexported fields
}

ChannelPartnerRepricingConfigIterator manages a stream of *channelpb.ChannelPartnerRepricingConfig.

func (*ChannelPartnerRepricingConfigIterator) All added in v1.18.1

All returns an iterator. If an error is returned by the iterator, the iterator will stop after that iteration.

func (*ChannelPartnerRepricingConfigIterator) Next added in v1.6.0

Next returns the next result. Its second return value is iterator.Done if there are no more results. Once Next returns Done, all subsequent calls will return Done.

func (*ChannelPartnerRepricingConfigIterator) PageInfo added in v1.6.0

PageInfo supports pagination. See the google.golang.org/api/iterator package for details.

type CloudChannelCallOptions

type CloudChannelCallOptions struct {
	ListCustomers                       []gax.CallOption
	GetCustomer                         []gax.CallOption
	CheckCloudIdentityAccountsExist     []gax.CallOption
	CreateCustomer                      []gax.CallOption
	UpdateCustomer                      []gax.CallOption
	DeleteCustomer                      []gax.CallOption
	ImportCustomer                      []gax.CallOption
	ProvisionCloudIdentity              []gax.CallOption
	ListEntitlements                    []gax.CallOption
	ListTransferableSkus                []gax.CallOption
	ListTransferableOffers              []gax.CallOption
	GetEntitlement                      []gax.CallOption
	CreateEntitlement                   []gax.CallOption
	ChangeParameters                    []gax.CallOption
	ChangeRenewalSettings               []gax.CallOption
	ChangeOffer                         []gax.CallOption
	StartPaidService                    []gax.CallOption
	SuspendEntitlement                  []gax.CallOption
	CancelEntitlement                   []gax.CallOption
	ActivateEntitlement                 []gax.CallOption
	TransferEntitlements                []gax.CallOption
	TransferEntitlementsToGoogle        []gax.CallOption
	ListChannelPartnerLinks             []gax.CallOption
	GetChannelPartnerLink               []gax.CallOption
	CreateChannelPartnerLink            []gax.CallOption
	UpdateChannelPartnerLink            []gax.CallOption
	GetCustomerRepricingConfig          []gax.CallOption
	ListCustomerRepricingConfigs        []gax.CallOption
	CreateCustomerRepricingConfig       []gax.CallOption
	UpdateCustomerRepricingConfig       []gax.CallOption
	DeleteCustomerRepricingConfig       []gax.CallOption
	GetChannelPartnerRepricingConfig    []gax.CallOption
	ListChannelPartnerRepricingConfigs  []gax.CallOption
	CreateChannelPartnerRepricingConfig []gax.CallOption
	UpdateChannelPartnerRepricingConfig []gax.CallOption
	DeleteChannelPartnerRepricingConfig []gax.CallOption
	ListSkuGroups                       []gax.CallOption
	ListSkuGroupBillableSkus            []gax.CallOption
	LookupOffer                         []gax.CallOption
	ListProducts                        []gax.CallOption
	ListSkus                            []gax.CallOption
	ListOffers                          []gax.CallOption
	ListPurchasableSkus                 []gax.CallOption
	ListPurchasableOffers               []gax.CallOption
	QueryEligibleBillingAccounts        []gax.CallOption
	RegisterSubscriber                  []gax.CallOption
	UnregisterSubscriber                []gax.CallOption
	ListSubscribers                     []gax.CallOption
	ListEntitlementChanges              []gax.CallOption
	CancelOperation                     []gax.CallOption
	DeleteOperation                     []gax.CallOption
	GetOperation                        []gax.CallOption
	ListOperations                      []gax.CallOption
}

CloudChannelCallOptions contains the retry settings for each method of CloudChannelClient.

type CloudChannelClient

type CloudChannelClient struct {

	// The call options for this service.
	CallOptions *CloudChannelCallOptions

	// LROClient is used internally to handle long-running operations.
	// It is exposed so that its CallOptions can be modified if required.
	// Users should not Close this client.
	LROClient *lroauto.OperationsClient
	// contains filtered or unexported fields
}

CloudChannelClient is a client for interacting with Cloud Channel API. Methods, except Close, may be called concurrently. However, fields must not be modified concurrently with method calls.

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

Using this service:

Resellers and distributors can manage a customer entity.

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

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.

func NewCloudChannelClient

func NewCloudChannelClient(ctx context.Context, opts ...option.ClientOption) (*CloudChannelClient, error)

NewCloudChannelClient creates a new cloud channel service client based on gRPC. The returned client must be Closed when it is done being used to clean up its underlying connections.

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

Using this service:

Resellers and distributors can manage a customer entity.

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

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.
Example
package main

import (
	"context"

	channel "cloud.google.com/go/channel/apiv1"
)

func main() {
	ctx := context.Background()
	// 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://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
	c, err := channel.NewCloudChannelClient(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	defer c.Close()

	// TODO: Use client.
	_ = c
}
Output:

func NewCloudChannelRESTClient added in v1.11.0

func NewCloudChannelRESTClient(ctx context.Context, opts ...option.ClientOption) (*CloudChannelClient, error)

NewCloudChannelRESTClient creates a new cloud channel service rest client.

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

Using this service:

Resellers and distributors can manage a customer entity.

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

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.
Example
package main

import (
	"context"

	channel "cloud.google.com/go/channel/apiv1"
)

func main() {
	ctx := context.Background()
	// 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://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
	c, err := channel.NewCloudChannelRESTClient(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	defer c.Close()

	// TODO: Use client.
	_ = c
}
Output:

func (*CloudChannelClient) ActivateEntitlement

ActivateEntitlement 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 OperationMetadata.

Example
package main

import (
	"context"

	channel "cloud.google.com/go/channel/apiv1"
	channelpb "cloud.google.com/go/channel/apiv1/channelpb"
)

func main() {
	ctx := context.Background()
	// 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://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
	c, err := channel.NewCloudChannelClient(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	defer c.Close()

	req := &channelpb.ActivateEntitlementRequest{
		// TODO: Fill request struct fields.
		// See https://pkg.go.dev/cloud.google.com/go/channel/apiv1/channelpb#ActivateEntitlementRequest.
	}
	op, err := c.ActivateEntitlement(ctx, req)
	if err != nil {
		// TODO: Handle error.
	}

	resp, err := op.Wait(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	// TODO: Use resp.
	_ = resp
}
Output:

func (*CloudChannelClient) ActivateEntitlementOperation

func (c *CloudChannelClient) ActivateEntitlementOperation(name string) *ActivateEntitlementOperation

ActivateEntitlementOperation returns a new ActivateEntitlementOperation from a given name. The name must be that of a previously created ActivateEntitlementOperation, possibly from a different process.

func (*CloudChannelClient) CancelEntitlement

CancelEntitlement 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 OperationMetadata.

Example
package main

import (
	"context"

	channel "cloud.google.com/go/channel/apiv1"
	channelpb "cloud.google.com/go/channel/apiv1/channelpb"
)

func main() {
	ctx := context.Background()
	// 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://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
	c, err := channel.NewCloudChannelClient(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	defer c.Close()

	req := &channelpb.CancelEntitlementRequest{
		// TODO: Fill request struct fields.
		// See https://pkg.go.dev/cloud.google.com/go/channel/apiv1/channelpb#CancelEntitlementRequest.
	}
	op, err := c.CancelEntitlement(ctx, req)
	if err != nil {
		// TODO: Handle error.
	}

	err = op.Wait(ctx)
	if err != nil {
		// TODO: Handle error.
	}
}
Output:

func (*CloudChannelClient) CancelEntitlementOperation

func (c *CloudChannelClient) CancelEntitlementOperation(name string) *CancelEntitlementOperation

CancelEntitlementOperation returns a new CancelEntitlementOperation from a given name. The name must be that of a previously created CancelEntitlementOperation, possibly from a different process.

func (*CloudChannelClient) CancelOperation added in v1.7.0

CancelOperation is a utility method from google.longrunning.Operations.

Example
package main

import (
	"context"

	channel "cloud.google.com/go/channel/apiv1"

	longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb"
)

func main() {
	ctx := context.Background()
	// 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://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
	c, err := channel.NewCloudChannelClient(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	defer c.Close()

	req := &longrunningpb.CancelOperationRequest{
		// TODO: Fill request struct fields.
		// See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#CancelOperationRequest.
	}
	err = c.CancelOperation(ctx, req)
	if err != nil {
		// TODO: Handle error.
	}
}
Output:

func (*CloudChannelClient) ChangeOffer

ChangeOffer 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 OperationMetadata.

Example
package main

import (
	"context"

	channel "cloud.google.com/go/channel/apiv1"
	channelpb "cloud.google.com/go/channel/apiv1/channelpb"
)

func main() {
	ctx := context.Background()
	// 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://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
	c, err := channel.NewCloudChannelClient(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	defer c.Close()

	req := &channelpb.ChangeOfferRequest{
		// TODO: Fill request struct fields.
		// See https://pkg.go.dev/cloud.google.com/go/channel/apiv1/channelpb#ChangeOfferRequest.
	}
	op, err := c.ChangeOffer(ctx, req)
	if err != nil {
		// TODO: Handle error.
	}

	resp, err := op.Wait(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	// TODO: Use resp.
	_ = resp
}
Output:

func (*CloudChannelClient) ChangeOfferOperation

func (c *CloudChannelClient) ChangeOfferOperation(name string) *ChangeOfferOperation

ChangeOfferOperation returns a new ChangeOfferOperation from a given name. The name must be that of a previously created ChangeOfferOperation, possibly from a different process.

func (*CloudChannelClient) ChangeParameters

ChangeParameters 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 OperationMetadata.

Example
package main

import (
	"context"

	channel "cloud.google.com/go/channel/apiv1"
	channelpb "cloud.google.com/go/channel/apiv1/channelpb"
)

func main() {
	ctx := context.Background()
	// 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://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
	c, err := channel.NewCloudChannelClient(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	defer c.Close()

	req := &channelpb.ChangeParametersRequest{
		// TODO: Fill request struct fields.
		// See https://pkg.go.dev/cloud.google.com/go/channel/apiv1/channelpb#ChangeParametersRequest.
	}
	op, err := c.ChangeParameters(ctx, req)
	if err != nil {
		// TODO: Handle error.
	}

	resp, err := op.Wait(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	// TODO: Use resp.
	_ = resp
}
Output:

func (*CloudChannelClient) ChangeParametersOperation

func (c *CloudChannelClient) ChangeParametersOperation(name string) *ChangeParametersOperation

ChangeParametersOperation returns a new ChangeParametersOperation from a given name. The name must be that of a previously created ChangeParametersOperation, possibly from a different process.

func (*CloudChannelClient) ChangeRenewalSettings

ChangeRenewalSettings 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 OperationMetadata.

Example
package main

import (
	"context"

	channel "cloud.google.com/go/channel/apiv1"
	channelpb "cloud.google.com/go/channel/apiv1/channelpb"
)

func main() {
	ctx := context.Background()
	// 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://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
	c, err := channel.NewCloudChannelClient(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	defer c.Close()

	req := &channelpb.ChangeRenewalSettingsRequest{
		// TODO: Fill request struct fields.
		// See https://pkg.go.dev/cloud.google.com/go/channel/apiv1/channelpb#ChangeRenewalSettingsRequest.
	}
	op, err := c.ChangeRenewalSettings(ctx, req)
	if err != nil {
		// TODO: Handle error.
	}

	resp, err := op.Wait(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	// TODO: Use resp.
	_ = resp
}
Output:

func (*CloudChannelClient) ChangeRenewalSettingsOperation

func (c *CloudChannelClient) ChangeRenewalSettingsOperation(name string) *ChangeRenewalSettingsOperation

ChangeRenewalSettingsOperation returns a new ChangeRenewalSettingsOperation from a given name. The name must be that of a previously created ChangeRenewalSettingsOperation, possibly from a different process.

func (*CloudChannelClient) CheckCloudIdentityAccountsExist

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

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

Example
package main

import (
	"context"

	channel "cloud.google.com/go/channel/apiv1"
	channelpb "cloud.google.com/go/channel/apiv1/channelpb"
)

func main() {
	ctx := context.Background()
	// 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://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
	c, err := channel.NewCloudChannelClient(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	defer c.Close()

	req := &channelpb.CheckCloudIdentityAccountsExistRequest{
		// TODO: Fill request struct fields.
		// See https://pkg.go.dev/cloud.google.com/go/channel/apiv1/channelpb#CheckCloudIdentityAccountsExistRequest.
	}
	resp, err := c.CheckCloudIdentityAccountsExist(ctx, req)
	if err != nil {
		// TODO: Handle error.
	}
	// TODO: Use resp.
	_ = resp
}
Output:

func (*CloudChannelClient) Close

func (c *CloudChannelClient) Close() error

Close closes the connection to the API service. The user should invoke this when the client is no longer required.

func (*CloudChannelClient) Connection deprecated

func (c *CloudChannelClient) Connection() *grpc.ClientConn

Connection returns a connection to the API service.

Deprecated: Connections are now pooled so this method does not always return the same resource.

CreateChannelPartnerLink 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 ChannelPartnerLink resource.

func (*CloudChannelClient) CreateChannelPartnerRepricingConfig added in v1.6.0

CreateChannelPartnerRepricingConfig creates a ChannelPartnerRepricingConfig. Call this method to set modifications for a specific ChannelPartner’s bill. You can only create configs if the 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 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
RepricingConfig.EntitlementGranularity.entitlement,
for any
RepricingConfig.effective_invoice_month.

The contained
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
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 ChannelPartnerRepricingConfig resource, otherwise returns an error.

Example
package main

import (
	"context"

	channel "cloud.google.com/go/channel/apiv1"
	channelpb "cloud.google.com/go/channel/apiv1/channelpb"
)

func main() {
	ctx := context.Background()
	// 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://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
	c, err := channel.NewCloudChannelClient(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	defer c.Close()

	req := &channelpb.CreateChannelPartnerRepricingConfigRequest{
		// TODO: Fill request struct fields.
		// See https://pkg.go.dev/cloud.google.com/go/channel/apiv1/channelpb#CreateChannelPartnerRepricingConfigRequest.
	}
	resp, err := c.CreateChannelPartnerRepricingConfig(ctx, req)
	if err != nil {
		// TODO: Handle error.
	}
	// TODO: Use resp.
	_ = resp
}
Output:

func (*CloudChannelClient) CreateCustomer

CreateCustomer creates a new 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 (at 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 Customer resource.

Example
package main

import (
	"context"

	channel "cloud.google.com/go/channel/apiv1"
	channelpb "cloud.google.com/go/channel/apiv1/channelpb"
)

func main() {
	ctx := context.Background()
	// 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://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
	c, err := channel.NewCloudChannelClient(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	defer c.Close()

	req := &channelpb.CreateCustomerRequest{
		// TODO: Fill request struct fields.
		// See https://pkg.go.dev/cloud.google.com/go/channel/apiv1/channelpb#CreateCustomerRequest.
	}
	resp, err := c.CreateCustomer(ctx, req)
	if err != nil {
		// TODO: Handle error.
	}
	// TODO: Use resp.
	_ = resp
}
Output:

func (*CloudChannelClient) CreateCustomerRepricingConfig added in v1.6.0

CreateCustomerRepricingConfig creates a CustomerRepricingConfig. Call this method to set modifications for a specific customer’s bill. You can only create configs if the 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 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
RepricingConfig.EntitlementGranularity.entitlement,
for any
RepricingConfig.effective_invoice_month.

The contained
CustomerRepricingConfig.repricing_config
value must be different from the value used in the current config for a
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
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 CustomerRepricingConfig resource, otherwise returns an error.

Example
package main

import (
	"context"

	channel "cloud.google.com/go/channel/apiv1"
	channelpb "cloud.google.com/go/channel/apiv1/channelpb"
)

func main() {
	ctx := context.Background()
	// 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://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
	c, err := channel.NewCloudChannelClient(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	defer c.Close()

	req := &channelpb.CreateCustomerRepricingConfigRequest{
		// TODO: Fill request struct fields.
		// See https://pkg.go.dev/cloud.google.com/go/channel/apiv1/channelpb#CreateCustomerRepricingConfigRequest.
	}
	resp, err := c.CreateCustomerRepricingConfig(ctx, req)
	if err != nil {
		// TODO: Handle error.
	}
	// TODO: Use resp.
	_ = resp
}
Output:

func (*CloudChannelClient) CreateEntitlement

CreateEntitlement 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 (at 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 OperationMetadata.

Example
package main

import (
	"context"

	channel "cloud.google.com/go/channel/apiv1"
	channelpb "cloud.google.com/go/channel/apiv1/channelpb"
)

func main() {
	ctx := context.Background()
	// 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://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
	c, err := channel.NewCloudChannelClient(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	defer c.Close()

	req := &channelpb.CreateEntitlementRequest{
		// TODO: Fill request struct fields.
		// See https://pkg.go.dev/cloud.google.com/go/channel/apiv1/channelpb#CreateEntitlementRequest.
	}
	op, err := c.CreateEntitlement(ctx, req)
	if err != nil {
		// TODO: Handle error.
	}

	resp, err := op.Wait(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	// TODO: Use resp.
	_ = resp
}
Output:

func (*CloudChannelClient) CreateEntitlementOperation

func (c *CloudChannelClient) CreateEntitlementOperation(name string) *CreateEntitlementOperation

CreateEntitlementOperation returns a new CreateEntitlementOperation from a given name. The name must be that of a previously created CreateEntitlementOperation, possibly from a different process.

func (*CloudChannelClient) DeleteChannelPartnerRepricingConfig added in v1.6.0

func (c *CloudChannelClient) DeleteChannelPartnerRepricingConfig(ctx context.Context, req *channelpb.DeleteChannelPartnerRepricingConfigRequest, opts ...gax.CallOption) error

DeleteChannelPartnerRepricingConfig deletes the given ChannelPartnerRepricingConfig permanently. You can only delete configs if their 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
ChannelPartnerRepricingConfig
is active or in the past.

NOT_FOUND: No
ChannelPartnerRepricingConfig
found for the name in the request.
Example
package main

import (
	"context"

	channel "cloud.google.com/go/channel/apiv1"
	channelpb "cloud.google.com/go/channel/apiv1/channelpb"
)

func main() {
	ctx := context.Background()
	// 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://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
	c, err := channel.NewCloudChannelClient(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	defer c.Close()

	req := &channelpb.DeleteChannelPartnerRepricingConfigRequest{
		// TODO: Fill request struct fields.
		// See https://pkg.go.dev/cloud.google.com/go/channel/apiv1/channelpb#DeleteChannelPartnerRepricingConfigRequest.
	}
	err = c.DeleteChannelPartnerRepricingConfig(ctx, req)
	if err != nil {
		// TODO: Handle error.
	}
}
Output:

func (*CloudChannelClient) DeleteCustomer

func (c *CloudChannelClient) DeleteCustomer(ctx context.Context, req *channelpb.DeleteCustomerRequest, opts ...gax.CallOption) error

DeleteCustomer deletes the given 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 Customer resource found
for the name in the request.
Example
package main

import (
	"context"

	channel "cloud.google.com/go/channel/apiv1"
	channelpb "cloud.google.com/go/channel/apiv1/channelpb"
)

func main() {
	ctx := context.Background()
	// 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://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
	c, err := channel.NewCloudChannelClient(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	defer c.Close()

	req := &channelpb.DeleteCustomerRequest{
		// TODO: Fill request struct fields.
		// See https://pkg.go.dev/cloud.google.com/go/channel/apiv1/channelpb#DeleteCustomerRequest.
	}
	err = c.DeleteCustomer(ctx, req)
	if err != nil {
		// TODO: Handle error.
	}
}
Output:

func (*CloudChannelClient) DeleteCustomerRepricingConfig added in v1.6.0

func (c *CloudChannelClient) DeleteCustomerRepricingConfig(ctx context.Context, req *channelpb.DeleteCustomerRepricingConfigRequest, opts ...gax.CallOption) error

DeleteCustomerRepricingConfig deletes the given CustomerRepricingConfig permanently. You can only delete configs if their 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
CustomerRepricingConfig
is active or in the past.

NOT_FOUND: No
CustomerRepricingConfig
found for the name in the request.
Example
package main

import (
	"context"

	channel "cloud.google.com/go/channel/apiv1"
	channelpb "cloud.google.com/go/channel/apiv1/channelpb"
)

func main() {
	ctx := context.Background()
	// 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://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
	c, err := channel.NewCloudChannelClient(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	defer c.Close()

	req := &channelpb.DeleteCustomerRepricingConfigRequest{
		// TODO: Fill request struct fields.
		// See https://pkg.go.dev/cloud.google.com/go/channel/apiv1/channelpb#DeleteCustomerRepricingConfigRequest.
	}
	err = c.DeleteCustomerRepricingConfig(ctx, req)
	if err != nil {
		// TODO: Handle error.
	}
}
Output:

func (*CloudChannelClient) DeleteOperation added in v1.7.0

DeleteOperation is a utility method from google.longrunning.Operations.

Example
package main

import (
	"context"

	channel "cloud.google.com/go/channel/apiv1"

	longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb"
)

func main() {
	ctx := context.Background()
	// 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://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
	c, err := channel.NewCloudChannelClient(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	defer c.Close()

	req := &longrunningpb.DeleteOperationRequest{
		// TODO: Fill request struct fields.
		// See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#DeleteOperationRequest.
	}
	err = c.DeleteOperation(ctx, req)
	if err != nil {
		// TODO: Handle error.
	}
}
Output:

GetChannelPartnerLink returns the requested 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 ChannelPartnerLink resource.

func (*CloudChannelClient) GetChannelPartnerRepricingConfig added in v1.6.0

GetChannelPartnerRepricingConfig 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
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 ChannelPartnerRepricingConfig resource, otherwise returns an error.

Example
package main

import (
	"context"

	channel "cloud.google.com/go/channel/apiv1"
	channelpb "cloud.google.com/go/channel/apiv1/channelpb"
)

func main() {
	ctx := context.Background()
	// 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://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
	c, err := channel.NewCloudChannelClient(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	defer c.Close()

	req := &channelpb.GetChannelPartnerRepricingConfigRequest{
		// TODO: Fill request struct fields.
		// See https://pkg.go.dev/cloud.google.com/go/channel/apiv1/channelpb#GetChannelPartnerRepricingConfigRequest.
	}
	resp, err := c.GetChannelPartnerRepricingConfig(ctx, req)
	if err != nil {
		// TODO: Handle error.
	}
	// TODO: Use resp.
	_ = resp
}
Output:

func (*CloudChannelClient) GetCustomer

GetCustomer returns the requested 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 Customer resource.

Example
package main

import (
	"context"

	channel "cloud.google.com/go/channel/apiv1"
	channelpb "cloud.google.com/go/channel/apiv1/channelpb"
)

func main() {
	ctx := context.Background()
	// 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://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
	c, err := channel.NewCloudChannelClient(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	defer c.Close()

	req := &channelpb.GetCustomerRequest{
		// TODO: Fill request struct fields.
		// See https://pkg.go.dev/cloud.google.com/go/channel/apiv1/channelpb#GetCustomerRequest.
	}
	resp, err := c.GetCustomer(ctx, req)
	if err != nil {
		// TODO: Handle error.
	}
	// TODO: Use resp.
	_ = resp
}
Output:

func (*CloudChannelClient) GetCustomerRepricingConfig added in v1.6.0

GetCustomerRepricingConfig 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
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 CustomerRepricingConfig resource, otherwise returns an error.

Example
package main

import (
	"context"

	channel "cloud.google.com/go/channel/apiv1"
	channelpb "cloud.google.com/go/channel/apiv1/channelpb"
)

func main() {
	ctx := context.Background()
	// 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://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
	c, err := channel.NewCloudChannelClient(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	defer c.Close()

	req := &channelpb.GetCustomerRepricingConfigRequest{
		// TODO: Fill request struct fields.
		// See https://pkg.go.dev/cloud.google.com/go/channel/apiv1/channelpb#GetCustomerRepricingConfigRequest.
	}
	resp, err := c.GetCustomerRepricingConfig(ctx, req)
	if err != nil {
		// TODO: Handle error.
	}
	// TODO: Use resp.
	_ = resp
}
Output:

func (*CloudChannelClient) GetEntitlement

GetEntitlement returns the requested 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 Entitlement resource.

Example
package main

import (
	"context"

	channel "cloud.google.com/go/channel/apiv1"
	channelpb "cloud.google.com/go/channel/apiv1/channelpb"
)

func main() {
	ctx := context.Background()
	// 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://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
	c, err := channel.NewCloudChannelClient(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	defer c.Close()

	req := &channelpb.GetEntitlementRequest{
		// TODO: Fill request struct fields.
		// See https://pkg.go.dev/cloud.google.com/go/channel/apiv1/channelpb#GetEntitlementRequest.
	}
	resp, err := c.GetEntitlement(ctx, req)
	if err != nil {
		// TODO: Handle error.
	}
	// TODO: Use resp.
	_ = resp
}
Output:

func (*CloudChannelClient) GetOperation added in v1.7.0

GetOperation is a utility method from google.longrunning.Operations.

Example
package main

import (
	"context"

	channel "cloud.google.com/go/channel/apiv1"

	longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb"
)

func main() {
	ctx := context.Background()
	// 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://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
	c, err := channel.NewCloudChannelClient(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	defer c.Close()

	req := &longrunningpb.GetOperationRequest{
		// TODO: Fill request struct fields.
		// See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#GetOperationRequest.
	}
	resp, err := c.GetOperation(ctx, req)
	if err != nil {
		// TODO: Handle error.
	}
	// TODO: Use resp.
	_ = resp
}
Output:

func (*CloudChannelClient) ImportCustomer added in v0.2.0

ImportCustomer imports a 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 (at 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 Customer.

Example
package main

import (
	"context"

	channel "cloud.google.com/go/channel/apiv1"
	channelpb "cloud.google.com/go/channel/apiv1/channelpb"
)

func main() {
	ctx := context.Background()
	// 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://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
	c, err := channel.NewCloudChannelClient(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	defer c.Close()

	req := &channelpb.ImportCustomerRequest{
		// TODO: Fill request struct fields.
		// See https://pkg.go.dev/cloud.google.com/go/channel/apiv1/channelpb#ImportCustomerRequest.
	}
	resp, err := c.ImportCustomer(ctx, req)
	if err != nil {
		// TODO: Handle error.
	}
	// TODO: Use resp.
	_ = resp
}
Output:

ListChannelPartnerLinks list 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 ChannelPartnerLink resources.

func (*CloudChannelClient) ListChannelPartnerRepricingConfigs added in v1.6.0

ListChannelPartnerRepricingConfigs 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
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 ChannelPartnerRepricingConfig resources. The data for each resource is displayed in the ascending order of:

Channel Partner ID

RepricingConfig.effective_invoice_month

ChannelPartnerRepricingConfig.update_time

If unsuccessful, returns an error.

Example
package main

import (
	"context"

	channel "cloud.google.com/go/channel/apiv1"
	channelpb "cloud.google.com/go/channel/apiv1/channelpb"
	"google.golang.org/api/iterator"
)

func main() {
	ctx := context.Background()
	// 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://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
	c, err := channel.NewCloudChannelClient(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	defer c.Close()

	req := &channelpb.ListChannelPartnerRepricingConfigsRequest{
		// TODO: Fill request struct fields.
		// See https://pkg.go.dev/cloud.google.com/go/channel/apiv1/channelpb#ListChannelPartnerRepricingConfigsRequest.
	}
	it := c.ListChannelPartnerRepricingConfigs(ctx, req)
	for {
		resp, err := it.Next()
		if err == iterator.Done {
			break
		}
		if err != nil {
			// TODO: Handle error.
		}
		// TODO: Use resp.
		_ = resp

		// If you need to access the underlying RPC response,
		// you can do so by casting the `Response` as below.
		// Otherwise, remove this line. Only populated after
		// first call to Next(). Not safe for concurrent access.
		_ = it.Response.(*channelpb.ListChannelPartnerRepricingConfigsResponse)
	}
}
Output:

Example (All)
package main

import (
	"context"

	channel "cloud.google.com/go/channel/apiv1"
	channelpb "cloud.google.com/go/channel/apiv1/channelpb"
)

func main() {
	ctx := context.Background()
	// 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://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
	c, err := channel.NewCloudChannelClient(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	defer c.Close()

	req := &channelpb.ListChannelPartnerRepricingConfigsRequest{
		// TODO: Fill request struct fields.
		// See https://pkg.go.dev/cloud.google.com/go/channel/apiv1/channelpb#ListChannelPartnerRepricingConfigsRequest.
	}
	for resp, err := range c.ListChannelPartnerRepricingConfigs(ctx, req).All() {
		if err != nil {
			// TODO: Handle error.
		}
		// TODO: Use resp.
		_ = resp
	}
}
Output:

func (*CloudChannelClient) ListCustomerRepricingConfigs added in v1.6.0

ListCustomerRepricingConfigs 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
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 CustomerRepricingConfig resources. The data for each resource is displayed in the ascending order of:

Customer ID

RepricingConfig.EntitlementGranularity.entitlement

RepricingConfig.effective_invoice_month

CustomerRepricingConfig.update_time

If unsuccessful, returns an error.

Example
package main

import (
	"context"

	channel "cloud.google.com/go/channel/apiv1"
	channelpb "cloud.google.com/go/channel/apiv1/channelpb"
	"google.golang.org/api/iterator"
)

func main() {
	ctx := context.Background()
	// 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://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
	c, err := channel.NewCloudChannelClient(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	defer c.Close()

	req := &channelpb.ListCustomerRepricingConfigsRequest{
		// TODO: Fill request struct fields.
		// See https://pkg.go.dev/cloud.google.com/go/channel/apiv1/channelpb#ListCustomerRepricingConfigsRequest.
	}
	it := c.ListCustomerRepricingConfigs(ctx, req)
	for {
		resp, err := it.Next()
		if err == iterator.Done {
			break
		}
		if err != nil {
			// TODO: Handle error.
		}
		// TODO: Use resp.
		_ = resp

		// If you need to access the underlying RPC response,
		// you can do so by casting the `Response` as below.
		// Otherwise, remove this line. Only populated after
		// first call to Next(). Not safe for concurrent access.
		_ = it.Response.(*channelpb.ListCustomerRepricingConfigsResponse)
	}
}
Output:

Example (All)
package main

import (
	"context"

	channel "cloud.google.com/go/channel/apiv1"
	channelpb "cloud.google.com/go/channel/apiv1/channelpb"
)

func main() {
	ctx := context.Background()
	// 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://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
	c, err := channel.NewCloudChannelClient(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	defer c.Close()

	req := &channelpb.ListCustomerRepricingConfigsRequest{
		// TODO: Fill request struct fields.
		// See https://pkg.go.dev/cloud.google.com/go/channel/apiv1/channelpb#ListCustomerRepricingConfigsRequest.
	}
	for resp, err := range c.ListCustomerRepricingConfigs(ctx, req).All() {
		if err != nil {
			// TODO: Handle error.
		}
		// TODO: Use resp.
		_ = resp
	}
}
Output:

func (*CloudChannelClient) ListCustomers

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

Example
package main

import (
	"context"

	channel "cloud.google.com/go/channel/apiv1"
	channelpb "cloud.google.com/go/channel/apiv1/channelpb"
	"google.golang.org/api/iterator"
)

func main() {
	ctx := context.Background()
	// 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://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
	c, err := channel.NewCloudChannelClient(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	defer c.Close()

	req := &channelpb.ListCustomersRequest{
		// TODO: Fill request struct fields.
		// See https://pkg.go.dev/cloud.google.com/go/channel/apiv1/channelpb#ListCustomersRequest.
	}
	it := c.ListCustomers(ctx, req)
	for {
		resp, err := it.Next()
		if err == iterator.Done {
			break
		}
		if err != nil {
			// TODO: Handle error.
		}
		// TODO: Use resp.
		_ = resp

		// If you need to access the underlying RPC response,
		// you can do so by casting the `Response` as below.
		// Otherwise, remove this line. Only populated after
		// first call to Next(). Not safe for concurrent access.
		_ = it.Response.(*channelpb.ListCustomersResponse)
	}
}
Output:

Example (All)
package main

import (
	"context"

	channel "cloud.google.com/go/channel/apiv1"
	channelpb "cloud.google.com/go/channel/apiv1/channelpb"
)

func main() {
	ctx := context.Background()
	// 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://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
	c, err := channel.NewCloudChannelClient(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	defer c.Close()

	req := &channelpb.ListCustomersRequest{
		// TODO: Fill request struct fields.
		// See https://pkg.go.dev/cloud.google.com/go/channel/apiv1/channelpb#ListCustomersRequest.
	}
	for resp, err := range c.ListCustomers(ctx, req).All() {
		if err != nil {
			// TODO: Handle error.
		}
		// TODO: Use resp.
		_ = resp
	}
}
Output:

func (*CloudChannelClient) ListEntitlementChanges added in v1.12.0

ListEntitlementChanges 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 EntitlementChanges.

Example
package main

import (
	"context"

	channel "cloud.google.com/go/channel/apiv1"
	channelpb "cloud.google.com/go/channel/apiv1/channelpb"
	"google.golang.org/api/iterator"
)

func main() {
	ctx := context.Background()
	// 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://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
	c, err := channel.NewCloudChannelClient(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	defer c.Close()

	req := &channelpb.ListEntitlementChangesRequest{
		// TODO: Fill request struct fields.
		// See https://pkg.go.dev/cloud.google.com/go/channel/apiv1/channelpb#ListEntitlementChangesRequest.
	}
	it := c.ListEntitlementChanges(ctx, req)
	for {
		resp, err := it.Next()
		if err == iterator.Done {
			break
		}
		if err != nil {
			// TODO: Handle error.
		}
		// TODO: Use resp.
		_ = resp

		// If you need to access the underlying RPC response,
		// you can do so by casting the `Response` as below.
		// Otherwise, remove this line. Only populated after
		// first call to Next(). Not safe for concurrent access.
		_ = it.Response.(*channelpb.ListEntitlementChangesResponse)
	}
}
Output:

Example (All)
package main

import (
	"context"

	channel "cloud.google.com/go/channel/apiv1"
	channelpb "cloud.google.com/go/channel/apiv1/channelpb"
)

func main() {
	ctx := context.Background()
	// 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://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
	c, err := channel.NewCloudChannelClient(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	defer c.Close()

	req := &channelpb.ListEntitlementChangesRequest{
		// TODO: Fill request struct fields.
		// See https://pkg.go.dev/cloud.google.com/go/channel/apiv1/channelpb#ListEntitlementChangesRequest.
	}
	for resp, err := range c.ListEntitlementChanges(ctx, req).All() {
		if err != nil {
			// TODO: Handle error.
		}
		// TODO: Use resp.
		_ = resp
	}
}
Output:

func (*CloudChannelClient) ListEntitlements

ListEntitlements lists 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 Entitlements.

Example
package main

import (
	"context"

	channel "cloud.google.com/go/channel/apiv1"
	channelpb "cloud.google.com/go/channel/apiv1/channelpb"
	"google.golang.org/api/iterator"
)

func main() {
	ctx := context.Background()
	// 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://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
	c, err := channel.NewCloudChannelClient(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	defer c.Close()

	req := &channelpb.ListEntitlementsRequest{
		// TODO: Fill request struct fields.
		// See https://pkg.go.dev/cloud.google.com/go/channel/apiv1/channelpb#ListEntitlementsRequest.
	}
	it := c.ListEntitlements(ctx, req)
	for {
		resp, err := it.Next()
		if err == iterator.Done {
			break
		}
		if err != nil {
			// TODO: Handle error.
		}
		// TODO: Use resp.
		_ = resp

		// If you need to access the underlying RPC response,
		// you can do so by casting the `Response` as below.
		// Otherwise, remove this line. Only populated after
		// first call to Next(). Not safe for concurrent access.
		_ = it.Response.(*channelpb.ListEntitlementsResponse)
	}
}
Output:

Example (All)
package main

import (
	"context"

	channel "cloud.google.com/go/channel/apiv1"
	channelpb "cloud.google.com/go/channel/apiv1/channelpb"
)

func main() {
	ctx := context.Background()
	// 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://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
	c, err := channel.NewCloudChannelClient(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	defer c.Close()

	req := &channelpb.ListEntitlementsRequest{
		// TODO: Fill request struct fields.
		// See https://pkg.go.dev/cloud.google.com/go/channel/apiv1/channelpb#ListEntitlementsRequest.
	}
	for resp, err := range c.ListEntitlements(ctx, req).All() {
		if err != nil {
			// TODO: Handle error.
		}
		// TODO: Use resp.
		_ = resp
	}
}
Output:

func (*CloudChannelClient) ListOffers

ListOffers lists the Offers the reseller can sell.

Possible error codes:

INVALID_ARGUMENT: Required request parameters are missing or invalid.
Example
package main

import (
	"context"

	channel "cloud.google.com/go/channel/apiv1"
	channelpb "cloud.google.com/go/channel/apiv1/channelpb"
	"google.golang.org/api/iterator"
)

func main() {
	ctx := context.Background()
	// 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://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
	c, err := channel.NewCloudChannelClient(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	defer c.Close()

	req := &channelpb.ListOffersRequest{
		// TODO: Fill request struct fields.
		// See https://pkg.go.dev/cloud.google.com/go/channel/apiv1/channelpb#ListOffersRequest.
	}
	it := c.ListOffers(ctx, req)
	for {
		resp, err := it.Next()
		if err == iterator.Done {
			break
		}
		if err != nil {
			// TODO: Handle error.
		}
		// TODO: Use resp.
		_ = resp

		// If you need to access the underlying RPC response,
		// you can do so by casting the `Response` as below.
		// Otherwise, remove this line. Only populated after
		// first call to Next(). Not safe for concurrent access.
		_ = it.Response.(*channelpb.ListOffersResponse)
	}
}
Output:

Example (All)
package main

import (
	"context"

	channel "cloud.google.com/go/channel/apiv1"
	channelpb "cloud.google.com/go/channel/apiv1/channelpb"
)

func main() {
	ctx := context.Background()
	// 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://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
	c, err := channel.NewCloudChannelClient(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	defer c.Close()

	req := &channelpb.ListOffersRequest{
		// TODO: Fill request struct fields.
		// See https://pkg.go.dev/cloud.google.com/go/channel/apiv1/channelpb#ListOffersRequest.
	}
	for resp, err := range c.ListOffers(ctx, req).All() {
		if err != nil {
			// TODO: Handle error.
		}
		// TODO: Use resp.
		_ = resp
	}
}
Output:

func (*CloudChannelClient) ListOperations added in v1.7.0

ListOperations is a utility method from google.longrunning.Operations.

Example
package main

import (
	"context"

	channel "cloud.google.com/go/channel/apiv1"

	longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb"
	"google.golang.org/api/iterator"
)

func main() {
	ctx := context.Background()
	// 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://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
	c, err := channel.NewCloudChannelClient(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	defer c.Close()

	req := &longrunningpb.ListOperationsRequest{
		// TODO: Fill request struct fields.
		// See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#ListOperationsRequest.
	}
	it := c.ListOperations(ctx, req)
	for {
		resp, err := it.Next()
		if err == iterator.Done {
			break
		}
		if err != nil {
			// TODO: Handle error.
		}
		// TODO: Use resp.
		_ = resp

		// If you need to access the underlying RPC response,
		// you can do so by casting the `Response` as below.
		// Otherwise, remove this line. Only populated after
		// first call to Next(). Not safe for concurrent access.
		_ = it.Response.(*longrunningpb.ListOperationsResponse)
	}
}
Output:

Example (All)
package main

import (
	"context"

	channel "cloud.google.com/go/channel/apiv1"

	longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb"
)

func main() {
	ctx := context.Background()
	// 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://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
	c, err := channel.NewCloudChannelClient(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	defer c.Close()

	req := &longrunningpb.ListOperationsRequest{
		// TODO: Fill request struct fields.
		// See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#ListOperationsRequest.
	}
	for resp, err := range c.ListOperations(ctx, req).All() {
		if err != nil {
			// TODO: Handle error.
		}
		// TODO: Use resp.
		_ = resp
	}
}
Output:

func (*CloudChannelClient) ListProducts

ListProducts lists the Products the reseller is authorized to sell.

Possible error codes:

INVALID_ARGUMENT: Required request parameters are missing or invalid.
Example
package main

import (
	"context"

	channel "cloud.google.com/go/channel/apiv1"
	channelpb "cloud.google.com/go/channel/apiv1/channelpb"
	"google.golang.org/api/iterator"
)

func main() {
	ctx := context.Background()
	// 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://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
	c, err := channel.NewCloudChannelClient(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	defer c.Close()

	req := &channelpb.ListProductsRequest{
		// TODO: Fill request struct fields.
		// See https://pkg.go.dev/cloud.google.com/go/channel/apiv1/channelpb#ListProductsRequest.
	}
	it := c.ListProducts(ctx, req)
	for {
		resp, err := it.Next()
		if err == iterator.Done {
			break
		}
		if err != nil {
			// TODO: Handle error.
		}
		// TODO: Use resp.
		_ = resp

		// If you need to access the underlying RPC response,
		// you can do so by casting the `Response` as below.
		// Otherwise, remove this line. Only populated after
		// first call to Next(). Not safe for concurrent access.
		_ = it.Response.(*channelpb.ListProductsResponse)
	}
}
Output:

Example (All)
package main

import (
	"context"

	channel "cloud.google.com/go/channel/apiv1"
	channelpb "cloud.google.com/go/channel/apiv1/channelpb"
)

func main() {
	ctx := context.Background()
	// 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://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
	c, err := channel.NewCloudChannelClient(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	defer c.Close()

	req := &channelpb.ListProductsRequest{
		// TODO: Fill request struct fields.
		// See https://pkg.go.dev/cloud.google.com/go/channel/apiv1/channelpb#ListProductsRequest.
	}
	for resp, err := range c.ListProducts(ctx, req).All() {
		if err != nil {
			// TODO: Handle error.
		}
		// TODO: Use resp.
		_ = resp
	}
}
Output:

func (*CloudChannelClient) ListPurchasableOffers

ListPurchasableOffers 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 (at https://support.google.com/channelservices/answer/9759265)

INVALID_ARGUMENT: Required request parameters are missing or invalid.
Example
package main

import (
	"context"

	channel "cloud.google.com/go/channel/apiv1"
	channelpb "cloud.google.com/go/channel/apiv1/channelpb"
	"google.golang.org/api/iterator"
)

func main() {
	ctx := context.Background()
	// 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://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
	c, err := channel.NewCloudChannelClient(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	defer c.Close()

	req := &channelpb.ListPurchasableOffersRequest{
		// TODO: Fill request struct fields.
		// See https://pkg.go.dev/cloud.google.com/go/channel/apiv1/channelpb#ListPurchasableOffersRequest.
	}
	it := c.ListPurchasableOffers(ctx, req)
	for {
		resp, err := it.Next()
		if err == iterator.Done {
			break
		}
		if err != nil {
			// TODO: Handle error.
		}
		// TODO: Use resp.
		_ = resp

		// If you need to access the underlying RPC response,
		// you can do so by casting the `Response` as below.
		// Otherwise, remove this line. Only populated after
		// first call to Next(). Not safe for concurrent access.
		_ = it.Response.(*channelpb.ListPurchasableOffersResponse)
	}
}
Output:

Example (All)
package main

import (
	"context"

	channel "cloud.google.com/go/channel/apiv1"
	channelpb "cloud.google.com/go/channel/apiv1/channelpb"
)

func main() {
	ctx := context.Background()
	// 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://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
	c, err := channel.NewCloudChannelClient(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	defer c.Close()

	req := &channelpb.ListPurchasableOffersRequest{
		// TODO: Fill request struct fields.
		// See https://pkg.go.dev/cloud.google.com/go/channel/apiv1/channelpb#ListPurchasableOffersRequest.
	}
	for resp, err := range c.ListPurchasableOffers(ctx, req).All() {
		if err != nil {
			// TODO: Handle error.
		}
		// TODO: Use resp.
		_ = resp
	}
}
Output:

func (*CloudChannelClient) ListPurchasableSkus

ListPurchasableSkus 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.
Example
package main

import (
	"context"

	channel "cloud.google.com/go/channel/apiv1"
	channelpb "cloud.google.com/go/channel/apiv1/channelpb"
	"google.golang.org/api/iterator"
)

func main() {
	ctx := context.Background()
	// 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://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
	c, err := channel.NewCloudChannelClient(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	defer c.Close()

	req := &channelpb.ListPurchasableSkusRequest{
		// TODO: Fill request struct fields.
		// See https://pkg.go.dev/cloud.google.com/go/channel/apiv1/channelpb#ListPurchasableSkusRequest.
	}
	it := c.ListPurchasableSkus(ctx, req)
	for {
		resp, err := it.Next()
		if err == iterator.Done {
			break
		}
		if err != nil {
			// TODO: Handle error.
		}
		// TODO: Use resp.
		_ = resp

		// If you need to access the underlying RPC response,
		// you can do so by casting the `Response` as below.
		// Otherwise, remove this line. Only populated after
		// first call to Next(). Not safe for concurrent access.
		_ = it.Response.(*channelpb.ListPurchasableSkusResponse)
	}
}
Output:

Example (All)
package main

import (
	"context"

	channel "cloud.google.com/go/channel/apiv1"
	channelpb "cloud.google.com/go/channel/apiv1/channelpb"
)

func main() {
	ctx := context.Background()
	// 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://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
	c, err := channel.NewCloudChannelClient(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	defer c.Close()

	req := &channelpb.ListPurchasableSkusRequest{
		// TODO: Fill request struct fields.
		// See https://pkg.go.dev/cloud.google.com/go/channel/apiv1/channelpb#ListPurchasableSkusRequest.
	}
	for resp, err := range c.ListPurchasableSkus(ctx, req).All() {
		if err != nil {
			// TODO: Handle error.
		}
		// TODO: Use resp.
		_ = resp
	}
}
Output:

func (*CloudChannelClient) ListSkuGroupBillableSkus added in v1.16.0

ListSkuGroupBillableSkus 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 BillableSku resources. The data for each resource is displayed in the ascending order of:

BillableSku.service_display_name

BillableSku.sku_display_name

If unsuccessful, returns an error.

Example
package main

import (
	"context"

	channel "cloud.google.com/go/channel/apiv1"
	channelpb "cloud.google.com/go/channel/apiv1/channelpb"
	"google.golang.org/api/iterator"
)

func main() {
	ctx := context.Background()
	// 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://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
	c, err := channel.NewCloudChannelClient(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	defer c.Close()

	req := &channelpb.ListSkuGroupBillableSkusRequest{
		// TODO: Fill request struct fields.
		// See https://pkg.go.dev/cloud.google.com/go/channel/apiv1/channelpb#ListSkuGroupBillableSkusRequest.
	}
	it := c.ListSkuGroupBillableSkus(ctx, req)
	for {
		resp, err := it.Next()
		if err == iterator.Done {
			break
		}
		if err != nil {
			// TODO: Handle error.
		}
		// TODO: Use resp.
		_ = resp

		// If you need to access the underlying RPC response,
		// you can do so by casting the `Response` as below.
		// Otherwise, remove this line. Only populated after
		// first call to Next(). Not safe for concurrent access.
		_ = it.Response.(*channelpb.ListSkuGroupBillableSkusResponse)
	}
}
Output:

Example (All)
package main

import (
	"context"

	channel "cloud.google.com/go/channel/apiv1"
	channelpb "cloud.google.com/go/channel/apiv1/channelpb"
)

func main() {
	ctx := context.Background()
	// 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://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
	c, err := channel.NewCloudChannelClient(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	defer c.Close()

	req := &channelpb.ListSkuGroupBillableSkusRequest{
		// TODO: Fill request struct fields.
		// See https://pkg.go.dev/cloud.google.com/go/channel/apiv1/channelpb#ListSkuGroupBillableSkusRequest.
	}
	for resp, err := range c.ListSkuGroupBillableSkus(ctx, req).All() {
		if err != nil {
			// TODO: Handle error.
		}
		// TODO: Use resp.
		_ = resp
	}
}
Output:

func (*CloudChannelClient) ListSkuGroups added in v1.16.0

ListSkuGroups lists the Rebilling supported SKU groups the account is authorized to sell. Reference: https://cloud.google.com/skus/sku-groups (at 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 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 SkuGroup.display_name

If unsuccessful, returns an error.

Example
package main

import (
	"context"

	channel "cloud.google.com/go/channel/apiv1"
	channelpb "cloud.google.com/go/channel/apiv1/channelpb"
	"google.golang.org/api/iterator"
)

func main() {
	ctx := context.Background()
	// 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://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
	c, err := channel.NewCloudChannelClient(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	defer c.Close()

	req := &channelpb.ListSkuGroupsRequest{
		// TODO: Fill request struct fields.
		// See https://pkg.go.dev/cloud.google.com/go/channel/apiv1/channelpb#ListSkuGroupsRequest.
	}
	it := c.ListSkuGroups(ctx, req)
	for {
		resp, err := it.Next()
		if err == iterator.Done {
			break
		}
		if err != nil {
			// TODO: Handle error.
		}
		// TODO: Use resp.
		_ = resp

		// If you need to access the underlying RPC response,
		// you can do so by casting the `Response` as below.
		// Otherwise, remove this line. Only populated after
		// first call to Next(). Not safe for concurrent access.
		_ = it.Response.(*channelpb.ListSkuGroupsResponse)
	}
}
Output:

Example (All)
package main

import (
	"context"

	channel "cloud.google.com/go/channel/apiv1"
	channelpb "cloud.google.com/go/channel/apiv1/channelpb"
)

func main() {
	ctx := context.Background()
	// 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://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
	c, err := channel.NewCloudChannelClient(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	defer c.Close()

	req := &channelpb.ListSkuGroupsRequest{
		// TODO: Fill request struct fields.
		// See https://pkg.go.dev/cloud.google.com/go/channel/apiv1/channelpb#ListSkuGroupsRequest.
	}
	for resp, err := range c.ListSkuGroups(ctx, req).All() {
		if err != nil {
			// TODO: Handle error.
		}
		// TODO: Use resp.
		_ = resp
	}
}
Output:

func (*CloudChannelClient) ListSkus

ListSkus lists the SKUs for a product the reseller is authorized to sell.

Possible error codes:

INVALID_ARGUMENT: Required request parameters are missing or invalid.
Example
package main

import (
	"context"

	channel "cloud.google.com/go/channel/apiv1"
	channelpb "cloud.google.com/go/channel/apiv1/channelpb"
	"google.golang.org/api/iterator"
)

func main() {
	ctx := context.Background()
	// 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://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
	c, err := channel.NewCloudChannelClient(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	defer c.Close()

	req := &channelpb.ListSkusRequest{
		// TODO: Fill request struct fields.
		// See https://pkg.go.dev/cloud.google.com/go/channel/apiv1/channelpb#ListSkusRequest.
	}
	it := c.ListSkus(ctx, req)
	for {
		resp, err := it.Next()
		if err == iterator.Done {
			break
		}
		if err != nil {
			// TODO: Handle error.
		}
		// TODO: Use resp.
		_ = resp

		// If you need to access the underlying RPC response,
		// you can do so by casting the `Response` as below.
		// Otherwise, remove this line. Only populated after
		// first call to Next(). Not safe for concurrent access.
		_ = it.Response.(*channelpb.ListSkusResponse)
	}
}
Output:

Example (All)
package main

import (
	"context"

	channel "cloud.google.com/go/channel/apiv1"
	channelpb "cloud.google.com/go/channel/apiv1/channelpb"
)

func main() {
	ctx := context.Background()
	// 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://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
	c, err := channel.NewCloudChannelClient(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	defer c.Close()

	req := &channelpb.ListSkusRequest{
		// TODO: Fill request struct fields.
		// See https://pkg.go.dev/cloud.google.com/go/channel/apiv1/channelpb#ListSkusRequest.
	}
	for resp, err := range c.ListSkus(ctx, req).All() {
		if err != nil {
			// TODO: Handle error.
		}
		// TODO: Use resp.
		_ = resp
	}
}
Output:

func (*CloudChannelClient) ListSubscribers

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

Possible error codes:

PERMISSION_DENIED: The reseller account making the request and the
provided reseller account are different, or the impersonated user
is not a super admin.

INVALID_ARGUMENT: Required request parameters are missing or invalid.

NOT_FOUND: The topic resource doesn’t exist.

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

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

Return value: A list of service email addresses.

Example
package main

import (
	"context"

	channel "cloud.google.com/go/channel/apiv1"
	channelpb "cloud.google.com/go/channel/apiv1/channelpb"
	"google.golang.org/api/iterator"
)

func main() {
	ctx := context.Background()
	// 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://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
	c, err := channel.NewCloudChannelClient(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	defer c.Close()

	req := &channelpb.ListSubscribersRequest{
		// TODO: Fill request struct fields.
		// See https://pkg.go.dev/cloud.google.com/go/channel/apiv1/channelpb#ListSubscribersRequest.
	}
	it := c.ListSubscribers(ctx, req)
	for {
		resp, err := it.Next()
		if err == iterator.Done {
			break
		}
		if err != nil {
			// TODO: Handle error.
		}
		// TODO: Use resp.
		_ = resp

		// If you need to access the underlying RPC response,
		// you can do so by casting the `Response` as below.
		// Otherwise, remove this line. Only populated after
		// first call to Next(). Not safe for concurrent access.
		_ = it.Response.(*channelpb.ListSubscribersResponse)
	}
}
Output:

Example (All)
package main

import (
	"context"

	channel "cloud.google.com/go/channel/apiv1"
	channelpb "cloud.google.com/go/channel/apiv1/channelpb"
)

func main() {
	ctx := context.Background()
	// 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://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
	c, err := channel.NewCloudChannelClient(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	defer c.Close()

	req := &channelpb.ListSubscribersRequest{
		// TODO: Fill request struct fields.
		// See https://pkg.go.dev/cloud.google.com/go/channel/apiv1/channelpb#ListSubscribersRequest.
	}
	for resp, err := range c.ListSubscribers(ctx, req).All() {
		if err != nil {
			// TODO: Handle error.
		}
		// TODO: Use resp.
		_ = resp
	}
}
Output:

func (*CloudChannelClient) ListTransferableOffers

ListTransferableOffers list 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 (at https://support.google.com/channelservices/answer/9759265)

INVALID_ARGUMENT: Required request parameters are missing or invalid.

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

Example
package main

import (
	"context"

	channel "cloud.google.com/go/channel/apiv1"
	channelpb "cloud.google.com/go/channel/apiv1/channelpb"
	"google.golang.org/api/iterator"
)

func main() {
	ctx := context.Background()
	// 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://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
	c, err := channel.NewCloudChannelClient(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	defer c.Close()

	req := &channelpb.ListTransferableOffersRequest{
		// TODO: Fill request struct fields.
		// See https://pkg.go.dev/cloud.google.com/go/channel/apiv1/channelpb#ListTransferableOffersRequest.
	}
	it := c.ListTransferableOffers(ctx, req)
	for {
		resp, err := it.Next()
		if err == iterator.Done {
			break
		}
		if err != nil {
			// TODO: Handle error.
		}
		// TODO: Use resp.
		_ = resp

		// If you need to access the underlying RPC response,
		// you can do so by casting the `Response` as below.
		// Otherwise, remove this line. Only populated after
		// first call to Next(). Not safe for concurrent access.
		_ = it.Response.(*channelpb.ListTransferableOffersResponse)
	}
}
Output:

Example (All)
package main

import (
	"context"

	channel "cloud.google.com/go/channel/apiv1"
	channelpb "cloud.google.com/go/channel/apiv1/channelpb"
)

func main() {
	ctx := context.Background()
	// 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://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
	c, err := channel.NewCloudChannelClient(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	defer c.Close()

	req := &channelpb.ListTransferableOffersRequest{
		// TODO: Fill request struct fields.
		// See https://pkg.go.dev/cloud.google.com/go/channel/apiv1/channelpb#ListTransferableOffersRequest.
	}
	for resp, err := range c.ListTransferableOffers(ctx, req).All() {
		if err != nil {
			// TODO: Handle error.
		}
		// TODO: Use resp.
		_ = resp
	}
}
Output:

func (*CloudChannelClient) ListTransferableSkus

ListTransferableSkus list 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 TransferableSku.

Example
package main

import (
	"context"

	channel "cloud.google.com/go/channel/apiv1"
	channelpb "cloud.google.com/go/channel/apiv1/channelpb"
	"google.golang.org/api/iterator"
)

func main() {
	ctx := context.Background()
	// 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://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
	c, err := channel.NewCloudChannelClient(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	defer c.Close()

	req := &channelpb.ListTransferableSkusRequest{
		// TODO: Fill request struct fields.
		// See https://pkg.go.dev/cloud.google.com/go/channel/apiv1/channelpb#ListTransferableSkusRequest.
	}
	it := c.ListTransferableSkus(ctx, req)
	for {
		resp, err := it.Next()
		if err == iterator.Done {
			break
		}
		if err != nil {
			// TODO: Handle error.
		}
		// TODO: Use resp.
		_ = resp

		// If you need to access the underlying RPC response,
		// you can do so by casting the `Response` as below.
		// Otherwise, remove this line. Only populated after
		// first call to Next(). Not safe for concurrent access.
		_ = it.Response.(*channelpb.ListTransferableSkusResponse)
	}
}
Output:

Example (All)
package main

import (
	"context"

	channel "cloud.google.com/go/channel/apiv1"
	channelpb "cloud.google.com/go/channel/apiv1/channelpb"
)

func main() {
	ctx := context.Background()
	// 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://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
	c, err := channel.NewCloudChannelClient(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	defer c.Close()

	req := &channelpb.ListTransferableSkusRequest{
		// TODO: Fill request struct fields.
		// See https://pkg.go.dev/cloud.google.com/go/channel/apiv1/channelpb#ListTransferableSkusRequest.
	}
	for resp, err := range c.ListTransferableSkus(ctx, req).All() {
		if err != nil {
			// TODO: Handle error.
		}
		// TODO: Use resp.
		_ = resp
	}
}
Output:

func (*CloudChannelClient) LookupOffer

LookupOffer returns the requested 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 Offer resource.

Example
package main

import (
	"context"

	channel "cloud.google.com/go/channel/apiv1"
	channelpb "cloud.google.com/go/channel/apiv1/channelpb"
)

func main() {
	ctx := context.Background()
	// 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://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
	c, err := channel.NewCloudChannelClient(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	defer c.Close()

	req := &channelpb.LookupOfferRequest{
		// TODO: Fill request struct fields.
		// See https://pkg.go.dev/cloud.google.com/go/channel/apiv1/channelpb#LookupOfferRequest.
	}
	resp, err := c.LookupOffer(ctx, req)
	if err != nil {
		// TODO: Handle error.
	}
	// TODO: Use resp.
	_ = resp
}
Output:

func (*CloudChannelClient) ProvisionCloudIdentity

ProvisionCloudIdentity 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 (at 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 OperationMetadata.

Example
package main

import (
	"context"

	channel "cloud.google.com/go/channel/apiv1"
	channelpb "cloud.google.com/go/channel/apiv1/channelpb"
)

func main() {
	ctx := context.Background()
	// 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://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
	c, err := channel.NewCloudChannelClient(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	defer c.Close()

	req := &channelpb.ProvisionCloudIdentityRequest{
		// TODO: Fill request struct fields.
		// See https://pkg.go.dev/cloud.google.com/go/channel/apiv1/channelpb#ProvisionCloudIdentityRequest.
	}
	op, err := c.ProvisionCloudIdentity(ctx, req)
	if err != nil {
		// TODO: Handle error.
	}

	resp, err := op.Wait(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	// TODO: Use resp.
	_ = resp
}
Output:

func (*CloudChannelClient) ProvisionCloudIdentityOperation

func (c *CloudChannelClient) ProvisionCloudIdentityOperation(name string) *ProvisionCloudIdentityOperation

ProvisionCloudIdentityOperation returns a new ProvisionCloudIdentityOperation from a given name. The name must be that of a previously created ProvisionCloudIdentityOperation, possibly from a different process.

func (*CloudChannelClient) QueryEligibleBillingAccounts added in v1.17.0

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

Example
package main

import (
	"context"

	channel "cloud.google.com/go/channel/apiv1"
	channelpb "cloud.google.com/go/channel/apiv1/channelpb"
)

func main() {
	ctx := context.Background()
	// 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://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
	c, err := channel.NewCloudChannelClient(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	defer c.Close()

	req := &channelpb.QueryEligibleBillingAccountsRequest{
		// TODO: Fill request struct fields.
		// See https://pkg.go.dev/cloud.google.com/go/channel/apiv1/channelpb#QueryEligibleBillingAccountsRequest.
	}
	resp, err := c.QueryEligibleBillingAccounts(ctx, req)
	if err != nil {
		// TODO: Handle error.
	}
	// TODO: Use resp.
	_ = resp
}
Output:

func (*CloudChannelClient) RegisterSubscriber

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

Example
package main

import (
	"context"

	channel "cloud.google.com/go/channel/apiv1"
	channelpb "cloud.google.com/go/channel/apiv1/channelpb"
)

func main() {
	ctx := context.Background()
	// 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://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
	c, err := channel.NewCloudChannelClient(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	defer c.Close()

	req := &channelpb.RegisterSubscriberRequest{
		// TODO: Fill request struct fields.
		// See https://pkg.go.dev/cloud.google.com/go/channel/apiv1/channelpb#RegisterSubscriberRequest.
	}
	resp, err := c.RegisterSubscriber(ctx, req)
	if err != nil {
		// TODO: Handle error.
	}
	// TODO: Use resp.
	_ = resp
}
Output:

func (*CloudChannelClient) StartPaidService

StartPaidService 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 OperationMetadata.

Example
package main

import (
	"context"

	channel "cloud.google.com/go/channel/apiv1"
	channelpb "cloud.google.com/go/channel/apiv1/channelpb"
)

func main() {
	ctx := context.Background()
	// 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://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
	c, err := channel.NewCloudChannelClient(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	defer c.Close()

	req := &channelpb.StartPaidServiceRequest{
		// TODO: Fill request struct fields.
		// See https://pkg.go.dev/cloud.google.com/go/channel/apiv1/channelpb#StartPaidServiceRequest.
	}
	op, err := c.StartPaidService(ctx, req)
	if err != nil {
		// TODO: Handle error.
	}

	resp, err := op.Wait(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	// TODO: Use resp.
	_ = resp
}
Output:

func (*CloudChannelClient) StartPaidServiceOperation

func (c *CloudChannelClient) StartPaidServiceOperation(name string) *StartPaidServiceOperation

StartPaidServiceOperation returns a new StartPaidServiceOperation from a given name. The name must be that of a previously created StartPaidServiceOperation, possibly from a different process.

func (*CloudChannelClient) SuspendEntitlement

SuspendEntitlement 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 OperationMetadata.

Example
package main

import (
	"context"

	channel "cloud.google.com/go/channel/apiv1"
	channelpb "cloud.google.com/go/channel/apiv1/channelpb"
)

func main() {
	ctx := context.Background()
	// 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://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
	c, err := channel.NewCloudChannelClient(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	defer c.Close()

	req := &channelpb.SuspendEntitlementRequest{
		// TODO: Fill request struct fields.
		// See https://pkg.go.dev/cloud.google.com/go/channel/apiv1/channelpb#SuspendEntitlementRequest.
	}
	op, err := c.SuspendEntitlement(ctx, req)
	if err != nil {
		// TODO: Handle error.
	}

	resp, err := op.Wait(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	// TODO: Use resp.
	_ = resp
}
Output:

func (*CloudChannelClient) SuspendEntitlementOperation

func (c *CloudChannelClient) SuspendEntitlementOperation(name string) *SuspendEntitlementOperation

SuspendEntitlementOperation returns a new SuspendEntitlementOperation from a given name. The name must be that of a previously created SuspendEntitlementOperation, possibly from a different process.

func (*CloudChannelClient) TransferEntitlements

TransferEntitlements 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 (at 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 OperationMetadata.

Example
package main

import (
	"context"

	channel "cloud.google.com/go/channel/apiv1"
	channelpb "cloud.google.com/go/channel/apiv1/channelpb"
)

func main() {
	ctx := context.Background()
	// 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://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
	c, err := channel.NewCloudChannelClient(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	defer c.Close()

	req := &channelpb.TransferEntitlementsRequest{
		// TODO: Fill request struct fields.
		// See https://pkg.go.dev/cloud.google.com/go/channel/apiv1/channelpb#TransferEntitlementsRequest.
	}
	op, err := c.TransferEntitlements(ctx, req)
	if err != nil {
		// TODO: Handle error.
	}

	resp, err := op.Wait(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	// TODO: Use resp.
	_ = resp
}
Output:

func (*CloudChannelClient) TransferEntitlementsOperation

func (c *CloudChannelClient) TransferEntitlementsOperation(name string) *TransferEntitlementsOperation

TransferEntitlementsOperation returns a new TransferEntitlementsOperation from a given name. The name must be that of a previously created TransferEntitlementsOperation, possibly from a different process.

func (*CloudChannelClient) TransferEntitlementsToGoogle

TransferEntitlementsToGoogle 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 OperationMetadata.

Example
package main

import (
	"context"

	channel "cloud.google.com/go/channel/apiv1"
	channelpb "cloud.google.com/go/channel/apiv1/channelpb"
)

func main() {
	ctx := context.Background()
	// 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://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
	c, err := channel.NewCloudChannelClient(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	defer c.Close()

	req := &channelpb.TransferEntitlementsToGoogleRequest{
		// TODO: Fill request struct fields.
		// See https://pkg.go.dev/cloud.google.com/go/channel/apiv1/channelpb#TransferEntitlementsToGoogleRequest.
	}
	op, err := c.TransferEntitlementsToGoogle(ctx, req)
	if err != nil {
		// TODO: Handle error.
	}

	err = op.Wait(ctx)
	if err != nil {
		// TODO: Handle error.
	}
}
Output:

func (*CloudChannelClient) TransferEntitlementsToGoogleOperation

func (c *CloudChannelClient) TransferEntitlementsToGoogleOperation(name string) *TransferEntitlementsToGoogleOperation

TransferEntitlementsToGoogleOperation returns a new TransferEntitlementsToGoogleOperation from a given name. The name must be that of a previously created TransferEntitlementsToGoogleOperation, possibly from a different process.

func (*CloudChannelClient) UnregisterSubscriber

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

Possible error codes:

PERMISSION_DENIED: The reseller account making the request and the
provided reseller account are different, or the impersonated user
is not a super admin.

INVALID_ARGUMENT: Required request parameters are missing or invalid.

NOT_FOUND: The topic resource doesn’t exist.

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

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

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

Example
package main

import (
	"context"

	channel "cloud.google.com/go/channel/apiv1"
	channelpb "cloud.google.com/go/channel/apiv1/channelpb"
)

func main() {
	ctx := context.Background()
	// 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://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
	c, err := channel.NewCloudChannelClient(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	defer c.Close()

	req := &channelpb.UnregisterSubscriberRequest{
		// TODO: Fill request struct fields.
		// See https://pkg.go.dev/cloud.google.com/go/channel/apiv1/channelpb#UnregisterSubscriberRequest.
	}
	resp, err := c.UnregisterSubscriber(ctx, req)
	if err != nil {
		// TODO: Handle error.
	}
	// TODO: Use resp.
	_ = resp
}
Output:

UpdateChannelPartnerLink 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 ChannelPartnerLink resource.

func (*CloudChannelClient) UpdateChannelPartnerRepricingConfig added in v1.6.0

UpdateChannelPartnerRepricingConfig 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 RepricingConfig.effective_invoice_month is a future month. To make changes to configs for the current month, use CreateChannelPartnerRepricingConfig, taking note of its restrictions. You cannot update the 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
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 ChannelPartnerRepricingConfig resource, otherwise returns an error.

Example
package main

import (
	"context"

	channel "cloud.google.com/go/channel/apiv1"
	channelpb "cloud.google.com/go/channel/apiv1/channelpb"
)

func main() {
	ctx := context.Background()
	// 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://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
	c, err := channel.NewCloudChannelClient(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	defer c.Close()

	req := &channelpb.UpdateChannelPartnerRepricingConfigRequest{
		// TODO: Fill request struct fields.
		// See https://pkg.go.dev/cloud.google.com/go/channel/apiv1/channelpb#UpdateChannelPartnerRepricingConfigRequest.
	}
	resp, err := c.UpdateChannelPartnerRepricingConfig(ctx, req)
	if err != nil {
		// TODO: Handle error.
	}
	// TODO: Use resp.
	_ = resp
}
Output:

func (*CloudChannelClient) UpdateCustomer

UpdateCustomer updates an existing 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 Customer resource found
for the name in the request.

Return value: The updated Customer resource.

Example
package main

import (
	"context"

	channel "cloud.google.com/go/channel/apiv1"
	channelpb "cloud.google.com/go/channel/apiv1/channelpb"
)

func main() {
	ctx := context.Background()
	// 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://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
	c, err := channel.NewCloudChannelClient(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	defer c.Close()

	req := &channelpb.UpdateCustomerRequest{
		// TODO: Fill request struct fields.
		// See https://pkg.go.dev/cloud.google.com/go/channel/apiv1/channelpb#UpdateCustomerRequest.
	}
	resp, err := c.UpdateCustomer(ctx, req)
	if err != nil {
		// TODO: Handle error.
	}
	// TODO: Use resp.
	_ = resp
}
Output:

func (*CloudChannelClient) UpdateCustomerRepricingConfig added in v1.6.0

UpdateCustomerRepricingConfig 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 RepricingConfig.effective_invoice_month is a future month. To make changes to configs for the current month, use CreateCustomerRepricingConfig, taking note of its restrictions. You cannot update the 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
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 CustomerRepricingConfig resource, otherwise returns an error.

Example
package main

import (
	"context"

	channel "cloud.google.com/go/channel/apiv1"
	channelpb "cloud.google.com/go/channel/apiv1/channelpb"
)

func main() {
	ctx := context.Background()
	// 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://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
	c, err := channel.NewCloudChannelClient(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	defer c.Close()

	req := &channelpb.UpdateCustomerRepricingConfigRequest{
		// TODO: Fill request struct fields.
		// See https://pkg.go.dev/cloud.google.com/go/channel/apiv1/channelpb#UpdateCustomerRepricingConfigRequest.
	}
	resp, err := c.UpdateCustomerRepricingConfig(ctx, req)
	if err != nil {
		// TODO: Handle error.
	}
	// TODO: Use resp.
	_ = resp
}
Output:

type CloudChannelReportsCallOptions added in v1.8.0

type CloudChannelReportsCallOptions struct {
	RunReportJob       []gax.CallOption
	FetchReportResults []gax.CallOption
	ListReports        []gax.CallOption
	CancelOperation    []gax.CallOption
	DeleteOperation    []gax.CallOption
	GetOperation       []gax.CallOption
	ListOperations     []gax.CallOption
}

CloudChannelReportsCallOptions contains the retry settings for each method of CloudChannelReportsClient.

type CloudChannelReportsClient deprecated added in v1.8.0

type CloudChannelReportsClient struct {

	// The call options for this service.
	CallOptions *CloudChannelReportsCallOptions

	// LROClient is used internally to handle long-running operations.
	// It is exposed so that its CallOptions can be modified if required.
	// Users should not Close this client.
	LROClient *lroauto.OperationsClient
	// contains filtered or unexported fields
}

CloudChannelReportsClient is a client for interacting with Cloud Channel API. Methods, except Close, may be called concurrently. However, fields must not be modified concurrently with method calls.

CloudChannelReportsService lets Google Cloud resellers and distributors retrieve and combine a variety of data in Cloud Channel for multiple products (Google Cloud, Google Voice, and Google Workspace.)

Deprecated: This service is being deprecated. Please use Export Channel Services data to BigQuery (at https://cloud.google.com/channel/docs/rebilling/export-data-to-bigquery) instead.

Deprecated: CloudChannelReportsService may be removed in a future version.

func NewCloudChannelReportsClient deprecated added in v1.8.0

func NewCloudChannelReportsClient(ctx context.Context, opts ...option.ClientOption) (*CloudChannelReportsClient, error)

NewCloudChannelReportsClient creates a new cloud channel reports service client based on gRPC. The returned client must be Closed when it is done being used to clean up its underlying connections.

CloudChannelReportsService lets Google Cloud resellers and distributors retrieve and combine a variety of data in Cloud Channel for multiple products (Google Cloud, Google Voice, and Google Workspace.)

Deprecated: This service is being deprecated. Please use Export Channel Services data to BigQuery (at https://cloud.google.com/channel/docs/rebilling/export-data-to-bigquery) instead.

Deprecated: CloudChannelReportsService may be removed in a future version.

Example
package main

import (
	"context"

	channel "cloud.google.com/go/channel/apiv1"
)

func main() {
	ctx := context.Background()
	// 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://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
	c, err := channel.NewCloudChannelReportsClient(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	defer c.Close()

	// TODO: Use client.
	_ = c
}
Output:

func NewCloudChannelReportsRESTClient deprecated added in v1.11.0

func NewCloudChannelReportsRESTClient(ctx context.Context, opts ...option.ClientOption) (*CloudChannelReportsClient, error)

NewCloudChannelReportsRESTClient creates a new cloud channel reports service rest client.

CloudChannelReportsService lets Google Cloud resellers and distributors retrieve and combine a variety of data in Cloud Channel for multiple products (Google Cloud, Google Voice, and Google Workspace.)

Deprecated: This service is being deprecated. Please use Export Channel Services data to BigQuery (at https://cloud.google.com/channel/docs/rebilling/export-data-to-bigquery) instead.

Deprecated: CloudChannelReportsService may be removed in a future version.

Example
package main

import (
	"context"

	channel "cloud.google.com/go/channel/apiv1"
)

func main() {
	ctx := context.Background()
	// 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://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
	c, err := channel.NewCloudChannelReportsRESTClient(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	defer c.Close()

	// TODO: Use client.
	_ = c
}
Output:

func (*CloudChannelReportsClient) CancelOperation added in v1.8.0

CancelOperation is a utility method from google.longrunning.Operations.

Example
package main

import (
	"context"

	channel "cloud.google.com/go/channel/apiv1"

	longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb"
)

func main() {
	ctx := context.Background()
	// 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://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
	c, err := channel.NewCloudChannelReportsClient(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	defer c.Close()

	req := &longrunningpb.CancelOperationRequest{
		// TODO: Fill request struct fields.
		// See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#CancelOperationRequest.
	}
	err = c.CancelOperation(ctx, req)
	if err != nil {
		// TODO: Handle error.
	}
}
Output:

func (*CloudChannelReportsClient) Close added in v1.8.0

func (c *CloudChannelReportsClient) Close() error

Close closes the connection to the API service. The user should invoke this when the client is no longer required.

func (*CloudChannelReportsClient) Connection deprecated added in v1.8.0

func (c *CloudChannelReportsClient) Connection() *grpc.ClientConn

Connection returns a connection to the API service.

Deprecated: Connections are now pooled so this method does not always return the same resource.

func (*CloudChannelReportsClient) DeleteOperation added in v1.8.0

DeleteOperation is a utility method from google.longrunning.Operations.

Example
package main

import (
	"context"

	channel "cloud.google.com/go/channel/apiv1"

	longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb"
)

func main() {
	ctx := context.Background()
	// 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://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
	c, err := channel.NewCloudChannelReportsClient(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	defer c.Close()

	req := &longrunningpb.DeleteOperationRequest{
		// TODO: Fill request struct fields.
		// See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#DeleteOperationRequest.
	}
	err = c.DeleteOperation(ctx, req)
	if err != nil {
		// TODO: Handle error.
	}
}
Output:

func (*CloudChannelReportsClient) FetchReportResults deprecated added in v1.8.0

FetchReportResults retrieves data generated by CloudChannelReportsService.RunReportJob.

Deprecated: Please use Export Channel Services data to BigQuery (at https://cloud.google.com/channel/docs/rebilling/export-data-to-bigquery) instead.

Deprecated: FetchReportResults may be removed in a future version.

Example
package main

import (
	"context"

	channel "cloud.google.com/go/channel/apiv1"
	channelpb "cloud.google.com/go/channel/apiv1/channelpb"
	"google.golang.org/api/iterator"
)

func main() {
	ctx := context.Background()
	// 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://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
	c, err := channel.NewCloudChannelReportsClient(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	defer c.Close()

	req := &channelpb.FetchReportResultsRequest{
		// TODO: Fill request struct fields.
		// See https://pkg.go.dev/cloud.google.com/go/channel/apiv1/channelpb#FetchReportResultsRequest.
	}
	it := c.FetchReportResults(ctx, req)
	for {
		resp, err := it.Next()
		if err == iterator.Done {
			break
		}
		if err != nil {
			// TODO: Handle error.
		}
		// TODO: Use resp.
		_ = resp

		// If you need to access the underlying RPC response,
		// you can do so by casting the `Response` as below.
		// Otherwise, remove this line. Only populated after
		// first call to Next(). Not safe for concurrent access.
		_ = it.Response.(*channelpb.FetchReportResultsResponse)
	}
}
Output:

Example (All)
package main

import (
	"context"

	channel "cloud.google.com/go/channel/apiv1"
	channelpb "cloud.google.com/go/channel/apiv1/channelpb"
)

func main() {
	ctx := context.Background()
	// 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://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
	c, err := channel.NewCloudChannelReportsClient(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	defer c.Close()

	req := &channelpb.FetchReportResultsRequest{
		// TODO: Fill request struct fields.
		// See https://pkg.go.dev/cloud.google.com/go/channel/apiv1/channelpb#FetchReportResultsRequest.
	}
	for resp, err := range c.FetchReportResults(ctx, req).All() {
		if err != nil {
			// TODO: Handle error.
		}
		// TODO: Use resp.
		_ = resp
	}
}
Output:

func (*CloudChannelReportsClient) GetOperation added in v1.8.0

GetOperation is a utility method from google.longrunning.Operations.

Example
package main

import (
	"context"

	channel "cloud.google.com/go/channel/apiv1"

	longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb"
)

func main() {
	ctx := context.Background()
	// 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://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
	c, err := channel.NewCloudChannelReportsClient(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	defer c.Close()

	req := &longrunningpb.GetOperationRequest{
		// TODO: Fill request struct fields.
		// See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#GetOperationRequest.
	}
	resp, err := c.GetOperation(ctx, req)
	if err != nil {
		// TODO: Handle error.
	}
	// TODO: Use resp.
	_ = resp
}
Output:

func (*CloudChannelReportsClient) ListOperations added in v1.8.0

ListOperations is a utility method from google.longrunning.Operations.

Example
package main

import (
	"context"

	channel "cloud.google.com/go/channel/apiv1"

	longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb"
	"google.golang.org/api/iterator"
)

func main() {
	ctx := context.Background()
	// 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://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
	c, err := channel.NewCloudChannelReportsClient(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	defer c.Close()

	req := &longrunningpb.ListOperationsRequest{
		// TODO: Fill request struct fields.
		// See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#ListOperationsRequest.
	}
	it := c.ListOperations(ctx, req)
	for {
		resp, err := it.Next()
		if err == iterator.Done {
			break
		}
		if err != nil {
			// TODO: Handle error.
		}
		// TODO: Use resp.
		_ = resp

		// If you need to access the underlying RPC response,
		// you can do so by casting the `Response` as below.
		// Otherwise, remove this line. Only populated after
		// first call to Next(). Not safe for concurrent access.
		_ = it.Response.(*longrunningpb.ListOperationsResponse)
	}
}
Output:

Example (All)
package main

import (
	"context"

	channel "cloud.google.com/go/channel/apiv1"

	longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb"
)

func main() {
	ctx := context.Background()
	// 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://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
	c, err := channel.NewCloudChannelReportsClient(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	defer c.Close()

	req := &longrunningpb.ListOperationsRequest{
		// TODO: Fill request struct fields.
		// See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#ListOperationsRequest.
	}
	for resp, err := range c.ListOperations(ctx, req).All() {
		if err != nil {
			// TODO: Handle error.
		}
		// TODO: Use resp.
		_ = resp
	}
}
Output:

func (*CloudChannelReportsClient) ListReports deprecated added in v1.8.0

ListReports lists the reports that RunReportJob can run. These reports include an ID, a description, and the list of columns that will be in the result.

Deprecated: Please use Export Channel Services data to BigQuery (at https://cloud.google.com/channel/docs/rebilling/export-data-to-bigquery) instead.

Deprecated: ListReports may be removed in a future version.

Example
package main

import (
	"context"

	channel "cloud.google.com/go/channel/apiv1"
	channelpb "cloud.google.com/go/channel/apiv1/channelpb"
	"google.golang.org/api/iterator"
)

func main() {
	ctx := context.Background()
	// 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://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
	c, err := channel.NewCloudChannelReportsClient(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	defer c.Close()

	req := &channelpb.ListReportsRequest{
		// TODO: Fill request struct fields.
		// See https://pkg.go.dev/cloud.google.com/go/channel/apiv1/channelpb#ListReportsRequest.
	}
	it := c.ListReports(ctx, req)
	for {
		resp, err := it.Next()
		if err == iterator.Done {
			break
		}
		if err != nil {
			// TODO: Handle error.
		}
		// TODO: Use resp.
		_ = resp

		// If you need to access the underlying RPC response,
		// you can do so by casting the `Response` as below.
		// Otherwise, remove this line. Only populated after
		// first call to Next(). Not safe for concurrent access.
		_ = it.Response.(*channelpb.ListReportsResponse)
	}
}
Output:

Example (All)
package main

import (
	"context"

	channel "cloud.google.com/go/channel/apiv1"
	channelpb "cloud.google.com/go/channel/apiv1/channelpb"
)

func main() {
	ctx := context.Background()
	// 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://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
	c, err := channel.NewCloudChannelReportsClient(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	defer c.Close()

	req := &channelpb.ListReportsRequest{
		// TODO: Fill request struct fields.
		// See https://pkg.go.dev/cloud.google.com/go/channel/apiv1/channelpb#ListReportsRequest.
	}
	for resp, err := range c.ListReports(ctx, req).All() {
		if err != nil {
			// TODO: Handle error.
		}
		// TODO: Use resp.
		_ = resp
	}
}
Output:

func (*CloudChannelReportsClient) RunReportJob deprecated added in v1.8.0

RunReportJob begins generation of data for a given report. The report identifier is a UID (for example, 613bf59q).

Possible error codes:

PERMISSION_DENIED: The user doesn’t have access to this report.

INVALID_ARGUMENT: Required request parameters are missing
or invalid.

NOT_FOUND: The report identifier was 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 contains an instance of OperationMetadata.

To get the results of report generation, call CloudChannelReportsService.FetchReportResults with the RunReportJobResponse.report_job.

Deprecated: Please use Export Channel Services data to BigQuery (at https://cloud.google.com/channel/docs/rebilling/export-data-to-bigquery) instead.

Deprecated: RunReportJob may be removed in a future version.

Example
package main

import (
	"context"

	channel "cloud.google.com/go/channel/apiv1"
	channelpb "cloud.google.com/go/channel/apiv1/channelpb"
)

func main() {
	ctx := context.Background()
	// 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://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
	c, err := channel.NewCloudChannelReportsClient(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	defer c.Close()

	req := &channelpb.RunReportJobRequest{
		// TODO: Fill request struct fields.
		// See https://pkg.go.dev/cloud.google.com/go/channel/apiv1/channelpb#RunReportJobRequest.
	}
	op, err := c.RunReportJob(ctx, req)
	if err != nil {
		// TODO: Handle error.
	}

	resp, err := op.Wait(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	// TODO: Use resp.
	_ = resp
}
Output:

func (*CloudChannelReportsClient) RunReportJobOperation added in v1.8.0

func (c *CloudChannelReportsClient) RunReportJobOperation(name string) *RunReportJobOperation

RunReportJobOperation returns a new RunReportJobOperation from a given name. The name must be that of a previously created RunReportJobOperation, possibly from a different process.

type CreateEntitlementOperation

type CreateEntitlementOperation struct {
	// contains filtered or unexported fields
}

CreateEntitlementOperation manages a long-running operation from CreateEntitlement.

func (*CreateEntitlementOperation) Done

func (op *CreateEntitlementOperation) Done() bool

Done reports whether the long-running operation has completed.

func (*CreateEntitlementOperation) Metadata

Metadata returns metadata associated with the long-running operation. Metadata itself does not contact the server, but Poll does. To get the latest metadata, call this method after a successful call to Poll. If the metadata is not available, the returned metadata and error are both nil.

func (*CreateEntitlementOperation) Name

Name returns the name of the long-running operation. The name is assigned by the server and is unique within the service from which the operation is created.

func (*CreateEntitlementOperation) Poll

Poll fetches the latest state of the long-running operation.

Poll also fetches the latest metadata, which can be retrieved by Metadata.

If Poll fails, the error is returned and op is unmodified. If Poll succeeds and the operation has completed with failure, the error is returned and op.Done will return true. If Poll succeeds and the operation has completed successfully, op.Done will return true, and the response of the operation is returned. If Poll succeeds and the operation has not completed, the returned response and error are both nil.

func (*CreateEntitlementOperation) Wait

Wait blocks until the long-running operation is completed, returning the response and any errors encountered.

See documentation of Poll for error-handling information.

type CustomerIterator

type CustomerIterator struct {

	// Response is the raw response for the current page.
	// It must be cast to the RPC response type.
	// Calling Next() or InternalFetch() updates this value.
	Response interface{}

	// InternalFetch is for use by the Google Cloud Libraries only.
	// It is not part of the stable interface of this package.
	//
	// InternalFetch returns results from a single call to the underlying RPC.
	// The number of results is no greater than pageSize.
	// If there are no more results, nextPageToken is empty and err is nil.
	InternalFetch func(pageSize int, pageToken string) (results []*channelpb.Customer, nextPageToken string, err error)
	// contains filtered or unexported fields
}

CustomerIterator manages a stream of *channelpb.Customer.

func (*CustomerIterator) All added in v1.18.1

All returns an iterator. If an error is returned by the iterator, the iterator will stop after that iteration.

func (*CustomerIterator) Next

func (it *CustomerIterator) Next() (*channelpb.Customer, error)

Next returns the next result. Its second return value is iterator.Done if there are no more results. Once Next returns Done, all subsequent calls will return Done.

func (*CustomerIterator) PageInfo

func (it *CustomerIterator) PageInfo() *iterator.PageInfo

PageInfo supports pagination. See the google.golang.org/api/iterator package for details.

type CustomerRepricingConfigIterator added in v1.6.0

type CustomerRepricingConfigIterator struct {

	// Response is the raw response for the current page.
	// It must be cast to the RPC response type.
	// Calling Next() or InternalFetch() updates this value.
	Response interface{}

	// InternalFetch is for use by the Google Cloud Libraries only.
	// It is not part of the stable interface of this package.
	//
	// InternalFetch returns results from a single call to the underlying RPC.
	// The number of results is no greater than pageSize.
	// If there are no more results, nextPageToken is empty and err is nil.
	InternalFetch func(pageSize int, pageToken string) (results []*channelpb.CustomerRepricingConfig, nextPageToken string, err error)
	// contains filtered or unexported fields
}

CustomerRepricingConfigIterator manages a stream of *channelpb.CustomerRepricingConfig.

func (*CustomerRepricingConfigIterator) All added in v1.18.1

All returns an iterator. If an error is returned by the iterator, the iterator will stop after that iteration.

func (*CustomerRepricingConfigIterator) Next added in v1.6.0

Next returns the next result. Its second return value is iterator.Done if there are no more results. Once Next returns Done, all subsequent calls will return Done.

func (*CustomerRepricingConfigIterator) PageInfo added in v1.6.0

PageInfo supports pagination. See the google.golang.org/api/iterator package for details.

type EntitlementChangeIterator added in v1.12.0

type EntitlementChangeIterator struct {

	// Response is the raw response for the current page.
	// It must be cast to the RPC response type.
	// Calling Next() or InternalFetch() updates this value.
	Response interface{}

	// InternalFetch is for use by the Google Cloud Libraries only.
	// It is not part of the stable interface of this package.
	//
	// InternalFetch returns results from a single call to the underlying RPC.
	// The number of results is no greater than pageSize.
	// If there are no more results, nextPageToken is empty and err is nil.
	InternalFetch func(pageSize int, pageToken string) (results []*channelpb.EntitlementChange, nextPageToken string, err error)
	// contains filtered or unexported fields
}

EntitlementChangeIterator manages a stream of *channelpb.EntitlementChange.

func (*EntitlementChangeIterator) All added in v1.18.1

All returns an iterator. If an error is returned by the iterator, the iterator will stop after that iteration.

func (*EntitlementChangeIterator) Next added in v1.12.0

Next returns the next result. Its second return value is iterator.Done if there are no more results. Once Next returns Done, all subsequent calls will return Done.

func (*EntitlementChangeIterator) PageInfo added in v1.12.0

PageInfo supports pagination. See the google.golang.org/api/iterator package for details.

type EntitlementIterator

type EntitlementIterator struct {

	// Response is the raw response for the current page.
	// It must be cast to the RPC response type.
	// Calling Next() or InternalFetch() updates this value.
	Response interface{}

	// InternalFetch is for use by the Google Cloud Libraries only.
	// It is not part of the stable interface of this package.
	//
	// InternalFetch returns results from a single call to the underlying RPC.
	// The number of results is no greater than pageSize.
	// If there are no more results, nextPageToken is empty and err is nil.
	InternalFetch func(pageSize int, pageToken string) (results []*channelpb.Entitlement, nextPageToken string, err error)
	// contains filtered or unexported fields
}

EntitlementIterator manages a stream of *channelpb.Entitlement.

func (*EntitlementIterator) All added in v1.18.1

All returns an iterator. If an error is returned by the iterator, the iterator will stop after that iteration.

func (*EntitlementIterator) Next

Next returns the next result. Its second return value is iterator.Done if there are no more results. Once Next returns Done, all subsequent calls will return Done.

func (*EntitlementIterator) PageInfo

func (it *EntitlementIterator) PageInfo() *iterator.PageInfo

PageInfo supports pagination. See the google.golang.org/api/iterator package for details.

type OfferIterator

type OfferIterator struct {

	// Response is the raw response for the current page.
	// It must be cast to the RPC response type.
	// Calling Next() or InternalFetch() updates this value.
	Response interface{}

	// InternalFetch is for use by the Google Cloud Libraries only.
	// It is not part of the stable interface of this package.
	//
	// InternalFetch returns results from a single call to the underlying RPC.
	// The number of results is no greater than pageSize.
	// If there are no more results, nextPageToken is empty and err is nil.
	InternalFetch func(pageSize int, pageToken string) (results []*channelpb.Offer, nextPageToken string, err error)
	// contains filtered or unexported fields
}

OfferIterator manages a stream of *channelpb.Offer.

func (*OfferIterator) All added in v1.18.1

func (it *OfferIterator) All() iter.Seq2[*channelpb.Offer, error]

All returns an iterator. If an error is returned by the iterator, the iterator will stop after that iteration.

func (*OfferIterator) Next

func (it *OfferIterator) Next() (*channelpb.Offer, error)

Next returns the next result. Its second return value is iterator.Done if there are no more results. Once Next returns Done, all subsequent calls will return Done.

func (*OfferIterator) PageInfo

func (it *OfferIterator) PageInfo() *iterator.PageInfo

PageInfo supports pagination. See the google.golang.org/api/iterator package for details.

type OperationIterator added in v1.7.0

type OperationIterator struct {

	// Response is the raw response for the current page.
	// It must be cast to the RPC response type.
	// Calling Next() or InternalFetch() updates this value.
	Response interface{}

	// InternalFetch is for use by the Google Cloud Libraries only.
	// It is not part of the stable interface of this package.
	//
	// InternalFetch returns results from a single call to the underlying RPC.
	// The number of results is no greater than pageSize.
	// If there are no more results, nextPageToken is empty and err is nil.
	InternalFetch func(pageSize int, pageToken string) (results []*longrunningpb.Operation, nextPageToken string, err error)
	// contains filtered or unexported fields
}

OperationIterator manages a stream of *longrunningpb.Operation.

func (*OperationIterator) All added in v1.18.1

All returns an iterator. If an error is returned by the iterator, the iterator will stop after that iteration.

func (*OperationIterator) Next added in v1.7.0

Next returns the next result. Its second return value is iterator.Done if there are no more results. Once Next returns Done, all subsequent calls will return Done.

func (*OperationIterator) PageInfo added in v1.7.0

func (it *OperationIterator) PageInfo() *iterator.PageInfo

PageInfo supports pagination. See the google.golang.org/api/iterator package for details.

type ProductIterator

type ProductIterator struct {

	// Response is the raw response for the current page.
	// It must be cast to the RPC response type.
	// Calling Next() or InternalFetch() updates this value.
	Response interface{}

	// InternalFetch is for use by the Google Cloud Libraries only.
	// It is not part of the stable interface of this package.
	//
	// InternalFetch returns results from a single call to the underlying RPC.
	// The number of results is no greater than pageSize.
	// If there are no more results, nextPageToken is empty and err is nil.
	InternalFetch func(pageSize int, pageToken string) (results []*channelpb.Product, nextPageToken string, err error)
	// contains filtered or unexported fields
}

ProductIterator manages a stream of *channelpb.Product.

func (*ProductIterator) All added in v1.18.1

All returns an iterator. If an error is returned by the iterator, the iterator will stop after that iteration.

func (*ProductIterator) Next

func (it *ProductIterator) Next() (*channelpb.Product, error)

Next returns the next result. Its second return value is iterator.Done if there are no more results. Once Next returns Done, all subsequent calls will return Done.

func (*ProductIterator) PageInfo

func (it *ProductIterator) PageInfo() *iterator.PageInfo

PageInfo supports pagination. See the google.golang.org/api/iterator package for details.

type ProvisionCloudIdentityOperation

type ProvisionCloudIdentityOperation struct {
	// contains filtered or unexported fields
}

ProvisionCloudIdentityOperation manages a long-running operation from ProvisionCloudIdentity.

func (*ProvisionCloudIdentityOperation) Done

Done reports whether the long-running operation has completed.

func (*ProvisionCloudIdentityOperation) Metadata

Metadata returns metadata associated with the long-running operation. Metadata itself does not contact the server, but Poll does. To get the latest metadata, call this method after a successful call to Poll. If the metadata is not available, the returned metadata and error are both nil.

func (*ProvisionCloudIdentityOperation) Name

Name returns the name of the long-running operation. The name is assigned by the server and is unique within the service from which the operation is created.

func (*ProvisionCloudIdentityOperation) Poll

Poll fetches the latest state of the long-running operation.

Poll also fetches the latest metadata, which can be retrieved by Metadata.

If Poll fails, the error is returned and op is unmodified. If Poll succeeds and the operation has completed with failure, the error is returned and op.Done will return true. If Poll succeeds and the operation has completed successfully, op.Done will return true, and the response of the operation is returned. If Poll succeeds and the operation has not completed, the returned response and error are both nil.

func (*ProvisionCloudIdentityOperation) Wait

Wait blocks until the long-running operation is completed, returning the response and any errors encountered.

See documentation of Poll for error-handling information.

type PurchasableOfferIterator

type PurchasableOfferIterator struct {

	// Response is the raw response for the current page.
	// It must be cast to the RPC response type.
	// Calling Next() or InternalFetch() updates this value.
	Response interface{}

	// InternalFetch is for use by the Google Cloud Libraries only.
	// It is not part of the stable interface of this package.
	//
	// InternalFetch returns results from a single call to the underlying RPC.
	// The number of results is no greater than pageSize.
	// If there are no more results, nextPageToken is empty and err is nil.
	InternalFetch func(pageSize int, pageToken string) (results []*channelpb.PurchasableOffer, nextPageToken string, err error)
	// contains filtered or unexported fields
}

PurchasableOfferIterator manages a stream of *channelpb.PurchasableOffer.

func (*PurchasableOfferIterator) All added in v1.18.1

All returns an iterator. If an error is returned by the iterator, the iterator will stop after that iteration.

func (*PurchasableOfferIterator) Next

Next returns the next result. Its second return value is iterator.Done if there are no more results. Once Next returns Done, all subsequent calls will return Done.

func (*PurchasableOfferIterator) PageInfo

func (it *PurchasableOfferIterator) PageInfo() *iterator.PageInfo

PageInfo supports pagination. See the google.golang.org/api/iterator package for details.

type PurchasableSkuIterator

type PurchasableSkuIterator struct {

	// Response is the raw response for the current page.
	// It must be cast to the RPC response type.
	// Calling Next() or InternalFetch() updates this value.
	Response interface{}

	// InternalFetch is for use by the Google Cloud Libraries only.
	// It is not part of the stable interface of this package.
	//
	// InternalFetch returns results from a single call to the underlying RPC.
	// The number of results is no greater than pageSize.
	// If there are no more results, nextPageToken is empty and err is nil.
	InternalFetch func(pageSize int, pageToken string) (results []*channelpb.PurchasableSku, nextPageToken string, err error)
	// contains filtered or unexported fields
}

PurchasableSkuIterator manages a stream of *channelpb.PurchasableSku.

func (*PurchasableSkuIterator) All added in v1.18.1

All returns an iterator. If an error is returned by the iterator, the iterator will stop after that iteration.

func (*PurchasableSkuIterator) Next

Next returns the next result. Its second return value is iterator.Done if there are no more results. Once Next returns Done, all subsequent calls will return Done.

func (*PurchasableSkuIterator) PageInfo

func (it *PurchasableSkuIterator) PageInfo() *iterator.PageInfo

PageInfo supports pagination. See the google.golang.org/api/iterator package for details.

type ReportIterator added in v1.8.0

type ReportIterator struct {

	// Response is the raw response for the current page.
	// It must be cast to the RPC response type.
	// Calling Next() or InternalFetch() updates this value.
	Response interface{}

	// InternalFetch is for use by the Google Cloud Libraries only.
	// It is not part of the stable interface of this package.
	//
	// InternalFetch returns results from a single call to the underlying RPC.
	// The number of results is no greater than pageSize.
	// If there are no more results, nextPageToken is empty and err is nil.
	InternalFetch func(pageSize int, pageToken string) (results []*channelpb.Report, nextPageToken string, err error)
	// contains filtered or unexported fields
}

ReportIterator manages a stream of *channelpb.Report.

func (*ReportIterator) All added in v1.18.1

All returns an iterator. If an error is returned by the iterator, the iterator will stop after that iteration.

func (*ReportIterator) Next added in v1.8.0

func (it *ReportIterator) Next() (*channelpb.Report, error)

Next returns the next result. Its second return value is iterator.Done if there are no more results. Once Next returns Done, all subsequent calls will return Done.

func (*ReportIterator) PageInfo added in v1.8.0

func (it *ReportIterator) PageInfo() *iterator.PageInfo

PageInfo supports pagination. See the google.golang.org/api/iterator package for details.

type RowIterator added in v1.8.0

type RowIterator struct {

	// Response is the raw response for the current page.
	// It must be cast to the RPC response type.
	// Calling Next() or InternalFetch() updates this value.
	Response interface{}

	// InternalFetch is for use by the Google Cloud Libraries only.
	// It is not part of the stable interface of this package.
	//
	// InternalFetch returns results from a single call to the underlying RPC.
	// The number of results is no greater than pageSize.
	// If there are no more results, nextPageToken is empty and err is nil.
	InternalFetch func(pageSize int, pageToken string) (results []*channelpb.Row, nextPageToken string, err error)
	// contains filtered or unexported fields
}

RowIterator manages a stream of *channelpb.Row.

func (*RowIterator) All added in v1.18.1

func (it *RowIterator) All() iter.Seq2[*channelpb.Row, error]

All returns an iterator. If an error is returned by the iterator, the iterator will stop after that iteration.

func (*RowIterator) Next added in v1.8.0

func (it *RowIterator) Next() (*channelpb.Row, error)

Next returns the next result. Its second return value is iterator.Done if there are no more results. Once Next returns Done, all subsequent calls will return Done.

func (*RowIterator) PageInfo added in v1.8.0

func (it *RowIterator) PageInfo() *iterator.PageInfo

PageInfo supports pagination. See the google.golang.org/api/iterator package for details.

type RunReportJobOperation added in v1.8.0

type RunReportJobOperation struct {
	// contains filtered or unexported fields
}

RunReportJobOperation manages a long-running operation from RunReportJob.

func (*RunReportJobOperation) Done added in v1.8.0

func (op *RunReportJobOperation) Done() bool

Done reports whether the long-running operation has completed.

func (*RunReportJobOperation) Metadata added in v1.8.0

Metadata returns metadata associated with the long-running operation. Metadata itself does not contact the server, but Poll does. To get the latest metadata, call this method after a successful call to Poll. If the metadata is not available, the returned metadata and error are both nil.

func (*RunReportJobOperation) Name added in v1.8.0

func (op *RunReportJobOperation) Name() string

Name returns the name of the long-running operation. The name is assigned by the server and is unique within the service from which the operation is created.

func (*RunReportJobOperation) Poll added in v1.8.0

Poll fetches the latest state of the long-running operation.

Poll also fetches the latest metadata, which can be retrieved by Metadata.

If Poll fails, the error is returned and op is unmodified. If Poll succeeds and the operation has completed with failure, the error is returned and op.Done will return true. If Poll succeeds and the operation has completed successfully, op.Done will return true, and the response of the operation is returned. If Poll succeeds and the operation has not completed, the returned response and error are both nil.

func (*RunReportJobOperation) Wait added in v1.8.0

Wait blocks until the long-running operation is completed, returning the response and any errors encountered.

See documentation of Poll for error-handling information.

type SkuGroupIterator added in v1.16.0

type SkuGroupIterator struct {

	// Response is the raw response for the current page.
	// It must be cast to the RPC response type.
	// Calling Next() or InternalFetch() updates this value.
	Response interface{}

	// InternalFetch is for use by the Google Cloud Libraries only.
	// It is not part of the stable interface of this package.
	//
	// InternalFetch returns results from a single call to the underlying RPC.
	// The number of results is no greater than pageSize.
	// If there are no more results, nextPageToken is empty and err is nil.
	InternalFetch func(pageSize int, pageToken string) (results []*channelpb.SkuGroup, nextPageToken string, err error)
	// contains filtered or unexported fields
}

SkuGroupIterator manages a stream of *channelpb.SkuGroup.

func (*SkuGroupIterator) All added in v1.18.1

All returns an iterator. If an error is returned by the iterator, the iterator will stop after that iteration.

func (*SkuGroupIterator) Next added in v1.16.0

func (it *SkuGroupIterator) Next() (*channelpb.SkuGroup, error)

Next returns the next result. Its second return value is iterator.Done if there are no more results. Once Next returns Done, all subsequent calls will return Done.

func (*SkuGroupIterator) PageInfo added in v1.16.0

func (it *SkuGroupIterator) PageInfo() *iterator.PageInfo

PageInfo supports pagination. See the google.golang.org/api/iterator package for details.

type SkuIterator

type SkuIterator struct {

	// Response is the raw response for the current page.
	// It must be cast to the RPC response type.
	// Calling Next() or InternalFetch() updates this value.
	Response interface{}

	// InternalFetch is for use by the Google Cloud Libraries only.
	// It is not part of the stable interface of this package.
	//
	// InternalFetch returns results from a single call to the underlying RPC.
	// The number of results is no greater than pageSize.
	// If there are no more results, nextPageToken is empty and err is nil.
	InternalFetch func(pageSize int, pageToken string) (results []*channelpb.Sku, nextPageToken string, err error)
	// contains filtered or unexported fields
}

SkuIterator manages a stream of *channelpb.Sku.

func (*SkuIterator) All added in v1.18.1

func (it *SkuIterator) All() iter.Seq2[*channelpb.Sku, error]

All returns an iterator. If an error is returned by the iterator, the iterator will stop after that iteration.

func (*SkuIterator) Next

func (it *SkuIterator) Next() (*channelpb.Sku, error)

Next returns the next result. Its second return value is iterator.Done if there are no more results. Once Next returns Done, all subsequent calls will return Done.

func (*SkuIterator) PageInfo

func (it *SkuIterator) PageInfo() *iterator.PageInfo

PageInfo supports pagination. See the google.golang.org/api/iterator package for details.

type StartPaidServiceOperation

type StartPaidServiceOperation struct {
	// contains filtered or unexported fields
}

StartPaidServiceOperation manages a long-running operation from StartPaidService.

func (*StartPaidServiceOperation) Done

func (op *StartPaidServiceOperation) Done() bool

Done reports whether the long-running operation has completed.

func (*StartPaidServiceOperation) Metadata

Metadata returns metadata associated with the long-running operation. Metadata itself does not contact the server, but Poll does. To get the latest metadata, call this method after a successful call to Poll. If the metadata is not available, the returned metadata and error are both nil.

func (*StartPaidServiceOperation) Name

func (op *StartPaidServiceOperation) Name() string

Name returns the name of the long-running operation. The name is assigned by the server and is unique within the service from which the operation is created.

func (*StartPaidServiceOperation) Poll

Poll fetches the latest state of the long-running operation.

Poll also fetches the latest metadata, which can be retrieved by Metadata.

If Poll fails, the error is returned and op is unmodified. If Poll succeeds and the operation has completed with failure, the error is returned and op.Done will return true. If Poll succeeds and the operation has completed successfully, op.Done will return true, and the response of the operation is returned. If Poll succeeds and the operation has not completed, the returned response and error are both nil.

func (*StartPaidServiceOperation) Wait

Wait blocks until the long-running operation is completed, returning the response and any errors encountered.

See documentation of Poll for error-handling information.

type StringIterator

type StringIterator struct {

	// Response is the raw response for the current page.
	// It must be cast to the RPC response type.
	// Calling Next() or InternalFetch() updates this value.
	Response interface{}

	// InternalFetch is for use by the Google Cloud Libraries only.
	// It is not part of the stable interface of this package.
	//
	// InternalFetch returns results from a single call to the underlying RPC.
	// The number of results is no greater than pageSize.
	// If there are no more results, nextPageToken is empty and err is nil.
	InternalFetch func(pageSize int, pageToken string) (results []string, nextPageToken string, err error)
	// contains filtered or unexported fields
}

StringIterator manages a stream of string.

func (*StringIterator) All added in v1.18.1

func (it *StringIterator) All() iter.Seq2[string, error]

All returns an iterator. If an error is returned by the iterator, the iterator will stop after that iteration.

func (*StringIterator) Next

func (it *StringIterator) Next() (string, error)

Next returns the next result. Its second return value is iterator.Done if there are no more results. Once Next returns Done, all subsequent calls will return Done.

func (*StringIterator) PageInfo

func (it *StringIterator) PageInfo() *iterator.PageInfo

PageInfo supports pagination. See the google.golang.org/api/iterator package for details.

type SuspendEntitlementOperation

type SuspendEntitlementOperation struct {
	// contains filtered or unexported fields
}

SuspendEntitlementOperation manages a long-running operation from SuspendEntitlement.

func (*SuspendEntitlementOperation) Done

func (op *SuspendEntitlementOperation) Done() bool

Done reports whether the long-running operation has completed.

func (*SuspendEntitlementOperation) Metadata

Metadata returns metadata associated with the long-running operation. Metadata itself does not contact the server, but Poll does. To get the latest metadata, call this method after a successful call to Poll. If the metadata is not available, the returned metadata and error are both nil.

func (*SuspendEntitlementOperation) Name

Name returns the name of the long-running operation. The name is assigned by the server and is unique within the service from which the operation is created.

func (*SuspendEntitlementOperation) Poll

Poll fetches the latest state of the long-running operation.

Poll also fetches the latest metadata, which can be retrieved by Metadata.

If Poll fails, the error is returned and op is unmodified. If Poll succeeds and the operation has completed with failure, the error is returned and op.Done will return true. If Poll succeeds and the operation has completed successfully, op.Done will return true, and the response of the operation is returned. If Poll succeeds and the operation has not completed, the returned response and error are both nil.

func (*SuspendEntitlementOperation) Wait

Wait blocks until the long-running operation is completed, returning the response and any errors encountered.

See documentation of Poll for error-handling information.

type TransferEntitlementsOperation

type TransferEntitlementsOperation struct {
	// contains filtered or unexported fields
}

TransferEntitlementsOperation manages a long-running operation from TransferEntitlements.

func (*TransferEntitlementsOperation) Done

Done reports whether the long-running operation has completed.

func (*TransferEntitlementsOperation) Metadata

Metadata returns metadata associated with the long-running operation. Metadata itself does not contact the server, but Poll does. To get the latest metadata, call this method after a successful call to Poll. If the metadata is not available, the returned metadata and error are both nil.

func (*TransferEntitlementsOperation) Name

Name returns the name of the long-running operation. The name is assigned by the server and is unique within the service from which the operation is created.

func (*TransferEntitlementsOperation) Poll

Poll fetches the latest state of the long-running operation.

Poll also fetches the latest metadata, which can be retrieved by Metadata.

If Poll fails, the error is returned and op is unmodified. If Poll succeeds and the operation has completed with failure, the error is returned and op.Done will return true. If Poll succeeds and the operation has completed successfully, op.Done will return true, and the response of the operation is returned. If Poll succeeds and the operation has not completed, the returned response and error are both nil.

func (*TransferEntitlementsOperation) Wait

Wait blocks until the long-running operation is completed, returning the response and any errors encountered.

See documentation of Poll for error-handling information.

type TransferEntitlementsToGoogleOperation

type TransferEntitlementsToGoogleOperation struct {
	// contains filtered or unexported fields
}

TransferEntitlementsToGoogleOperation manages a long-running operation from TransferEntitlementsToGoogle.

func (*TransferEntitlementsToGoogleOperation) Done

Done reports whether the long-running operation has completed.

func (*TransferEntitlementsToGoogleOperation) Metadata

Metadata returns metadata associated with the long-running operation. Metadata itself does not contact the server, but Poll does. To get the latest metadata, call this method after a successful call to Poll. If the metadata is not available, the returned metadata and error are both nil.

func (*TransferEntitlementsToGoogleOperation) Name

Name returns the name of the long-running operation. The name is assigned by the server and is unique within the service from which the operation is created.

func (*TransferEntitlementsToGoogleOperation) Poll

Poll fetches the latest state of the long-running operation.

Poll also fetches the latest metadata, which can be retrieved by Metadata.

If Poll fails, the error is returned and op is unmodified. If Poll succeeds and the operation has completed with failure, the error is returned and op.Done will return true. If Poll succeeds and the operation has completed successfully, op.Done will return true, and the response of the operation is returned. If Poll succeeds and the operation has not completed, the returned response and error are both nil.

func (*TransferEntitlementsToGoogleOperation) Wait

Wait blocks until the long-running operation is completed, returning the response and any errors encountered.

See documentation of Poll for error-handling information.

type TransferableOfferIterator

type TransferableOfferIterator struct {

	// Response is the raw response for the current page.
	// It must be cast to the RPC response type.
	// Calling Next() or InternalFetch() updates this value.
	Response interface{}

	// InternalFetch is for use by the Google Cloud Libraries only.
	// It is not part of the stable interface of this package.
	//
	// InternalFetch returns results from a single call to the underlying RPC.
	// The number of results is no greater than pageSize.
	// If there are no more results, nextPageToken is empty and err is nil.
	InternalFetch func(pageSize int, pageToken string) (results []*channelpb.TransferableOffer, nextPageToken string, err error)
	// contains filtered or unexported fields
}

TransferableOfferIterator manages a stream of *channelpb.TransferableOffer.

func (*TransferableOfferIterator) All added in v1.18.1

All returns an iterator. If an error is returned by the iterator, the iterator will stop after that iteration.

func (*TransferableOfferIterator) Next

Next returns the next result. Its second return value is iterator.Done if there are no more results. Once Next returns Done, all subsequent calls will return Done.

func (*TransferableOfferIterator) PageInfo

PageInfo supports pagination. See the google.golang.org/api/iterator package for details.

type TransferableSkuIterator

type TransferableSkuIterator struct {

	// Response is the raw response for the current page.
	// It must be cast to the RPC response type.
	// Calling Next() or InternalFetch() updates this value.
	Response interface{}

	// InternalFetch is for use by the Google Cloud Libraries only.
	// It is not part of the stable interface of this package.
	//
	// InternalFetch returns results from a single call to the underlying RPC.
	// The number of results is no greater than pageSize.
	// If there are no more results, nextPageToken is empty and err is nil.
	InternalFetch func(pageSize int, pageToken string) (results []*channelpb.TransferableSku, nextPageToken string, err error)
	// contains filtered or unexported fields
}

TransferableSkuIterator manages a stream of *channelpb.TransferableSku.

func (*TransferableSkuIterator) All added in v1.18.1

All returns an iterator. If an error is returned by the iterator, the iterator will stop after that iteration.

func (*TransferableSkuIterator) Next

Next returns the next result. Its second return value is iterator.Done if there are no more results. Once Next returns Done, all subsequent calls will return Done.

func (*TransferableSkuIterator) PageInfo

func (it *TransferableSkuIterator) PageInfo() *iterator.PageInfo

PageInfo supports pagination. See the google.golang.org/api/iterator package for details.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL