diff options
Diffstat (limited to 'third_party/googleapis/google/cloud/functions/v2/functions.proto')
| -rw-r--r-- | third_party/googleapis/google/cloud/functions/v2/functions.proto | 1037 |
1 files changed, 0 insertions, 1037 deletions
diff --git a/third_party/googleapis/google/cloud/functions/v2/functions.proto b/third_party/googleapis/google/cloud/functions/v2/functions.proto deleted file mode 100644 index 6af26ee..0000000 --- a/third_party/googleapis/google/cloud/functions/v2/functions.proto +++ /dev/null @@ -1,1037 +0,0 @@ -// Copyright 2022 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. - -syntax = "proto3"; - -package google.cloud.functions.v2; - -import "google/api/annotations.proto"; -import "google/api/client.proto"; -import "google/api/field_behavior.proto"; -import "google/api/resource.proto"; -import "google/longrunning/operations.proto"; -import "google/protobuf/any.proto"; -import "google/protobuf/field_mask.proto"; -import "google/protobuf/timestamp.proto"; - -option go_package = "google.golang.org/genproto/googleapis/cloud/functions/v2;functions"; -option java_multiple_files = true; -option java_outer_classname = "FunctionsProto"; -option java_package = "com.google.cloud.functions.v2"; -option objc_class_prefix = "GCF"; -option (google.api.resource_definition) = { - type: "artifactregistry.googleapis.com/Repository" - pattern: "projects/{project}/locations/{location}/repositories/{repository}" -}; -option (google.api.resource_definition) = { - type: "cloudbuild.googleapis.com/Build" - pattern: "projects/{project}/locations/{location}/builds/{build}" -}; -option (google.api.resource_definition) = { - type: "cloudbuild.googleapis.com/WorkerPool" - pattern: "projects/{project}/locations/{location}/workerPools/{worker_pool}" -}; -option (google.api.resource_definition) = { - type: "run.googleapis.com/Service" - pattern: "projects/{project}/locations/{location}/services/{service}" -}; -option (google.api.resource_definition) = { - type: "vpcaccess.googleapis.com/Connector" - pattern: "projects/{project}/locations/{location}/connectors/{connector}" -}; -option (google.api.resource_definition) = { - type: "eventarc.googleapis.com/Trigger" - pattern: "projects/{project}/locations/{location}/triggers/{trigger}" -}; -option (google.api.resource_definition) = { - type: "eventarc.googleapis.com/Channel" - pattern: "projects/{project}/locations/{location}/channels/{channel}" -}; -option (google.api.resource_definition) = { - type: "pubsub.googleapis.com/Topic" - pattern: "projects/{project}/topics/{topic}" -}; -option (google.api.resource_definition) = { - type: "cloudkms.googleapis.com/CryptoKey" - pattern: "projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}" -}; - -// Google Cloud Functions is used to deploy functions that are executed by -// Google in response to various events. Data connected with that event is -// passed to a function as the input data. -// -// A **function** is a resource which describes a function that should be -// executed and how it is triggered. -service FunctionService { - option (google.api.default_host) = "cloudfunctions.googleapis.com"; - option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/cloud-platform"; - - // Returns a function with the given name from the requested project. - rpc GetFunction(GetFunctionRequest) returns (Function) { - option (google.api.http) = { - get: "/v2/{name=projects/*/locations/*/functions/*}" - }; - option (google.api.method_signature) = "name"; - } - - // Returns a list of functions that belong to the requested project. - rpc ListFunctions(ListFunctionsRequest) returns (ListFunctionsResponse) { - option (google.api.http) = { - get: "/v2/{parent=projects/*/locations/*}/functions" - }; - option (google.api.method_signature) = "parent"; - } - - // 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. - rpc CreateFunction(CreateFunctionRequest) returns (google.longrunning.Operation) { - option (google.api.http) = { - post: "/v2/{parent=projects/*/locations/*}/functions" - body: "function" - }; - option (google.api.method_signature) = "parent,function,function_id"; - option (google.longrunning.operation_info) = { - response_type: "google.cloud.functions.v2.Function" - metadata_type: "google.cloud.functions.v2.OperationMetadata" - }; - } - - // Updates existing function. - rpc UpdateFunction(UpdateFunctionRequest) returns (google.longrunning.Operation) { - option (google.api.http) = { - patch: "/v2/{function.name=projects/*/locations/*/functions/*}" - body: "function" - }; - option (google.api.method_signature) = "function,update_mask"; - option (google.longrunning.operation_info) = { - response_type: "google.cloud.functions.v2.Function" - metadata_type: "google.cloud.functions.v2.OperationMetadata" - }; - } - - // 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. - rpc DeleteFunction(DeleteFunctionRequest) returns (google.longrunning.Operation) { - option (google.api.http) = { - delete: "/v2/{name=projects/*/locations/*/functions/*}" - }; - option (google.api.method_signature) = "name"; - option (google.longrunning.operation_info) = { - response_type: "google.protobuf.Empty" - metadata_type: "google.cloud.functions.v2.OperationMetadata" - }; - } - - // 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. - // * 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` - // - // And this header SHOULD NOT be specified: - // - // * `Authorization: Bearer YOUR_TOKEN` - rpc GenerateUploadUrl(GenerateUploadUrlRequest) returns (GenerateUploadUrlResponse) { - option (google.api.http) = { - post: "/v2/{parent=projects/*/locations/*}/functions:generateUploadUrl" - body: "*" - }; - } - - // Returns a signed URL for downloading deployed function source code. - // The URL is only valid for a limited period and should be used within - // 30 minutes of generation. - // For more information about the signed URL usage see: - // https://cloud.google.com/storage/docs/access-control/signed-urls - rpc GenerateDownloadUrl(GenerateDownloadUrlRequest) returns (GenerateDownloadUrlResponse) { - option (google.api.http) = { - post: "/v2/{name=projects/*/locations/*/functions/*}:generateDownloadUrl" - body: "*" - }; - } - - // Returns a list of runtimes that are supported for the requested project. - rpc ListRuntimes(ListRuntimesRequest) returns (ListRuntimesResponse) { - option (google.api.http) = { - get: "/v2/{parent=projects/*/locations/*}/runtimes" - }; - option (google.api.method_signature) = "parent"; - } -} - -// The environment the function is hosted on. -enum Environment { - // Unspecified - ENVIRONMENT_UNSPECIFIED = 0; - - // Gen 1 - GEN_1 = 1; - - // Gen 2 - GEN_2 = 2; -} - -// Describes a Cloud Function that contains user computation executed in -// response to an event. It encapsulates function and trigger configurations. -message Function { - option (google.api.resource) = { - type: "cloudfunctions.googleapis.com/Function" - pattern: "projects/{project}/locations/{location}/functions/{function}" - plural: "functions" - singular: "function" - }; - - // Describes the current state of the function. - enum State { - // Not specified. Invalid state. - STATE_UNSPECIFIED = 0; - - // Function has been successfully deployed and is serving. - ACTIVE = 1; - - // Function deployment failed and the function is not serving. - FAILED = 2; - - // Function is being created or updated. - DEPLOYING = 3; - - // Function is being deleted. - DELETING = 4; - - // Function deployment failed and the function serving state is undefined. - // The function should be updated or deleted to move it out of this state. - UNKNOWN = 5; - } - - // A user-defined name of the function. Function names must be unique - // globally and match pattern `projects/*/locations/*/functions/*` - string name = 1; - - // Describe whether the function is gen1 or gen2. - Environment environment = 10; - - // User-provided description of a function. - string description = 2; - - // Describes the Build step of the function that builds a container from the - // given source. - BuildConfig build_config = 3; - - // Describes the Service being deployed. Currently deploys services to Cloud - // Run (fully managed). - ServiceConfig service_config = 4; - - // An Eventarc trigger managed by Google Cloud Functions that fires events in - // response to a condition in another service. - EventTrigger event_trigger = 5; - - // Output only. State of the function. - State state = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; - - // Output only. The last update timestamp of a Cloud Function. - google.protobuf.Timestamp update_time = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; - - // Labels associated with this Cloud Function. - map<string, string> labels = 8; - - // Output only. State Messages for this Cloud Function. - repeated StateMessage state_messages = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; -} - -// Informational messages about the state of the Cloud Function or Operation. -message StateMessage { - // Severity of the state message. - enum Severity { - // Not specified. Invalid severity. - SEVERITY_UNSPECIFIED = 0; - - // ERROR-level severity. - ERROR = 1; - - // WARNING-level severity. - WARNING = 2; - - // INFO-level severity. - INFO = 3; - } - - // Severity of the state message. - Severity severity = 1; - - // One-word CamelCase type of the state message. - string type = 2; - - // The message. - string message = 3; -} - -// Location of the source in an archive file in Google Cloud Storage. -message StorageSource { - // Google Cloud Storage bucket containing the source (see - // [Bucket Name - // Requirements](https://cloud.google.com/storage/docs/bucket-naming#requirements)). - string bucket = 1; - - // Google Cloud Storage object containing the source. - // - // This object must be a gzipped archive file (`.tar.gz`) containing source to - // build. - string object = 2; - - // Google Cloud Storage generation for the object. If the generation is - // omitted, the latest generation will be used. - int64 generation = 3; -} - -// Location of the source in a Google Cloud Source Repository. -message RepoSource { - // A revision within the Cloud Source Repository must be specified in - // one of these ways. - oneof revision { - // Regex matching branches to build. - // - // The syntax of the regular expressions accepted is the syntax accepted by - // RE2 and described at https://github.com/google/re2/wiki/Syntax - string branch_name = 3; - - // Regex matching tags to build. - // - // The syntax of the regular expressions accepted is the syntax accepted by - // RE2 and described at https://github.com/google/re2/wiki/Syntax - string tag_name = 4; - - // Explicit commit SHA to build. - string commit_sha = 5; - } - - // ID of the project that owns the Cloud Source Repository. If omitted, the - // project ID requesting the build is assumed. - string project_id = 1; - - // Name of the Cloud Source Repository. - string repo_name = 2; - - // Directory, relative to the source root, in which to run the build. - // - // This must be a relative path. If a step's `dir` is specified and is an - // absolute path, this value is ignored for that step's execution. - // eg. helloworld (no leading slash allowed) - string dir = 6; - - // Only trigger a build if the revision regex does NOT match the revision - // regex. - bool invert_regex = 7; -} - -// The location of the function source code. -message Source { - // Location of the source. - // At least one source needs to be provided for the deployment to succeed. - oneof source { - // If provided, get the source from this location in Google Cloud Storage. - StorageSource storage_source = 1; - - // If provided, get the source from this location in a Cloud Source - // Repository. - RepoSource repo_source = 2; - } -} - -// Provenance of the source. Ways to find the original source, or verify that -// some source was used for this build. -message SourceProvenance { - // A copy of the build's `source.storage_source`, if exists, with any - // generations resolved. - StorageSource resolved_storage_source = 1; - - // A copy of the build's `source.repo_source`, if exists, with any - // revisions resolved. - RepoSource resolved_repo_source = 2; -} - -// Describes the Build step of the function that builds a container from the -// given source. -message BuildConfig { - // Output only. The Cloud Build name of the latest successful deployment of the - // function. - string build = 1 [ - (google.api.field_behavior) = OUTPUT_ONLY, - (google.api.resource_reference) = { - type: "cloudbuild.googleapis.com/Build" - } - ]; - - // 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](https://cloud.google.com/sdk/gcloud/reference/functions/deploy#--runtime). - string runtime = 2; - - // 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`. - string entry_point = 3; - - // The location of the function source code. - Source source = 4; - - // Output only. A permanent fixed identifier for source. - SourceProvenance source_provenance = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; - - // Name of the Cloud Build Custom Worker Pool that should be used to build the - // function. The format of this field is - // `projects/{project}/locations/{region}/workerPools/{workerPool}` where - // {project} and {region} are the project id and region respectively where the - // worker pool is defined and {workerPool} is the short name of the worker - // pool. - // - // If the project id is not the same as the function, then the Cloud - // Functions Service Agent - // (service-<project_number>@gcf-admin-robot.iam.gserviceaccount.com) must be - // granted the role Cloud Build Custom Workers Builder - // (roles/cloudbuild.customworkers.builder) in the project. - string worker_pool = 5 [(google.api.resource_reference) = { - type: "cloudbuild.googleapis.com/WorkerPool" - }]; - - // User-provided build-time environment variables for the function - map<string, string> environment_variables = 6; - - // Optional. User managed repository created in Artifact Registry optionally with a - // customer managed encryption key. This is the repository to which the - // function docker image will be pushed after it is built by Cloud Build. - // If unspecified, GCF will create and use a repository named 'gcf-artifacts' - // for every deployed region. - // - // It must match the pattern - // `projects/{project}/locations/{location}/repositories/{repository}`. - // - // Cross-project repositories are not supported. - // Cross-location repositories are not supported. - // Repository format must be 'DOCKER'. - string docker_repository = 7 [ - (google.api.field_behavior) = OPTIONAL, - (google.api.resource_reference) = { - type: "artifactregistry.googleapis.com/Repository" - } - ]; -} - -// Describes the Service being deployed. -// Currently Supported : Cloud Run (fully managed). -message ServiceConfig { - // Available egress settings. - // - // This controls what traffic is diverted through the VPC Access Connector - // resource. By default PRIVATE_RANGES_ONLY will be used. - enum VpcConnectorEgressSettings { - // Unspecified. - VPC_CONNECTOR_EGRESS_SETTINGS_UNSPECIFIED = 0; - - // Use the VPC Access Connector only for private IP space from RFC1918. - PRIVATE_RANGES_ONLY = 1; - - // Force the use of VPC Access Connector for all egress traffic from the - // function. - ALL_TRAFFIC = 2; - } - - // Available ingress settings. - // - // This controls what traffic can reach the function. - // - // If unspecified, ALLOW_ALL will be used. - enum IngressSettings { - // Unspecified. - INGRESS_SETTINGS_UNSPECIFIED = 0; - - // Allow HTTP traffic from public and private sources. - ALLOW_ALL = 1; - - // Allow HTTP traffic from only private VPC sources. - ALLOW_INTERNAL_ONLY = 2; - - // Allow HTTP traffic from private VPC sources and through GCLB. - ALLOW_INTERNAL_AND_GCLB = 3; - } - - // Output only. Name of the service associated with a Function. - // The format of this field is - // `projects/{project}/locations/{region}/services/{service}` - string service = 1 [ - (google.api.field_behavior) = OUTPUT_ONLY, - (google.api.resource_reference) = { - type: "run.googleapis.com/Service" - } - ]; - - // 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. - int32 timeout_seconds = 2; - - // The amount of memory available for a function. - // Defaults to 256M. Supported units are k, M, G, Mi, Gi. If no unit is - // supplied the value is interpreted as bytes. - // See - // https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go - // a full description. - string available_memory = 13; - - // Environment variables that shall be available during function execution. - map<string, string> environment_variables = 4; - - // The limit on the maximum number of function instances that may coexist at a - // given time. - // - // In some cases, such as rapid traffic surges, Cloud Functions may, for a - // short period of time, create more instances than the specified max - // instances limit. If your function cannot tolerate this temporary behavior, - // you may want to factor in a safety margin and set a lower max instances - // value than your function can tolerate. - // - // See the [Max - // Instances](https://cloud.google.com/functions/docs/max-instances) Guide for - // more details. - int32 max_instance_count = 5; - - // The limit on the minimum number of function instances that may coexist at a - // given time. - // - // Function instances are kept in idle state for a short period after they - // finished executing the request to reduce cold start time for subsequent - // requests. Setting a minimum instance count will ensure that the given - // number of instances are kept running in idle state always. This can help - // with cold start times when jump in incoming request count occurs after the - // idle instance would have been stopped in the default case. - int32 min_instance_count = 12; - - // The Serverless VPC Access connector that this cloud function can connect - // to. The format of this field is `projects/*/locations/*/connectors/*`. - string vpc_connector = 6 [(google.api.resource_reference) = { - type: "vpcaccess.googleapis.com/Connector" - }]; - - // The egress settings for the connector, controlling what traffic is diverted - // through it. - VpcConnectorEgressSettings vpc_connector_egress_settings = 7; - - // The ingress settings for the function, controlling what traffic can reach - // it. - IngressSettings ingress_settings = 8; - - // Output only. URI of the Service deployed. - string uri = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; - - // The email of the service's service account. If empty, defaults to - // `{project_number}-compute@developer.gserviceaccount.com`. - string service_account_email = 10; - - // Whether 100% of traffic is routed to the latest revision. - // On CreateFunction and UpdateFunction, when set to true, the revision being - // deployed will serve 100% of traffic, ignoring any traffic split settings, - // if any. On GetFunction, true will be returned if the latest revision is - // serving 100% of traffic. - bool all_traffic_on_latest_revision = 16; - - // Secret environment variables configuration. - repeated SecretEnvVar secret_environment_variables = 17; - - // Secret volumes configuration. - repeated SecretVolume secret_volumes = 19; - - // Output only. The name of service revision. - string revision = 18 [(google.api.field_behavior) = OUTPUT_ONLY]; -} - -// Configuration for a secret environment variable. It has the information -// necessary to fetch the secret value from secret manager and expose it as an -// environment variable. -message SecretEnvVar { - // Name of the environment variable. - string key = 1; - - // Project identifier (preferably project number but can also be the - // project ID) of the project that contains the secret. If not set, it is - // assumed that the secret is in the same project as the function. - string project_id = 2; - - // Name of the secret in secret manager (not the full resource name). - string secret = 3; - - // Version of the secret (version number or the string 'latest'). It is - // recommended to use a numeric version for secret environment variables as - // any updates to the secret value is not reflected until new instances - // start. - string version = 4; -} - -// Configuration for a secret volume. It has the information necessary to fetch -// the secret value from secret manager and make it available as files mounted -// at the requested paths within the application container. -message SecretVolume { - // Configuration for a single version. - message SecretVersion { - // Version of the secret (version number or the string 'latest'). It is - // preferable to use `latest` version with secret volumes as secret value - // changes are reflected immediately. - string version = 1; - - // Relative path of the file under the mount path where the secret value for - // this version will be fetched and made available. For example, setting the - // mount_path as '/etc/secrets' and path as `secret_foo` would mount the - // secret value file at `/etc/secrets/secret_foo`. - string path = 2; - } - - // The path within the container to mount the secret volume. For example, - // setting the mount_path as `/etc/secrets` would mount the secret value files - // under the `/etc/secrets` directory. This directory will also be completely - // shadowed and unavailable to mount any other secrets. - // Recommended mount path: /etc/secrets - string mount_path = 1; - - // Project identifier (preferably project number but can also be the project - // ID) of the project that contains the secret. If not set, it is - // assumed that the secret is in the same project as the function. - string project_id = 2; - - // Name of the secret in secret manager (not the full resource name). - string secret = 3; - - // List of secret versions to mount for this secret. If empty, the `latest` - // version of the secret will be made available in a file named after the - // secret under the mount point. - repeated SecretVersion versions = 4; -} - -// Describes EventTrigger, used to request events to be sent from another -// service. -message EventTrigger { - // Describes the retry policy in case of function's execution failure. - // Retried execution is charged as any other execution. - enum RetryPolicy { - // Not specified. - RETRY_POLICY_UNSPECIFIED = 0; - - // Do not retry. - RETRY_POLICY_DO_NOT_RETRY = 1; - - // Retry on any failure, retry up to 7 days with an exponential backoff - // (capped at 10 seconds). - RETRY_POLICY_RETRY = 2; - } - - // Output only. The resource name of the Eventarc trigger. The format of this field is - // `projects/{project}/locations/{region}/triggers/{trigger}`. - string trigger = 1 [ - (google.api.field_behavior) = OUTPUT_ONLY, - (google.api.resource_reference) = { - type: "eventarc.googleapis.com/Trigger" - } - ]; - - // The region that the trigger will be in. The trigger will only receive - // events originating in this region. It can be the same - // region as the function, a different region or multi-region, or the global - // region. If not provided, defaults to the same region as the function. - string trigger_region = 2; - - // Required. The type of event to observe. For example: - // `google.cloud.audit.log.v1.written` or - // `google.cloud.pubsub.topic.v1.messagePublished`. - string event_type = 3 [(google.api.field_behavior) = REQUIRED]; - - // Criteria used to filter events. - repeated EventFilter event_filters = 4; - - // Optional. The name of a Pub/Sub topic in the same project that will be used - // as the transport topic for the event delivery. Format: - // `projects/{project}/topics/{topic}`. - // - // This is only valid for events of type - // `google.cloud.pubsub.topic.v1.messagePublished`. The topic provided here - // will not be deleted at function deletion. - string pubsub_topic = 5 [ - (google.api.field_behavior) = OPTIONAL, - (google.api.resource_reference) = { - type: "pubsub.googleapis.com/Topic" - } - ]; - - // Optional. The email of the trigger's service account. The service account must have - // permission to invoke Cloud Run services, the permission is - // `run.routes.invoke`. - // If empty, defaults to the Compute Engine default service account: - // `{project_number}-compute@developer.gserviceaccount.com`. - string service_account_email = 6 [(google.api.field_behavior) = OPTIONAL]; - - // Optional. If unset, then defaults to ignoring failures (i.e. not retrying them). - RetryPolicy retry_policy = 7 [(google.api.field_behavior) = OPTIONAL]; - - // Optional. The name of the channel associated with the trigger in - // `projects/{project}/locations/{location}/channels/{channel}` format. - // You must provide a channel to receive events from Eventarc SaaS partners. - string channel = 8 [ - (google.api.field_behavior) = OPTIONAL, - (google.api.resource_reference) = { - type: "eventarc.googleapis.com/Channel" - } - ]; -} - -// Filters events based on exact matches on the CloudEvents attributes. -message EventFilter { - // Required. The name of a CloudEvents attribute. - string attribute = 1 [(google.api.field_behavior) = REQUIRED]; - - // Required. The value for the attribute. - string value = 2 [(google.api.field_behavior) = REQUIRED]; - - // Optional. The operator used for matching the events with the value of the - // filter. If not specified, only events that have an exact key-value pair - // specified in the filter are matched. The only allowed value is - // `match-path-pattern`. - string operator = 3 [(google.api.field_behavior) = OPTIONAL]; -} - -// Request for the `GetFunction` method. -message GetFunctionRequest { - // Required. The name of the function which details should be obtained. - string name = 1 [ - (google.api.field_behavior) = REQUIRED, - (google.api.resource_reference) = { - type: "cloudfunctions.googleapis.com/Function" - } - ]; -} - -// Request for the `ListFunctions` method. -message ListFunctionsRequest { - // 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. - string parent = 1 [ - (google.api.field_behavior) = REQUIRED, - (google.api.resource_reference) = { - child_type: "cloudfunctions.googleapis.com/Function" - } - ]; - - // Maximum number of functions to return per call. - int32 page_size = 2; - - // 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. - string page_token = 3; - - // The filter for Functions that match the filter expression, - // following the syntax outlined in https://google.aip.dev/160. - string filter = 4; - - // The sorting order of the resources returned. Value should be a comma - // separated list of fields. The default sorting oder is ascending. - // See https://google.aip.dev/132#ordering. - string order_by = 5; -} - -// Response for the `ListFunctions` method. -message ListFunctionsResponse { - // The functions that match the request. - repeated Function functions = 1; - - // A token, which can be sent as `page_token` to retrieve the next page. - // If this field is omitted, there are no subsequent pages. - string next_page_token = 2; - - // Locations that could not be reached. The response does not include any - // functions from these locations. - repeated string unreachable = 3; -} - -// Request for the `CreateFunction` method. -message CreateFunctionRequest { - // Required. The project and location in which the function should be created, specified - // in the format `projects/*/locations/*` - string parent = 1 [ - (google.api.field_behavior) = REQUIRED, - (google.api.resource_reference) = { - type: "locations.googleapis.com/Location" - } - ]; - - // Required. Function to be created. - Function function = 2 [(google.api.field_behavior) = REQUIRED]; - - // The ID to use for the function, which will become the final component of - // the function's resource name. - // - // This value should be 4-63 characters, and valid characters - // are /[a-z][0-9]-/. - string function_id = 3; -} - -// Request for the `UpdateFunction` method. -message UpdateFunctionRequest { - // Required. New version of the function. - Function function = 1 [(google.api.field_behavior) = REQUIRED]; - - // The list of fields to be updated. - // If no field mask is provided, all provided fields in the request will be - // updated. - google.protobuf.FieldMask update_mask = 2; -} - -// Request for the `DeleteFunction` method. -message DeleteFunctionRequest { - // Required. The name of the function which should be deleted. - string name = 1 [ - (google.api.field_behavior) = REQUIRED, - (google.api.resource_reference) = { - type: "cloudfunctions.googleapis.com/Function" - } - ]; -} - -// Request of `GenerateSourceUploadUrl` method. -message GenerateUploadUrlRequest { - // Required. The project and location in which the Google Cloud Storage signed URL - // should be generated, specified in the format `projects/*/locations/*`. - string parent = 1 [ - (google.api.field_behavior) = REQUIRED, - (google.api.resource_reference) = { - type: "locations.googleapis.com/Location" - } - ]; -} - -// Response of `GenerateSourceUploadUrl` method. -message GenerateUploadUrlResponse { - // 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. - string upload_url = 1; - - // The location of the source code in the upload bucket. - // - // Once the archive is uploaded using the `upload_url` use this field to - // set the `function.build_config.source.storage_source` - // during CreateFunction and UpdateFunction. - // - // Generation defaults to 0, as Cloud Storage provides a new generation only - // upon uploading a new object or version of an object. - StorageSource storage_source = 2; -} - -// Request of `GenerateDownloadUrl` method. -message GenerateDownloadUrlRequest { - // Required. The name of function for which source code Google Cloud Storage signed - // URL should be generated. - string name = 1 [ - (google.api.field_behavior) = REQUIRED, - (google.api.resource_reference) = { - type: "cloudfunctions.googleapis.com/Function" - } - ]; -} - -// Response of `GenerateDownloadUrl` method. -message GenerateDownloadUrlResponse { - // The generated Google Cloud Storage signed URL that should be used for - // function source code download. - string download_url = 1; -} - -// Request for the `ListRuntimes` method. -message ListRuntimesRequest { - // Required. The project and location from which the runtimes should be listed, - // specified in the format `projects/*/locations/*` - string parent = 1 [ - (google.api.field_behavior) = REQUIRED, - (google.api.resource_reference) = { - type: "locations.googleapis.com/Location" - } - ]; - - // The filter for Runtimes that match the filter expression, - // following the syntax outlined in https://google.aip.dev/160. - string filter = 2; -} - -// Response for the `ListRuntimes` method. -message ListRuntimesResponse { - // Describes a runtime and any special information (e.g., deprecation status) - // related to it. - message Runtime { - // The name of the runtime, e.g., 'go113', 'nodejs12', etc. - string name = 1; - - // The user facing name, eg 'Go 1.13', 'Node.js 12', etc. - string display_name = 5; - - // The stage of life this runtime is in, e.g., BETA, GA, etc. - RuntimeStage stage = 2; - - // Warning messages, e.g., a deprecation warning. - repeated string warnings = 3; - - // The environment for the runtime. - Environment environment = 4; - } - - // The various stages that a runtime can be in. - enum RuntimeStage { - // Not specified. - RUNTIME_STAGE_UNSPECIFIED = 0; - - // The runtime is in development. - DEVELOPMENT = 1; - - // The runtime is in the Alpha stage. - ALPHA = 2; - - // The runtime is in the Beta stage. - BETA = 3; - - // The runtime is generally available. - GA = 4; - - // The runtime is deprecated. - DEPRECATED = 5; - - // The runtime is no longer supported. - DECOMMISSIONED = 6; - } - - // The runtimes that match the request. - repeated Runtime runtimes = 1; -} - -// Represents the metadata of the long-running operation. -message OperationMetadata { - // The time the operation was created. - google.protobuf.Timestamp create_time = 1; - - // The time the operation finished running. - google.protobuf.Timestamp end_time = 2; - - // Server-defined resource path for the target of the operation. - string target = 3; - - // Name of the verb executed by the operation. - string verb = 4; - - // Human-readable status of the operation, if any. - string status_detail = 5; - - // Identifies whether the user has requested cancellation - // of the operation. Operations that have successfully been cancelled - // have [Operation.error][] value with a [google.rpc.Status.code][google.rpc.Status.code] of 1, - // corresponding to `Code.CANCELLED`. - bool cancel_requested = 6; - - // API version used to start the operation. - string api_version = 7; - - // The original request that started the operation. - google.protobuf.Any request_resource = 8; - - // Mechanism for reporting in-progress stages - repeated Stage stages = 9; -} - -// Each Stage of the deployment process -message Stage { - // Possible names for a Stage - enum Name { - // Not specified. Invalid name. - NAME_UNSPECIFIED = 0; - - // Artifact Regsitry Stage - ARTIFACT_REGISTRY = 1; - - // Build Stage - BUILD = 2; - - // Service Stage - SERVICE = 3; - - // Trigger Stage - TRIGGER = 4; - - // Service Rollback Stage - SERVICE_ROLLBACK = 5; - - // Trigger Rollback Stage - TRIGGER_ROLLBACK = 6; - } - - // Possible states for a Stage - enum State { - // Not specified. Invalid state. - STATE_UNSPECIFIED = 0; - - // Stage has not started. - NOT_STARTED = 1; - - // Stage is in progress. - IN_PROGRESS = 2; - - // Stage has completed. - COMPLETE = 3; - } - - // Name of the Stage. This will be unique for each Stage. - Name name = 1; - - // Message describing the Stage - string message = 2; - - // Current state of the Stage - State state = 3; - - // Resource of the Stage - string resource = 4; - - // Link to the current Stage resource - string resource_uri = 5; - - // State messages from the current Stage. - repeated StateMessage state_messages = 6; -} |
