diff --git a/apps/events/subscriptions/apiv1/auxiliary.go b/apps/events/subscriptions/apiv1/auxiliary.go new file mode 100755 index 000000000000..ad96fda5fc45 --- /dev/null +++ b/apps/events/subscriptions/apiv1/auxiliary.go @@ -0,0 +1,319 @@ +// Copyright 2024 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +package subscriptions + +import ( + "context" + "time" + + subscriptionspb "cloud.google.com/go/apps/events/subscriptions/apiv1/subscriptionspb" + "cloud.google.com/go/longrunning" + gax "github.com/googleapis/gax-go/v2" + "google.golang.org/api/iterator" +) + +// CreateSubscriptionOperation manages a long-running operation from CreateSubscription. +type CreateSubscriptionOperation struct { + lro *longrunning.Operation + pollPath string +} + +// Wait blocks until the long-running operation is completed, returning the response and any errors encountered. +// +// See documentation of Poll for error-handling information. +func (op *CreateSubscriptionOperation) Wait(ctx context.Context, opts ...gax.CallOption) (*subscriptionspb.Subscription, error) { + opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) + var resp subscriptionspb.Subscription + if err := op.lro.WaitWithInterval(ctx, &resp, time.Minute, opts...); err != nil { + return nil, err + } + return &resp, nil +} + +// 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 (op *CreateSubscriptionOperation) Poll(ctx context.Context, opts ...gax.CallOption) (*subscriptionspb.Subscription, error) { + opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) + var resp subscriptionspb.Subscription + if err := op.lro.Poll(ctx, &resp, opts...); err != nil { + return nil, err + } + if !op.Done() { + return nil, nil + } + return &resp, nil +} + +// 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 (op *CreateSubscriptionOperation) Metadata() (*subscriptionspb.CreateSubscriptionMetadata, error) { + var meta subscriptionspb.CreateSubscriptionMetadata + if err := op.lro.Metadata(&meta); err == longrunning.ErrNoMetadata { + return nil, nil + } else if err != nil { + return nil, err + } + return &meta, nil +} + +// Done reports whether the long-running operation has completed. +func (op *CreateSubscriptionOperation) Done() bool { + return op.lro.Done() +} + +// 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 (op *CreateSubscriptionOperation) Name() string { + return op.lro.Name() +} + +// DeleteSubscriptionOperation manages a long-running operation from DeleteSubscription. +type DeleteSubscriptionOperation struct { + lro *longrunning.Operation + pollPath string +} + +// Wait blocks until the long-running operation is completed, returning the response and any errors encountered. +// +// See documentation of Poll for error-handling information. +func (op *DeleteSubscriptionOperation) Wait(ctx context.Context, opts ...gax.CallOption) error { + opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) + return op.lro.WaitWithInterval(ctx, nil, time.Minute, opts...) +} + +// 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 (op *DeleteSubscriptionOperation) Poll(ctx context.Context, opts ...gax.CallOption) error { + opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) + return op.lro.Poll(ctx, nil, opts...) +} + +// 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 (op *DeleteSubscriptionOperation) Metadata() (*subscriptionspb.DeleteSubscriptionMetadata, error) { + var meta subscriptionspb.DeleteSubscriptionMetadata + if err := op.lro.Metadata(&meta); err == longrunning.ErrNoMetadata { + return nil, nil + } else if err != nil { + return nil, err + } + return &meta, nil +} + +// Done reports whether the long-running operation has completed. +func (op *DeleteSubscriptionOperation) Done() bool { + return op.lro.Done() +} + +// 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 (op *DeleteSubscriptionOperation) Name() string { + return op.lro.Name() +} + +// ReactivateSubscriptionOperation manages a long-running operation from ReactivateSubscription. +type ReactivateSubscriptionOperation struct { + lro *longrunning.Operation + pollPath string +} + +// Wait blocks until the long-running operation is completed, returning the response and any errors encountered. +// +// See documentation of Poll for error-handling information. +func (op *ReactivateSubscriptionOperation) Wait(ctx context.Context, opts ...gax.CallOption) (*subscriptionspb.Subscription, error) { + opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) + var resp subscriptionspb.Subscription + if err := op.lro.WaitWithInterval(ctx, &resp, time.Minute, opts...); err != nil { + return nil, err + } + return &resp, nil +} + +// 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 (op *ReactivateSubscriptionOperation) Poll(ctx context.Context, opts ...gax.CallOption) (*subscriptionspb.Subscription, error) { + opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) + var resp subscriptionspb.Subscription + if err := op.lro.Poll(ctx, &resp, opts...); err != nil { + return nil, err + } + if !op.Done() { + return nil, nil + } + return &resp, nil +} + +// 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 (op *ReactivateSubscriptionOperation) Metadata() (*subscriptionspb.ReactivateSubscriptionMetadata, error) { + var meta subscriptionspb.ReactivateSubscriptionMetadata + if err := op.lro.Metadata(&meta); err == longrunning.ErrNoMetadata { + return nil, nil + } else if err != nil { + return nil, err + } + return &meta, nil +} + +// Done reports whether the long-running operation has completed. +func (op *ReactivateSubscriptionOperation) Done() bool { + return op.lro.Done() +} + +// 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 (op *ReactivateSubscriptionOperation) Name() string { + return op.lro.Name() +} + +// UpdateSubscriptionOperation manages a long-running operation from UpdateSubscription. +type UpdateSubscriptionOperation struct { + lro *longrunning.Operation + pollPath string +} + +// Wait blocks until the long-running operation is completed, returning the response and any errors encountered. +// +// See documentation of Poll for error-handling information. +func (op *UpdateSubscriptionOperation) Wait(ctx context.Context, opts ...gax.CallOption) (*subscriptionspb.Subscription, error) { + opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) + var resp subscriptionspb.Subscription + if err := op.lro.WaitWithInterval(ctx, &resp, time.Minute, opts...); err != nil { + return nil, err + } + return &resp, nil +} + +// 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 (op *UpdateSubscriptionOperation) Poll(ctx context.Context, opts ...gax.CallOption) (*subscriptionspb.Subscription, error) { + opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) + var resp subscriptionspb.Subscription + if err := op.lro.Poll(ctx, &resp, opts...); err != nil { + return nil, err + } + if !op.Done() { + return nil, nil + } + return &resp, nil +} + +// 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 (op *UpdateSubscriptionOperation) Metadata() (*subscriptionspb.UpdateSubscriptionMetadata, error) { + var meta subscriptionspb.UpdateSubscriptionMetadata + if err := op.lro.Metadata(&meta); err == longrunning.ErrNoMetadata { + return nil, nil + } else if err != nil { + return nil, err + } + return &meta, nil +} + +// Done reports whether the long-running operation has completed. +func (op *UpdateSubscriptionOperation) Done() bool { + return op.lro.Done() +} + +// 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 (op *UpdateSubscriptionOperation) Name() string { + return op.lro.Name() +} + +// SubscriptionIterator manages a stream of *subscriptionspb.Subscription. +type SubscriptionIterator struct { + items []*subscriptionspb.Subscription + pageInfo *iterator.PageInfo + nextFunc func() error + + // 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 []*subscriptionspb.Subscription, nextPageToken string, err error) +} + +// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. +func (it *SubscriptionIterator) PageInfo() *iterator.PageInfo { + return it.pageInfo +} + +// 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 (it *SubscriptionIterator) Next() (*subscriptionspb.Subscription, error) { + var item *subscriptionspb.Subscription + if err := it.nextFunc(); err != nil { + return item, err + } + item = it.items[0] + it.items = it.items[1:] + return item, nil +} + +func (it *SubscriptionIterator) bufLen() int { + return len(it.items) +} + +func (it *SubscriptionIterator) takeBuf() interface{} { + b := it.items + it.items = nil + return b +} diff --git a/apps/events/subscriptions/apiv1/doc.go b/apps/events/subscriptions/apiv1/doc.go new file mode 100755 index 000000000000..acb6bc044b66 --- /dev/null +++ b/apps/events/subscriptions/apiv1/doc.go @@ -0,0 +1,139 @@ +// Copyright 2024 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// Package subscriptions is an auto-generated package for the +// Google Workspace Events API. +// +// The Google Workspace Events API lets you subscribe to events and manage +// change notifications across Google Workspace applications. +// +// NOTE: This package is in beta. It is not stable, and may be subject to changes. +// +// # 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: +// +// - [Authentication and Authorization] +// - [Timeouts and Cancellation] +// - [Testing against Client Libraries] +// - [Debugging Client Libraries] +// - [Inspecting errors] +// +// # 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 := subscriptions.NewClient(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 := subscriptions.NewClient(ctx) +// if err != nil { +// // TODO: Handle error. +// } +// defer c.Close() +// +// req := &subscriptionspb.CreateSubscriptionRequest{ +// // TODO: Fill request struct fields. +// // See https://pkg.go.dev/cloud.google.com/go/apps/events/subscriptions/apiv1/subscriptionspb#CreateSubscriptionRequest. +// } +// op, err := c.CreateSubscription(ctx, req) +// if err != nil { +// // TODO: Handle error. +// } +// +// resp, err := op.Wait(ctx) +// if err != nil { +// // TODO: Handle error. +// } +// // TODO: Use resp. +// _ = resp +// +// # Use of Context +// +// The ctx passed to NewClient 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. +// +// [Authentication and Authorization]: https://pkg.go.dev/cloud.google.com/go#hdr-Authentication_and_Authorization +// [Timeouts and Cancellation]: https://pkg.go.dev/cloud.google.com/go#hdr-Timeouts_and_Cancellation +// [Testing against Client Libraries]: https://pkg.go.dev/cloud.google.com/go#hdr-Testing +// [Debugging Client Libraries]: https://pkg.go.dev/cloud.google.com/go#hdr-Debugging +// [Inspecting errors]: https://pkg.go.dev/cloud.google.com/go#hdr-Inspecting_errors +package subscriptions // import "cloud.google.com/go/apps/events/subscriptions/apiv1" + +import ( + "context" + + "google.golang.org/api/option" +) + +// For more information on implementing a client constructor hook, see +// https://github.com/googleapis/google-cloud-go/wiki/Customizing-constructors. +type clientHookParams struct{} +type clientHook func(context.Context, clientHookParams) ([]option.ClientOption, error) + +var versionClient string + +func getVersionClient() string { + if versionClient == "" { + return "UNKNOWN" + } + return versionClient +} + +// DefaultAuthScopes reports the default set of authentication scopes to use with this package. +func DefaultAuthScopes() []string { + return []string{ + "https://www.googleapis.com/auth/chat.bot", + "https://www.googleapis.com/auth/chat.memberships", + "https://www.googleapis.com/auth/chat.memberships.readonly", + "https://www.googleapis.com/auth/chat.messages", + "https://www.googleapis.com/auth/chat.messages.reactions", + "https://www.googleapis.com/auth/chat.messages.reactions.readonly", + "https://www.googleapis.com/auth/chat.messages.readonly", + "https://www.googleapis.com/auth/chat.spaces", + "https://www.googleapis.com/auth/chat.spaces.readonly", + "https://www.googleapis.com/auth/meetings.space.created", + "https://www.googleapis.com/auth/meetings.space.readonly", + } +} diff --git a/apps/events/subscriptions/apiv1/gapic_metadata.json b/apps/events/subscriptions/apiv1/gapic_metadata.json new file mode 100644 index 000000000000..68537df172c0 --- /dev/null +++ b/apps/events/subscriptions/apiv1/gapic_metadata.json @@ -0,0 +1,93 @@ +{ + "schema": "1.0", + "comment": "This file maps proto services/RPCs to the corresponding library clients/methods.", + "language": "go", + "protoPackage": "google.apps.events.subscriptions.v1", + "libraryPackage": "cloud.google.com/go/apps/events/subscriptions/apiv1", + "services": { + "SubscriptionsService": { + "clients": { + "grpc": { + "libraryClient": "Client", + "rpcs": { + "CreateSubscription": { + "methods": [ + "CreateSubscription" + ] + }, + "DeleteSubscription": { + "methods": [ + "DeleteSubscription" + ] + }, + "GetOperation": { + "methods": [ + "GetOperation" + ] + }, + "GetSubscription": { + "methods": [ + "GetSubscription" + ] + }, + "ListSubscriptions": { + "methods": [ + "ListSubscriptions" + ] + }, + "ReactivateSubscription": { + "methods": [ + "ReactivateSubscription" + ] + }, + "UpdateSubscription": { + "methods": [ + "UpdateSubscription" + ] + } + } + }, + "rest": { + "libraryClient": "Client", + "rpcs": { + "CreateSubscription": { + "methods": [ + "CreateSubscription" + ] + }, + "DeleteSubscription": { + "methods": [ + "DeleteSubscription" + ] + }, + "GetOperation": { + "methods": [ + "GetOperation" + ] + }, + "GetSubscription": { + "methods": [ + "GetSubscription" + ] + }, + "ListSubscriptions": { + "methods": [ + "ListSubscriptions" + ] + }, + "ReactivateSubscription": { + "methods": [ + "ReactivateSubscription" + ] + }, + "UpdateSubscription": { + "methods": [ + "UpdateSubscription" + ] + } + } + } + } + } + } +} diff --git a/apps/events/subscriptions/apiv1/subscriptions_client.go b/apps/events/subscriptions/apiv1/subscriptions_client.go new file mode 100755 index 000000000000..2fa1e44ece11 --- /dev/null +++ b/apps/events/subscriptions/apiv1/subscriptions_client.go @@ -0,0 +1,1232 @@ +// Copyright 2024 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +package subscriptions + +import ( + "bytes" + "context" + "fmt" + "io" + "math" + "net/http" + "net/url" + "time" + + subscriptionspb "cloud.google.com/go/apps/events/subscriptions/apiv1/subscriptionspb" + "cloud.google.com/go/longrunning" + lroauto "cloud.google.com/go/longrunning/autogen" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" + gax "github.com/googleapis/gax-go/v2" + "google.golang.org/api/googleapi" + "google.golang.org/api/iterator" + "google.golang.org/api/option" + "google.golang.org/api/option/internaloption" + gtransport "google.golang.org/api/transport/grpc" + httptransport "google.golang.org/api/transport/http" + "google.golang.org/grpc" + "google.golang.org/grpc/codes" + "google.golang.org/protobuf/encoding/protojson" + "google.golang.org/protobuf/proto" +) + +var newClientHook clientHook + +// CallOptions contains the retry settings for each method of Client. +type CallOptions struct { + CreateSubscription []gax.CallOption + DeleteSubscription []gax.CallOption + GetSubscription []gax.CallOption + ListSubscriptions []gax.CallOption + UpdateSubscription []gax.CallOption + ReactivateSubscription []gax.CallOption + GetOperation []gax.CallOption +} + +func defaultGRPCClientOptions() []option.ClientOption { + return []option.ClientOption{ + internaloption.WithDefaultEndpoint("workspaceevents.googleapis.com:443"), + internaloption.WithDefaultEndpointTemplate("workspaceevents.UNIVERSE_DOMAIN:443"), + internaloption.WithDefaultMTLSEndpoint("workspaceevents.mtls.googleapis.com:443"), + internaloption.WithDefaultUniverseDomain("googleapis.com"), + internaloption.WithDefaultAudience("https://workspaceevents.googleapis.com/"), + internaloption.WithDefaultScopes(DefaultAuthScopes()...), + internaloption.EnableJwtWithScope(), + option.WithGRPCDialOption(grpc.WithDefaultCallOptions( + grpc.MaxCallRecvMsgSize(math.MaxInt32))), + } +} + +func defaultCallOptions() *CallOptions { + return &CallOptions{ + CreateSubscription: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + }, + DeleteSubscription: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + }, + GetSubscription: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnCodes([]codes.Code{ + codes.Unavailable, + }, gax.Backoff{ + Initial: 1000 * time.Millisecond, + Max: 10000 * time.Millisecond, + Multiplier: 1.30, + }) + }), + }, + ListSubscriptions: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnCodes([]codes.Code{ + codes.Unavailable, + }, gax.Backoff{ + Initial: 1000 * time.Millisecond, + Max: 10000 * time.Millisecond, + Multiplier: 1.30, + }) + }), + }, + UpdateSubscription: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + }, + ReactivateSubscription: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + }, + GetOperation: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnCodes([]codes.Code{ + codes.Unavailable, + }, gax.Backoff{ + Initial: 1000 * time.Millisecond, + Max: 10000 * time.Millisecond, + Multiplier: 1.30, + }) + }), + }, + } +} + +func defaultRESTCallOptions() *CallOptions { + return &CallOptions{ + CreateSubscription: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + }, + DeleteSubscription: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + }, + GetSubscription: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnHTTPCodes(gax.Backoff{ + Initial: 1000 * time.Millisecond, + Max: 10000 * time.Millisecond, + Multiplier: 1.30, + }, + http.StatusServiceUnavailable) + }), + }, + ListSubscriptions: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnHTTPCodes(gax.Backoff{ + Initial: 1000 * time.Millisecond, + Max: 10000 * time.Millisecond, + Multiplier: 1.30, + }, + http.StatusServiceUnavailable) + }), + }, + UpdateSubscription: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + }, + ReactivateSubscription: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + }, + GetOperation: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnHTTPCodes(gax.Backoff{ + Initial: 1000 * time.Millisecond, + Max: 10000 * time.Millisecond, + Multiplier: 1.30, + }, + http.StatusServiceUnavailable) + }), + }, + } +} + +// internalClient is an interface that defines the methods available from Google Workspace Events API. +type internalClient interface { + Close() error + setGoogleClientInfo(...string) + Connection() *grpc.ClientConn + CreateSubscription(context.Context, *subscriptionspb.CreateSubscriptionRequest, ...gax.CallOption) (*CreateSubscriptionOperation, error) + CreateSubscriptionOperation(name string) *CreateSubscriptionOperation + DeleteSubscription(context.Context, *subscriptionspb.DeleteSubscriptionRequest, ...gax.CallOption) (*DeleteSubscriptionOperation, error) + DeleteSubscriptionOperation(name string) *DeleteSubscriptionOperation + GetSubscription(context.Context, *subscriptionspb.GetSubscriptionRequest, ...gax.CallOption) (*subscriptionspb.Subscription, error) + ListSubscriptions(context.Context, *subscriptionspb.ListSubscriptionsRequest, ...gax.CallOption) *SubscriptionIterator + UpdateSubscription(context.Context, *subscriptionspb.UpdateSubscriptionRequest, ...gax.CallOption) (*UpdateSubscriptionOperation, error) + UpdateSubscriptionOperation(name string) *UpdateSubscriptionOperation + ReactivateSubscription(context.Context, *subscriptionspb.ReactivateSubscriptionRequest, ...gax.CallOption) (*ReactivateSubscriptionOperation, error) + ReactivateSubscriptionOperation(name string) *ReactivateSubscriptionOperation + GetOperation(context.Context, *longrunningpb.GetOperationRequest, ...gax.CallOption) (*longrunningpb.Operation, error) +} + +// Client is a client for interacting with Google Workspace Events API. +// Methods, except Close, may be called concurrently. However, fields must not be modified concurrently with method calls. +// +// A service that manages subscriptions to Google Workspace events. +type Client struct { + // The internal transport-dependent client. + internalClient internalClient + + // The call options for this service. + CallOptions *CallOptions + + // 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 +} + +// Wrapper methods routed to the internal client. + +// Close closes the connection to the API service. The user should invoke this when +// the client is no longer required. +func (c *Client) Close() error { + return c.internalClient.Close() +} + +// setGoogleClientInfo sets the name and version of the application in +// the `x-goog-api-client` header passed on each request. Intended for +// use by Google-written clients. +func (c *Client) setGoogleClientInfo(keyval ...string) { + c.internalClient.setGoogleClientInfo(keyval...) +} + +// Connection returns a connection to the API service. +// +// Deprecated: Connections are now pooled so this method does not always +// return the same resource. +func (c *Client) Connection() *grpc.ClientConn { + return c.internalClient.Connection() +} + +// CreateSubscription creates a Google Workspace subscription. To learn how to use this +// method, see Create a Google Workspace +// subscription (at https://developers.google.com/workspace/events/guides/create-subscription). +func (c *Client) CreateSubscription(ctx context.Context, req *subscriptionspb.CreateSubscriptionRequest, opts ...gax.CallOption) (*CreateSubscriptionOperation, error) { + return c.internalClient.CreateSubscription(ctx, req, opts...) +} + +// CreateSubscriptionOperation returns a new CreateSubscriptionOperation from a given name. +// The name must be that of a previously created CreateSubscriptionOperation, possibly from a different process. +func (c *Client) CreateSubscriptionOperation(name string) *CreateSubscriptionOperation { + return c.internalClient.CreateSubscriptionOperation(name) +} + +// DeleteSubscription deletes a Google Workspace subscription. +// To learn how to use this method, see Delete a Google Workspace +// subscription (at https://developers.google.com/workspace/events/guides/delete-subscription). +func (c *Client) DeleteSubscription(ctx context.Context, req *subscriptionspb.DeleteSubscriptionRequest, opts ...gax.CallOption) (*DeleteSubscriptionOperation, error) { + return c.internalClient.DeleteSubscription(ctx, req, opts...) +} + +// DeleteSubscriptionOperation returns a new DeleteSubscriptionOperation from a given name. +// The name must be that of a previously created DeleteSubscriptionOperation, possibly from a different process. +func (c *Client) DeleteSubscriptionOperation(name string) *DeleteSubscriptionOperation { + return c.internalClient.DeleteSubscriptionOperation(name) +} + +// GetSubscription gets details about a Google Workspace subscription. To learn how to use +// this method, see Get details about a Google Workspace +// subscription (at https://developers.google.com/workspace/events/guides/get-subscription). +func (c *Client) GetSubscription(ctx context.Context, req *subscriptionspb.GetSubscriptionRequest, opts ...gax.CallOption) (*subscriptionspb.Subscription, error) { + return c.internalClient.GetSubscription(ctx, req, opts...) +} + +// ListSubscriptions lists Google Workspace subscriptions. To learn how to use this method, see +// List Google Workspace +// subscriptions (at https://developers.google.com/workspace/events/guides/list-subscriptions). +func (c *Client) ListSubscriptions(ctx context.Context, req *subscriptionspb.ListSubscriptionsRequest, opts ...gax.CallOption) *SubscriptionIterator { + return c.internalClient.ListSubscriptions(ctx, req, opts...) +} + +// UpdateSubscription updates or renews a Google Workspace subscription. To learn how to use this +// method, see Update or renew a Google Workspace +// subscription (at https://developers.google.com/workspace/events/guides/update-subscription). +func (c *Client) UpdateSubscription(ctx context.Context, req *subscriptionspb.UpdateSubscriptionRequest, opts ...gax.CallOption) (*UpdateSubscriptionOperation, error) { + return c.internalClient.UpdateSubscription(ctx, req, opts...) +} + +// UpdateSubscriptionOperation returns a new UpdateSubscriptionOperation from a given name. +// The name must be that of a previously created UpdateSubscriptionOperation, possibly from a different process. +func (c *Client) UpdateSubscriptionOperation(name string) *UpdateSubscriptionOperation { + return c.internalClient.UpdateSubscriptionOperation(name) +} + +// ReactivateSubscription reactivates a suspended Google Workspace subscription. +// +// This method resets your subscription’s State field to ACTIVE. Before +// you use this method, you must fix the error that suspended the +// subscription. To learn how to use this method, see Reactivate a Google +// Workspace +// subscription (at https://developers.google.com/workspace/events/guides/reactivate-subscription). +func (c *Client) ReactivateSubscription(ctx context.Context, req *subscriptionspb.ReactivateSubscriptionRequest, opts ...gax.CallOption) (*ReactivateSubscriptionOperation, error) { + return c.internalClient.ReactivateSubscription(ctx, req, opts...) +} + +// ReactivateSubscriptionOperation returns a new ReactivateSubscriptionOperation from a given name. +// The name must be that of a previously created ReactivateSubscriptionOperation, possibly from a different process. +func (c *Client) ReactivateSubscriptionOperation(name string) *ReactivateSubscriptionOperation { + return c.internalClient.ReactivateSubscriptionOperation(name) +} + +// GetOperation is a utility method from google.longrunning.Operations. +func (c *Client) GetOperation(ctx context.Context, req *longrunningpb.GetOperationRequest, opts ...gax.CallOption) (*longrunningpb.Operation, error) { + return c.internalClient.GetOperation(ctx, req, opts...) +} + +// gRPCClient is a client for interacting with Google Workspace Events API over gRPC transport. +// +// Methods, except Close, may be called concurrently. However, fields must not be modified concurrently with method calls. +type gRPCClient struct { + // Connection pool of gRPC connections to the service. + connPool gtransport.ConnPool + + // Points back to the CallOptions field of the containing Client + CallOptions **CallOptions + + // The gRPC API client. + client subscriptionspb.SubscriptionsServiceClient + + // 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 + + operationsClient longrunningpb.OperationsClient + + // The x-goog-* metadata to be sent with each request. + xGoogHeaders []string +} + +// NewClient creates a new subscriptions service client based on gRPC. +// The returned client must be Closed when it is done being used to clean up its underlying connections. +// +// A service that manages subscriptions to Google Workspace events. +func NewClient(ctx context.Context, opts ...option.ClientOption) (*Client, error) { + clientOpts := defaultGRPCClientOptions() + if newClientHook != nil { + hookOpts, err := newClientHook(ctx, clientHookParams{}) + if err != nil { + return nil, err + } + clientOpts = append(clientOpts, hookOpts...) + } + + connPool, err := gtransport.DialPool(ctx, append(clientOpts, opts...)...) + if err != nil { + return nil, err + } + client := Client{CallOptions: defaultCallOptions()} + + c := &gRPCClient{ + connPool: connPool, + client: subscriptionspb.NewSubscriptionsServiceClient(connPool), + CallOptions: &client.CallOptions, + operationsClient: longrunningpb.NewOperationsClient(connPool), + } + c.setGoogleClientInfo() + + client.internalClient = c + + client.LROClient, err = lroauto.NewOperationsClient(ctx, gtransport.WithConnPool(connPool)) + if err != nil { + // This error "should not happen", since we are just reusing old connection pool + // and never actually need to dial. + // If this does happen, we could leak connp. However, we cannot close conn: + // If the user invoked the constructor with option.WithGRPCConn, + // we would close a connection that's still in use. + // TODO: investigate error conditions. + return nil, err + } + c.LROClient = &client.LROClient + return &client, nil +} + +// Connection returns a connection to the API service. +// +// Deprecated: Connections are now pooled so this method does not always +// return the same resource. +func (c *gRPCClient) Connection() *grpc.ClientConn { + return c.connPool.Conn() +} + +// setGoogleClientInfo sets the name and version of the application in +// the `x-goog-api-client` header passed on each request. Intended for +// use by Google-written clients. +func (c *gRPCClient) setGoogleClientInfo(keyval ...string) { + kv := append([]string{"gl-go", gax.GoVersion}, keyval...) + kv = append(kv, "gapic", getVersionClient(), "gax", gax.Version, "grpc", grpc.Version) + c.xGoogHeaders = []string{"x-goog-api-client", gax.XGoogHeader(kv...)} +} + +// Close closes the connection to the API service. The user should invoke this when +// the client is no longer required. +func (c *gRPCClient) Close() error { + return c.connPool.Close() +} + +// Methods, except Close, may be called concurrently. However, fields must not be modified concurrently with method calls. +type restClient struct { + // The http endpoint to connect to. + endpoint string + + // The http client. + httpClient *http.Client + + // 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 + + // The x-goog-* headers to be sent with each request. + xGoogHeaders []string + + // Points back to the CallOptions field of the containing Client + CallOptions **CallOptions +} + +// NewRESTClient creates a new subscriptions service rest client. +// +// A service that manages subscriptions to Google Workspace events. +func NewRESTClient(ctx context.Context, opts ...option.ClientOption) (*Client, error) { + clientOpts := append(defaultRESTClientOptions(), opts...) + httpClient, endpoint, err := httptransport.NewClient(ctx, clientOpts...) + if err != nil { + return nil, err + } + + callOpts := defaultRESTCallOptions() + c := &restClient{ + endpoint: endpoint, + httpClient: httpClient, + CallOptions: &callOpts, + } + c.setGoogleClientInfo() + + lroOpts := []option.ClientOption{ + option.WithHTTPClient(httpClient), + option.WithEndpoint(endpoint), + } + opClient, err := lroauto.NewOperationsRESTClient(ctx, lroOpts...) + if err != nil { + return nil, err + } + c.LROClient = &opClient + + return &Client{internalClient: c, CallOptions: callOpts}, nil +} + +func defaultRESTClientOptions() []option.ClientOption { + return []option.ClientOption{ + internaloption.WithDefaultEndpoint("https://workspaceevents.googleapis.com"), + internaloption.WithDefaultEndpointTemplate("https://workspaceevents.UNIVERSE_DOMAIN"), + internaloption.WithDefaultMTLSEndpoint("https://workspaceevents.mtls.googleapis.com"), + internaloption.WithDefaultUniverseDomain("googleapis.com"), + internaloption.WithDefaultAudience("https://workspaceevents.googleapis.com/"), + internaloption.WithDefaultScopes(DefaultAuthScopes()...), + } +} + +// setGoogleClientInfo sets the name and version of the application in +// the `x-goog-api-client` header passed on each request. Intended for +// use by Google-written clients. +func (c *restClient) setGoogleClientInfo(keyval ...string) { + kv := append([]string{"gl-go", gax.GoVersion}, keyval...) + kv = append(kv, "gapic", getVersionClient(), "gax", gax.Version, "rest", "UNKNOWN") + c.xGoogHeaders = []string{"x-goog-api-client", gax.XGoogHeader(kv...)} +} + +// Close closes the connection to the API service. The user should invoke this when +// the client is no longer required. +func (c *restClient) Close() error { + // Replace httpClient with nil to force cleanup. + c.httpClient = nil + return nil +} + +// Connection returns a connection to the API service. +// +// Deprecated: This method always returns nil. +func (c *restClient) Connection() *grpc.ClientConn { + return nil +} +func (c *gRPCClient) CreateSubscription(ctx context.Context, req *subscriptionspb.CreateSubscriptionRequest, opts ...gax.CallOption) (*CreateSubscriptionOperation, error) { + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, c.xGoogHeaders...) + opts = append((*c.CallOptions).CreateSubscription[0:len((*c.CallOptions).CreateSubscription):len((*c.CallOptions).CreateSubscription)], opts...) + var resp *longrunningpb.Operation + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.client.CreateSubscription(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, err + } + return &CreateSubscriptionOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, resp), + }, nil +} + +func (c *gRPCClient) DeleteSubscription(ctx context.Context, req *subscriptionspb.DeleteSubscriptionRequest, opts ...gax.CallOption) (*DeleteSubscriptionOperation, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).DeleteSubscription[0:len((*c.CallOptions).DeleteSubscription):len((*c.CallOptions).DeleteSubscription)], opts...) + var resp *longrunningpb.Operation + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.client.DeleteSubscription(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, err + } + return &DeleteSubscriptionOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, resp), + }, nil +} + +func (c *gRPCClient) GetSubscription(ctx context.Context, req *subscriptionspb.GetSubscriptionRequest, opts ...gax.CallOption) (*subscriptionspb.Subscription, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).GetSubscription[0:len((*c.CallOptions).GetSubscription):len((*c.CallOptions).GetSubscription)], opts...) + var resp *subscriptionspb.Subscription + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.client.GetSubscription(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, err + } + return resp, nil +} + +func (c *gRPCClient) ListSubscriptions(ctx context.Context, req *subscriptionspb.ListSubscriptionsRequest, opts ...gax.CallOption) *SubscriptionIterator { + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, c.xGoogHeaders...) + opts = append((*c.CallOptions).ListSubscriptions[0:len((*c.CallOptions).ListSubscriptions):len((*c.CallOptions).ListSubscriptions)], opts...) + it := &SubscriptionIterator{} + req = proto.Clone(req).(*subscriptionspb.ListSubscriptionsRequest) + it.InternalFetch = func(pageSize int, pageToken string) ([]*subscriptionspb.Subscription, string, error) { + resp := &subscriptionspb.ListSubscriptionsResponse{} + if pageToken != "" { + req.PageToken = pageToken + } + if pageSize > math.MaxInt32 { + req.PageSize = math.MaxInt32 + } else if pageSize != 0 { + req.PageSize = int32(pageSize) + } + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.client.ListSubscriptions(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, "", err + } + + it.Response = resp + return resp.GetSubscriptions(), resp.GetNextPageToken(), nil + } + fetch := func(pageSize int, pageToken string) (string, error) { + items, nextPageToken, err := it.InternalFetch(pageSize, pageToken) + if err != nil { + return "", err + } + it.items = append(it.items, items...) + return nextPageToken, nil + } + + it.pageInfo, it.nextFunc = iterator.NewPageInfo(fetch, it.bufLen, it.takeBuf) + it.pageInfo.MaxSize = int(req.GetPageSize()) + it.pageInfo.Token = req.GetPageToken() + + return it +} + +func (c *gRPCClient) UpdateSubscription(ctx context.Context, req *subscriptionspb.UpdateSubscriptionRequest, opts ...gax.CallOption) (*UpdateSubscriptionOperation, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "subscription.name", url.QueryEscape(req.GetSubscription().GetName()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).UpdateSubscription[0:len((*c.CallOptions).UpdateSubscription):len((*c.CallOptions).UpdateSubscription)], opts...) + var resp *longrunningpb.Operation + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.client.UpdateSubscription(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, err + } + return &UpdateSubscriptionOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, resp), + }, nil +} + +func (c *gRPCClient) ReactivateSubscription(ctx context.Context, req *subscriptionspb.ReactivateSubscriptionRequest, opts ...gax.CallOption) (*ReactivateSubscriptionOperation, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).ReactivateSubscription[0:len((*c.CallOptions).ReactivateSubscription):len((*c.CallOptions).ReactivateSubscription)], opts...) + var resp *longrunningpb.Operation + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.client.ReactivateSubscription(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, err + } + return &ReactivateSubscriptionOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, resp), + }, nil +} + +func (c *gRPCClient) GetOperation(ctx context.Context, req *longrunningpb.GetOperationRequest, opts ...gax.CallOption) (*longrunningpb.Operation, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).GetOperation[0:len((*c.CallOptions).GetOperation):len((*c.CallOptions).GetOperation)], opts...) + var resp *longrunningpb.Operation + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.operationsClient.GetOperation(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, err + } + return resp, nil +} + +// CreateSubscription creates a Google Workspace subscription. To learn how to use this +// method, see Create a Google Workspace +// subscription (at https://developers.google.com/workspace/events/guides/create-subscription). +func (c *restClient) CreateSubscription(ctx context.Context, req *subscriptionspb.CreateSubscriptionRequest, opts ...gax.CallOption) (*CreateSubscriptionOperation, error) { + m := protojson.MarshalOptions{AllowPartial: true, UseEnumNumbers: true} + body := req.GetSubscription() + jsonReq, err := m.Marshal(body) + if err != nil { + return nil, err + } + + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, err + } + baseUrl.Path += fmt.Sprintf("/v1/subscriptions") + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + if req.GetValidateOnly() { + params.Add("validateOnly", fmt.Sprintf("%v", req.GetValidateOnly())) + } + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := append(c.xGoogHeaders, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &longrunningpb.Operation{} + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("POST", baseUrl.String(), bytes.NewReader(jsonReq)) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + httpRsp, err := c.httpClient.Do(httpReq) + if err != nil { + return err + } + defer httpRsp.Body.Close() + + if err = googleapi.CheckResponse(httpRsp); err != nil { + return err + } + + buf, err := io.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + + override := fmt.Sprintf("/v1/%s", resp.GetName()) + return &CreateSubscriptionOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, resp), + pollPath: override, + }, nil +} + +// DeleteSubscription deletes a Google Workspace subscription. +// To learn how to use this method, see Delete a Google Workspace +// subscription (at https://developers.google.com/workspace/events/guides/delete-subscription). +func (c *restClient) DeleteSubscription(ctx context.Context, req *subscriptionspb.DeleteSubscriptionRequest, opts ...gax.CallOption) (*DeleteSubscriptionOperation, error) { + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, err + } + baseUrl.Path += fmt.Sprintf("/v1/%v", req.GetName()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + if req.GetAllowMissing() { + params.Add("allowMissing", fmt.Sprintf("%v", req.GetAllowMissing())) + } + if req.GetEtag() != "" { + params.Add("etag", fmt.Sprintf("%v", req.GetEtag())) + } + if req.GetValidateOnly() { + params.Add("validateOnly", fmt.Sprintf("%v", req.GetValidateOnly())) + } + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &longrunningpb.Operation{} + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("DELETE", baseUrl.String(), nil) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + httpRsp, err := c.httpClient.Do(httpReq) + if err != nil { + return err + } + defer httpRsp.Body.Close() + + if err = googleapi.CheckResponse(httpRsp); err != nil { + return err + } + + buf, err := io.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + + override := fmt.Sprintf("/v1/%s", resp.GetName()) + return &DeleteSubscriptionOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, resp), + pollPath: override, + }, nil +} + +// GetSubscription gets details about a Google Workspace subscription. To learn how to use +// this method, see Get details about a Google Workspace +// subscription (at https://developers.google.com/workspace/events/guides/get-subscription). +func (c *restClient) GetSubscription(ctx context.Context, req *subscriptionspb.GetSubscriptionRequest, opts ...gax.CallOption) (*subscriptionspb.Subscription, error) { + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, err + } + baseUrl.Path += fmt.Sprintf("/v1/%v", req.GetName()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + opts = append((*c.CallOptions).GetSubscription[0:len((*c.CallOptions).GetSubscription):len((*c.CallOptions).GetSubscription)], opts...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &subscriptionspb.Subscription{} + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("GET", baseUrl.String(), nil) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + httpRsp, err := c.httpClient.Do(httpReq) + if err != nil { + return err + } + defer httpRsp.Body.Close() + + if err = googleapi.CheckResponse(httpRsp); err != nil { + return err + } + + buf, err := io.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + return resp, nil +} + +// ListSubscriptions lists Google Workspace subscriptions. To learn how to use this method, see +// List Google Workspace +// subscriptions (at https://developers.google.com/workspace/events/guides/list-subscriptions). +func (c *restClient) ListSubscriptions(ctx context.Context, req *subscriptionspb.ListSubscriptionsRequest, opts ...gax.CallOption) *SubscriptionIterator { + it := &SubscriptionIterator{} + req = proto.Clone(req).(*subscriptionspb.ListSubscriptionsRequest) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + it.InternalFetch = func(pageSize int, pageToken string) ([]*subscriptionspb.Subscription, string, error) { + resp := &subscriptionspb.ListSubscriptionsResponse{} + if pageToken != "" { + req.PageToken = pageToken + } + if pageSize > math.MaxInt32 { + req.PageSize = math.MaxInt32 + } else if pageSize != 0 { + req.PageSize = int32(pageSize) + } + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, "", err + } + baseUrl.Path += fmt.Sprintf("/v1/subscriptions") + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + params.Add("filter", fmt.Sprintf("%v", req.GetFilter())) + if req.GetPageSize() != 0 { + params.Add("pageSize", fmt.Sprintf("%v", req.GetPageSize())) + } + if req.GetPageToken() != "" { + params.Add("pageToken", fmt.Sprintf("%v", req.GetPageToken())) + } + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := append(c.xGoogHeaders, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("GET", baseUrl.String(), nil) + if err != nil { + return err + } + httpReq.Header = headers + + httpRsp, err := c.httpClient.Do(httpReq) + if err != nil { + return err + } + defer httpRsp.Body.Close() + + if err = googleapi.CheckResponse(httpRsp); err != nil { + return err + } + + buf, err := io.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, "", e + } + it.Response = resp + return resp.GetSubscriptions(), resp.GetNextPageToken(), nil + } + + fetch := func(pageSize int, pageToken string) (string, error) { + items, nextPageToken, err := it.InternalFetch(pageSize, pageToken) + if err != nil { + return "", err + } + it.items = append(it.items, items...) + return nextPageToken, nil + } + + it.pageInfo, it.nextFunc = iterator.NewPageInfo(fetch, it.bufLen, it.takeBuf) + it.pageInfo.MaxSize = int(req.GetPageSize()) + it.pageInfo.Token = req.GetPageToken() + + return it +} + +// UpdateSubscription updates or renews a Google Workspace subscription. To learn how to use this +// method, see Update or renew a Google Workspace +// subscription (at https://developers.google.com/workspace/events/guides/update-subscription). +func (c *restClient) UpdateSubscription(ctx context.Context, req *subscriptionspb.UpdateSubscriptionRequest, opts ...gax.CallOption) (*UpdateSubscriptionOperation, error) { + m := protojson.MarshalOptions{AllowPartial: true, UseEnumNumbers: true} + body := req.GetSubscription() + jsonReq, err := m.Marshal(body) + if err != nil { + return nil, err + } + + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, err + } + baseUrl.Path += fmt.Sprintf("/v1/%v", req.GetSubscription().GetName()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + if req.GetUpdateMask() != nil { + updateMask, err := protojson.Marshal(req.GetUpdateMask()) + if err != nil { + return nil, err + } + params.Add("updateMask", string(updateMask[1:len(updateMask)-1])) + } + if req.GetValidateOnly() { + params.Add("validateOnly", fmt.Sprintf("%v", req.GetValidateOnly())) + } + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "subscription.name", url.QueryEscape(req.GetSubscription().GetName()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &longrunningpb.Operation{} + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("PATCH", baseUrl.String(), bytes.NewReader(jsonReq)) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + httpRsp, err := c.httpClient.Do(httpReq) + if err != nil { + return err + } + defer httpRsp.Body.Close() + + if err = googleapi.CheckResponse(httpRsp); err != nil { + return err + } + + buf, err := io.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + + override := fmt.Sprintf("/v1/%s", resp.GetName()) + return &UpdateSubscriptionOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, resp), + pollPath: override, + }, nil +} + +// ReactivateSubscription reactivates a suspended Google Workspace subscription. +// +// This method resets your subscription’s State field to ACTIVE. Before +// you use this method, you must fix the error that suspended the +// subscription. To learn how to use this method, see Reactivate a Google +// Workspace +// subscription (at https://developers.google.com/workspace/events/guides/reactivate-subscription). +func (c *restClient) ReactivateSubscription(ctx context.Context, req *subscriptionspb.ReactivateSubscriptionRequest, opts ...gax.CallOption) (*ReactivateSubscriptionOperation, error) { + m := protojson.MarshalOptions{AllowPartial: true, UseEnumNumbers: true} + jsonReq, err := m.Marshal(req) + if err != nil { + return nil, err + } + + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, err + } + baseUrl.Path += fmt.Sprintf("/v1/%v:reactivate", req.GetName()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &longrunningpb.Operation{} + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("POST", baseUrl.String(), bytes.NewReader(jsonReq)) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + httpRsp, err := c.httpClient.Do(httpReq) + if err != nil { + return err + } + defer httpRsp.Body.Close() + + if err = googleapi.CheckResponse(httpRsp); err != nil { + return err + } + + buf, err := io.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + + override := fmt.Sprintf("/v1/%s", resp.GetName()) + return &ReactivateSubscriptionOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, resp), + pollPath: override, + }, nil +} + +// GetOperation is a utility method from google.longrunning.Operations. +func (c *restClient) GetOperation(ctx context.Context, req *longrunningpb.GetOperationRequest, opts ...gax.CallOption) (*longrunningpb.Operation, error) { + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, err + } + baseUrl.Path += fmt.Sprintf("/v1/%v", req.GetName()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + opts = append((*c.CallOptions).GetOperation[0:len((*c.CallOptions).GetOperation):len((*c.CallOptions).GetOperation)], opts...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &longrunningpb.Operation{} + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("GET", baseUrl.String(), nil) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + httpRsp, err := c.httpClient.Do(httpReq) + if err != nil { + return err + } + defer httpRsp.Body.Close() + + if err = googleapi.CheckResponse(httpRsp); err != nil { + return err + } + + buf, err := io.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + return resp, nil +} + +// CreateSubscriptionOperation returns a new CreateSubscriptionOperation from a given name. +// The name must be that of a previously created CreateSubscriptionOperation, possibly from a different process. +func (c *gRPCClient) CreateSubscriptionOperation(name string) *CreateSubscriptionOperation { + return &CreateSubscriptionOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, &longrunningpb.Operation{Name: name}), + } +} + +// CreateSubscriptionOperation returns a new CreateSubscriptionOperation from a given name. +// The name must be that of a previously created CreateSubscriptionOperation, possibly from a different process. +func (c *restClient) CreateSubscriptionOperation(name string) *CreateSubscriptionOperation { + override := fmt.Sprintf("/v1/%s", name) + return &CreateSubscriptionOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, &longrunningpb.Operation{Name: name}), + pollPath: override, + } +} + +// DeleteSubscriptionOperation returns a new DeleteSubscriptionOperation from a given name. +// The name must be that of a previously created DeleteSubscriptionOperation, possibly from a different process. +func (c *gRPCClient) DeleteSubscriptionOperation(name string) *DeleteSubscriptionOperation { + return &DeleteSubscriptionOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, &longrunningpb.Operation{Name: name}), + } +} + +// DeleteSubscriptionOperation returns a new DeleteSubscriptionOperation from a given name. +// The name must be that of a previously created DeleteSubscriptionOperation, possibly from a different process. +func (c *restClient) DeleteSubscriptionOperation(name string) *DeleteSubscriptionOperation { + override := fmt.Sprintf("/v1/%s", name) + return &DeleteSubscriptionOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, &longrunningpb.Operation{Name: name}), + pollPath: override, + } +} + +// ReactivateSubscriptionOperation returns a new ReactivateSubscriptionOperation from a given name. +// The name must be that of a previously created ReactivateSubscriptionOperation, possibly from a different process. +func (c *gRPCClient) ReactivateSubscriptionOperation(name string) *ReactivateSubscriptionOperation { + return &ReactivateSubscriptionOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, &longrunningpb.Operation{Name: name}), + } +} + +// ReactivateSubscriptionOperation returns a new ReactivateSubscriptionOperation from a given name. +// The name must be that of a previously created ReactivateSubscriptionOperation, possibly from a different process. +func (c *restClient) ReactivateSubscriptionOperation(name string) *ReactivateSubscriptionOperation { + override := fmt.Sprintf("/v1/%s", name) + return &ReactivateSubscriptionOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, &longrunningpb.Operation{Name: name}), + pollPath: override, + } +} + +// UpdateSubscriptionOperation returns a new UpdateSubscriptionOperation from a given name. +// The name must be that of a previously created UpdateSubscriptionOperation, possibly from a different process. +func (c *gRPCClient) UpdateSubscriptionOperation(name string) *UpdateSubscriptionOperation { + return &UpdateSubscriptionOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, &longrunningpb.Operation{Name: name}), + } +} + +// UpdateSubscriptionOperation returns a new UpdateSubscriptionOperation from a given name. +// The name must be that of a previously created UpdateSubscriptionOperation, possibly from a different process. +func (c *restClient) UpdateSubscriptionOperation(name string) *UpdateSubscriptionOperation { + override := fmt.Sprintf("/v1/%s", name) + return &UpdateSubscriptionOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, &longrunningpb.Operation{Name: name}), + pollPath: override, + } +} diff --git a/apps/events/subscriptions/apiv1/subscriptions_client_example_test.go b/apps/events/subscriptions/apiv1/subscriptions_client_example_test.go new file mode 100644 index 000000000000..ce9a31c6c015 --- /dev/null +++ b/apps/events/subscriptions/apiv1/subscriptions_client_example_test.go @@ -0,0 +1,259 @@ +// Copyright 2024 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +package subscriptions_test + +import ( + "context" + + subscriptions "cloud.google.com/go/apps/events/subscriptions/apiv1" + subscriptionspb "cloud.google.com/go/apps/events/subscriptions/apiv1/subscriptionspb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" + "google.golang.org/api/iterator" +) + +func ExampleNewClient() { + 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 := subscriptions.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + // TODO: Use client. + _ = c +} + +func ExampleNewRESTClient() { + 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 := subscriptions.NewRESTClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + // TODO: Use client. + _ = c +} + +func ExampleClient_CreateSubscription() { + 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 := subscriptions.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &subscriptionspb.CreateSubscriptionRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/apps/events/subscriptions/apiv1/subscriptionspb#CreateSubscriptionRequest. + } + op, err := c.CreateSubscription(ctx, req) + if err != nil { + // TODO: Handle error. + } + + resp, err := op.Wait(ctx) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExampleClient_DeleteSubscription() { + 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 := subscriptions.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &subscriptionspb.DeleteSubscriptionRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/apps/events/subscriptions/apiv1/subscriptionspb#DeleteSubscriptionRequest. + } + op, err := c.DeleteSubscription(ctx, req) + if err != nil { + // TODO: Handle error. + } + + err = op.Wait(ctx) + if err != nil { + // TODO: Handle error. + } +} + +func ExampleClient_GetSubscription() { + 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 := subscriptions.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &subscriptionspb.GetSubscriptionRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/apps/events/subscriptions/apiv1/subscriptionspb#GetSubscriptionRequest. + } + resp, err := c.GetSubscription(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExampleClient_ListSubscriptions() { + 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 := subscriptions.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &subscriptionspb.ListSubscriptionsRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/apps/events/subscriptions/apiv1/subscriptionspb#ListSubscriptionsRequest. + } + it := c.ListSubscriptions(ctx, req) + for { + resp, err := it.Next() + if err == iterator.Done { + break + } + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp + } +} + +func ExampleClient_ReactivateSubscription() { + 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 := subscriptions.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &subscriptionspb.ReactivateSubscriptionRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/apps/events/subscriptions/apiv1/subscriptionspb#ReactivateSubscriptionRequest. + } + op, err := c.ReactivateSubscription(ctx, req) + if err != nil { + // TODO: Handle error. + } + + resp, err := op.Wait(ctx) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExampleClient_UpdateSubscription() { + 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 := subscriptions.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &subscriptionspb.UpdateSubscriptionRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/apps/events/subscriptions/apiv1/subscriptionspb#UpdateSubscriptionRequest. + } + op, err := c.UpdateSubscription(ctx, req) + if err != nil { + // TODO: Handle error. + } + + resp, err := op.Wait(ctx) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExampleClient_GetOperation() { + 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 := subscriptions.NewClient(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 +} diff --git a/apps/events/subscriptions/apiv1/subscriptionspb/subscription_resource.pb.go b/apps/events/subscriptions/apiv1/subscriptionspb/subscription_resource.pb.go new file mode 100755 index 000000000000..59b5b868f00b --- /dev/null +++ b/apps/events/subscriptions/apiv1/subscriptionspb/subscription_resource.pb.go @@ -0,0 +1,867 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.32.0 +// protoc v4.25.2 +// source: google/apps/events/subscriptions/v1/subscription_resource.proto + +package subscriptionspb + +import ( + reflect "reflect" + sync "sync" + + _ "google.golang.org/genproto/googleapis/api/annotations" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + durationpb "google.golang.org/protobuf/types/known/durationpb" + fieldmaskpb "google.golang.org/protobuf/types/known/fieldmaskpb" + timestamppb "google.golang.org/protobuf/types/known/timestamppb" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// Possible states for the subscription. +type Subscription_State int32 + +const ( + // Default value. This value is unused. + Subscription_STATE_UNSPECIFIED Subscription_State = 0 + // The subscription is active and can receive and deliver events to its + // notification endpoint. + Subscription_ACTIVE Subscription_State = 1 + // The subscription is unable to receive events due to an error. + // To identify the error, see the + // [`suspension_reason`][google.apps.events.subscriptions.v1.Subscription.suspension_reason] + // field. + Subscription_SUSPENDED Subscription_State = 2 + // The subscription is deleted. + Subscription_DELETED Subscription_State = 3 +) + +// Enum value maps for Subscription_State. +var ( + Subscription_State_name = map[int32]string{ + 0: "STATE_UNSPECIFIED", + 1: "ACTIVE", + 2: "SUSPENDED", + 3: "DELETED", + } + Subscription_State_value = map[string]int32{ + "STATE_UNSPECIFIED": 0, + "ACTIVE": 1, + "SUSPENDED": 2, + "DELETED": 3, + } +) + +func (x Subscription_State) Enum() *Subscription_State { + p := new(Subscription_State) + *p = x + return p +} + +func (x Subscription_State) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (Subscription_State) Descriptor() protoreflect.EnumDescriptor { + return file_google_apps_events_subscriptions_v1_subscription_resource_proto_enumTypes[0].Descriptor() +} + +func (Subscription_State) Type() protoreflect.EnumType { + return &file_google_apps_events_subscriptions_v1_subscription_resource_proto_enumTypes[0] +} + +func (x Subscription_State) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use Subscription_State.Descriptor instead. +func (Subscription_State) EnumDescriptor() ([]byte, []int) { + return file_google_apps_events_subscriptions_v1_subscription_resource_proto_rawDescGZIP(), []int{0, 0} +} + +// Possible errors for a subscription. +type Subscription_ErrorType int32 + +const ( + // Default value. This value is unused. + Subscription_ERROR_TYPE_UNSPECIFIED Subscription_ErrorType = 0 + // The authorizing user has revoked the grant of one or more OAuth scopes. + // To learn more about authorization for Google Workspace, see [Configure + // the OAuth consent + // screen](https://developers.google.com/workspace/guides/configure-oauth-consent#choose-scopes). + Subscription_USER_SCOPE_REVOKED Subscription_ErrorType = 1 + // The target resource for the subscription no longer exists. + Subscription_RESOURCE_DELETED Subscription_ErrorType = 2 + // The user that authorized the creation of the subscription no longer has + // access to the subscription's target resource. + Subscription_USER_AUTHORIZATION_FAILURE Subscription_ErrorType = 3 + // The Google Workspace application doesn't have access to deliver + // events to your subscription's notification endpoint. + Subscription_ENDPOINT_PERMISSION_DENIED Subscription_ErrorType = 4 + // The subscription's notification endpoint doesn't exist, or the endpoint + // can't be found in the Google Cloud project where you created the + // subscription. + Subscription_ENDPOINT_NOT_FOUND Subscription_ErrorType = 6 + // The subscription's notification endpoint failed to receive events due to + // insufficient quota or reaching rate limiting. + Subscription_ENDPOINT_RESOURCE_EXHAUSTED Subscription_ErrorType = 7 + // An unidentified error has occurred. + Subscription_OTHER Subscription_ErrorType = 5 +) + +// Enum value maps for Subscription_ErrorType. +var ( + Subscription_ErrorType_name = map[int32]string{ + 0: "ERROR_TYPE_UNSPECIFIED", + 1: "USER_SCOPE_REVOKED", + 2: "RESOURCE_DELETED", + 3: "USER_AUTHORIZATION_FAILURE", + 4: "ENDPOINT_PERMISSION_DENIED", + 6: "ENDPOINT_NOT_FOUND", + 7: "ENDPOINT_RESOURCE_EXHAUSTED", + 5: "OTHER", + } + Subscription_ErrorType_value = map[string]int32{ + "ERROR_TYPE_UNSPECIFIED": 0, + "USER_SCOPE_REVOKED": 1, + "RESOURCE_DELETED": 2, + "USER_AUTHORIZATION_FAILURE": 3, + "ENDPOINT_PERMISSION_DENIED": 4, + "ENDPOINT_NOT_FOUND": 6, + "ENDPOINT_RESOURCE_EXHAUSTED": 7, + "OTHER": 5, + } +) + +func (x Subscription_ErrorType) Enum() *Subscription_ErrorType { + p := new(Subscription_ErrorType) + *p = x + return p +} + +func (x Subscription_ErrorType) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (Subscription_ErrorType) Descriptor() protoreflect.EnumDescriptor { + return file_google_apps_events_subscriptions_v1_subscription_resource_proto_enumTypes[1].Descriptor() +} + +func (Subscription_ErrorType) Type() protoreflect.EnumType { + return &file_google_apps_events_subscriptions_v1_subscription_resource_proto_enumTypes[1] +} + +func (x Subscription_ErrorType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use Subscription_ErrorType.Descriptor instead. +func (Subscription_ErrorType) EnumDescriptor() ([]byte, []int) { + return file_google_apps_events_subscriptions_v1_subscription_resource_proto_rawDescGZIP(), []int{0, 1} +} + +// A subscription to receive events about a Google Workspace resource. To learn +// more about subscriptions, see the [Google Workspace Events API +// overview](https://developers.google.com/workspace/events/guides). +type Subscription struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The time when the subscription expires. + // + // The maximum expiration time depends on whether your subscription includes + // resource data in event payloads (specified in the + // [PayloadOptions][google.apps.events.subscriptions.v1.PayloadOptions] + // field): + // + // * If payloads omit resource data, up to 7 days. + // * If payloads include resource data, up to 4 hours. If your Google + // Workspace organization grants access to the resource through [domain-wide + // delegation](https://support.google.com/a/answer/162106), you can extend the + // subscription's expiration time to up to 24 hours. + // + // After a subscription expires, it's deleted automatically. You receive + // lifecycle events to the + // [notification_endpoint][google.apps.events.subscriptions.v1.Subscription.notification_endpoint] + // 12 hours and one hour before the subscription expires. For details, see + // [Receive and respond to lifecycle + // events](https://developers.google.com/workspace/events/guides/events-lifecycle). + // + // To prevent a subscription from expiring, you can use the + // [`UpdateSubscription`][google.apps.events.subscriptions.v1.SubscriptionsService.UpdateSubscription] + // method to extend its expiration date. For details, see [Update or renew a + // subscription](https://developers.google.com/workspace/events/guides/update-subscription). + // + // Types that are assignable to Expiration: + // + // *Subscription_ExpireTime + // *Subscription_Ttl + Expiration isSubscription_Expiration `protobuf_oneof:"expiration"` + // Optional. Immutable. Identifier. Resource name of the subscription. + // + // Format: `subscriptions/{subscription}` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Output only. System-assigned unique identifier for the subscription. + Uid string `protobuf:"bytes,2,opt,name=uid,proto3" json:"uid,omitempty"` + // Required. Immutable. The Google Workspace resource that's monitored for + // events, formatted as the [full resource + // name](https://google.aip.dev/122#full-resource-names). To learn about + // target resources, see [Supported Google Workspace + // resources](https://developers.google.com/workspace/events/guides#supported-resources). + // + // A user can only authorize your app to create one subscription for a given + // target resource. If your app tries to create another subscription with the + // same user credentials, the request returns an `ALREADY_EXISTS` error. + TargetResource string `protobuf:"bytes,4,opt,name=target_resource,json=targetResource,proto3" json:"target_resource,omitempty"` + // Required. Immutable. Unordered list. Input for creating a subscription. + // Otherwise, output only. One or more types of events to receive about the + // target resource. Formatted according to the CloudEvents specification. + // + // For a list of supported event types, see the following documentation: + // + // * [Google Chat + // events](https://developers.google.com/workspace/events/guides/events-chat) + // * [Google Meet + // events](https://developers.google.com/workspace/events/guides/events-meet) + // + // By default, you also receive events about the [lifecycle of your + // subscription](https://developers.google.com/workspace/events/guides/events-lifecycle). + // You don't need to specify lifecycle events for this field. + // + // If you specify an event type that doesn't exist for the target resource, + // the request returns an HTTP `400 Bad Request` status code. + EventTypes []string `protobuf:"bytes,5,rep,name=event_types,json=eventTypes,proto3" json:"event_types,omitempty"` + // Optional. Options about what data to include in the event payload. Only + // supported for Google Chat events. + PayloadOptions *PayloadOptions `protobuf:"bytes,6,opt,name=payload_options,json=payloadOptions,proto3" json:"payload_options,omitempty"` + // Required. Immutable. The endpoint where the subscription delivers events, + // such as a Pub/Sub topic. + NotificationEndpoint *NotificationEndpoint `protobuf:"bytes,7,opt,name=notification_endpoint,json=notificationEndpoint,proto3" json:"notification_endpoint,omitempty"` + // Output only. The state of the subscription. Determines whether the + // subscription can receive events and deliver them to the notification + // endpoint. + State Subscription_State `protobuf:"varint,8,opt,name=state,proto3,enum=google.apps.events.subscriptions.v1.Subscription_State" json:"state,omitempty"` + // Output only. The error that suspended the subscription. + // + // To reactivate the subscription, resolve the error and call the + // [`ReactivateSubscription`][google.apps.events.subscriptions.v1.SubscriptionsService.ReactivateSubscription] + // method. + SuspensionReason Subscription_ErrorType `protobuf:"varint,18,opt,name=suspension_reason,json=suspensionReason,proto3,enum=google.apps.events.subscriptions.v1.Subscription_ErrorType" json:"suspension_reason,omitempty"` + // Output only. The user who authorized the creation of the + // subscription. + // + // Format: `users/{user}` + // + // For Google Workspace users, the `{user}` value is the + // [`user.id`](https://developers.google.com/admin-sdk/directory/reference/rest/v1/users#User.FIELDS.ids) + // field from the Directory API. + Authority string `protobuf:"bytes,10,opt,name=authority,proto3" json:"authority,omitempty"` + // Output only. The time when the subscription is created. + CreateTime *timestamppb.Timestamp `protobuf:"bytes,11,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` + // Output only. The last time that the subscription is updated. + UpdateTime *timestamppb.Timestamp `protobuf:"bytes,12,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"` + // Output only. If `true`, the subscription is in the process of being + // updated. + Reconciling bool `protobuf:"varint,15,opt,name=reconciling,proto3" json:"reconciling,omitempty"` + // Optional. This checksum is computed by the server based on the value of + // other fields, and might be sent on update requests to ensure the client has + // an up-to-date value before proceeding. + Etag string `protobuf:"bytes,17,opt,name=etag,proto3" json:"etag,omitempty"` +} + +func (x *Subscription) Reset() { + *x = Subscription{} + if protoimpl.UnsafeEnabled { + mi := &file_google_apps_events_subscriptions_v1_subscription_resource_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Subscription) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Subscription) ProtoMessage() {} + +func (x *Subscription) ProtoReflect() protoreflect.Message { + mi := &file_google_apps_events_subscriptions_v1_subscription_resource_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Subscription.ProtoReflect.Descriptor instead. +func (*Subscription) Descriptor() ([]byte, []int) { + return file_google_apps_events_subscriptions_v1_subscription_resource_proto_rawDescGZIP(), []int{0} +} + +func (m *Subscription) GetExpiration() isSubscription_Expiration { + if m != nil { + return m.Expiration + } + return nil +} + +func (x *Subscription) GetExpireTime() *timestamppb.Timestamp { + if x, ok := x.GetExpiration().(*Subscription_ExpireTime); ok { + return x.ExpireTime + } + return nil +} + +func (x *Subscription) GetTtl() *durationpb.Duration { + if x, ok := x.GetExpiration().(*Subscription_Ttl); ok { + return x.Ttl + } + return nil +} + +func (x *Subscription) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *Subscription) GetUid() string { + if x != nil { + return x.Uid + } + return "" +} + +func (x *Subscription) GetTargetResource() string { + if x != nil { + return x.TargetResource + } + return "" +} + +func (x *Subscription) GetEventTypes() []string { + if x != nil { + return x.EventTypes + } + return nil +} + +func (x *Subscription) GetPayloadOptions() *PayloadOptions { + if x != nil { + return x.PayloadOptions + } + return nil +} + +func (x *Subscription) GetNotificationEndpoint() *NotificationEndpoint { + if x != nil { + return x.NotificationEndpoint + } + return nil +} + +func (x *Subscription) GetState() Subscription_State { + if x != nil { + return x.State + } + return Subscription_STATE_UNSPECIFIED +} + +func (x *Subscription) GetSuspensionReason() Subscription_ErrorType { + if x != nil { + return x.SuspensionReason + } + return Subscription_ERROR_TYPE_UNSPECIFIED +} + +func (x *Subscription) GetAuthority() string { + if x != nil { + return x.Authority + } + return "" +} + +func (x *Subscription) GetCreateTime() *timestamppb.Timestamp { + if x != nil { + return x.CreateTime + } + return nil +} + +func (x *Subscription) GetUpdateTime() *timestamppb.Timestamp { + if x != nil { + return x.UpdateTime + } + return nil +} + +func (x *Subscription) GetReconciling() bool { + if x != nil { + return x.Reconciling + } + return false +} + +func (x *Subscription) GetEtag() string { + if x != nil { + return x.Etag + } + return "" +} + +type isSubscription_Expiration interface { + isSubscription_Expiration() +} + +type Subscription_ExpireTime struct { + // Non-empty default. The timestamp in UTC when the subscription expires. + // Always displayed on output, regardless of what was used on input. + ExpireTime *timestamppb.Timestamp `protobuf:"bytes,13,opt,name=expire_time,json=expireTime,proto3,oneof"` +} + +type Subscription_Ttl struct { + // Input only. The time-to-live (TTL) or duration for the subscription. If + // unspecified or set to `0`, uses the maximum possible duration. + Ttl *durationpb.Duration `protobuf:"bytes,14,opt,name=ttl,proto3,oneof"` +} + +func (*Subscription_ExpireTime) isSubscription_Expiration() {} + +func (*Subscription_Ttl) isSubscription_Expiration() {} + +// Options about what data to include in the event payload. Only supported for +// Google Chat events. +type PayloadOptions struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Optional. Whether the event payload includes data about the resource that + // changed. For example, for an event where a Google Chat message was created, + // whether the payload contains data about the + // [`Message`](https://developers.google.com/chat/api/reference/rest/v1/spaces.messages) + // resource. If false, the event payload only includes the name of the changed + // resource. + IncludeResource bool `protobuf:"varint,1,opt,name=include_resource,json=includeResource,proto3" json:"include_resource,omitempty"` + // Optional. If `include_resource` is set to `true`, the list of fields to + // include in the event payload. Separate fields with a comma. For example, to + // include a Google Chat message's sender and create time, enter + // `message.sender,message.createTime`. If omitted, the payload includes all + // fields for the resource. + // + // If you specify a field that doesn't exist for the resource, the system + // ignores the field. + FieldMask *fieldmaskpb.FieldMask `protobuf:"bytes,2,opt,name=field_mask,json=fieldMask,proto3" json:"field_mask,omitempty"` +} + +func (x *PayloadOptions) Reset() { + *x = PayloadOptions{} + if protoimpl.UnsafeEnabled { + mi := &file_google_apps_events_subscriptions_v1_subscription_resource_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PayloadOptions) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PayloadOptions) ProtoMessage() {} + +func (x *PayloadOptions) ProtoReflect() protoreflect.Message { + mi := &file_google_apps_events_subscriptions_v1_subscription_resource_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PayloadOptions.ProtoReflect.Descriptor instead. +func (*PayloadOptions) Descriptor() ([]byte, []int) { + return file_google_apps_events_subscriptions_v1_subscription_resource_proto_rawDescGZIP(), []int{1} +} + +func (x *PayloadOptions) GetIncludeResource() bool { + if x != nil { + return x.IncludeResource + } + return false +} + +func (x *PayloadOptions) GetFieldMask() *fieldmaskpb.FieldMask { + if x != nil { + return x.FieldMask + } + return nil +} + +// The endpoint where the subscription delivers events. +type NotificationEndpoint struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Types that are assignable to Endpoint: + // + // *NotificationEndpoint_PubsubTopic + Endpoint isNotificationEndpoint_Endpoint `protobuf_oneof:"endpoint"` +} + +func (x *NotificationEndpoint) Reset() { + *x = NotificationEndpoint{} + if protoimpl.UnsafeEnabled { + mi := &file_google_apps_events_subscriptions_v1_subscription_resource_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *NotificationEndpoint) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*NotificationEndpoint) ProtoMessage() {} + +func (x *NotificationEndpoint) ProtoReflect() protoreflect.Message { + mi := &file_google_apps_events_subscriptions_v1_subscription_resource_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use NotificationEndpoint.ProtoReflect.Descriptor instead. +func (*NotificationEndpoint) Descriptor() ([]byte, []int) { + return file_google_apps_events_subscriptions_v1_subscription_resource_proto_rawDescGZIP(), []int{2} +} + +func (m *NotificationEndpoint) GetEndpoint() isNotificationEndpoint_Endpoint { + if m != nil { + return m.Endpoint + } + return nil +} + +func (x *NotificationEndpoint) GetPubsubTopic() string { + if x, ok := x.GetEndpoint().(*NotificationEndpoint_PubsubTopic); ok { + return x.PubsubTopic + } + return "" +} + +type isNotificationEndpoint_Endpoint interface { + isNotificationEndpoint_Endpoint() +} + +type NotificationEndpoint_PubsubTopic struct { + // Immutable. The Cloud Pub/Sub topic that receives events for the + // subscription. + // + // Format: `projects/{project}/topics/{topic}` + // + // You must create the topic in the same Google Cloud project where + // you create this subscription. + // + // When the topic receives events, the events are encoded as Cloud Pub/Sub + // messages. For details, see the [Google Cloud Pub/Sub Protocol Binding for + // CloudEvents](https://github.com/googleapis/google-cloudevents/blob/main/docs/spec/pubsub.md). + PubsubTopic string `protobuf:"bytes,1,opt,name=pubsub_topic,json=pubsubTopic,proto3,oneof"` +} + +func (*NotificationEndpoint_PubsubTopic) isNotificationEndpoint_Endpoint() {} + +var File_google_apps_events_subscriptions_v1_subscription_resource_proto protoreflect.FileDescriptor + +var file_google_apps_events_subscriptions_v1_subscription_resource_proto_rawDesc = []byte{ + 0x0a, 0x3f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x70, 0x73, 0x2f, 0x65, 0x76, + 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x12, 0x23, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x73, 0x2e, 0x65, + 0x76, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, + 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, + 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, + 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x1a, 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xec, 0x0a, 0x0a, 0x0c, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x42, 0x0a, 0x0b, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, + 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, + 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x07, 0x48, 0x00, 0x52, 0x0a, + 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x32, 0x0a, 0x03, 0x74, 0x74, + 0x6c, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x04, 0x48, 0x00, 0x52, 0x03, 0x74, 0x74, 0x6c, 0x12, 0x1d, + 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x09, 0xe0, 0x41, + 0x08, 0xe0, 0x41, 0x05, 0xe0, 0x41, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x15, 0x0a, + 0x03, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, + 0x03, 0x75, 0x69, 0x64, 0x12, 0x35, 0x0a, 0x0f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x72, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, + 0x41, 0x05, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x03, 0x0a, 0x01, 0x2a, 0x52, 0x0e, 0x74, 0x61, 0x72, + 0x67, 0x65, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x0b, 0x65, + 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, + 0x42, 0x09, 0xe0, 0x41, 0x02, 0xe0, 0x41, 0x06, 0xe0, 0x41, 0x05, 0x52, 0x0a, 0x65, 0x76, 0x65, + 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x61, 0x0a, 0x0f, 0x70, 0x61, 0x79, 0x6c, 0x6f, + 0x61, 0x64, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x73, 0x2e, 0x65, + 0x76, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x4f, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0e, 0x70, 0x61, 0x79, 0x6c, + 0x6f, 0x61, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x76, 0x0a, 0x15, 0x6e, 0x6f, + 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x73, 0x2e, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x73, + 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, + 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x64, 0x70, + 0x6f, 0x69, 0x6e, 0x74, 0x42, 0x06, 0xe0, 0x41, 0x02, 0xe0, 0x41, 0x05, 0x52, 0x14, 0x6e, 0x6f, + 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x12, 0x52, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, + 0x0e, 0x32, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x73, 0x2e, + 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, + 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x6d, 0x0a, 0x11, 0x73, 0x75, 0x73, 0x70, 0x65, 0x6e, + 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x12, 0x20, 0x01, 0x28, + 0x0e, 0x32, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x73, 0x2e, + 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x54, 0x79, 0x70, 0x65, 0x42, 0x03, + 0xe0, 0x41, 0x03, 0x52, 0x10, 0x73, 0x75, 0x73, 0x70, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x52, + 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x47, 0x0a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, + 0x74, 0x79, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, 0x03, 0xfa, 0x41, 0x23, + 0x0a, 0x21, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x55, + 0x73, 0x65, 0x72, 0x52, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x40, + 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0b, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, + 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, + 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, + 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, + 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, + 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x0b, 0x72, 0x65, 0x63, 0x6f, 0x6e, 0x63, 0x69, 0x6c, 0x69, 0x6e, + 0x67, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0b, 0x72, 0x65, + 0x63, 0x6f, 0x6e, 0x63, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x12, 0x17, 0x0a, 0x04, 0x65, 0x74, 0x61, + 0x67, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x04, 0x65, 0x74, + 0x61, 0x67, 0x22, 0x46, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x15, 0x0a, 0x11, 0x53, + 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, + 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0x01, 0x12, 0x0d, + 0x0a, 0x09, 0x53, 0x55, 0x53, 0x50, 0x45, 0x4e, 0x44, 0x45, 0x44, 0x10, 0x02, 0x12, 0x0b, 0x0a, + 0x07, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x44, 0x10, 0x03, 0x22, 0xd9, 0x01, 0x0a, 0x09, 0x45, + 0x72, 0x72, 0x6f, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x16, 0x45, 0x52, 0x52, 0x4f, + 0x52, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, + 0x45, 0x44, 0x10, 0x00, 0x12, 0x16, 0x0a, 0x12, 0x55, 0x53, 0x45, 0x52, 0x5f, 0x53, 0x43, 0x4f, + 0x50, 0x45, 0x5f, 0x52, 0x45, 0x56, 0x4f, 0x4b, 0x45, 0x44, 0x10, 0x01, 0x12, 0x14, 0x0a, 0x10, + 0x52, 0x45, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x44, + 0x10, 0x02, 0x12, 0x1e, 0x0a, 0x1a, 0x55, 0x53, 0x45, 0x52, 0x5f, 0x41, 0x55, 0x54, 0x48, 0x4f, + 0x52, 0x49, 0x5a, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x55, 0x52, 0x45, + 0x10, 0x03, 0x12, 0x1e, 0x0a, 0x1a, 0x45, 0x4e, 0x44, 0x50, 0x4f, 0x49, 0x4e, 0x54, 0x5f, 0x50, + 0x45, 0x52, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x44, 0x45, 0x4e, 0x49, 0x45, 0x44, + 0x10, 0x04, 0x12, 0x16, 0x0a, 0x12, 0x45, 0x4e, 0x44, 0x50, 0x4f, 0x49, 0x4e, 0x54, 0x5f, 0x4e, + 0x4f, 0x54, 0x5f, 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0x06, 0x12, 0x1f, 0x0a, 0x1b, 0x45, 0x4e, + 0x44, 0x50, 0x4f, 0x49, 0x4e, 0x54, 0x5f, 0x52, 0x45, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, + 0x45, 0x58, 0x48, 0x41, 0x55, 0x53, 0x54, 0x45, 0x44, 0x10, 0x07, 0x12, 0x09, 0x0a, 0x05, 0x4f, + 0x54, 0x48, 0x45, 0x52, 0x10, 0x05, 0x3a, 0x6e, 0xea, 0x41, 0x6b, 0x0a, 0x2b, 0x77, 0x6f, 0x72, + 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x53, 0x75, 0x62, 0x73, + 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2a, 0x0d, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x32, 0x0c, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x01, 0x01, 0x42, 0x0c, 0x0a, 0x0a, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x80, 0x01, 0x0a, 0x0e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, + 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2e, 0x0a, 0x10, 0x69, 0x6e, 0x63, 0x6c, 0x75, + 0x64, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x52, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x3e, 0x0a, 0x0a, 0x66, 0x69, 0x65, 0x6c, 0x64, + 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, + 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x66, 0x69, + 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x22, 0x6c, 0x0a, 0x14, 0x4e, 0x6f, 0x74, 0x69, 0x66, + 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, + 0x48, 0x0a, 0x0c, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x5f, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x23, 0xe0, 0x41, 0x05, 0xfa, 0x41, 0x1d, 0x0a, 0x1b, 0x70, + 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x48, 0x00, 0x52, 0x0b, 0x70, 0x75, + 0x62, 0x73, 0x75, 0x62, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x42, 0x0a, 0x0a, 0x08, 0x65, 0x6e, 0x64, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x42, 0x88, 0x03, 0xea, 0x41, 0x31, 0x0a, 0x21, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x55, 0x73, 0x65, 0x72, 0x12, 0x0c, + 0x75, 0x73, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x75, 0x73, 0x65, 0x72, 0x7d, 0xea, 0x41, 0x40, 0x0a, + 0x1b, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, + 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x12, 0x21, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, + 0x2f, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x73, 0x2f, 0x7b, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x7d, 0x0a, + 0x27, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x73, + 0x2e, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x42, 0x19, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x72, + 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x53, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x61, 0x70, 0x70, 0x73, 0x2f, + 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x2f, 0x73, 0x75, 0x62, 0x73, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x70, 0x62, 0x3b, 0x73, 0x75, 0x62, 0x73, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x70, 0x62, 0xaa, 0x02, 0x23, 0x47, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x41, 0x70, 0x70, 0x73, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x2e, + 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x56, 0x31, + 0xca, 0x02, 0x23, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x41, 0x70, 0x70, 0x73, 0x5c, 0x45, + 0x76, 0x65, 0x6e, 0x74, 0x73, 0x5c, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x5c, 0x56, 0x31, 0xea, 0x02, 0x27, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, + 0x3a, 0x41, 0x70, 0x70, 0x73, 0x3a, 0x3a, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x3a, 0x3a, 0x53, + 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x3a, 0x3a, 0x56, 0x31, + 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_google_apps_events_subscriptions_v1_subscription_resource_proto_rawDescOnce sync.Once + file_google_apps_events_subscriptions_v1_subscription_resource_proto_rawDescData = file_google_apps_events_subscriptions_v1_subscription_resource_proto_rawDesc +) + +func file_google_apps_events_subscriptions_v1_subscription_resource_proto_rawDescGZIP() []byte { + file_google_apps_events_subscriptions_v1_subscription_resource_proto_rawDescOnce.Do(func() { + file_google_apps_events_subscriptions_v1_subscription_resource_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_apps_events_subscriptions_v1_subscription_resource_proto_rawDescData) + }) + return file_google_apps_events_subscriptions_v1_subscription_resource_proto_rawDescData +} + +var file_google_apps_events_subscriptions_v1_subscription_resource_proto_enumTypes = make([]protoimpl.EnumInfo, 2) +var file_google_apps_events_subscriptions_v1_subscription_resource_proto_msgTypes = make([]protoimpl.MessageInfo, 3) +var file_google_apps_events_subscriptions_v1_subscription_resource_proto_goTypes = []interface{}{ + (Subscription_State)(0), // 0: google.apps.events.subscriptions.v1.Subscription.State + (Subscription_ErrorType)(0), // 1: google.apps.events.subscriptions.v1.Subscription.ErrorType + (*Subscription)(nil), // 2: google.apps.events.subscriptions.v1.Subscription + (*PayloadOptions)(nil), // 3: google.apps.events.subscriptions.v1.PayloadOptions + (*NotificationEndpoint)(nil), // 4: google.apps.events.subscriptions.v1.NotificationEndpoint + (*timestamppb.Timestamp)(nil), // 5: google.protobuf.Timestamp + (*durationpb.Duration)(nil), // 6: google.protobuf.Duration + (*fieldmaskpb.FieldMask)(nil), // 7: google.protobuf.FieldMask +} +var file_google_apps_events_subscriptions_v1_subscription_resource_proto_depIdxs = []int32{ + 5, // 0: google.apps.events.subscriptions.v1.Subscription.expire_time:type_name -> google.protobuf.Timestamp + 6, // 1: google.apps.events.subscriptions.v1.Subscription.ttl:type_name -> google.protobuf.Duration + 3, // 2: google.apps.events.subscriptions.v1.Subscription.payload_options:type_name -> google.apps.events.subscriptions.v1.PayloadOptions + 4, // 3: google.apps.events.subscriptions.v1.Subscription.notification_endpoint:type_name -> google.apps.events.subscriptions.v1.NotificationEndpoint + 0, // 4: google.apps.events.subscriptions.v1.Subscription.state:type_name -> google.apps.events.subscriptions.v1.Subscription.State + 1, // 5: google.apps.events.subscriptions.v1.Subscription.suspension_reason:type_name -> google.apps.events.subscriptions.v1.Subscription.ErrorType + 5, // 6: google.apps.events.subscriptions.v1.Subscription.create_time:type_name -> google.protobuf.Timestamp + 5, // 7: google.apps.events.subscriptions.v1.Subscription.update_time:type_name -> google.protobuf.Timestamp + 7, // 8: google.apps.events.subscriptions.v1.PayloadOptions.field_mask:type_name -> google.protobuf.FieldMask + 9, // [9:9] is the sub-list for method output_type + 9, // [9:9] is the sub-list for method input_type + 9, // [9:9] is the sub-list for extension type_name + 9, // [9:9] is the sub-list for extension extendee + 0, // [0:9] is the sub-list for field type_name +} + +func init() { file_google_apps_events_subscriptions_v1_subscription_resource_proto_init() } +func file_google_apps_events_subscriptions_v1_subscription_resource_proto_init() { + if File_google_apps_events_subscriptions_v1_subscription_resource_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_google_apps_events_subscriptions_v1_subscription_resource_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Subscription); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_apps_events_subscriptions_v1_subscription_resource_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PayloadOptions); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_apps_events_subscriptions_v1_subscription_resource_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*NotificationEndpoint); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + file_google_apps_events_subscriptions_v1_subscription_resource_proto_msgTypes[0].OneofWrappers = []interface{}{ + (*Subscription_ExpireTime)(nil), + (*Subscription_Ttl)(nil), + } + file_google_apps_events_subscriptions_v1_subscription_resource_proto_msgTypes[2].OneofWrappers = []interface{}{ + (*NotificationEndpoint_PubsubTopic)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_google_apps_events_subscriptions_v1_subscription_resource_proto_rawDesc, + NumEnums: 2, + NumMessages: 3, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_google_apps_events_subscriptions_v1_subscription_resource_proto_goTypes, + DependencyIndexes: file_google_apps_events_subscriptions_v1_subscription_resource_proto_depIdxs, + EnumInfos: file_google_apps_events_subscriptions_v1_subscription_resource_proto_enumTypes, + MessageInfos: file_google_apps_events_subscriptions_v1_subscription_resource_proto_msgTypes, + }.Build() + File_google_apps_events_subscriptions_v1_subscription_resource_proto = out.File + file_google_apps_events_subscriptions_v1_subscription_resource_proto_rawDesc = nil + file_google_apps_events_subscriptions_v1_subscription_resource_proto_goTypes = nil + file_google_apps_events_subscriptions_v1_subscription_resource_proto_depIdxs = nil +} diff --git a/apps/events/subscriptions/apiv1/subscriptionspb/subscriptions_service.pb.go b/apps/events/subscriptions/apiv1/subscriptionspb/subscriptions_service.pb.go new file mode 100755 index 000000000000..0e4f6ea6bb05 --- /dev/null +++ b/apps/events/subscriptions/apiv1/subscriptionspb/subscriptions_service.pb.go @@ -0,0 +1,1461 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.32.0 +// protoc v4.25.2 +// source: google/apps/events/subscriptions/v1/subscriptions_service.proto + +package subscriptionspb + +import ( + context "context" + reflect "reflect" + sync "sync" + + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" + _ "google.golang.org/genproto/googleapis/api/annotations" + grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + _ "google.golang.org/protobuf/types/known/emptypb" + fieldmaskpb "google.golang.org/protobuf/types/known/fieldmaskpb" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// The request message for +// [SubscriptionsService.CreateSubscription][google.apps.events.subscriptions.v1.SubscriptionsService.CreateSubscription]. +type CreateSubscriptionRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The subscription resource to create. + Subscription *Subscription `protobuf:"bytes,1,opt,name=subscription,proto3" json:"subscription,omitempty"` + // Optional. If set to `true`, validates and previews the request, but doesn't + // create the subscription. + ValidateOnly bool `protobuf:"varint,2,opt,name=validate_only,json=validateOnly,proto3" json:"validate_only,omitempty"` +} + +func (x *CreateSubscriptionRequest) Reset() { + *x = CreateSubscriptionRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_apps_events_subscriptions_v1_subscriptions_service_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateSubscriptionRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateSubscriptionRequest) ProtoMessage() {} + +func (x *CreateSubscriptionRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_apps_events_subscriptions_v1_subscriptions_service_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CreateSubscriptionRequest.ProtoReflect.Descriptor instead. +func (*CreateSubscriptionRequest) Descriptor() ([]byte, []int) { + return file_google_apps_events_subscriptions_v1_subscriptions_service_proto_rawDescGZIP(), []int{0} +} + +func (x *CreateSubscriptionRequest) GetSubscription() *Subscription { + if x != nil { + return x.Subscription + } + return nil +} + +func (x *CreateSubscriptionRequest) GetValidateOnly() bool { + if x != nil { + return x.ValidateOnly + } + return false +} + +// The request message for +// [SubscriptionsService.DeleteSubscription][google.apps.events.subscriptions.v1.SubscriptionsService.DeleteSubscription]. +type DeleteSubscriptionRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Resource name of the subscription to delete. + // + // Format: `subscriptions/{subscription}` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Optional. If set to `true`, validates and previews the request, but doesn't + // delete the subscription. + ValidateOnly bool `protobuf:"varint,2,opt,name=validate_only,json=validateOnly,proto3" json:"validate_only,omitempty"` + // Optional. If set to `true` and the subscription isn't found, the request + // succeeds but doesn't delete the subscription. + AllowMissing bool `protobuf:"varint,3,opt,name=allow_missing,json=allowMissing,proto3" json:"allow_missing,omitempty"` + // Optional. Etag of the subscription. + // + // If present, it must match with the server's etag. Otherwise, request + // fails with the status `ABORTED`. + Etag string `protobuf:"bytes,4,opt,name=etag,proto3" json:"etag,omitempty"` +} + +func (x *DeleteSubscriptionRequest) Reset() { + *x = DeleteSubscriptionRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_apps_events_subscriptions_v1_subscriptions_service_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeleteSubscriptionRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteSubscriptionRequest) ProtoMessage() {} + +func (x *DeleteSubscriptionRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_apps_events_subscriptions_v1_subscriptions_service_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeleteSubscriptionRequest.ProtoReflect.Descriptor instead. +func (*DeleteSubscriptionRequest) Descriptor() ([]byte, []int) { + return file_google_apps_events_subscriptions_v1_subscriptions_service_proto_rawDescGZIP(), []int{1} +} + +func (x *DeleteSubscriptionRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *DeleteSubscriptionRequest) GetValidateOnly() bool { + if x != nil { + return x.ValidateOnly + } + return false +} + +func (x *DeleteSubscriptionRequest) GetAllowMissing() bool { + if x != nil { + return x.AllowMissing + } + return false +} + +func (x *DeleteSubscriptionRequest) GetEtag() string { + if x != nil { + return x.Etag + } + return "" +} + +// The request message for +// [SubscriptionsService.GetSubscription][google.apps.events.subscriptions.v1.SubscriptionsService.GetSubscription]. +type GetSubscriptionRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Resource name of the subscription. + // + // Format: `subscriptions/{subscription}` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *GetSubscriptionRequest) Reset() { + *x = GetSubscriptionRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_apps_events_subscriptions_v1_subscriptions_service_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetSubscriptionRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetSubscriptionRequest) ProtoMessage() {} + +func (x *GetSubscriptionRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_apps_events_subscriptions_v1_subscriptions_service_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetSubscriptionRequest.ProtoReflect.Descriptor instead. +func (*GetSubscriptionRequest) Descriptor() ([]byte, []int) { + return file_google_apps_events_subscriptions_v1_subscriptions_service_proto_rawDescGZIP(), []int{2} +} + +func (x *GetSubscriptionRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// The request message for +// [SubscriptionsService.UpdateSubscription][google.apps.events.subscriptions.v1.SubscriptionsService.UpdateSubscription]. +type UpdateSubscriptionRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The subscription to update. + // + // The subscription's `name` field is used to identify the subscription to + // update. + Subscription *Subscription `protobuf:"bytes,1,opt,name=subscription,proto3" json:"subscription,omitempty"` + // Optional. Required. The field to update. + // + // You can update one of the following fields in a subscription: + // + // - [`expire_time`][google.apps.events.subscriptions.v1.Subscription.expire_time]: The timestamp when the + // subscription expires. + // - [`ttl`][google.apps.events.subscriptions.v1.Subscription.ttl]: The + // + // time-to-live (TTL) or duration of the + // + // subscription. + UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` + // Optional. If set to `true`, validates and previews the request, but doesn't + // update the subscription. + ValidateOnly bool `protobuf:"varint,3,opt,name=validate_only,json=validateOnly,proto3" json:"validate_only,omitempty"` +} + +func (x *UpdateSubscriptionRequest) Reset() { + *x = UpdateSubscriptionRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_apps_events_subscriptions_v1_subscriptions_service_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateSubscriptionRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateSubscriptionRequest) ProtoMessage() {} + +func (x *UpdateSubscriptionRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_apps_events_subscriptions_v1_subscriptions_service_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateSubscriptionRequest.ProtoReflect.Descriptor instead. +func (*UpdateSubscriptionRequest) Descriptor() ([]byte, []int) { + return file_google_apps_events_subscriptions_v1_subscriptions_service_proto_rawDescGZIP(), []int{3} +} + +func (x *UpdateSubscriptionRequest) GetSubscription() *Subscription { + if x != nil { + return x.Subscription + } + return nil +} + +func (x *UpdateSubscriptionRequest) GetUpdateMask() *fieldmaskpb.FieldMask { + if x != nil { + return x.UpdateMask + } + return nil +} + +func (x *UpdateSubscriptionRequest) GetValidateOnly() bool { + if x != nil { + return x.ValidateOnly + } + return false +} + +// The request message for +// [SubscriptionsService.ReactivateSubscription][google.apps.events.subscriptions.v1.SubscriptionsService.ReactivateSubscription]. +type ReactivateSubscriptionRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Resource name of the subscription. + // + // Format: `subscriptions/{subscription}` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *ReactivateSubscriptionRequest) Reset() { + *x = ReactivateSubscriptionRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_apps_events_subscriptions_v1_subscriptions_service_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ReactivateSubscriptionRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ReactivateSubscriptionRequest) ProtoMessage() {} + +func (x *ReactivateSubscriptionRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_apps_events_subscriptions_v1_subscriptions_service_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ReactivateSubscriptionRequest.ProtoReflect.Descriptor instead. +func (*ReactivateSubscriptionRequest) Descriptor() ([]byte, []int) { + return file_google_apps_events_subscriptions_v1_subscriptions_service_proto_rawDescGZIP(), []int{4} +} + +func (x *ReactivateSubscriptionRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// The request message for +// [SubscriptionsService.ListSubscriptions][google.apps.events.subscriptions.v1.SubscriptionsService.ListSubscriptions]. +type ListSubscriptionsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Optional. The maximum number of subscriptions to return. The service might + // return fewer than this value. + // + // If unspecified or set to `0`, up to 50 subscriptions are returned. + // + // The maximum value is 100. If you specify a value more than 100, the system + // only returns 100 subscriptions. + PageSize int32 `protobuf:"varint,1,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` + // Optional. A page token, received from a previous list subscriptions call. + // Provide this parameter to retrieve the subsequent page. + // + // When paginating, the filter value should match the call that provided the + // page token. Passing a different value might lead to unexpected results. + PageToken string `protobuf:"bytes,2,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` + // Required. A query filter. + // + // You can filter subscriptions by event type (`event_types`) + // and target resource (`target_resource`). + // + // You must specify at least one event type in your query. To filter for + // multiple event types, use the `OR` operator. + // + // To filter by both event type and target resource, use the `AND` operator + // and specify the full resource name, such as + // `//chat.googleapis.com/spaces/{space}`. + // + // For example, the following queries are valid: + // + // ``` + // event_types:"google.workspace.chat.membership.v1.updated" OR + // + // event_types:"google.workspace.chat.message.v1.created" + // + // event_types:"google.workspace.chat.message.v1.created" AND + // + // target_resource="//chat.googleapis.com/spaces/{space}" + // + // ( event_types:"google.workspace.chat.membership.v1.updated" OR + // + // event_types:"google.workspace.chat.message.v1.created" ) AND + // target_resource="//chat.googleapis.com/spaces/{space}" + // + // ``` + // + // The server rejects invalid queries with an `INVALID_ARGUMENT` + // error. + Filter string `protobuf:"bytes,3,opt,name=filter,proto3" json:"filter,omitempty"` +} + +func (x *ListSubscriptionsRequest) Reset() { + *x = ListSubscriptionsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_apps_events_subscriptions_v1_subscriptions_service_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListSubscriptionsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListSubscriptionsRequest) ProtoMessage() {} + +func (x *ListSubscriptionsRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_apps_events_subscriptions_v1_subscriptions_service_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListSubscriptionsRequest.ProtoReflect.Descriptor instead. +func (*ListSubscriptionsRequest) Descriptor() ([]byte, []int) { + return file_google_apps_events_subscriptions_v1_subscriptions_service_proto_rawDescGZIP(), []int{5} +} + +func (x *ListSubscriptionsRequest) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *ListSubscriptionsRequest) GetPageToken() string { + if x != nil { + return x.PageToken + } + return "" +} + +func (x *ListSubscriptionsRequest) GetFilter() string { + if x != nil { + return x.Filter + } + return "" +} + +// The response message for +// [SubscriptionsService.ListSubscriptions][google.apps.events.subscriptions.v1.SubscriptionsService.ListSubscriptions]. +type ListSubscriptionsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // List of subscriptions. + Subscriptions []*Subscription `protobuf:"bytes,1,rep,name=subscriptions,proto3" json:"subscriptions,omitempty"` + // A token, which can be sent as `page_token` to retrieve the next page. + // If this field is omitted, there are no subsequent pages. + NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` +} + +func (x *ListSubscriptionsResponse) Reset() { + *x = ListSubscriptionsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_google_apps_events_subscriptions_v1_subscriptions_service_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListSubscriptionsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListSubscriptionsResponse) ProtoMessage() {} + +func (x *ListSubscriptionsResponse) ProtoReflect() protoreflect.Message { + mi := &file_google_apps_events_subscriptions_v1_subscriptions_service_proto_msgTypes[6] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListSubscriptionsResponse.ProtoReflect.Descriptor instead. +func (*ListSubscriptionsResponse) Descriptor() ([]byte, []int) { + return file_google_apps_events_subscriptions_v1_subscriptions_service_proto_rawDescGZIP(), []int{6} +} + +func (x *ListSubscriptionsResponse) GetSubscriptions() []*Subscription { + if x != nil { + return x.Subscriptions + } + return nil +} + +func (x *ListSubscriptionsResponse) GetNextPageToken() string { + if x != nil { + return x.NextPageToken + } + return "" +} + +// Metadata for UpdateSubscription LRO. +type UpdateSubscriptionMetadata struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *UpdateSubscriptionMetadata) Reset() { + *x = UpdateSubscriptionMetadata{} + if protoimpl.UnsafeEnabled { + mi := &file_google_apps_events_subscriptions_v1_subscriptions_service_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateSubscriptionMetadata) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateSubscriptionMetadata) ProtoMessage() {} + +func (x *UpdateSubscriptionMetadata) ProtoReflect() protoreflect.Message { + mi := &file_google_apps_events_subscriptions_v1_subscriptions_service_proto_msgTypes[7] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateSubscriptionMetadata.ProtoReflect.Descriptor instead. +func (*UpdateSubscriptionMetadata) Descriptor() ([]byte, []int) { + return file_google_apps_events_subscriptions_v1_subscriptions_service_proto_rawDescGZIP(), []int{7} +} + +// Metadata for CreateSubscription LRO. +type CreateSubscriptionMetadata struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *CreateSubscriptionMetadata) Reset() { + *x = CreateSubscriptionMetadata{} + if protoimpl.UnsafeEnabled { + mi := &file_google_apps_events_subscriptions_v1_subscriptions_service_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateSubscriptionMetadata) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateSubscriptionMetadata) ProtoMessage() {} + +func (x *CreateSubscriptionMetadata) ProtoReflect() protoreflect.Message { + mi := &file_google_apps_events_subscriptions_v1_subscriptions_service_proto_msgTypes[8] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CreateSubscriptionMetadata.ProtoReflect.Descriptor instead. +func (*CreateSubscriptionMetadata) Descriptor() ([]byte, []int) { + return file_google_apps_events_subscriptions_v1_subscriptions_service_proto_rawDescGZIP(), []int{8} +} + +// Metadata for DeleteSubscription LRO. +type DeleteSubscriptionMetadata struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *DeleteSubscriptionMetadata) Reset() { + *x = DeleteSubscriptionMetadata{} + if protoimpl.UnsafeEnabled { + mi := &file_google_apps_events_subscriptions_v1_subscriptions_service_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeleteSubscriptionMetadata) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteSubscriptionMetadata) ProtoMessage() {} + +func (x *DeleteSubscriptionMetadata) ProtoReflect() protoreflect.Message { + mi := &file_google_apps_events_subscriptions_v1_subscriptions_service_proto_msgTypes[9] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeleteSubscriptionMetadata.ProtoReflect.Descriptor instead. +func (*DeleteSubscriptionMetadata) Descriptor() ([]byte, []int) { + return file_google_apps_events_subscriptions_v1_subscriptions_service_proto_rawDescGZIP(), []int{9} +} + +// Metadata for ReactivateSubscription LRO. +type ReactivateSubscriptionMetadata struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *ReactivateSubscriptionMetadata) Reset() { + *x = ReactivateSubscriptionMetadata{} + if protoimpl.UnsafeEnabled { + mi := &file_google_apps_events_subscriptions_v1_subscriptions_service_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ReactivateSubscriptionMetadata) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ReactivateSubscriptionMetadata) ProtoMessage() {} + +func (x *ReactivateSubscriptionMetadata) ProtoReflect() protoreflect.Message { + mi := &file_google_apps_events_subscriptions_v1_subscriptions_service_proto_msgTypes[10] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ReactivateSubscriptionMetadata.ProtoReflect.Descriptor instead. +func (*ReactivateSubscriptionMetadata) Descriptor() ([]byte, []int) { + return file_google_apps_events_subscriptions_v1_subscriptions_service_proto_rawDescGZIP(), []int{10} +} + +var File_google_apps_events_subscriptions_v1_subscriptions_service_proto protoreflect.FileDescriptor + +var file_google_apps_events_subscriptions_v1_subscriptions_service_proto_rawDesc = []byte{ + 0x0a, 0x3f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x70, 0x73, 0x2f, 0x65, 0x76, + 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x12, 0x23, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x73, 0x2e, 0x65, + 0x76, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, + 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, + 0x2f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, + 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x3f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2f, 0x61, 0x70, 0x70, 0x73, 0x2f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x73, 0x75, + 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x31, 0x2f, 0x73, + 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2f, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2f, 0x6f, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, + 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x66, 0x69, + 0x65, 0x6c, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa1, + 0x01, 0x0a, 0x19, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x5a, 0x0a, 0x0c, + 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x73, + 0x2e, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x73, + 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x0a, 0x0d, 0x76, 0x61, 0x6c, 0x69, + 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x42, + 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0c, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x6e, + 0x6c, 0x79, 0x22, 0xd1, 0x01, 0x0a, 0x19, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x75, 0x62, + 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x47, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x33, + 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2d, 0x0a, 0x2b, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, + 0x65, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, + 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x0d, 0x76, 0x61, 0x6c, + 0x69, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, + 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0c, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x4f, + 0x6e, 0x6c, 0x79, 0x12, 0x28, 0x0a, 0x0d, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x6d, 0x69, 0x73, + 0x73, 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, + 0x0c, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x12, 0x17, 0x0a, + 0x04, 0x65, 0x74, 0x61, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, + 0x52, 0x04, 0x65, 0x74, 0x61, 0x67, 0x22, 0x61, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x53, 0x75, 0x62, + 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x47, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x33, + 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2d, 0x0a, 0x2b, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, + 0x65, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, + 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xe3, 0x01, 0x0a, 0x19, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x5a, 0x0a, 0x0c, 0x73, 0x75, 0x62, 0x73, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x73, 0x2e, 0x65, 0x76, 0x65, 0x6e, + 0x74, 0x73, 0x2e, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, + 0x73, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, + 0x4d, 0x61, 0x73, 0x6b, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x12, 0x28, 0x0a, 0x0d, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, + 0x65, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, + 0x01, 0x52, 0x0c, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x6e, 0x6c, 0x79, 0x22, + 0x68, 0x0a, 0x1d, 0x52, 0x65, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x53, 0x75, 0x62, + 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x47, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x33, + 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2d, 0x0a, 0x2b, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, + 0x65, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, + 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x7d, 0x0a, 0x18, 0x4c, 0x69, 0x73, + 0x74, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, + 0x7a, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x70, + 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, + 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, + 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x1b, 0x0a, 0x06, 0x66, + 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, + 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x22, 0x9c, 0x01, 0x0a, 0x19, 0x4c, 0x69, 0x73, + 0x74, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x57, 0x0a, 0x0d, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x73, 0x2e, 0x65, 0x76, 0x65, 0x6e, + 0x74, 0x73, 0x2e, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x0d, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, + 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, + 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, + 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x1c, 0x0a, 0x1a, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0x1c, 0x0a, 0x1a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, + 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0x22, 0x1c, 0x0a, 0x1a, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x75, 0x62, + 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0x22, 0x20, 0x0a, 0x1e, 0x52, 0x65, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x53, + 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0x32, 0x96, 0x0f, 0x0a, 0x14, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0xd8, 0x01, 0x0a, + 0x12, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x3e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x70, + 0x73, 0x2e, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, + 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x22, 0x63, 0xca, 0x41, 0x2a, 0x0a, 0x0c, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x75, 0x62, + 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0xda, 0x41, 0x0c, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x21, 0x3a, 0x0c, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x11, 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0xd4, 0x01, 0x0a, 0x12, 0x44, 0x65, 0x6c, 0x65, + 0x74, 0x65, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3e, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x73, 0x2e, 0x65, 0x76, 0x65, + 0x6e, 0x74, 0x73, 0x2e, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x75, 0x62, 0x73, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, + 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x5f, 0xca, + 0x41, 0x33, 0x0a, 0x15, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x1a, 0x44, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x1c, 0x2a, 0x1a, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x73, 0x75, + 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xac, + 0x01, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x73, + 0x2e, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x75, 0x62, 0x73, + 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x73, 0x2e, 0x65, 0x76, + 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x22, 0x29, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x1c, 0x12, 0x1a, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x73, 0x75, 0x62, + 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xcd, 0x01, + 0x0a, 0x11, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x12, 0x3d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x70, + 0x73, 0x2e, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x75, + 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x3e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x73, + 0x2e, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x75, 0x62, + 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x39, 0xda, 0x41, 0x1d, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, + 0x2c, 0x20, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2c, 0x20, 0x66, 0x69, + 0x6c, 0x74, 0x65, 0x72, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x13, 0x12, 0x11, 0x2f, 0x76, 0x31, 0x2f, + 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0xfb, 0x01, + 0x0a, 0x12, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, + 0x70, 0x73, 0x2e, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, + 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x22, 0x85, 0x01, 0xca, 0x41, 0x2a, 0x0a, 0x0c, 0x53, 0x75, 0x62, 0x73, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, + 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0xda, 0x41, 0x18, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x37, 0x3a, 0x0c, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x32, 0x27, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x73, 0x75, 0x62, 0x73, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xe5, 0x01, 0x0a, 0x16, + 0x52, 0x65, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x42, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x61, 0x70, 0x70, 0x73, 0x2e, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x73, 0x75, 0x62, 0x73, + 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x61, + 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, + 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x68, 0xca, 0x41, 0x2e, 0x0a, 0x0c, + 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1e, 0x52, 0x65, + 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, 0x41, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2a, 0x3a, 0x01, 0x2a, 0x22, 0x25, 0x2f, 0x76, + 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x72, 0x65, 0x61, 0x63, 0x74, 0x69, 0x76, + 0x61, 0x74, 0x65, 0x1a, 0xe6, 0x04, 0xca, 0x41, 0x1e, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, + 0x63, 0x65, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, + 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0xc1, 0x04, 0x68, 0x74, 0x74, 0x70, 0x73, + 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, + 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x68, 0x61, 0x74, 0x2e, + 0x62, 0x6f, 0x74, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, + 0x75, 0x74, 0x68, 0x2f, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, + 0x68, 0x69, 0x70, 0x73, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, + 0x73, 0x68, 0x69, 0x70, 0x73, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x6f, 0x6e, 0x6c, 0x79, 0x2c, 0x68, + 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, + 0x68, 0x61, 0x74, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2c, 0x68, 0x74, 0x74, + 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, + 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x68, 0x61, + 0x74, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x72, 0x65, 0x61, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, + 0x65, 0x73, 0x2e, 0x72, 0x65, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x72, 0x65, 0x61, + 0x64, 0x6f, 0x6e, 0x6c, 0x79, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, + 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x73, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x6f, 0x6e, 0x6c, 0x79, 0x2c, 0x68, 0x74, 0x74, + 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, + 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x68, 0x61, + 0x74, 0x2e, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, + 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x73, 0x70, + 0x61, 0x63, 0x65, 0x73, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x6f, 0x6e, 0x6c, 0x79, 0x2c, 0x68, 0x74, + 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x6d, 0x65, + 0x65, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x2e, 0x73, 0x70, 0x61, 0x63, 0x65, 0x2e, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x64, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x61, 0x75, 0x74, 0x68, 0x2f, 0x6d, 0x65, 0x65, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x2e, 0x73, 0x70, + 0x61, 0x63, 0x65, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x6f, 0x6e, 0x6c, 0x79, 0x42, 0x91, 0x02, 0x0a, + 0x27, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x73, + 0x2e, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x42, 0x19, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, + 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x53, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x61, 0x70, 0x70, 0x73, 0x2f, + 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x2f, 0x73, 0x75, 0x62, 0x73, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x70, 0x62, 0x3b, 0x73, 0x75, 0x62, 0x73, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x70, 0x62, 0xaa, 0x02, 0x23, 0x47, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x41, 0x70, 0x70, 0x73, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x2e, + 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x56, 0x31, + 0xca, 0x02, 0x23, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x41, 0x70, 0x70, 0x73, 0x5c, 0x45, + 0x76, 0x65, 0x6e, 0x74, 0x73, 0x5c, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x5c, 0x56, 0x31, 0xea, 0x02, 0x27, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, + 0x3a, 0x41, 0x70, 0x70, 0x73, 0x3a, 0x3a, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x3a, 0x3a, 0x53, + 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x3a, 0x3a, 0x56, 0x31, + 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_google_apps_events_subscriptions_v1_subscriptions_service_proto_rawDescOnce sync.Once + file_google_apps_events_subscriptions_v1_subscriptions_service_proto_rawDescData = file_google_apps_events_subscriptions_v1_subscriptions_service_proto_rawDesc +) + +func file_google_apps_events_subscriptions_v1_subscriptions_service_proto_rawDescGZIP() []byte { + file_google_apps_events_subscriptions_v1_subscriptions_service_proto_rawDescOnce.Do(func() { + file_google_apps_events_subscriptions_v1_subscriptions_service_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_apps_events_subscriptions_v1_subscriptions_service_proto_rawDescData) + }) + return file_google_apps_events_subscriptions_v1_subscriptions_service_proto_rawDescData +} + +var file_google_apps_events_subscriptions_v1_subscriptions_service_proto_msgTypes = make([]protoimpl.MessageInfo, 11) +var file_google_apps_events_subscriptions_v1_subscriptions_service_proto_goTypes = []interface{}{ + (*CreateSubscriptionRequest)(nil), // 0: google.apps.events.subscriptions.v1.CreateSubscriptionRequest + (*DeleteSubscriptionRequest)(nil), // 1: google.apps.events.subscriptions.v1.DeleteSubscriptionRequest + (*GetSubscriptionRequest)(nil), // 2: google.apps.events.subscriptions.v1.GetSubscriptionRequest + (*UpdateSubscriptionRequest)(nil), // 3: google.apps.events.subscriptions.v1.UpdateSubscriptionRequest + (*ReactivateSubscriptionRequest)(nil), // 4: google.apps.events.subscriptions.v1.ReactivateSubscriptionRequest + (*ListSubscriptionsRequest)(nil), // 5: google.apps.events.subscriptions.v1.ListSubscriptionsRequest + (*ListSubscriptionsResponse)(nil), // 6: google.apps.events.subscriptions.v1.ListSubscriptionsResponse + (*UpdateSubscriptionMetadata)(nil), // 7: google.apps.events.subscriptions.v1.UpdateSubscriptionMetadata + (*CreateSubscriptionMetadata)(nil), // 8: google.apps.events.subscriptions.v1.CreateSubscriptionMetadata + (*DeleteSubscriptionMetadata)(nil), // 9: google.apps.events.subscriptions.v1.DeleteSubscriptionMetadata + (*ReactivateSubscriptionMetadata)(nil), // 10: google.apps.events.subscriptions.v1.ReactivateSubscriptionMetadata + (*Subscription)(nil), // 11: google.apps.events.subscriptions.v1.Subscription + (*fieldmaskpb.FieldMask)(nil), // 12: google.protobuf.FieldMask + (*longrunningpb.Operation)(nil), // 13: google.longrunning.Operation +} +var file_google_apps_events_subscriptions_v1_subscriptions_service_proto_depIdxs = []int32{ + 11, // 0: google.apps.events.subscriptions.v1.CreateSubscriptionRequest.subscription:type_name -> google.apps.events.subscriptions.v1.Subscription + 11, // 1: google.apps.events.subscriptions.v1.UpdateSubscriptionRequest.subscription:type_name -> google.apps.events.subscriptions.v1.Subscription + 12, // 2: google.apps.events.subscriptions.v1.UpdateSubscriptionRequest.update_mask:type_name -> google.protobuf.FieldMask + 11, // 3: google.apps.events.subscriptions.v1.ListSubscriptionsResponse.subscriptions:type_name -> google.apps.events.subscriptions.v1.Subscription + 0, // 4: google.apps.events.subscriptions.v1.SubscriptionsService.CreateSubscription:input_type -> google.apps.events.subscriptions.v1.CreateSubscriptionRequest + 1, // 5: google.apps.events.subscriptions.v1.SubscriptionsService.DeleteSubscription:input_type -> google.apps.events.subscriptions.v1.DeleteSubscriptionRequest + 2, // 6: google.apps.events.subscriptions.v1.SubscriptionsService.GetSubscription:input_type -> google.apps.events.subscriptions.v1.GetSubscriptionRequest + 5, // 7: google.apps.events.subscriptions.v1.SubscriptionsService.ListSubscriptions:input_type -> google.apps.events.subscriptions.v1.ListSubscriptionsRequest + 3, // 8: google.apps.events.subscriptions.v1.SubscriptionsService.UpdateSubscription:input_type -> google.apps.events.subscriptions.v1.UpdateSubscriptionRequest + 4, // 9: google.apps.events.subscriptions.v1.SubscriptionsService.ReactivateSubscription:input_type -> google.apps.events.subscriptions.v1.ReactivateSubscriptionRequest + 13, // 10: google.apps.events.subscriptions.v1.SubscriptionsService.CreateSubscription:output_type -> google.longrunning.Operation + 13, // 11: google.apps.events.subscriptions.v1.SubscriptionsService.DeleteSubscription:output_type -> google.longrunning.Operation + 11, // 12: google.apps.events.subscriptions.v1.SubscriptionsService.GetSubscription:output_type -> google.apps.events.subscriptions.v1.Subscription + 6, // 13: google.apps.events.subscriptions.v1.SubscriptionsService.ListSubscriptions:output_type -> google.apps.events.subscriptions.v1.ListSubscriptionsResponse + 13, // 14: google.apps.events.subscriptions.v1.SubscriptionsService.UpdateSubscription:output_type -> google.longrunning.Operation + 13, // 15: google.apps.events.subscriptions.v1.SubscriptionsService.ReactivateSubscription:output_type -> google.longrunning.Operation + 10, // [10:16] is the sub-list for method output_type + 4, // [4:10] is the sub-list for method input_type + 4, // [4:4] is the sub-list for extension type_name + 4, // [4:4] is the sub-list for extension extendee + 0, // [0:4] is the sub-list for field type_name +} + +func init() { file_google_apps_events_subscriptions_v1_subscriptions_service_proto_init() } +func file_google_apps_events_subscriptions_v1_subscriptions_service_proto_init() { + if File_google_apps_events_subscriptions_v1_subscriptions_service_proto != nil { + return + } + file_google_apps_events_subscriptions_v1_subscription_resource_proto_init() + if !protoimpl.UnsafeEnabled { + file_google_apps_events_subscriptions_v1_subscriptions_service_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateSubscriptionRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_apps_events_subscriptions_v1_subscriptions_service_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeleteSubscriptionRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_apps_events_subscriptions_v1_subscriptions_service_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetSubscriptionRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_apps_events_subscriptions_v1_subscriptions_service_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateSubscriptionRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_apps_events_subscriptions_v1_subscriptions_service_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ReactivateSubscriptionRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_apps_events_subscriptions_v1_subscriptions_service_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListSubscriptionsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_apps_events_subscriptions_v1_subscriptions_service_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListSubscriptionsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_apps_events_subscriptions_v1_subscriptions_service_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateSubscriptionMetadata); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_apps_events_subscriptions_v1_subscriptions_service_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateSubscriptionMetadata); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_apps_events_subscriptions_v1_subscriptions_service_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeleteSubscriptionMetadata); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_apps_events_subscriptions_v1_subscriptions_service_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ReactivateSubscriptionMetadata); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_google_apps_events_subscriptions_v1_subscriptions_service_proto_rawDesc, + NumEnums: 0, + NumMessages: 11, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_google_apps_events_subscriptions_v1_subscriptions_service_proto_goTypes, + DependencyIndexes: file_google_apps_events_subscriptions_v1_subscriptions_service_proto_depIdxs, + MessageInfos: file_google_apps_events_subscriptions_v1_subscriptions_service_proto_msgTypes, + }.Build() + File_google_apps_events_subscriptions_v1_subscriptions_service_proto = out.File + file_google_apps_events_subscriptions_v1_subscriptions_service_proto_rawDesc = nil + file_google_apps_events_subscriptions_v1_subscriptions_service_proto_goTypes = nil + file_google_apps_events_subscriptions_v1_subscriptions_service_proto_depIdxs = nil +} + +// Reference imports to suppress errors if they are not otherwise used. +var _ context.Context +var _ grpc.ClientConnInterface + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +const _ = grpc.SupportPackageIsVersion6 + +// SubscriptionsServiceClient is the client API for SubscriptionsService service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. +type SubscriptionsServiceClient interface { + // Creates a Google Workspace subscription. To learn how to use this + // method, see [Create a Google Workspace + // subscription](https://developers.google.com/workspace/events/guides/create-subscription). + CreateSubscription(ctx context.Context, in *CreateSubscriptionRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) + // Deletes a Google Workspace subscription. + // To learn how to use this method, see [Delete a Google Workspace + // subscription](https://developers.google.com/workspace/events/guides/delete-subscription). + DeleteSubscription(ctx context.Context, in *DeleteSubscriptionRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) + // Gets details about a Google Workspace subscription. To learn how to use + // this method, see [Get details about a Google Workspace + // subscription](https://developers.google.com/workspace/events/guides/get-subscription). + GetSubscription(ctx context.Context, in *GetSubscriptionRequest, opts ...grpc.CallOption) (*Subscription, error) + // Lists Google Workspace subscriptions. To learn how to use this method, see + // [List Google Workspace + // subscriptions](https://developers.google.com/workspace/events/guides/list-subscriptions). + ListSubscriptions(ctx context.Context, in *ListSubscriptionsRequest, opts ...grpc.CallOption) (*ListSubscriptionsResponse, error) + // Updates or renews a Google Workspace subscription. To learn how to use this + // method, see [Update or renew a Google Workspace + // subscription](https://developers.google.com/workspace/events/guides/update-subscription). + UpdateSubscription(ctx context.Context, in *UpdateSubscriptionRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) + // Reactivates a suspended Google Workspace subscription. + // + // This method resets your subscription's `State` field to `ACTIVE`. Before + // you use this method, you must fix the error that suspended the + // subscription. To learn how to use this method, see [Reactivate a Google + // Workspace + // subscription](https://developers.google.com/workspace/events/guides/reactivate-subscription). + ReactivateSubscription(ctx context.Context, in *ReactivateSubscriptionRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) +} + +type subscriptionsServiceClient struct { + cc grpc.ClientConnInterface +} + +func NewSubscriptionsServiceClient(cc grpc.ClientConnInterface) SubscriptionsServiceClient { + return &subscriptionsServiceClient{cc} +} + +func (c *subscriptionsServiceClient) CreateSubscription(ctx context.Context, in *CreateSubscriptionRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/google.apps.events.subscriptions.v1.SubscriptionsService/CreateSubscription", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *subscriptionsServiceClient) DeleteSubscription(ctx context.Context, in *DeleteSubscriptionRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/google.apps.events.subscriptions.v1.SubscriptionsService/DeleteSubscription", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *subscriptionsServiceClient) GetSubscription(ctx context.Context, in *GetSubscriptionRequest, opts ...grpc.CallOption) (*Subscription, error) { + out := new(Subscription) + err := c.cc.Invoke(ctx, "/google.apps.events.subscriptions.v1.SubscriptionsService/GetSubscription", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *subscriptionsServiceClient) ListSubscriptions(ctx context.Context, in *ListSubscriptionsRequest, opts ...grpc.CallOption) (*ListSubscriptionsResponse, error) { + out := new(ListSubscriptionsResponse) + err := c.cc.Invoke(ctx, "/google.apps.events.subscriptions.v1.SubscriptionsService/ListSubscriptions", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *subscriptionsServiceClient) UpdateSubscription(ctx context.Context, in *UpdateSubscriptionRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/google.apps.events.subscriptions.v1.SubscriptionsService/UpdateSubscription", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *subscriptionsServiceClient) ReactivateSubscription(ctx context.Context, in *ReactivateSubscriptionRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/google.apps.events.subscriptions.v1.SubscriptionsService/ReactivateSubscription", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// SubscriptionsServiceServer is the server API for SubscriptionsService service. +type SubscriptionsServiceServer interface { + // Creates a Google Workspace subscription. To learn how to use this + // method, see [Create a Google Workspace + // subscription](https://developers.google.com/workspace/events/guides/create-subscription). + CreateSubscription(context.Context, *CreateSubscriptionRequest) (*longrunningpb.Operation, error) + // Deletes a Google Workspace subscription. + // To learn how to use this method, see [Delete a Google Workspace + // subscription](https://developers.google.com/workspace/events/guides/delete-subscription). + DeleteSubscription(context.Context, *DeleteSubscriptionRequest) (*longrunningpb.Operation, error) + // Gets details about a Google Workspace subscription. To learn how to use + // this method, see [Get details about a Google Workspace + // subscription](https://developers.google.com/workspace/events/guides/get-subscription). + GetSubscription(context.Context, *GetSubscriptionRequest) (*Subscription, error) + // Lists Google Workspace subscriptions. To learn how to use this method, see + // [List Google Workspace + // subscriptions](https://developers.google.com/workspace/events/guides/list-subscriptions). + ListSubscriptions(context.Context, *ListSubscriptionsRequest) (*ListSubscriptionsResponse, error) + // Updates or renews a Google Workspace subscription. To learn how to use this + // method, see [Update or renew a Google Workspace + // subscription](https://developers.google.com/workspace/events/guides/update-subscription). + UpdateSubscription(context.Context, *UpdateSubscriptionRequest) (*longrunningpb.Operation, error) + // Reactivates a suspended Google Workspace subscription. + // + // This method resets your subscription's `State` field to `ACTIVE`. Before + // you use this method, you must fix the error that suspended the + // subscription. To learn how to use this method, see [Reactivate a Google + // Workspace + // subscription](https://developers.google.com/workspace/events/guides/reactivate-subscription). + ReactivateSubscription(context.Context, *ReactivateSubscriptionRequest) (*longrunningpb.Operation, error) +} + +// UnimplementedSubscriptionsServiceServer can be embedded to have forward compatible implementations. +type UnimplementedSubscriptionsServiceServer struct { +} + +func (*UnimplementedSubscriptionsServiceServer) CreateSubscription(context.Context, *CreateSubscriptionRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateSubscription not implemented") +} +func (*UnimplementedSubscriptionsServiceServer) DeleteSubscription(context.Context, *DeleteSubscriptionRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method DeleteSubscription not implemented") +} +func (*UnimplementedSubscriptionsServiceServer) GetSubscription(context.Context, *GetSubscriptionRequest) (*Subscription, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetSubscription not implemented") +} +func (*UnimplementedSubscriptionsServiceServer) ListSubscriptions(context.Context, *ListSubscriptionsRequest) (*ListSubscriptionsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListSubscriptions not implemented") +} +func (*UnimplementedSubscriptionsServiceServer) UpdateSubscription(context.Context, *UpdateSubscriptionRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateSubscription not implemented") +} +func (*UnimplementedSubscriptionsServiceServer) ReactivateSubscription(context.Context, *ReactivateSubscriptionRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method ReactivateSubscription not implemented") +} + +func RegisterSubscriptionsServiceServer(s *grpc.Server, srv SubscriptionsServiceServer) { + s.RegisterService(&_SubscriptionsService_serviceDesc, srv) +} + +func _SubscriptionsService_CreateSubscription_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CreateSubscriptionRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(SubscriptionsServiceServer).CreateSubscription(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.apps.events.subscriptions.v1.SubscriptionsService/CreateSubscription", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(SubscriptionsServiceServer).CreateSubscription(ctx, req.(*CreateSubscriptionRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _SubscriptionsService_DeleteSubscription_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeleteSubscriptionRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(SubscriptionsServiceServer).DeleteSubscription(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.apps.events.subscriptions.v1.SubscriptionsService/DeleteSubscription", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(SubscriptionsServiceServer).DeleteSubscription(ctx, req.(*DeleteSubscriptionRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _SubscriptionsService_GetSubscription_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetSubscriptionRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(SubscriptionsServiceServer).GetSubscription(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.apps.events.subscriptions.v1.SubscriptionsService/GetSubscription", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(SubscriptionsServiceServer).GetSubscription(ctx, req.(*GetSubscriptionRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _SubscriptionsService_ListSubscriptions_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListSubscriptionsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(SubscriptionsServiceServer).ListSubscriptions(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.apps.events.subscriptions.v1.SubscriptionsService/ListSubscriptions", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(SubscriptionsServiceServer).ListSubscriptions(ctx, req.(*ListSubscriptionsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _SubscriptionsService_UpdateSubscription_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UpdateSubscriptionRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(SubscriptionsServiceServer).UpdateSubscription(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.apps.events.subscriptions.v1.SubscriptionsService/UpdateSubscription", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(SubscriptionsServiceServer).UpdateSubscription(ctx, req.(*UpdateSubscriptionRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _SubscriptionsService_ReactivateSubscription_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ReactivateSubscriptionRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(SubscriptionsServiceServer).ReactivateSubscription(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.apps.events.subscriptions.v1.SubscriptionsService/ReactivateSubscription", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(SubscriptionsServiceServer).ReactivateSubscription(ctx, req.(*ReactivateSubscriptionRequest)) + } + return interceptor(ctx, in, info, handler) +} + +var _SubscriptionsService_serviceDesc = grpc.ServiceDesc{ + ServiceName: "google.apps.events.subscriptions.v1.SubscriptionsService", + HandlerType: (*SubscriptionsServiceServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "CreateSubscription", + Handler: _SubscriptionsService_CreateSubscription_Handler, + }, + { + MethodName: "DeleteSubscription", + Handler: _SubscriptionsService_DeleteSubscription_Handler, + }, + { + MethodName: "GetSubscription", + Handler: _SubscriptionsService_GetSubscription_Handler, + }, + { + MethodName: "ListSubscriptions", + Handler: _SubscriptionsService_ListSubscriptions_Handler, + }, + { + MethodName: "UpdateSubscription", + Handler: _SubscriptionsService_UpdateSubscription_Handler, + }, + { + MethodName: "ReactivateSubscription", + Handler: _SubscriptionsService_ReactivateSubscription_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "google/apps/events/subscriptions/v1/subscriptions_service.proto", +} diff --git a/apps/events/subscriptions/apiv1/version.go b/apps/events/subscriptions/apiv1/version.go new file mode 100644 index 000000000000..be341e6657dc --- /dev/null +++ b/apps/events/subscriptions/apiv1/version.go @@ -0,0 +1,23 @@ +// Copyright 2024 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by gapicgen. DO NOT EDIT. + +package subscriptions + +import "cloud.google.com/go/apps/internal" + +func init() { + versionClient = internal.Version +} diff --git a/apps/go.mod b/apps/go.mod index 375c48a3c82a..72cc63967e4f 100644 --- a/apps/go.mod +++ b/apps/go.mod @@ -3,6 +3,7 @@ module cloud.google.com/go/apps go 1.19 require ( + cloud.google.com/go/longrunning v0.5.5 github.com/googleapis/gax-go/v2 v2.12.0 google.golang.org/api v0.164.0 google.golang.org/genproto/googleapis/api v0.0.0-20240213162025-012b6fc9bca9 @@ -11,6 +12,7 @@ require ( ) require ( + cloud.google.com/go v0.112.0 // indirect cloud.google.com/go/compute v1.23.4 // indirect cloud.google.com/go/compute/metadata v0.2.3 // indirect github.com/felixge/httpsnoop v1.0.4 // indirect diff --git a/apps/go.sum b/apps/go.sum index 5c443753ce57..327dde95af79 100644 --- a/apps/go.sum +++ b/apps/go.sum @@ -1,8 +1,12 @@ cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= +cloud.google.com/go v0.112.0 h1:tpFCD7hpHFlQ8yPwT3x+QeXqc2T6+n6T+hmABHfDUSM= +cloud.google.com/go v0.112.0/go.mod h1:3jEEVwZ/MHU4djK5t5RHuKOA/GbLddgTdVubX1qnPD4= cloud.google.com/go/compute v1.23.4 h1:EBT9Nw4q3zyE7G45Wvv3MzolIrCJEuHys5muLY0wvAw= cloud.google.com/go/compute v1.23.4/go.mod h1:/EJMj55asU6kAFnuZET8zqgwgJ9FvXWXOkkfQZa4ioI= cloud.google.com/go/compute/metadata v0.2.3 h1:mg4jlk7mCAj6xXp9UJ4fjI9VUI5rubuGBW5aJ7UnBMY= cloud.google.com/go/compute/metadata v0.2.3/go.mod h1:VAV5nSsACxMJvgaAuX6Pk2AawlZn8kiOGuCv6gTkwuA= +cloud.google.com/go/longrunning v0.5.5 h1:GOE6pZFdSrTb4KAiKnXsJBtlE6mEyaW44oKyMILWnOg= +cloud.google.com/go/longrunning v0.5.5/go.mod h1:WV2LAxD8/rg5Z1cNW6FJ/ZpX4E4VnDnoTk0yawPBB7s= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= diff --git a/bigquery/datatransfer/apiv1/data_transfer_client.go b/bigquery/datatransfer/apiv1/data_transfer_client.go index 0673311f35a8..2ab41f01d720 100755 --- a/bigquery/datatransfer/apiv1/data_transfer_client.go +++ b/bigquery/datatransfer/apiv1/data_transfer_client.go @@ -525,7 +525,8 @@ func (c *Client) EnrollDataSources(ctx context.Context, req *datatransferpb.Enro // UnenrollDataSources unenroll data sources in a user project. This allows users to remove // transfer configurations for these data sources. They will no longer appear // in the ListDataSources RPC and will also no longer appear in the BigQuery -// UI (at https://console.cloud.google.com/bigquery). +// UI (at https://console.cloud.google.com/bigquery). Data transfers +// configurations of unenrolled data sources will not be scheduled. func (c *Client) UnenrollDataSources(ctx context.Context, req *datatransferpb.UnenrollDataSourcesRequest, opts ...gax.CallOption) error { return c.internalClient.UnenrollDataSources(ctx, req, opts...) } @@ -2199,7 +2200,8 @@ func (c *restClient) EnrollDataSources(ctx context.Context, req *datatransferpb. // UnenrollDataSources unenroll data sources in a user project. This allows users to remove // transfer configurations for these data sources. They will no longer appear // in the ListDataSources RPC and will also no longer appear in the BigQuery -// UI (at https://console.cloud.google.com/bigquery). +// UI (at https://console.cloud.google.com/bigquery). Data transfers +// configurations of unenrolled data sources will not be scheduled. func (c *restClient) UnenrollDataSources(ctx context.Context, req *datatransferpb.UnenrollDataSourcesRequest, opts ...gax.CallOption) error { m := protojson.MarshalOptions{AllowPartial: true, UseEnumNumbers: true} jsonReq, err := m.Marshal(req) diff --git a/bigquery/datatransfer/apiv1/datatransferpb/datatransfer.pb.go b/bigquery/datatransfer/apiv1/datatransferpb/datatransfer.pb.go index 12b06a2929a2..ebe68b7c9d84 100755 --- a/bigquery/datatransfer/apiv1/datatransferpb/datatransfer.pb.go +++ b/bigquery/datatransfer/apiv1/datatransferpb/datatransfer.pb.go @@ -3603,7 +3603,8 @@ type DataTransferServiceClient interface { // Unenroll data sources in a user project. This allows users to remove // transfer configurations for these data sources. They will no longer appear // in the ListDataSources RPC and will also no longer appear in the [BigQuery - // UI](https://console.cloud.google.com/bigquery). + // UI](https://console.cloud.google.com/bigquery). Data transfers + // configurations of unenrolled data sources will not be scheduled. UnenrollDataSources(ctx context.Context, in *UnenrollDataSourcesRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) } @@ -3814,7 +3815,8 @@ type DataTransferServiceServer interface { // Unenroll data sources in a user project. This allows users to remove // transfer configurations for these data sources. They will no longer appear // in the ListDataSources RPC and will also no longer appear in the [BigQuery - // UI](https://console.cloud.google.com/bigquery). + // UI](https://console.cloud.google.com/bigquery). Data transfers + // configurations of unenrolled data sources will not be scheduled. UnenrollDataSources(context.Context, *UnenrollDataSourcesRequest) (*emptypb.Empty, error) } diff --git a/bigquery/datatransfer/apiv1/datatransferpb/transfer.pb.go b/bigquery/datatransfer/apiv1/datatransferpb/transfer.pb.go index f39f7de5b287..e0ecb9df988a 100755 --- a/bigquery/datatransfer/apiv1/datatransferpb/transfer.pb.go +++ b/bigquery/datatransfer/apiv1/datatransferpb/transfer.pb.go @@ -283,12 +283,12 @@ type ScheduleOptions struct { // Specifies time to start scheduling transfer runs. The first run will be // scheduled at or after the start time according to a recurrence pattern // defined in the schedule string. The start time can be changed at any - // moment. The time when a data transfer can be trigerred manually is not + // moment. The time when a data transfer can be triggered manually is not // limited by this option. StartTime *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"` // Defines time to stop scheduling transfer runs. A transfer run cannot be // scheduled at or after the end time. The end time can be changed at any - // moment. The time when a data transfer can be trigerred manually is not + // moment. The time when a data transfer can be triggered manually is not // limited by this option. EndTime *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"` } @@ -433,8 +433,7 @@ type TransferConfig struct { Params *structpb.Struct `protobuf:"bytes,9,opt,name=params,proto3" json:"params,omitempty"` // Data transfer schedule. // If the data source does not support a custom schedule, this should be - // empty. If it is empty, the default value for the data source will be - // used. + // empty. If it is empty, the default value for the data source will be used. // The specified times are in UTC. // Examples of valid format: // `1st,3rd monday of month 15:30`, @@ -452,11 +451,11 @@ type TransferConfig struct { // For example, if `data_refresh_window_days = 10`, then every day // BigQuery reingests data for [today-10, today-1], rather than ingesting data // for just [today-1]. - // Only valid if the data source supports the feature. Set the value to 0 + // Only valid if the data source supports the feature. Set the value to 0 // to use the default value. DataRefreshWindowDays int32 `protobuf:"varint,12,opt,name=data_refresh_window_days,json=dataRefreshWindowDays,proto3" json:"data_refresh_window_days,omitempty"` - // Is this config disabled. When set to true, no runs are scheduled - // for a given transfer. + // Is this config disabled. When set to true, no runs will be scheduled for + // this transfer config. Disabled bool `protobuf:"varint,13,opt,name=disabled,proto3" json:"disabled,omitempty"` // Output only. Data transfer modification time. Ignored by server on input. UpdateTime *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"` @@ -472,7 +471,7 @@ type TransferConfig struct { // associated with this transfer config finish. // // The format for specifying a pubsub topic is: - // `projects/{project}/topics/{topic}` + // `projects/{project_id}/topics/{topic_id}` NotificationPubsubTopic string `protobuf:"bytes,15,opt,name=notification_pubsub_topic,json=notificationPubsubTopic,proto3" json:"notification_pubsub_topic,omitempty"` // Email notifications will be sent according to these preferences // to the email address of the user who owns this transfer config. @@ -768,7 +767,7 @@ type TransferRun struct { // transfer run finishes. // // The format for specifying a pubsub topic is: - // `projects/{project}/topics/{topic}` + // `projects/{project_id}/topics/{topic_id}` NotificationPubsubTopic string `protobuf:"bytes,23,opt,name=notification_pubsub_topic,json=notificationPubsubTopic,proto3" json:"notification_pubsub_topic,omitempty"` // Output only. Email notifications will be sent according to these // preferences to the email address of the user who owns the transfer config diff --git a/internal/.repo-metadata-full.json b/internal/.repo-metadata-full.json index 74e90196f2ac..c9a57ccddbc5 100644 --- a/internal/.repo-metadata-full.json +++ b/internal/.repo-metadata-full.json @@ -199,6 +199,16 @@ "release_level": "stable", "library_type": "GAPIC_AUTO" }, + "cloud.google.com/go/apps/events/subscriptions/apiv1": { + "api_shortname": "workspaceevents", + "distribution_name": "cloud.google.com/go/apps/events/subscriptions/apiv1", + "description": "Google Workspace Events API", + "language": "go", + "client_library_type": "generated", + "client_documentation": "https://cloud.google.com/go/docs/reference/cloud.google.com/go/apps/latest/events/subscriptions/apiv1", + "release_level": "preview", + "library_type": "GAPIC_AUTO" + }, "cloud.google.com/go/apps/meet/apiv2": { "api_shortname": "meet", "distribution_name": "cloud.google.com/go/apps/meet/apiv2", diff --git a/internal/generated/snippets/apps/events/subscriptions/apiv1/Client/CreateSubscription/main.go b/internal/generated/snippets/apps/events/subscriptions/apiv1/Client/CreateSubscription/main.go new file mode 100644 index 000000000000..9c9345e4a09f --- /dev/null +++ b/internal/generated/snippets/apps/events/subscriptions/apiv1/Client/CreateSubscription/main.go @@ -0,0 +1,58 @@ +// Copyright 2024 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START workspaceevents_v1_generated_SubscriptionsService_CreateSubscription_sync] + +package main + +import ( + "context" + + subscriptions "cloud.google.com/go/apps/events/subscriptions/apiv1" + subscriptionspb "cloud.google.com/go/apps/events/subscriptions/apiv1/subscriptionspb" +) + +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 := subscriptions.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &subscriptionspb.CreateSubscriptionRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/apps/events/subscriptions/apiv1/subscriptionspb#CreateSubscriptionRequest. + } + op, err := c.CreateSubscription(ctx, req) + if err != nil { + // TODO: Handle error. + } + + resp, err := op.Wait(ctx) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +// [END workspaceevents_v1_generated_SubscriptionsService_CreateSubscription_sync] diff --git a/internal/generated/snippets/apps/events/subscriptions/apiv1/Client/DeleteSubscription/main.go b/internal/generated/snippets/apps/events/subscriptions/apiv1/Client/DeleteSubscription/main.go new file mode 100644 index 000000000000..4c725edb4112 --- /dev/null +++ b/internal/generated/snippets/apps/events/subscriptions/apiv1/Client/DeleteSubscription/main.go @@ -0,0 +1,56 @@ +// Copyright 2024 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START workspaceevents_v1_generated_SubscriptionsService_DeleteSubscription_sync] + +package main + +import ( + "context" + + subscriptions "cloud.google.com/go/apps/events/subscriptions/apiv1" + subscriptionspb "cloud.google.com/go/apps/events/subscriptions/apiv1/subscriptionspb" +) + +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 := subscriptions.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &subscriptionspb.DeleteSubscriptionRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/apps/events/subscriptions/apiv1/subscriptionspb#DeleteSubscriptionRequest. + } + op, err := c.DeleteSubscription(ctx, req) + if err != nil { + // TODO: Handle error. + } + + err = op.Wait(ctx) + if err != nil { + // TODO: Handle error. + } +} + +// [END workspaceevents_v1_generated_SubscriptionsService_DeleteSubscription_sync] diff --git a/internal/generated/snippets/apps/events/subscriptions/apiv1/Client/GetOperation/main.go b/internal/generated/snippets/apps/events/subscriptions/apiv1/Client/GetOperation/main.go new file mode 100644 index 000000000000..19d9f551694a --- /dev/null +++ b/internal/generated/snippets/apps/events/subscriptions/apiv1/Client/GetOperation/main.go @@ -0,0 +1,53 @@ +// Copyright 2024 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START workspaceevents_v1_generated_SubscriptionsService_GetOperation_sync] + +package main + +import ( + "context" + + subscriptions "cloud.google.com/go/apps/events/subscriptions/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 := subscriptions.NewClient(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 +} + +// [END workspaceevents_v1_generated_SubscriptionsService_GetOperation_sync] diff --git a/internal/generated/snippets/apps/events/subscriptions/apiv1/Client/GetSubscription/main.go b/internal/generated/snippets/apps/events/subscriptions/apiv1/Client/GetSubscription/main.go new file mode 100644 index 000000000000..dc093cf098a2 --- /dev/null +++ b/internal/generated/snippets/apps/events/subscriptions/apiv1/Client/GetSubscription/main.go @@ -0,0 +1,53 @@ +// Copyright 2024 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START workspaceevents_v1_generated_SubscriptionsService_GetSubscription_sync] + +package main + +import ( + "context" + + subscriptions "cloud.google.com/go/apps/events/subscriptions/apiv1" + subscriptionspb "cloud.google.com/go/apps/events/subscriptions/apiv1/subscriptionspb" +) + +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 := subscriptions.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &subscriptionspb.GetSubscriptionRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/apps/events/subscriptions/apiv1/subscriptionspb#GetSubscriptionRequest. + } + resp, err := c.GetSubscription(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +// [END workspaceevents_v1_generated_SubscriptionsService_GetSubscription_sync] diff --git a/internal/generated/snippets/apps/events/subscriptions/apiv1/Client/ListSubscriptions/main.go b/internal/generated/snippets/apps/events/subscriptions/apiv1/Client/ListSubscriptions/main.go new file mode 100644 index 000000000000..51a550d7fcb8 --- /dev/null +++ b/internal/generated/snippets/apps/events/subscriptions/apiv1/Client/ListSubscriptions/main.go @@ -0,0 +1,60 @@ +// Copyright 2024 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START workspaceevents_v1_generated_SubscriptionsService_ListSubscriptions_sync] + +package main + +import ( + "context" + + subscriptions "cloud.google.com/go/apps/events/subscriptions/apiv1" + subscriptionspb "cloud.google.com/go/apps/events/subscriptions/apiv1/subscriptionspb" + "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 := subscriptions.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &subscriptionspb.ListSubscriptionsRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/apps/events/subscriptions/apiv1/subscriptionspb#ListSubscriptionsRequest. + } + it := c.ListSubscriptions(ctx, req) + for { + resp, err := it.Next() + if err == iterator.Done { + break + } + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp + } +} + +// [END workspaceevents_v1_generated_SubscriptionsService_ListSubscriptions_sync] diff --git a/internal/generated/snippets/apps/events/subscriptions/apiv1/Client/ReactivateSubscription/main.go b/internal/generated/snippets/apps/events/subscriptions/apiv1/Client/ReactivateSubscription/main.go new file mode 100644 index 000000000000..8dd8331aceb1 --- /dev/null +++ b/internal/generated/snippets/apps/events/subscriptions/apiv1/Client/ReactivateSubscription/main.go @@ -0,0 +1,58 @@ +// Copyright 2024 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START workspaceevents_v1_generated_SubscriptionsService_ReactivateSubscription_sync] + +package main + +import ( + "context" + + subscriptions "cloud.google.com/go/apps/events/subscriptions/apiv1" + subscriptionspb "cloud.google.com/go/apps/events/subscriptions/apiv1/subscriptionspb" +) + +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 := subscriptions.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &subscriptionspb.ReactivateSubscriptionRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/apps/events/subscriptions/apiv1/subscriptionspb#ReactivateSubscriptionRequest. + } + op, err := c.ReactivateSubscription(ctx, req) + if err != nil { + // TODO: Handle error. + } + + resp, err := op.Wait(ctx) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +// [END workspaceevents_v1_generated_SubscriptionsService_ReactivateSubscription_sync] diff --git a/internal/generated/snippets/apps/events/subscriptions/apiv1/Client/UpdateSubscription/main.go b/internal/generated/snippets/apps/events/subscriptions/apiv1/Client/UpdateSubscription/main.go new file mode 100644 index 000000000000..0e495b9b6a28 --- /dev/null +++ b/internal/generated/snippets/apps/events/subscriptions/apiv1/Client/UpdateSubscription/main.go @@ -0,0 +1,58 @@ +// Copyright 2024 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START workspaceevents_v1_generated_SubscriptionsService_UpdateSubscription_sync] + +package main + +import ( + "context" + + subscriptions "cloud.google.com/go/apps/events/subscriptions/apiv1" + subscriptionspb "cloud.google.com/go/apps/events/subscriptions/apiv1/subscriptionspb" +) + +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 := subscriptions.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &subscriptionspb.UpdateSubscriptionRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/apps/events/subscriptions/apiv1/subscriptionspb#UpdateSubscriptionRequest. + } + op, err := c.UpdateSubscription(ctx, req) + if err != nil { + // TODO: Handle error. + } + + resp, err := op.Wait(ctx) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +// [END workspaceevents_v1_generated_SubscriptionsService_UpdateSubscription_sync] diff --git a/internal/generated/snippets/apps/events/subscriptions/apiv1/snippet_metadata.google.apps.events.subscriptions.v1.json b/internal/generated/snippets/apps/events/subscriptions/apiv1/snippet_metadata.google.apps.events.subscriptions.v1.json new file mode 100644 index 000000000000..372339df0e6f --- /dev/null +++ b/internal/generated/snippets/apps/events/subscriptions/apiv1/snippet_metadata.google.apps.events.subscriptions.v1.json @@ -0,0 +1,337 @@ +{ + "clientLibrary": { + "name": "cloud.google.com/go/apps/events/subscriptions/apiv1", + "version": "0.3.0", + "language": "GO", + "apis": [ + { + "id": "google.apps.events.subscriptions.v1", + "version": "v1" + } + ] + }, + "snippets": [ + { + "regionTag": "workspaceevents_v1_generated_SubscriptionsService_CreateSubscription_sync", + "title": "workspaceevents CreateSubscription Sample", + "description": "CreateSubscription creates a Google Workspace subscription. To learn how to use this\nmethod, see [Create a Google Workspace\nsubscription](https: //developers.google.com/workspace/events/guides/create-subscription).", + "file": "Client/CreateSubscription/main.go", + "language": "GO", + "clientMethod": { + "shortName": "CreateSubscription", + "fullName": "google.apps.events.subscriptions.v1.Client.CreateSubscription", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "subscriptionspb.CreateSubscriptionRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "CreateSubscriptionOperation", + "client": { + "shortName": "Client", + "fullName": "google.apps.events.subscriptions.v1.Client" + }, + "method": { + "shortName": "CreateSubscription", + "fullName": "google.apps.events.subscriptions.v1.SubscriptionsService.CreateSubscription", + "service": { + "shortName": "SubscriptionsService", + "fullName": "google.apps.events.subscriptions.v1.SubscriptionsService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 58, + "type": "FULL" + } + ] + }, + { + "regionTag": "workspaceevents_v1_generated_SubscriptionsService_DeleteSubscription_sync", + "title": "workspaceevents DeleteSubscription Sample", + "description": "DeleteSubscription deletes a Google Workspace subscription.\nTo learn how to use this method, see [Delete a Google Workspace\nsubscription](https: //developers.google.com/workspace/events/guides/delete-subscription).", + "file": "Client/DeleteSubscription/main.go", + "language": "GO", + "clientMethod": { + "shortName": "DeleteSubscription", + "fullName": "google.apps.events.subscriptions.v1.Client.DeleteSubscription", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "subscriptionspb.DeleteSubscriptionRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "DeleteSubscriptionOperation", + "client": { + "shortName": "Client", + "fullName": "google.apps.events.subscriptions.v1.Client" + }, + "method": { + "shortName": "DeleteSubscription", + "fullName": "google.apps.events.subscriptions.v1.SubscriptionsService.DeleteSubscription", + "service": { + "shortName": "SubscriptionsService", + "fullName": "google.apps.events.subscriptions.v1.SubscriptionsService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 56, + "type": "FULL" + } + ] + }, + { + "regionTag": "workspaceevents_v1_generated_SubscriptionsService_GetOperation_sync", + "title": "workspaceevents GetOperation Sample", + "description": "GetOperation is a utility method from google.longrunning.Operations.", + "file": "Client/GetOperation/main.go", + "language": "GO", + "clientMethod": { + "shortName": "GetOperation", + "fullName": "google.apps.events.subscriptions.v1.Client.GetOperation", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "longrunningpb.GetOperationRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*longrunningpb.Operation", + "client": { + "shortName": "Client", + "fullName": "google.apps.events.subscriptions.v1.Client" + }, + "method": { + "shortName": "GetOperation", + "fullName": "google.longrunning.Operations.GetOperation", + "service": { + "shortName": "Operations", + "fullName": "google.longrunning.Operations" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 53, + "type": "FULL" + } + ] + }, + { + "regionTag": "workspaceevents_v1_generated_SubscriptionsService_GetSubscription_sync", + "title": "workspaceevents GetSubscription Sample", + "description": "GetSubscription gets details about a Google Workspace subscription. To learn how to use\nthis method, see [Get details about a Google Workspace\nsubscription](https: //developers.google.com/workspace/events/guides/get-subscription).", + "file": "Client/GetSubscription/main.go", + "language": "GO", + "clientMethod": { + "shortName": "GetSubscription", + "fullName": "google.apps.events.subscriptions.v1.Client.GetSubscription", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "subscriptionspb.GetSubscriptionRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*subscriptionspb.Subscription", + "client": { + "shortName": "Client", + "fullName": "google.apps.events.subscriptions.v1.Client" + }, + "method": { + "shortName": "GetSubscription", + "fullName": "google.apps.events.subscriptions.v1.SubscriptionsService.GetSubscription", + "service": { + "shortName": "SubscriptionsService", + "fullName": "google.apps.events.subscriptions.v1.SubscriptionsService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 53, + "type": "FULL" + } + ] + }, + { + "regionTag": "workspaceevents_v1_generated_SubscriptionsService_ListSubscriptions_sync", + "title": "workspaceevents ListSubscriptions Sample", + "description": "ListSubscriptions lists Google Workspace subscriptions. To learn how to use this method, see\n[List Google Workspace\nsubscriptions](https: //developers.google.com/workspace/events/guides/list-subscriptions).", + "file": "Client/ListSubscriptions/main.go", + "language": "GO", + "clientMethod": { + "shortName": "ListSubscriptions", + "fullName": "google.apps.events.subscriptions.v1.Client.ListSubscriptions", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "subscriptionspb.ListSubscriptionsRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "SubscriptionIterator", + "client": { + "shortName": "Client", + "fullName": "google.apps.events.subscriptions.v1.Client" + }, + "method": { + "shortName": "ListSubscriptions", + "fullName": "google.apps.events.subscriptions.v1.SubscriptionsService.ListSubscriptions", + "service": { + "shortName": "SubscriptionsService", + "fullName": "google.apps.events.subscriptions.v1.SubscriptionsService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 60, + "type": "FULL" + } + ] + }, + { + "regionTag": "workspaceevents_v1_generated_SubscriptionsService_ReactivateSubscription_sync", + "title": "workspaceevents ReactivateSubscription Sample", + "description": "ReactivateSubscription reactivates a suspended Google Workspace subscription.\n\nThis method resets your subscription's `State` field to `ACTIVE`. Before\nyou use this method, you must fix the error that suspended the\nsubscription. To learn how to use this method, see [Reactivate a Google\nWorkspace\nsubscription](https: //developers.google.com/workspace/events/guides/reactivate-subscription).", + "file": "Client/ReactivateSubscription/main.go", + "language": "GO", + "clientMethod": { + "shortName": "ReactivateSubscription", + "fullName": "google.apps.events.subscriptions.v1.Client.ReactivateSubscription", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "subscriptionspb.ReactivateSubscriptionRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "ReactivateSubscriptionOperation", + "client": { + "shortName": "Client", + "fullName": "google.apps.events.subscriptions.v1.Client" + }, + "method": { + "shortName": "ReactivateSubscription", + "fullName": "google.apps.events.subscriptions.v1.SubscriptionsService.ReactivateSubscription", + "service": { + "shortName": "SubscriptionsService", + "fullName": "google.apps.events.subscriptions.v1.SubscriptionsService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 58, + "type": "FULL" + } + ] + }, + { + "regionTag": "workspaceevents_v1_generated_SubscriptionsService_UpdateSubscription_sync", + "title": "workspaceevents UpdateSubscription Sample", + "description": "UpdateSubscription updates or renews a Google Workspace subscription. To learn how to use this\nmethod, see [Update or renew a Google Workspace\nsubscription](https: //developers.google.com/workspace/events/guides/update-subscription).", + "file": "Client/UpdateSubscription/main.go", + "language": "GO", + "clientMethod": { + "shortName": "UpdateSubscription", + "fullName": "google.apps.events.subscriptions.v1.Client.UpdateSubscription", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "subscriptionspb.UpdateSubscriptionRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "UpdateSubscriptionOperation", + "client": { + "shortName": "Client", + "fullName": "google.apps.events.subscriptions.v1.Client" + }, + "method": { + "shortName": "UpdateSubscription", + "fullName": "google.apps.events.subscriptions.v1.SubscriptionsService.UpdateSubscription", + "service": { + "shortName": "SubscriptionsService", + "fullName": "google.apps.events.subscriptions.v1.SubscriptionsService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 58, + "type": "FULL" + } + ] + } + ] +} \ No newline at end of file diff --git a/internal/generated/snippets/bigquery/datatransfer/apiv1/snippet_metadata.google.cloud.bigquery.datatransfer.v1.json b/internal/generated/snippets/bigquery/datatransfer/apiv1/snippet_metadata.google.cloud.bigquery.datatransfer.v1.json index e89bd0cd5300..066342785c54 100644 --- a/internal/generated/snippets/bigquery/datatransfer/apiv1/snippet_metadata.google.cloud.bigquery.datatransfer.v1.json +++ b/internal/generated/snippets/bigquery/datatransfer/apiv1/snippet_metadata.google.cloud.bigquery.datatransfer.v1.json @@ -747,7 +747,7 @@ { "regionTag": "bigquerydatatransfer_v1_generated_DataTransferService_UnenrollDataSources_sync", "title": "bigquerydatatransfer UnenrollDataSources Sample", - "description": "UnenrollDataSources unenroll data sources in a user project. This allows users to remove\ntransfer configurations for these data sources. They will no longer appear\nin the ListDataSources RPC and will also no longer appear in the [BigQuery\nUI](https: //console.cloud.google.com/bigquery).", + "description": "UnenrollDataSources unenroll data sources in a user project. This allows users to remove\ntransfer configurations for these data sources. They will no longer appear\nin the ListDataSources RPC and will also no longer appear in the [BigQuery\nUI](https: //console.cloud.google.com/bigquery). Data transfers\nconfigurations of unenrolled data sources will not be scheduled.", "file": "Client/UnenrollDataSources/main.go", "language": "GO", "clientMethod": {