blob: 3757bd0ffab5f4ae365878d8f2afb9af1df5455b [file] [log] [blame]
// Copyright 2019 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.22.0
// protoc v3.12.2
// source: google/cloud/functions/v1beta2/functions.proto
package functions
import (
context "context"
reflect "reflect"
sync "sync"
proto "github.com/golang/protobuf/proto"
duration "github.com/golang/protobuf/ptypes/duration"
timestamp "github.com/golang/protobuf/ptypes/timestamp"
_ "google.golang.org/genproto/googleapis/api/annotations"
longrunning "google.golang.org/genproto/googleapis/longrunning"
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"
)
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)
)
// This is a compile-time assertion that a sufficiently up-to-date version
// of the legacy proto package is being used.
const _ = proto.ProtoPackageIsVersion4
// Describes the current stage of a deployment.
type CloudFunctionStatus int32
const (
// Status not specified.
CloudFunctionStatus_STATUS_UNSPECIFIED CloudFunctionStatus = 0
// Successfully deployed.
CloudFunctionStatus_READY CloudFunctionStatus = 1
// Not deployed correctly - behavior is undefined. The item should be updated
// or deleted to move it out of this state.
CloudFunctionStatus_FAILED CloudFunctionStatus = 2
// Creation or update in progress.
CloudFunctionStatus_DEPLOYING CloudFunctionStatus = 3
// Deletion in progress.
CloudFunctionStatus_DELETING CloudFunctionStatus = 4
)
// Enum value maps for CloudFunctionStatus.
var (
CloudFunctionStatus_name = map[int32]string{
0: "STATUS_UNSPECIFIED",
1: "READY",
2: "FAILED",
3: "DEPLOYING",
4: "DELETING",
}
CloudFunctionStatus_value = map[string]int32{
"STATUS_UNSPECIFIED": 0,
"READY": 1,
"FAILED": 2,
"DEPLOYING": 3,
"DELETING": 4,
}
)
func (x CloudFunctionStatus) Enum() *CloudFunctionStatus {
p := new(CloudFunctionStatus)
*p = x
return p
}
func (x CloudFunctionStatus) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (CloudFunctionStatus) Descriptor() protoreflect.EnumDescriptor {
return file_google_cloud_functions_v1beta2_functions_proto_enumTypes[0].Descriptor()
}
func (CloudFunctionStatus) Type() protoreflect.EnumType {
return &file_google_cloud_functions_v1beta2_functions_proto_enumTypes[0]
}
func (x CloudFunctionStatus) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use CloudFunctionStatus.Descriptor instead.
func (CloudFunctionStatus) EnumDescriptor() ([]byte, []int) {
return file_google_cloud_functions_v1beta2_functions_proto_rawDescGZIP(), []int{0}
}
// Describes a Cloud Function that contains user computation executed in
// response to an event. It encapsulate function and triggers configurations.
type CloudFunction struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// A user-defined name of the function. Function names must be unique
// globally and match pattern `projects/*/locations/*/functions/*`
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
// The location of the function source code.
//
// Types that are assignable to SourceCode:
// *CloudFunction_SourceArchiveUrl
// *CloudFunction_SourceRepository
// *CloudFunction_SourceRepositoryUrl
// *CloudFunction_SourceUploadUrl
SourceCode isCloudFunction_SourceCode `protobuf_oneof:"source_code"`
// An event that triggers the function.
//
// Types that are assignable to Trigger:
// *CloudFunction_HttpsTrigger
// *CloudFunction_EventTrigger
Trigger isCloudFunction_Trigger `protobuf_oneof:"trigger"`
// Output only. Status of the function deployment.
Status CloudFunctionStatus `protobuf:"varint,7,opt,name=status,proto3,enum=google.cloud.functions.v1beta2.CloudFunctionStatus" json:"status,omitempty"`
// Output only. Name of the most recent operation modifying the function. If
// the function status is `DEPLOYING` or `DELETING`, then it points to the
// active operation.
LatestOperation string `protobuf:"bytes,8,opt,name=latest_operation,json=latestOperation,proto3" json:"latest_operation,omitempty"`
// The name of the function (as defined in source code) that will be
// executed. Defaults to the resource name suffix, if not specified. For
// backward compatibility, if function with given name is not found, then the
// system will try to use function named "function".
// For Node.js this is name of a function exported by the module specified
// in `source_location`.
EntryPoint string `protobuf:"bytes,9,opt,name=entry_point,json=entryPoint,proto3" json:"entry_point,omitempty"`
// The runtime in which to run the function. Required when deploying a new
// function, optional when updating an existing function. For a complete
// list of possible choices, see the
// [`gcloud` command
// reference](/sdk/gcloud/reference/functions/deploy#--runtime).
Runtime string `protobuf:"bytes,23,opt,name=runtime,proto3" json:"runtime,omitempty"`
// The function execution timeout. Execution is considered failed and
// can be terminated if the function is not completed at the end of the
// timeout period. Defaults to 60 seconds.
Timeout *duration.Duration `protobuf:"bytes,10,opt,name=timeout,proto3" json:"timeout,omitempty"`
// The amount of memory in MB available for a function.
// Defaults to 256MB.
AvailableMemoryMb int32 `protobuf:"varint,11,opt,name=available_memory_mb,json=availableMemoryMb,proto3" json:"available_memory_mb,omitempty"`
// The email of the function's service account. If empty, defaults to
// `{project_id}@appspot.gserviceaccount.com`.
ServiceAccount string `protobuf:"bytes,13,opt,name=service_account,json=serviceAccount,proto3" json:"service_account,omitempty"`
// Output only. The last update timestamp of a Cloud Function.
UpdateTime *timestamp.Timestamp `protobuf:"bytes,15,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"`
// Output only. The version identifier of the Cloud Function. Each deployment attempt
// results in a new version of a function being created.
VersionId int64 `protobuf:"varint,20,opt,name=version_id,json=versionId,proto3" json:"version_id,omitempty"`
// Labels associated with this Cloud Function.
Labels map[string]string `protobuf:"bytes,21,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
// Environment variables that shall be available during function execution.
EnvironmentVariables map[string]string `protobuf:"bytes,22,rep,name=environment_variables,json=environmentVariables,proto3" json:"environment_variables,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
// The limit on the maximum number of function instances that may coexist at a
// given time.
MaxInstances int32 `protobuf:"varint,24,opt,name=max_instances,json=maxInstances,proto3" json:"max_instances,omitempty"`
// The VPC Network that this cloud function can connect to. It can be
// either the fully-qualified URI, or the short name of the network resource.
// If the short network name is used, the network must belong to the same
// project. Otherwise, it must belong to a project within the same
// organization. The format of this field is either
// `projects/{project}/global/networks/{network}` or `{network}`, where
// {project} is a project id where the network is defined, and {network} is
// the short name of the network.
//
// This field is mutually exclusive with `vpc_connector` and will be replaced
// by it.
//
// See [the VPC documentation](https://cloud.google.com/compute/docs/vpc) for
// more information on connecting Cloud projects.
Network string `protobuf:"bytes,25,opt,name=network,proto3" json:"network,omitempty"`
// The VPC Network Connector that this cloud function can connect to. It can
// be either the fully-qualified URI, or the short name of the network
// connector resource. The format of this field is
// `projects/*/locations/*/connectors/*`
//
// This field is mutually exclusive with `network` field and will eventually
// replace it.
//
// See [the VPC documentation](https://cloud.google.com/compute/docs/vpc) for
// more information on connecting Cloud projects.
VpcConnector string `protobuf:"bytes,26,opt,name=vpc_connector,json=vpcConnector,proto3" json:"vpc_connector,omitempty"`
}
func (x *CloudFunction) Reset() {
*x = CloudFunction{}
if protoimpl.UnsafeEnabled {
mi := &file_google_cloud_functions_v1beta2_functions_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CloudFunction) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CloudFunction) ProtoMessage() {}
func (x *CloudFunction) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_functions_v1beta2_functions_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 CloudFunction.ProtoReflect.Descriptor instead.
func (*CloudFunction) Descriptor() ([]byte, []int) {
return file_google_cloud_functions_v1beta2_functions_proto_rawDescGZIP(), []int{0}
}
func (x *CloudFunction) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (m *CloudFunction) GetSourceCode() isCloudFunction_SourceCode {
if m != nil {
return m.SourceCode
}
return nil
}
func (x *CloudFunction) GetSourceArchiveUrl() string {
if x, ok := x.GetSourceCode().(*CloudFunction_SourceArchiveUrl); ok {
return x.SourceArchiveUrl
}
return ""
}
func (x *CloudFunction) GetSourceRepository() *SourceRepository {
if x, ok := x.GetSourceCode().(*CloudFunction_SourceRepository); ok {
return x.SourceRepository
}
return nil
}
func (x *CloudFunction) GetSourceRepositoryUrl() string {
if x, ok := x.GetSourceCode().(*CloudFunction_SourceRepositoryUrl); ok {
return x.SourceRepositoryUrl
}
return ""
}
func (x *CloudFunction) GetSourceUploadUrl() string {
if x, ok := x.GetSourceCode().(*CloudFunction_SourceUploadUrl); ok {
return x.SourceUploadUrl
}
return ""
}
func (m *CloudFunction) GetTrigger() isCloudFunction_Trigger {
if m != nil {
return m.Trigger
}
return nil
}
func (x *CloudFunction) GetHttpsTrigger() *HTTPSTrigger {
if x, ok := x.GetTrigger().(*CloudFunction_HttpsTrigger); ok {
return x.HttpsTrigger
}
return nil
}
func (x *CloudFunction) GetEventTrigger() *EventTrigger {
if x, ok := x.GetTrigger().(*CloudFunction_EventTrigger); ok {
return x.EventTrigger
}
return nil
}
func (x *CloudFunction) GetStatus() CloudFunctionStatus {
if x != nil {
return x.Status
}
return CloudFunctionStatus_STATUS_UNSPECIFIED
}
func (x *CloudFunction) GetLatestOperation() string {
if x != nil {
return x.LatestOperation
}
return ""
}
func (x *CloudFunction) GetEntryPoint() string {
if x != nil {
return x.EntryPoint
}
return ""
}
func (x *CloudFunction) GetRuntime() string {
if x != nil {
return x.Runtime
}
return ""
}
func (x *CloudFunction) GetTimeout() *duration.Duration {
if x != nil {
return x.Timeout
}
return nil
}
func (x *CloudFunction) GetAvailableMemoryMb() int32 {
if x != nil {
return x.AvailableMemoryMb
}
return 0
}
func (x *CloudFunction) GetServiceAccount() string {
if x != nil {
return x.ServiceAccount
}
return ""
}
func (x *CloudFunction) GetUpdateTime() *timestamp.Timestamp {
if x != nil {
return x.UpdateTime
}
return nil
}
func (x *CloudFunction) GetVersionId() int64 {
if x != nil {
return x.VersionId
}
return 0
}
func (x *CloudFunction) GetLabels() map[string]string {
if x != nil {
return x.Labels
}
return nil
}
func (x *CloudFunction) GetEnvironmentVariables() map[string]string {
if x != nil {
return x.EnvironmentVariables
}
return nil
}
func (x *CloudFunction) GetMaxInstances() int32 {
if x != nil {
return x.MaxInstances
}
return 0
}
func (x *CloudFunction) GetNetwork() string {
if x != nil {
return x.Network
}
return ""
}
func (x *CloudFunction) GetVpcConnector() string {
if x != nil {
return x.VpcConnector
}
return ""
}
type isCloudFunction_SourceCode interface {
isCloudFunction_SourceCode()
}
type CloudFunction_SourceArchiveUrl struct {
// The Google Cloud Storage URL, starting with gs://, pointing to the zip
// archive which contains the function.
SourceArchiveUrl string `protobuf:"bytes,14,opt,name=source_archive_url,json=sourceArchiveUrl,proto3,oneof"`
}
type CloudFunction_SourceRepository struct {
// The hosted repository where the function is defined.
SourceRepository *SourceRepository `protobuf:"bytes,3,opt,name=source_repository,json=sourceRepository,proto3,oneof"`
}
type CloudFunction_SourceRepositoryUrl struct {
// The URL pointing to the hosted repository where the function is defined.
// There are supported Cloud Source Repository URLs in the following
// formats:
//
// To refer to a specific commit:
// `https://source.developers.google.com/projects/*/repos/*/revisions/*/paths/*`
// To refer to a moveable alias (branch):
// `https://source.developers.google.com/projects/*/repos/*/moveable-aliases/*/paths/*`
// In particular, to refer to HEAD use `master` moveable alias.
// To refer to a specific fixed alias (tag):
// `https://source.developers.google.com/projects/*/repos/*/fixed-aliases/*/paths/*`
//
// You may omit `paths/*` if you want to use the main directory.
SourceRepositoryUrl string `protobuf:"bytes,18,opt,name=source_repository_url,json=sourceRepositoryUrl,proto3,oneof"`
}
type CloudFunction_SourceUploadUrl struct {
// The Google Cloud Storage signed URL used for source uploading, generated
// by [google.cloud.functions.v1beta2.GenerateUploadUrl][]
SourceUploadUrl string `protobuf:"bytes,16,opt,name=source_upload_url,json=sourceUploadUrl,proto3,oneof"`
}
func (*CloudFunction_SourceArchiveUrl) isCloudFunction_SourceCode() {}
func (*CloudFunction_SourceRepository) isCloudFunction_SourceCode() {}
func (*CloudFunction_SourceRepositoryUrl) isCloudFunction_SourceCode() {}
func (*CloudFunction_SourceUploadUrl) isCloudFunction_SourceCode() {}
type isCloudFunction_Trigger interface {
isCloudFunction_Trigger()
}
type CloudFunction_HttpsTrigger struct {
// An HTTPS endpoint type of source that can be triggered via URL.
HttpsTrigger *HTTPSTrigger `protobuf:"bytes,6,opt,name=https_trigger,json=httpsTrigger,proto3,oneof"`
}
type CloudFunction_EventTrigger struct {
// A source that fires events in response to a condition in another service.
EventTrigger *EventTrigger `protobuf:"bytes,12,opt,name=event_trigger,json=eventTrigger,proto3,oneof"`
}
func (*CloudFunction_HttpsTrigger) isCloudFunction_Trigger() {}
func (*CloudFunction_EventTrigger) isCloudFunction_Trigger() {}
// Describes HTTPSTrigger, could be used to connect web hooks to function.
type HTTPSTrigger struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Output only. The deployed url for the function.
Url string `protobuf:"bytes,1,opt,name=url,proto3" json:"url,omitempty"`
}
func (x *HTTPSTrigger) Reset() {
*x = HTTPSTrigger{}
if protoimpl.UnsafeEnabled {
mi := &file_google_cloud_functions_v1beta2_functions_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *HTTPSTrigger) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*HTTPSTrigger) ProtoMessage() {}
func (x *HTTPSTrigger) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_functions_v1beta2_functions_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 HTTPSTrigger.ProtoReflect.Descriptor instead.
func (*HTTPSTrigger) Descriptor() ([]byte, []int) {
return file_google_cloud_functions_v1beta2_functions_proto_rawDescGZIP(), []int{1}
}
func (x *HTTPSTrigger) GetUrl() string {
if x != nil {
return x.Url
}
return ""
}
// Describes EventTrigger, used to request events be sent from another
// service.
type EventTrigger struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// `event_type` names contain the service that is sending an event and the
// kind of event that was fired. Must be of the form
// `providers/*/eventTypes/*` e.g. Directly handle a Message published to
// Google Cloud Pub/Sub `providers/cloud.pubsub/eventTypes/topic.publish`.
//
// Handle an object changing in Google Cloud Storage:
// `providers/cloud.storage/eventTypes/object.change`
//
// Handle a write to the Firebase Realtime Database:
// `providers/google.firebase.database/eventTypes/ref.write`
EventType string `protobuf:"bytes,1,opt,name=event_type,json=eventType,proto3" json:"event_type,omitempty"`
// Which instance of the source's service should send events. E.g. for Pub/Sub
// this would be a Pub/Sub topic at `projects/*/topics/*`. For Google Cloud
// Storage this would be a bucket at `projects/*/buckets/*`. For any source
// that only supports one instance per-project, this should be the name of the
// project (`projects/*`)
Resource string `protobuf:"bytes,2,opt,name=resource,proto3" json:"resource,omitempty"`
// The hostname of the service that should be observed.
//
// If no string is provided, the default service implementing the API will
// be used. For example, `storage.googleapis.com` is the default for all
// event types in the `google.storage` namespace.
Service string `protobuf:"bytes,6,opt,name=service,proto3" json:"service,omitempty"`
// Specifies policy for failed executions.
FailurePolicy *FailurePolicy `protobuf:"bytes,5,opt,name=failure_policy,json=failurePolicy,proto3" json:"failure_policy,omitempty"`
}
func (x *EventTrigger) Reset() {
*x = EventTrigger{}
if protoimpl.UnsafeEnabled {
mi := &file_google_cloud_functions_v1beta2_functions_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *EventTrigger) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*EventTrigger) ProtoMessage() {}
func (x *EventTrigger) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_functions_v1beta2_functions_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 EventTrigger.ProtoReflect.Descriptor instead.
func (*EventTrigger) Descriptor() ([]byte, []int) {
return file_google_cloud_functions_v1beta2_functions_proto_rawDescGZIP(), []int{2}
}
func (x *EventTrigger) GetEventType() string {
if x != nil {
return x.EventType
}
return ""
}
func (x *EventTrigger) GetResource() string {
if x != nil {
return x.Resource
}
return ""
}
func (x *EventTrigger) GetService() string {
if x != nil {
return x.Service
}
return ""
}
func (x *EventTrigger) GetFailurePolicy() *FailurePolicy {
if x != nil {
return x.FailurePolicy
}
return nil
}
// Describes the location of the function source in a remote repository.
type SourceRepository struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// URL to the hosted repository where the function is defined. Only paths in
// https://source.developers.google.com domain are supported. The path should
// contain the name of the repository.
RepositoryUrl string `protobuf:"bytes,1,opt,name=repository_url,json=repositoryUrl,proto3" json:"repository_url,omitempty"`
// The path within the repository where the function is defined. The path
// should point to the directory where Cloud Functions files are located. Use
// "/" if the function is defined directly in the root directory of a
// repository.
SourcePath string `protobuf:"bytes,2,opt,name=source_path,json=sourcePath,proto3" json:"source_path,omitempty"`
// The version of a function. Defaults to the latest version of the master
// branch.
//
// Types that are assignable to Version:
// *SourceRepository_Branch
// *SourceRepository_Tag
// *SourceRepository_Revision
Version isSourceRepository_Version `protobuf_oneof:"version"`
// Output only. The id of the revision that was resolved at the moment of
// function creation or update. For example when a user deployed from a
// branch, it will be the revision id of the latest change on this branch at
// that time. If user deployed from revision then this value will be always
// equal to the revision specified by the user.
DeployedRevision string `protobuf:"bytes,6,opt,name=deployed_revision,json=deployedRevision,proto3" json:"deployed_revision,omitempty"`
}
func (x *SourceRepository) Reset() {
*x = SourceRepository{}
if protoimpl.UnsafeEnabled {
mi := &file_google_cloud_functions_v1beta2_functions_proto_msgTypes[3]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SourceRepository) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SourceRepository) ProtoMessage() {}
func (x *SourceRepository) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_functions_v1beta2_functions_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 SourceRepository.ProtoReflect.Descriptor instead.
func (*SourceRepository) Descriptor() ([]byte, []int) {
return file_google_cloud_functions_v1beta2_functions_proto_rawDescGZIP(), []int{3}
}
func (x *SourceRepository) GetRepositoryUrl() string {
if x != nil {
return x.RepositoryUrl
}
return ""
}
func (x *SourceRepository) GetSourcePath() string {
if x != nil {
return x.SourcePath
}
return ""
}
func (m *SourceRepository) GetVersion() isSourceRepository_Version {
if m != nil {
return m.Version
}
return nil
}
func (x *SourceRepository) GetBranch() string {
if x, ok := x.GetVersion().(*SourceRepository_Branch); ok {
return x.Branch
}
return ""
}
func (x *SourceRepository) GetTag() string {
if x, ok := x.GetVersion().(*SourceRepository_Tag); ok {
return x.Tag
}
return ""
}
func (x *SourceRepository) GetRevision() string {
if x, ok := x.GetVersion().(*SourceRepository_Revision); ok {
return x.Revision
}
return ""
}
func (x *SourceRepository) GetDeployedRevision() string {
if x != nil {
return x.DeployedRevision
}
return ""
}
type isSourceRepository_Version interface {
isSourceRepository_Version()
}
type SourceRepository_Branch struct {
// The name of the branch from which the function should be fetched.
Branch string `protobuf:"bytes,3,opt,name=branch,proto3,oneof"`
}
type SourceRepository_Tag struct {
// The name of the tag that captures the state of the repository from
// which the function should be fetched.
Tag string `protobuf:"bytes,4,opt,name=tag,proto3,oneof"`
}
type SourceRepository_Revision struct {
// The id of the revision that captures the state of the repository from
// which the function should be fetched.
Revision string `protobuf:"bytes,5,opt,name=revision,proto3,oneof"`
}
func (*SourceRepository_Branch) isSourceRepository_Version() {}
func (*SourceRepository_Tag) isSourceRepository_Version() {}
func (*SourceRepository_Revision) isSourceRepository_Version() {}
// Describes the policy in case of function's execution failure.
// If empty, then defaults to ignoring failures (i.e. not retrying them).
type FailurePolicy struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Defines the action taken in case of a function execution failure.
//
// Types that are assignable to Action:
// *FailurePolicy_Retry_
Action isFailurePolicy_Action `protobuf_oneof:"action"`
}
func (x *FailurePolicy) Reset() {
*x = FailurePolicy{}
if protoimpl.UnsafeEnabled {
mi := &file_google_cloud_functions_v1beta2_functions_proto_msgTypes[4]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *FailurePolicy) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*FailurePolicy) ProtoMessage() {}
func (x *FailurePolicy) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_functions_v1beta2_functions_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 FailurePolicy.ProtoReflect.Descriptor instead.
func (*FailurePolicy) Descriptor() ([]byte, []int) {
return file_google_cloud_functions_v1beta2_functions_proto_rawDescGZIP(), []int{4}
}
func (m *FailurePolicy) GetAction() isFailurePolicy_Action {
if m != nil {
return m.Action
}
return nil
}
func (x *FailurePolicy) GetRetry() *FailurePolicy_Retry {
if x, ok := x.GetAction().(*FailurePolicy_Retry_); ok {
return x.Retry
}
return nil
}
type isFailurePolicy_Action interface {
isFailurePolicy_Action()
}
type FailurePolicy_Retry_ struct {
// If specified, then the function will be retried in case of a failure.
Retry *FailurePolicy_Retry `protobuf:"bytes,1,opt,name=retry,proto3,oneof"`
}
func (*FailurePolicy_Retry_) isFailurePolicy_Action() {}
// Request for the `CreateFunction` method.
type CreateFunctionRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Required. The project and location in which the function should be created, specified
// in the format `projects/*/locations/*`
Location string `protobuf:"bytes,1,opt,name=location,proto3" json:"location,omitempty"`
// Required. Function to be created.
Function *CloudFunction `protobuf:"bytes,2,opt,name=function,proto3" json:"function,omitempty"`
}
func (x *CreateFunctionRequest) Reset() {
*x = CreateFunctionRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_google_cloud_functions_v1beta2_functions_proto_msgTypes[5]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CreateFunctionRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CreateFunctionRequest) ProtoMessage() {}
func (x *CreateFunctionRequest) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_functions_v1beta2_functions_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 CreateFunctionRequest.ProtoReflect.Descriptor instead.
func (*CreateFunctionRequest) Descriptor() ([]byte, []int) {
return file_google_cloud_functions_v1beta2_functions_proto_rawDescGZIP(), []int{5}
}
func (x *CreateFunctionRequest) GetLocation() string {
if x != nil {
return x.Location
}
return ""
}
func (x *CreateFunctionRequest) GetFunction() *CloudFunction {
if x != nil {
return x.Function
}
return nil
}
// Request for the `UpdateFunction` method.
type UpdateFunctionRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Required. The name of the function to be updated.
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
// Required. New version of the function.
Function *CloudFunction `protobuf:"bytes,2,opt,name=function,proto3" json:"function,omitempty"`
}
func (x *UpdateFunctionRequest) Reset() {
*x = UpdateFunctionRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_google_cloud_functions_v1beta2_functions_proto_msgTypes[6]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *UpdateFunctionRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*UpdateFunctionRequest) ProtoMessage() {}
func (x *UpdateFunctionRequest) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_functions_v1beta2_functions_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 UpdateFunctionRequest.ProtoReflect.Descriptor instead.
func (*UpdateFunctionRequest) Descriptor() ([]byte, []int) {
return file_google_cloud_functions_v1beta2_functions_proto_rawDescGZIP(), []int{6}
}
func (x *UpdateFunctionRequest) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *UpdateFunctionRequest) GetFunction() *CloudFunction {
if x != nil {
return x.Function
}
return nil
}
// Request for the `GetFunction` method.
type GetFunctionRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Required. The name of the function which details should be obtained.
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
}
func (x *GetFunctionRequest) Reset() {
*x = GetFunctionRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_google_cloud_functions_v1beta2_functions_proto_msgTypes[7]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetFunctionRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetFunctionRequest) ProtoMessage() {}
func (x *GetFunctionRequest) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_functions_v1beta2_functions_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 GetFunctionRequest.ProtoReflect.Descriptor instead.
func (*GetFunctionRequest) Descriptor() ([]byte, []int) {
return file_google_cloud_functions_v1beta2_functions_proto_rawDescGZIP(), []int{7}
}
func (x *GetFunctionRequest) GetName() string {
if x != nil {
return x.Name
}
return ""
}
// Request for the `ListFunctions` method.
type ListFunctionsRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Required. The project and location from which the function should be listed,
// specified in the format `projects/*/locations/*`
// If you want to list functions in all locations, use "-" in place of a
// location. When listing functions in all locations, if one or more
// location(s) are unreachable, the response will contain functions from all
// reachable locations along with the names of any unreachable locations.
Location string `protobuf:"bytes,1,opt,name=location,proto3" json:"location,omitempty"`
// Maximum number of functions to return per call.
PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
// The value returned by the last
// `ListFunctionsResponse`; indicates that
// this is a continuation of a prior `ListFunctions` call, and that the
// system should return the next page of data.
PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
}
func (x *ListFunctionsRequest) Reset() {
*x = ListFunctionsRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_google_cloud_functions_v1beta2_functions_proto_msgTypes[8]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ListFunctionsRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ListFunctionsRequest) ProtoMessage() {}
func (x *ListFunctionsRequest) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_functions_v1beta2_functions_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 ListFunctionsRequest.ProtoReflect.Descriptor instead.
func (*ListFunctionsRequest) Descriptor() ([]byte, []int) {
return file_google_cloud_functions_v1beta2_functions_proto_rawDescGZIP(), []int{8}
}
func (x *ListFunctionsRequest) GetLocation() string {
if x != nil {
return x.Location
}
return ""
}
func (x *ListFunctionsRequest) GetPageSize() int32 {
if x != nil {
return x.PageSize
}
return 0
}
func (x *ListFunctionsRequest) GetPageToken() string {
if x != nil {
return x.PageToken
}
return ""
}
// Response for the `ListFunctions` method.
type ListFunctionsResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// The functions that match the request.
Functions []*CloudFunction `protobuf:"bytes,1,rep,name=functions,proto3" json:"functions,omitempty"`
// If not empty, indicates that there may be more functions that match
// the request; this value should be passed in a new
// [google.cloud.functions.v1beta2.ListFunctionsRequest][google.cloud.functions.v1beta2.ListFunctionsRequest]
// to get more functions.
NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
// Locations that could not be reached. The response does not include any
// functions from these locations.
Unreachable []string `protobuf:"bytes,3,rep,name=unreachable,proto3" json:"unreachable,omitempty"`
}
func (x *ListFunctionsResponse) Reset() {
*x = ListFunctionsResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_google_cloud_functions_v1beta2_functions_proto_msgTypes[9]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ListFunctionsResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ListFunctionsResponse) ProtoMessage() {}
func (x *ListFunctionsResponse) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_functions_v1beta2_functions_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 ListFunctionsResponse.ProtoReflect.Descriptor instead.
func (*ListFunctionsResponse) Descriptor() ([]byte, []int) {
return file_google_cloud_functions_v1beta2_functions_proto_rawDescGZIP(), []int{9}
}
func (x *ListFunctionsResponse) GetFunctions() []*CloudFunction {
if x != nil {
return x.Functions
}
return nil
}
func (x *ListFunctionsResponse) GetNextPageToken() string {
if x != nil {
return x.NextPageToken
}
return ""
}
func (x *ListFunctionsResponse) GetUnreachable() []string {
if x != nil {
return x.Unreachable
}
return nil
}
// Request for the `DeleteFunction` method.
type DeleteFunctionRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Required. The name of the function which should be deleted.
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
}
func (x *DeleteFunctionRequest) Reset() {
*x = DeleteFunctionRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_google_cloud_functions_v1beta2_functions_proto_msgTypes[10]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *DeleteFunctionRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DeleteFunctionRequest) ProtoMessage() {}
func (x *DeleteFunctionRequest) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_functions_v1beta2_functions_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 DeleteFunctionRequest.ProtoReflect.Descriptor instead.
func (*DeleteFunctionRequest) Descriptor() ([]byte, []int) {
return file_google_cloud_functions_v1beta2_functions_proto_rawDescGZIP(), []int{10}
}
func (x *DeleteFunctionRequest) GetName() string {
if x != nil {
return x.Name
}
return ""
}
// Request for the `CallFunction` method.
type CallFunctionRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Required. The name of the function to be called.
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
// Required. Input to be passed to the function.
Data string `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"`
}
func (x *CallFunctionRequest) Reset() {
*x = CallFunctionRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_google_cloud_functions_v1beta2_functions_proto_msgTypes[11]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CallFunctionRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CallFunctionRequest) ProtoMessage() {}
func (x *CallFunctionRequest) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_functions_v1beta2_functions_proto_msgTypes[11]
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 CallFunctionRequest.ProtoReflect.Descriptor instead.
func (*CallFunctionRequest) Descriptor() ([]byte, []int) {
return file_google_cloud_functions_v1beta2_functions_proto_rawDescGZIP(), []int{11}
}
func (x *CallFunctionRequest) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *CallFunctionRequest) GetData() string {
if x != nil {
return x.Data
}
return ""
}
// Response of `CallFunction` method.
type CallFunctionResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Execution id of function invocation.
ExecutionId string `protobuf:"bytes,1,opt,name=execution_id,json=executionId,proto3" json:"execution_id,omitempty"`
// Result populated for successful execution of synchronous function. Will
// not be populated if function does not return a result through context.
Result string `protobuf:"bytes,2,opt,name=result,proto3" json:"result,omitempty"`
// Either system or user-function generated error. Set if execution
// was not successful.
Error string `protobuf:"bytes,3,opt,name=error,proto3" json:"error,omitempty"`
}
func (x *CallFunctionResponse) Reset() {
*x = CallFunctionResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_google_cloud_functions_v1beta2_functions_proto_msgTypes[12]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CallFunctionResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CallFunctionResponse) ProtoMessage() {}
func (x *CallFunctionResponse) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_functions_v1beta2_functions_proto_msgTypes[12]
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 CallFunctionResponse.ProtoReflect.Descriptor instead.
func (*CallFunctionResponse) Descriptor() ([]byte, []int) {
return file_google_cloud_functions_v1beta2_functions_proto_rawDescGZIP(), []int{12}
}
func (x *CallFunctionResponse) GetExecutionId() string {
if x != nil {
return x.ExecutionId
}
return ""
}
func (x *CallFunctionResponse) GetResult() string {
if x != nil {
return x.Result
}
return ""
}
func (x *CallFunctionResponse) GetError() string {
if x != nil {
return x.Error
}
return ""
}
// Request of `GenerateUploadUrl` method.
type GenerateUploadUrlRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// The project and location in which the Google Cloud Storage signed URL
// should be generated, specified in the format `projects/*/locations/*`.
Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
}
func (x *GenerateUploadUrlRequest) Reset() {
*x = GenerateUploadUrlRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_google_cloud_functions_v1beta2_functions_proto_msgTypes[13]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GenerateUploadUrlRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GenerateUploadUrlRequest) ProtoMessage() {}
func (x *GenerateUploadUrlRequest) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_functions_v1beta2_functions_proto_msgTypes[13]
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 GenerateUploadUrlRequest.ProtoReflect.Descriptor instead.
func (*GenerateUploadUrlRequest) Descriptor() ([]byte, []int) {
return file_google_cloud_functions_v1beta2_functions_proto_rawDescGZIP(), []int{13}
}
func (x *GenerateUploadUrlRequest) GetParent() string {
if x != nil {
return x.Parent
}
return ""
}
// Response of `GenerateUploadUrl` method.
type GenerateUploadUrlResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// The generated Google Cloud Storage signed URL that should be used for a
// function source code upload. The uploaded file should be a zip archive
// which contains a function.
UploadUrl string `protobuf:"bytes,1,opt,name=upload_url,json=uploadUrl,proto3" json:"upload_url,omitempty"`
}
func (x *GenerateUploadUrlResponse) Reset() {
*x = GenerateUploadUrlResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_google_cloud_functions_v1beta2_functions_proto_msgTypes[14]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GenerateUploadUrlResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GenerateUploadUrlResponse) ProtoMessage() {}
func (x *GenerateUploadUrlResponse) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_functions_v1beta2_functions_proto_msgTypes[14]
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 GenerateUploadUrlResponse.ProtoReflect.Descriptor instead.
func (*GenerateUploadUrlResponse) Descriptor() ([]byte, []int) {
return file_google_cloud_functions_v1beta2_functions_proto_rawDescGZIP(), []int{14}
}
func (x *GenerateUploadUrlResponse) GetUploadUrl() string {
if x != nil {
return x.UploadUrl
}
return ""
}
// Request of `GenerateDownloadUrl` method.
type GenerateDownloadUrlRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// The name of function for which source code Google Cloud Storage signed
// URL should be generated.
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
// The optional version of function.
VersionId uint64 `protobuf:"varint,2,opt,name=version_id,json=versionId,proto3" json:"version_id,omitempty"`
}
func (x *GenerateDownloadUrlRequest) Reset() {
*x = GenerateDownloadUrlRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_google_cloud_functions_v1beta2_functions_proto_msgTypes[15]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GenerateDownloadUrlRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GenerateDownloadUrlRequest) ProtoMessage() {}
func (x *GenerateDownloadUrlRequest) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_functions_v1beta2_functions_proto_msgTypes[15]
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 GenerateDownloadUrlRequest.ProtoReflect.Descriptor instead.
func (*GenerateDownloadUrlRequest) Descriptor() ([]byte, []int) {
return file_google_cloud_functions_v1beta2_functions_proto_rawDescGZIP(), []int{15}
}
func (x *GenerateDownloadUrlRequest) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *GenerateDownloadUrlRequest) GetVersionId() uint64 {
if x != nil {
return x.VersionId
}
return 0
}
// Response of `GenerateDownloadUrl` method.
type GenerateDownloadUrlResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// The generated Google Cloud Storage signed URL that should be used for
// function source code download.
DownloadUrl string `protobuf:"bytes,1,opt,name=download_url,json=downloadUrl,proto3" json:"download_url,omitempty"`
}
func (x *GenerateDownloadUrlResponse) Reset() {
*x = GenerateDownloadUrlResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_google_cloud_functions_v1beta2_functions_proto_msgTypes[16]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GenerateDownloadUrlResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GenerateDownloadUrlResponse) ProtoMessage() {}
func (x *GenerateDownloadUrlResponse) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_functions_v1beta2_functions_proto_msgTypes[16]
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 GenerateDownloadUrlResponse.ProtoReflect.Descriptor instead.
func (*GenerateDownloadUrlResponse) Descriptor() ([]byte, []int) {
return file_google_cloud_functions_v1beta2_functions_proto_rawDescGZIP(), []int{16}
}
func (x *GenerateDownloadUrlResponse) GetDownloadUrl() string {
if x != nil {
return x.DownloadUrl
}
return ""
}
// Describes the retry policy in case of function's execution failure.
// A function execution will be retried on any failure.
// A failed execution will be retried up to 7 days with an exponential backoff
// (capped at 10 seconds).
// Retried execution is charged as any other execution.
type FailurePolicy_Retry struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *FailurePolicy_Retry) Reset() {
*x = FailurePolicy_Retry{}
if protoimpl.UnsafeEnabled {
mi := &file_google_cloud_functions_v1beta2_functions_proto_msgTypes[19]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *FailurePolicy_Retry) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*FailurePolicy_Retry) ProtoMessage() {}
func (x *FailurePolicy_Retry) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_functions_v1beta2_functions_proto_msgTypes[19]
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 FailurePolicy_Retry.ProtoReflect.Descriptor instead.
func (*FailurePolicy_Retry) Descriptor() ([]byte, []int) {
return file_google_cloud_functions_v1beta2_functions_proto_rawDescGZIP(), []int{4, 0}
}
var File_google_cloud_functions_v1beta2_functions_proto protoreflect.FileDescriptor
var file_google_cloud_functions_v1beta2_functions_proto_rawDesc = []byte{
0x0a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x66,
0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32,
0x2f, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x12, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x66,
0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32,
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, 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, 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, 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, 0xb6, 0x0b, 0x0a, 0x0d, 0x43, 0x6c,
0x6f, 0x75, 0x64, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e,
0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12,
0x2e, 0x0a, 0x12, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76,
0x65, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x10, 0x73,
0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x55, 0x72, 0x6c, 0x12,
0x5f, 0x0a, 0x11, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69,
0x74, 0x6f, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f,
0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69,
0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2e, 0x53, 0x6f, 0x75, 0x72,
0x63, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x48, 0x00, 0x52, 0x10,
0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79,
0x12, 0x34, 0x0a, 0x15, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x73,
0x69, 0x74, 0x6f, 0x72, 0x79, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x48,
0x00, 0x52, 0x13, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74,
0x6f, 0x72, 0x79, 0x55, 0x72, 0x6c, 0x12, 0x2c, 0x0a, 0x11, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65,
0x5f, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x10, 0x20, 0x01, 0x28,
0x09, 0x48, 0x00, 0x52, 0x0f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x55, 0x70, 0x6c, 0x6f, 0x61,
0x64, 0x55, 0x72, 0x6c, 0x12, 0x53, 0x0a, 0x0d, 0x68, 0x74, 0x74, 0x70, 0x73, 0x5f, 0x74, 0x72,
0x69, 0x67, 0x67, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f,
0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x66, 0x75, 0x6e, 0x63, 0x74,
0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2e, 0x48, 0x54, 0x54,
0x50, 0x53, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x48, 0x01, 0x52, 0x0c, 0x68, 0x74, 0x74,
0x70, 0x73, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x12, 0x53, 0x0a, 0x0d, 0x65, 0x76, 0x65,
0x6e, 0x74, 0x5f, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61,
0x32, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x48, 0x01,
0x52, 0x0c, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x12, 0x50,
0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x33,
0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x66, 0x75,
0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2e,
0x43, 0x6c, 0x6f, 0x75, 0x64, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61,
0x74, 0x75, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73,
0x12, 0x2e, 0x0a, 0x10, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x6f, 0x70, 0x65, 0x72, 0x61,
0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52,
0x0f, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18,
0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x50, 0x6f, 0x69, 0x6e,
0x74, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x17, 0x20, 0x01,
0x28, 0x09, 0x52, 0x07, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x33, 0x0a, 0x07, 0x74,
0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x0a, 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, 0x52, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74,
0x12, 0x2e, 0x0a, 0x13, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6d, 0x65,
0x6d, 0x6f, 0x72, 0x79, 0x5f, 0x6d, 0x62, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x11, 0x61,
0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x4d, 0x62,
0x12, 0x27, 0x0a, 0x0f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f,
0x75, 0x6e, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x65, 0x72, 0x76, 0x69,
0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64,
0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0f, 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, 0x22, 0x0a, 0x0a, 0x76,
0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x14, 0x20, 0x01, 0x28, 0x03, 0x42,
0x03, 0xe0, 0x41, 0x03, 0x52, 0x09, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12,
0x51, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x15, 0x20, 0x03, 0x28, 0x0b, 0x32,
0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x66,
0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32,
0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x4c,
0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65,
0x6c, 0x73, 0x12, 0x7c, 0x0a, 0x15, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e,
0x74, 0x5f, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x16, 0x20, 0x03, 0x28,
0x0b, 0x32, 0x47, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
0x2e, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74,
0x61, 0x32, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e,
0x2e, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x56, 0x61, 0x72, 0x69,
0x61, 0x62, 0x6c, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x14, 0x65, 0x6e, 0x76, 0x69,
0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73,
0x12, 0x23, 0x0a, 0x0d, 0x6d, 0x61, 0x78, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65,
0x73, 0x18, 0x18, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x6d, 0x61, 0x78, 0x49, 0x6e, 0x73, 0x74,
0x61, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b,
0x18, 0x19, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12,
0x23, 0x0a, 0x0d, 0x76, 0x70, 0x63, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72,
0x18, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x76, 0x70, 0x63, 0x43, 0x6f, 0x6e, 0x6e, 0x65,
0x63, 0x74, 0x6f, 0x72, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e,
0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02,
0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a,
0x47, 0x0a, 0x19, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x56, 0x61,
0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03,
0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14,
0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76,
0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x3a, 0x6e, 0xea, 0x41, 0x6b, 0x0a, 0x2b, 0x63,
0x6c, 0x6f, 0x75, 0x64, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x67, 0x6f,
0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x6c, 0x6f,
0x75, 0x64, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3c, 0x70, 0x72, 0x6f, 0x6a,
0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c,
0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69,
0x6f, 0x6e, 0x7d, 0x2f, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x66,
0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x42, 0x0d, 0x0a, 0x0b, 0x73, 0x6f, 0x75, 0x72,
0x63, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x09, 0x0a, 0x07, 0x74, 0x72, 0x69, 0x67, 0x67,
0x65, 0x72, 0x22, 0x25, 0x0a, 0x0c, 0x48, 0x54, 0x54, 0x50, 0x53, 0x54, 0x72, 0x69, 0x67, 0x67,
0x65, 0x72, 0x12, 0x15, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42,
0x03, 0xe0, 0x41, 0x03, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x22, 0xb9, 0x01, 0x0a, 0x0c, 0x45, 0x76,
0x65, 0x6e, 0x74, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x65, 0x76,
0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09,
0x65, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x73,
0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x73,
0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65,
0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12,
0x54, 0x0a, 0x0e, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63,
0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73,
0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2e, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65,
0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x0d, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x50,
0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0xe3, 0x01, 0x0a, 0x10, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65,
0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65,
0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01,
0x28, 0x09, 0x52, 0x0d, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x55, 0x72,
0x6c, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x70, 0x61, 0x74, 0x68,
0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x61,
0x74, 0x68, 0x12, 0x18, 0x0a, 0x06, 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x18, 0x03, 0x20, 0x01,
0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x12, 0x12, 0x0a, 0x03,
0x74, 0x61, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x03, 0x74, 0x61, 0x67,
0x12, 0x1c, 0x0a, 0x08, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01,
0x28, 0x09, 0x48, 0x00, 0x52, 0x08, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x30,
0x0a, 0x11, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x76, 0x69, 0x73,
0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x10,
0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e,
0x42, 0x09, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x6f, 0x0a, 0x0d, 0x46,
0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x4b, 0x0a, 0x05,
0x72, 0x65, 0x74, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x6f,
0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x66, 0x75, 0x6e, 0x63, 0x74,
0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2e, 0x46, 0x61, 0x69,
0x6c, 0x75, 0x72, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x52, 0x65, 0x74, 0x72, 0x79,
0x48, 0x00, 0x52, 0x05, 0x72, 0x65, 0x74, 0x72, 0x79, 0x1a, 0x07, 0x0a, 0x05, 0x52, 0x65, 0x74,
0x72, 0x79, 0x42, 0x08, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xae, 0x01, 0x0a,
0x15, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52,
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x45, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69,
0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x23,
0x0a, 0x21, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4c, 0x6f, 0x63, 0x61, 0x74,
0x69, 0x6f, 0x6e, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x4e, 0x0a,
0x08, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x66,
0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32,
0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03,
0xe0, 0x41, 0x02, 0x52, 0x08, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xb0, 0x01,
0x0a, 0x15, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x75, 0x6e, 0x63, 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, 0x63,
0x6c, 0x6f, 0x75, 0x64, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x67, 0x6f,
0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x6c, 0x6f,
0x75, 0x64, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65,
0x12, 0x4e, 0x0a, 0x08, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
0x64, 0x2e, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65,
0x74, 0x61, 0x32, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f,
0x6e, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e,
0x22, 0x5d, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x46, 0x75, 0x6e, 0x63, 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, 0x63, 0x6c,
0x6f, 0x75, 0x64, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x67, 0x6f, 0x6f,
0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x6c, 0x6f, 0x75,
0x64, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22,
0x99, 0x01, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e,
0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x45, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61,
0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, 0x02, 0xfa,
0x41, 0x23, 0x0a, 0x21, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x67, 0x6f,
0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4c, 0x6f, 0x63,
0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12,
0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01,
0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a,
0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09,
0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xae, 0x01, 0x0a, 0x15,
0x4c, 0x69, 0x73, 0x74, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73,
0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4b, 0x0a, 0x09, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f,
0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e,
0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x46,
0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x66, 0x75, 0x6e, 0x63, 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, 0x12, 0x20, 0x0a, 0x0b, 0x75, 0x6e,
0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52,
0x0b, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x22, 0x60, 0x0a, 0x15,
0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x46, 0x75, 0x6e, 0x63, 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, 0x63, 0x6c, 0x6f,
0x75, 0x64, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x6c, 0x6f, 0x75, 0x64,
0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x77,
0x0a, 0x13, 0x43, 0x61, 0x6c, 0x6c, 0x46, 0x75, 0x6e, 0x63, 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, 0x63, 0x6c, 0x6f,
0x75, 0x64, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x6c, 0x6f, 0x75, 0x64,
0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x17,
0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41,
0x02, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x67, 0x0a, 0x14, 0x43, 0x61, 0x6c, 0x6c, 0x46,
0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
0x21, 0x0a, 0x0c, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18,
0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e,
0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x02, 0x20, 0x01,
0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x72,
0x72, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72,
0x22, 0x32, 0x0a, 0x18, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x55, 0x70, 0x6c, 0x6f,
0x61, 0x64, 0x55, 0x72, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06,
0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x61,
0x72, 0x65, 0x6e, 0x74, 0x22, 0x3a, 0x0a, 0x19, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65,
0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x72, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x75, 0x72, 0x6c, 0x18,
0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x72, 0x6c,
0x22, 0x4f, 0x0a, 0x1a, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x44, 0x6f, 0x77, 0x6e,
0x6c, 0x6f, 0x61, 0x64, 0x55, 0x72, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12,
0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61,
0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64,
0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49,
0x64, 0x22, 0x40, 0x0a, 0x1b, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x44, 0x6f, 0x77,
0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x72, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
0x12, 0x21, 0x0a, 0x0c, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x75, 0x72, 0x6c,
0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64,
0x55, 0x72, 0x6c, 0x2a, 0x61, 0x0a, 0x13, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x46, 0x75, 0x6e, 0x63,
0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x16, 0x0a, 0x12, 0x53, 0x54,
0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44,
0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x52, 0x45, 0x41, 0x44, 0x59, 0x10, 0x01, 0x12, 0x0a, 0x0a,
0x06, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x02, 0x12, 0x0d, 0x0a, 0x09, 0x44, 0x45, 0x50,
0x4c, 0x4f, 0x59, 0x49, 0x4e, 0x47, 0x10, 0x03, 0x12, 0x0c, 0x0a, 0x08, 0x44, 0x45, 0x4c, 0x45,
0x54, 0x49, 0x4e, 0x47, 0x10, 0x04, 0x32, 0xb2, 0x0e, 0x0a, 0x15, 0x43, 0x6c, 0x6f, 0x75, 0x64,
0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65,
0x12, 0xc5, 0x01, 0x0a, 0x0d, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f,
0x6e, 0x73, 0x12, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
0x64, 0x2e, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65,
0x74, 0x61, 0x32, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e,
0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e,
0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x75,
0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22,
0x47, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x36, 0x12, 0x34, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61,
0x32, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x3d, 0x70, 0x72, 0x6f, 0x6a,
0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73,
0x2f, 0x2a, 0x7d, 0x2f, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0xda, 0x41, 0x08,
0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0xb3, 0x01, 0x0a, 0x0b, 0x47, 0x65, 0x74,
0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e,
0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2e, 0x47, 0x65, 0x74, 0x46, 0x75, 0x6e,
0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x67,
0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x66, 0x75, 0x6e, 0x63,
0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2e, 0x43, 0x6c,
0x6f, 0x75, 0x64, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x41, 0x82, 0xd3, 0xe4,
0x93, 0x02, 0x34, 0x12, 0x32, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2f, 0x7b, 0x6e,
0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c,
0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x66, 0x75, 0x6e, 0x63, 0x74,
0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0xef,
0x01, 0x0a, 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f,
0x6e, 0x12, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
0x2e, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74,
0x61, 0x32, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x75, 0x6e, 0x63, 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, 0x86, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x40,
0x22, 0x34, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61,
0x74, 0x69, 0x6f, 0x6e, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f,
0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x66, 0x75, 0x6e,
0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x3a, 0x08, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e,
0xda, 0x41, 0x11, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2c, 0x66, 0x75, 0x6e, 0x63,
0x74, 0x69, 0x6f, 0x6e, 0xca, 0x41, 0x29, 0x0a, 0x0d, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x46, 0x75,
0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f,
0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x56, 0x31, 0x42, 0x65, 0x74, 0x61, 0x32,
0x12, 0xe9, 0x01, 0x0a, 0x0e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x75, 0x6e, 0x63, 0x74,
0x69, 0x6f, 0x6e, 0x12, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
0x75, 0x64, 0x2e, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x62,
0x65, 0x74, 0x61, 0x32, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x75, 0x6e, 0x63, 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, 0x80, 0x01, 0x82, 0xd3, 0xe4, 0x93,
0x02, 0x3e, 0x1a, 0x32, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2f, 0x7b, 0x6e, 0x61,
0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f,
0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69,
0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x08, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e,
0xda, 0x41, 0x0d, 0x6e, 0x61, 0x6d, 0x65, 0x2c, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e,
0xca, 0x41, 0x29, 0x0a, 0x0d, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69,
0x6f, 0x6e, 0x12, 0x18, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74,
0x61, 0x64, 0x61, 0x74, 0x61, 0x56, 0x31, 0x42, 0x65, 0x74, 0x61, 0x32, 0x12, 0xdd, 0x01, 0x0a,
0x0e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12,
0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x66,
0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32,
0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x46, 0x75, 0x6e, 0x63, 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, 0x75, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x34, 0x2a, 0x32, 0x2f,
0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72,
0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f,
0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a,
0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0xca, 0x41, 0x31, 0x0a, 0x15, 0x67, 0x6f, 0x6f,
0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70,
0x74, 0x79, 0x12, 0x18, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74,
0x61, 0x64, 0x61, 0x74, 0x61, 0x56, 0x31, 0x42, 0x65, 0x74, 0x61, 0x32, 0x12, 0xc9, 0x01, 0x0a,
0x0c, 0x43, 0x61, 0x6c, 0x6c, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x33, 0x2e,
0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x66, 0x75, 0x6e,
0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2e, 0x43,
0x61, 0x6c, 0x6c, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65,
0x73, 0x74, 0x1a, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
0x64, 0x2e, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65,
0x74, 0x61, 0x32, 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e,
0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3c,
0x22, 0x37, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65,
0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61,
0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e,
0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x63, 0x61, 0x6c, 0x6c, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x09, 0x6e,
0x61, 0x6d, 0x65, 0x2c, 0x64, 0x61, 0x74, 0x61, 0x12, 0xd9, 0x01, 0x0a, 0x11, 0x47, 0x65, 0x6e,
0x65, 0x72, 0x61, 0x74, 0x65, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x72, 0x6c, 0x12, 0x38,
0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x66, 0x75,
0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2e,
0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x72,
0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e,
0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61,
0x74, 0x65, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x72, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f,
0x6e, 0x73, 0x65, 0x22, 0x4f, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x49, 0x22, 0x44, 0x2f, 0x76, 0x31,
0x62, 0x65, 0x74, 0x61, 0x32, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72,
0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f,
0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x3a,
0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x72,
0x6c, 0x3a, 0x01, 0x2a, 0x12, 0xe1, 0x01, 0x0a, 0x13, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74,
0x65, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x72, 0x6c, 0x12, 0x3a, 0x2e, 0x67,
0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x66, 0x75, 0x6e, 0x63,
0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2e, 0x47, 0x65,
0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x72,
0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e,
0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61,
0x74, 0x65, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x72, 0x6c, 0x52, 0x65, 0x73,
0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x51, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4b, 0x22, 0x46, 0x2f,
0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72,
0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f,
0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a,
0x7d, 0x3a, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f,
0x61, 0x64, 0x55, 0x72, 0x6c, 0x3a, 0x01, 0x2a, 0x1a, 0x51, 0xca, 0x41, 0x1d, 0x63, 0x6c, 0x6f,
0x75, 0x64, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x2e, 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, 0x6c, 0x6f,
0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x42, 0x85, 0x01, 0x0a, 0x22,
0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
0x2e, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74,
0x61, 0x32, 0x42, 0x0e, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x50, 0x72, 0x6f,
0x74, 0x6f, 0x50, 0x01, 0x5a, 0x47, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c,
0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x63, 0x6c, 0x6f, 0x75,
0x64, 0x2f, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x31, 0x62, 0x65,
0x74, 0x61, 0x32, 0x3b, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0xa2, 0x02, 0x03,
0x47, 0x43, 0x46, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
file_google_cloud_functions_v1beta2_functions_proto_rawDescOnce sync.Once
file_google_cloud_functions_v1beta2_functions_proto_rawDescData = file_google_cloud_functions_v1beta2_functions_proto_rawDesc
)
func file_google_cloud_functions_v1beta2_functions_proto_rawDescGZIP() []byte {
file_google_cloud_functions_v1beta2_functions_proto_rawDescOnce.Do(func() {
file_google_cloud_functions_v1beta2_functions_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_functions_v1beta2_functions_proto_rawDescData)
})
return file_google_cloud_functions_v1beta2_functions_proto_rawDescData
}
var file_google_cloud_functions_v1beta2_functions_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
var file_google_cloud_functions_v1beta2_functions_proto_msgTypes = make([]protoimpl.MessageInfo, 20)
var file_google_cloud_functions_v1beta2_functions_proto_goTypes = []interface{}{
(CloudFunctionStatus)(0), // 0: google.cloud.functions.v1beta2.CloudFunctionStatus
(*CloudFunction)(nil), // 1: google.cloud.functions.v1beta2.CloudFunction
(*HTTPSTrigger)(nil), // 2: google.cloud.functions.v1beta2.HTTPSTrigger
(*EventTrigger)(nil), // 3: google.cloud.functions.v1beta2.EventTrigger
(*SourceRepository)(nil), // 4: google.cloud.functions.v1beta2.SourceRepository
(*FailurePolicy)(nil), // 5: google.cloud.functions.v1beta2.FailurePolicy
(*CreateFunctionRequest)(nil), // 6: google.cloud.functions.v1beta2.CreateFunctionRequest
(*UpdateFunctionRequest)(nil), // 7: google.cloud.functions.v1beta2.UpdateFunctionRequest
(*GetFunctionRequest)(nil), // 8: google.cloud.functions.v1beta2.GetFunctionRequest
(*ListFunctionsRequest)(nil), // 9: google.cloud.functions.v1beta2.ListFunctionsRequest
(*ListFunctionsResponse)(nil), // 10: google.cloud.functions.v1beta2.ListFunctionsResponse
(*DeleteFunctionRequest)(nil), // 11: google.cloud.functions.v1beta2.DeleteFunctionRequest
(*CallFunctionRequest)(nil), // 12: google.cloud.functions.v1beta2.CallFunctionRequest
(*CallFunctionResponse)(nil), // 13: google.cloud.functions.v1beta2.CallFunctionResponse
(*GenerateUploadUrlRequest)(nil), // 14: google.cloud.functions.v1beta2.GenerateUploadUrlRequest
(*GenerateUploadUrlResponse)(nil), // 15: google.cloud.functions.v1beta2.GenerateUploadUrlResponse
(*GenerateDownloadUrlRequest)(nil), // 16: google.cloud.functions.v1beta2.GenerateDownloadUrlRequest
(*GenerateDownloadUrlResponse)(nil), // 17: google.cloud.functions.v1beta2.GenerateDownloadUrlResponse
nil, // 18: google.cloud.functions.v1beta2.CloudFunction.LabelsEntry
nil, // 19: google.cloud.functions.v1beta2.CloudFunction.EnvironmentVariablesEntry
(*FailurePolicy_Retry)(nil), // 20: google.cloud.functions.v1beta2.FailurePolicy.Retry
(*duration.Duration)(nil), // 21: google.protobuf.Duration
(*timestamp.Timestamp)(nil), // 22: google.protobuf.Timestamp
(*longrunning.Operation)(nil), // 23: google.longrunning.Operation
}
var file_google_cloud_functions_v1beta2_functions_proto_depIdxs = []int32{
4, // 0: google.cloud.functions.v1beta2.CloudFunction.source_repository:type_name -> google.cloud.functions.v1beta2.SourceRepository
2, // 1: google.cloud.functions.v1beta2.CloudFunction.https_trigger:type_name -> google.cloud.functions.v1beta2.HTTPSTrigger
3, // 2: google.cloud.functions.v1beta2.CloudFunction.event_trigger:type_name -> google.cloud.functions.v1beta2.EventTrigger
0, // 3: google.cloud.functions.v1beta2.CloudFunction.status:type_name -> google.cloud.functions.v1beta2.CloudFunctionStatus
21, // 4: google.cloud.functions.v1beta2.CloudFunction.timeout:type_name -> google.protobuf.Duration
22, // 5: google.cloud.functions.v1beta2.CloudFunction.update_time:type_name -> google.protobuf.Timestamp
18, // 6: google.cloud.functions.v1beta2.CloudFunction.labels:type_name -> google.cloud.functions.v1beta2.CloudFunction.LabelsEntry
19, // 7: google.cloud.functions.v1beta2.CloudFunction.environment_variables:type_name -> google.cloud.functions.v1beta2.CloudFunction.EnvironmentVariablesEntry
5, // 8: google.cloud.functions.v1beta2.EventTrigger.failure_policy:type_name -> google.cloud.functions.v1beta2.FailurePolicy
20, // 9: google.cloud.functions.v1beta2.FailurePolicy.retry:type_name -> google.cloud.functions.v1beta2.FailurePolicy.Retry
1, // 10: google.cloud.functions.v1beta2.CreateFunctionRequest.function:type_name -> google.cloud.functions.v1beta2.CloudFunction
1, // 11: google.cloud.functions.v1beta2.UpdateFunctionRequest.function:type_name -> google.cloud.functions.v1beta2.CloudFunction
1, // 12: google.cloud.functions.v1beta2.ListFunctionsResponse.functions:type_name -> google.cloud.functions.v1beta2.CloudFunction
9, // 13: google.cloud.functions.v1beta2.CloudFunctionsService.ListFunctions:input_type -> google.cloud.functions.v1beta2.ListFunctionsRequest
8, // 14: google.cloud.functions.v1beta2.CloudFunctionsService.GetFunction:input_type -> google.cloud.functions.v1beta2.GetFunctionRequest
6, // 15: google.cloud.functions.v1beta2.CloudFunctionsService.CreateFunction:input_type -> google.cloud.functions.v1beta2.CreateFunctionRequest
7, // 16: google.cloud.functions.v1beta2.CloudFunctionsService.UpdateFunction:input_type -> google.cloud.functions.v1beta2.UpdateFunctionRequest
11, // 17: google.cloud.functions.v1beta2.CloudFunctionsService.DeleteFunction:input_type -> google.cloud.functions.v1beta2.DeleteFunctionRequest
12, // 18: google.cloud.functions.v1beta2.CloudFunctionsService.CallFunction:input_type -> google.cloud.functions.v1beta2.CallFunctionRequest
14, // 19: google.cloud.functions.v1beta2.CloudFunctionsService.GenerateUploadUrl:input_type -> google.cloud.functions.v1beta2.GenerateUploadUrlRequest
16, // 20: google.cloud.functions.v1beta2.CloudFunctionsService.GenerateDownloadUrl:input_type -> google.cloud.functions.v1beta2.GenerateDownloadUrlRequest
10, // 21: google.cloud.functions.v1beta2.CloudFunctionsService.ListFunctions:output_type -> google.cloud.functions.v1beta2.ListFunctionsResponse
1, // 22: google.cloud.functions.v1beta2.CloudFunctionsService.GetFunction:output_type -> google.cloud.functions.v1beta2.CloudFunction
23, // 23: google.cloud.functions.v1beta2.CloudFunctionsService.CreateFunction:output_type -> google.longrunning.Operation
23, // 24: google.cloud.functions.v1beta2.CloudFunctionsService.UpdateFunction:output_type -> google.longrunning.Operation
23, // 25: google.cloud.functions.v1beta2.CloudFunctionsService.DeleteFunction:output_type -> google.longrunning.Operation
13, // 26: google.cloud.functions.v1beta2.CloudFunctionsService.CallFunction:output_type -> google.cloud.functions.v1beta2.CallFunctionResponse
15, // 27: google.cloud.functions.v1beta2.CloudFunctionsService.GenerateUploadUrl:output_type -> google.cloud.functions.v1beta2.GenerateUploadUrlResponse
17, // 28: google.cloud.functions.v1beta2.CloudFunctionsService.GenerateDownloadUrl:output_type -> google.cloud.functions.v1beta2.GenerateDownloadUrlResponse
21, // [21:29] is the sub-list for method output_type
13, // [13:21] is the sub-list for method input_type
13, // [13:13] is the sub-list for extension type_name
13, // [13:13] is the sub-list for extension extendee
0, // [0:13] is the sub-list for field type_name
}
func init() { file_google_cloud_functions_v1beta2_functions_proto_init() }
func file_google_cloud_functions_v1beta2_functions_proto_init() {
if File_google_cloud_functions_v1beta2_functions_proto != nil {
return
}
if !protoimpl.UnsafeEnabled {
file_google_cloud_functions_v1beta2_functions_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CloudFunction); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_google_cloud_functions_v1beta2_functions_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*HTTPSTrigger); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_google_cloud_functions_v1beta2_functions_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*EventTrigger); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_google_cloud_functions_v1beta2_functions_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SourceRepository); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_google_cloud_functions_v1beta2_functions_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*FailurePolicy); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_google_cloud_functions_v1beta2_functions_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CreateFunctionRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_google_cloud_functions_v1beta2_functions_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*UpdateFunctionRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_google_cloud_functions_v1beta2_functions_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetFunctionRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_google_cloud_functions_v1beta2_functions_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ListFunctionsRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_google_cloud_functions_v1beta2_functions_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ListFunctionsResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_google_cloud_functions_v1beta2_functions_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DeleteFunctionRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_google_cloud_functions_v1beta2_functions_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CallFunctionRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_google_cloud_functions_v1beta2_functions_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CallFunctionResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_google_cloud_functions_v1beta2_functions_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GenerateUploadUrlRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_google_cloud_functions_v1beta2_functions_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GenerateUploadUrlResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_google_cloud_functions_v1beta2_functions_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GenerateDownloadUrlRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_google_cloud_functions_v1beta2_functions_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GenerateDownloadUrlResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_google_cloud_functions_v1beta2_functions_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*FailurePolicy_Retry); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
}
file_google_cloud_functions_v1beta2_functions_proto_msgTypes[0].OneofWrappers = []interface{}{
(*CloudFunction_SourceArchiveUrl)(nil),
(*CloudFunction_SourceRepository)(nil),
(*CloudFunction_SourceRepositoryUrl)(nil),
(*CloudFunction_SourceUploadUrl)(nil),
(*CloudFunction_HttpsTrigger)(nil),
(*CloudFunction_EventTrigger)(nil),
}
file_google_cloud_functions_v1beta2_functions_proto_msgTypes[3].OneofWrappers = []interface{}{
(*SourceRepository_Branch)(nil),
(*SourceRepository_Tag)(nil),
(*SourceRepository_Revision)(nil),
}
file_google_cloud_functions_v1beta2_functions_proto_msgTypes[4].OneofWrappers = []interface{}{
(*FailurePolicy_Retry_)(nil),
}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_google_cloud_functions_v1beta2_functions_proto_rawDesc,
NumEnums: 1,
NumMessages: 20,
NumExtensions: 0,
NumServices: 1,
},
GoTypes: file_google_cloud_functions_v1beta2_functions_proto_goTypes,
DependencyIndexes: file_google_cloud_functions_v1beta2_functions_proto_depIdxs,
EnumInfos: file_google_cloud_functions_v1beta2_functions_proto_enumTypes,
MessageInfos: file_google_cloud_functions_v1beta2_functions_proto_msgTypes,
}.Build()
File_google_cloud_functions_v1beta2_functions_proto = out.File
file_google_cloud_functions_v1beta2_functions_proto_rawDesc = nil
file_google_cloud_functions_v1beta2_functions_proto_goTypes = nil
file_google_cloud_functions_v1beta2_functions_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
// CloudFunctionsServiceClient is the client API for CloudFunctionsService service.
//
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
type CloudFunctionsServiceClient interface {
// Returns a list of functions that belong to the requested project.
ListFunctions(ctx context.Context, in *ListFunctionsRequest, opts ...grpc.CallOption) (*ListFunctionsResponse, error)
// Returns a function with the given name from the requested project.
GetFunction(ctx context.Context, in *GetFunctionRequest, opts ...grpc.CallOption) (*CloudFunction, error)
// Creates a new function. If a function with the given name already exists in
// the specified project, the long running operation will return
// `ALREADY_EXISTS` error.
CreateFunction(ctx context.Context, in *CreateFunctionRequest, opts ...grpc.CallOption) (*longrunning.Operation, error)
// Updates existing function.
UpdateFunction(ctx context.Context, in *UpdateFunctionRequest, opts ...grpc.CallOption) (*longrunning.Operation, error)
// Deletes a function with the given name from the specified project. If the
// given function is used by some trigger, the trigger will be updated to
// remove this function.
DeleteFunction(ctx context.Context, in *DeleteFunctionRequest, opts ...grpc.CallOption) (*longrunning.Operation, error)
// Synchronously invokes a deployed Cloud Function. To be used for testing
// purposes as very limited traffic is allowed. For more information on
// the actual limits refer to [API Calls](
// https://cloud.google.com/functions/quotas#rate_limits).
CallFunction(ctx context.Context, in *CallFunctionRequest, opts ...grpc.CallOption) (*CallFunctionResponse, error)
// Returns a signed URL for uploading a function source code.
// For more information about the signed URL usage see:
// https://cloud.google.com/storage/docs/access-control/signed-urls
// Once the function source code upload is complete, the used signed
// URL should be provided in CreateFunction or UpdateFunction request
// as a reference to the function source code.
//
// When uploading source code to the generated signed URL, please follow
// these restrictions:
//
// * Source file type should be a zip file.
// * Source file size should not exceed 100MB limit.
// * No credentials should be attached - the signed URLs provide access to the
// target bucket using internal service identity; if credentials were
// attached, the identity from the credentials would be used, but that
// identity does not have permissions to upload files to the URL.
//
// When making a HTTP PUT request, these two headers need to be specified:
//
// * `content-type: application/zip`
// * `x-goog-content-length-range: 0,104857600`
//
// And this header SHOULD NOT be specified:
//
// * `Authorization: Bearer YOUR_TOKEN`
GenerateUploadUrl(ctx context.Context, in *GenerateUploadUrlRequest, opts ...grpc.CallOption) (*GenerateUploadUrlResponse, error)
// Returns a signed URL for downloading deployed function source code.
// The URL is only valid for a limited period and should be used within
// minutes after generation.
// For more information about the signed URL usage see:
// https://cloud.google.com/storage/docs/access-control/signed-urls
GenerateDownloadUrl(ctx context.Context, in *GenerateDownloadUrlRequest, opts ...grpc.CallOption) (*GenerateDownloadUrlResponse, error)
}
type cloudFunctionsServiceClient struct {
cc grpc.ClientConnInterface
}
func NewCloudFunctionsServiceClient(cc grpc.ClientConnInterface) CloudFunctionsServiceClient {
return &cloudFunctionsServiceClient{cc}
}
func (c *cloudFunctionsServiceClient) ListFunctions(ctx context.Context, in *ListFunctionsRequest, opts ...grpc.CallOption) (*ListFunctionsResponse, error) {
out := new(ListFunctionsResponse)
err := c.cc.Invoke(ctx, "/google.cloud.functions.v1beta2.CloudFunctionsService/ListFunctions", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *cloudFunctionsServiceClient) GetFunction(ctx context.Context, in *GetFunctionRequest, opts ...grpc.CallOption) (*CloudFunction, error) {
out := new(CloudFunction)
err := c.cc.Invoke(ctx, "/google.cloud.functions.v1beta2.CloudFunctionsService/GetFunction", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *cloudFunctionsServiceClient) CreateFunction(ctx context.Context, in *CreateFunctionRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) {
out := new(longrunning.Operation)
err := c.cc.Invoke(ctx, "/google.cloud.functions.v1beta2.CloudFunctionsService/CreateFunction", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *cloudFunctionsServiceClient) UpdateFunction(ctx context.Context, in *UpdateFunctionRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) {
out := new(longrunning.Operation)
err := c.cc.Invoke(ctx, "/google.cloud.functions.v1beta2.CloudFunctionsService/UpdateFunction", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *cloudFunctionsServiceClient) DeleteFunction(ctx context.Context, in *DeleteFunctionRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) {
out := new(longrunning.Operation)
err := c.cc.Invoke(ctx, "/google.cloud.functions.v1beta2.CloudFunctionsService/DeleteFunction", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *cloudFunctionsServiceClient) CallFunction(ctx context.Context, in *CallFunctionRequest, opts ...grpc.CallOption) (*CallFunctionResponse, error) {
out := new(CallFunctionResponse)
err := c.cc.Invoke(ctx, "/google.cloud.functions.v1beta2.CloudFunctionsService/CallFunction", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *cloudFunctionsServiceClient) GenerateUploadUrl(ctx context.Context, in *GenerateUploadUrlRequest, opts ...grpc.CallOption) (*GenerateUploadUrlResponse, error) {
out := new(GenerateUploadUrlResponse)
err := c.cc.Invoke(ctx, "/google.cloud.functions.v1beta2.CloudFunctionsService/GenerateUploadUrl", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *cloudFunctionsServiceClient) GenerateDownloadUrl(ctx context.Context, in *GenerateDownloadUrlRequest, opts ...grpc.CallOption) (*GenerateDownloadUrlResponse, error) {
out := new(GenerateDownloadUrlResponse)
err := c.cc.Invoke(ctx, "/google.cloud.functions.v1beta2.CloudFunctionsService/GenerateDownloadUrl", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
// CloudFunctionsServiceServer is the server API for CloudFunctionsService service.
type CloudFunctionsServiceServer interface {
// Returns a list of functions that belong to the requested project.
ListFunctions(context.Context, *ListFunctionsRequest) (*ListFunctionsResponse, error)
// Returns a function with the given name from the requested project.
GetFunction(context.Context, *GetFunctionRequest) (*CloudFunction, error)
// Creates a new function. If a function with the given name already exists in
// the specified project, the long running operation will return
// `ALREADY_EXISTS` error.
CreateFunction(context.Context, *CreateFunctionRequest) (*longrunning.Operation, error)
// Updates existing function.
UpdateFunction(context.Context, *UpdateFunctionRequest) (*longrunning.Operation, error)
// Deletes a function with the given name from the specified project. If the
// given function is used by some trigger, the trigger will be updated to
// remove this function.
DeleteFunction(context.Context, *DeleteFunctionRequest) (*longrunning.Operation, error)
// Synchronously invokes a deployed Cloud Function. To be used for testing
// purposes as very limited traffic is allowed. For more information on
// the actual limits refer to [API Calls](
// https://cloud.google.com/functions/quotas#rate_limits).
CallFunction(context.Context, *CallFunctionRequest) (*CallFunctionResponse, error)
// Returns a signed URL for uploading a function source code.
// For more information about the signed URL usage see:
// https://cloud.google.com/storage/docs/access-control/signed-urls
// Once the function source code upload is complete, the used signed
// URL should be provided in CreateFunction or UpdateFunction request
// as a reference to the function source code.
//
// When uploading source code to the generated signed URL, please follow
// these restrictions:
//
// * Source file type should be a zip file.
// * Source file size should not exceed 100MB limit.
// * No credentials should be attached - the signed URLs provide access to the
// target bucket using internal service identity; if credentials were
// attached, the identity from the credentials would be used, but that
// identity does not have permissions to upload files to the URL.
//
// When making a HTTP PUT request, these two headers need to be specified:
//
// * `content-type: application/zip`
// * `x-goog-content-length-range: 0,104857600`
//
// And this header SHOULD NOT be specified:
//
// * `Authorization: Bearer YOUR_TOKEN`
GenerateUploadUrl(context.Context, *GenerateUploadUrlRequest) (*GenerateUploadUrlResponse, error)
// Returns a signed URL for downloading deployed function source code.
// The URL is only valid for a limited period and should be used within
// minutes after generation.
// For more information about the signed URL usage see:
// https://cloud.google.com/storage/docs/access-control/signed-urls
GenerateDownloadUrl(context.Context, *GenerateDownloadUrlRequest) (*GenerateDownloadUrlResponse, error)
}
// UnimplementedCloudFunctionsServiceServer can be embedded to have forward compatible implementations.
type UnimplementedCloudFunctionsServiceServer struct {
}
func (*UnimplementedCloudFunctionsServiceServer) ListFunctions(context.Context, *ListFunctionsRequest) (*ListFunctionsResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method ListFunctions not implemented")
}
func (*UnimplementedCloudFunctionsServiceServer) GetFunction(context.Context, *GetFunctionRequest) (*CloudFunction, error) {
return nil, status.Errorf(codes.Unimplemented, "method GetFunction not implemented")
}
func (*UnimplementedCloudFunctionsServiceServer) CreateFunction(context.Context, *CreateFunctionRequest) (*longrunning.Operation, error) {
return nil, status.Errorf(codes.Unimplemented, "method CreateFunction not implemented")
}
func (*UnimplementedCloudFunctionsServiceServer) UpdateFunction(context.Context, *UpdateFunctionRequest) (*longrunning.Operation, error) {
return nil, status.Errorf(codes.Unimplemented, "method UpdateFunction not implemented")
}
func (*UnimplementedCloudFunctionsServiceServer) DeleteFunction(context.Context, *DeleteFunctionRequest) (*longrunning.Operation, error) {
return nil, status.Errorf(codes.Unimplemented, "method DeleteFunction not implemented")
}
func (*UnimplementedCloudFunctionsServiceServer) CallFunction(context.Context, *CallFunctionRequest) (*CallFunctionResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method CallFunction not implemented")
}
func (*UnimplementedCloudFunctionsServiceServer) GenerateUploadUrl(context.Context, *GenerateUploadUrlRequest) (*GenerateUploadUrlResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method GenerateUploadUrl not implemented")
}
func (*UnimplementedCloudFunctionsServiceServer) GenerateDownloadUrl(context.Context, *GenerateDownloadUrlRequest) (*GenerateDownloadUrlResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method GenerateDownloadUrl not implemented")
}
func RegisterCloudFunctionsServiceServer(s *grpc.Server, srv CloudFunctionsServiceServer) {
s.RegisterService(&_CloudFunctionsService_serviceDesc, srv)
}
func _CloudFunctionsService_ListFunctions_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(ListFunctionsRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(CloudFunctionsServiceServer).ListFunctions(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/google.cloud.functions.v1beta2.CloudFunctionsService/ListFunctions",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(CloudFunctionsServiceServer).ListFunctions(ctx, req.(*ListFunctionsRequest))
}
return interceptor(ctx, in, info, handler)
}
func _CloudFunctionsService_GetFunction_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(GetFunctionRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(CloudFunctionsServiceServer).GetFunction(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/google.cloud.functions.v1beta2.CloudFunctionsService/GetFunction",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(CloudFunctionsServiceServer).GetFunction(ctx, req.(*GetFunctionRequest))
}
return interceptor(ctx, in, info, handler)
}
func _CloudFunctionsService_CreateFunction_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(CreateFunctionRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(CloudFunctionsServiceServer).CreateFunction(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/google.cloud.functions.v1beta2.CloudFunctionsService/CreateFunction",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(CloudFunctionsServiceServer).CreateFunction(ctx, req.(*CreateFunctionRequest))
}
return interceptor(ctx, in, info, handler)
}
func _CloudFunctionsService_UpdateFunction_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(UpdateFunctionRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(CloudFunctionsServiceServer).UpdateFunction(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/google.cloud.functions.v1beta2.CloudFunctionsService/UpdateFunction",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(CloudFunctionsServiceServer).UpdateFunction(ctx, req.(*UpdateFunctionRequest))
}
return interceptor(ctx, in, info, handler)
}
func _CloudFunctionsService_DeleteFunction_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(DeleteFunctionRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(CloudFunctionsServiceServer).DeleteFunction(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/google.cloud.functions.v1beta2.CloudFunctionsService/DeleteFunction",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(CloudFunctionsServiceServer).DeleteFunction(ctx, req.(*DeleteFunctionRequest))
}
return interceptor(ctx, in, info, handler)
}
func _CloudFunctionsService_CallFunction_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(CallFunctionRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(CloudFunctionsServiceServer).CallFunction(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/google.cloud.functions.v1beta2.CloudFunctionsService/CallFunction",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(CloudFunctionsServiceServer).CallFunction(ctx, req.(*CallFunctionRequest))
}
return interceptor(ctx, in, info, handler)
}
func _CloudFunctionsService_GenerateUploadUrl_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(GenerateUploadUrlRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(CloudFunctionsServiceServer).GenerateUploadUrl(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/google.cloud.functions.v1beta2.CloudFunctionsService/GenerateUploadUrl",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(CloudFunctionsServiceServer).GenerateUploadUrl(ctx, req.(*GenerateUploadUrlRequest))
}
return interceptor(ctx, in, info, handler)
}
func _CloudFunctionsService_GenerateDownloadUrl_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(GenerateDownloadUrlRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(CloudFunctionsServiceServer).GenerateDownloadUrl(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/google.cloud.functions.v1beta2.CloudFunctionsService/GenerateDownloadUrl",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(CloudFunctionsServiceServer).GenerateDownloadUrl(ctx, req.(*GenerateDownloadUrlRequest))
}
return interceptor(ctx, in, info, handler)
}
var _CloudFunctionsService_serviceDesc = grpc.ServiceDesc{
ServiceName: "google.cloud.functions.v1beta2.CloudFunctionsService",
HandlerType: (*CloudFunctionsServiceServer)(nil),
Methods: []grpc.MethodDesc{
{
MethodName: "ListFunctions",
Handler: _CloudFunctionsService_ListFunctions_Handler,
},
{
MethodName: "GetFunction",
Handler: _CloudFunctionsService_GetFunction_Handler,
},
{
MethodName: "CreateFunction",
Handler: _CloudFunctionsService_CreateFunction_Handler,
},
{
MethodName: "UpdateFunction",
Handler: _CloudFunctionsService_UpdateFunction_Handler,
},
{
MethodName: "DeleteFunction",
Handler: _CloudFunctionsService_DeleteFunction_Handler,
},
{
MethodName: "CallFunction",
Handler: _CloudFunctionsService_CallFunction_Handler,
},
{
MethodName: "GenerateUploadUrl",
Handler: _CloudFunctionsService_GenerateUploadUrl_Handler,
},
{
MethodName: "GenerateDownloadUrl",
Handler: _CloudFunctionsService_GenerateDownloadUrl_Handler,
},
},
Streams: []grpc.StreamDesc{},
Metadata: "google/cloud/functions/v1beta2/functions.proto",
}