python/proto/cloudfunctions/cloud_function.proto (99 lines of code) (raw):
// Copyright 2021 Google LLC. All Rights Reserved.
//
// 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 dcl;
import "proto/connector/sdk.proto";
import "proto/empty.proto";
enum CloudfunctionsCloudFunctionStatusEnum {
CloudfunctionsCloudFunctionStatusEnumNO_VALUE_DO_NOT_USE = 0;
CloudfunctionsCloudFunctionStatusEnumCLOUD_FUNCTION_STATUS_UNSPECIFIED = 1;
CloudfunctionsCloudFunctionStatusEnumACTIVE = 2;
CloudfunctionsCloudFunctionStatusEnumOFFLINE = 3;
CloudfunctionsCloudFunctionStatusEnumDEPLOY_IN_PROGRESS = 4;
CloudfunctionsCloudFunctionStatusEnumDELETE_IN_PROGRESS = 5;
CloudfunctionsCloudFunctionStatusEnumUNKNOWN = 6;
}
enum CloudfunctionsCloudFunctionVPCConnectorEgressSettingsEnum {
CloudfunctionsCloudFunctionVPCConnectorEgressSettingsEnumNO_VALUE_DO_NOT_USE = 0;
CloudfunctionsCloudFunctionVPCConnectorEgressSettingsEnumVPC_CONNECTOR_EGRESS_SETTINGS_UNSPECIFIED = 1;
CloudfunctionsCloudFunctionVPCConnectorEgressSettingsEnumPRIVATE_RANGES_ONLY = 2;
CloudfunctionsCloudFunctionVPCConnectorEgressSettingsEnumALL_TRAFFIC = 3;
}
enum CloudfunctionsCloudFunctionIngressSettingsEnum {
CloudfunctionsCloudFunctionIngressSettingsEnumNO_VALUE_DO_NOT_USE = 0;
CloudfunctionsCloudFunctionIngressSettingsEnumINGRESS_SETTINGS_UNSPECIFIED = 1;
CloudfunctionsCloudFunctionIngressSettingsEnumALLOW_ALL = 2;
CloudfunctionsCloudFunctionIngressSettingsEnumALLOW_INTERNAL_ONLY = 3;
CloudfunctionsCloudFunctionIngressSettingsEnumALLOW_INTERNAL_AND_GCLB = 4;
}
message CloudfunctionsCloudFunction {
string name = 1;
string description = 2;
string source_archive_url = 3;
CloudfunctionsCloudFunctionSourceRepository source_repository = 4;
CloudfunctionsCloudFunctionHttpsTrigger https_trigger = 5;
CloudfunctionsCloudFunctionEventTrigger event_trigger = 6;
CloudfunctionsCloudFunctionStatusEnum status = 7;
string entry_point = 8;
string runtime = 9;
int64 timeout = 10;
int64 available_memory_mb = 11;
string service_account_email = 12;
string update_time = 13;
int64 version_id = 14;
map<string, string> labels = 15;
map<string, string> environment_variables = 16;
string network = 17;
int64 max_instances = 18;
string vpc_connector = 19;
CloudfunctionsCloudFunctionVPCConnectorEgressSettingsEnum vpc_connector_egress_settings = 20;
CloudfunctionsCloudFunctionIngressSettingsEnum ingress_settings = 21;
string region = 22;
string project = 23;
}
message CloudfunctionsCloudFunctionSourceRepository {
string url = 1;
string deployed_url = 2;
}
message CloudfunctionsCloudFunctionHttpsTrigger {
string url = 1;
}
message CloudfunctionsCloudFunctionEventTrigger {
string event_type = 1;
string resource = 2;
string service = 3;
bool failure_policy = 4;
}
message ApplyCloudfunctionsCloudFunctionRequest {
CloudfunctionsCloudFunction resource = 1;
repeated LifecycleDirective lifecycle_directives = 2;
string service_account_file = 3;
}
message DeleteCloudfunctionsCloudFunctionRequest {
string service_account_file = 1;
CloudfunctionsCloudFunction resource = 2;
}
message ListCloudfunctionsCloudFunctionRequest {
string service_account_file = 1;
string Project = 2;
string Region = 3;
}
message ListCloudfunctionsCloudFunctionResponse {
repeated CloudfunctionsCloudFunction items = 1;
}
service CloudfunctionsCloudFunctionService {
rpc ApplyCloudfunctionsCloudFunction(ApplyCloudfunctionsCloudFunctionRequest) returns (CloudfunctionsCloudFunction);
rpc DeleteCloudfunctionsCloudFunction(DeleteCloudfunctionsCloudFunctionRequest) returns (google.protobuf.Empty);
rpc ListCloudfunctionsCloudFunction(ListCloudfunctionsCloudFunctionRequest) returns (ListCloudfunctionsCloudFunctionResponse);
}