chore: 添加虚拟环境到仓库

- 添加 backend_service/venv 虚拟环境
- 包含所有Python依赖包
- 注意:虚拟环境约393MB,包含12655个文件
This commit is contained in:
2025-12-03 10:19:25 +08:00
parent a6c2027caa
commit c4f851d387
12655 changed files with 3009376 additions and 0 deletions

View File

@@ -0,0 +1,52 @@
// Copyright 2025 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.
// This file contains stub messages for common resources in GCP.
// It is not intended to be directly generated, and is instead used by
// other tooling to be able to match common resource patterns.
syntax = "proto3";
package google.cloud;
import "google/api/resource.proto";
option (google.api.resource_definition) = {
type: "cloudresourcemanager.googleapis.com/Project"
pattern: "projects/{project}"
};
option (google.api.resource_definition) = {
type: "cloudresourcemanager.googleapis.com/Organization"
pattern: "organizations/{organization}"
};
option (google.api.resource_definition) = {
type: "cloudresourcemanager.googleapis.com/Folder"
pattern: "folders/{folder}"
};
option (google.api.resource_definition) = {
type: "cloudbilling.googleapis.com/BillingAccount"
pattern: "billingAccounts/{billing_account}"
};
option (google.api.resource_definition) = {
type: "locations.googleapis.com/Location"
pattern: "projects/{project}/locations/{location}"
};

View File

@@ -0,0 +1,47 @@
# -*- coding: utf-8 -*-
# Copyright 2025 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.
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: google/cloud/common_resources.proto
# Protobuf Python Version: 4.25.3
"""Generated protocol buffer code."""
from google.protobuf import descriptor as _descriptor
from google.protobuf import descriptor_pool as _descriptor_pool
from google.protobuf import symbol_database as _symbol_database
from google.protobuf.internal import builder as _builder
# @@protoc_insertion_point(imports)
_sym_db = _symbol_database.Default()
from google.api import resource_pb2 as google_dot_api_dot_resource__pb2
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(
b"\n#google/cloud/common_resources.proto\x12\x0cgoogle.cloud\x1a\x19google/api/resource.protoB\xf9\x02\xea\x41\x41\n+cloudresourcemanager.googleapis.com/Project\x12\x12projects/{project}\xea\x41P\n0cloudresourcemanager.googleapis.com/Organization\x12\x1corganizations/{organization}\xea\x41>\n*cloudresourcemanager.googleapis.com/Folder\x12\x10\x66olders/{folder}\xea\x41O\n*cloudbilling.googleapis.com/BillingAccount\x12!billingAccounts/{billing_account}\xea\x41L\n!locations.googleapis.com/Location\x12'projects/{project}/locations/{location}b\x06proto3"
)
_globals = globals()
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
_builder.BuildTopDescriptorsAndMessages(
DESCRIPTOR, "google.cloud.common_resources_pb2", _globals
)
if _descriptor._USE_C_DESCRIPTORS == False:
_globals["DESCRIPTOR"]._options = None
_globals[
"DESCRIPTOR"
]._serialized_options = b"\352AA\n+cloudresourcemanager.googleapis.com/Project\022\022projects/{project}\352AP\n0cloudresourcemanager.googleapis.com/Organization\022\034organizations/{organization}\352A>\n*cloudresourcemanager.googleapis.com/Folder\022\020folders/{folder}\352AO\n*cloudbilling.googleapis.com/BillingAccount\022!billingAccounts/{billing_account}\352AL\n!locations.googleapis.com/Location\022'projects/{project}/locations/{location}"
# @@protoc_insertion_point(module_scope)

View File

@@ -0,0 +1,20 @@
# Copyright 2025 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.
from typing import ClassVar as _ClassVar
from google.api import resource_pb2 as _resource_pb2
from google.protobuf import descriptor as _descriptor
DESCRIPTOR: _descriptor.FileDescriptor

View File

@@ -0,0 +1,150 @@
// Copyright 2025 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.
// This file contains custom annotations that are used by GAPIC generators to
// handle Long Running Operation methods (LRO) that are NOT compliant with
// https://google.aip.dev/151. These annotations are public for technical
// reasons only. Please DO NOT USE them in your protos.
syntax = "proto3";
package google.cloud;
import "google/protobuf/descriptor.proto";
option go_package = "google.golang.org/genproto/googleapis/cloud/extendedops;extendedops";
option java_multiple_files = true;
option java_outer_classname = "ExtendedOperationsProto";
option java_package = "com.google.cloud";
option objc_class_prefix = "GAPI";
// FieldOptions to match corresponding fields in the initial request,
// polling request and operation response messages.
//
// Example:
//
// In an API-specific operation message:
//
// message MyOperation {
// string http_error_message = 1 [(operation_field) = ERROR_MESSAGE];
// int32 http_error_status_code = 2 [(operation_field) = ERROR_CODE];
// string id = 3 [(operation_field) = NAME];
// Status status = 4 [(operation_field) = STATUS];
// }
//
// In a polling request message (the one which is used to poll for an LRO
// status):
//
// message MyPollingRequest {
// string operation = 1 [(operation_response_field) = "id"];
// string project = 2;
// string region = 3;
// }
//
// In an initial request message (the one which starts an LRO):
//
// message MyInitialRequest {
// string my_project = 2 [(operation_request_field) = "project"];
// string my_region = 3 [(operation_request_field) = "region"];
// }
//
extend google.protobuf.FieldOptions {
// A field annotation that maps fields in an API-specific Operation object to
// their standard counterparts in google.longrunning.Operation. See
// OperationResponseMapping enum definition.
OperationResponseMapping operation_field = 1149;
// A field annotation that maps fields in the initial request message
// (the one which started the LRO) to their counterparts in the polling
// request message. For non-standard LRO, the polling response may be missing
// some of the information needed to make a subsequent polling request. The
// missing information (for example, project or region ID) is contained in the
// fields of the initial request message that this annotation must be applied
// to. The string value of the annotation corresponds to the name of the
// counterpart field in the polling request message that the annotated field's
// value will be copied to.
string operation_request_field = 1150;
// A field annotation that maps fields in the polling request message to their
// counterparts in the initial and/or polling response message. The initial
// and the polling methods return an API-specific Operation object. Some of
// the fields from that response object must be reused in the subsequent
// request (like operation name/ID) to fully identify the polled operation.
// This annotation must be applied to the fields in the polling request
// message, the string value of the annotation must correspond to the name of
// the counterpart field in the Operation response object whose value will be
// copied to the annotated field.
string operation_response_field = 1151;
}
// MethodOptions to identify the actual service and method used for operation
// status polling.
//
// Example:
//
// In a method, which starts an LRO:
//
// service MyService {
// rpc Foo(MyInitialRequest) returns (MyOperation) {
// option (operation_service) = "MyPollingService";
// }
// }
//
// In a polling method:
//
// service MyPollingService {
// rpc Get(MyPollingRequest) returns (MyOperation) {
// option (operation_polling_method) = true;
// }
// }
extend google.protobuf.MethodOptions {
// A method annotation that maps an LRO method (the one which starts an LRO)
// to the service, which will be used to poll for the operation status. The
// annotation must be applied to the method which starts an LRO, the string
// value of the annotation must correspond to the name of the service used to
// poll for the operation status.
string operation_service = 1249;
// A method annotation that marks methods that can be used for polling
// operation status (e.g. the MyPollingService.Get(MyPollingRequest) method).
bool operation_polling_method = 1250;
}
// An enum to be used to mark the essential (for polling) fields in an
// API-specific Operation object. A custom Operation object may contain many
// different fields, but only few of them are essential to conduct a successful
// polling process.
enum OperationResponseMapping {
// Do not use.
UNDEFINED = 0;
// A field in an API-specific (custom) Operation object which carries the same
// meaning as google.longrunning.Operation.name.
NAME = 1;
// A field in an API-specific (custom) Operation object which carries the same
// meaning as google.longrunning.Operation.done. If the annotated field is of
// an enum type, `annotated_field_name == EnumType.DONE` semantics should be
// equivalent to `Operation.done == true`. If the annotated field is of type
// boolean, then it should follow the same semantics as Operation.done.
// Otherwise, a non-empty value should be treated as `Operation.done == true`.
STATUS = 2;
// A field in an API-specific (custom) Operation object which carries the same
// meaning as google.longrunning.Operation.error.code.
ERROR_CODE = 3;
// A field in an API-specific (custom) Operation object which carries the same
// meaning as google.longrunning.Operation.error.message.
ERROR_MESSAGE = 4;
}

View File

@@ -0,0 +1,49 @@
# -*- coding: utf-8 -*-
# Copyright 2025 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.
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: google/cloud/extended_operations.proto
# Protobuf Python Version: 4.25.3
"""Generated protocol buffer code."""
from google.protobuf import descriptor as _descriptor
from google.protobuf import descriptor_pool as _descriptor_pool
from google.protobuf import symbol_database as _symbol_database
from google.protobuf.internal import builder as _builder
# @@protoc_insertion_point(imports)
_sym_db = _symbol_database.Default()
from google.protobuf import descriptor_pb2 as google_dot_protobuf_dot_descriptor__pb2
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(
b"\n&google/cloud/extended_operations.proto\x12\x0cgoogle.cloud\x1a google/protobuf/descriptor.proto*b\n\x18OperationResponseMapping\x12\r\n\tUNDEFINED\x10\x00\x12\x08\n\x04NAME\x10\x01\x12\n\n\x06STATUS\x10\x02\x12\x0e\n\nERROR_CODE\x10\x03\x12\x11\n\rERROR_MESSAGE\x10\x04:_\n\x0foperation_field\x12\x1d.google.protobuf.FieldOptions\x18\xfd\x08 \x01(\x0e\x32&.google.cloud.OperationResponseMapping:?\n\x17operation_request_field\x12\x1d.google.protobuf.FieldOptions\x18\xfe\x08 \x01(\t:@\n\x18operation_response_field\x12\x1d.google.protobuf.FieldOptions\x18\xff\x08 \x01(\t::\n\x11operation_service\x12\x1e.google.protobuf.MethodOptions\x18\xe1\t \x01(\t:A\n\x18operation_polling_method\x12\x1e.google.protobuf.MethodOptions\x18\xe2\t \x01(\x08\x42y\n\x10\x63om.google.cloudB\x17\x45xtendedOperationsProtoP\x01ZCgoogle.golang.org/genproto/googleapis/cloud/extendedops;extendedops\xa2\x02\x04GAPIb\x06proto3"
)
_globals = globals()
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
_builder.BuildTopDescriptorsAndMessages(
DESCRIPTOR, "google.cloud.extended_operations_pb2", _globals
)
if _descriptor._USE_C_DESCRIPTORS == False:
_globals["DESCRIPTOR"]._options = None
_globals[
"DESCRIPTOR"
]._serialized_options = b"\n\020com.google.cloudB\027ExtendedOperationsProtoP\001ZCgoogle.golang.org/genproto/googleapis/cloud/extendedops;extendedops\242\002\004GAPI"
_globals["_OPERATIONRESPONSEMAPPING"]._serialized_start = 90
_globals["_OPERATIONRESPONSEMAPPING"]._serialized_end = 188
# @@protoc_insertion_point(module_scope)

View File

@@ -0,0 +1,45 @@
# Copyright 2025 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.
from typing import ClassVar as _ClassVar
from google.protobuf import descriptor as _descriptor
from google.protobuf import descriptor_pb2 as _descriptor_pb2
from google.protobuf.internal import enum_type_wrapper as _enum_type_wrapper
DESCRIPTOR: _descriptor.FileDescriptor
class OperationResponseMapping(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
__slots__ = ()
UNDEFINED: _ClassVar[OperationResponseMapping]
NAME: _ClassVar[OperationResponseMapping]
STATUS: _ClassVar[OperationResponseMapping]
ERROR_CODE: _ClassVar[OperationResponseMapping]
ERROR_MESSAGE: _ClassVar[OperationResponseMapping]
UNDEFINED: OperationResponseMapping
NAME: OperationResponseMapping
STATUS: OperationResponseMapping
ERROR_CODE: OperationResponseMapping
ERROR_MESSAGE: OperationResponseMapping
OPERATION_FIELD_FIELD_NUMBER: _ClassVar[int]
operation_field: _descriptor.FieldDescriptor
OPERATION_REQUEST_FIELD_FIELD_NUMBER: _ClassVar[int]
operation_request_field: _descriptor.FieldDescriptor
OPERATION_RESPONSE_FIELD_FIELD_NUMBER: _ClassVar[int]
operation_response_field: _descriptor.FieldDescriptor
OPERATION_SERVICE_FIELD_NUMBER: _ClassVar[int]
operation_service: _descriptor.FieldDescriptor
OPERATION_POLLING_METHOD_FIELD_NUMBER: _ClassVar[int]
operation_polling_method: _descriptor.FieldDescriptor

View File

@@ -0,0 +1,108 @@
// Copyright 2025 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.location;
import "google/api/annotations.proto";
import "google/protobuf/any.proto";
import "google/api/client.proto";
option cc_enable_arenas = true;
option go_package = "google.golang.org/genproto/googleapis/cloud/location;location";
option java_multiple_files = true;
option java_outer_classname = "LocationsProto";
option java_package = "com.google.cloud.location";
// An abstract interface that provides location-related information for
// a service. Service-specific metadata is provided through the
// [Location.metadata][google.cloud.location.Location.metadata] field.
service Locations {
option (google.api.default_host) = "cloud.googleapis.com";
option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/cloud-platform";
// Lists information about the supported locations for this service.
rpc ListLocations(ListLocationsRequest) returns (ListLocationsResponse) {
option (google.api.http) = {
get: "/v1/{name=locations}"
additional_bindings {
get: "/v1/{name=projects/*}/locations"
}
};
}
// Gets information about a location.
rpc GetLocation(GetLocationRequest) returns (Location) {
option (google.api.http) = {
get: "/v1/{name=locations/*}"
additional_bindings {
get: "/v1/{name=projects/*/locations/*}"
}
};
}
}
// The request message for [Locations.ListLocations][google.cloud.location.Locations.ListLocations].
message ListLocationsRequest {
// The resource that owns the locations collection, if applicable.
string name = 1;
// The standard list filter.
string filter = 2;
// The standard list page size.
int32 page_size = 3;
// The standard list page token.
string page_token = 4;
}
// The response message for [Locations.ListLocations][google.cloud.location.Locations.ListLocations].
message ListLocationsResponse {
// A list of locations that matches the specified filter in the request.
repeated Location locations = 1;
// The standard List next-page token.
string next_page_token = 2;
}
// The request message for [Locations.GetLocation][google.cloud.location.Locations.GetLocation].
message GetLocationRequest {
// Resource name for the location.
string name = 1;
}
// A resource that represents Google Cloud Platform location.
message Location {
// Resource name for the location, which may vary between implementations.
// For example: `"projects/example-project/locations/us-east1"`
string name = 1;
// The canonical id for this location. For example: `"us-east1"`.
string location_id = 4;
// The friendly name for this location, typically a nearby city name.
// For example, "Tokyo".
string display_name = 5;
// Cross-service attributes for the location. For example
//
// {"cloud.googleapis.com/region": "us-east1"}
map<string, string> labels = 2;
// Service-specific metadata. For example the available capacity at the given
// location.
google.protobuf.Any metadata = 3;
}

View File

@@ -0,0 +1,75 @@
# -*- coding: utf-8 -*-
# Copyright 2025 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.
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: google/cloud/location/locations.proto
# Protobuf Python Version: 4.25.3
"""Generated protocol buffer code."""
from google.protobuf import descriptor as _descriptor
from google.protobuf import descriptor_pool as _descriptor_pool
from google.protobuf import symbol_database as _symbol_database
from google.protobuf.internal import builder as _builder
# @@protoc_insertion_point(imports)
_sym_db = _symbol_database.Default()
from google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2
from google.api import client_pb2 as google_dot_api_dot_client__pb2
from google.protobuf import any_pb2 as google_dot_protobuf_dot_any__pb2
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(
b'\n%google/cloud/location/locations.proto\x12\x15google.cloud.location\x1a\x1cgoogle/api/annotations.proto\x1a\x19google/protobuf/any.proto\x1a\x17google/api/client.proto"[\n\x14ListLocationsRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0e\n\x06\x66ilter\x18\x02 \x01(\t\x12\x11\n\tpage_size\x18\x03 \x01(\x05\x12\x12\n\npage_token\x18\x04 \x01(\t"d\n\x15ListLocationsResponse\x12\x32\n\tlocations\x18\x01 \x03(\x0b\x32\x1f.google.cloud.location.Location\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t""\n\x12GetLocationRequest\x12\x0c\n\x04name\x18\x01 \x01(\t"\xd7\x01\n\x08Location\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\x0blocation_id\x18\x04 \x01(\t\x12\x14\n\x0c\x64isplay_name\x18\x05 \x01(\t\x12;\n\x06labels\x18\x02 \x03(\x0b\x32+.google.cloud.location.Location.LabelsEntry\x12&\n\x08metadata\x18\x03 \x01(\x0b\x32\x14.google.protobuf.Any\x1a-\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x32\xa4\x03\n\tLocations\x12\xab\x01\n\rListLocations\x12+.google.cloud.location.ListLocationsRequest\x1a,.google.cloud.location.ListLocationsResponse"?\x82\xd3\xe4\x93\x02\x39\x12\x14/v1/{name=locations}Z!\x12\x1f/v1/{name=projects/*}/locations\x12\x9e\x01\n\x0bGetLocation\x12).google.cloud.location.GetLocationRequest\x1a\x1f.google.cloud.location.Location"C\x82\xd3\xe4\x93\x02=\x12\x16/v1/{name=locations/*}Z#\x12!/v1/{name=projects/*/locations/*}\x1aH\xca\x41\x14\x63loud.googleapis.com\xd2\x41.https://www.googleapis.com/auth/cloud-platformBo\n\x19\x63om.google.cloud.locationB\x0eLocationsProtoP\x01Z=google.golang.org/genproto/googleapis/cloud/location;location\xf8\x01\x01\x62\x06proto3'
)
_globals = globals()
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
_builder.BuildTopDescriptorsAndMessages(
DESCRIPTOR, "google.cloud.location.locations_pb2", _globals
)
if _descriptor._USE_C_DESCRIPTORS == False:
_globals["DESCRIPTOR"]._options = None
_globals[
"DESCRIPTOR"
]._serialized_options = b"\n\031com.google.cloud.locationB\016LocationsProtoP\001Z=google.golang.org/genproto/googleapis/cloud/location;location\370\001\001"
_globals["_LOCATION_LABELSENTRY"]._options = None
_globals["_LOCATION_LABELSENTRY"]._serialized_options = b"8\001"
_globals["_LOCATIONS"]._options = None
_globals[
"_LOCATIONS"
]._serialized_options = b"\312A\024cloud.googleapis.com\322A.https://www.googleapis.com/auth/cloud-platform"
_globals["_LOCATIONS"].methods_by_name["ListLocations"]._options = None
_globals["_LOCATIONS"].methods_by_name[
"ListLocations"
]._serialized_options = b"\202\323\344\223\0029\022\024/v1/{name=locations}Z!\022\037/v1/{name=projects/*}/locations"
_globals["_LOCATIONS"].methods_by_name["GetLocation"]._options = None
_globals["_LOCATIONS"].methods_by_name[
"GetLocation"
]._serialized_options = b"\202\323\344\223\002=\022\026/v1/{name=locations/*}Z#\022!/v1/{name=projects/*/locations/*}"
_globals["_LISTLOCATIONSREQUEST"]._serialized_start = 146
_globals["_LISTLOCATIONSREQUEST"]._serialized_end = 237
_globals["_LISTLOCATIONSRESPONSE"]._serialized_start = 239
_globals["_LISTLOCATIONSRESPONSE"]._serialized_end = 339
_globals["_GETLOCATIONREQUEST"]._serialized_start = 341
_globals["_GETLOCATIONREQUEST"]._serialized_end = 375
_globals["_LOCATION"]._serialized_start = 378
_globals["_LOCATION"]._serialized_end = 593
_globals["_LOCATION_LABELSENTRY"]._serialized_start = 548
_globals["_LOCATION_LABELSENTRY"]._serialized_end = 593
_globals["_LOCATIONS"]._serialized_start = 596
_globals["_LOCATIONS"]._serialized_end = 1016
# @@protoc_insertion_point(module_scope)

View File

@@ -0,0 +1,95 @@
# Copyright 2025 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.
from typing import ClassVar as _ClassVar
from typing import Iterable as _Iterable
from typing import Mapping as _Mapping
from typing import Optional as _Optional
from typing import Union as _Union
from google.api import annotations_pb2 as _annotations_pb2
from google.api import client_pb2 as _client_pb2
from google.protobuf import any_pb2 as _any_pb2
from google.protobuf import descriptor as _descriptor
from google.protobuf import message as _message
from google.protobuf.internal import containers as _containers
DESCRIPTOR: _descriptor.FileDescriptor
class ListLocationsRequest(_message.Message):
__slots__ = ("name", "filter", "page_size", "page_token")
NAME_FIELD_NUMBER: _ClassVar[int]
FILTER_FIELD_NUMBER: _ClassVar[int]
PAGE_SIZE_FIELD_NUMBER: _ClassVar[int]
PAGE_TOKEN_FIELD_NUMBER: _ClassVar[int]
name: str
filter: str
page_size: int
page_token: str
def __init__(
self,
name: _Optional[str] = ...,
filter: _Optional[str] = ...,
page_size: _Optional[int] = ...,
page_token: _Optional[str] = ...,
) -> None: ...
class ListLocationsResponse(_message.Message):
__slots__ = ("locations", "next_page_token")
LOCATIONS_FIELD_NUMBER: _ClassVar[int]
NEXT_PAGE_TOKEN_FIELD_NUMBER: _ClassVar[int]
locations: _containers.RepeatedCompositeFieldContainer[Location]
next_page_token: str
def __init__(
self,
locations: _Optional[_Iterable[_Union[Location, _Mapping]]] = ...,
next_page_token: _Optional[str] = ...,
) -> None: ...
class GetLocationRequest(_message.Message):
__slots__ = ("name",)
NAME_FIELD_NUMBER: _ClassVar[int]
name: str
def __init__(self, name: _Optional[str] = ...) -> None: ...
class Location(_message.Message):
__slots__ = ("name", "location_id", "display_name", "labels", "metadata")
class LabelsEntry(_message.Message):
__slots__ = ("key", "value")
KEY_FIELD_NUMBER: _ClassVar[int]
VALUE_FIELD_NUMBER: _ClassVar[int]
key: str
value: str
def __init__(
self, key: _Optional[str] = ..., value: _Optional[str] = ...
) -> None: ...
NAME_FIELD_NUMBER: _ClassVar[int]
LOCATION_ID_FIELD_NUMBER: _ClassVar[int]
DISPLAY_NAME_FIELD_NUMBER: _ClassVar[int]
LABELS_FIELD_NUMBER: _ClassVar[int]
METADATA_FIELD_NUMBER: _ClassVar[int]
name: str
location_id: str
display_name: str
labels: _containers.ScalarMap[str, str]
metadata: _any_pb2.Any
def __init__(
self,
name: _Optional[str] = ...,
location_id: _Optional[str] = ...,
display_name: _Optional[str] = ...,
labels: _Optional[_Mapping[str, str]] = ...,
metadata: _Optional[_Union[_any_pb2.Any, _Mapping]] = ...,
) -> None: ...