Cloud Channel API v1 - Package cloud.google.com/go/channel/apiv1 (v1.19.1)

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.

Functions

func DefaultAuthScopes

func DefaultAuthScopes() []string

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

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.

BillableSkuIterator

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

func (it *BillableSkuIterator) All() iter.Seq2[*channelpb.BillableSku, error]

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

func (*BillableSkuIterator) 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 (*BillableSkuIterator) PageInfo

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

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

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.

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.

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.

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.

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

func (it *ChannelPartnerLinkIterator) All() iter.Seq2[*channelpb.ChannelPartnerLink, error]

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

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

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

ChannelPartnerRepricingConfigIterator

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

func (it *ChannelPartnerRepricingConfigIterator) All() iter.Seq2[*channelpb.ChannelPartnerRepricingConfig, error]

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

func (*ChannelPartnerRepricingConfigIterator) 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 (*ChannelPartnerRepricingConfigIterator) PageInfo

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

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

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.

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
}

func NewCloudChannelRESTClient

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
}

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
}

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

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

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

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
}

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
}

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
}

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
}

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.

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.CreateChannelPartnerLinkRequest{
		// TODO: Fill request struct fields.
		// See https://pkg.go.dev/cloud.google.com/go/channel/apiv1/channelpb#CreateChannelPartnerLinkRequest.
	}
	resp, err := c.CreateChannelPartnerLink(ctx, req)
	if err != nil {
		// TODO: Handle error.
	}
	// TODO: Use resp.
	_ = resp
}

func (*CloudChannelClient) CreateChannelPartnerRepricingConfig

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
}

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
}

func (*CloudChannelClient) CreateCustomerRepricingConfig

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
}

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
}

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

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

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

func (*CloudChannelClient) DeleteCustomerRepricingConfig

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

func (*CloudChannelClient) DeleteOperation

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

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.

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.GetChannelPartnerLinkRequest{
		// TODO: Fill request struct fields.
		// See https://pkg.go.dev/cloud.google.com/go/channel/apiv1/channelpb#GetChannelPartnerLinkRequest.
	}
	resp, err := c.GetChannelPartnerLink(ctx, req)
	if err != nil {
		// TODO: Handle error.
	}
	// TODO: Use resp.
	_ = resp
}

func (*CloudChannelClient) GetChannelPartnerRepricingConfig

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
}

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
}

func (*CloudChannelClient) GetCustomerRepricingConfig

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
}

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
}

func (*CloudChannelClient) GetOperation

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
}

func (*CloudChannelClient) ImportCustomer

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
}

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.

Examples

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.ListChannelPartnerLinksRequest{
		// TODO: Fill request struct fields.
		// See https://pkg.go.dev/cloud.google.com/go/channel/apiv1/channelpb#ListChannelPartnerLinksRequest.
	}
	it := c.ListChannelPartnerLinks(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.ListChannelPartnerLinksResponse)
	}
}
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.ListChannelPartnerLinksRequest{
		// TODO: Fill request struct fields.
		// See https://pkg.go.dev/cloud.google.com/go/channel/apiv1/channelpb#ListChannelPartnerLinksRequest.
	}
	for resp, err := range c.ListChannelPartnerLinks(ctx, req).All() {
		if err != nil {
			// TODO: Handle error.
		}
		// TODO: Use resp.
		_ = resp
	}
}

func (*CloudChannelClient) ListChannelPartnerRepricingConfigs

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.

Examples

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)
	}
}
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
	}
}

func (*CloudChannelClient) ListCustomerRepricingConfigs

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.

Examples

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)
	}
}
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
	}
}

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.

Examples

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)
	}
}
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
	}
}

func (*CloudChannelClient) ListEntitlementChanges

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.

Examples

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)
	}
}
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
	}
}

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.

Examples

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)
	}
}
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
	}
}

func (*CloudChannelClient) ListOffers

ListOffers lists the Offers the reseller can sell.

Possible error codes:

INVALID_ARGUMENT: Required request parameters are missing or invalid.

Examples

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)
	}
}
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
	}
}

func (*CloudChannelClient) ListOperations

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

Examples

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)
	}
}
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
	}
}

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.

Examples

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)
	}
}
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
	}
}

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.

Examples

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)
	}
}
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
	}
}

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.

Examples

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)
	}
}
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
	}
}

func (*CloudChannelClient) ListSkuGroupBillableSkus

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.

Examples

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)
	}
}
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
	}
}

func (*CloudChannelClient) ListSkuGroups

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.

Examples

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)
	}
}
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
	}
}

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.

Examples

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)
	}
}
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
	}
}

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.

Examples

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)
	}
}
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
	}
}

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.

Examples

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)
	}
}
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
	}
}

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.

Examples

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)
	}
}
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
	}
}

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
}

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
}

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

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
}

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
}

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
}

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
}

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
}

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

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
}

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.

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.UpdateChannelPartnerLinkRequest{
		// TODO: Fill request struct fields.
		// See https://pkg.go.dev/cloud.google.com/go/channel/apiv1/channelpb#UpdateChannelPartnerLinkRequest.
	}
	resp, err := c.UpdateChannelPartnerLink(ctx, req)
	if err != nil {
		// TODO: Handle error.
	}
	// TODO: Use resp.
	_ = resp
}

func (*CloudChannelClient) UpdateChannelPartnerRepricingConfig

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
}

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
}

func (*CloudChannelClient) UpdateCustomerRepricingConfig

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
}

CloudChannelReportsCallOptions

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.

CloudChannelReportsClient (deprecated)

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)

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
}

func NewCloudChannelReportsRESTClient (deprecated)

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
}

func (*CloudChannelReportsClient) CancelOperation (deprecated)

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

func (*CloudChannelReportsClient) Close (deprecated)

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)

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 (deprecated)

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

func (*CloudChannelReportsClient) FetchReportResults (deprecated)

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.

Examples

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)
	}
}
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
	}
}

func (*CloudChannelReportsClient) GetOperation (deprecated)

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
}

func (*CloudChannelReportsClient) ListOperations (deprecated)

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

Examples

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)
	}
}
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
	}
}

func (*CloudChannelReportsClient) ListReports (deprecated)

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.

Examples

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)
	}
}
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
	}
}

func (*CloudChannelReportsClient) RunReportJob (deprecated)

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
}

func (*CloudChannelReportsClient) RunReportJobOperation (deprecated)

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.

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.

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

func (it *CustomerIterator) All() iter.Seq2[*channelpb.Customer, error]

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.

CustomerRepricingConfigIterator

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

func (it *CustomerRepricingConfigIterator) All() iter.Seq2[*channelpb.CustomerRepricingConfig, error]

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

func (*CustomerRepricingConfigIterator) 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 (*CustomerRepricingConfigIterator) PageInfo

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

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

EntitlementChangeIterator

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

func (it *EntitlementChangeIterator) All() iter.Seq2[*channelpb.EntitlementChange, error]

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

func (*EntitlementChangeIterator) 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 (*EntitlementChangeIterator) PageInfo

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

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

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

func (it *EntitlementIterator) All() iter.Seq2[*channelpb.Entitlement, error]

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.

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

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.

OperationIterator

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

func (it *OperationIterator) All() iter.Seq2[*longrunningpb.Operation, error]

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

func (*OperationIterator) 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 (*OperationIterator) PageInfo

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

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

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

func (it *ProductIterator) All() iter.Seq2[*channelpb.Product, error]

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.

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.

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

func (it *PurchasableOfferIterator) All() iter.Seq2[*channelpb.PurchasableOffer, error]

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.

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

func (it *PurchasableSkuIterator) All() iter.Seq2[*channelpb.PurchasableSku, error]

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.

ReportIterator

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

func (it *ReportIterator) All() iter.Seq2[*channelpb.Report, error]

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

func (*ReportIterator) Next

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

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

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

RowIterator

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

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

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

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

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

RunReportJobOperation

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

RunReportJobOperation manages a long-running operation from RunReportJob.

func (*RunReportJobOperation) Done

func (op *RunReportJobOperation) Done() bool

Done reports whether the long-running operation has completed.

func (*RunReportJobOperation) 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 (*RunReportJobOperation) Name

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

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

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

See documentation of Poll for error-handling information.

SkuGroupIterator

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

func (it *SkuGroupIterator) All() iter.Seq2[*channelpb.SkuGroup, error]

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

func (*SkuGroupIterator) Next

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

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

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

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

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.

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.

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

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.

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.

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.

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.

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

func (it *TransferableOfferIterator) All() iter.Seq2[*channelpb.TransferableOffer, error]

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

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

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

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

func (it *TransferableSkuIterator) All() iter.Seq2[*channelpb.TransferableSku, error]

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.