Merge remote-tracking branch 'upstream/master' into xds_client_lrs_refactor

pull/37605/head
Mark D. Roth 3 months ago
commit 87de26c9b5
  1. 12
      CMakeLists.txt
  2. 8
      bazel/grpc_deps.bzl
  3. 11
      build_autogenerated.yaml
  4. 41
      examples/cpp/flow_control/BUILD
  5. 73
      examples/cpp/flow_control/CMakeLists.txt
  6. 29
      examples/cpp/flow_control/README.md
  7. 104
      examples/cpp/flow_control/server_flow_control_client.cc
  8. 131
      examples/cpp/flow_control/server_flow_control_server.cc
  9. 14
      src/core/ext/transport/chttp2/server/chttp2_server.cc
  10. 16
      src/core/ext/upb-gen/google/api/expr/v1alpha1/checked.upb.h
  11. 15
      src/core/ext/upb-gen/google/api/expr/v1alpha1/checked.upb_minitable.c
  12. 419
      src/core/ext/upb-gen/google/api/expr/v1alpha1/syntax.upb.h
  13. 114
      src/core/ext/upb-gen/google/api/expr/v1alpha1/syntax.upb_minitable.c
  14. 2
      src/core/ext/upb-gen/google/api/expr/v1alpha1/syntax.upb_minitable.h
  15. 215
      src/core/ext/upbdefs-gen/google/api/expr/v1alpha1/checked.upbdefs.c
  16. 179
      src/core/ext/upbdefs-gen/google/api/expr/v1alpha1/syntax.upbdefs.c
  17. 10
      src/core/ext/upbdefs-gen/google/api/expr/v1alpha1/syntax.upbdefs.h
  18. 3
      src/core/lib/experiments/config.cc
  19. 32
      src/core/xds/grpc/xds_bootstrap_grpc.cc
  20. 5
      src/core/xds/grpc/xds_bootstrap_grpc.h
  21. 4
      templates/tools/dockerfile/test/cxx_clang_7_x64/Dockerfile.template
  22. 1
      test/core/xds/BUILD
  23. 24
      test/core/xds/xds_bootstrap_test.cc
  24. 40
      test/cpp/end2end/xds/xds_fallback_end2end_test.cc
  25. 2
      third_party/googleapis
  26. 2
      tools/bazelify_tests/dockerimage_current_versions.bzl
  27. 2
      tools/bazelify_tests/test/portability_tests.bzl
  28. 12
      tools/distrib/python/xds_protos/generated_file_import_test.py
  29. 0
      tools/distrib/python/xds_protos/google/api/apikeys/__init__.py
  30. 0
      tools/distrib/python/xds_protos/google/api/apikeys/v2/__init__.py
  31. 100
      tools/distrib/python/xds_protos/google/api/apikeys/v2/apikeys_pb2.py
  32. 65
      tools/distrib/python/xds_protos/google/api/apikeys/v2/resources_pb2.py
  33. 16
      tools/distrib/python/xds_protos/google/api/auth_pb2.py
  34. 14
      tools/distrib/python/xds_protos/google/api/backend_pb2.py
  35. 11
      tools/distrib/python/xds_protos/google/api/billing_pb2.py
  36. 48
      tools/distrib/python/xds_protos/google/api/client_pb2.py
  37. 0
      tools/distrib/python/xds_protos/google/api/cloudquotas/__init__.py
  38. 0
      tools/distrib/python/xds_protos/google/api/cloudquotas/v1/__init__.py
  39. 96
      tools/distrib/python/xds_protos/google/api/cloudquotas/v1/cloudquotas_pb2.py
  40. 96
      tools/distrib/python/xds_protos/google/api/cloudquotas/v1/resources_pb2.py
  41. 7
      tools/distrib/python/xds_protos/google/api/control_pb2.py
  42. 6
      tools/distrib/python/xds_protos/google/api/endpoint_pb2.py
  43. 4
      tools/distrib/python/xds_protos/google/api/error_reason_pb2.py
  44. 0
      tools/distrib/python/xds_protos/google/api/expr/conformance/__init__.py
  45. 0
      tools/distrib/python/xds_protos/google/api/expr/conformance/v1alpha1/__init__.py
  46. 55
      tools/distrib/python/xds_protos/google/api/expr/conformance/v1alpha1/conformance_service_pb2.py
  47. 60
      tools/distrib/python/xds_protos/google/api/expr/v1alpha1/checked_pb2.py
  48. 44
      tools/distrib/python/xds_protos/google/api/expr/v1alpha1/syntax_pb2.py
  49. 6
      tools/distrib/python/xds_protos/google/api/field_behavior_pb2.py
  50. 31
      tools/distrib/python/xds_protos/google/api/field_info_pb2.py
  51. 29
      tools/distrib/python/xds_protos/google/api/policy_pb2.py
  52. 29
      tools/distrib/python/xds_protos/google/api/routing_pb2.py
  53. 12
      tools/distrib/python/xds_protos/google/api/service_pb2.py
  54. 4
      tools/distrib/python/xds_protos/google/api/servicecontrol/v1/check_error_pb2.py
  55. 4
      tools/distrib/python/xds_protos/google/api/servicecontrol/v1/distribution_pb2.py
  56. 4
      tools/distrib/python/xds_protos/google/api/servicecontrol/v1/http_request_pb2.py
  57. 4
      tools/distrib/python/xds_protos/google/api/servicecontrol/v1/log_entry_pb2.py
  58. 4
      tools/distrib/python/xds_protos/google/api/servicecontrol/v1/metric_value_pb2.py
  59. 4
      tools/distrib/python/xds_protos/google/api/servicecontrol/v1/operation_pb2.py
  60. 4
      tools/distrib/python/xds_protos/google/api/servicecontrol/v1/quota_controller_pb2.py
  61. 41
      tools/distrib/python/xds_protos/google/api/servicecontrol/v1/service_controller_pb2.py
  62. 0
      tools/distrib/python/xds_protos/google/api/servicecontrol/v2/__init__.py
  63. 52
      tools/distrib/python/xds_protos/google/api/servicecontrol/v2/service_controller_pb2.py
  64. 78
      tools/distrib/python/xds_protos/google/api/servicemanagement/v1/resources_pb2.py
  65. 153
      tools/distrib/python/xds_protos/google/api/servicemanagement/v1/servicemanager_pb2.py
  66. 24
      tools/distrib/python/xds_protos/google/api/serviceusage/v1/resources_pb2.py
  67. 6
      tools/distrib/python/xds_protos/google/api/serviceusage/v1/serviceusage_pb2.py
  68. 73
      tools/distrib/python/xds_protos/google/api/serviceusage/v1beta1/resources_pb2.py
  69. 155
      tools/distrib/python/xds_protos/google/api/serviceusage/v1beta1/serviceusage_pb2.py
  70. 7
      tools/distrib/python/xds_protos/google/logging/type/http_request_pb2.py
  71. 9
      tools/distrib/python/xds_protos/google/logging/type/log_severity_pb2.py
  72. 66
      tools/distrib/python/xds_protos/google/logging/v2/log_entry_pb2.py
  73. 422
      tools/distrib/python/xds_protos/google/logging/v2/logging_config_pb2.py
  74. 88
      tools/distrib/python/xds_protos/google/logging/v2/logging_metrics_pb2.py
  75. 123
      tools/distrib/python/xds_protos/google/logging/v2/logging_pb2.py
  76. 4
      tools/distrib/python/xds_protos/google/longrunning/operations_pb2.py
  77. 27
      tools/distrib/python/xds_protos/google/rpc/context/audit_context_pb2.py
  78. 26
      tools/distrib/python/xds_protos/google/rpc/error_details_pb2.py
  79. 30
      tools/distrib/python/xds_protos/google/rpc/http_pb2.py
  80. 1
      tools/dockerfile/test/cxx_clang_6_x64.current_version
  81. 1
      tools/dockerfile/test/cxx_clang_7_x64.current_version
  82. 10
      tools/dockerfile/test/cxx_clang_7_x64/Dockerfile
  83. 6
      tools/run_tests/run_tests.py
  84. 2
      tools/run_tests/run_tests_matrix.py
  85. 2
      tools/run_tests/sanity/check_submodules.sh

12
CMakeLists.txt generated

@ -416,18 +416,18 @@ if (NOT EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/third_party/googleapis AND gRPC_DOWNL
# Download the archive via HTTP, validate the checksum, and extract to third_party/googleapis.
download_archive(
${CMAKE_CURRENT_SOURCE_DIR}/third_party/googleapis
https://storage.googleapis.com/grpc-bazel-mirror/github.com/googleapis/googleapis/archive/2f9af297c84c55c8b871ba4495e01ade42476c92.tar.gz
5bb6b0253ccf64b53d6c7249625a7e3f6c3bc6402abd52d3778bfa48258703a0
googleapis-2f9af297c84c55c8b871ba4495e01ade42476c92
https://storage.googleapis.com/grpc-bazel-mirror/github.com/googleapis/googleapis/archive/fe8ba054ad4f7eca946c2d14a63c3f07c0b586a0.tar.gz
0513f0f40af63bd05dc789cacc334ab6cec27cc89db596557cb2dfe8919463e4
googleapis-fe8ba054ad4f7eca946c2d14a63c3f07c0b586a0
)
endif()
if (NOT EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/third_party/googleapis AND gRPC_DOWNLOAD_ARCHIVES)
# Download the archive via HTTP, validate the checksum, and extract to third_party/googleapis.
download_archive(
${CMAKE_CURRENT_SOURCE_DIR}/third_party/googleapis
https://github.com/googleapis/googleapis/archive/2f9af297c84c55c8b871ba4495e01ade42476c92.tar.gz
5bb6b0253ccf64b53d6c7249625a7e3f6c3bc6402abd52d3778bfa48258703a0
googleapis-2f9af297c84c55c8b871ba4495e01ade42476c92
https://github.com/googleapis/googleapis/archive/fe8ba054ad4f7eca946c2d14a63c3f07c0b586a0.tar.gz
0513f0f40af63bd05dc789cacc334ab6cec27cc89db596557cb2dfe8919463e4
googleapis-fe8ba054ad4f7eca946c2d14a63c3f07c0b586a0
)
endif()
# Setup external proto library at third_party/opencensus-proto/src with 2 download URLs

@ -240,12 +240,12 @@ def grpc_deps():
if "com_google_googleapis" not in native.existing_rules():
http_archive(
name = "com_google_googleapis",
sha256 = "5bb6b0253ccf64b53d6c7249625a7e3f6c3bc6402abd52d3778bfa48258703a0",
strip_prefix = "googleapis-2f9af297c84c55c8b871ba4495e01ade42476c92",
sha256 = "0513f0f40af63bd05dc789cacc334ab6cec27cc89db596557cb2dfe8919463e4",
strip_prefix = "googleapis-fe8ba054ad4f7eca946c2d14a63c3f07c0b586a0",
build_file = Label("//bazel:googleapis.BUILD"),
urls = [
"https://storage.googleapis.com/grpc-bazel-mirror/github.com/googleapis/googleapis/archive/2f9af297c84c55c8b871ba4495e01ade42476c92.tar.gz",
"https://github.com/googleapis/googleapis/archive/2f9af297c84c55c8b871ba4495e01ade42476c92.tar.gz",
"https://storage.googleapis.com/grpc-bazel-mirror/github.com/googleapis/googleapis/archive/fe8ba054ad4f7eca946c2d14a63c3f07c0b586a0.tar.gz",
"https://github.com/googleapis/googleapis/archive/fe8ba054ad4f7eca946c2d14a63c3f07c0b586a0.tar.gz",
],
)

@ -21270,8 +21270,7 @@ targets:
gtest: true
build: test
language: c++
headers:
- test/core/test_util/scoped_env_var.h
headers: []
src:
- test/core/xds/xds_bootstrap_test.cc
deps:
@ -22619,12 +22618,12 @@ external_proto_libraries:
- https://storage.googleapis.com/grpc-bazel-mirror/github.com/envoyproxy/data-plane-api/archive/f8b75d1efa92bbf534596a013d9ca5873f79dd30.tar.gz
- https://github.com/envoyproxy/data-plane-api/archive/f8b75d1efa92bbf534596a013d9ca5873f79dd30.tar.gz
- destination: third_party/googleapis
hash: 5bb6b0253ccf64b53d6c7249625a7e3f6c3bc6402abd52d3778bfa48258703a0
hash: 0513f0f40af63bd05dc789cacc334ab6cec27cc89db596557cb2dfe8919463e4
proto_prefix: third_party/googleapis/
strip_prefix: googleapis-2f9af297c84c55c8b871ba4495e01ade42476c92
strip_prefix: googleapis-fe8ba054ad4f7eca946c2d14a63c3f07c0b586a0
urls:
- https://storage.googleapis.com/grpc-bazel-mirror/github.com/googleapis/googleapis/archive/2f9af297c84c55c8b871ba4495e01ade42476c92.tar.gz
- https://github.com/googleapis/googleapis/archive/2f9af297c84c55c8b871ba4495e01ade42476c92.tar.gz
- https://storage.googleapis.com/grpc-bazel-mirror/github.com/googleapis/googleapis/archive/fe8ba054ad4f7eca946c2d14a63c3f07c0b586a0.tar.gz
- https://github.com/googleapis/googleapis/archive/fe8ba054ad4f7eca946c2d14a63c3f07c0b586a0.tar.gz
- destination: third_party/opencensus-proto/src
hash: b7e13f0b4259e80c3070b583c2f39e53153085a6918718b1c710caf7037572b0
proto_prefix: third_party/opencensus-proto/src/

@ -0,0 +1,41 @@
# Copyright 2024 the gRPC authors.
#
# 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.
licenses(["notice"])
cc_binary(
name = "server_flow_control_client",
srcs = ["server_flow_control_client.cc"],
defines = ["BAZEL_BUILD"],
deps = [
"//:grpc++",
"//:grpc++_reflection",
"//examples/protos:helloworld_cc_grpc",
"@com_google_absl//absl/flags:flag",
"@com_google_absl//absl/flags:parse",
],
)
cc_binary(
name = "server_flow_control_server",
srcs = ["server_flow_control_server.cc"],
defines = ["BAZEL_BUILD"],
deps = [
"//:grpc++",
"//:grpc++_reflection",
"//examples/protos:helloworld_cc_grpc",
"@com_google_absl//absl/flags:flag",
"@com_google_absl//absl/flags:parse",
],
)

@ -0,0 +1,73 @@
# Copyright 2024 gRPC authors.
#
# 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.
#
# cmake build file for C++ flow_control example.
# Assumes protobuf and gRPC have been installed using cmake.
# See cmake_externalproject/CMakeLists.txt for all-in-one cmake build
# that automatically builds all the dependencies before building example.
cmake_minimum_required(VERSION 3.8)
project(HelloWorld C CXX)
include(../cmake/common.cmake)
# Proto file
get_filename_component(hw_proto "../../protos/helloworld.proto" ABSOLUTE)
get_filename_component(hw_proto_path "${hw_proto}" PATH)
# Generated sources
set(hw_proto_srcs "${CMAKE_CURRENT_BINARY_DIR}/helloworld.pb.cc")
set(hw_proto_hdrs "${CMAKE_CURRENT_BINARY_DIR}/helloworld.pb.h")
set(hw_grpc_srcs "${CMAKE_CURRENT_BINARY_DIR}/helloworld.grpc.pb.cc")
set(hw_grpc_hdrs "${CMAKE_CURRENT_BINARY_DIR}/helloworld.grpc.pb.h")
add_custom_command(
OUTPUT "${hw_proto_srcs}" "${hw_proto_hdrs}" "${hw_grpc_srcs}" "${hw_grpc_hdrs}"
COMMAND ${_PROTOBUF_PROTOC}
ARGS --grpc_out "${CMAKE_CURRENT_BINARY_DIR}"
--cpp_out "${CMAKE_CURRENT_BINARY_DIR}"
-I "${hw_proto_path}"
--plugin=protoc-gen-grpc="${_GRPC_CPP_PLUGIN_EXECUTABLE}"
"${hw_proto}"
DEPENDS "${hw_proto}")
# Include generated *.pb.h files
include_directories("${CMAKE_CURRENT_BINARY_DIR}")
# hw_grpc_proto
add_library(hw_grpc_proto
${hw_grpc_srcs}
${hw_grpc_hdrs}
${hw_proto_srcs}
${hw_proto_hdrs})
target_link_libraries(hw_grpc_proto
absl::check
${_REFLECTION}
${_GRPC_GRPCPP}
${_PROTOBUF_LIBPROTOBUF})
# Targets greeter_[async_](client|server)
foreach(_target
server_flow_control_client server_flow_control_server)
add_executable(${_target} "${_target}.cc")
target_link_libraries(${_target}
hw_grpc_proto
absl::check
absl::flags
absl::flags_parse
absl::log
${_REFLECTION}
${_GRPC_GRPCPP}
${_PROTOBUF_LIBPROTOBUF})
endforeach()

@ -0,0 +1,29 @@
gRPC Flow Control Example
=====================
# Overview
Flow control is relevant for streaming RPC calls.
The underlying layer will make the write wait when there is no space to write
the next message. This causes the request stream to go into a not ready state
and the method invocation waits.
# Server flow control
In server case, gRPC will pause the server implementation that is sending the
messages too fast. Server implementation is in
[server_flow_control_server.cc](server_flow_control_server.cc). It will write
a specified number of responses of a specified size as fast as possible.
As client-side buffer is filled, the write operation will block until the buffer
is freed.
A client implementation in [server_flow_control_client.cc](server_flow_control_client.cc)
will delay for 1s before starting a next read to simulate client that does not
have resources for handling the replies.
# Related information
Also see [gRPC Flow Control Users Guide][user guide]
[user guide]: https://grpc.io/docs/guides/flow-control

@ -0,0 +1,104 @@
/*
*
* Copyright 2024 gRPC authors.
*
* 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.
*
*/
#include <iostream>
#include <string>
#include "absl/flags/flag.h"
#include "absl/flags/parse.h"
#include <grpc/grpc.h>
#include <grpcpp/ext/proto_server_reflection_plugin.h>
#include <grpcpp/grpcpp.h>
#ifdef BAZEL_BUILD
#include "examples/protos/helloworld.grpc.pb.h"
#else
#include "helloworld.grpc.pb.h"
#endif
ABSL_FLAG(std::string, target, "localhost:50051", "Server address");
ABSL_FLAG(size_t, quota, 20,
"Resource quota (in megabytes) that defines how much memory gRPC has "
"available for buffers");
namespace {
class Reader final : public grpc::ClientReadReactor<helloworld::HelloReply> {
public:
void Start() {
StartRead(&res_);
StartCall();
}
grpc::Status WaitForDone() {
absl::MutexLock lock(&mu_);
mu_.Await(absl::Condition(
+[](Reader* reader) { return reader->result_.has_value(); }, this));
return *result_;
}
void OnReadDone(bool ok) override {
if (!ok) {
std::cout << "Done reading\n";
return;
}
std::cout << "Read " << res_.message().length() << " bytes.\n";
res_.set_message("");
// A delay to slow down the client so it can't read responses quick enough
sleep(1);
StartRead(&res_);
}
void OnDone(const grpc::Status& status) override {
absl::MutexLock lock(&mu_);
result_ = status;
}
private:
absl::Mutex mu_;
absl::optional<grpc::Status> result_;
helloworld::HelloReply res_;
};
} // namespace
int main(int argc, char* argv[]) {
absl::ParseCommandLine(argc, argv);
grpc::ChannelArguments channel_arguments;
grpc::ResourceQuota quota;
quota.Resize(absl::GetFlag(FLAGS_quota) * 1024 * 1024);
channel_arguments.SetResourceQuota(quota);
auto channel = grpc::CreateCustomChannel(absl::GetFlag(FLAGS_target),
grpc::InsecureChannelCredentials(),
channel_arguments);
auto greeter = helloworld::Greeter::NewStub(channel);
grpc::ClientContext ctx;
helloworld::HelloRequest req;
req.set_name("World");
Reader reader;
greeter->async()->SayHelloStreamReply(&ctx, &req, &reader);
reader.Start();
auto status = reader.WaitForDone();
if (status.ok()) {
std::cout << "Success\n";
} else {
std::cerr << "Failed with error: " << status.error_message() << "\n";
}
return 0;
}

@ -0,0 +1,131 @@
/*
*
* Copyright 2024 gRPC authors.
*
* 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.
*
*/
#include <cstddef>
#include <iostream>
#include <memory>
#include <string>
#include "absl/flags/flag.h"
#include "absl/flags/parse.h"
#include "absl/strings/str_cat.h"
#include <grpcpp/ext/proto_server_reflection_plugin.h>
#include <grpcpp/grpcpp.h>
#include <grpcpp/health_check_service_interface.h>
#include <grpcpp/support/status.h>
#ifdef BAZEL_BUILD
#include "examples/protos/helloworld.grpc.pb.h"
#else
#include "helloworld.grpc.pb.h"
#endif
ABSL_FLAG(uint16_t, port, 50051, "Server port for the service");
ABSL_FLAG(size_t, message_size, 3 * 1024 * 1024,
"Size of the messages to send");
ABSL_FLAG(uint32_t, to_send, 10,
"Messages to send in response to a single request");
using grpc::CallbackServerContext;
using grpc::Server;
using grpc::ServerBuilder;
using grpc::ServerUnaryReactor;
using grpc::Status;
namespace {
//
// Will write the replies as fast as it can, starting a new write as soon as
// previous one is done.
//
class HelloReactor final
: public grpc::ServerWriteReactor<helloworld::HelloReply> {
public:
HelloReactor(size_t message_size, size_t to_send)
: messages_to_send_(to_send) {
res_.set_message(std::string(message_size, '#'));
Write();
}
void Write() {
absl::MutexLock lock(&mu_);
StartWrite(&res_);
--messages_to_send_;
write_start_time_ = absl::Now();
}
void OnWriteDone(bool ok) override {
bool more = false;
{
absl::MutexLock lock(&mu_);
std::cout << "Write #" << messages_to_send_ << " done (Ok: " << ok
<< "): " << absl::Now() - *write_start_time_ << "\n";
write_start_time_ = absl::nullopt;
more = ok && messages_to_send_ > 0;
}
if (more) {
Write();
} else {
Finish(grpc::Status::OK);
std::cout << "Done sending messages\n";
}
}
void OnDone() override { delete this; }
private:
helloworld::HelloReply res_;
size_t messages_to_send_;
absl::optional<absl::Time> write_start_time_;
absl::Mutex mu_;
};
class GreeterService final : public helloworld::Greeter::CallbackService {
public:
GreeterService(size_t message_size, size_t to_send)
: message_size_(message_size), to_send_(to_send) {}
grpc::ServerWriteReactor<helloworld::HelloReply>* SayHelloStreamReply(
grpc::CallbackServerContext* /*context*/,
const helloworld::HelloRequest* request) override {
return new HelloReactor(message_size_, to_send_);
}
private:
size_t message_size_;
size_t to_send_;
};
} // namespace
int main(int argc, char* argv[]) {
absl::ParseCommandLine(argc, argv);
std::string server_address =
absl::StrCat("0.0.0.0:", absl::GetFlag(FLAGS_port));
grpc::EnableDefaultHealthCheckService(true);
grpc::reflection::InitProtoReflectionServerBuilderPlugin();
GreeterService service(absl::GetFlag(FLAGS_message_size),
absl::GetFlag(FLAGS_to_send));
ServerBuilder builder;
builder.RegisterService(&service);
builder.AddListeningPort(server_address, grpc::InsecureServerCredentials());
std::unique_ptr<Server> server(builder.BuildAndStart());
std::cout << "Server listening on " << server_address << std::endl;
server->Wait();
return 0;
}

@ -207,7 +207,6 @@ class Chttp2ServerListener : public Server::ListenerInterface {
ActiveConnection(grpc_pollset* accepting_pollset, AcceptorPtr acceptor,
EventEngine* event_engine, const ChannelArgs& args,
MemoryOwner memory_owner);
~ActiveConnection() override;
void Orphan() override;
@ -392,6 +391,10 @@ Chttp2ServerListener::ActiveConnection::HandshakingState::~HandshakingState() {
grpc_pollset_set_del_pollset(interested_parties_, accepting_pollset_);
}
grpc_pollset_set_destroy(interested_parties_);
if (connection_->listener_ != nullptr &&
connection_->listener_->tcp_server_ != nullptr) {
grpc_tcp_server_unref(connection_->listener_->tcp_server_);
}
}
void Chttp2ServerListener::ActiveConnection::HandshakingState::Orphan() {
@ -565,12 +568,6 @@ Chttp2ServerListener::ActiveConnection::ActiveConnection(
grpc_schedule_on_exec_ctx);
}
Chttp2ServerListener::ActiveConnection::~ActiveConnection() {
if (listener_ != nullptr && listener_->tcp_server_ != nullptr) {
grpc_tcp_server_unref(listener_->tcp_server_);
}
}
void Chttp2ServerListener::ActiveConnection::Orphan() {
OrphanablePtr<HandshakingState> handshaking_state;
{
@ -871,7 +868,8 @@ void Chttp2ServerListener::OnAccept(void* arg, grpc_endpoint* tcp,
// Orphaned, so as to avoid heap-use-after-free issues where `Ref()` is
// invoked when the listener is already shutdown. Note that the listener
// holds a ref to the tcp_server but this ref is given away when the
// listener is orphaned (shutdown).
// listener is orphaned (shutdown). A connection needs the tcp_server to
// outlast the handshake since the acceptor needs it.
if (self->tcp_server_ != nullptr) {
grpc_tcp_server_ref(self->tcp_server_);
}

@ -186,6 +186,18 @@ UPB_INLINE bool google_api_expr_v1alpha1_CheckedExpr_has_source_info(const googl
const upb_MiniTableField field = {5, UPB_SIZE(24, 40), 65, 3, 11, (int)kUpb_FieldMode_Scalar | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)};
return upb_Message_HasBaseField(UPB_UPCAST(msg), &field);
}
UPB_INLINE void google_api_expr_v1alpha1_CheckedExpr_clear_expr_version(google_api_expr_v1alpha1_CheckedExpr* msg) {
const upb_MiniTableField field = {6, UPB_SIZE(28, 48), 0, kUpb_NoSub, 9, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_StringView << kUpb_FieldRep_Shift)};
upb_Message_ClearBaseField(UPB_UPCAST(msg), &field);
}
UPB_INLINE upb_StringView google_api_expr_v1alpha1_CheckedExpr_expr_version(const google_api_expr_v1alpha1_CheckedExpr* msg) {
upb_StringView default_val = upb_StringView_FromString("");
upb_StringView ret;
const upb_MiniTableField field = {6, UPB_SIZE(28, 48), 0, kUpb_NoSub, 9, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_StringView << kUpb_FieldRep_Shift)};
_upb_Message_GetNonExtensionField(UPB_UPCAST(msg), &field,
&default_val, &ret);
return ret;
}
UPB_INLINE void google_api_expr_v1alpha1_CheckedExpr_reference_map_clear(google_api_expr_v1alpha1_CheckedExpr* msg) {
const upb_MiniTableField field = {2, UPB_SIZE(12, 16), 0, 0, 11, (int)kUpb_FieldMode_Map | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)};
@ -261,6 +273,10 @@ UPB_INLINE struct google_api_expr_v1alpha1_SourceInfo* google_api_expr_v1alpha1_
}
return sub;
}
UPB_INLINE void google_api_expr_v1alpha1_CheckedExpr_set_expr_version(google_api_expr_v1alpha1_CheckedExpr *msg, upb_StringView value) {
const upb_MiniTableField field = {6, UPB_SIZE(28, 48), 0, kUpb_NoSub, 9, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_StringView << kUpb_FieldRep_Shift)};
upb_Message_SetBaseField((upb_Message *)msg, &field, &value);
}
/* google.api.expr.v1alpha1.CheckedExpr.ReferenceMapEntry */

@ -22,20 +22,31 @@ static const upb_MiniTableSub google_api_expr_v1alpha1_CheckedExpr_submsgs[4] =
{.UPB_PRIVATE(submsg) = &google__api__expr__v1alpha1__SourceInfo_msg_init},
};
static const upb_MiniTableField google_api_expr_v1alpha1_CheckedExpr__fields[4] = {
static const upb_MiniTableField google_api_expr_v1alpha1_CheckedExpr__fields[5] = {
{2, UPB_SIZE(12, 16), 0, 0, 11, (int)kUpb_FieldMode_Map | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)},
{3, UPB_SIZE(16, 24), 0, 1, 11, (int)kUpb_FieldMode_Map | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)},
{4, UPB_SIZE(20, 32), 64, 2, 11, (int)kUpb_FieldMode_Scalar | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)},
{5, UPB_SIZE(24, 40), 65, 3, 11, (int)kUpb_FieldMode_Scalar | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)},
{6, UPB_SIZE(28, 48), 0, kUpb_NoSub, 9, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_StringView << kUpb_FieldRep_Shift)},
};
const upb_MiniTable google__api__expr__v1alpha1__CheckedExpr_msg_init = {
&google_api_expr_v1alpha1_CheckedExpr_submsgs[0],
&google_api_expr_v1alpha1_CheckedExpr__fields[0],
UPB_SIZE(32, 48), 4, kUpb_ExtMode_NonExtendable, 0, UPB_FASTTABLE_MASK(255), 0,
UPB_SIZE(40, 64), 5, kUpb_ExtMode_NonExtendable, 0, UPB_FASTTABLE_MASK(56), 0,
#ifdef UPB_TRACING_ENABLED
"google.api.expr.v1alpha1.CheckedExpr",
#endif
UPB_FASTTABLE_INIT({
{0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
{0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
{0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
{0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
{0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
{0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
{0x003000003f000032, &upb_pss_1bt},
{0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
})
};
static const upb_MiniTableSub google_api_expr_v1alpha1_CheckedExpr_ReferenceMapEntry_submsgs[1] = {

@ -34,12 +34,21 @@ typedef struct google_api_expr_v1alpha1_Expr_CreateStruct_Entry { upb_Message UP
typedef struct google_api_expr_v1alpha1_Expr_Comprehension { upb_Message UPB_PRIVATE(base); } google_api_expr_v1alpha1_Expr_Comprehension;
typedef struct google_api_expr_v1alpha1_Constant { upb_Message UPB_PRIVATE(base); } google_api_expr_v1alpha1_Constant;
typedef struct google_api_expr_v1alpha1_SourceInfo { upb_Message UPB_PRIVATE(base); } google_api_expr_v1alpha1_SourceInfo;
typedef struct google_api_expr_v1alpha1_SourceInfo_Extension { upb_Message UPB_PRIVATE(base); } google_api_expr_v1alpha1_SourceInfo_Extension;
typedef struct google_api_expr_v1alpha1_SourceInfo_Extension_Version { upb_Message UPB_PRIVATE(base); } google_api_expr_v1alpha1_SourceInfo_Extension_Version;
typedef struct google_api_expr_v1alpha1_SourceInfo_PositionsEntry { upb_Message UPB_PRIVATE(base); } google_api_expr_v1alpha1_SourceInfo_PositionsEntry;
typedef struct google_api_expr_v1alpha1_SourceInfo_MacroCallsEntry { upb_Message UPB_PRIVATE(base); } google_api_expr_v1alpha1_SourceInfo_MacroCallsEntry;
typedef struct google_api_expr_v1alpha1_SourcePosition { upb_Message UPB_PRIVATE(base); } google_api_expr_v1alpha1_SourcePosition;
struct google_protobuf_Duration;
struct google_protobuf_Timestamp;
typedef enum {
google_api_expr_v1alpha1_SourceInfo_Extension_COMPONENT_UNSPECIFIED = 0,
google_api_expr_v1alpha1_SourceInfo_Extension_COMPONENT_PARSER = 1,
google_api_expr_v1alpha1_SourceInfo_Extension_COMPONENT_TYPE_CHECKER = 2,
google_api_expr_v1alpha1_SourceInfo_Extension_COMPONENT_RUNTIME = 3
} google_api_expr_v1alpha1_SourceInfo_Extension_Component;
/* google.api.expr.v1alpha1.ParsedExpr */
@ -765,6 +774,38 @@ UPB_INLINE upb_Array* _google_api_expr_v1alpha1_Expr_CreateList_elements_mutable
}
return arr;
}
UPB_INLINE void google_api_expr_v1alpha1_Expr_CreateList_clear_optional_indices(google_api_expr_v1alpha1_Expr_CreateList* msg) {
const upb_MiniTableField field = {2, UPB_SIZE(12, 16), 0, kUpb_NoSub, 5, (int)kUpb_FieldMode_Array | (int)kUpb_LabelFlags_IsPacked | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)};
upb_Message_ClearBaseField(UPB_UPCAST(msg), &field);
}
UPB_INLINE int32_t const* google_api_expr_v1alpha1_Expr_CreateList_optional_indices(const google_api_expr_v1alpha1_Expr_CreateList* msg, size_t* size) {
const upb_MiniTableField field = {2, UPB_SIZE(12, 16), 0, kUpb_NoSub, 5, (int)kUpb_FieldMode_Array | (int)kUpb_LabelFlags_IsPacked | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)};
const upb_Array* arr = upb_Message_GetArray(UPB_UPCAST(msg), &field);
if (arr) {
if (size) *size = arr->UPB_PRIVATE(size);
return (int32_t const*)upb_Array_DataPtr(arr);
} else {
if (size) *size = 0;
return NULL;
}
}
UPB_INLINE const upb_Array* _google_api_expr_v1alpha1_Expr_CreateList_optional_indices_upb_array(const google_api_expr_v1alpha1_Expr_CreateList* msg, size_t* size) {
const upb_MiniTableField field = {2, UPB_SIZE(12, 16), 0, kUpb_NoSub, 5, (int)kUpb_FieldMode_Array | (int)kUpb_LabelFlags_IsPacked | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)};
const upb_Array* arr = upb_Message_GetArray(UPB_UPCAST(msg), &field);
if (size) {
*size = arr ? arr->UPB_PRIVATE(size) : 0;
}
return arr;
}
UPB_INLINE upb_Array* _google_api_expr_v1alpha1_Expr_CreateList_optional_indices_mutable_upb_array(google_api_expr_v1alpha1_Expr_CreateList* msg, size_t* size, upb_Arena* arena) {
const upb_MiniTableField field = {2, UPB_SIZE(12, 16), 0, kUpb_NoSub, 5, (int)kUpb_FieldMode_Array | (int)kUpb_LabelFlags_IsPacked | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)};
upb_Array* arr = upb_Message_GetOrCreateMutableArray(UPB_UPCAST(msg),
&field, arena);
if (size) {
*size = arr ? arr->UPB_PRIVATE(size) : 0;
}
return arr;
}
UPB_INLINE google_api_expr_v1alpha1_Expr** google_api_expr_v1alpha1_Expr_CreateList_mutable_elements(google_api_expr_v1alpha1_Expr_CreateList* msg, size_t* size) {
upb_MiniTableField field = {1, 8, 0, 0, 11, (int)kUpb_FieldMode_Array | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)};
@ -796,6 +837,34 @@ UPB_INLINE struct google_api_expr_v1alpha1_Expr* google_api_expr_v1alpha1_Expr_C
(arr, arr->UPB_PRIVATE(size) - 1, &sub, sizeof(sub));
return sub;
}
UPB_INLINE int32_t* google_api_expr_v1alpha1_Expr_CreateList_mutable_optional_indices(google_api_expr_v1alpha1_Expr_CreateList* msg, size_t* size) {
upb_MiniTableField field = {2, UPB_SIZE(12, 16), 0, kUpb_NoSub, 5, (int)kUpb_FieldMode_Array | (int)kUpb_LabelFlags_IsPacked | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)};
upb_Array* arr = upb_Message_GetMutableArray(UPB_UPCAST(msg), &field);
if (arr) {
if (size) *size = arr->UPB_PRIVATE(size);
return (int32_t*)upb_Array_MutableDataPtr(arr);
} else {
if (size) *size = 0;
return NULL;
}
}
UPB_INLINE int32_t* google_api_expr_v1alpha1_Expr_CreateList_resize_optional_indices(google_api_expr_v1alpha1_Expr_CreateList* msg, size_t size, upb_Arena* arena) {
upb_MiniTableField field = {2, UPB_SIZE(12, 16), 0, kUpb_NoSub, 5, (int)kUpb_FieldMode_Array | (int)kUpb_LabelFlags_IsPacked | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)};
return (int32_t*)upb_Message_ResizeArrayUninitialized(UPB_UPCAST(msg),
&field, size, arena);
}
UPB_INLINE bool google_api_expr_v1alpha1_Expr_CreateList_add_optional_indices(google_api_expr_v1alpha1_Expr_CreateList* msg, int32_t val, upb_Arena* arena) {
upb_MiniTableField field = {2, UPB_SIZE(12, 16), 0, kUpb_NoSub, 5, (int)kUpb_FieldMode_Array | (int)kUpb_LabelFlags_IsPacked | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)};
upb_Array* arr = upb_Message_GetOrCreateMutableArray(
UPB_UPCAST(msg), &field, arena);
if (!arr || !UPB_PRIVATE(_upb_Array_ResizeUninitialized)(
arr, arr->UPB_PRIVATE(size) + 1, arena)) {
return false;
}
UPB_PRIVATE(_upb_Array_Set)
(arr, arr->UPB_PRIVATE(size) - 1, &val, sizeof(val));
return true;
}
/* google.api.expr.v1alpha1.Expr.CreateStruct */
@ -955,81 +1024,93 @@ typedef enum {
google_api_expr_v1alpha1_Expr_CreateStruct_Entry_key_kind_NOT_SET = 0
} google_api_expr_v1alpha1_Expr_CreateStruct_Entry_key_kind_oneofcases;
UPB_INLINE google_api_expr_v1alpha1_Expr_CreateStruct_Entry_key_kind_oneofcases google_api_expr_v1alpha1_Expr_CreateStruct_Entry_key_kind_case(const google_api_expr_v1alpha1_Expr_CreateStruct_Entry* msg) {
const upb_MiniTableField field = {2, UPB_SIZE(20, 16), -13, kUpb_NoSub, 9, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_StringView << kUpb_FieldRep_Shift)};
const upb_MiniTableField field = {2, 24, -13, kUpb_NoSub, 9, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_StringView << kUpb_FieldRep_Shift)};
return (google_api_expr_v1alpha1_Expr_CreateStruct_Entry_key_kind_oneofcases)upb_Message_WhichOneofFieldNumber(
UPB_UPCAST(msg), &field);
}
UPB_INLINE void google_api_expr_v1alpha1_Expr_CreateStruct_Entry_clear_id(google_api_expr_v1alpha1_Expr_CreateStruct_Entry* msg) {
const upb_MiniTableField field = {1, 32, 0, kUpb_NoSub, 3, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_8Byte << kUpb_FieldRep_Shift)};
const upb_MiniTableField field = {1, UPB_SIZE(32, 40), 0, kUpb_NoSub, 3, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_8Byte << kUpb_FieldRep_Shift)};
upb_Message_ClearBaseField(UPB_UPCAST(msg), &field);
}
UPB_INLINE int64_t google_api_expr_v1alpha1_Expr_CreateStruct_Entry_id(const google_api_expr_v1alpha1_Expr_CreateStruct_Entry* msg) {
int64_t default_val = (int64_t)0ll;
int64_t ret;
const upb_MiniTableField field = {1, 32, 0, kUpb_NoSub, 3, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_8Byte << kUpb_FieldRep_Shift)};
const upb_MiniTableField field = {1, UPB_SIZE(32, 40), 0, kUpb_NoSub, 3, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_8Byte << kUpb_FieldRep_Shift)};
_upb_Message_GetNonExtensionField(UPB_UPCAST(msg), &field,
&default_val, &ret);
return ret;
}
UPB_INLINE void google_api_expr_v1alpha1_Expr_CreateStruct_Entry_clear_field_key(google_api_expr_v1alpha1_Expr_CreateStruct_Entry* msg) {
const upb_MiniTableField field = {2, UPB_SIZE(20, 16), -13, kUpb_NoSub, 9, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_StringView << kUpb_FieldRep_Shift)};
const upb_MiniTableField field = {2, 24, -13, kUpb_NoSub, 9, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_StringView << kUpb_FieldRep_Shift)};
upb_Message_ClearBaseField(UPB_UPCAST(msg), &field);
}
UPB_INLINE upb_StringView google_api_expr_v1alpha1_Expr_CreateStruct_Entry_field_key(const google_api_expr_v1alpha1_Expr_CreateStruct_Entry* msg) {
upb_StringView default_val = upb_StringView_FromString("");
upb_StringView ret;
const upb_MiniTableField field = {2, UPB_SIZE(20, 16), -13, kUpb_NoSub, 9, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_StringView << kUpb_FieldRep_Shift)};
const upb_MiniTableField field = {2, 24, -13, kUpb_NoSub, 9, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_StringView << kUpb_FieldRep_Shift)};
_upb_Message_GetNonExtensionField(UPB_UPCAST(msg), &field,
&default_val, &ret);
return ret;
}
UPB_INLINE bool google_api_expr_v1alpha1_Expr_CreateStruct_Entry_has_field_key(const google_api_expr_v1alpha1_Expr_CreateStruct_Entry* msg) {
const upb_MiniTableField field = {2, UPB_SIZE(20, 16), -13, kUpb_NoSub, 9, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_StringView << kUpb_FieldRep_Shift)};
const upb_MiniTableField field = {2, 24, -13, kUpb_NoSub, 9, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_StringView << kUpb_FieldRep_Shift)};
return upb_Message_HasBaseField(UPB_UPCAST(msg), &field);
}
UPB_INLINE void google_api_expr_v1alpha1_Expr_CreateStruct_Entry_clear_map_key(google_api_expr_v1alpha1_Expr_CreateStruct_Entry* msg) {
const upb_MiniTableField field = {3, UPB_SIZE(20, 16), -13, 0, 11, (int)kUpb_FieldMode_Scalar | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)};
const upb_MiniTableField field = {3, 24, -13, 0, 11, (int)kUpb_FieldMode_Scalar | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)};
upb_Message_ClearBaseField(UPB_UPCAST(msg), &field);
}
UPB_INLINE const google_api_expr_v1alpha1_Expr* google_api_expr_v1alpha1_Expr_CreateStruct_Entry_map_key(const google_api_expr_v1alpha1_Expr_CreateStruct_Entry* msg) {
const google_api_expr_v1alpha1_Expr* default_val = NULL;
const google_api_expr_v1alpha1_Expr* ret;
const upb_MiniTableField field = {3, UPB_SIZE(20, 16), -13, 0, 11, (int)kUpb_FieldMode_Scalar | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)};
const upb_MiniTableField field = {3, 24, -13, 0, 11, (int)kUpb_FieldMode_Scalar | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)};
_upb_Message_GetNonExtensionField(UPB_UPCAST(msg), &field,
&default_val, &ret);
return ret;
}
UPB_INLINE bool google_api_expr_v1alpha1_Expr_CreateStruct_Entry_has_map_key(const google_api_expr_v1alpha1_Expr_CreateStruct_Entry* msg) {
const upb_MiniTableField field = {3, UPB_SIZE(20, 16), -13, 0, 11, (int)kUpb_FieldMode_Scalar | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)};
const upb_MiniTableField field = {3, 24, -13, 0, 11, (int)kUpb_FieldMode_Scalar | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)};
return upb_Message_HasBaseField(UPB_UPCAST(msg), &field);
}
UPB_INLINE void google_api_expr_v1alpha1_Expr_CreateStruct_Entry_clear_value(google_api_expr_v1alpha1_Expr_CreateStruct_Entry* msg) {
const upb_MiniTableField field = {4, UPB_SIZE(16, 40), 64, 1, 11, (int)kUpb_FieldMode_Scalar | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)};
const upb_MiniTableField field = {4, UPB_SIZE(16, 48), 64, 1, 11, (int)kUpb_FieldMode_Scalar | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)};
upb_Message_ClearBaseField(UPB_UPCAST(msg), &field);
}
UPB_INLINE const google_api_expr_v1alpha1_Expr* google_api_expr_v1alpha1_Expr_CreateStruct_Entry_value(const google_api_expr_v1alpha1_Expr_CreateStruct_Entry* msg) {
const google_api_expr_v1alpha1_Expr* default_val = NULL;
const google_api_expr_v1alpha1_Expr* ret;
const upb_MiniTableField field = {4, UPB_SIZE(16, 40), 64, 1, 11, (int)kUpb_FieldMode_Scalar | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)};
const upb_MiniTableField field = {4, UPB_SIZE(16, 48), 64, 1, 11, (int)kUpb_FieldMode_Scalar | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)};
_upb_Message_GetNonExtensionField(UPB_UPCAST(msg), &field,
&default_val, &ret);
return ret;
}
UPB_INLINE bool google_api_expr_v1alpha1_Expr_CreateStruct_Entry_has_value(const google_api_expr_v1alpha1_Expr_CreateStruct_Entry* msg) {
const upb_MiniTableField field = {4, UPB_SIZE(16, 40), 64, 1, 11, (int)kUpb_FieldMode_Scalar | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)};
const upb_MiniTableField field = {4, UPB_SIZE(16, 48), 64, 1, 11, (int)kUpb_FieldMode_Scalar | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)};
return upb_Message_HasBaseField(UPB_UPCAST(msg), &field);
}
UPB_INLINE void google_api_expr_v1alpha1_Expr_CreateStruct_Entry_clear_optional_entry(google_api_expr_v1alpha1_Expr_CreateStruct_Entry* msg) {
const upb_MiniTableField field = {5, UPB_SIZE(20, 16), 0, kUpb_NoSub, 8, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_1Byte << kUpb_FieldRep_Shift)};
upb_Message_ClearBaseField(UPB_UPCAST(msg), &field);
}
UPB_INLINE bool google_api_expr_v1alpha1_Expr_CreateStruct_Entry_optional_entry(const google_api_expr_v1alpha1_Expr_CreateStruct_Entry* msg) {
bool default_val = false;
bool ret;
const upb_MiniTableField field = {5, UPB_SIZE(20, 16), 0, kUpb_NoSub, 8, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_1Byte << kUpb_FieldRep_Shift)};
_upb_Message_GetNonExtensionField(UPB_UPCAST(msg), &field,
&default_val, &ret);
return ret;
}
UPB_INLINE void google_api_expr_v1alpha1_Expr_CreateStruct_Entry_set_id(google_api_expr_v1alpha1_Expr_CreateStruct_Entry *msg, int64_t value) {
const upb_MiniTableField field = {1, 32, 0, kUpb_NoSub, 3, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_8Byte << kUpb_FieldRep_Shift)};
const upb_MiniTableField field = {1, UPB_SIZE(32, 40), 0, kUpb_NoSub, 3, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_8Byte << kUpb_FieldRep_Shift)};
upb_Message_SetBaseField((upb_Message *)msg, &field, &value);
}
UPB_INLINE void google_api_expr_v1alpha1_Expr_CreateStruct_Entry_set_field_key(google_api_expr_v1alpha1_Expr_CreateStruct_Entry *msg, upb_StringView value) {
const upb_MiniTableField field = {2, UPB_SIZE(20, 16), -13, kUpb_NoSub, 9, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_StringView << kUpb_FieldRep_Shift)};
const upb_MiniTableField field = {2, 24, -13, kUpb_NoSub, 9, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_StringView << kUpb_FieldRep_Shift)};
upb_Message_SetBaseField((upb_Message *)msg, &field, &value);
}
UPB_INLINE void google_api_expr_v1alpha1_Expr_CreateStruct_Entry_set_map_key(google_api_expr_v1alpha1_Expr_CreateStruct_Entry *msg, google_api_expr_v1alpha1_Expr* value) {
const upb_MiniTableField field = {3, UPB_SIZE(20, 16), -13, 0, 11, (int)kUpb_FieldMode_Scalar | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)};
const upb_MiniTableField field = {3, 24, -13, 0, 11, (int)kUpb_FieldMode_Scalar | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)};
upb_Message_SetBaseField((upb_Message *)msg, &field, &value);
}
UPB_INLINE struct google_api_expr_v1alpha1_Expr* google_api_expr_v1alpha1_Expr_CreateStruct_Entry_mutable_map_key(google_api_expr_v1alpha1_Expr_CreateStruct_Entry* msg, upb_Arena* arena) {
@ -1041,7 +1122,7 @@ UPB_INLINE struct google_api_expr_v1alpha1_Expr* google_api_expr_v1alpha1_Expr_C
return sub;
}
UPB_INLINE void google_api_expr_v1alpha1_Expr_CreateStruct_Entry_set_value(google_api_expr_v1alpha1_Expr_CreateStruct_Entry *msg, google_api_expr_v1alpha1_Expr* value) {
const upb_MiniTableField field = {4, UPB_SIZE(16, 40), 64, 1, 11, (int)kUpb_FieldMode_Scalar | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)};
const upb_MiniTableField field = {4, UPB_SIZE(16, 48), 64, 1, 11, (int)kUpb_FieldMode_Scalar | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)};
upb_Message_SetBaseField((upb_Message *)msg, &field, &value);
}
UPB_INLINE struct google_api_expr_v1alpha1_Expr* google_api_expr_v1alpha1_Expr_CreateStruct_Entry_mutable_value(google_api_expr_v1alpha1_Expr_CreateStruct_Entry* msg, upb_Arena* arena) {
@ -1052,6 +1133,10 @@ UPB_INLINE struct google_api_expr_v1alpha1_Expr* google_api_expr_v1alpha1_Expr_C
}
return sub;
}
UPB_INLINE void google_api_expr_v1alpha1_Expr_CreateStruct_Entry_set_optional_entry(google_api_expr_v1alpha1_Expr_CreateStruct_Entry *msg, bool value) {
const upb_MiniTableField field = {5, UPB_SIZE(20, 16), 0, kUpb_NoSub, 8, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_1Byte << kUpb_FieldRep_Shift)};
upb_Message_SetBaseField((upb_Message *)msg, &field, &value);
}
/* google.api.expr.v1alpha1.Expr.Comprehension */
@ -1193,6 +1278,18 @@ UPB_INLINE bool google_api_expr_v1alpha1_Expr_Comprehension_has_result(const goo
const upb_MiniTableField field = {7, UPB_SIZE(28, 80), 68, 4, 11, (int)kUpb_FieldMode_Scalar | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)};
return upb_Message_HasBaseField(UPB_UPCAST(msg), &field);
}
UPB_INLINE void google_api_expr_v1alpha1_Expr_Comprehension_clear_iter_var2(google_api_expr_v1alpha1_Expr_Comprehension* msg) {
const upb_MiniTableField field = {8, UPB_SIZE(48, 88), 0, kUpb_NoSub, 9, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_StringView << kUpb_FieldRep_Shift)};
upb_Message_ClearBaseField(UPB_UPCAST(msg), &field);
}
UPB_INLINE upb_StringView google_api_expr_v1alpha1_Expr_Comprehension_iter_var2(const google_api_expr_v1alpha1_Expr_Comprehension* msg) {
upb_StringView default_val = upb_StringView_FromString("");
upb_StringView ret;
const upb_MiniTableField field = {8, UPB_SIZE(48, 88), 0, kUpb_NoSub, 9, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_StringView << kUpb_FieldRep_Shift)};
_upb_Message_GetNonExtensionField(UPB_UPCAST(msg), &field,
&default_val, &ret);
return ret;
}
UPB_INLINE void google_api_expr_v1alpha1_Expr_Comprehension_set_iter_var(google_api_expr_v1alpha1_Expr_Comprehension *msg, upb_StringView value) {
const upb_MiniTableField field = {1, UPB_SIZE(32, 16), 0, kUpb_NoSub, 9, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_StringView << kUpb_FieldRep_Shift)};
@ -1262,6 +1359,10 @@ UPB_INLINE struct google_api_expr_v1alpha1_Expr* google_api_expr_v1alpha1_Expr_C
}
return sub;
}
UPB_INLINE void google_api_expr_v1alpha1_Expr_Comprehension_set_iter_var2(google_api_expr_v1alpha1_Expr_Comprehension *msg, upb_StringView value) {
const upb_MiniTableField field = {8, UPB_SIZE(48, 88), 0, kUpb_NoSub, 9, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_StringView << kUpb_FieldRep_Shift)};
upb_Message_SetBaseField((upb_Message *)msg, &field, &value);
}
/* google.api.expr.v1alpha1.Constant */
@ -1551,25 +1652,25 @@ UPB_INLINE char* google_api_expr_v1alpha1_SourceInfo_serialize_ex(const google_a
return ptr;
}
UPB_INLINE void google_api_expr_v1alpha1_SourceInfo_clear_syntax_version(google_api_expr_v1alpha1_SourceInfo* msg) {
const upb_MiniTableField field = {1, UPB_SIZE(20, 8), 0, kUpb_NoSub, 9, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_StringView << kUpb_FieldRep_Shift)};
const upb_MiniTableField field = {1, UPB_SIZE(24, 8), 0, kUpb_NoSub, 9, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_StringView << kUpb_FieldRep_Shift)};
upb_Message_ClearBaseField(UPB_UPCAST(msg), &field);
}
UPB_INLINE upb_StringView google_api_expr_v1alpha1_SourceInfo_syntax_version(const google_api_expr_v1alpha1_SourceInfo* msg) {
upb_StringView default_val = upb_StringView_FromString("");
upb_StringView ret;
const upb_MiniTableField field = {1, UPB_SIZE(20, 8), 0, kUpb_NoSub, 9, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_StringView << kUpb_FieldRep_Shift)};
const upb_MiniTableField field = {1, UPB_SIZE(24, 8), 0, kUpb_NoSub, 9, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_StringView << kUpb_FieldRep_Shift)};
_upb_Message_GetNonExtensionField(UPB_UPCAST(msg), &field,
&default_val, &ret);
return ret;
}
UPB_INLINE void google_api_expr_v1alpha1_SourceInfo_clear_location(google_api_expr_v1alpha1_SourceInfo* msg) {
const upb_MiniTableField field = {2, UPB_SIZE(28, 24), 0, kUpb_NoSub, 9, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_StringView << kUpb_FieldRep_Shift)};
const upb_MiniTableField field = {2, UPB_SIZE(32, 24), 0, kUpb_NoSub, 9, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_StringView << kUpb_FieldRep_Shift)};
upb_Message_ClearBaseField(UPB_UPCAST(msg), &field);
}
UPB_INLINE upb_StringView google_api_expr_v1alpha1_SourceInfo_location(const google_api_expr_v1alpha1_SourceInfo* msg) {
upb_StringView default_val = upb_StringView_FromString("");
upb_StringView ret;
const upb_MiniTableField field = {2, UPB_SIZE(28, 24), 0, kUpb_NoSub, 9, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_StringView << kUpb_FieldRep_Shift)};
const upb_MiniTableField field = {2, UPB_SIZE(32, 24), 0, kUpb_NoSub, 9, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_StringView << kUpb_FieldRep_Shift)};
_upb_Message_GetNonExtensionField(UPB_UPCAST(msg), &field,
&default_val, &ret);
return ret;
@ -1664,13 +1765,45 @@ UPB_INLINE upb_Map* _google_api_expr_v1alpha1_SourceInfo_macro_calls_mutable_upb
const upb_MiniTableField field = {5, UPB_SIZE(16, 56), 0, 1, 11, (int)kUpb_FieldMode_Map | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)};
return _upb_Message_GetOrCreateMutableMap(UPB_UPCAST(msg), &field, sizeof(int64_t), sizeof(google_api_expr_v1alpha1_Expr*), a);
}
UPB_INLINE void google_api_expr_v1alpha1_SourceInfo_clear_extensions(google_api_expr_v1alpha1_SourceInfo* msg) {
const upb_MiniTableField field = {6, UPB_SIZE(20, 64), 0, 2, 11, (int)kUpb_FieldMode_Array | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)};
upb_Message_ClearBaseField(UPB_UPCAST(msg), &field);
}
UPB_INLINE const google_api_expr_v1alpha1_SourceInfo_Extension* const* google_api_expr_v1alpha1_SourceInfo_extensions(const google_api_expr_v1alpha1_SourceInfo* msg, size_t* size) {
const upb_MiniTableField field = {6, UPB_SIZE(20, 64), 0, 2, 11, (int)kUpb_FieldMode_Array | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)};
const upb_Array* arr = upb_Message_GetArray(UPB_UPCAST(msg), &field);
if (arr) {
if (size) *size = arr->UPB_PRIVATE(size);
return (const google_api_expr_v1alpha1_SourceInfo_Extension* const*)upb_Array_DataPtr(arr);
} else {
if (size) *size = 0;
return NULL;
}
}
UPB_INLINE const upb_Array* _google_api_expr_v1alpha1_SourceInfo_extensions_upb_array(const google_api_expr_v1alpha1_SourceInfo* msg, size_t* size) {
const upb_MiniTableField field = {6, UPB_SIZE(20, 64), 0, 2, 11, (int)kUpb_FieldMode_Array | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)};
const upb_Array* arr = upb_Message_GetArray(UPB_UPCAST(msg), &field);
if (size) {
*size = arr ? arr->UPB_PRIVATE(size) : 0;
}
return arr;
}
UPB_INLINE upb_Array* _google_api_expr_v1alpha1_SourceInfo_extensions_mutable_upb_array(google_api_expr_v1alpha1_SourceInfo* msg, size_t* size, upb_Arena* arena) {
const upb_MiniTableField field = {6, UPB_SIZE(20, 64), 0, 2, 11, (int)kUpb_FieldMode_Array | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)};
upb_Array* arr = upb_Message_GetOrCreateMutableArray(UPB_UPCAST(msg),
&field, arena);
if (size) {
*size = arr ? arr->UPB_PRIVATE(size) : 0;
}
return arr;
}
UPB_INLINE void google_api_expr_v1alpha1_SourceInfo_set_syntax_version(google_api_expr_v1alpha1_SourceInfo *msg, upb_StringView value) {
const upb_MiniTableField field = {1, UPB_SIZE(20, 8), 0, kUpb_NoSub, 9, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_StringView << kUpb_FieldRep_Shift)};
const upb_MiniTableField field = {1, UPB_SIZE(24, 8), 0, kUpb_NoSub, 9, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_StringView << kUpb_FieldRep_Shift)};
upb_Message_SetBaseField((upb_Message *)msg, &field, &value);
}
UPB_INLINE void google_api_expr_v1alpha1_SourceInfo_set_location(google_api_expr_v1alpha1_SourceInfo *msg, upb_StringView value) {
const upb_MiniTableField field = {2, UPB_SIZE(28, 24), 0, kUpb_NoSub, 9, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_StringView << kUpb_FieldRep_Shift)};
const upb_MiniTableField field = {2, UPB_SIZE(32, 24), 0, kUpb_NoSub, 9, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_StringView << kUpb_FieldRep_Shift)};
upb_Message_SetBaseField((upb_Message *)msg, &field, &value);
}
UPB_INLINE int32_t* google_api_expr_v1alpha1_SourceInfo_mutable_line_offsets(google_api_expr_v1alpha1_SourceInfo* msg, size_t* size) {
@ -1751,6 +1884,248 @@ UPB_INLINE google_api_expr_v1alpha1_SourceInfo_MacroCallsEntry* google_api_expr_
if (!map) return NULL;
return (google_api_expr_v1alpha1_SourceInfo_MacroCallsEntry*)_upb_map_next(map, iter);
}
UPB_INLINE google_api_expr_v1alpha1_SourceInfo_Extension** google_api_expr_v1alpha1_SourceInfo_mutable_extensions(google_api_expr_v1alpha1_SourceInfo* msg, size_t* size) {
upb_MiniTableField field = {6, UPB_SIZE(20, 64), 0, 2, 11, (int)kUpb_FieldMode_Array | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)};
upb_Array* arr = upb_Message_GetMutableArray(UPB_UPCAST(msg), &field);
if (arr) {
if (size) *size = arr->UPB_PRIVATE(size);
return (google_api_expr_v1alpha1_SourceInfo_Extension**)upb_Array_MutableDataPtr(arr);
} else {
if (size) *size = 0;
return NULL;
}
}
UPB_INLINE google_api_expr_v1alpha1_SourceInfo_Extension** google_api_expr_v1alpha1_SourceInfo_resize_extensions(google_api_expr_v1alpha1_SourceInfo* msg, size_t size, upb_Arena* arena) {
upb_MiniTableField field = {6, UPB_SIZE(20, 64), 0, 2, 11, (int)kUpb_FieldMode_Array | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)};
return (google_api_expr_v1alpha1_SourceInfo_Extension**)upb_Message_ResizeArrayUninitialized(UPB_UPCAST(msg),
&field, size, arena);
}
UPB_INLINE struct google_api_expr_v1alpha1_SourceInfo_Extension* google_api_expr_v1alpha1_SourceInfo_add_extensions(google_api_expr_v1alpha1_SourceInfo* msg, upb_Arena* arena) {
upb_MiniTableField field = {6, UPB_SIZE(20, 64), 0, 2, 11, (int)kUpb_FieldMode_Array | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)};
upb_Array* arr = upb_Message_GetOrCreateMutableArray(
UPB_UPCAST(msg), &field, arena);
if (!arr || !UPB_PRIVATE(_upb_Array_ResizeUninitialized)(
arr, arr->UPB_PRIVATE(size) + 1, arena)) {
return NULL;
}
struct google_api_expr_v1alpha1_SourceInfo_Extension* sub = (struct google_api_expr_v1alpha1_SourceInfo_Extension*)_upb_Message_New(&google__api__expr__v1alpha1__SourceInfo__Extension_msg_init, arena);
if (!arr || !sub) return NULL;
UPB_PRIVATE(_upb_Array_Set)
(arr, arr->UPB_PRIVATE(size) - 1, &sub, sizeof(sub));
return sub;
}
/* google.api.expr.v1alpha1.SourceInfo.Extension */
UPB_INLINE google_api_expr_v1alpha1_SourceInfo_Extension* google_api_expr_v1alpha1_SourceInfo_Extension_new(upb_Arena* arena) {
return (google_api_expr_v1alpha1_SourceInfo_Extension*)_upb_Message_New(&google__api__expr__v1alpha1__SourceInfo__Extension_msg_init, arena);
}
UPB_INLINE google_api_expr_v1alpha1_SourceInfo_Extension* google_api_expr_v1alpha1_SourceInfo_Extension_parse(const char* buf, size_t size, upb_Arena* arena) {
google_api_expr_v1alpha1_SourceInfo_Extension* ret = google_api_expr_v1alpha1_SourceInfo_Extension_new(arena);
if (!ret) return NULL;
if (upb_Decode(buf, size, UPB_UPCAST(ret), &google__api__expr__v1alpha1__SourceInfo__Extension_msg_init, NULL, 0, arena) !=
kUpb_DecodeStatus_Ok) {
return NULL;
}
return ret;
}
UPB_INLINE google_api_expr_v1alpha1_SourceInfo_Extension* google_api_expr_v1alpha1_SourceInfo_Extension_parse_ex(const char* buf, size_t size,
const upb_ExtensionRegistry* extreg,
int options, upb_Arena* arena) {
google_api_expr_v1alpha1_SourceInfo_Extension* ret = google_api_expr_v1alpha1_SourceInfo_Extension_new(arena);
if (!ret) return NULL;
if (upb_Decode(buf, size, UPB_UPCAST(ret), &google__api__expr__v1alpha1__SourceInfo__Extension_msg_init, extreg, options,
arena) != kUpb_DecodeStatus_Ok) {
return NULL;
}
return ret;
}
UPB_INLINE char* google_api_expr_v1alpha1_SourceInfo_Extension_serialize(const google_api_expr_v1alpha1_SourceInfo_Extension* msg, upb_Arena* arena, size_t* len) {
char* ptr;
(void)upb_Encode(UPB_UPCAST(msg), &google__api__expr__v1alpha1__SourceInfo__Extension_msg_init, 0, arena, &ptr, len);
return ptr;
}
UPB_INLINE char* google_api_expr_v1alpha1_SourceInfo_Extension_serialize_ex(const google_api_expr_v1alpha1_SourceInfo_Extension* msg, int options,
upb_Arena* arena, size_t* len) {
char* ptr;
(void)upb_Encode(UPB_UPCAST(msg), &google__api__expr__v1alpha1__SourceInfo__Extension_msg_init, options, arena, &ptr, len);
return ptr;
}
UPB_INLINE void google_api_expr_v1alpha1_SourceInfo_Extension_clear_id(google_api_expr_v1alpha1_SourceInfo_Extension* msg) {
const upb_MiniTableField field = {1, UPB_SIZE(20, 16), 0, kUpb_NoSub, 9, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_StringView << kUpb_FieldRep_Shift)};
upb_Message_ClearBaseField(UPB_UPCAST(msg), &field);
}
UPB_INLINE upb_StringView google_api_expr_v1alpha1_SourceInfo_Extension_id(const google_api_expr_v1alpha1_SourceInfo_Extension* msg) {
upb_StringView default_val = upb_StringView_FromString("");
upb_StringView ret;
const upb_MiniTableField field = {1, UPB_SIZE(20, 16), 0, kUpb_NoSub, 9, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_StringView << kUpb_FieldRep_Shift)};
_upb_Message_GetNonExtensionField(UPB_UPCAST(msg), &field,
&default_val, &ret);
return ret;
}
UPB_INLINE void google_api_expr_v1alpha1_SourceInfo_Extension_clear_affected_components(google_api_expr_v1alpha1_SourceInfo_Extension* msg) {
const upb_MiniTableField field = {2, UPB_SIZE(12, 32), 0, kUpb_NoSub, 5, (int)kUpb_FieldMode_Array | (int)kUpb_LabelFlags_IsPacked | (int)kUpb_LabelFlags_IsAlternate | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)};
upb_Message_ClearBaseField(UPB_UPCAST(msg), &field);
}
UPB_INLINE int32_t const* google_api_expr_v1alpha1_SourceInfo_Extension_affected_components(const google_api_expr_v1alpha1_SourceInfo_Extension* msg, size_t* size) {
const upb_MiniTableField field = {2, UPB_SIZE(12, 32), 0, kUpb_NoSub, 5, (int)kUpb_FieldMode_Array | (int)kUpb_LabelFlags_IsPacked | (int)kUpb_LabelFlags_IsAlternate | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)};
const upb_Array* arr = upb_Message_GetArray(UPB_UPCAST(msg), &field);
if (arr) {
if (size) *size = arr->UPB_PRIVATE(size);
return (int32_t const*)upb_Array_DataPtr(arr);
} else {
if (size) *size = 0;
return NULL;
}
}
UPB_INLINE const upb_Array* _google_api_expr_v1alpha1_SourceInfo_Extension_affected_components_upb_array(const google_api_expr_v1alpha1_SourceInfo_Extension* msg, size_t* size) {
const upb_MiniTableField field = {2, UPB_SIZE(12, 32), 0, kUpb_NoSub, 5, (int)kUpb_FieldMode_Array | (int)kUpb_LabelFlags_IsPacked | (int)kUpb_LabelFlags_IsAlternate | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)};
const upb_Array* arr = upb_Message_GetArray(UPB_UPCAST(msg), &field);
if (size) {
*size = arr ? arr->UPB_PRIVATE(size) : 0;
}
return arr;
}
UPB_INLINE upb_Array* _google_api_expr_v1alpha1_SourceInfo_Extension_affected_components_mutable_upb_array(google_api_expr_v1alpha1_SourceInfo_Extension* msg, size_t* size, upb_Arena* arena) {
const upb_MiniTableField field = {2, UPB_SIZE(12, 32), 0, kUpb_NoSub, 5, (int)kUpb_FieldMode_Array | (int)kUpb_LabelFlags_IsPacked | (int)kUpb_LabelFlags_IsAlternate | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)};
upb_Array* arr = upb_Message_GetOrCreateMutableArray(UPB_UPCAST(msg),
&field, arena);
if (size) {
*size = arr ? arr->UPB_PRIVATE(size) : 0;
}
return arr;
}
UPB_INLINE void google_api_expr_v1alpha1_SourceInfo_Extension_clear_version(google_api_expr_v1alpha1_SourceInfo_Extension* msg) {
const upb_MiniTableField field = {3, UPB_SIZE(16, 40), 64, 0, 11, (int)kUpb_FieldMode_Scalar | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)};
upb_Message_ClearBaseField(UPB_UPCAST(msg), &field);
}
UPB_INLINE const google_api_expr_v1alpha1_SourceInfo_Extension_Version* google_api_expr_v1alpha1_SourceInfo_Extension_version(const google_api_expr_v1alpha1_SourceInfo_Extension* msg) {
const google_api_expr_v1alpha1_SourceInfo_Extension_Version* default_val = NULL;
const google_api_expr_v1alpha1_SourceInfo_Extension_Version* ret;
const upb_MiniTableField field = {3, UPB_SIZE(16, 40), 64, 0, 11, (int)kUpb_FieldMode_Scalar | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)};
_upb_Message_GetNonExtensionField(UPB_UPCAST(msg), &field,
&default_val, &ret);
return ret;
}
UPB_INLINE bool google_api_expr_v1alpha1_SourceInfo_Extension_has_version(const google_api_expr_v1alpha1_SourceInfo_Extension* msg) {
const upb_MiniTableField field = {3, UPB_SIZE(16, 40), 64, 0, 11, (int)kUpb_FieldMode_Scalar | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)};
return upb_Message_HasBaseField(UPB_UPCAST(msg), &field);
}
UPB_INLINE void google_api_expr_v1alpha1_SourceInfo_Extension_set_id(google_api_expr_v1alpha1_SourceInfo_Extension *msg, upb_StringView value) {
const upb_MiniTableField field = {1, UPB_SIZE(20, 16), 0, kUpb_NoSub, 9, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_StringView << kUpb_FieldRep_Shift)};
upb_Message_SetBaseField((upb_Message *)msg, &field, &value);
}
UPB_INLINE int32_t* google_api_expr_v1alpha1_SourceInfo_Extension_mutable_affected_components(google_api_expr_v1alpha1_SourceInfo_Extension* msg, size_t* size) {
upb_MiniTableField field = {2, UPB_SIZE(12, 32), 0, kUpb_NoSub, 5, (int)kUpb_FieldMode_Array | (int)kUpb_LabelFlags_IsPacked | (int)kUpb_LabelFlags_IsAlternate | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)};
upb_Array* arr = upb_Message_GetMutableArray(UPB_UPCAST(msg), &field);
if (arr) {
if (size) *size = arr->UPB_PRIVATE(size);
return (int32_t*)upb_Array_MutableDataPtr(arr);
} else {
if (size) *size = 0;
return NULL;
}
}
UPB_INLINE int32_t* google_api_expr_v1alpha1_SourceInfo_Extension_resize_affected_components(google_api_expr_v1alpha1_SourceInfo_Extension* msg, size_t size, upb_Arena* arena) {
upb_MiniTableField field = {2, UPB_SIZE(12, 32), 0, kUpb_NoSub, 5, (int)kUpb_FieldMode_Array | (int)kUpb_LabelFlags_IsPacked | (int)kUpb_LabelFlags_IsAlternate | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)};
return (int32_t*)upb_Message_ResizeArrayUninitialized(UPB_UPCAST(msg),
&field, size, arena);
}
UPB_INLINE bool google_api_expr_v1alpha1_SourceInfo_Extension_add_affected_components(google_api_expr_v1alpha1_SourceInfo_Extension* msg, int32_t val, upb_Arena* arena) {
upb_MiniTableField field = {2, UPB_SIZE(12, 32), 0, kUpb_NoSub, 5, (int)kUpb_FieldMode_Array | (int)kUpb_LabelFlags_IsPacked | (int)kUpb_LabelFlags_IsAlternate | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)};
upb_Array* arr = upb_Message_GetOrCreateMutableArray(
UPB_UPCAST(msg), &field, arena);
if (!arr || !UPB_PRIVATE(_upb_Array_ResizeUninitialized)(
arr, arr->UPB_PRIVATE(size) + 1, arena)) {
return false;
}
UPB_PRIVATE(_upb_Array_Set)
(arr, arr->UPB_PRIVATE(size) - 1, &val, sizeof(val));
return true;
}
UPB_INLINE void google_api_expr_v1alpha1_SourceInfo_Extension_set_version(google_api_expr_v1alpha1_SourceInfo_Extension *msg, google_api_expr_v1alpha1_SourceInfo_Extension_Version* value) {
const upb_MiniTableField field = {3, UPB_SIZE(16, 40), 64, 0, 11, (int)kUpb_FieldMode_Scalar | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)};
upb_Message_SetBaseField((upb_Message *)msg, &field, &value);
}
UPB_INLINE struct google_api_expr_v1alpha1_SourceInfo_Extension_Version* google_api_expr_v1alpha1_SourceInfo_Extension_mutable_version(google_api_expr_v1alpha1_SourceInfo_Extension* msg, upb_Arena* arena) {
struct google_api_expr_v1alpha1_SourceInfo_Extension_Version* sub = (struct google_api_expr_v1alpha1_SourceInfo_Extension_Version*)google_api_expr_v1alpha1_SourceInfo_Extension_version(msg);
if (sub == NULL) {
sub = (struct google_api_expr_v1alpha1_SourceInfo_Extension_Version*)_upb_Message_New(&google__api__expr__v1alpha1__SourceInfo__Extension__Version_msg_init, arena);
if (sub) google_api_expr_v1alpha1_SourceInfo_Extension_set_version(msg, sub);
}
return sub;
}
/* google.api.expr.v1alpha1.SourceInfo.Extension.Version */
UPB_INLINE google_api_expr_v1alpha1_SourceInfo_Extension_Version* google_api_expr_v1alpha1_SourceInfo_Extension_Version_new(upb_Arena* arena) {
return (google_api_expr_v1alpha1_SourceInfo_Extension_Version*)_upb_Message_New(&google__api__expr__v1alpha1__SourceInfo__Extension__Version_msg_init, arena);
}
UPB_INLINE google_api_expr_v1alpha1_SourceInfo_Extension_Version* google_api_expr_v1alpha1_SourceInfo_Extension_Version_parse(const char* buf, size_t size, upb_Arena* arena) {
google_api_expr_v1alpha1_SourceInfo_Extension_Version* ret = google_api_expr_v1alpha1_SourceInfo_Extension_Version_new(arena);
if (!ret) return NULL;
if (upb_Decode(buf, size, UPB_UPCAST(ret), &google__api__expr__v1alpha1__SourceInfo__Extension__Version_msg_init, NULL, 0, arena) !=
kUpb_DecodeStatus_Ok) {
return NULL;
}
return ret;
}
UPB_INLINE google_api_expr_v1alpha1_SourceInfo_Extension_Version* google_api_expr_v1alpha1_SourceInfo_Extension_Version_parse_ex(const char* buf, size_t size,
const upb_ExtensionRegistry* extreg,
int options, upb_Arena* arena) {
google_api_expr_v1alpha1_SourceInfo_Extension_Version* ret = google_api_expr_v1alpha1_SourceInfo_Extension_Version_new(arena);
if (!ret) return NULL;
if (upb_Decode(buf, size, UPB_UPCAST(ret), &google__api__expr__v1alpha1__SourceInfo__Extension__Version_msg_init, extreg, options,
arena) != kUpb_DecodeStatus_Ok) {
return NULL;
}
return ret;
}
UPB_INLINE char* google_api_expr_v1alpha1_SourceInfo_Extension_Version_serialize(const google_api_expr_v1alpha1_SourceInfo_Extension_Version* msg, upb_Arena* arena, size_t* len) {
char* ptr;
(void)upb_Encode(UPB_UPCAST(msg), &google__api__expr__v1alpha1__SourceInfo__Extension__Version_msg_init, 0, arena, &ptr, len);
return ptr;
}
UPB_INLINE char* google_api_expr_v1alpha1_SourceInfo_Extension_Version_serialize_ex(const google_api_expr_v1alpha1_SourceInfo_Extension_Version* msg, int options,
upb_Arena* arena, size_t* len) {
char* ptr;
(void)upb_Encode(UPB_UPCAST(msg), &google__api__expr__v1alpha1__SourceInfo__Extension__Version_msg_init, options, arena, &ptr, len);
return ptr;
}
UPB_INLINE void google_api_expr_v1alpha1_SourceInfo_Extension_Version_clear_major(google_api_expr_v1alpha1_SourceInfo_Extension_Version* msg) {
const upb_MiniTableField field = {1, 8, 0, kUpb_NoSub, 3, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_8Byte << kUpb_FieldRep_Shift)};
upb_Message_ClearBaseField(UPB_UPCAST(msg), &field);
}
UPB_INLINE int64_t google_api_expr_v1alpha1_SourceInfo_Extension_Version_major(const google_api_expr_v1alpha1_SourceInfo_Extension_Version* msg) {
int64_t default_val = (int64_t)0ll;
int64_t ret;
const upb_MiniTableField field = {1, 8, 0, kUpb_NoSub, 3, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_8Byte << kUpb_FieldRep_Shift)};
_upb_Message_GetNonExtensionField(UPB_UPCAST(msg), &field,
&default_val, &ret);
return ret;
}
UPB_INLINE void google_api_expr_v1alpha1_SourceInfo_Extension_Version_clear_minor(google_api_expr_v1alpha1_SourceInfo_Extension_Version* msg) {
const upb_MiniTableField field = {2, 16, 0, kUpb_NoSub, 3, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_8Byte << kUpb_FieldRep_Shift)};
upb_Message_ClearBaseField(UPB_UPCAST(msg), &field);
}
UPB_INLINE int64_t google_api_expr_v1alpha1_SourceInfo_Extension_Version_minor(const google_api_expr_v1alpha1_SourceInfo_Extension_Version* msg) {
int64_t default_val = (int64_t)0ll;
int64_t ret;
const upb_MiniTableField field = {2, 16, 0, kUpb_NoSub, 3, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_8Byte << kUpb_FieldRep_Shift)};
_upb_Message_GetNonExtensionField(UPB_UPCAST(msg), &field,
&default_val, &ret);
return ret;
}
UPB_INLINE void google_api_expr_v1alpha1_SourceInfo_Extension_Version_set_major(google_api_expr_v1alpha1_SourceInfo_Extension_Version *msg, int64_t value) {
const upb_MiniTableField field = {1, 8, 0, kUpb_NoSub, 3, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_8Byte << kUpb_FieldRep_Shift)};
upb_Message_SetBaseField((upb_Message *)msg, &field, &value);
}
UPB_INLINE void google_api_expr_v1alpha1_SourceInfo_Extension_Version_set_minor(google_api_expr_v1alpha1_SourceInfo_Extension_Version *msg, int64_t value) {
const upb_MiniTableField field = {2, 16, 0, kUpb_NoSub, 3, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_8Byte << kUpb_FieldRep_Shift)};
upb_Message_SetBaseField((upb_Message *)msg, &field, &value);
}
/* google.api.expr.v1alpha1.SourceInfo.PositionsEntry */

@ -154,20 +154,23 @@ static const upb_MiniTableSub google_api_expr_v1alpha1_Expr_CreateList_submsgs[1
{.UPB_PRIVATE(submsg) = &google__api__expr__v1alpha1__Expr_msg_init},
};
static const upb_MiniTableField google_api_expr_v1alpha1_Expr_CreateList__fields[1] = {
static const upb_MiniTableField google_api_expr_v1alpha1_Expr_CreateList__fields[2] = {
{1, 8, 0, 0, 11, (int)kUpb_FieldMode_Array | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)},
{2, UPB_SIZE(12, 16), 0, kUpb_NoSub, 5, (int)kUpb_FieldMode_Array | (int)kUpb_LabelFlags_IsPacked | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)},
};
const upb_MiniTable google__api__expr__v1alpha1__Expr__CreateList_msg_init = {
&google_api_expr_v1alpha1_Expr_CreateList_submsgs[0],
&google_api_expr_v1alpha1_Expr_CreateList__fields[0],
16, 1, kUpb_ExtMode_NonExtendable, 1, UPB_FASTTABLE_MASK(8), 0,
UPB_SIZE(16, 24), 2, kUpb_ExtMode_NonExtendable, 2, UPB_FASTTABLE_MASK(24), 0,
#ifdef UPB_TRACING_ENABLED
"google.api.expr.v1alpha1.Expr.CreateList",
#endif
UPB_FASTTABLE_INIT({
{0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
{0x000800003f00000a, &upb_prm_1bt_max64b},
{0x001000003f000012, &upb_ppv4_1bt},
{0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
})
};
@ -200,25 +203,30 @@ static const upb_MiniTableSub google_api_expr_v1alpha1_Expr_CreateStruct_Entry_s
{.UPB_PRIVATE(submsg) = &google__api__expr__v1alpha1__Expr_msg_init},
};
static const upb_MiniTableField google_api_expr_v1alpha1_Expr_CreateStruct_Entry__fields[4] = {
{1, 32, 0, kUpb_NoSub, 3, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_8Byte << kUpb_FieldRep_Shift)},
{2, UPB_SIZE(20, 16), -13, kUpb_NoSub, 9, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_StringView << kUpb_FieldRep_Shift)},
{3, UPB_SIZE(20, 16), -13, 0, 11, (int)kUpb_FieldMode_Scalar | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)},
{4, UPB_SIZE(16, 40), 64, 1, 11, (int)kUpb_FieldMode_Scalar | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)},
static const upb_MiniTableField google_api_expr_v1alpha1_Expr_CreateStruct_Entry__fields[5] = {
{1, UPB_SIZE(32, 40), 0, kUpb_NoSub, 3, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_8Byte << kUpb_FieldRep_Shift)},
{2, 24, -13, kUpb_NoSub, 9, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_StringView << kUpb_FieldRep_Shift)},
{3, 24, -13, 0, 11, (int)kUpb_FieldMode_Scalar | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)},
{4, UPB_SIZE(16, 48), 64, 1, 11, (int)kUpb_FieldMode_Scalar | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)},
{5, UPB_SIZE(20, 16), 0, kUpb_NoSub, 8, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_1Byte << kUpb_FieldRep_Shift)},
};
const upb_MiniTable google__api__expr__v1alpha1__Expr__CreateStruct__Entry_msg_init = {
&google_api_expr_v1alpha1_Expr_CreateStruct_Entry_submsgs[0],
&google_api_expr_v1alpha1_Expr_CreateStruct_Entry__fields[0],
UPB_SIZE(40, 48), 4, kUpb_ExtMode_NonExtendable, 4, UPB_FASTTABLE_MASK(24), 0,
UPB_SIZE(40, 56), 5, kUpb_ExtMode_NonExtendable, 5, UPB_FASTTABLE_MASK(56), 0,
#ifdef UPB_TRACING_ENABLED
"google.api.expr.v1alpha1.Expr.CreateStruct.Entry",
#endif
UPB_FASTTABLE_INIT({
{0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
{0x002000003f000008, &upb_psv8_1bt},
{0x0010000c02000012, &upb_pos_1bt},
{0x0010000c0300001a, &upb_pom_1bt_max64b},
{0x002800003f000008, &upb_psv8_1bt},
{0x0018000c02000012, &upb_pos_1bt},
{0x0018000c0300001a, &upb_pom_1bt_max64b},
{0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
{0x001000003f000028, &upb_psb1_1bt},
{0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
{0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
})
};
@ -230,7 +238,7 @@ static const upb_MiniTableSub google_api_expr_v1alpha1_Expr_Comprehension_submsg
{.UPB_PRIVATE(submsg) = &google__api__expr__v1alpha1__Expr_msg_init},
};
static const upb_MiniTableField google_api_expr_v1alpha1_Expr_Comprehension__fields[7] = {
static const upb_MiniTableField google_api_expr_v1alpha1_Expr_Comprehension__fields[8] = {
{1, UPB_SIZE(32, 16), 0, kUpb_NoSub, 9, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_StringView << kUpb_FieldRep_Shift)},
{2, UPB_SIZE(12, 32), 64, 0, 11, (int)kUpb_FieldMode_Scalar | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)},
{3, 40, 0, kUpb_NoSub, 9, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_StringView << kUpb_FieldRep_Shift)},
@ -238,12 +246,13 @@ static const upb_MiniTableField google_api_expr_v1alpha1_Expr_Comprehension__fie
{5, UPB_SIZE(20, 64), 66, 2, 11, (int)kUpb_FieldMode_Scalar | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)},
{6, UPB_SIZE(24, 72), 67, 3, 11, (int)kUpb_FieldMode_Scalar | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)},
{7, UPB_SIZE(28, 80), 68, 4, 11, (int)kUpb_FieldMode_Scalar | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)},
{8, UPB_SIZE(48, 88), 0, kUpb_NoSub, 9, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_StringView << kUpb_FieldRep_Shift)},
};
const upb_MiniTable google__api__expr__v1alpha1__Expr__Comprehension_msg_init = {
&google_api_expr_v1alpha1_Expr_Comprehension_submsgs[0],
&google_api_expr_v1alpha1_Expr_Comprehension__fields[0],
UPB_SIZE(48, 88), 7, kUpb_ExtMode_NonExtendable, 7, UPB_FASTTABLE_MASK(24), 0,
UPB_SIZE(56, 104), 8, kUpb_ExtMode_NonExtendable, 8, UPB_FASTTABLE_MASK(120), 0,
#ifdef UPB_TRACING_ENABLED
"google.api.expr.v1alpha1.Expr.Comprehension",
#endif
@ -252,6 +261,18 @@ const upb_MiniTable google__api__expr__v1alpha1__Expr__Comprehension_msg_init =
{0x001000003f00000a, &upb_pss_1bt},
{0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
{0x002800003f00001a, &upb_pss_1bt},
{0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
{0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
{0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
{0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
{0x005800003f000042, &upb_pss_1bt},
{0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
{0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
{0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
{0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
{0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
{0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
{0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
})
};
@ -299,23 +320,25 @@ const upb_MiniTable google__api__expr__v1alpha1__Constant_msg_init = {
})
};
static const upb_MiniTableSub google_api_expr_v1alpha1_SourceInfo_submsgs[2] = {
static const upb_MiniTableSub google_api_expr_v1alpha1_SourceInfo_submsgs[3] = {
{.UPB_PRIVATE(submsg) = &google__api__expr__v1alpha1__SourceInfo__PositionsEntry_msg_init},
{.UPB_PRIVATE(submsg) = &google__api__expr__v1alpha1__SourceInfo__MacroCallsEntry_msg_init},
{.UPB_PRIVATE(submsg) = &google__api__expr__v1alpha1__SourceInfo__Extension_msg_init},
};
static const upb_MiniTableField google_api_expr_v1alpha1_SourceInfo__fields[5] = {
{1, UPB_SIZE(20, 8), 0, kUpb_NoSub, 9, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_StringView << kUpb_FieldRep_Shift)},
{2, UPB_SIZE(28, 24), 0, kUpb_NoSub, 9, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_StringView << kUpb_FieldRep_Shift)},
static const upb_MiniTableField google_api_expr_v1alpha1_SourceInfo__fields[6] = {
{1, UPB_SIZE(24, 8), 0, kUpb_NoSub, 9, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_StringView << kUpb_FieldRep_Shift)},
{2, UPB_SIZE(32, 24), 0, kUpb_NoSub, 9, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_StringView << kUpb_FieldRep_Shift)},
{3, UPB_SIZE(8, 40), 0, kUpb_NoSub, 5, (int)kUpb_FieldMode_Array | (int)kUpb_LabelFlags_IsPacked | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)},
{4, UPB_SIZE(12, 48), 0, 0, 11, (int)kUpb_FieldMode_Map | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)},
{5, UPB_SIZE(16, 56), 0, 1, 11, (int)kUpb_FieldMode_Map | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)},
{6, UPB_SIZE(20, 64), 0, 2, 11, (int)kUpb_FieldMode_Array | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)},
};
const upb_MiniTable google__api__expr__v1alpha1__SourceInfo_msg_init = {
&google_api_expr_v1alpha1_SourceInfo_submsgs[0],
&google_api_expr_v1alpha1_SourceInfo__fields[0],
UPB_SIZE(40, 64), 5, kUpb_ExtMode_NonExtendable, 5, UPB_FASTTABLE_MASK(24), 0,
UPB_SIZE(40, 72), 6, kUpb_ExtMode_NonExtendable, 6, UPB_FASTTABLE_MASK(56), 0,
#ifdef UPB_TRACING_ENABLED
"google.api.expr.v1alpha1.SourceInfo",
#endif
@ -324,6 +347,55 @@ const upb_MiniTable google__api__expr__v1alpha1__SourceInfo_msg_init = {
{0x000800003f00000a, &upb_pss_1bt},
{0x001800003f000012, &upb_pss_1bt},
{0x002800003f00001a, &upb_ppv4_1bt},
{0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
{0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
{0x004000003f020032, &upb_prm_1bt_max64b},
{0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
})
};
static const upb_MiniTableSub google_api_expr_v1alpha1_SourceInfo_Extension_submsgs[1] = {
{.UPB_PRIVATE(submsg) = &google__api__expr__v1alpha1__SourceInfo__Extension__Version_msg_init},
};
static const upb_MiniTableField google_api_expr_v1alpha1_SourceInfo_Extension__fields[3] = {
{1, UPB_SIZE(20, 16), 0, kUpb_NoSub, 9, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_StringView << kUpb_FieldRep_Shift)},
{2, UPB_SIZE(12, 32), 0, kUpb_NoSub, 5, (int)kUpb_FieldMode_Array | (int)kUpb_LabelFlags_IsPacked | (int)kUpb_LabelFlags_IsAlternate | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)},
{3, UPB_SIZE(16, 40), 64, 0, 11, (int)kUpb_FieldMode_Scalar | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)},
};
const upb_MiniTable google__api__expr__v1alpha1__SourceInfo__Extension_msg_init = {
&google_api_expr_v1alpha1_SourceInfo_Extension_submsgs[0],
&google_api_expr_v1alpha1_SourceInfo_Extension__fields[0],
UPB_SIZE(32, 48), 3, kUpb_ExtMode_NonExtendable, 3, UPB_FASTTABLE_MASK(24), 0,
#ifdef UPB_TRACING_ENABLED
"google.api.expr.v1alpha1.SourceInfo.Extension",
#endif
UPB_FASTTABLE_INIT({
{0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
{0x001000003f00000a, &upb_pss_1bt},
{0x002000003f000012, &upb_ppv4_1bt},
{0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
})
};
static const upb_MiniTableField google_api_expr_v1alpha1_SourceInfo_Extension_Version__fields[2] = {
{1, 8, 0, kUpb_NoSub, 3, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_8Byte << kUpb_FieldRep_Shift)},
{2, 16, 0, kUpb_NoSub, 3, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_8Byte << kUpb_FieldRep_Shift)},
};
const upb_MiniTable google__api__expr__v1alpha1__SourceInfo__Extension__Version_msg_init = {
NULL,
&google_api_expr_v1alpha1_SourceInfo_Extension_Version__fields[0],
24, 2, kUpb_ExtMode_NonExtendable, 2, UPB_FASTTABLE_MASK(24), 0,
#ifdef UPB_TRACING_ENABLED
"google.api.expr.v1alpha1.SourceInfo.Extension.Version",
#endif
UPB_FASTTABLE_INIT({
{0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
{0x000800003f000008, &upb_psv8_1bt},
{0x001000003f000010, &upb_psv8_1bt},
{0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
})
};
@ -395,7 +467,7 @@ const upb_MiniTable google__api__expr__v1alpha1__SourcePosition_msg_init = {
})
};
static const upb_MiniTable *messages_layout[14] = {
static const upb_MiniTable *messages_layout[16] = {
&google__api__expr__v1alpha1__ParsedExpr_msg_init,
&google__api__expr__v1alpha1__Expr_msg_init,
&google__api__expr__v1alpha1__Expr__Ident_msg_init,
@ -407,6 +479,8 @@ static const upb_MiniTable *messages_layout[14] = {
&google__api__expr__v1alpha1__Expr__Comprehension_msg_init,
&google__api__expr__v1alpha1__Constant_msg_init,
&google__api__expr__v1alpha1__SourceInfo_msg_init,
&google__api__expr__v1alpha1__SourceInfo__Extension_msg_init,
&google__api__expr__v1alpha1__SourceInfo__Extension__Version_msg_init,
&google__api__expr__v1alpha1__SourceInfo__PositionsEntry_msg_init,
&google__api__expr__v1alpha1__SourceInfo__MacroCallsEntry_msg_init,
&google__api__expr__v1alpha1__SourcePosition_msg_init,
@ -416,7 +490,7 @@ const upb_MiniTableFile google_api_expr_v1alpha1_syntax_proto_upb_file_layout =
messages_layout,
NULL,
NULL,
14,
16,
0,
0,
};

@ -28,6 +28,8 @@ extern const upb_MiniTable google__api__expr__v1alpha1__Expr__CreateStruct__Entr
extern const upb_MiniTable google__api__expr__v1alpha1__Expr__Comprehension_msg_init;
extern const upb_MiniTable google__api__expr__v1alpha1__Constant_msg_init;
extern const upb_MiniTable google__api__expr__v1alpha1__SourceInfo_msg_init;
extern const upb_MiniTable google__api__expr__v1alpha1__SourceInfo__Extension_msg_init;
extern const upb_MiniTable google__api__expr__v1alpha1__SourceInfo__Extension__Version_msg_init;
extern const upb_MiniTable google__api__expr__v1alpha1__SourceInfo__PositionsEntry_msg_init;
extern const upb_MiniTable google__api__expr__v1alpha1__SourceInfo__MacroCallsEntry_msg_init;
extern const upb_MiniTable google__api__expr__v1alpha1__SourcePosition_msg_init;

@ -12,13 +12,13 @@
extern _upb_DefPool_Init google_api_expr_v1alpha1_syntax_proto_upbdefinit;
extern _upb_DefPool_Init google_protobuf_empty_proto_upbdefinit;
extern _upb_DefPool_Init google_protobuf_struct_proto_upbdefinit;
static const char descriptor[3089] = {'\n', '&', 'g', 'o', 'o', 'g', 'l', 'e', '/', 'a', 'p', 'i', '/', 'e', 'x', 'p', 'r', '/', 'v', '1', 'a', 'l', 'p', 'h', 'a',
static const char descriptor[3124] = {'\n', '&', 'g', 'o', 'o', 'g', 'l', 'e', '/', 'a', 'p', 'i', '/', 'e', 'x', 'p', 'r', '/', 'v', '1', 'a', 'l', 'p', 'h', 'a',
'1', '/', 'c', 'h', 'e', 'c', 'k', 'e', 'd', '.', 'p', 'r', 'o', 't', 'o', '\022', '\030', 'g', 'o', 'o', 'g', 'l', 'e', '.', 'a',
'p', 'i', '.', 'e', 'x', 'p', 'r', '.', 'v', '1', 'a', 'l', 'p', 'h', 'a', '1', '\032', '%', 'g', 'o', 'o', 'g', 'l', 'e', '/',
'a', 'p', 'i', '/', 'e', 'x', 'p', 'r', '/', 'v', '1', 'a', 'l', 'p', 'h', 'a', '1', '/', 's', 'y', 'n', 't', 'a', 'x', '.',
'p', 'r', 'o', 't', 'o', '\032', '\033', 'g', 'o', 'o', 'g', 'l', 'e', '/', 'p', 'r', 'o', 't', 'o', 'b', 'u', 'f', '/', 'e', 'm',
'p', 't', 'y', '.', 'p', 'r', 'o', 't', 'o', '\032', '\034', 'g', 'o', 'o', 'g', 'l', 'e', '/', 'p', 'r', 'o', 't', 'o', 'b', 'u',
'f', '/', 's', 't', 'r', 'u', 'c', 't', '.', 'p', 'r', 'o', 't', 'o', '\"', '\367', '\003', '\n', '\013', 'C', 'h', 'e', 'c', 'k', 'e',
'f', '/', 's', 't', 'r', 'u', 'c', 't', '.', 'p', 'r', 'o', 't', 'o', '\"', '\232', '\004', '\n', '\013', 'C', 'h', 'e', 'c', 'k', 'e',
'd', 'E', 'x', 'p', 'r', '\022', '\\', '\n', '\r', 'r', 'e', 'f', 'e', 'r', 'e', 'n', 'c', 'e', '_', 'm', 'a', 'p', '\030', '\002', ' ',
'\003', '(', '\013', '2', '7', '.', 'g', 'o', 'o', 'g', 'l', 'e', '.', 'a', 'p', 'i', '.', 'e', 'x', 'p', 'r', '.', 'v', '1', 'a',
'l', 'p', 'h', 'a', '1', '.', 'C', 'h', 'e', 'c', 'k', 'e', 'd', 'E', 'x', 'p', 'r', '.', 'R', 'e', 'f', 'e', 'r', 'e', 'n',
@ -29,113 +29,114 @@ static const char descriptor[3089] = {'\n', '&', 'g', 'o', 'o', 'g', 'l', 'e', '
'M', 'a', 'p', '\022', 'E', '\n', '\013', 's', 'o', 'u', 'r', 'c', 'e', '_', 'i', 'n', 'f', 'o', '\030', '\005', ' ', '\001', '(', '\013', '2',
'$', '.', 'g', 'o', 'o', 'g', 'l', 'e', '.', 'a', 'p', 'i', '.', 'e', 'x', 'p', 'r', '.', 'v', '1', 'a', 'l', 'p', 'h', 'a',
'1', '.', 'S', 'o', 'u', 'r', 'c', 'e', 'I', 'n', 'f', 'o', 'R', '\n', 's', 'o', 'u', 'r', 'c', 'e', 'I', 'n', 'f', 'o', '\022',
'2', '\n', '\004', 'e', 'x', 'p', 'r', '\030', '\004', ' ', '\001', '(', '\013', '2', '\036', '.', 'g', 'o', 'o', 'g', 'l', 'e', '.', 'a', 'p',
'i', '.', 'e', 'x', 'p', 'r', '.', 'v', '1', 'a', 'l', 'p', 'h', 'a', '1', '.', 'E', 'x', 'p', 'r', 'R', '\004', 'e', 'x', 'p',
'r', '\032', 'd', '\n', '\021', 'R', 'e', 'f', 'e', 'r', 'e', 'n', 'c', 'e', 'M', 'a', 'p', 'E', 'n', 't', 'r', 'y', '\022', '\020', '\n',
'\003', 'k', 'e', 'y', '\030', '\001', ' ', '\001', '(', '\003', 'R', '\003', 'k', 'e', 'y', '\022', '9', '\n', '\005', 'v', 'a', 'l', 'u', 'e', '\030',
'\002', ' ', '\001', '(', '\013', '2', '#', '.', 'g', 'o', 'o', 'g', 'l', 'e', '.', 'a', 'p', 'i', '.', 'e', 'x', 'p', 'r', '.', 'v',
'1', 'a', 'l', 'p', 'h', 'a', '1', '.', 'R', 'e', 'f', 'e', 'r', 'e', 'n', 'c', 'e', 'R', '\005', 'v', 'a', 'l', 'u', 'e', ':',
'\002', '8', '\001', '\032', 'Z', '\n', '\014', 'T', 'y', 'p', 'e', 'M', 'a', 'p', 'E', 'n', 't', 'r', 'y', '\022', '\020', '\n', '\003', 'k', 'e',
'y', '\030', '\001', ' ', '\001', '(', '\003', 'R', '\003', 'k', 'e', 'y', '\022', '4', '\n', '\005', 'v', 'a', 'l', 'u', 'e', '\030', '\002', ' ', '\001',
'(', '\013', '2', '\036', '.', 'g', 'o', 'o', 'g', 'l', 'e', '.', 'a', 'p', 'i', '.', 'e', 'x', 'p', 'r', '.', 'v', '1', 'a', 'l',
'p', 'h', 'a', '1', '.', 'T', 'y', 'p', 'e', 'R', '\005', 'v', 'a', 'l', 'u', 'e', ':', '\002', '8', '\001', '\"', '\310', '\013', '\n', '\004',
'T', 'y', 'p', 'e', '\022', '*', '\n', '\003', 'd', 'y', 'n', '\030', '\001', ' ', '\001', '(', '\013', '2', '\026', '.', 'g', 'o', 'o', 'g', 'l',
'e', '.', 'p', 'r', 'o', 't', 'o', 'b', 'u', 'f', '.', 'E', 'm', 'p', 't', 'y', 'H', '\000', 'R', '\003', 'd', 'y', 'n', '\022', '0',
'\n', '\004', 'n', 'u', 'l', 'l', '\030', '\002', ' ', '\001', '(', '\016', '2', '\032', '.', 'g', 'o', 'o', 'g', 'l', 'e', '.', 'p', 'r', 'o',
't', 'o', 'b', 'u', 'f', '.', 'N', 'u', 'l', 'l', 'V', 'a', 'l', 'u', 'e', 'H', '\000', 'R', '\004', 'n', 'u', 'l', 'l', '\022', 'L',
'\n', '\t', 'p', 'r', 'i', 'm', 'i', 't', 'i', 'v', 'e', '\030', '\003', ' ', '\001', '(', '\016', '2', ',', '.', 'g', 'o', 'o', 'g', 'l',
'e', '.', 'a', 'p', 'i', '.', 'e', 'x', 'p', 'r', '.', 'v', '1', 'a', 'l', 'p', 'h', 'a', '1', '.', 'T', 'y', 'p', 'e', '.',
'P', 'r', 'i', 'm', 'i', 't', 'i', 'v', 'e', 'T', 'y', 'p', 'e', 'H', '\000', 'R', '\t', 'p', 'r', 'i', 'm', 'i', 't', 'i', 'v',
'e', '\022', 'H', '\n', '\007', 'w', 'r', 'a', 'p', 'p', 'e', 'r', '\030', '\004', ' ', '\001', '(', '\016', '2', ',', '.', 'g', 'o', 'o', 'g',
'l', 'e', '.', 'a', 'p', 'i', '.', 'e', 'x', 'p', 'r', '.', 'v', '1', 'a', 'l', 'p', 'h', 'a', '1', '.', 'T', 'y', 'p', 'e',
'.', 'P', 'r', 'i', 'm', 'i', 't', 'i', 'v', 'e', 'T', 'y', 'p', 'e', 'H', '\000', 'R', '\007', 'w', 'r', 'a', 'p', 'p', 'e', 'r',
'\022', 'M', '\n', '\n', 'w', 'e', 'l', 'l', '_', 'k', 'n', 'o', 'w', 'n', '\030', '\005', ' ', '\001', '(', '\016', '2', ',', '.', 'g', 'o',
'o', 'g', 'l', 'e', '.', 'a', 'p', 'i', '.', 'e', 'x', 'p', 'r', '.', 'v', '1', 'a', 'l', 'p', 'h', 'a', '1', '.', 'T', 'y',
'p', 'e', '.', 'W', 'e', 'l', 'l', 'K', 'n', 'o', 'w', 'n', 'T', 'y', 'p', 'e', 'H', '\000', 'R', '\t', 'w', 'e', 'l', 'l', 'K',
'n', 'o', 'w', 'n', '\022', 'F', '\n', '\t', 'l', 'i', 's', 't', '_', 't', 'y', 'p', 'e', '\030', '\006', ' ', '\001', '(', '\013', '2', '\'',
'!', '\n', '\014', 'e', 'x', 'p', 'r', '_', 'v', 'e', 'r', 's', 'i', 'o', 'n', '\030', '\006', ' ', '\001', '(', '\t', 'R', '\013', 'e', 'x',
'p', 'r', 'V', 'e', 'r', 's', 'i', 'o', 'n', '\022', '2', '\n', '\004', 'e', 'x', 'p', 'r', '\030', '\004', ' ', '\001', '(', '\013', '2', '\036',
'.', 'g', 'o', 'o', 'g', 'l', 'e', '.', 'a', 'p', 'i', '.', 'e', 'x', 'p', 'r', '.', 'v', '1', 'a', 'l', 'p', 'h', 'a', '1',
'.', 'T', 'y', 'p', 'e', '.', 'L', 'i', 's', 't', 'T', 'y', 'p', 'e', 'H', '\000', 'R', '\010', 'l', 'i', 's', 't', 'T', 'y', 'p',
'e', '\022', 'C', '\n', '\010', 'm', 'a', 'p', '_', 't', 'y', 'p', 'e', '\030', '\007', ' ', '\001', '(', '\013', '2', '&', '.', 'g', 'o', 'o',
'.', 'E', 'x', 'p', 'r', 'R', '\004', 'e', 'x', 'p', 'r', '\032', 'd', '\n', '\021', 'R', 'e', 'f', 'e', 'r', 'e', 'n', 'c', 'e', 'M',
'a', 'p', 'E', 'n', 't', 'r', 'y', '\022', '\020', '\n', '\003', 'k', 'e', 'y', '\030', '\001', ' ', '\001', '(', '\003', 'R', '\003', 'k', 'e', 'y',
'\022', '9', '\n', '\005', 'v', 'a', 'l', 'u', 'e', '\030', '\002', ' ', '\001', '(', '\013', '2', '#', '.', 'g', 'o', 'o', 'g', 'l', 'e', '.',
'a', 'p', 'i', '.', 'e', 'x', 'p', 'r', '.', 'v', '1', 'a', 'l', 'p', 'h', 'a', '1', '.', 'R', 'e', 'f', 'e', 'r', 'e', 'n',
'c', 'e', 'R', '\005', 'v', 'a', 'l', 'u', 'e', ':', '\002', '8', '\001', '\032', 'Z', '\n', '\014', 'T', 'y', 'p', 'e', 'M', 'a', 'p', 'E',
'n', 't', 'r', 'y', '\022', '\020', '\n', '\003', 'k', 'e', 'y', '\030', '\001', ' ', '\001', '(', '\003', 'R', '\003', 'k', 'e', 'y', '\022', '4', '\n',
'\005', 'v', 'a', 'l', 'u', 'e', '\030', '\002', ' ', '\001', '(', '\013', '2', '\036', '.', 'g', 'o', 'o', 'g', 'l', 'e', '.', 'a', 'p', 'i',
'.', 'e', 'x', 'p', 'r', '.', 'v', '1', 'a', 'l', 'p', 'h', 'a', '1', '.', 'T', 'y', 'p', 'e', 'R', '\005', 'v', 'a', 'l', 'u',
'e', ':', '\002', '8', '\001', '\"', '\310', '\013', '\n', '\004', 'T', 'y', 'p', 'e', '\022', '*', '\n', '\003', 'd', 'y', 'n', '\030', '\001', ' ', '\001',
'(', '\013', '2', '\026', '.', 'g', 'o', 'o', 'g', 'l', 'e', '.', 'p', 'r', 'o', 't', 'o', 'b', 'u', 'f', '.', 'E', 'm', 'p', 't',
'y', 'H', '\000', 'R', '\003', 'd', 'y', 'n', '\022', '0', '\n', '\004', 'n', 'u', 'l', 'l', '\030', '\002', ' ', '\001', '(', '\016', '2', '\032', '.',
'g', 'o', 'o', 'g', 'l', 'e', '.', 'p', 'r', 'o', 't', 'o', 'b', 'u', 'f', '.', 'N', 'u', 'l', 'l', 'V', 'a', 'l', 'u', 'e',
'H', '\000', 'R', '\004', 'n', 'u', 'l', 'l', '\022', 'L', '\n', '\t', 'p', 'r', 'i', 'm', 'i', 't', 'i', 'v', 'e', '\030', '\003', ' ', '\001',
'(', '\016', '2', ',', '.', 'g', 'o', 'o', 'g', 'l', 'e', '.', 'a', 'p', 'i', '.', 'e', 'x', 'p', 'r', '.', 'v', '1', 'a', 'l',
'p', 'h', 'a', '1', '.', 'T', 'y', 'p', 'e', '.', 'P', 'r', 'i', 'm', 'i', 't', 'i', 'v', 'e', 'T', 'y', 'p', 'e', 'H', '\000',
'R', '\t', 'p', 'r', 'i', 'm', 'i', 't', 'i', 'v', 'e', '\022', 'H', '\n', '\007', 'w', 'r', 'a', 'p', 'p', 'e', 'r', '\030', '\004', ' ',
'\001', '(', '\016', '2', ',', '.', 'g', 'o', 'o', 'g', 'l', 'e', '.', 'a', 'p', 'i', '.', 'e', 'x', 'p', 'r', '.', 'v', '1', 'a',
'l', 'p', 'h', 'a', '1', '.', 'T', 'y', 'p', 'e', '.', 'P', 'r', 'i', 'm', 'i', 't', 'i', 'v', 'e', 'T', 'y', 'p', 'e', 'H',
'\000', 'R', '\007', 'w', 'r', 'a', 'p', 'p', 'e', 'r', '\022', 'M', '\n', '\n', 'w', 'e', 'l', 'l', '_', 'k', 'n', 'o', 'w', 'n', '\030',
'\005', ' ', '\001', '(', '\016', '2', ',', '.', 'g', 'o', 'o', 'g', 'l', 'e', '.', 'a', 'p', 'i', '.', 'e', 'x', 'p', 'r', '.', 'v',
'1', 'a', 'l', 'p', 'h', 'a', '1', '.', 'T', 'y', 'p', 'e', '.', 'W', 'e', 'l', 'l', 'K', 'n', 'o', 'w', 'n', 'T', 'y', 'p',
'e', 'H', '\000', 'R', '\t', 'w', 'e', 'l', 'l', 'K', 'n', 'o', 'w', 'n', '\022', 'F', '\n', '\t', 'l', 'i', 's', 't', '_', 't', 'y',
'p', 'e', '\030', '\006', ' ', '\001', '(', '\013', '2', '\'', '.', 'g', 'o', 'o', 'g', 'l', 'e', '.', 'a', 'p', 'i', '.', 'e', 'x', 'p',
'r', '.', 'v', '1', 'a', 'l', 'p', 'h', 'a', '1', '.', 'T', 'y', 'p', 'e', '.', 'L', 'i', 's', 't', 'T', 'y', 'p', 'e', 'H',
'\000', 'R', '\010', 'l', 'i', 's', 't', 'T', 'y', 'p', 'e', '\022', 'C', '\n', '\010', 'm', 'a', 'p', '_', 't', 'y', 'p', 'e', '\030', '\007',
' ', '\001', '(', '\013', '2', '&', '.', 'g', 'o', 'o', 'g', 'l', 'e', '.', 'a', 'p', 'i', '.', 'e', 'x', 'p', 'r', '.', 'v', '1',
'a', 'l', 'p', 'h', 'a', '1', '.', 'T', 'y', 'p', 'e', '.', 'M', 'a', 'p', 'T', 'y', 'p', 'e', 'H', '\000', 'R', '\007', 'm', 'a',
'p', 'T', 'y', 'p', 'e', '\022', 'I', '\n', '\010', 'f', 'u', 'n', 'c', 't', 'i', 'o', 'n', '\030', '\010', ' ', '\001', '(', '\013', '2', '+',
'.', 'g', 'o', 'o', 'g', 'l', 'e', '.', 'a', 'p', 'i', '.', 'e', 'x', 'p', 'r', '.', 'v', '1', 'a', 'l', 'p', 'h', 'a', '1',
'.', 'T', 'y', 'p', 'e', '.', 'F', 'u', 'n', 'c', 't', 'i', 'o', 'n', 'T', 'y', 'p', 'e', 'H', '\000', 'R', '\010', 'f', 'u', 'n',
'c', 't', 'i', 'o', 'n', '\022', '#', '\n', '\014', 'm', 'e', 's', 's', 'a', 'g', 'e', '_', 't', 'y', 'p', 'e', '\030', '\t', ' ', '\001',
'(', '\t', 'H', '\000', 'R', '\013', 'm', 'e', 's', 's', 'a', 'g', 'e', 'T', 'y', 'p', 'e', '\022', '\037', '\n', '\n', 't', 'y', 'p', 'e',
'_', 'p', 'a', 'r', 'a', 'm', '\030', '\n', ' ', '\001', '(', '\t', 'H', '\000', 'R', '\t', 't', 'y', 'p', 'e', 'P', 'a', 'r', 'a', 'm',
'\022', '4', '\n', '\004', 't', 'y', 'p', 'e', '\030', '\013', ' ', '\001', '(', '\013', '2', '\036', '.', 'g', 'o', 'o', 'g', 'l', 'e', '.', 'a',
'p', 'i', '.', 'e', 'x', 'p', 'r', '.', 'v', '1', 'a', 'l', 'p', 'h', 'a', '1', '.', 'T', 'y', 'p', 'e', 'H', '\000', 'R', '\004',
't', 'y', 'p', 'e', '\022', '.', '\n', '\005', 'e', 'r', 'r', 'o', 'r', '\030', '\014', ' ', '\001', '(', '\013', '2', '\026', '.', 'g', 'o', 'o',
'g', 'l', 'e', '.', 'p', 'r', 'o', 't', 'o', 'b', 'u', 'f', '.', 'E', 'm', 'p', 't', 'y', 'H', '\000', 'R', '\005', 'e', 'r', 'r',
'o', 'r', '\022', 'R', '\n', '\r', 'a', 'b', 's', 't', 'r', 'a', 'c', 't', '_', 't', 'y', 'p', 'e', '\030', '\016', ' ', '\001', '(', '\013',
'2', '+', '.', 'g', 'o', 'o', 'g', 'l', 'e', '.', 'a', 'p', 'i', '.', 'e', 'x', 'p', 'r', '.', 'v', '1', 'a', 'l', 'p', 'h',
'a', '1', '.', 'T', 'y', 'p', 'e', '.', 'A', 'b', 's', 't', 'r', 'a', 'c', 't', 'T', 'y', 'p', 'e', 'H', '\000', 'R', '\014', 'a',
'b', 's', 't', 'r', 'a', 'c', 't', 'T', 'y', 'p', 'e', '\032', 'G', '\n', '\010', 'L', 'i', 's', 't', 'T', 'y', 'p', 'e', '\022', ';',
'\n', '\t', 'e', 'l', 'e', 'm', '_', 't', 'y', 'p', 'e', '\030', '\001', ' ', '\001', '(', '\013', '2', '\036', '.', 'g', 'o', 'o', 'g', 'l',
'e', '.', 'a', 'p', 'i', '.', 'e', 'x', 'p', 'r', '.', 'v', '1', 'a', 'l', 'p', 'h', 'a', '1', '.', 'T', 'y', 'p', 'e', 'R',
'\010', 'e', 'l', 'e', 'm', 'T', 'y', 'p', 'e', '\032', '\203', '\001', '\n', '\007', 'M', 'a', 'p', 'T', 'y', 'p', 'e', '\022', '9', '\n', '\010',
'k', 'e', 'y', '_', 't', 'y', 'p', 'e', '\030', '\001', ' ', '\001', '(', '\013', '2', '\036', '.', 'g', 'o', 'o', 'g', 'l', 'e', '.', 'a',
'p', 'i', '.', 'e', 'x', 'p', 'r', '.', 'v', '1', 'a', 'l', 'p', 'h', 'a', '1', '.', 'T', 'y', 'p', 'e', 'R', '\007', 'k', 'e',
'y', 'T', 'y', 'p', 'e', '\022', '=', '\n', '\n', 'v', 'a', 'l', 'u', 'e', '_', 't', 'y', 'p', 'e', '\030', '\002', ' ', '\001', '(', '\013',
'2', '\036', '.', 'g', 'o', 'o', 'g', 'l', 'e', '.', 'a', 'p', 'i', '.', 'e', 'x', 'p', 'r', '.', 'v', '1', 'a', 'l', 'p', 'h',
'a', '1', '.', 'T', 'y', 'p', 'e', 'R', '\t', 'v', 'a', 'l', 'u', 'e', 'T', 'y', 'p', 'e', '\032', '\214', '\001', '\n', '\014', 'F', 'u',
'n', 'c', 't', 'i', 'o', 'n', 'T', 'y', 'p', 'e', '\022', '?', '\n', '\013', 'r', 'e', 's', 'u', 'l', 't', '_', 't', 'y', 'p', 'e',
'\030', '\001', ' ', '\001', '(', '\013', '2', '\036', '.', 'g', 'o', 'o', 'g', 'l', 'e', '.', 'a', 'p', 'i', '.', 'e', 'x', 'p', 'r', '.',
'v', '1', 'a', 'l', 'p', 'h', 'a', '1', '.', 'T', 'y', 'p', 'e', 'R', '\n', 'r', 'e', 's', 'u', 'l', 't', 'T', 'y', 'p', 'e',
'\022', ';', '\n', '\t', 'a', 'r', 'g', '_', 't', 'y', 'p', 'e', 's', '\030', '\002', ' ', '\003', '(', '\013', '2', '\036', '.', 'g', 'o', 'o',
'g', 'l', 'e', '.', 'a', 'p', 'i', '.', 'e', 'x', 'p', 'r', '.', 'v', '1', 'a', 'l', 'p', 'h', 'a', '1', '.', 'T', 'y', 'p',
'e', '.', 'M', 'a', 'p', 'T', 'y', 'p', 'e', 'H', '\000', 'R', '\007', 'm', 'a', 'p', 'T', 'y', 'p', 'e', '\022', 'I', '\n', '\010', 'f',
'u', 'n', 'c', 't', 'i', 'o', 'n', '\030', '\010', ' ', '\001', '(', '\013', '2', '+', '.', 'g', 'o', 'o', 'g', 'l', 'e', '.', 'a', 'p',
'i', '.', 'e', 'x', 'p', 'r', '.', 'v', '1', 'a', 'l', 'p', 'h', 'a', '1', '.', 'T', 'y', 'p', 'e', '.', 'F', 'u', 'n', 'c',
't', 'i', 'o', 'n', 'T', 'y', 'p', 'e', 'H', '\000', 'R', '\010', 'f', 'u', 'n', 'c', 't', 'i', 'o', 'n', '\022', '#', '\n', '\014', 'm',
'e', 's', 's', 'a', 'g', 'e', '_', 't', 'y', 'p', 'e', '\030', '\t', ' ', '\001', '(', '\t', 'H', '\000', 'R', '\013', 'm', 'e', 's', 's',
'a', 'g', 'e', 'T', 'y', 'p', 'e', '\022', '\037', '\n', '\n', 't', 'y', 'p', 'e', '_', 'p', 'a', 'r', 'a', 'm', '\030', '\n', ' ', '\001',
'(', '\t', 'H', '\000', 'R', '\t', 't', 'y', 'p', 'e', 'P', 'a', 'r', 'a', 'm', '\022', '4', '\n', '\004', 't', 'y', 'p', 'e', '\030', '\013',
' ', '\001', '(', '\013', '2', '\036', '.', 'g', 'o', 'o', 'g', 'l', 'e', '.', 'a', 'p', 'i', '.', 'e', 'x', 'p', 'r', '.', 'v', '1',
'a', 'l', 'p', 'h', 'a', '1', '.', 'T', 'y', 'p', 'e', 'H', '\000', 'R', '\004', 't', 'y', 'p', 'e', '\022', '.', '\n', '\005', 'e', 'r',
'r', 'o', 'r', '\030', '\014', ' ', '\001', '(', '\013', '2', '\026', '.', 'g', 'o', 'o', 'g', 'l', 'e', '.', 'p', 'r', 'o', 't', 'o', 'b',
'u', 'f', '.', 'E', 'm', 'p', 't', 'y', 'H', '\000', 'R', '\005', 'e', 'r', 'r', 'o', 'r', '\022', 'R', '\n', '\r', 'a', 'b', 's', 't',
'r', 'a', 'c', 't', '_', 't', 'y', 'p', 'e', '\030', '\016', ' ', '\001', '(', '\013', '2', '+', '.', 'g', 'o', 'o', 'g', 'l', 'e', '.',
'a', 'p', 'i', '.', 'e', 'x', 'p', 'r', '.', 'v', '1', 'a', 'l', 'p', 'h', 'a', '1', '.', 'T', 'y', 'p', 'e', '.', 'A', 'b',
's', 't', 'r', 'a', 'c', 't', 'T', 'y', 'p', 'e', 'H', '\000', 'R', '\014', 'a', 'b', 's', 't', 'r', 'a', 'c', 't', 'T', 'y', 'p',
'e', '\032', 'G', '\n', '\010', 'L', 'i', 's', 't', 'T', 'y', 'p', 'e', '\022', ';', '\n', '\t', 'e', 'l', 'e', 'm', '_', 't', 'y', 'p',
'e', '\030', '\001', ' ', '\001', '(', '\013', '2', '\036', '.', 'g', 'o', 'o', 'g', 'l', 'e', '.', 'a', 'p', 'i', '.', 'e', 'x', 'p', 'r',
'.', 'v', '1', 'a', 'l', 'p', 'h', 'a', '1', '.', 'T', 'y', 'p', 'e', 'R', '\010', 'e', 'l', 'e', 'm', 'T', 'y', 'p', 'e', '\032',
'\203', '\001', '\n', '\007', 'M', 'a', 'p', 'T', 'y', 'p', 'e', '\022', '9', '\n', '\010', 'k', 'e', 'y', '_', 't', 'y', 'p', 'e', '\030', '\001',
' ', '\001', '(', '\013', '2', '\036', '.', 'g', 'o', 'o', 'g', 'l', 'e', '.', 'a', 'p', 'i', '.', 'e', 'x', 'p', 'r', '.', 'v', '1',
'a', 'l', 'p', 'h', 'a', '1', '.', 'T', 'y', 'p', 'e', 'R', '\007', 'k', 'e', 'y', 'T', 'y', 'p', 'e', '\022', '=', '\n', '\n', 'v',
'a', 'l', 'u', 'e', '_', 't', 'y', 'p', 'e', '\030', '\002', ' ', '\001', '(', '\013', '2', '\036', '.', 'g', 'o', 'o', 'g', 'l', 'e', '.',
'a', 'p', 'i', '.', 'e', 'x', 'p', 'r', '.', 'v', '1', 'a', 'l', 'p', 'h', 'a', '1', '.', 'T', 'y', 'p', 'e', 'R', '\t', 'v',
'a', 'l', 'u', 'e', 'T', 'y', 'p', 'e', '\032', '\214', '\001', '\n', '\014', 'F', 'u', 'n', 'c', 't', 'i', 'o', 'n', 'T', 'y', 'p', 'e',
'\022', '?', '\n', '\013', 'r', 'e', 's', 'u', 'l', 't', '_', 't', 'y', 'p', 'e', '\030', '\001', ' ', '\001', '(', '\013', '2', '\036', '.', 'g',
'o', 'o', 'g', 'l', 'e', '.', 'a', 'p', 'i', '.', 'e', 'x', 'p', 'r', '.', 'v', '1', 'a', 'l', 'p', 'h', 'a', '1', '.', 'T',
'y', 'p', 'e', 'R', '\n', 'r', 'e', 's', 'u', 'l', 't', 'T', 'y', 'p', 'e', '\022', ';', '\n', '\t', 'a', 'r', 'g', '_', 't', 'y',
'p', 'e', 's', '\030', '\002', ' ', '\003', '(', '\013', '2', '\036', '.', 'g', 'o', 'o', 'g', 'l', 'e', '.', 'a', 'p', 'i', '.', 'e', 'x',
'p', 'r', '.', 'v', '1', 'a', 'l', 'p', 'h', 'a', '1', '.', 'T', 'y', 'p', 'e', 'R', '\010', 'a', 'r', 'g', 'T', 'y', 'p', 'e',
's', '\032', 'k', '\n', '\014', 'A', 'b', 's', 't', 'r', 'a', 'c', 't', 'T', 'y', 'p', 'e', '\022', '\022', '\n', '\004', 'n', 'a', 'm', 'e',
'\030', '\001', ' ', '\001', '(', '\t', 'R', '\004', 'n', 'a', 'm', 'e', '\022', 'G', '\n', '\017', 'p', 'a', 'r', 'a', 'm', 'e', 't', 'e', 'r',
'_', 't', 'y', 'p', 'e', 's', '\030', '\002', ' ', '\003', '(', '\013', '2', '\036', '.', 'g', 'o', 'o', 'g', 'l', 'e', '.', 'a', 'p', 'i',
'.', 'e', 'x', 'p', 'r', '.', 'v', '1', 'a', 'l', 'p', 'h', 'a', '1', '.', 'T', 'y', 'p', 'e', 'R', '\016', 'p', 'a', 'r', 'a',
'm', 'e', 't', 'e', 'r', 'T', 'y', 'p', 'e', 's', '\"', 's', '\n', '\r', 'P', 'r', 'i', 'm', 'i', 't', 'i', 'v', 'e', 'T', 'y',
'p', 'e', '\022', '\036', '\n', '\032', 'P', 'R', 'I', 'M', 'I', 'T', 'I', 'V', 'E', '_', 'T', 'Y', 'P', 'E', '_', 'U', 'N', 'S', 'P',
'E', 'C', 'I', 'F', 'I', 'E', 'D', '\020', '\000', '\022', '\010', '\n', '\004', 'B', 'O', 'O', 'L', '\020', '\001', '\022', '\t', '\n', '\005', 'I', 'N',
'T', '6', '4', '\020', '\002', '\022', '\n', '\n', '\006', 'U', 'I', 'N', 'T', '6', '4', '\020', '\003', '\022', '\n', '\n', '\006', 'D', 'O', 'U', 'B',
'L', 'E', '\020', '\004', '\022', '\n', '\n', '\006', 'S', 'T', 'R', 'I', 'N', 'G', '\020', '\005', '\022', '\t', '\n', '\005', 'B', 'Y', 'T', 'E', 'S',
'\020', '\006', '\"', 'V', '\n', '\r', 'W', 'e', 'l', 'l', 'K', 'n', 'o', 'w', 'n', 'T', 'y', 'p', 'e', '\022', '\037', '\n', '\033', 'W', 'E',
'L', 'L', '_', 'K', 'N', 'O', 'W', 'N', '_', 'T', 'Y', 'P', 'E', '_', 'U', 'N', 'S', 'P', 'E', 'C', 'I', 'F', 'I', 'E', 'D',
'\020', '\000', '\022', '\007', '\n', '\003', 'A', 'N', 'Y', '\020', '\001', '\022', '\r', '\n', '\t', 'T', 'I', 'M', 'E', 'S', 'T', 'A', 'M', 'P', '\020',
'\002', '\022', '\014', '\n', '\010', 'D', 'U', 'R', 'A', 'T', 'I', 'O', 'N', '\020', '\003', 'B', '\013', '\n', '\t', 't', 'y', 'p', 'e', '_', 'k',
'i', 'n', 'd', '\"', '\263', '\005', '\n', '\004', 'D', 'e', 'c', 'l', '\022', '\022', '\n', '\004', 'n', 'a', 'm', 'e', '\030', '\001', ' ', '\001', '(',
'\t', 'R', '\004', 'n', 'a', 'm', 'e', '\022', '@', '\n', '\005', 'i', 'd', 'e', 'n', 't', '\030', '\002', ' ', '\001', '(', '\013', '2', '(', '.',
'g', 'o', 'o', 'g', 'l', 'e', '.', 'a', 'p', 'i', '.', 'e', 'x', 'p', 'r', '.', 'v', '1', 'a', 'l', 'p', 'h', 'a', '1', '.',
'D', 'e', 'c', 'l', '.', 'I', 'd', 'e', 'n', 't', 'D', 'e', 'c', 'l', 'H', '\000', 'R', '\005', 'i', 'd', 'e', 'n', 't', '\022', 'I',
'\n', '\010', 'f', 'u', 'n', 'c', 't', 'i', 'o', 'n', '\030', '\003', ' ', '\001', '(', '\013', '2', '+', '.', 'g', 'o', 'o', 'g', 'l', 'e',
'.', 'a', 'p', 'i', '.', 'e', 'x', 'p', 'r', '.', 'v', '1', 'a', 'l', 'p', 'h', 'a', '1', '.', 'D', 'e', 'c', 'l', '.', 'F',
'u', 'n', 'c', 't', 'i', 'o', 'n', 'D', 'e', 'c', 'l', 'H', '\000', 'R', '\010', 'f', 'u', 'n', 'c', 't', 'i', 'o', 'n', '\032', '\213',
'\001', '\n', '\t', 'I', 'd', 'e', 'n', 't', 'D', 'e', 'c', 'l', '\022', '2', '\n', '\004', 't', 'y', 'p', 'e', '\030', '\001', ' ', '\001', '(',
'\013', '2', '\036', '.', 'g', 'o', 'o', 'g', 'l', 'e', '.', 'a', 'p', 'i', '.', 'e', 'x', 'p', 'r', '.', 'v', '1', 'a', 'l', 'p',
'h', 'a', '1', '.', 'T', 'y', 'p', 'e', 'R', '\004', 't', 'y', 'p', 'e', '\022', '8', '\n', '\005', 'v', 'a', 'l', 'u', 'e', '\030', '\002',
' ', '\001', '(', '\013', '2', '\"', '.', 'g', 'o', 'o', 'g', 'l', 'e', '.', 'a', 'p', 'i', '.', 'e', 'x', 'p', 'r', '.', 'v', '1',
'a', 'l', 'p', 'h', 'a', '1', '.', 'C', 'o', 'n', 's', 't', 'a', 'n', 't', 'R', '\005', 'v', 'a', 'l', 'u', 'e', '\022', '\020', '\n',
'\003', 'd', 'o', 'c', '\030', '\003', ' ', '\001', '(', '\t', 'R', '\003', 'd', 'o', 'c', '\032', '\356', '\002', '\n', '\014', 'F', 'u', 'n', 'c', 't',
'i', 'o', 'n', 'D', 'e', 'c', 'l', '\022', 'R', '\n', '\t', 'o', 'v', 'e', 'r', 'l', 'o', 'a', 'd', 's', '\030', '\001', ' ', '\003', '(',
'\013', '2', '4', '.', 'g', 'o', 'o', 'g', 'l', 'e', '.', 'a', 'p', 'i', '.', 'e', 'x', 'p', 'r', '.', 'v', '1', 'a', 'l', 'p',
'h', 'a', '1', '.', 'D', 'e', 'c', 'l', '.', 'F', 'u', 'n', 'c', 't', 'i', 'o', 'n', 'D', 'e', 'c', 'l', '.', 'O', 'v', 'e',
'r', 'l', 'o', 'a', 'd', 'R', '\t', 'o', 'v', 'e', 'r', 'l', 'o', 'a', 'd', 's', '\032', '\211', '\002', '\n', '\010', 'O', 'v', 'e', 'r',
'l', 'o', 'a', 'd', '\022', '\037', '\n', '\013', 'o', 'v', 'e', 'r', 'l', 'o', 'a', 'd', '_', 'i', 'd', '\030', '\001', ' ', '\001', '(', '\t',
'R', '\n', 'o', 'v', 'e', 'r', 'l', 'o', 'a', 'd', 'I', 'd', '\022', '6', '\n', '\006', 'p', 'a', 'r', 'a', 'm', 's', '\030', '\002', ' ',
'\003', '(', '\013', '2', '\036', '.', 'g', 'o', 'o', 'g', 'l', 'e', '.', 'a', 'p', 'i', '.', 'e', 'x', 'p', 'r', '.', 'v', '1', 'a',
'l', 'p', 'h', 'a', '1', '.', 'T', 'y', 'p', 'e', 'R', '\006', 'p', 'a', 'r', 'a', 'm', 's', '\022', '\037', '\n', '\013', 't', 'y', 'p',
'e', '_', 'p', 'a', 'r', 'a', 'm', 's', '\030', '\003', ' ', '\003', '(', '\t', 'R', '\n', 't', 'y', 'p', 'e', 'P', 'a', 'r', 'a', 'm',
's', '\022', '?', '\n', '\013', 'r', 'e', 's', 'u', 'l', 't', '_', 't', 'y', 'p', 'e', '\030', '\004', ' ', '\001', '(', '\013', '2', '\036', '.',
'e', 'R', '\010', 'a', 'r', 'g', 'T', 'y', 'p', 'e', 's', '\032', 'k', '\n', '\014', 'A', 'b', 's', 't', 'r', 'a', 'c', 't', 'T', 'y',
'p', 'e', '\022', '\022', '\n', '\004', 'n', 'a', 'm', 'e', '\030', '\001', ' ', '\001', '(', '\t', 'R', '\004', 'n', 'a', 'm', 'e', '\022', 'G', '\n',
'\017', 'p', 'a', 'r', 'a', 'm', 'e', 't', 'e', 'r', '_', 't', 'y', 'p', 'e', 's', '\030', '\002', ' ', '\003', '(', '\013', '2', '\036', '.',
'g', 'o', 'o', 'g', 'l', 'e', '.', 'a', 'p', 'i', '.', 'e', 'x', 'p', 'r', '.', 'v', '1', 'a', 'l', 'p', 'h', 'a', '1', '.',
'T', 'y', 'p', 'e', 'R', '\n', 'r', 'e', 's', 'u', 'l', 't', 'T', 'y', 'p', 'e', '\022', '0', '\n', '\024', 'i', 's', '_', 'i', 'n',
's', 't', 'a', 'n', 'c', 'e', '_', 'f', 'u', 'n', 'c', 't', 'i', 'o', 'n', '\030', '\005', ' ', '\001', '(', '\010', 'R', '\022', 'i', 's',
'I', 'n', 's', 't', 'a', 'n', 'c', 'e', 'F', 'u', 'n', 'c', 't', 'i', 'o', 'n', '\022', '\020', '\n', '\003', 'd', 'o', 'c', '\030', '\006',
' ', '\001', '(', '\t', 'R', '\003', 'd', 'o', 'c', 'B', '\013', '\n', '\t', 'd', 'e', 'c', 'l', '_', 'k', 'i', 'n', 'd', '\"', 'z', '\n',
'\t', 'R', 'e', 'f', 'e', 'r', 'e', 'n', 'c', 'e', '\022', '\022', '\n', '\004', 'n', 'a', 'm', 'e', '\030', '\001', ' ', '\001', '(', '\t', 'R',
'\004', 'n', 'a', 'm', 'e', '\022', '\037', '\n', '\013', 'o', 'v', 'e', 'r', 'l', 'o', 'a', 'd', '_', 'i', 'd', '\030', '\003', ' ', '\003', '(',
'\t', 'R', '\n', 'o', 'v', 'e', 'r', 'l', 'o', 'a', 'd', 'I', 'd', '\022', '8', '\n', '\005', 'v', 'a', 'l', 'u', 'e', '\030', '\004', ' ',
'\001', '(', '\013', '2', '\"', '.', 'g', 'o', 'o', 'g', 'l', 'e', '.', 'a', 'p', 'i', '.', 'e', 'x', 'p', 'r', '.', 'v', '1', 'a',
'l', 'p', 'h', 'a', '1', '.', 'C', 'o', 'n', 's', 't', 'a', 'n', 't', 'R', '\005', 'v', 'a', 'l', 'u', 'e', 'B', 'l', '\n', '\034',
'c', 'o', 'm', '.', 'g', 'o', 'o', 'g', 'l', 'e', '.', 'a', 'p', 'i', '.', 'e', 'x', 'p', 'r', '.', 'v', '1', 'a', 'l', 'p',
'h', 'a', '1', 'B', '\t', 'D', 'e', 'c', 'l', 'P', 'r', 'o', 't', 'o', 'P', '\001', 'Z', '<', 'g', 'o', 'o', 'g', 'l', 'e', '.',
'g', 'o', 'l', 'a', 'n', 'g', '.', 'o', 'r', 'g', '/', 'g', 'e', 'n', 'p', 'r', 'o', 't', 'o', '/', 'g', 'o', 'o', 'g', 'l',
'e', 'a', 'p', 'i', 's', '/', 'a', 'p', 'i', '/', 'e', 'x', 'p', 'r', '/', 'v', '1', 'a', 'l', 'p', 'h', 'a', '1', ';', 'e',
'x', 'p', 'r', '\370', '\001', '\001', 'b', '\006', 'p', 'r', 'o', 't', 'o', '3',
'T', 'y', 'p', 'e', 'R', '\016', 'p', 'a', 'r', 'a', 'm', 'e', 't', 'e', 'r', 'T', 'y', 'p', 'e', 's', '\"', 's', '\n', '\r', 'P',
'r', 'i', 'm', 'i', 't', 'i', 'v', 'e', 'T', 'y', 'p', 'e', '\022', '\036', '\n', '\032', 'P', 'R', 'I', 'M', 'I', 'T', 'I', 'V', 'E',
'_', 'T', 'Y', 'P', 'E', '_', 'U', 'N', 'S', 'P', 'E', 'C', 'I', 'F', 'I', 'E', 'D', '\020', '\000', '\022', '\010', '\n', '\004', 'B', 'O',
'O', 'L', '\020', '\001', '\022', '\t', '\n', '\005', 'I', 'N', 'T', '6', '4', '\020', '\002', '\022', '\n', '\n', '\006', 'U', 'I', 'N', 'T', '6', '4',
'\020', '\003', '\022', '\n', '\n', '\006', 'D', 'O', 'U', 'B', 'L', 'E', '\020', '\004', '\022', '\n', '\n', '\006', 'S', 'T', 'R', 'I', 'N', 'G', '\020',
'\005', '\022', '\t', '\n', '\005', 'B', 'Y', 'T', 'E', 'S', '\020', '\006', '\"', 'V', '\n', '\r', 'W', 'e', 'l', 'l', 'K', 'n', 'o', 'w', 'n',
'T', 'y', 'p', 'e', '\022', '\037', '\n', '\033', 'W', 'E', 'L', 'L', '_', 'K', 'N', 'O', 'W', 'N', '_', 'T', 'Y', 'P', 'E', '_', 'U',
'N', 'S', 'P', 'E', 'C', 'I', 'F', 'I', 'E', 'D', '\020', '\000', '\022', '\007', '\n', '\003', 'A', 'N', 'Y', '\020', '\001', '\022', '\r', '\n', '\t',
'T', 'I', 'M', 'E', 'S', 'T', 'A', 'M', 'P', '\020', '\002', '\022', '\014', '\n', '\010', 'D', 'U', 'R', 'A', 'T', 'I', 'O', 'N', '\020', '\003',
'B', '\013', '\n', '\t', 't', 'y', 'p', 'e', '_', 'k', 'i', 'n', 'd', '\"', '\263', '\005', '\n', '\004', 'D', 'e', 'c', 'l', '\022', '\022', '\n',
'\004', 'n', 'a', 'm', 'e', '\030', '\001', ' ', '\001', '(', '\t', 'R', '\004', 'n', 'a', 'm', 'e', '\022', '@', '\n', '\005', 'i', 'd', 'e', 'n',
't', '\030', '\002', ' ', '\001', '(', '\013', '2', '(', '.', 'g', 'o', 'o', 'g', 'l', 'e', '.', 'a', 'p', 'i', '.', 'e', 'x', 'p', 'r',
'.', 'v', '1', 'a', 'l', 'p', 'h', 'a', '1', '.', 'D', 'e', 'c', 'l', '.', 'I', 'd', 'e', 'n', 't', 'D', 'e', 'c', 'l', 'H',
'\000', 'R', '\005', 'i', 'd', 'e', 'n', 't', '\022', 'I', '\n', '\010', 'f', 'u', 'n', 'c', 't', 'i', 'o', 'n', '\030', '\003', ' ', '\001', '(',
'\013', '2', '+', '.', 'g', 'o', 'o', 'g', 'l', 'e', '.', 'a', 'p', 'i', '.', 'e', 'x', 'p', 'r', '.', 'v', '1', 'a', 'l', 'p',
'h', 'a', '1', '.', 'D', 'e', 'c', 'l', '.', 'F', 'u', 'n', 'c', 't', 'i', 'o', 'n', 'D', 'e', 'c', 'l', 'H', '\000', 'R', '\010',
'f', 'u', 'n', 'c', 't', 'i', 'o', 'n', '\032', '\213', '\001', '\n', '\t', 'I', 'd', 'e', 'n', 't', 'D', 'e', 'c', 'l', '\022', '2', '\n',
'\004', 't', 'y', 'p', 'e', '\030', '\001', ' ', '\001', '(', '\013', '2', '\036', '.', 'g', 'o', 'o', 'g', 'l', 'e', '.', 'a', 'p', 'i', '.',
'e', 'x', 'p', 'r', '.', 'v', '1', 'a', 'l', 'p', 'h', 'a', '1', '.', 'T', 'y', 'p', 'e', 'R', '\004', 't', 'y', 'p', 'e', '\022',
'8', '\n', '\005', 'v', 'a', 'l', 'u', 'e', '\030', '\002', ' ', '\001', '(', '\013', '2', '\"', '.', 'g', 'o', 'o', 'g', 'l', 'e', '.', 'a',
'p', 'i', '.', 'e', 'x', 'p', 'r', '.', 'v', '1', 'a', 'l', 'p', 'h', 'a', '1', '.', 'C', 'o', 'n', 's', 't', 'a', 'n', 't',
'R', '\005', 'v', 'a', 'l', 'u', 'e', '\022', '\020', '\n', '\003', 'd', 'o', 'c', '\030', '\003', ' ', '\001', '(', '\t', 'R', '\003', 'd', 'o', 'c',
'\032', '\356', '\002', '\n', '\014', 'F', 'u', 'n', 'c', 't', 'i', 'o', 'n', 'D', 'e', 'c', 'l', '\022', 'R', '\n', '\t', 'o', 'v', 'e', 'r',
'l', 'o', 'a', 'd', 's', '\030', '\001', ' ', '\003', '(', '\013', '2', '4', '.', 'g', 'o', 'o', 'g', 'l', 'e', '.', 'a', 'p', 'i', '.',
'e', 'x', 'p', 'r', '.', 'v', '1', 'a', 'l', 'p', 'h', 'a', '1', '.', 'D', 'e', 'c', 'l', '.', 'F', 'u', 'n', 'c', 't', 'i',
'o', 'n', 'D', 'e', 'c', 'l', '.', 'O', 'v', 'e', 'r', 'l', 'o', 'a', 'd', 'R', '\t', 'o', 'v', 'e', 'r', 'l', 'o', 'a', 'd',
's', '\032', '\211', '\002', '\n', '\010', 'O', 'v', 'e', 'r', 'l', 'o', 'a', 'd', '\022', '\037', '\n', '\013', 'o', 'v', 'e', 'r', 'l', 'o', 'a',
'd', '_', 'i', 'd', '\030', '\001', ' ', '\001', '(', '\t', 'R', '\n', 'o', 'v', 'e', 'r', 'l', 'o', 'a', 'd', 'I', 'd', '\022', '6', '\n',
'\006', 'p', 'a', 'r', 'a', 'm', 's', '\030', '\002', ' ', '\003', '(', '\013', '2', '\036', '.', 'g', 'o', 'o', 'g', 'l', 'e', '.', 'a', 'p',
'i', '.', 'e', 'x', 'p', 'r', '.', 'v', '1', 'a', 'l', 'p', 'h', 'a', '1', '.', 'T', 'y', 'p', 'e', 'R', '\006', 'p', 'a', 'r',
'a', 'm', 's', '\022', '\037', '\n', '\013', 't', 'y', 'p', 'e', '_', 'p', 'a', 'r', 'a', 'm', 's', '\030', '\003', ' ', '\003', '(', '\t', 'R',
'\n', 't', 'y', 'p', 'e', 'P', 'a', 'r', 'a', 'm', 's', '\022', '?', '\n', '\013', 'r', 'e', 's', 'u', 'l', 't', '_', 't', 'y', 'p',
'e', '\030', '\004', ' ', '\001', '(', '\013', '2', '\036', '.', 'g', 'o', 'o', 'g', 'l', 'e', '.', 'a', 'p', 'i', '.', 'e', 'x', 'p', 'r',
'.', 'v', '1', 'a', 'l', 'p', 'h', 'a', '1', '.', 'T', 'y', 'p', 'e', 'R', '\n', 'r', 'e', 's', 'u', 'l', 't', 'T', 'y', 'p',
'e', '\022', '0', '\n', '\024', 'i', 's', '_', 'i', 'n', 's', 't', 'a', 'n', 'c', 'e', '_', 'f', 'u', 'n', 'c', 't', 'i', 'o', 'n',
'\030', '\005', ' ', '\001', '(', '\010', 'R', '\022', 'i', 's', 'I', 'n', 's', 't', 'a', 'n', 'c', 'e', 'F', 'u', 'n', 'c', 't', 'i', 'o',
'n', '\022', '\020', '\n', '\003', 'd', 'o', 'c', '\030', '\006', ' ', '\001', '(', '\t', 'R', '\003', 'd', 'o', 'c', 'B', '\013', '\n', '\t', 'd', 'e',
'c', 'l', '_', 'k', 'i', 'n', 'd', '\"', 'z', '\n', '\t', 'R', 'e', 'f', 'e', 'r', 'e', 'n', 'c', 'e', '\022', '\022', '\n', '\004', 'n',
'a', 'm', 'e', '\030', '\001', ' ', '\001', '(', '\t', 'R', '\004', 'n', 'a', 'm', 'e', '\022', '\037', '\n', '\013', 'o', 'v', 'e', 'r', 'l', 'o',
'a', 'd', '_', 'i', 'd', '\030', '\003', ' ', '\003', '(', '\t', 'R', '\n', 'o', 'v', 'e', 'r', 'l', 'o', 'a', 'd', 'I', 'd', '\022', '8',
'\n', '\005', 'v', 'a', 'l', 'u', 'e', '\030', '\004', ' ', '\001', '(', '\013', '2', '\"', '.', 'g', 'o', 'o', 'g', 'l', 'e', '.', 'a', 'p',
'i', '.', 'e', 'x', 'p', 'r', '.', 'v', '1', 'a', 'l', 'p', 'h', 'a', '1', '.', 'C', 'o', 'n', 's', 't', 'a', 'n', 't', 'R',
'\005', 'v', 'a', 'l', 'u', 'e', 'B', 'l', '\n', '\034', 'c', 'o', 'm', '.', 'g', 'o', 'o', 'g', 'l', 'e', '.', 'a', 'p', 'i', '.',
'e', 'x', 'p', 'r', '.', 'v', '1', 'a', 'l', 'p', 'h', 'a', '1', 'B', '\t', 'D', 'e', 'c', 'l', 'P', 'r', 'o', 't', 'o', 'P',
'\001', 'Z', '<', 'g', 'o', 'o', 'g', 'l', 'e', '.', 'g', 'o', 'l', 'a', 'n', 'g', '.', 'o', 'r', 'g', '/', 'g', 'e', 'n', 'p',
'r', 'o', 't', 'o', '/', 'g', 'o', 'o', 'g', 'l', 'e', 'a', 'p', 'i', 's', '/', 'a', 'p', 'i', '/', 'e', 'x', 'p', 'r', '/',
'v', '1', 'a', 'l', 'p', 'h', 'a', '1', ';', 'e', 'x', 'p', 'r', '\370', '\001', '\001', 'b', '\006', 'p', 'r', 'o', 't', 'o', '3',
};
static _upb_DefPool_Init *deps[4] = {
@ -149,5 +150,5 @@ _upb_DefPool_Init google_api_expr_v1alpha1_checked_proto_upbdefinit = {
deps,
&google_api_expr_v1alpha1_checked_proto_upb_file_layout,
"google/api/expr/v1alpha1/checked.proto",
UPB_STRINGVIEW_INIT(descriptor, 3089)
UPB_STRINGVIEW_INIT(descriptor, 3124)
};

@ -12,7 +12,7 @@
extern _upb_DefPool_Init google_protobuf_duration_proto_upbdefinit;
extern _upb_DefPool_Init google_protobuf_struct_proto_upbdefinit;
extern _upb_DefPool_Init google_protobuf_timestamp_proto_upbdefinit;
static const char descriptor[3059] = {'\n', '%', 'g', 'o', 'o', 'g', 'l', 'e', '/', 'a', 'p', 'i', '/', 'e', 'x', 'p', 'r', '/', 'v', '1', 'a', 'l', 'p', 'h', 'a',
static const char descriptor[3637] = {'\n', '%', 'g', 'o', 'o', 'g', 'l', 'e', '/', 'a', 'p', 'i', '/', 'e', 'x', 'p', 'r', '/', 'v', '1', 'a', 'l', 'p', 'h', 'a',
'1', '/', 's', 'y', 'n', 't', 'a', 'x', '.', 'p', 'r', 'o', 't', 'o', '\022', '\030', 'g', 'o', 'o', 'g', 'l', 'e', '.', 'a', 'p',
'i', '.', 'e', 'x', 'p', 'r', '.', 'v', '1', 'a', 'l', 'p', 'h', 'a', '1', '\032', '\036', 'g', 'o', 'o', 'g', 'l', 'e', '/', 'p',
'r', 'o', 't', 'o', 'b', 'u', 'f', '/', 'd', 'u', 'r', 'a', 't', 'i', 'o', 'n', '.', 'p', 'r', 'o', 't', 'o', '\032', '\034', 'g',
@ -23,8 +23,8 @@ static const char descriptor[3059] = {'\n', '%', 'g', 'o', 'o', 'g', 'l', 'e', '
'p', 'i', '.', 'e', 'x', 'p', 'r', '.', 'v', '1', 'a', 'l', 'p', 'h', 'a', '1', '.', 'E', 'x', 'p', 'r', 'R', '\004', 'e', 'x',
'p', 'r', '\022', 'E', '\n', '\013', 's', 'o', 'u', 'r', 'c', 'e', '_', 'i', 'n', 'f', 'o', '\030', '\003', ' ', '\001', '(', '\013', '2', '$',
'.', 'g', 'o', 'o', 'g', 'l', 'e', '.', 'a', 'p', 'i', '.', 'e', 'x', 'p', 'r', '.', 'v', '1', 'a', 'l', 'p', 'h', 'a', '1',
'.', 'S', 'o', 'u', 'r', 'c', 'e', 'I', 'n', 'f', 'o', 'R', '\n', 's', 'o', 'u', 'r', 'c', 'e', 'I', 'n', 'f', 'o', '\"', '\334',
'\014', '\n', '\004', 'E', 'x', 'p', 'r', '\022', '\016', '\n', '\002', 'i', 'd', '\030', '\002', ' ', '\001', '(', '\003', 'R', '\002', 'i', 'd', '\022', 'C',
'.', 'S', 'o', 'u', 'r', 'c', 'e', 'I', 'n', 'f', 'o', 'R', '\n', 's', 'o', 'u', 'r', 'c', 'e', 'I', 'n', 'f', 'o', '\"', '\313',
'\r', '\n', '\004', 'E', 'x', 'p', 'r', '\022', '\016', '\n', '\002', 'i', 'd', '\030', '\002', ' ', '\001', '(', '\003', 'R', '\002', 'i', 'd', '\022', 'C',
'\n', '\n', 'c', 'o', 'n', 's', 't', '_', 'e', 'x', 'p', 'r', '\030', '\003', ' ', '\001', '(', '\013', '2', '\"', '.', 'g', 'o', 'o', 'g',
'l', 'e', '.', 'a', 'p', 'i', '.', 'e', 'x', 'p', 'r', '.', 'v', '1', 'a', 'l', 'p', 'h', 'a', '1', '.', 'C', 'o', 'n', 's',
't', 'a', 'n', 't', 'H', '\000', 'R', '\t', 'c', 'o', 'n', 's', 't', 'E', 'x', 'p', 'r', '\022', 'E', '\n', '\n', 'i', 'd', 'e', 'n',
@ -57,84 +57,107 @@ static const char descriptor[3059] = {'\n', '%', 'g', 'o', 'o', 'g', 'l', 'e', '
'p', 'h', 'a', '1', '.', 'E', 'x', 'p', 'r', 'R', '\006', 't', 'a', 'r', 'g', 'e', 't', '\022', '\032', '\n', '\010', 'f', 'u', 'n', 'c',
't', 'i', 'o', 'n', '\030', '\002', ' ', '\001', '(', '\t', 'R', '\010', 'f', 'u', 'n', 'c', 't', 'i', 'o', 'n', '\022', '2', '\n', '\004', 'a',
'r', 'g', 's', '\030', '\003', ' ', '\003', '(', '\013', '2', '\036', '.', 'g', 'o', 'o', 'g', 'l', 'e', '.', 'a', 'p', 'i', '.', 'e', 'x',
'p', 'r', '.', 'v', '1', 'a', 'l', 'p', 'h', 'a', '1', '.', 'E', 'x', 'p', 'r', 'R', '\004', 'a', 'r', 'g', 's', '\032', 'H', '\n',
'p', 'r', '.', 'v', '1', 'a', 'l', 'p', 'h', 'a', '1', '.', 'E', 'x', 'p', 'r', 'R', '\004', 'a', 'r', 'g', 's', '\032', 's', '\n',
'\n', 'C', 'r', 'e', 'a', 't', 'e', 'L', 'i', 's', 't', '\022', ':', '\n', '\010', 'e', 'l', 'e', 'm', 'e', 'n', 't', 's', '\030', '\001',
' ', '\003', '(', '\013', '2', '\036', '.', 'g', 'o', 'o', 'g', 'l', 'e', '.', 'a', 'p', 'i', '.', 'e', 'x', 'p', 'r', '.', 'v', '1',
'a', 'l', 'p', 'h', 'a', '1', '.', 'E', 'x', 'p', 'r', 'R', '\010', 'e', 'l', 'e', 'm', 'e', 'n', 't', 's', '\032', '\264', '\002', '\n',
'\014', 'C', 'r', 'e', 'a', 't', 'e', 'S', 't', 'r', 'u', 'c', 't', '\022', '!', '\n', '\014', 'm', 'e', 's', 's', 'a', 'g', 'e', '_',
'n', 'a', 'm', 'e', '\030', '\001', ' ', '\001', '(', '\t', 'R', '\013', 'm', 'e', 's', 's', 'a', 'g', 'e', 'N', 'a', 'm', 'e', '\022', 'K',
'\n', '\007', 'e', 'n', 't', 'r', 'i', 'e', 's', '\030', '\002', ' ', '\003', '(', '\013', '2', '1', '.', 'g', 'o', 'o', 'g', 'l', 'e', '.',
'a', 'p', 'i', '.', 'e', 'x', 'p', 'r', '.', 'v', '1', 'a', 'l', 'p', 'h', 'a', '1', '.', 'E', 'x', 'p', 'r', '.', 'C', 'r',
'e', 'a', 't', 'e', 'S', 't', 'r', 'u', 'c', 't', '.', 'E', 'n', 't', 'r', 'y', 'R', '\007', 'e', 'n', 't', 'r', 'i', 'e', 's',
'\032', '\263', '\001', '\n', '\005', 'E', 'n', 't', 'r', 'y', '\022', '\016', '\n', '\002', 'i', 'd', '\030', '\001', ' ', '\001', '(', '\003', 'R', '\002', 'i',
'd', '\022', '\035', '\n', '\t', 'f', 'i', 'e', 'l', 'd', '_', 'k', 'e', 'y', '\030', '\002', ' ', '\001', '(', '\t', 'H', '\000', 'R', '\010', 'f',
'i', 'e', 'l', 'd', 'K', 'e', 'y', '\022', '9', '\n', '\007', 'm', 'a', 'p', '_', 'k', 'e', 'y', '\030', '\003', ' ', '\001', '(', '\013', '2',
'a', 'l', 'p', 'h', 'a', '1', '.', 'E', 'x', 'p', 'r', 'R', '\010', 'e', 'l', 'e', 'm', 'e', 'n', 't', 's', '\022', ')', '\n', '\020',
'o', 'p', 't', 'i', 'o', 'n', 'a', 'l', '_', 'i', 'n', 'd', 'i', 'c', 'e', 's', '\030', '\002', ' ', '\003', '(', '\005', 'R', '\017', 'o',
'p', 't', 'i', 'o', 'n', 'a', 'l', 'I', 'n', 'd', 'i', 'c', 'e', 's', '\032', '\333', '\002', '\n', '\014', 'C', 'r', 'e', 'a', 't', 'e',
'S', 't', 'r', 'u', 'c', 't', '\022', '!', '\n', '\014', 'm', 'e', 's', 's', 'a', 'g', 'e', '_', 'n', 'a', 'm', 'e', '\030', '\001', ' ',
'\001', '(', '\t', 'R', '\013', 'm', 'e', 's', 's', 'a', 'g', 'e', 'N', 'a', 'm', 'e', '\022', 'K', '\n', '\007', 'e', 'n', 't', 'r', 'i',
'e', 's', '\030', '\002', ' ', '\003', '(', '\013', '2', '1', '.', 'g', 'o', 'o', 'g', 'l', 'e', '.', 'a', 'p', 'i', '.', 'e', 'x', 'p',
'r', '.', 'v', '1', 'a', 'l', 'p', 'h', 'a', '1', '.', 'E', 'x', 'p', 'r', '.', 'C', 'r', 'e', 'a', 't', 'e', 'S', 't', 'r',
'u', 'c', 't', '.', 'E', 'n', 't', 'r', 'y', 'R', '\007', 'e', 'n', 't', 'r', 'i', 'e', 's', '\032', '\332', '\001', '\n', '\005', 'E', 'n',
't', 'r', 'y', '\022', '\016', '\n', '\002', 'i', 'd', '\030', '\001', ' ', '\001', '(', '\003', 'R', '\002', 'i', 'd', '\022', '\035', '\n', '\t', 'f', 'i',
'e', 'l', 'd', '_', 'k', 'e', 'y', '\030', '\002', ' ', '\001', '(', '\t', 'H', '\000', 'R', '\010', 'f', 'i', 'e', 'l', 'd', 'K', 'e', 'y',
'\022', '9', '\n', '\007', 'm', 'a', 'p', '_', 'k', 'e', 'y', '\030', '\003', ' ', '\001', '(', '\013', '2', '\036', '.', 'g', 'o', 'o', 'g', 'l',
'e', '.', 'a', 'p', 'i', '.', 'e', 'x', 'p', 'r', '.', 'v', '1', 'a', 'l', 'p', 'h', 'a', '1', '.', 'E', 'x', 'p', 'r', 'H',
'\000', 'R', '\006', 'm', 'a', 'p', 'K', 'e', 'y', '\022', '4', '\n', '\005', 'v', 'a', 'l', 'u', 'e', '\030', '\004', ' ', '\001', '(', '\013', '2',
'\036', '.', 'g', 'o', 'o', 'g', 'l', 'e', '.', 'a', 'p', 'i', '.', 'e', 'x', 'p', 'r', '.', 'v', '1', 'a', 'l', 'p', 'h', 'a',
'1', '.', 'E', 'x', 'p', 'r', 'H', '\000', 'R', '\006', 'm', 'a', 'p', 'K', 'e', 'y', '\022', '4', '\n', '\005', 'v', 'a', 'l', 'u', 'e',
'\030', '\004', ' ', '\001', '(', '\013', '2', '\036', '.', 'g', 'o', 'o', 'g', 'l', 'e', '.', 'a', 'p', 'i', '.', 'e', 'x', 'p', 'r', '.',
'v', '1', 'a', 'l', 'p', 'h', 'a', '1', '.', 'E', 'x', 'p', 'r', 'R', '\005', 'v', 'a', 'l', 'u', 'e', 'B', '\n', '\n', '\010', 'k',
'e', 'y', '_', 'k', 'i', 'n', 'd', '\032', '\375', '\002', '\n', '\r', 'C', 'o', 'm', 'p', 'r', 'e', 'h', 'e', 'n', 's', 'i', 'o', 'n',
'\022', '\031', '\n', '\010', 'i', 't', 'e', 'r', '_', 'v', 'a', 'r', '\030', '\001', ' ', '\001', '(', '\t', 'R', '\007', 'i', 't', 'e', 'r', 'V',
'a', 'r', '\022', '=', '\n', '\n', 'i', 't', 'e', 'r', '_', 'r', 'a', 'n', 'g', 'e', '\030', '\002', ' ', '\001', '(', '\013', '2', '\036', '.',
'1', '.', 'E', 'x', 'p', 'r', 'R', '\005', 'v', 'a', 'l', 'u', 'e', '\022', '%', '\n', '\016', 'o', 'p', 't', 'i', 'o', 'n', 'a', 'l',
'_', 'e', 'n', 't', 'r', 'y', '\030', '\005', ' ', '\001', '(', '\010', 'R', '\r', 'o', 'p', 't', 'i', 'o', 'n', 'a', 'l', 'E', 'n', 't',
'r', 'y', 'B', '\n', '\n', '\010', 'k', 'e', 'y', '_', 'k', 'i', 'n', 'd', '\032', '\232', '\003', '\n', '\r', 'C', 'o', 'm', 'p', 'r', 'e',
'h', 'e', 'n', 's', 'i', 'o', 'n', '\022', '\031', '\n', '\010', 'i', 't', 'e', 'r', '_', 'v', 'a', 'r', '\030', '\001', ' ', '\001', '(', '\t',
'R', '\007', 'i', 't', 'e', 'r', 'V', 'a', 'r', '\022', '\033', '\n', '\t', 'i', 't', 'e', 'r', '_', 'v', 'a', 'r', '2', '\030', '\010', ' ',
'\001', '(', '\t', 'R', '\010', 'i', 't', 'e', 'r', 'V', 'a', 'r', '2', '\022', '=', '\n', '\n', 'i', 't', 'e', 'r', '_', 'r', 'a', 'n',
'g', 'e', '\030', '\002', ' ', '\001', '(', '\013', '2', '\036', '.', 'g', 'o', 'o', 'g', 'l', 'e', '.', 'a', 'p', 'i', '.', 'e', 'x', 'p',
'r', '.', 'v', '1', 'a', 'l', 'p', 'h', 'a', '1', '.', 'E', 'x', 'p', 'r', 'R', '\t', 'i', 't', 'e', 'r', 'R', 'a', 'n', 'g',
'e', '\022', '\031', '\n', '\010', 'a', 'c', 'c', 'u', '_', 'v', 'a', 'r', '\030', '\003', ' ', '\001', '(', '\t', 'R', '\007', 'a', 'c', 'c', 'u',
'V', 'a', 'r', '\022', ';', '\n', '\t', 'a', 'c', 'c', 'u', '_', 'i', 'n', 'i', 't', '\030', '\004', ' ', '\001', '(', '\013', '2', '\036', '.',
'g', 'o', 'o', 'g', 'l', 'e', '.', 'a', 'p', 'i', '.', 'e', 'x', 'p', 'r', '.', 'v', '1', 'a', 'l', 'p', 'h', 'a', '1', '.',
'E', 'x', 'p', 'r', 'R', '\t', 'i', 't', 'e', 'r', 'R', 'a', 'n', 'g', 'e', '\022', '\031', '\n', '\010', 'a', 'c', 'c', 'u', '_', 'v',
'a', 'r', '\030', '\003', ' ', '\001', '(', '\t', 'R', '\007', 'a', 'c', 'c', 'u', 'V', 'a', 'r', '\022', ';', '\n', '\t', 'a', 'c', 'c', 'u',
'_', 'i', 'n', 'i', 't', '\030', '\004', ' ', '\001', '(', '\013', '2', '\036', '.', 'g', 'o', 'o', 'g', 'l', 'e', '.', 'a', 'p', 'i', '.',
'e', 'x', 'p', 'r', '.', 'v', '1', 'a', 'l', 'p', 'h', 'a', '1', '.', 'E', 'x', 'p', 'r', 'R', '\010', 'a', 'c', 'c', 'u', 'I',
'n', 'i', 't', '\022', 'E', '\n', '\016', 'l', 'o', 'o', 'p', '_', 'c', 'o', 'n', 'd', 'i', 't', 'i', 'o', 'n', '\030', '\005', ' ', '\001',
'(', '\013', '2', '\036', '.', 'g', 'o', 'o', 'g', 'l', 'e', '.', 'a', 'p', 'i', '.', 'e', 'x', 'p', 'r', '.', 'v', '1', 'a', 'l',
'p', 'h', 'a', '1', '.', 'E', 'x', 'p', 'r', 'R', '\r', 'l', 'o', 'o', 'p', 'C', 'o', 'n', 'd', 'i', 't', 'i', 'o', 'n', '\022',
';', '\n', '\t', 'l', 'o', 'o', 'p', '_', 's', 't', 'e', 'p', '\030', '\006', ' ', '\001', '(', '\013', '2', '\036', '.', 'g', 'o', 'o', 'g',
'l', 'e', '.', 'a', 'p', 'i', '.', 'e', 'x', 'p', 'r', '.', 'v', '1', 'a', 'l', 'p', 'h', 'a', '1', '.', 'E', 'x', 'p', 'r',
'R', '\010', 'l', 'o', 'o', 'p', 'S', 't', 'e', 'p', '\022', '6', '\n', '\006', 'r', 'e', 's', 'u', 'l', 't', '\030', '\007', ' ', '\001', '(',
'\013', '2', '\036', '.', 'g', 'o', 'o', 'g', 'l', 'e', '.', 'a', 'p', 'i', '.', 'e', 'x', 'p', 'r', '.', 'v', '1', 'a', 'l', 'p',
'h', 'a', '1', '.', 'E', 'x', 'p', 'r', 'R', '\006', 'r', 'e', 's', 'u', 'l', 't', 'B', '\013', '\n', '\t', 'e', 'x', 'p', 'r', '_',
'k', 'i', 'n', 'd', '\"', '\301', '\003', '\n', '\010', 'C', 'o', 'n', 's', 't', 'a', 'n', 't', '\022', ';', '\n', '\n', 'n', 'u', 'l', 'l',
'_', 'v', 'a', 'l', 'u', 'e', '\030', '\001', ' ', '\001', '(', '\016', '2', '\032', '.', 'g', 'o', 'o', 'g', 'l', 'e', '.', 'p', 'r', 'o',
't', 'o', 'b', 'u', 'f', '.', 'N', 'u', 'l', 'l', 'V', 'a', 'l', 'u', 'e', 'H', '\000', 'R', '\t', 'n', 'u', 'l', 'l', 'V', 'a',
'l', 'u', 'e', '\022', '\037', '\n', '\n', 'b', 'o', 'o', 'l', '_', 'v', 'a', 'l', 'u', 'e', '\030', '\002', ' ', '\001', '(', '\010', 'H', '\000',
'R', '\t', 'b', 'o', 'o', 'l', 'V', 'a', 'l', 'u', 'e', '\022', '!', '\n', '\013', 'i', 'n', 't', '6', '4', '_', 'v', 'a', 'l', 'u',
'e', '\030', '\003', ' ', '\001', '(', '\003', 'H', '\000', 'R', '\n', 'i', 'n', 't', '6', '4', 'V', 'a', 'l', 'u', 'e', '\022', '#', '\n', '\014',
'u', 'i', 'n', 't', '6', '4', '_', 'v', 'a', 'l', 'u', 'e', '\030', '\004', ' ', '\001', '(', '\004', 'H', '\000', 'R', '\013', 'u', 'i', 'n',
't', '6', '4', 'V', 'a', 'l', 'u', 'e', '\022', '#', '\n', '\014', 'd', 'o', 'u', 'b', 'l', 'e', '_', 'v', 'a', 'l', 'u', 'e', '\030',
'\005', ' ', '\001', '(', '\001', 'H', '\000', 'R', '\013', 'd', 'o', 'u', 'b', 'l', 'e', 'V', 'a', 'l', 'u', 'e', '\022', '#', '\n', '\014', 's',
't', 'r', 'i', 'n', 'g', '_', 'v', 'a', 'l', 'u', 'e', '\030', '\006', ' ', '\001', '(', '\t', 'H', '\000', 'R', '\013', 's', 't', 'r', 'i',
'n', 'g', 'V', 'a', 'l', 'u', 'e', '\022', '!', '\n', '\013', 'b', 'y', 't', 'e', 's', '_', 'v', 'a', 'l', 'u', 'e', '\030', '\007', ' ',
'\001', '(', '\014', 'H', '\000', 'R', '\n', 'b', 'y', 't', 'e', 's', 'V', 'a', 'l', 'u', 'e', '\022', 'F', '\n', '\016', 'd', 'u', 'r', 'a',
't', 'i', 'o', 'n', '_', 'v', 'a', 'l', 'u', 'e', '\030', '\010', ' ', '\001', '(', '\013', '2', '\031', '.', 'g', 'o', 'o', 'g', 'l', 'e',
'.', 'p', 'r', 'o', 't', 'o', 'b', 'u', 'f', '.', 'D', 'u', 'r', 'a', 't', 'i', 'o', 'n', 'B', '\002', '\030', '\001', 'H', '\000', 'R',
'\r', 'd', 'u', 'r', 'a', 't', 'i', 'o', 'n', 'V', 'a', 'l', 'u', 'e', '\022', 'I', '\n', '\017', 't', 'i', 'm', 'e', 's', 't', 'a',
'm', 'p', '_', 'v', 'a', 'l', 'u', 'e', '\030', '\t', ' ', '\001', '(', '\013', '2', '\032', '.', 'g', 'o', 'o', 'g', 'l', 'e', '.', 'p',
'r', 'o', 't', 'o', 'b', 'u', 'f', '.', 'T', 'i', 'm', 'e', 's', 't', 'a', 'm', 'p', 'B', '\002', '\030', '\001', 'H', '\000', 'R', '\016',
't', 'i', 'm', 'e', 's', 't', 'a', 'm', 'p', 'V', 'a', 'l', 'u', 'e', 'B', '\017', '\n', '\r', 'c', 'o', 'n', 's', 't', 'a', 'n',
't', '_', 'k', 'i', 'n', 'd', '\"', '\271', '\003', '\n', '\n', 'S', 'o', 'u', 'r', 'c', 'e', 'I', 'n', 'f', 'o', '\022', '%', '\n', '\016',
's', 'y', 'n', 't', 'a', 'x', '_', 'v', 'e', 'r', 's', 'i', 'o', 'n', '\030', '\001', ' ', '\001', '(', '\t', 'R', '\r', 's', 'y', 'n',
't', 'a', 'x', 'V', 'e', 'r', 's', 'i', 'o', 'n', '\022', '\032', '\n', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\030', '\002', ' ',
'\001', '(', '\t', 'R', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\022', '!', '\n', '\014', 'l', 'i', 'n', 'e', '_', 'o', 'f', 'f',
's', 'e', 't', 's', '\030', '\003', ' ', '\003', '(', '\005', 'R', '\013', 'l', 'i', 'n', 'e', 'O', 'f', 'f', 's', 'e', 't', 's', '\022', 'Q',
'\n', '\t', 'p', 'o', 's', 'i', 't', 'i', 'o', 'n', 's', '\030', '\004', ' ', '\003', '(', '\013', '2', '3', '.', 'g', 'o', 'o', 'g', 'l',
'e', '.', 'a', 'p', 'i', '.', 'e', 'x', 'p', 'r', '.', 'v', '1', 'a', 'l', 'p', 'h', 'a', '1', '.', 'S', 'o', 'u', 'r', 'c',
'e', 'I', 'n', 'f', 'o', '.', 'P', 'o', 's', 'i', 't', 'i', 'o', 'n', 's', 'E', 'n', 't', 'r', 'y', 'R', '\t', 'p', 'o', 's',
'i', 't', 'i', 'o', 'n', 's', '\022', 'U', '\n', '\013', 'm', 'a', 'c', 'r', 'o', '_', 'c', 'a', 'l', 'l', 's', '\030', '\005', ' ', '\003',
'(', '\013', '2', '4', '.', 'g', 'o', 'o', 'g', 'l', 'e', '.', 'a', 'p', 'i', '.', 'e', 'x', 'p', 'r', '.', 'v', '1', 'a', 'l',
'p', 'h', 'a', '1', '.', 'S', 'o', 'u', 'r', 'c', 'e', 'I', 'n', 'f', 'o', '.', 'M', 'a', 'c', 'r', 'o', 'C', 'a', 'l', 'l',
's', 'E', 'n', 't', 'r', 'y', 'R', '\n', 'm', 'a', 'c', 'r', 'o', 'C', 'a', 'l', 'l', 's', '\032', '<', '\n', '\016', 'P', 'o', 's',
'i', 't', 'i', 'o', 'n', 's', 'E', 'n', 't', 'r', 'y', '\022', '\020', '\n', '\003', 'k', 'e', 'y', '\030', '\001', ' ', '\001', '(', '\003', 'R',
'\003', 'k', 'e', 'y', '\022', '\024', '\n', '\005', 'v', 'a', 'l', 'u', 'e', '\030', '\002', ' ', '\001', '(', '\005', 'R', '\005', 'v', 'a', 'l', 'u',
'e', ':', '\002', '8', '\001', '\032', ']', '\n', '\017', 'M', 'a', 'c', 'r', 'o', 'C', 'a', 'l', 'l', 's', 'E', 'n', 't', 'r', 'y', '\022',
'\020', '\n', '\003', 'k', 'e', 'y', '\030', '\001', ' ', '\001', '(', '\003', 'R', '\003', 'k', 'e', 'y', '\022', '4', '\n', '\005', 'v', 'a', 'l', 'u',
'e', '\030', '\002', ' ', '\001', '(', '\013', '2', '\036', '.', 'g', 'o', 'o', 'g', 'l', 'e', '.', 'a', 'p', 'i', '.', 'e', 'x', 'p', 'r',
'.', 'v', '1', 'a', 'l', 'p', 'h', 'a', '1', '.', 'E', 'x', 'p', 'r', 'R', '\005', 'v', 'a', 'l', 'u', 'e', ':', '\002', '8', '\001',
'\"', 'p', '\n', '\016', 'S', 'o', 'u', 'r', 'c', 'e', 'P', 'o', 's', 'i', 't', 'i', 'o', 'n', '\022', '\032', '\n', '\010', 'l', 'o', 'c',
'a', 't', 'i', 'o', 'n', '\030', '\001', ' ', '\001', '(', '\t', 'R', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\022', '\026', '\n', '\006',
'o', 'f', 'f', 's', 'e', 't', '\030', '\002', ' ', '\001', '(', '\005', 'R', '\006', 'o', 'f', 'f', 's', 'e', 't', '\022', '\022', '\n', '\004', 'l',
'i', 'n', 'e', '\030', '\003', ' ', '\001', '(', '\005', 'R', '\004', 'l', 'i', 'n', 'e', '\022', '\026', '\n', '\006', 'c', 'o', 'l', 'u', 'm', 'n',
'\030', '\004', ' ', '\001', '(', '\005', 'R', '\006', 'c', 'o', 'l', 'u', 'm', 'n', 'B', 'n', '\n', '\034', 'c', 'o', 'm', '.', 'g', 'o', 'o',
'g', 'l', 'e', '.', 'a', 'p', 'i', '.', 'e', 'x', 'p', 'r', '.', 'v', '1', 'a', 'l', 'p', 'h', 'a', '1', 'B', '\013', 'S', 'y',
'n', 't', 'a', 'x', 'P', 'r', 'o', 't', 'o', 'P', '\001', 'Z', '<', 'g', 'o', 'o', 'g', 'l', 'e', '.', 'g', 'o', 'l', 'a', 'n',
'g', '.', 'o', 'r', 'g', '/', 'g', 'e', 'n', 'p', 'r', 'o', 't', 'o', '/', 'g', 'o', 'o', 'g', 'l', 'e', 'a', 'p', 'i', 's',
'/', 'a', 'p', 'i', '/', 'e', 'x', 'p', 'r', '/', 'v', '1', 'a', 'l', 'p', 'h', 'a', '1', ';', 'e', 'x', 'p', 'r', '\370', '\001',
'\001', 'b', '\006', 'p', 'r', 'o', 't', 'o', '3',
'E', 'x', 'p', 'r', 'R', '\010', 'a', 'c', 'c', 'u', 'I', 'n', 'i', 't', '\022', 'E', '\n', '\016', 'l', 'o', 'o', 'p', '_', 'c', 'o',
'n', 'd', 'i', 't', 'i', 'o', 'n', '\030', '\005', ' ', '\001', '(', '\013', '2', '\036', '.', 'g', 'o', 'o', 'g', 'l', 'e', '.', 'a', 'p',
'i', '.', 'e', 'x', 'p', 'r', '.', 'v', '1', 'a', 'l', 'p', 'h', 'a', '1', '.', 'E', 'x', 'p', 'r', 'R', '\r', 'l', 'o', 'o',
'p', 'C', 'o', 'n', 'd', 'i', 't', 'i', 'o', 'n', '\022', ';', '\n', '\t', 'l', 'o', 'o', 'p', '_', 's', 't', 'e', 'p', '\030', '\006',
' ', '\001', '(', '\013', '2', '\036', '.', 'g', 'o', 'o', 'g', 'l', 'e', '.', 'a', 'p', 'i', '.', 'e', 'x', 'p', 'r', '.', 'v', '1',
'a', 'l', 'p', 'h', 'a', '1', '.', 'E', 'x', 'p', 'r', 'R', '\010', 'l', 'o', 'o', 'p', 'S', 't', 'e', 'p', '\022', '6', '\n', '\006',
'r', 'e', 's', 'u', 'l', 't', '\030', '\007', ' ', '\001', '(', '\013', '2', '\036', '.', 'g', 'o', 'o', 'g', 'l', 'e', '.', 'a', 'p', 'i',
'.', 'e', 'x', 'p', 'r', '.', 'v', '1', 'a', 'l', 'p', 'h', 'a', '1', '.', 'E', 'x', 'p', 'r', 'R', '\006', 'r', 'e', 's', 'u',
'l', 't', 'B', '\013', '\n', '\t', 'e', 'x', 'p', 'r', '_', 'k', 'i', 'n', 'd', '\"', '\301', '\003', '\n', '\010', 'C', 'o', 'n', 's', 't',
'a', 'n', 't', '\022', ';', '\n', '\n', 'n', 'u', 'l', 'l', '_', 'v', 'a', 'l', 'u', 'e', '\030', '\001', ' ', '\001', '(', '\016', '2', '\032',
'.', 'g', 'o', 'o', 'g', 'l', 'e', '.', 'p', 'r', 'o', 't', 'o', 'b', 'u', 'f', '.', 'N', 'u', 'l', 'l', 'V', 'a', 'l', 'u',
'e', 'H', '\000', 'R', '\t', 'n', 'u', 'l', 'l', 'V', 'a', 'l', 'u', 'e', '\022', '\037', '\n', '\n', 'b', 'o', 'o', 'l', '_', 'v', 'a',
'l', 'u', 'e', '\030', '\002', ' ', '\001', '(', '\010', 'H', '\000', 'R', '\t', 'b', 'o', 'o', 'l', 'V', 'a', 'l', 'u', 'e', '\022', '!', '\n',
'\013', 'i', 'n', 't', '6', '4', '_', 'v', 'a', 'l', 'u', 'e', '\030', '\003', ' ', '\001', '(', '\003', 'H', '\000', 'R', '\n', 'i', 'n', 't',
'6', '4', 'V', 'a', 'l', 'u', 'e', '\022', '#', '\n', '\014', 'u', 'i', 'n', 't', '6', '4', '_', 'v', 'a', 'l', 'u', 'e', '\030', '\004',
' ', '\001', '(', '\004', 'H', '\000', 'R', '\013', 'u', 'i', 'n', 't', '6', '4', 'V', 'a', 'l', 'u', 'e', '\022', '#', '\n', '\014', 'd', 'o',
'u', 'b', 'l', 'e', '_', 'v', 'a', 'l', 'u', 'e', '\030', '\005', ' ', '\001', '(', '\001', 'H', '\000', 'R', '\013', 'd', 'o', 'u', 'b', 'l',
'e', 'V', 'a', 'l', 'u', 'e', '\022', '#', '\n', '\014', 's', 't', 'r', 'i', 'n', 'g', '_', 'v', 'a', 'l', 'u', 'e', '\030', '\006', ' ',
'\001', '(', '\t', 'H', '\000', 'R', '\013', 's', 't', 'r', 'i', 'n', 'g', 'V', 'a', 'l', 'u', 'e', '\022', '!', '\n', '\013', 'b', 'y', 't',
'e', 's', '_', 'v', 'a', 'l', 'u', 'e', '\030', '\007', ' ', '\001', '(', '\014', 'H', '\000', 'R', '\n', 'b', 'y', 't', 'e', 's', 'V', 'a',
'l', 'u', 'e', '\022', 'F', '\n', '\016', 'd', 'u', 'r', 'a', 't', 'i', 'o', 'n', '_', 'v', 'a', 'l', 'u', 'e', '\030', '\010', ' ', '\001',
'(', '\013', '2', '\031', '.', 'g', 'o', 'o', 'g', 'l', 'e', '.', 'p', 'r', 'o', 't', 'o', 'b', 'u', 'f', '.', 'D', 'u', 'r', 'a',
't', 'i', 'o', 'n', 'B', '\002', '\030', '\001', 'H', '\000', 'R', '\r', 'd', 'u', 'r', 'a', 't', 'i', 'o', 'n', 'V', 'a', 'l', 'u', 'e',
'\022', 'I', '\n', '\017', 't', 'i', 'm', 'e', 's', 't', 'a', 'm', 'p', '_', 'v', 'a', 'l', 'u', 'e', '\030', '\t', ' ', '\001', '(', '\013',
'2', '\032', '.', 'g', 'o', 'o', 'g', 'l', 'e', '.', 'p', 'r', 'o', 't', 'o', 'b', 'u', 'f', '.', 'T', 'i', 'm', 'e', 's', 't',
'a', 'm', 'p', 'B', '\002', '\030', '\001', 'H', '\000', 'R', '\016', 't', 'i', 'm', 'e', 's', 't', 'a', 'm', 'p', 'V', 'a', 'l', 'u', 'e',
'B', '\017', '\n', '\r', 'c', 'o', 'n', 's', 't', 'a', 'n', 't', '_', 'k', 'i', 'n', 'd', '\"', '\214', '\007', '\n', '\n', 'S', 'o', 'u',
'r', 'c', 'e', 'I', 'n', 'f', 'o', '\022', '%', '\n', '\016', 's', 'y', 'n', 't', 'a', 'x', '_', 'v', 'e', 'r', 's', 'i', 'o', 'n',
'\030', '\001', ' ', '\001', '(', '\t', 'R', '\r', 's', 'y', 'n', 't', 'a', 'x', 'V', 'e', 'r', 's', 'i', 'o', 'n', '\022', '\032', '\n', '\010',
'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\030', '\002', ' ', '\001', '(', '\t', 'R', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\022',
'!', '\n', '\014', 'l', 'i', 'n', 'e', '_', 'o', 'f', 'f', 's', 'e', 't', 's', '\030', '\003', ' ', '\003', '(', '\005', 'R', '\013', 'l', 'i',
'n', 'e', 'O', 'f', 'f', 's', 'e', 't', 's', '\022', 'Q', '\n', '\t', 'p', 'o', 's', 'i', 't', 'i', 'o', 'n', 's', '\030', '\004', ' ',
'\003', '(', '\013', '2', '3', '.', 'g', 'o', 'o', 'g', 'l', 'e', '.', 'a', 'p', 'i', '.', 'e', 'x', 'p', 'r', '.', 'v', '1', 'a',
'l', 'p', 'h', 'a', '1', '.', 'S', 'o', 'u', 'r', 'c', 'e', 'I', 'n', 'f', 'o', '.', 'P', 'o', 's', 'i', 't', 'i', 'o', 'n',
's', 'E', 'n', 't', 'r', 'y', 'R', '\t', 'p', 'o', 's', 'i', 't', 'i', 'o', 'n', 's', '\022', 'U', '\n', '\013', 'm', 'a', 'c', 'r',
'o', '_', 'c', 'a', 'l', 'l', 's', '\030', '\005', ' ', '\003', '(', '\013', '2', '4', '.', 'g', 'o', 'o', 'g', 'l', 'e', '.', 'a', 'p',
'i', '.', 'e', 'x', 'p', 'r', '.', 'v', '1', 'a', 'l', 'p', 'h', 'a', '1', '.', 'S', 'o', 'u', 'r', 'c', 'e', 'I', 'n', 'f',
'o', '.', 'M', 'a', 'c', 'r', 'o', 'C', 'a', 'l', 'l', 's', 'E', 'n', 't', 'r', 'y', 'R', '\n', 'm', 'a', 'c', 'r', 'o', 'C',
'a', 'l', 'l', 's', '\022', 'N', '\n', '\n', 'e', 'x', 't', 'e', 'n', 's', 'i', 'o', 'n', 's', '\030', '\006', ' ', '\003', '(', '\013', '2',
'.', '.', 'g', 'o', 'o', 'g', 'l', 'e', '.', 'a', 'p', 'i', '.', 'e', 'x', 'p', 'r', '.', 'v', '1', 'a', 'l', 'p', 'h', 'a',
'1', '.', 'S', 'o', 'u', 'r', 'c', 'e', 'I', 'n', 'f', 'o', '.', 'E', 'x', 't', 'e', 'n', 's', 'i', 'o', 'n', 'R', '\n', 'e',
'x', 't', 'e', 'n', 's', 'i', 'o', 'n', 's', '\032', '\200', '\003', '\n', '\t', 'E', 'x', 't', 'e', 'n', 's', 'i', 'o', 'n', '\022', '\016',
'\n', '\002', 'i', 'd', '\030', '\001', ' ', '\001', '(', '\t', 'R', '\002', 'i', 'd', '\022', 'i', '\n', '\023', 'a', 'f', 'f', 'e', 'c', 't', 'e',
'd', '_', 'c', 'o', 'm', 'p', 'o', 'n', 'e', 'n', 't', 's', '\030', '\002', ' ', '\003', '(', '\016', '2', '8', '.', 'g', 'o', 'o', 'g',
'l', 'e', '.', 'a', 'p', 'i', '.', 'e', 'x', 'p', 'r', '.', 'v', '1', 'a', 'l', 'p', 'h', 'a', '1', '.', 'S', 'o', 'u', 'r',
'c', 'e', 'I', 'n', 'f', 'o', '.', 'E', 'x', 't', 'e', 'n', 's', 'i', 'o', 'n', '.', 'C', 'o', 'm', 'p', 'o', 'n', 'e', 'n',
't', 'R', '\022', 'a', 'f', 'f', 'e', 'c', 't', 'e', 'd', 'C', 'o', 'm', 'p', 'o', 'n', 'e', 'n', 't', 's', '\022', 'P', '\n', '\007',
'v', 'e', 'r', 's', 'i', 'o', 'n', '\030', '\003', ' ', '\001', '(', '\013', '2', '6', '.', 'g', 'o', 'o', 'g', 'l', 'e', '.', 'a', 'p',
'i', '.', 'e', 'x', 'p', 'r', '.', 'v', '1', 'a', 'l', 'p', 'h', 'a', '1', '.', 'S', 'o', 'u', 'r', 'c', 'e', 'I', 'n', 'f',
'o', '.', 'E', 'x', 't', 'e', 'n', 's', 'i', 'o', 'n', '.', 'V', 'e', 'r', 's', 'i', 'o', 'n', 'R', '\007', 'v', 'e', 'r', 's',
'i', 'o', 'n', '\032', '5', '\n', '\007', 'V', 'e', 'r', 's', 'i', 'o', 'n', '\022', '\024', '\n', '\005', 'm', 'a', 'j', 'o', 'r', '\030', '\001',
' ', '\001', '(', '\003', 'R', '\005', 'm', 'a', 'j', 'o', 'r', '\022', '\024', '\n', '\005', 'm', 'i', 'n', 'o', 'r', '\030', '\002', ' ', '\001', '(',
'\003', 'R', '\005', 'm', 'i', 'n', 'o', 'r', '\"', 'o', '\n', '\t', 'C', 'o', 'm', 'p', 'o', 'n', 'e', 'n', 't', '\022', '\031', '\n', '\025',
'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '_', 'U', 'N', 'S', 'P', 'E', 'C', 'I', 'F', 'I', 'E', 'D', '\020', '\000', '\022', '\024',
'\n', '\020', 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '_', 'P', 'A', 'R', 'S', 'E', 'R', '\020', '\001', '\022', '\032', '\n', '\026', 'C',
'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '_', 'T', 'Y', 'P', 'E', '_', 'C', 'H', 'E', 'C', 'K', 'E', 'R', '\020', '\002', '\022', '\025',
'\n', '\021', 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '_', 'R', 'U', 'N', 'T', 'I', 'M', 'E', '\020', '\003', '\032', '<', '\n', '\016',
'P', 'o', 's', 'i', 't', 'i', 'o', 'n', 's', 'E', 'n', 't', 'r', 'y', '\022', '\020', '\n', '\003', 'k', 'e', 'y', '\030', '\001', ' ', '\001',
'(', '\003', 'R', '\003', 'k', 'e', 'y', '\022', '\024', '\n', '\005', 'v', 'a', 'l', 'u', 'e', '\030', '\002', ' ', '\001', '(', '\005', 'R', '\005', 'v',
'a', 'l', 'u', 'e', ':', '\002', '8', '\001', '\032', ']', '\n', '\017', 'M', 'a', 'c', 'r', 'o', 'C', 'a', 'l', 'l', 's', 'E', 'n', 't',
'r', 'y', '\022', '\020', '\n', '\003', 'k', 'e', 'y', '\030', '\001', ' ', '\001', '(', '\003', 'R', '\003', 'k', 'e', 'y', '\022', '4', '\n', '\005', 'v',
'a', 'l', 'u', 'e', '\030', '\002', ' ', '\001', '(', '\013', '2', '\036', '.', 'g', 'o', 'o', 'g', 'l', 'e', '.', 'a', 'p', 'i', '.', 'e',
'x', 'p', 'r', '.', 'v', '1', 'a', 'l', 'p', 'h', 'a', '1', '.', 'E', 'x', 'p', 'r', 'R', '\005', 'v', 'a', 'l', 'u', 'e', ':',
'\002', '8', '\001', '\"', 'p', '\n', '\016', 'S', 'o', 'u', 'r', 'c', 'e', 'P', 'o', 's', 'i', 't', 'i', 'o', 'n', '\022', '\032', '\n', '\010',
'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\030', '\001', ' ', '\001', '(', '\t', 'R', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\022',
'\026', '\n', '\006', 'o', 'f', 'f', 's', 'e', 't', '\030', '\002', ' ', '\001', '(', '\005', 'R', '\006', 'o', 'f', 'f', 's', 'e', 't', '\022', '\022',
'\n', '\004', 'l', 'i', 'n', 'e', '\030', '\003', ' ', '\001', '(', '\005', 'R', '\004', 'l', 'i', 'n', 'e', '\022', '\026', '\n', '\006', 'c', 'o', 'l',
'u', 'm', 'n', '\030', '\004', ' ', '\001', '(', '\005', 'R', '\006', 'c', 'o', 'l', 'u', 'm', 'n', 'B', 'n', '\n', '\034', 'c', 'o', 'm', '.',
'g', 'o', 'o', 'g', 'l', 'e', '.', 'a', 'p', 'i', '.', 'e', 'x', 'p', 'r', '.', 'v', '1', 'a', 'l', 'p', 'h', 'a', '1', 'B',
'\013', 'S', 'y', 'n', 't', 'a', 'x', 'P', 'r', 'o', 't', 'o', 'P', '\001', 'Z', '<', 'g', 'o', 'o', 'g', 'l', 'e', '.', 'g', 'o',
'l', 'a', 'n', 'g', '.', 'o', 'r', 'g', '/', 'g', 'e', 'n', 'p', 'r', 'o', 't', 'o', '/', 'g', 'o', 'o', 'g', 'l', 'e', 'a',
'p', 'i', 's', '/', 'a', 'p', 'i', '/', 'e', 'x', 'p', 'r', '/', 'v', '1', 'a', 'l', 'p', 'h', 'a', '1', ';', 'e', 'x', 'p',
'r', '\370', '\001', '\001', 'b', '\006', 'p', 'r', 'o', 't', 'o', '3',
};
static _upb_DefPool_Init *deps[4] = {
@ -148,5 +171,5 @@ _upb_DefPool_Init google_api_expr_v1alpha1_syntax_proto_upbdefinit = {
deps,
&google_api_expr_v1alpha1_syntax_proto_upb_file_layout,
"google/api/expr/v1alpha1/syntax.proto",
UPB_STRINGVIEW_INIT(descriptor, 3059)
UPB_STRINGVIEW_INIT(descriptor, 3637)
};

@ -73,6 +73,16 @@ UPB_INLINE const upb_MessageDef *google_api_expr_v1alpha1_SourceInfo_getmsgdef(u
return upb_DefPool_FindMessageByName(s, "google.api.expr.v1alpha1.SourceInfo");
}
UPB_INLINE const upb_MessageDef *google_api_expr_v1alpha1_SourceInfo_Extension_getmsgdef(upb_DefPool *s) {
_upb_DefPool_LoadDefInit(s, &google_api_expr_v1alpha1_syntax_proto_upbdefinit);
return upb_DefPool_FindMessageByName(s, "google.api.expr.v1alpha1.SourceInfo.Extension");
}
UPB_INLINE const upb_MessageDef *google_api_expr_v1alpha1_SourceInfo_Extension_Version_getmsgdef(upb_DefPool *s) {
_upb_DefPool_LoadDefInit(s, &google_api_expr_v1alpha1_syntax_proto_upbdefinit);
return upb_DefPool_FindMessageByName(s, "google.api.expr.v1alpha1.SourceInfo.Extension.Version");
}
UPB_INLINE const upb_MessageDef *google_api_expr_v1alpha1_SourceInfo_PositionsEntry_getmsgdef(upb_DefPool *s) {
_upb_DefPool_LoadDefInit(s, &google_api_expr_v1alpha1_syntax_proto_upbdefinit);
return upb_DefPool_FindMessageByName(s, "google.api.expr.v1alpha1.SourceInfo.PositionsEntry");

@ -220,9 +220,6 @@ bool IsTestExperimentEnabled(size_t experiment_id) {
return (*g_test_experiments)[experiment_id];
}
// This is VLOG(2) for Open Source gRPC because of a lot of log noise
// complaints. However, internally we want LOG(INFO) so that it is easier for us
// to debug prod issues.
#define GRPC_EXPERIMENT_LOG VLOG(2)
void PrintExperimentsList() {

@ -18,8 +18,6 @@
#include <stdlib.h>
#include <algorithm>
#include <set>
#include <string>
#include <utility>
#include <vector>
@ -36,29 +34,14 @@
#include <grpc/support/json.h>
#include <grpc/support/port_platform.h>
#include "src/core/lib/config/core_configuration.h"
#include "src/core/lib/gprpp/env.h"
#include "src/core/lib/gprpp/ref_counted_ptr.h"
#include "src/core/lib/security/credentials/channel_creds_registry.h"
#include "src/core/util/json/json.h"
#include "src/core/util/json/json_object_loader.h"
#include "src/core/util/json/json_reader.h"
#include "src/core/util/json/json_writer.h"
#include "src/core/util/string.h"
namespace grpc_core {
namespace {
bool IsFallbackExperimentEnabled() {
auto fallback_enabled = GetEnv("GRPC_EXPERIMENTAL_XDS_FALLBACK");
bool enabled = false;
return gpr_parse_bool_value(fallback_enabled.value_or("0").c_str(),
&enabled) &&
enabled;
}
} // namespace
//
// GrpcXdsBootstrap::GrpcNode::Locality
//
@ -106,16 +89,6 @@ const JsonLoaderInterface* GrpcXdsBootstrap::GrpcAuthority::JsonLoader(
return loader;
}
void GrpcXdsBootstrap::GrpcAuthority::JsonPostLoad(
const Json& /*json*/, const JsonArgs& /*args*/,
ValidationErrors* /*errors*/) {
if (!IsFallbackExperimentEnabled()) {
if (servers_.size() > 1) {
servers_.resize(1);
}
}
}
//
// GrpcXdsBootstrap
//
@ -190,11 +163,6 @@ void GrpcXdsBootstrap::JsonPostLoad(const Json& /*json*/,
}
}
}
if (!IsFallbackExperimentEnabled()) {
if (servers_.size() > 1) {
servers_.resize(1);
}
}
}
std::string GrpcXdsBootstrap::ToString() const {

@ -19,7 +19,6 @@
#include <map>
#include <memory>
#include <set>
#include <string>
#include <vector>
@ -29,9 +28,7 @@
#include <grpc/support/port_platform.h>
#include "src/core/lib/gprpp/ref_counted_ptr.h"
#include "src/core/lib/gprpp/validation_errors.h"
#include "src/core/lib/security/credentials/channel_creds_registry.h"
#include "src/core/util/json/json.h"
#include "src/core/util/json/json_args.h"
#include "src/core/util/json/json_object_loader.h"
@ -93,8 +90,6 @@ class GrpcXdsBootstrap final : public XdsBootstrap {
}
static const JsonLoaderInterface* JsonLoader(const JsonArgs&);
void JsonPostLoad(const Json& json, const JsonArgs& args,
ValidationErrors* errors);
private:
std::vector<GrpcXdsServer> servers_;

@ -14,14 +14,14 @@
# See the License for the specific language governing permissions and
# limitations under the License.
FROM silkeh/clang:6
FROM silkeh/clang:7-buster
RUN apt update && apt -y upgrade && apt install -y build-essential curl git time wget zip && apt clean
<%include file="../../git_avoid_dubious_ownership_error.include"/>
<%include file="../../run_tests_python_deps.include"/>
<%include file="../../cxx_test_deps.include"/>
<%include file="../../cxx_deps.include"/>
<%include file="../../cmake.include"/>
<%include file="../../cmake_from_install_script.include"/>
<%include file="../../ccache.include"/>
<%include file="../../run_tests_addons.include"/>

@ -38,7 +38,6 @@ grpc_cc_test(
"//src/core:grpc_xds_client",
"//src/core:xds_server_grpc",
"//test/core/test_util:grpc_test_util",
"//test/core/test_util:scoped_env_var",
],
)

@ -41,7 +41,6 @@
#include "src/core/lib/gprpp/validation_errors.h"
#include "src/core/lib/security/certificate_provider/certificate_provider_factory.h"
#include "src/core/lib/security/credentials/channel_creds_registry.h"
#include "src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.h"
#include "src/core/util/json/json.h"
#include "src/core/util/json/json_args.h"
#include "src/core/util/json/json_object_loader.h"
@ -50,7 +49,6 @@
#include "src/core/xds/grpc/certificate_provider_store.h"
#include "src/core/xds/grpc/xds_bootstrap_grpc.h"
#include "src/core/xds/grpc/xds_server_grpc.h"
#include "test/core/test_util/scoped_env_var.h"
#include "test/core/test_util/test_config.h"
namespace grpc_core {
@ -94,16 +92,6 @@ TEST(XdsBootstrapTest, Basic) {
" }"
" ],"
" \"ignore\": 0"
" },"
" {"
" \"server_uri\": \"fake:///lb2\","
" \"channel_creds\": ["
" {"
" \"type\": \"fake\","
" \"ignore\": 0"
" }"
" ],"
" \"ignore\": 0"
" }"
" ],"
" \"authorities\": {"
@ -123,15 +111,6 @@ TEST(XdsBootstrapTest, Basic) {
" \"xds_v3\","
" \"ignore_resource_deletion\""
" ]"
" },"
" {"
" \"server_uri\": \"fake:///xds_server2\","
" \"channel_creds\": ["
" {"
" \"type\": \"fake\""
" }"
" ],"
" \"server_features\": [\"xds_v3\"]"
" }"
" ]"
" },"
@ -744,8 +723,7 @@ TEST(XdsBootstrapTest, XdsServerToJsonAndParse) {
EXPECT_EQ(*xds_server, *output_xds_server);
}
TEST(XdsBootstrapTest, NoXdsServersEnvVar) {
ScopedEnvVar fallback_enabled("GRPC_EXPERIMENTAL_XDS_FALLBACK", "1");
TEST(XdsBootstrapTest, MultipleXdsServers) {
const char* json_str =
"{"
" \"xds_servers\": ["

@ -12,7 +12,6 @@
// See the License for the specific language governing permissions and
// limitations under the License.
//
#include <iostream>
#include <memory>
#include <string>
#include <string_view>
@ -29,18 +28,9 @@
#include <grpcpp/security/credentials.h>
#include <grpcpp/support/status.h>
#include "src/core/client_channel/backup_poller.h"
#include "src/core/lib/config/config_vars.h"
#include "src/core/lib/gprpp/env.h"
#include "src/cpp/client/secure_credentials.h"
#include "src/proto/grpc/testing/echo.grpc.pb.h"
#include "src/proto/grpc/testing/echo_messages.pb.h"
#include "src/proto/grpc/testing/xds/v3/cluster.grpc.pb.h"
#include "src/proto/grpc/testing/xds/v3/endpoint.grpc.pb.h"
#include "src/proto/grpc/testing/xds/v3/http_connection_manager.grpc.pb.h"
#include "src/proto/grpc/testing/xds/v3/listener.grpc.pb.h"
#include "src/proto/grpc/testing/xds/v3/route.grpc.pb.h"
#include "test/core/test_util/resolve_localhost_ip46.h"
#include "test/core/test_util/scoped_env_var.h"
#include "test/core/test_util/test_config.h"
#include "test/cpp/end2end/xds/xds_end2end_test_lib.h"
@ -123,8 +113,6 @@ class XdsFallbackTest : public XdsEnd2endTest {
};
TEST_P(XdsFallbackTest, FallbackAndRecover) {
grpc_core::testing::ScopedEnvVar fallback_enabled(
"GRPC_EXPERIMENTAL_XDS_FALLBACK", "1");
auto broken_balancer = CreateAndStartBalancer("Broken balancer");
broken_balancer->ads_service()->ForceADSFailure(
Status(StatusCode::RESOURCE_EXHAUSTED, kErrorMessage));
@ -151,31 +139,7 @@ TEST_P(XdsFallbackTest, FallbackAndRecover) {
broken_balancer->Shutdown();
}
TEST_P(XdsFallbackTest, EnvVarNotSet) {
InitClient(XdsBootstrapBuilder().SetServers({
balancer_->target(),
fallback_balancer_->target(),
}));
// Primary xDS server has backends_[0] configured and fallback server has
// backends_[1]
CreateAndStartBackends(2);
SetXdsResourcesForServer(balancer_.get(), 0);
SetXdsResourcesForServer(fallback_balancer_.get(), 1);
balancer_->ads_service()->ForceADSFailure(
Status(StatusCode::RESOURCE_EXHAUSTED, kErrorMessage));
// Primary server down, failure should be reported
CheckRpcSendFailure(
DEBUG_LOCATION, StatusCode::UNAVAILABLE,
absl::StrFormat("server.example.com: UNAVAILABLE: xDS channel for server "
"localhost:%d: xDS call failed with no responses "
"received; status: RESOURCE_EXHAUSTED: test forced ADS "
"stream failure \\(node ID:xds_end2end_test\\)",
balancer_->port()));
}
TEST_P(XdsFallbackTest, PrimarySecondaryNotAvailable) {
grpc_core::testing::ScopedEnvVar fallback_enabled(
"GRPC_EXPERIMENTAL_XDS_FALLBACK", "1");
InitClient(XdsBootstrapBuilder().SetServers(
{balancer_->target(), fallback_balancer_->target()}));
balancer_->ads_service()->ForceADSFailure(
@ -194,8 +158,6 @@ TEST_P(XdsFallbackTest, PrimarySecondaryNotAvailable) {
TEST_P(XdsFallbackTest, UsesCachedResourcesAfterFailure) {
constexpr absl::string_view kServerName2 = "server2.example.com";
grpc_core::testing::ScopedEnvVar fallback_enabled(
"GRPC_EXPERIMENTAL_XDS_FALLBACK", "1");
InitClient(XdsBootstrapBuilder().SetServers(
{balancer_->target(), fallback_balancer_->target()}));
// 4 backends - cross product of two data plane targets and two balancers
@ -223,8 +185,6 @@ TEST_P(XdsFallbackTest, PerAuthorityFallback) {
// Use cleanup in case test assertion fails
auto balancer2_cleanup =
absl::MakeCleanup([&]() { fallback_balancer2->Shutdown(); });
grpc_core::testing::ScopedEnvVar fallback_enabled(
"GRPC_EXPERIMENTAL_XDS_FALLBACK", "1");
grpc_core::testing::ScopedExperimentalEnvVar env_var(
"GRPC_EXPERIMENTAL_XDS_FEDERATION");
const char* kAuthority1 = "xds1.example.com";

@ -1 +1 @@
Subproject commit 2f9af297c84c55c8b871ba4495e01ade42476c92
Subproject commit fe8ba054ad4f7eca946c2d14a63c3f07c0b586a0

@ -95,7 +95,7 @@ DOCKERIMAGE_CURRENT_VERSIONS = {
"tools/dockerfile/test/csharp_debian11_x64.current_version": "docker://us-docker.pkg.dev/grpc-testing/testing-images-public/csharp_debian11_x64@sha256:0763d919b17b4cfe5b65aff3bf911c04e9e4d46d11649858742033facd9f534f",
"tools/dockerfile/test/cxx_alpine_x64.current_version": "docker://us-docker.pkg.dev/grpc-testing/testing-images-public/cxx_alpine_x64@sha256:10587bea5d163bf5c34c6157ebd1863d22863d9d38bbaf5135ffc6fbf2b73004",
"tools/dockerfile/test/cxx_clang_18_x64.current_version": "docker://us-docker.pkg.dev/grpc-testing/testing-images-public/cxx_clang_18_x64@sha256:46beb9901d0c480a40724a3934677ef5e8d6b2f177517c98e67ccff5d881503f",
"tools/dockerfile/test/cxx_clang_6_x64.current_version": "docker://us-docker.pkg.dev/grpc-testing/testing-images-public/cxx_clang_6_x64@sha256:eebbaf353522d523ec9a7acb34bb3ae194e22ea7493c85c01437719e30da205d",
"tools/dockerfile/test/cxx_clang_7_x64.current_version": "docker://us-docker.pkg.dev/grpc-testing/testing-images-public/cxx_clang_7_x64@sha256:b35f94648ada85aab9110dae0ebca594cd278672d4bbce38312cefa372952cae",
"tools/dockerfile/test/cxx_debian11_openssl102_x64.current_version": "docker://us-docker.pkg.dev/grpc-testing/testing-images-public/cxx_debian11_openssl102_x64@sha256:477ae0da7ff7faa9cf195c0d32472fec4cf8b7325505c63e00b5c794c9a4b1a7",
"tools/dockerfile/test/cxx_debian11_openssl111_x64.current_version": "docker://us-docker.pkg.dev/grpc-testing/testing-images-public/cxx_debian11_openssl111_x64@sha256:d383e66d4a089f9305768e3037faa2a887ff91565b0f3ddd96985dca94e9754f",
"tools/dockerfile/test/cxx_debian11_x64.current_version": "docker://us-docker.pkg.dev/grpc-testing/testing-images-public/cxx_debian11_x64@sha256:9f9285da21c1053ac715027e0cee66c20c70ebf016053328a4cee61ffd37e59b",

@ -61,7 +61,7 @@ def generate_run_tests_portability_tests(name):
["gcc10.2_openssl111", "--cmake_configure_extra_args=-DgRPC_SSL_PROVIDER=package", "tools/dockerfile/test/cxx_debian11_openssl111_x64.current_version"],
["gcc_12_openssl309", "--cmake_configure_extra_args=-DgRPC_SSL_PROVIDER=package", "tools/dockerfile/test/cxx_debian12_openssl309_x64.current_version"],
["gcc_musl", "", "tools/dockerfile/test/cxx_alpine_x64.current_version"],
["clang_6", "--cmake_configure_extra_args=-DCMAKE_C_COMPILER=clang --cmake_configure_extra_args=-DCMAKE_CXX_COMPILER=clang++", "tools/dockerfile/test/cxx_clang_6_x64.current_version"],
["clang_7", "--cmake_configure_extra_args=-DCMAKE_C_COMPILER=clang --cmake_configure_extra_args=-DCMAKE_CXX_COMPILER=clang++", "tools/dockerfile/test/cxx_clang_7_x64.current_version"],
["clang_18_cxx23", "--cmake_configure_extra_args=-DCMAKE_C_COMPILER=clang --cmake_configure_extra_args=-DCMAKE_CXX_COMPILER=clang++ --cmake_configure_extra_args=-DCMAKE_CXX_STANDARD=23", "tools/dockerfile/test/cxx_clang_18_x64.current_version"],
]

@ -624,6 +624,7 @@ from google.api import documentation_pb2
from google.api import endpoint_pb2
from google.api import error_reason_pb2
from google.api import field_behavior_pb2
from google.api import field_info_pb2
from google.api import http_pb2
from google.api import httpbody_pb2
from google.api import label_pb2
@ -633,15 +634,21 @@ from google.api import logging_pb2
from google.api import metric_pb2
from google.api import monitored_resource_pb2
from google.api import monitoring_pb2
from google.api import policy_pb2
from google.api import quota_pb2
from google.api import resource_pb2
from google.api import routing_pb2
from google.api import service_pb2
from google.api import source_info_pb2
from google.api import system_parameter_pb2
from google.api import usage_pb2
from google.api import visibility_pb2
from google.api.apikeys.v2 import apikeys_pb2
from google.api.apikeys.v2 import resources_pb2
from google.api.cloudquotas.v1 import cloudquotas_pb2
from google.api.cloudquotas.v1 import resources_pb2
from google.api.expr.conformance.v1alpha1 import conformance_service_pb2
from google.api.expr.v1alpha1 import checked_pb2
from google.api.expr.v1alpha1 import conformance_service_pb2
from google.api.expr.v1alpha1 import eval_pb2
from google.api.expr.v1alpha1 import explain_pb2
from google.api.expr.v1alpha1 import syntax_pb2
@ -659,6 +666,7 @@ from google.api.servicecontrol.v1 import metric_value_pb2
from google.api.servicecontrol.v1 import operation_pb2
from google.api.servicecontrol.v1 import quota_controller_pb2
from google.api.servicecontrol.v1 import service_controller_pb2
from google.api.servicecontrol.v2 import service_controller_pb2
from google.api.servicemanagement.v1 import resources_pb2
from google.api.servicemanagement.v1 import servicemanager_pb2
from google.api.serviceusage.v1 import resources_pb2
@ -674,8 +682,10 @@ from google.logging.v2 import logging_pb2
from google.longrunning import operations_pb2
from google.rpc import code_pb2
from google.rpc import error_details_pb2
from google.rpc import http_pb2
from google.rpc import status_pb2
from google.rpc.context import attribute_context_pb2
from google.rpc.context import audit_context_pb2
from google.type import calendar_period_pb2
from google.type import color_pb2
from google.type import date_pb2

@ -0,0 +1,100 @@
# -*- coding: utf-8 -*-
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: google/api/apikeys/v2/apikeys.proto
"""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.apikeys.v2 import resources_pb2 as google_dot_api_dot_apikeys_dot_v2_dot_resources__pb2
from google.api import client_pb2 as google_dot_api_dot_client__pb2
from google.api import field_behavior_pb2 as google_dot_api_dot_field__behavior__pb2
from google.api import resource_pb2 as google_dot_api_dot_resource__pb2
from google.longrunning import operations_pb2 as google_dot_longrunning_dot_operations__pb2
from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2
from google.protobuf import field_mask_pb2 as google_dot_protobuf_dot_field__mask__pb2
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n#google/api/apikeys/v2/apikeys.proto\x12\x15google.api.apikeys.v2\x1a\x1cgoogle/api/annotations.proto\x1a%google/api/apikeys/v2/resources.proto\x1a\x17google/api/client.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a\x19google/api/resource.proto\x1a#google/longrunning/operations.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a google/protobuf/field_mask.proto\"\x84\x01\n\x10\x43reateKeyRequest\x12\x32\n\x06parent\x18\x01 \x01(\tB\"\xe0\x41\x02\xfa\x41\x1c\x12\x1a\x61pikeys.googleapis.com/Key\x12,\n\x03key\x18\x02 \x01(\x0b\x32\x1a.google.api.apikeys.v2.KeyB\x03\xe0\x41\x02\x12\x0e\n\x06key_id\x18\x03 \x01(\t\"\x91\x01\n\x0fListKeysRequest\x12\x32\n\x06parent\x18\x01 \x01(\tB\"\xe0\x41\x02\xfa\x41\x1c\x12\x1a\x61pikeys.googleapis.com/Key\x12\x16\n\tpage_size\x18\x02 \x01(\x05\x42\x03\xe0\x41\x01\x12\x17\n\npage_token\x18\x03 \x01(\tB\x03\xe0\x41\x01\x12\x19\n\x0cshow_deleted\x18\x06 \x01(\x08\x42\x03\xe0\x41\x01\"U\n\x10ListKeysResponse\x12(\n\x04keys\x18\x01 \x03(\x0b\x32\x1a.google.api.apikeys.v2.Key\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\"A\n\rGetKeyRequest\x12\x30\n\x04name\x18\x01 \x01(\tB\"\xe0\x41\x02\xfa\x41\x1c\n\x1a\x61pikeys.googleapis.com/Key\"G\n\x13GetKeyStringRequest\x12\x30\n\x04name\x18\x01 \x01(\tB\"\xe0\x41\x02\xfa\x41\x1c\n\x1a\x61pikeys.googleapis.com/Key\"*\n\x14GetKeyStringResponse\x12\x12\n\nkey_string\x18\x01 \x01(\t\"q\n\x10UpdateKeyRequest\x12,\n\x03key\x18\x01 \x01(\x0b\x32\x1a.google.api.apikeys.v2.KeyB\x03\xe0\x41\x02\x12/\n\x0bupdate_mask\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.FieldMask\"W\n\x10\x44\x65leteKeyRequest\x12\x30\n\x04name\x18\x01 \x01(\tB\"\xe0\x41\x02\xfa\x41\x1c\n\x1a\x61pikeys.googleapis.com/Key\x12\x11\n\x04\x65tag\x18\x02 \x01(\tB\x03\xe0\x41\x01\"F\n\x12UndeleteKeyRequest\x12\x30\n\x04name\x18\x01 \x01(\tB\"\xe0\x41\x02\xfa\x41\x1c\n\x1a\x61pikeys.googleapis.com/Key\"+\n\x10LookupKeyRequest\x12\x17\n\nkey_string\x18\x01 \x01(\tB\x03\xe0\x41\x02\"1\n\x11LookupKeyResponse\x12\x0e\n\x06parent\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t2\xbe\x0b\n\x07\x41piKeys\x12\xbd\x01\n\tCreateKey\x12\'.google.api.apikeys.v2.CreateKeyRequest\x1a\x1d.google.longrunning.Operation\"h\xca\x41\x1c\n\x03Key\x12\x15google.protobuf.Empty\xda\x41\x11parent,key,key_id\x82\xd3\xe4\x93\x02/\"(/v2/{parent=projects/*/locations/*}/keys:\x03key\x12\x96\x01\n\x08ListKeys\x12&.google.api.apikeys.v2.ListKeysRequest\x1a\'.google.api.apikeys.v2.ListKeysResponse\"9\xda\x41\x06parent\x82\xd3\xe4\x93\x02*\x12(/v2/{parent=projects/*/locations/*}/keys\x12\x83\x01\n\x06GetKey\x12$.google.api.apikeys.v2.GetKeyRequest\x1a\x1a.google.api.apikeys.v2.Key\"7\xda\x41\x04name\x82\xd3\xe4\x93\x02*\x12(/v2/{name=projects/*/locations/*/keys/*}\x12\xaa\x01\n\x0cGetKeyString\x12*.google.api.apikeys.v2.GetKeyStringRequest\x1a+.google.api.apikeys.v2.GetKeyStringResponse\"A\xda\x41\x04name\x82\xd3\xe4\x93\x02\x34\x12\x32/v2/{name=projects/*/locations/*/keys/*}/keyString\x12\xbf\x01\n\tUpdateKey\x12\'.google.api.apikeys.v2.UpdateKeyRequest\x1a\x1d.google.longrunning.Operation\"j\xca\x41\x1c\n\x03Key\x12\x15google.protobuf.Empty\xda\x41\x0fkey,update_mask\x82\xd3\xe4\x93\x02\x33\x32,/v2/{key.name=projects/*/locations/*/keys/*}:\x03key\x12\xab\x01\n\tDeleteKey\x12\'.google.api.apikeys.v2.DeleteKeyRequest\x1a\x1d.google.longrunning.Operation\"V\xca\x41\x1c\n\x03Key\x12\x15google.protobuf.Empty\xda\x41\x04name\x82\xd3\xe4\x93\x02**(/v2/{name=projects/*/locations/*/keys/*}\x12\xb4\x01\n\x0bUndeleteKey\x12).google.api.apikeys.v2.UndeleteKeyRequest\x1a\x1d.google.longrunning.Operation\"[\xca\x41\x1c\n\x03Key\x12\x15google.protobuf.Empty\x82\xd3\xe4\x93\x02\x36\"1/v2/{name=projects/*/locations/*/keys/*}:undelete:\x01*\x12z\n\tLookupKey\x12\'.google.api.apikeys.v2.LookupKeyRequest\x1a(.google.api.apikeys.v2.LookupKeyResponse\"\x1a\x82\xd3\xe4\x93\x02\x14\x12\x12/v2/keys:lookupKey\x1a\x83\x01\xca\x41\x16\x61pikeys.googleapis.com\xd2\x41ghttps://www.googleapis.com/auth/cloud-platform,https://www.googleapis.com/auth/cloud-platform.read-onlyB\xb3\x01\n\x19\x63om.google.api.apikeys.v2B\x0c\x41piKeysProtoP\x01Z5cloud.google.com/go/apikeys/apiv2/apikeyspb;apikeyspb\xaa\x02\x17Google.Cloud.ApiKeys.V2\xca\x02\x17Google\\Cloud\\ApiKeys\\V2\xea\x02\x1aGoogle::Cloud::ApiKeys::V2b\x06proto3')
_globals = globals()
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'google.api.apikeys.v2.apikeys_pb2', _globals)
if _descriptor._USE_C_DESCRIPTORS == False:
DESCRIPTOR._options = None
DESCRIPTOR._serialized_options = b'\n\031com.google.api.apikeys.v2B\014ApiKeysProtoP\001Z5cloud.google.com/go/apikeys/apiv2/apikeyspb;apikeyspb\252\002\027Google.Cloud.ApiKeys.V2\312\002\027Google\\Cloud\\ApiKeys\\V2\352\002\032Google::Cloud::ApiKeys::V2'
_CREATEKEYREQUEST.fields_by_name['parent']._options = None
_CREATEKEYREQUEST.fields_by_name['parent']._serialized_options = b'\340A\002\372A\034\022\032apikeys.googleapis.com/Key'
_CREATEKEYREQUEST.fields_by_name['key']._options = None
_CREATEKEYREQUEST.fields_by_name['key']._serialized_options = b'\340A\002'
_LISTKEYSREQUEST.fields_by_name['parent']._options = None
_LISTKEYSREQUEST.fields_by_name['parent']._serialized_options = b'\340A\002\372A\034\022\032apikeys.googleapis.com/Key'
_LISTKEYSREQUEST.fields_by_name['page_size']._options = None
_LISTKEYSREQUEST.fields_by_name['page_size']._serialized_options = b'\340A\001'
_LISTKEYSREQUEST.fields_by_name['page_token']._options = None
_LISTKEYSREQUEST.fields_by_name['page_token']._serialized_options = b'\340A\001'
_LISTKEYSREQUEST.fields_by_name['show_deleted']._options = None
_LISTKEYSREQUEST.fields_by_name['show_deleted']._serialized_options = b'\340A\001'
_GETKEYREQUEST.fields_by_name['name']._options = None
_GETKEYREQUEST.fields_by_name['name']._serialized_options = b'\340A\002\372A\034\n\032apikeys.googleapis.com/Key'
_GETKEYSTRINGREQUEST.fields_by_name['name']._options = None
_GETKEYSTRINGREQUEST.fields_by_name['name']._serialized_options = b'\340A\002\372A\034\n\032apikeys.googleapis.com/Key'
_UPDATEKEYREQUEST.fields_by_name['key']._options = None
_UPDATEKEYREQUEST.fields_by_name['key']._serialized_options = b'\340A\002'
_DELETEKEYREQUEST.fields_by_name['name']._options = None
_DELETEKEYREQUEST.fields_by_name['name']._serialized_options = b'\340A\002\372A\034\n\032apikeys.googleapis.com/Key'
_DELETEKEYREQUEST.fields_by_name['etag']._options = None
_DELETEKEYREQUEST.fields_by_name['etag']._serialized_options = b'\340A\001'
_UNDELETEKEYREQUEST.fields_by_name['name']._options = None
_UNDELETEKEYREQUEST.fields_by_name['name']._serialized_options = b'\340A\002\372A\034\n\032apikeys.googleapis.com/Key'
_LOOKUPKEYREQUEST.fields_by_name['key_string']._options = None
_LOOKUPKEYREQUEST.fields_by_name['key_string']._serialized_options = b'\340A\002'
_APIKEYS._options = None
_APIKEYS._serialized_options = b'\312A\026apikeys.googleapis.com\322Aghttps://www.googleapis.com/auth/cloud-platform,https://www.googleapis.com/auth/cloud-platform.read-only'
_APIKEYS.methods_by_name['CreateKey']._options = None
_APIKEYS.methods_by_name['CreateKey']._serialized_options = b'\312A\034\n\003Key\022\025google.protobuf.Empty\332A\021parent,key,key_id\202\323\344\223\002/\"(/v2/{parent=projects/*/locations/*}/keys:\003key'
_APIKEYS.methods_by_name['ListKeys']._options = None
_APIKEYS.methods_by_name['ListKeys']._serialized_options = b'\332A\006parent\202\323\344\223\002*\022(/v2/{parent=projects/*/locations/*}/keys'
_APIKEYS.methods_by_name['GetKey']._options = None
_APIKEYS.methods_by_name['GetKey']._serialized_options = b'\332A\004name\202\323\344\223\002*\022(/v2/{name=projects/*/locations/*/keys/*}'
_APIKEYS.methods_by_name['GetKeyString']._options = None
_APIKEYS.methods_by_name['GetKeyString']._serialized_options = b'\332A\004name\202\323\344\223\0024\0222/v2/{name=projects/*/locations/*/keys/*}/keyString'
_APIKEYS.methods_by_name['UpdateKey']._options = None
_APIKEYS.methods_by_name['UpdateKey']._serialized_options = b'\312A\034\n\003Key\022\025google.protobuf.Empty\332A\017key,update_mask\202\323\344\223\00232,/v2/{key.name=projects/*/locations/*/keys/*}:\003key'
_APIKEYS.methods_by_name['DeleteKey']._options = None
_APIKEYS.methods_by_name['DeleteKey']._serialized_options = b'\312A\034\n\003Key\022\025google.protobuf.Empty\332A\004name\202\323\344\223\002**(/v2/{name=projects/*/locations/*/keys/*}'
_APIKEYS.methods_by_name['UndeleteKey']._options = None
_APIKEYS.methods_by_name['UndeleteKey']._serialized_options = b'\312A\034\n\003Key\022\025google.protobuf.Empty\202\323\344\223\0026\"1/v2/{name=projects/*/locations/*/keys/*}:undelete:\001*'
_APIKEYS.methods_by_name['LookupKey']._options = None
_APIKEYS.methods_by_name['LookupKey']._serialized_options = b'\202\323\344\223\002\024\022\022/v2/keys:lookupKey'
_globals['_CREATEKEYREQUEST']._serialized_start=317
_globals['_CREATEKEYREQUEST']._serialized_end=449
_globals['_LISTKEYSREQUEST']._serialized_start=452
_globals['_LISTKEYSREQUEST']._serialized_end=597
_globals['_LISTKEYSRESPONSE']._serialized_start=599
_globals['_LISTKEYSRESPONSE']._serialized_end=684
_globals['_GETKEYREQUEST']._serialized_start=686
_globals['_GETKEYREQUEST']._serialized_end=751
_globals['_GETKEYSTRINGREQUEST']._serialized_start=753
_globals['_GETKEYSTRINGREQUEST']._serialized_end=824
_globals['_GETKEYSTRINGRESPONSE']._serialized_start=826
_globals['_GETKEYSTRINGRESPONSE']._serialized_end=868
_globals['_UPDATEKEYREQUEST']._serialized_start=870
_globals['_UPDATEKEYREQUEST']._serialized_end=983
_globals['_DELETEKEYREQUEST']._serialized_start=985
_globals['_DELETEKEYREQUEST']._serialized_end=1072
_globals['_UNDELETEKEYREQUEST']._serialized_start=1074
_globals['_UNDELETEKEYREQUEST']._serialized_end=1144
_globals['_LOOKUPKEYREQUEST']._serialized_start=1146
_globals['_LOOKUPKEYREQUEST']._serialized_end=1189
_globals['_LOOKUPKEYRESPONSE']._serialized_start=1191
_globals['_LOOKUPKEYRESPONSE']._serialized_end=1240
_globals['_APIKEYS']._serialized_start=1243
_globals['_APIKEYS']._serialized_end=2713
# @@protoc_insertion_point(module_scope)

@ -0,0 +1,65 @@
# -*- coding: utf-8 -*-
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: google/api/apikeys/v2/resources.proto
"""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 field_behavior_pb2 as google_dot_api_dot_field__behavior__pb2
from google.api import resource_pb2 as google_dot_api_dot_resource__pb2
from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n%google/api/apikeys/v2/resources.proto\x12\x15google.api.apikeys.v2\x1a\x1fgoogle/api/field_behavior.proto\x1a\x19google/api/resource.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\xa2\x04\n\x03Key\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x03\x12\x10\n\x03uid\x18\x05 \x01(\tB\x03\xe0\x41\x03\x12\x14\n\x0c\x64isplay_name\x18\x02 \x01(\t\x12\x17\n\nkey_string\x18\x03 \x01(\tB\x03\xe0\x41\x03\x12\x34\n\x0b\x63reate_time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x34\n\x0bupdate_time\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x34\n\x0b\x64\x65lete_time\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12@\n\x0b\x61nnotations\x18\x08 \x03(\x0b\x32+.google.api.apikeys.v2.Key.AnnotationsEntry\x12\x39\n\x0crestrictions\x18\t \x01(\x0b\x32#.google.api.apikeys.v2.Restrictions\x12\x11\n\x04\x65tag\x18\x0b \x01(\tB\x03\xe0\x41\x03\x1a\x32\n\x10\x41nnotationsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01:a\xea\x41^\n\x1a\x61pikeys.googleapis.com/Key\x12\x32projects/{project}/locations/{location}/keys/{key}*\x04keys2\x03keyR\x01\x01\"\x9e\x03\n\x0cRestrictions\x12Q\n\x18\x62rowser_key_restrictions\x18\x01 \x01(\x0b\x32-.google.api.apikeys.v2.BrowserKeyRestrictionsH\x00\x12O\n\x17server_key_restrictions\x18\x02 \x01(\x0b\x32,.google.api.apikeys.v2.ServerKeyRestrictionsH\x00\x12Q\n\x18\x61ndroid_key_restrictions\x18\x03 \x01(\x0b\x32-.google.api.apikeys.v2.AndroidKeyRestrictionsH\x00\x12I\n\x14ios_key_restrictions\x18\x04 \x01(\x0b\x32).google.api.apikeys.v2.IosKeyRestrictionsH\x00\x12\x35\n\x0b\x61pi_targets\x18\x05 \x03(\x0b\x32 .google.api.apikeys.v2.ApiTargetB\x15\n\x13\x63lient_restrictions\"3\n\x16\x42rowserKeyRestrictions\x12\x19\n\x11\x61llowed_referrers\x18\x01 \x03(\t\",\n\x15ServerKeyRestrictions\x12\x13\n\x0b\x61llowed_ips\x18\x01 \x03(\t\"a\n\x16\x41ndroidKeyRestrictions\x12G\n\x14\x61llowed_applications\x18\x01 \x03(\x0b\x32).google.api.apikeys.v2.AndroidApplication\"D\n\x12\x41ndroidApplication\x12\x18\n\x10sha1_fingerprint\x18\x01 \x01(\t\x12\x14\n\x0cpackage_name\x18\x02 \x01(\t\"0\n\x12IosKeyRestrictions\x12\x1a\n\x12\x61llowed_bundle_ids\x18\x01 \x03(\t\"2\n\tApiTarget\x12\x0f\n\x07service\x18\x01 \x01(\t\x12\x14\n\x07methods\x18\x02 \x03(\tB\x03\xe0\x41\x01\x42\xb5\x01\n\x19\x63om.google.api.apikeys.v2B\x0eResourcesProtoP\x01Z5cloud.google.com/go/apikeys/apiv2/apikeyspb;apikeyspb\xaa\x02\x17Google.Cloud.ApiKeys.V2\xca\x02\x17Google\\Cloud\\ApiKeys\\V2\xea\x02\x1aGoogle::Cloud::ApiKeys::V2b\x06proto3')
_globals = globals()
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'google.api.apikeys.v2.resources_pb2', _globals)
if _descriptor._USE_C_DESCRIPTORS == False:
DESCRIPTOR._options = None
DESCRIPTOR._serialized_options = b'\n\031com.google.api.apikeys.v2B\016ResourcesProtoP\001Z5cloud.google.com/go/apikeys/apiv2/apikeyspb;apikeyspb\252\002\027Google.Cloud.ApiKeys.V2\312\002\027Google\\Cloud\\ApiKeys\\V2\352\002\032Google::Cloud::ApiKeys::V2'
_KEY_ANNOTATIONSENTRY._options = None
_KEY_ANNOTATIONSENTRY._serialized_options = b'8\001'
_KEY.fields_by_name['name']._options = None
_KEY.fields_by_name['name']._serialized_options = b'\340A\003'
_KEY.fields_by_name['uid']._options = None
_KEY.fields_by_name['uid']._serialized_options = b'\340A\003'
_KEY.fields_by_name['key_string']._options = None
_KEY.fields_by_name['key_string']._serialized_options = b'\340A\003'
_KEY.fields_by_name['create_time']._options = None
_KEY.fields_by_name['create_time']._serialized_options = b'\340A\003'
_KEY.fields_by_name['update_time']._options = None
_KEY.fields_by_name['update_time']._serialized_options = b'\340A\003'
_KEY.fields_by_name['delete_time']._options = None
_KEY.fields_by_name['delete_time']._serialized_options = b'\340A\003'
_KEY.fields_by_name['etag']._options = None
_KEY.fields_by_name['etag']._serialized_options = b'\340A\003'
_KEY._options = None
_KEY._serialized_options = b'\352A^\n\032apikeys.googleapis.com/Key\0222projects/{project}/locations/{location}/keys/{key}*\004keys2\003keyR\001\001'
_APITARGET.fields_by_name['methods']._options = None
_APITARGET.fields_by_name['methods']._serialized_options = b'\340A\001'
_globals['_KEY']._serialized_start=158
_globals['_KEY']._serialized_end=704
_globals['_KEY_ANNOTATIONSENTRY']._serialized_start=555
_globals['_KEY_ANNOTATIONSENTRY']._serialized_end=605
_globals['_RESTRICTIONS']._serialized_start=707
_globals['_RESTRICTIONS']._serialized_end=1121
_globals['_BROWSERKEYRESTRICTIONS']._serialized_start=1123
_globals['_BROWSERKEYRESTRICTIONS']._serialized_end=1174
_globals['_SERVERKEYRESTRICTIONS']._serialized_start=1176
_globals['_SERVERKEYRESTRICTIONS']._serialized_end=1220
_globals['_ANDROIDKEYRESTRICTIONS']._serialized_start=1222
_globals['_ANDROIDKEYRESTRICTIONS']._serialized_end=1319
_globals['_ANDROIDAPPLICATION']._serialized_start=1321
_globals['_ANDROIDAPPLICATION']._serialized_end=1389
_globals['_IOSKEYRESTRICTIONS']._serialized_start=1391
_globals['_IOSKEYRESTRICTIONS']._serialized_end=1439
_globals['_APITARGET']._serialized_start=1441
_globals['_APITARGET']._serialized_end=1491
# @@protoc_insertion_point(module_scope)

@ -13,7 +13,7 @@ _sym_db = _symbol_database.Default()
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x15google/api/auth.proto\x12\ngoogle.api\"l\n\x0e\x41uthentication\x12-\n\x05rules\x18\x03 \x03(\x0b\x32\x1e.google.api.AuthenticationRule\x12+\n\tproviders\x18\x04 \x03(\x0b\x32\x18.google.api.AuthProvider\"\xa9\x01\n\x12\x41uthenticationRule\x12\x10\n\x08selector\x18\x01 \x01(\t\x12,\n\x05oauth\x18\x02 \x01(\x0b\x32\x1d.google.api.OAuthRequirements\x12 \n\x18\x61llow_without_credential\x18\x05 \x01(\x08\x12\x31\n\x0crequirements\x18\x07 \x03(\x0b\x32\x1b.google.api.AuthRequirement\"L\n\x0bJwtLocation\x12\x10\n\x06header\x18\x01 \x01(\tH\x00\x12\x0f\n\x05query\x18\x02 \x01(\tH\x00\x12\x14\n\x0cvalue_prefix\x18\x03 \x01(\tB\x04\n\x02in\"\x9a\x01\n\x0c\x41uthProvider\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0e\n\x06issuer\x18\x02 \x01(\t\x12\x10\n\x08jwks_uri\x18\x03 \x01(\t\x12\x11\n\taudiences\x18\x04 \x01(\t\x12\x19\n\x11\x61uthorization_url\x18\x05 \x01(\t\x12.\n\rjwt_locations\x18\x06 \x03(\x0b\x32\x17.google.api.JwtLocation\"-\n\x11OAuthRequirements\x12\x18\n\x10\x63\x61nonical_scopes\x18\x01 \x01(\t\"9\n\x0f\x41uthRequirement\x12\x13\n\x0bprovider_id\x18\x01 \x01(\t\x12\x11\n\taudiences\x18\x02 \x01(\tBk\n\x0e\x63om.google.apiB\tAuthProtoP\x01ZEgoogle.golang.org/genproto/googleapis/api/serviceconfig;serviceconfig\xa2\x02\x04GAPIb\x06proto3')
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x15google/api/auth.proto\x12\ngoogle.api\"l\n\x0e\x41uthentication\x12-\n\x05rules\x18\x03 \x03(\x0b\x32\x1e.google.api.AuthenticationRule\x12+\n\tproviders\x18\x04 \x03(\x0b\x32\x18.google.api.AuthProvider\"\xa9\x01\n\x12\x41uthenticationRule\x12\x10\n\x08selector\x18\x01 \x01(\t\x12,\n\x05oauth\x18\x02 \x01(\x0b\x32\x1d.google.api.OAuthRequirements\x12 \n\x18\x61llow_without_credential\x18\x05 \x01(\x08\x12\x31\n\x0crequirements\x18\x07 \x03(\x0b\x32\x1b.google.api.AuthRequirement\"^\n\x0bJwtLocation\x12\x10\n\x06header\x18\x01 \x01(\tH\x00\x12\x0f\n\x05query\x18\x02 \x01(\tH\x00\x12\x10\n\x06\x63ookie\x18\x04 \x01(\tH\x00\x12\x14\n\x0cvalue_prefix\x18\x03 \x01(\tB\x04\n\x02in\"\x9a\x01\n\x0c\x41uthProvider\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0e\n\x06issuer\x18\x02 \x01(\t\x12\x10\n\x08jwks_uri\x18\x03 \x01(\t\x12\x11\n\taudiences\x18\x04 \x01(\t\x12\x19\n\x11\x61uthorization_url\x18\x05 \x01(\t\x12.\n\rjwt_locations\x18\x06 \x03(\x0b\x32\x17.google.api.JwtLocation\"-\n\x11OAuthRequirements\x12\x18\n\x10\x63\x61nonical_scopes\x18\x01 \x01(\t\"9\n\x0f\x41uthRequirement\x12\x13\n\x0bprovider_id\x18\x01 \x01(\t\x12\x11\n\taudiences\x18\x02 \x01(\tBk\n\x0e\x63om.google.apiB\tAuthProtoP\x01ZEgoogle.golang.org/genproto/googleapis/api/serviceconfig;serviceconfig\xa2\x02\x04GAPIb\x06proto3')
_globals = globals()
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
@ -26,11 +26,11 @@ if _descriptor._USE_C_DESCRIPTORS == False:
_globals['_AUTHENTICATIONRULE']._serialized_start=148
_globals['_AUTHENTICATIONRULE']._serialized_end=317
_globals['_JWTLOCATION']._serialized_start=319
_globals['_JWTLOCATION']._serialized_end=395
_globals['_AUTHPROVIDER']._serialized_start=398
_globals['_AUTHPROVIDER']._serialized_end=552
_globals['_OAUTHREQUIREMENTS']._serialized_start=554
_globals['_OAUTHREQUIREMENTS']._serialized_end=599
_globals['_AUTHREQUIREMENT']._serialized_start=601
_globals['_AUTHREQUIREMENT']._serialized_end=658
_globals['_JWTLOCATION']._serialized_end=413
_globals['_AUTHPROVIDER']._serialized_start=416
_globals['_AUTHPROVIDER']._serialized_end=570
_globals['_OAUTHREQUIREMENTS']._serialized_start=572
_globals['_OAUTHREQUIREMENTS']._serialized_end=617
_globals['_AUTHREQUIREMENT']._serialized_start=619
_globals['_AUTHREQUIREMENT']._serialized_end=676
# @@protoc_insertion_point(module_scope)

@ -13,7 +13,7 @@ _sym_db = _symbol_database.Default()
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x18google/api/backend.proto\x12\ngoogle.api\"1\n\x07\x42\x61\x63kend\x12&\n\x05rules\x18\x01 \x03(\x0b\x32\x17.google.api.BackendRule\"\xf2\x02\n\x0b\x42\x61\x63kendRule\x12\x10\n\x08selector\x18\x01 \x01(\t\x12\x0f\n\x07\x61\x64\x64ress\x18\x02 \x01(\t\x12\x10\n\x08\x64\x65\x61\x64line\x18\x03 \x01(\x01\x12\x14\n\x0cmin_deadline\x18\x04 \x01(\x01\x12\x1a\n\x12operation_deadline\x18\x05 \x01(\x01\x12\x41\n\x10path_translation\x18\x06 \x01(\x0e\x32\'.google.api.BackendRule.PathTranslation\x12\x16\n\x0cjwt_audience\x18\x07 \x01(\tH\x00\x12\x16\n\x0c\x64isable_auth\x18\x08 \x01(\x08H\x00\x12\x10\n\x08protocol\x18\t \x01(\t\"e\n\x0fPathTranslation\x12 \n\x1cPATH_TRANSLATION_UNSPECIFIED\x10\x00\x12\x14\n\x10\x43ONSTANT_ADDRESS\x10\x01\x12\x1a\n\x16\x41PPEND_PATH_TO_ADDRESS\x10\x02\x42\x10\n\x0e\x61uthenticationBn\n\x0e\x63om.google.apiB\x0c\x42\x61\x63kendProtoP\x01ZEgoogle.golang.org/genproto/googleapis/api/serviceconfig;serviceconfig\xa2\x02\x04GAPIb\x06proto3')
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x18google/api/backend.proto\x12\ngoogle.api\"1\n\x07\x42\x61\x63kend\x12&\n\x05rules\x18\x01 \x03(\x0b\x32\x17.google.api.BackendRule\"\xb2\x04\n\x0b\x42\x61\x63kendRule\x12\x10\n\x08selector\x18\x01 \x01(\t\x12\x0f\n\x07\x61\x64\x64ress\x18\x02 \x01(\t\x12\x10\n\x08\x64\x65\x61\x64line\x18\x03 \x01(\x01\x12\x18\n\x0cmin_deadline\x18\x04 \x01(\x01\x42\x02\x18\x01\x12\x1a\n\x12operation_deadline\x18\x05 \x01(\x01\x12\x41\n\x10path_translation\x18\x06 \x01(\x0e\x32\'.google.api.BackendRule.PathTranslation\x12\x16\n\x0cjwt_audience\x18\x07 \x01(\tH\x00\x12\x16\n\x0c\x64isable_auth\x18\x08 \x01(\x08H\x00\x12\x10\n\x08protocol\x18\t \x01(\t\x12^\n\x1doverrides_by_request_protocol\x18\n \x03(\x0b\x32\x37.google.api.BackendRule.OverridesByRequestProtocolEntry\x1aZ\n\x1fOverridesByRequestProtocolEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12&\n\x05value\x18\x02 \x01(\x0b\x32\x17.google.api.BackendRule:\x02\x38\x01\"e\n\x0fPathTranslation\x12 \n\x1cPATH_TRANSLATION_UNSPECIFIED\x10\x00\x12\x14\n\x10\x43ONSTANT_ADDRESS\x10\x01\x12\x1a\n\x16\x41PPEND_PATH_TO_ADDRESS\x10\x02\x42\x10\n\x0e\x61uthenticationBn\n\x0e\x63om.google.apiB\x0c\x42\x61\x63kendProtoP\x01ZEgoogle.golang.org/genproto/googleapis/api/serviceconfig;serviceconfig\xa2\x02\x04GAPIb\x06proto3')
_globals = globals()
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
@ -21,10 +21,16 @@ _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'google.api.backend_pb2', _g
if _descriptor._USE_C_DESCRIPTORS == False:
DESCRIPTOR._options = None
DESCRIPTOR._serialized_options = b'\n\016com.google.apiB\014BackendProtoP\001ZEgoogle.golang.org/genproto/googleapis/api/serviceconfig;serviceconfig\242\002\004GAPI'
_BACKENDRULE_OVERRIDESBYREQUESTPROTOCOLENTRY._options = None
_BACKENDRULE_OVERRIDESBYREQUESTPROTOCOLENTRY._serialized_options = b'8\001'
_BACKENDRULE.fields_by_name['min_deadline']._options = None
_BACKENDRULE.fields_by_name['min_deadline']._serialized_options = b'\030\001'
_globals['_BACKEND']._serialized_start=40
_globals['_BACKEND']._serialized_end=89
_globals['_BACKENDRULE']._serialized_start=92
_globals['_BACKENDRULE']._serialized_end=462
_globals['_BACKENDRULE_PATHTRANSLATION']._serialized_start=343
_globals['_BACKENDRULE_PATHTRANSLATION']._serialized_end=444
_globals['_BACKENDRULE']._serialized_end=654
_globals['_BACKENDRULE_OVERRIDESBYREQUESTPROTOCOLENTRY']._serialized_start=443
_globals['_BACKENDRULE_OVERRIDESBYREQUESTPROTOCOLENTRY']._serialized_end=533
_globals['_BACKENDRULE_PATHTRANSLATION']._serialized_start=535
_globals['_BACKENDRULE_PATHTRANSLATION']._serialized_end=636
# @@protoc_insertion_point(module_scope)

@ -11,10 +11,9 @@ from google.protobuf.internal import builder as _builder
_sym_db = _symbol_database.Default()
from google.api import metric_pb2 as google_dot_api_dot_metric__pb2
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x18google/api/billing.proto\x12\ngoogle.api\x1a\x17google/api/metric.proto\"\x93\x01\n\x07\x42illing\x12\x45\n\x15\x63onsumer_destinations\x18\x08 \x03(\x0b\x32&.google.api.Billing.BillingDestination\x1a\x41\n\x12\x42illingDestination\x12\x1a\n\x12monitored_resource\x18\x01 \x01(\t\x12\x0f\n\x07metrics\x18\x02 \x03(\tBn\n\x0e\x63om.google.apiB\x0c\x42illingProtoP\x01ZEgoogle.golang.org/genproto/googleapis/api/serviceconfig;serviceconfig\xa2\x02\x04GAPIb\x06proto3')
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x18google/api/billing.proto\x12\ngoogle.api\"\x93\x01\n\x07\x42illing\x12\x45\n\x15\x63onsumer_destinations\x18\x08 \x03(\x0b\x32&.google.api.Billing.BillingDestination\x1a\x41\n\x12\x42illingDestination\x12\x1a\n\x12monitored_resource\x18\x01 \x01(\t\x12\x0f\n\x07metrics\x18\x02 \x03(\tBn\n\x0e\x63om.google.apiB\x0c\x42illingProtoP\x01ZEgoogle.golang.org/genproto/googleapis/api/serviceconfig;serviceconfig\xa2\x02\x04GAPIb\x06proto3')
_globals = globals()
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
@ -22,8 +21,8 @@ _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'google.api.billing_pb2', _g
if _descriptor._USE_C_DESCRIPTORS == False:
DESCRIPTOR._options = None
DESCRIPTOR._serialized_options = b'\n\016com.google.apiB\014BillingProtoP\001ZEgoogle.golang.org/genproto/googleapis/api/serviceconfig;serviceconfig\242\002\004GAPI'
_globals['_BILLING']._serialized_start=66
_globals['_BILLING']._serialized_end=213
_globals['_BILLING_BILLINGDESTINATION']._serialized_start=148
_globals['_BILLING_BILLINGDESTINATION']._serialized_end=213
_globals['_BILLING']._serialized_start=41
_globals['_BILLING']._serialized_end=188
_globals['_BILLING_BILLINGDESTINATION']._serialized_start=123
_globals['_BILLING_BILLINGDESTINATION']._serialized_end=188
# @@protoc_insertion_point(module_scope)

@ -11,10 +11,12 @@ from google.protobuf.internal import builder as _builder
_sym_db = _symbol_database.Default()
from google.api import launch_stage_pb2 as google_dot_api_dot_launch__stage__pb2
from google.protobuf import descriptor_pb2 as google_dot_protobuf_dot_descriptor__pb2
from google.protobuf import duration_pb2 as google_dot_protobuf_dot_duration__pb2
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x17google/api/client.proto\x12\ngoogle.api\x1a google/protobuf/descriptor.proto:9\n\x10method_signature\x12\x1e.google.protobuf.MethodOptions\x18\x9b\x08 \x03(\t:6\n\x0c\x64\x65\x66\x61ult_host\x12\x1f.google.protobuf.ServiceOptions\x18\x99\x08 \x01(\t:6\n\x0coauth_scopes\x12\x1f.google.protobuf.ServiceOptions\x18\x9a\x08 \x01(\tBi\n\x0e\x63om.google.apiB\x0b\x43lientProtoP\x01ZAgoogle.golang.org/genproto/googleapis/api/annotations;annotations\xa2\x02\x04GAPIb\x06proto3')
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x17google/api/client.proto\x12\ngoogle.api\x1a\x1dgoogle/api/launch_stage.proto\x1a google/protobuf/descriptor.proto\x1a\x1egoogle/protobuf/duration.proto\"t\n\x16\x43ommonLanguageSettings\x12\x1e\n\x12reference_docs_uri\x18\x01 \x01(\tB\x02\x18\x01\x12:\n\x0c\x64\x65stinations\x18\x02 \x03(\x0e\x32$.google.api.ClientLibraryDestination\"\xfb\x03\n\x15\x43lientLibrarySettings\x12\x0f\n\x07version\x18\x01 \x01(\t\x12-\n\x0claunch_stage\x18\x02 \x01(\x0e\x32\x17.google.api.LaunchStage\x12\x1a\n\x12rest_numeric_enums\x18\x03 \x01(\x08\x12/\n\rjava_settings\x18\x15 \x01(\x0b\x32\x18.google.api.JavaSettings\x12-\n\x0c\x63pp_settings\x18\x16 \x01(\x0b\x32\x17.google.api.CppSettings\x12-\n\x0cphp_settings\x18\x17 \x01(\x0b\x32\x17.google.api.PhpSettings\x12\x33\n\x0fpython_settings\x18\x18 \x01(\x0b\x32\x1a.google.api.PythonSettings\x12/\n\rnode_settings\x18\x19 \x01(\x0b\x32\x18.google.api.NodeSettings\x12\x33\n\x0f\x64otnet_settings\x18\x1a \x01(\x0b\x32\x1a.google.api.DotnetSettings\x12/\n\rruby_settings\x18\x1b \x01(\x0b\x32\x18.google.api.RubySettings\x12+\n\x0bgo_settings\x18\x1c \x01(\x0b\x32\x16.google.api.GoSettings\"\xa8\x03\n\nPublishing\x12\x33\n\x0fmethod_settings\x18\x02 \x03(\x0b\x32\x1a.google.api.MethodSettings\x12\x15\n\rnew_issue_uri\x18\x65 \x01(\t\x12\x19\n\x11\x64ocumentation_uri\x18\x66 \x01(\t\x12\x16\n\x0e\x61pi_short_name\x18g \x01(\t\x12\x14\n\x0cgithub_label\x18h \x01(\t\x12\x1e\n\x16\x63odeowner_github_teams\x18i \x03(\t\x12\x16\n\x0e\x64oc_tag_prefix\x18j \x01(\t\x12;\n\x0corganization\x18k \x01(\x0e\x32%.google.api.ClientLibraryOrganization\x12;\n\x10library_settings\x18m \x03(\x0b\x32!.google.api.ClientLibrarySettings\x12)\n!proto_reference_documentation_uri\x18n \x01(\t\x12(\n rest_reference_documentation_uri\x18o \x01(\t\"\xe3\x01\n\x0cJavaSettings\x12\x17\n\x0flibrary_package\x18\x01 \x01(\t\x12L\n\x13service_class_names\x18\x02 \x03(\x0b\x32/.google.api.JavaSettings.ServiceClassNamesEntry\x12\x32\n\x06\x63ommon\x18\x03 \x01(\x0b\x32\".google.api.CommonLanguageSettings\x1a\x38\n\x16ServiceClassNamesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"A\n\x0b\x43ppSettings\x12\x32\n\x06\x63ommon\x18\x01 \x01(\x0b\x32\".google.api.CommonLanguageSettings\"A\n\x0bPhpSettings\x12\x32\n\x06\x63ommon\x18\x01 \x01(\x0b\x32\".google.api.CommonLanguageSettings\"D\n\x0ePythonSettings\x12\x32\n\x06\x63ommon\x18\x01 \x01(\x0b\x32\".google.api.CommonLanguageSettings\"B\n\x0cNodeSettings\x12\x32\n\x06\x63ommon\x18\x01 \x01(\x0b\x32\".google.api.CommonLanguageSettings\"\xaa\x03\n\x0e\x44otnetSettings\x12\x32\n\x06\x63ommon\x18\x01 \x01(\x0b\x32\".google.api.CommonLanguageSettings\x12I\n\x10renamed_services\x18\x02 \x03(\x0b\x32/.google.api.DotnetSettings.RenamedServicesEntry\x12K\n\x11renamed_resources\x18\x03 \x03(\x0b\x32\x30.google.api.DotnetSettings.RenamedResourcesEntry\x12\x19\n\x11ignored_resources\x18\x04 \x03(\t\x12 \n\x18\x66orced_namespace_aliases\x18\x05 \x03(\t\x12\x1e\n\x16handwritten_signatures\x18\x06 \x03(\t\x1a\x36\n\x14RenamedServicesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a\x37\n\x15RenamedResourcesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"B\n\x0cRubySettings\x12\x32\n\x06\x63ommon\x18\x01 \x01(\x0b\x32\".google.api.CommonLanguageSettings\"@\n\nGoSettings\x12\x32\n\x06\x63ommon\x18\x01 \x01(\x0b\x32\".google.api.CommonLanguageSettings\"\xcf\x02\n\x0eMethodSettings\x12\x10\n\x08selector\x18\x01 \x01(\t\x12<\n\x0clong_running\x18\x02 \x01(\x0b\x32&.google.api.MethodSettings.LongRunning\x12\x1d\n\x15\x61uto_populated_fields\x18\x03 \x03(\t\x1a\xcd\x01\n\x0bLongRunning\x12\x35\n\x12initial_poll_delay\x18\x01 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x1d\n\x15poll_delay_multiplier\x18\x02 \x01(\x02\x12\x31\n\x0emax_poll_delay\x18\x03 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x35\n\x12total_poll_timeout\x18\x04 \x01(\x0b\x32\x19.google.protobuf.Duration*\xa3\x01\n\x19\x43lientLibraryOrganization\x12+\n\'CLIENT_LIBRARY_ORGANIZATION_UNSPECIFIED\x10\x00\x12\t\n\x05\x43LOUD\x10\x01\x12\x07\n\x03\x41\x44S\x10\x02\x12\n\n\x06PHOTOS\x10\x03\x12\x0f\n\x0bSTREET_VIEW\x10\x04\x12\x0c\n\x08SHOPPING\x10\x05\x12\x07\n\x03GEO\x10\x06\x12\x11\n\rGENERATIVE_AI\x10\x07*g\n\x18\x43lientLibraryDestination\x12*\n&CLIENT_LIBRARY_DESTINATION_UNSPECIFIED\x10\x00\x12\n\n\x06GITHUB\x10\n\x12\x13\n\x0fPACKAGE_MANAGER\x10\x14:9\n\x10method_signature\x12\x1e.google.protobuf.MethodOptions\x18\x9b\x08 \x03(\t:6\n\x0c\x64\x65\x66\x61ult_host\x12\x1f.google.protobuf.ServiceOptions\x18\x99\x08 \x01(\t:6\n\x0coauth_scopes\x12\x1f.google.protobuf.ServiceOptions\x18\x9a\x08 \x01(\t:8\n\x0b\x61pi_version\x12\x1f.google.protobuf.ServiceOptions\x18\xc1\xba\xab\xfa\x01 \x01(\tBi\n\x0e\x63om.google.apiB\x0b\x43lientProtoP\x01ZAgoogle.golang.org/genproto/googleapis/api/annotations;annotations\xa2\x02\x04GAPIb\x06proto3')
_globals = globals()
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
@ -22,4 +24,48 @@ _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'google.api.client_pb2', _gl
if _descriptor._USE_C_DESCRIPTORS == False:
DESCRIPTOR._options = None
DESCRIPTOR._serialized_options = b'\n\016com.google.apiB\013ClientProtoP\001ZAgoogle.golang.org/genproto/googleapis/api/annotations;annotations\242\002\004GAPI'
_COMMONLANGUAGESETTINGS.fields_by_name['reference_docs_uri']._options = None
_COMMONLANGUAGESETTINGS.fields_by_name['reference_docs_uri']._serialized_options = b'\030\001'
_JAVASETTINGS_SERVICECLASSNAMESENTRY._options = None
_JAVASETTINGS_SERVICECLASSNAMESENTRY._serialized_options = b'8\001'
_DOTNETSETTINGS_RENAMEDSERVICESENTRY._options = None
_DOTNETSETTINGS_RENAMEDSERVICESENTRY._serialized_options = b'8\001'
_DOTNETSETTINGS_RENAMEDRESOURCESENTRY._options = None
_DOTNETSETTINGS_RENAMEDRESOURCESENTRY._serialized_options = b'8\001'
_globals['_CLIENTLIBRARYORGANIZATION']._serialized_start=2595
_globals['_CLIENTLIBRARYORGANIZATION']._serialized_end=2758
_globals['_CLIENTLIBRARYDESTINATION']._serialized_start=2760
_globals['_CLIENTLIBRARYDESTINATION']._serialized_end=2863
_globals['_COMMONLANGUAGESETTINGS']._serialized_start=136
_globals['_COMMONLANGUAGESETTINGS']._serialized_end=252
_globals['_CLIENTLIBRARYSETTINGS']._serialized_start=255
_globals['_CLIENTLIBRARYSETTINGS']._serialized_end=762
_globals['_PUBLISHING']._serialized_start=765
_globals['_PUBLISHING']._serialized_end=1189
_globals['_JAVASETTINGS']._serialized_start=1192
_globals['_JAVASETTINGS']._serialized_end=1419
_globals['_JAVASETTINGS_SERVICECLASSNAMESENTRY']._serialized_start=1363
_globals['_JAVASETTINGS_SERVICECLASSNAMESENTRY']._serialized_end=1419
_globals['_CPPSETTINGS']._serialized_start=1421
_globals['_CPPSETTINGS']._serialized_end=1486
_globals['_PHPSETTINGS']._serialized_start=1488
_globals['_PHPSETTINGS']._serialized_end=1553
_globals['_PYTHONSETTINGS']._serialized_start=1555
_globals['_PYTHONSETTINGS']._serialized_end=1623
_globals['_NODESETTINGS']._serialized_start=1625
_globals['_NODESETTINGS']._serialized_end=1691
_globals['_DOTNETSETTINGS']._serialized_start=1694
_globals['_DOTNETSETTINGS']._serialized_end=2120
_globals['_DOTNETSETTINGS_RENAMEDSERVICESENTRY']._serialized_start=2009
_globals['_DOTNETSETTINGS_RENAMEDSERVICESENTRY']._serialized_end=2063
_globals['_DOTNETSETTINGS_RENAMEDRESOURCESENTRY']._serialized_start=2065
_globals['_DOTNETSETTINGS_RENAMEDRESOURCESENTRY']._serialized_end=2120
_globals['_RUBYSETTINGS']._serialized_start=2122
_globals['_RUBYSETTINGS']._serialized_end=2188
_globals['_GOSETTINGS']._serialized_start=2190
_globals['_GOSETTINGS']._serialized_end=2254
_globals['_METHODSETTINGS']._serialized_start=2257
_globals['_METHODSETTINGS']._serialized_end=2592
_globals['_METHODSETTINGS_LONGRUNNING']._serialized_start=2387
_globals['_METHODSETTINGS_LONGRUNNING']._serialized_end=2592
# @@protoc_insertion_point(module_scope)

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

@ -11,9 +11,10 @@ from google.protobuf.internal import builder as _builder
_sym_db = _symbol_database.Default()
from google.api import policy_pb2 as google_dot_api_dot_policy__pb2
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x18google/api/control.proto\x12\ngoogle.api\"\x1e\n\x07\x43ontrol\x12\x13\n\x0b\x65nvironment\x18\x01 \x01(\tBn\n\x0e\x63om.google.apiB\x0c\x43ontrolProtoP\x01ZEgoogle.golang.org/genproto/googleapis/api/serviceconfig;serviceconfig\xa2\x02\x04GAPIb\x06proto3')
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x18google/api/control.proto\x12\ngoogle.api\x1a\x17google/api/policy.proto\"Q\n\x07\x43ontrol\x12\x13\n\x0b\x65nvironment\x18\x01 \x01(\t\x12\x31\n\x0fmethod_policies\x18\x04 \x03(\x0b\x32\x18.google.api.MethodPolicyBn\n\x0e\x63om.google.apiB\x0c\x43ontrolProtoP\x01ZEgoogle.golang.org/genproto/googleapis/api/serviceconfig;serviceconfig\xa2\x02\x04GAPIb\x06proto3')
_globals = globals()
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
@ -21,6 +22,6 @@ _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'google.api.control_pb2', _g
if _descriptor._USE_C_DESCRIPTORS == False:
DESCRIPTOR._options = None
DESCRIPTOR._serialized_options = b'\n\016com.google.apiB\014ControlProtoP\001ZEgoogle.golang.org/genproto/googleapis/api/serviceconfig;serviceconfig\242\002\004GAPI'
_globals['_CONTROL']._serialized_start=40
_globals['_CONTROL']._serialized_end=70
_globals['_CONTROL']._serialized_start=65
_globals['_CONTROL']._serialized_end=146
# @@protoc_insertion_point(module_scope)

@ -13,7 +13,7 @@ _sym_db = _symbol_database.Default()
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x19google/api/endpoint.proto\x12\ngoogle.api\"Q\n\x08\x45ndpoint\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\x07\x61liases\x18\x02 \x03(\tB\x02\x18\x01\x12\x0e\n\x06target\x18\x65 \x01(\t\x12\x12\n\nallow_cors\x18\x05 \x01(\x08\x42o\n\x0e\x63om.google.apiB\rEndpointProtoP\x01ZEgoogle.golang.org/genproto/googleapis/api/serviceconfig;serviceconfig\xa2\x02\x04GAPIb\x06proto3')
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x19google/api/endpoint.proto\x12\ngoogle.api\"M\n\x08\x45ndpoint\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0f\n\x07\x61liases\x18\x02 \x03(\t\x12\x0e\n\x06target\x18\x65 \x01(\t\x12\x12\n\nallow_cors\x18\x05 \x01(\x08\x42o\n\x0e\x63om.google.apiB\rEndpointProtoP\x01ZEgoogle.golang.org/genproto/googleapis/api/serviceconfig;serviceconfig\xa2\x02\x04GAPIb\x06proto3')
_globals = globals()
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
@ -21,8 +21,6 @@ _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'google.api.endpoint_pb2', _
if _descriptor._USE_C_DESCRIPTORS == False:
DESCRIPTOR._options = None
DESCRIPTOR._serialized_options = b'\n\016com.google.apiB\rEndpointProtoP\001ZEgoogle.golang.org/genproto/googleapis/api/serviceconfig;serviceconfig\242\002\004GAPI'
_ENDPOINT.fields_by_name['aliases']._options = None
_ENDPOINT.fields_by_name['aliases']._serialized_options = b'\030\001'
_globals['_ENDPOINT']._serialized_start=41
_globals['_ENDPOINT']._serialized_end=122
_globals['_ENDPOINT']._serialized_end=118
# @@protoc_insertion_point(module_scope)

@ -13,7 +13,7 @@ _sym_db = _symbol_database.Default()
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1dgoogle/api/error_reason.proto\x12\ngoogle.api*\xc4\x04\n\x0b\x45rrorReason\x12\x1c\n\x18\x45RROR_REASON_UNSPECIFIED\x10\x00\x12\x14\n\x10SERVICE_DISABLED\x10\x01\x12\x14\n\x10\x42ILLING_DISABLED\x10\x02\x12\x13\n\x0f\x41PI_KEY_INVALID\x10\x03\x12\x1b\n\x17\x41PI_KEY_SERVICE_BLOCKED\x10\x04\x12!\n\x1d\x41PI_KEY_HTTP_REFERRER_BLOCKED\x10\x07\x12\x1e\n\x1a\x41PI_KEY_IP_ADDRESS_BLOCKED\x10\x08\x12\x1f\n\x1b\x41PI_KEY_ANDROID_APP_BLOCKED\x10\t\x12\x1b\n\x17\x41PI_KEY_IOS_APP_BLOCKED\x10\r\x12\x17\n\x13RATE_LIMIT_EXCEEDED\x10\x05\x12\x1b\n\x17RESOURCE_QUOTA_EXCEEDED\x10\x06\x12 \n\x1cLOCATION_TAX_POLICY_VIOLATED\x10\n\x12\x17\n\x13USER_PROJECT_DENIED\x10\x0b\x12\x16\n\x12\x43ONSUMER_SUSPENDED\x10\x0c\x12\x14\n\x10\x43ONSUMER_INVALID\x10\x0e\x12\x1c\n\x18SECURITY_POLICY_VIOLATED\x10\x0f\x12\x18\n\x14\x41\x43\x43\x45SS_TOKEN_EXPIRED\x10\x10\x12#\n\x1f\x41\x43\x43\x45SS_TOKEN_SCOPE_INSUFFICIENT\x10\x11\x12\x19\n\x15\x41\x43\x43OUNT_STATE_INVALID\x10\x12\x12!\n\x1d\x41\x43\x43\x45SS_TOKEN_TYPE_UNSUPPORTED\x10\x13\x42p\n\x0e\x63om.google.apiB\x10\x45rrorReasonProtoP\x01ZCgoogle.golang.org/genproto/googleapis/api/error_reason;error_reason\xa2\x02\x04GAPIb\x06proto3')
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1dgoogle/api/error_reason.proto\x12\ngoogle.api*\x8a\x07\n\x0b\x45rrorReason\x12\x1c\n\x18\x45RROR_REASON_UNSPECIFIED\x10\x00\x12\x14\n\x10SERVICE_DISABLED\x10\x01\x12\x14\n\x10\x42ILLING_DISABLED\x10\x02\x12\x13\n\x0f\x41PI_KEY_INVALID\x10\x03\x12\x1b\n\x17\x41PI_KEY_SERVICE_BLOCKED\x10\x04\x12!\n\x1d\x41PI_KEY_HTTP_REFERRER_BLOCKED\x10\x07\x12\x1e\n\x1a\x41PI_KEY_IP_ADDRESS_BLOCKED\x10\x08\x12\x1f\n\x1b\x41PI_KEY_ANDROID_APP_BLOCKED\x10\t\x12\x1b\n\x17\x41PI_KEY_IOS_APP_BLOCKED\x10\r\x12\x17\n\x13RATE_LIMIT_EXCEEDED\x10\x05\x12\x1b\n\x17RESOURCE_QUOTA_EXCEEDED\x10\x06\x12 \n\x1cLOCATION_TAX_POLICY_VIOLATED\x10\n\x12\x17\n\x13USER_PROJECT_DENIED\x10\x0b\x12\x16\n\x12\x43ONSUMER_SUSPENDED\x10\x0c\x12\x14\n\x10\x43ONSUMER_INVALID\x10\x0e\x12\x1c\n\x18SECURITY_POLICY_VIOLATED\x10\x0f\x12\x18\n\x14\x41\x43\x43\x45SS_TOKEN_EXPIRED\x10\x10\x12#\n\x1f\x41\x43\x43\x45SS_TOKEN_SCOPE_INSUFFICIENT\x10\x11\x12\x19\n\x15\x41\x43\x43OUNT_STATE_INVALID\x10\x12\x12!\n\x1d\x41\x43\x43\x45SS_TOKEN_TYPE_UNSUPPORTED\x10\x13\x12\x17\n\x13\x43REDENTIALS_MISSING\x10\x14\x12\x1c\n\x18RESOURCE_PROJECT_INVALID\x10\x15\x12\x1a\n\x16SESSION_COOKIE_INVALID\x10\x17\x12\x19\n\x15USER_BLOCKED_BY_ADMIN\x10\x18\x12\'\n#RESOURCE_USAGE_RESTRICTION_VIOLATED\x10\x19\x12 \n\x1cSYSTEM_PARAMETER_UNSUPPORTED\x10\x1a\x12\x1d\n\x19ORG_RESTRICTION_VIOLATION\x10\x1b\x12\"\n\x1eORG_RESTRICTION_HEADER_INVALID\x10\x1c\x12\x17\n\x13SERVICE_NOT_VISIBLE\x10\x1d\x12\x11\n\rGCP_SUSPENDED\x10\x1e\x12\x1c\n\x18LOCATION_POLICY_VIOLATED\x10\x1f\x42p\n\x0e\x63om.google.apiB\x10\x45rrorReasonProtoP\x01ZCgoogle.golang.org/genproto/googleapis/api/error_reason;error_reason\xa2\x02\x04GAPIb\x06proto3')
_globals = globals()
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
@ -22,5 +22,5 @@ if _descriptor._USE_C_DESCRIPTORS == False:
DESCRIPTOR._options = None
DESCRIPTOR._serialized_options = b'\n\016com.google.apiB\020ErrorReasonProtoP\001ZCgoogle.golang.org/genproto/googleapis/api/error_reason;error_reason\242\002\004GAPI'
_globals['_ERRORREASON']._serialized_start=46
_globals['_ERRORREASON']._serialized_end=626
_globals['_ERRORREASON']._serialized_end=952
# @@protoc_insertion_point(module_scope)

@ -0,0 +1,55 @@
# -*- coding: utf-8 -*-
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: google/api/expr/conformance/v1alpha1/conformance_service.proto
"""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 client_pb2 as google_dot_api_dot_client__pb2
from google.api.expr.v1alpha1 import checked_pb2 as google_dot_api_dot_expr_dot_v1alpha1_dot_checked__pb2
from google.api.expr.v1alpha1 import eval_pb2 as google_dot_api_dot_expr_dot_v1alpha1_dot_eval__pb2
from google.api.expr.v1alpha1 import syntax_pb2 as google_dot_api_dot_expr_dot_v1alpha1_dot_syntax__pb2
from google.rpc import status_pb2 as google_dot_rpc_dot_status__pb2
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n>google/api/expr/conformance/v1alpha1/conformance_service.proto\x12$google.api.expr.conformance.v1alpha1\x1a\x17google/api/client.proto\x1a&google/api/expr/v1alpha1/checked.proto\x1a#google/api/expr/v1alpha1/eval.proto\x1a%google/api/expr/v1alpha1/syntax.proto\x1a\x17google/rpc/status.proto\"k\n\x0cParseRequest\x12\x12\n\ncel_source\x18\x01 \x01(\t\x12\x16\n\x0esyntax_version\x18\x02 \x01(\t\x12\x17\n\x0fsource_location\x18\x03 \x01(\t\x12\x16\n\x0e\x64isable_macros\x18\x04 \x01(\x08\"n\n\rParseResponse\x12\x39\n\x0bparsed_expr\x18\x01 \x01(\x0b\x32$.google.api.expr.v1alpha1.ParsedExpr\x12\"\n\x06issues\x18\x02 \x03(\x0b\x32\x12.google.rpc.Status\"\xa2\x01\n\x0c\x43heckRequest\x12\x39\n\x0bparsed_expr\x18\x01 \x01(\x0b\x32$.google.api.expr.v1alpha1.ParsedExpr\x12\x30\n\x08type_env\x18\x02 \x03(\x0b\x32\x1e.google.api.expr.v1alpha1.Decl\x12\x11\n\tcontainer\x18\x03 \x01(\t\x12\x12\n\nno_std_env\x18\x04 \x01(\x08\"p\n\rCheckResponse\x12;\n\x0c\x63hecked_expr\x18\x01 \x01(\x0b\x32%.google.api.expr.v1alpha1.CheckedExpr\x12\"\n\x06issues\x18\x02 \x03(\x0b\x32\x12.google.rpc.Status\"\xd2\x02\n\x0b\x45valRequest\x12;\n\x0bparsed_expr\x18\x01 \x01(\x0b\x32$.google.api.expr.v1alpha1.ParsedExprH\x00\x12=\n\x0c\x63hecked_expr\x18\x02 \x01(\x0b\x32%.google.api.expr.v1alpha1.CheckedExprH\x00\x12Q\n\x08\x62indings\x18\x03 \x03(\x0b\x32?.google.api.expr.conformance.v1alpha1.EvalRequest.BindingsEntry\x12\x11\n\tcontainer\x18\x04 \x01(\t\x1aT\n\rBindingsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x32\n\x05value\x18\x02 \x01(\x0b\x32#.google.api.expr.v1alpha1.ExprValue:\x02\x38\x01\x42\x0b\n\texpr_kind\"g\n\x0c\x45valResponse\x12\x33\n\x06result\x18\x01 \x01(\x0b\x32#.google.api.expr.v1alpha1.ExprValue\x12\"\n\x06issues\x18\x02 \x03(\x0b\x32\x12.google.rpc.Status\"P\n\x0eSourcePosition\x12\x10\n\x08location\x18\x01 \x01(\t\x12\x0e\n\x06offset\x18\x02 \x01(\x05\x12\x0c\n\x04line\x18\x03 \x01(\x05\x12\x0e\n\x06\x63olumn\x18\x04 \x01(\x05\"\x80\x02\n\x0cIssueDetails\x12M\n\x08severity\x18\x01 \x01(\x0e\x32;.google.api.expr.conformance.v1alpha1.IssueDetails.Severity\x12\x46\n\x08position\x18\x02 \x01(\x0b\x32\x34.google.api.expr.conformance.v1alpha1.SourcePosition\x12\n\n\x02id\x18\x03 \x01(\x03\"M\n\x08Severity\x12\x18\n\x14SEVERITY_UNSPECIFIED\x10\x00\x12\x0f\n\x0b\x44\x45PRECATION\x10\x01\x12\x0b\n\x07WARNING\x10\x02\x12\t\n\x05\x45RROR\x10\x03\x32\x84\x03\n\x12\x43onformanceService\x12r\n\x05Parse\x12\x32.google.api.expr.conformance.v1alpha1.ParseRequest\x1a\x33.google.api.expr.conformance.v1alpha1.ParseResponse\"\x00\x12r\n\x05\x43heck\x12\x32.google.api.expr.conformance.v1alpha1.CheckRequest\x1a\x33.google.api.expr.conformance.v1alpha1.CheckResponse\"\x00\x12o\n\x04\x45val\x12\x31.google.api.expr.conformance.v1alpha1.EvalRequest\x1a\x32.google.api.expr.conformance.v1alpha1.EvalResponse\"\x00\x1a\x15\xca\x41\x12\x63\x65l.googleapis.comB\x94\x01\n(com.google.api.expr.conformance.v1alpha1B\x17\x43onformanceServiceProtoP\x01ZJgoogle.golang.org/genproto/googleapis/api/expr/conformance/v1alpha1;confpb\xf8\x01\x01\x62\x06proto3')
_globals = globals()
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'google.api.expr.conformance.v1alpha1.conformance_service_pb2', _globals)
if _descriptor._USE_C_DESCRIPTORS == False:
DESCRIPTOR._options = None
DESCRIPTOR._serialized_options = b'\n(com.google.api.expr.conformance.v1alpha1B\027ConformanceServiceProtoP\001ZJgoogle.golang.org/genproto/googleapis/api/expr/conformance/v1alpha1;confpb\370\001\001'
_EVALREQUEST_BINDINGSENTRY._options = None
_EVALREQUEST_BINDINGSENTRY._serialized_options = b'8\001'
_CONFORMANCESERVICE._options = None
_CONFORMANCESERVICE._serialized_options = b'\312A\022cel.googleapis.com'
_globals['_PARSEREQUEST']._serialized_start=270
_globals['_PARSEREQUEST']._serialized_end=377
_globals['_PARSERESPONSE']._serialized_start=379
_globals['_PARSERESPONSE']._serialized_end=489
_globals['_CHECKREQUEST']._serialized_start=492
_globals['_CHECKREQUEST']._serialized_end=654
_globals['_CHECKRESPONSE']._serialized_start=656
_globals['_CHECKRESPONSE']._serialized_end=768
_globals['_EVALREQUEST']._serialized_start=771
_globals['_EVALREQUEST']._serialized_end=1109
_globals['_EVALREQUEST_BINDINGSENTRY']._serialized_start=1012
_globals['_EVALREQUEST_BINDINGSENTRY']._serialized_end=1096
_globals['_EVALRESPONSE']._serialized_start=1111
_globals['_EVALRESPONSE']._serialized_end=1214
_globals['_SOURCEPOSITION']._serialized_start=1216
_globals['_SOURCEPOSITION']._serialized_end=1296
_globals['_ISSUEDETAILS']._serialized_start=1299
_globals['_ISSUEDETAILS']._serialized_end=1555
_globals['_ISSUEDETAILS_SEVERITY']._serialized_start=1478
_globals['_ISSUEDETAILS_SEVERITY']._serialized_end=1555
_globals['_CONFORMANCESERVICE']._serialized_start=1558
_globals['_CONFORMANCESERVICE']._serialized_end=1946
# @@protoc_insertion_point(module_scope)

@ -16,7 +16,7 @@ from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2
from google.protobuf import struct_pb2 as google_dot_protobuf_dot_struct__pb2
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n&google/api/expr/v1alpha1/checked.proto\x12\x18google.api.expr.v1alpha1\x1a%google/api/expr/v1alpha1/syntax.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a\x1cgoogle/protobuf/struct.proto\"\xb6\x03\n\x0b\x43heckedExpr\x12N\n\rreference_map\x18\x02 \x03(\x0b\x32\x37.google.api.expr.v1alpha1.CheckedExpr.ReferenceMapEntry\x12\x44\n\x08type_map\x18\x03 \x03(\x0b\x32\x32.google.api.expr.v1alpha1.CheckedExpr.TypeMapEntry\x12\x39\n\x0bsource_info\x18\x05 \x01(\x0b\x32$.google.api.expr.v1alpha1.SourceInfo\x12,\n\x04\x65xpr\x18\x04 \x01(\x0b\x32\x1e.google.api.expr.v1alpha1.Expr\x1aX\n\x11ReferenceMapEntry\x12\x0b\n\x03key\x18\x01 \x01(\x03\x12\x32\n\x05value\x18\x02 \x01(\x0b\x32#.google.api.expr.v1alpha1.Reference:\x02\x38\x01\x1aN\n\x0cTypeMapEntry\x12\x0b\n\x03key\x18\x01 \x01(\x03\x12-\n\x05value\x18\x02 \x01(\x0b\x32\x1e.google.api.expr.v1alpha1.Type:\x02\x38\x01\"\x82\n\n\x04Type\x12%\n\x03\x64yn\x18\x01 \x01(\x0b\x32\x16.google.protobuf.EmptyH\x00\x12*\n\x04null\x18\x02 \x01(\x0e\x32\x1a.google.protobuf.NullValueH\x00\x12\x41\n\tprimitive\x18\x03 \x01(\x0e\x32,.google.api.expr.v1alpha1.Type.PrimitiveTypeH\x00\x12?\n\x07wrapper\x18\x04 \x01(\x0e\x32,.google.api.expr.v1alpha1.Type.PrimitiveTypeH\x00\x12\x42\n\nwell_known\x18\x05 \x01(\x0e\x32,.google.api.expr.v1alpha1.Type.WellKnownTypeH\x00\x12<\n\tlist_type\x18\x06 \x01(\x0b\x32\'.google.api.expr.v1alpha1.Type.ListTypeH\x00\x12:\n\x08map_type\x18\x07 \x01(\x0b\x32&.google.api.expr.v1alpha1.Type.MapTypeH\x00\x12?\n\x08\x66unction\x18\x08 \x01(\x0b\x32+.google.api.expr.v1alpha1.Type.FunctionTypeH\x00\x12\x16\n\x0cmessage_type\x18\t \x01(\tH\x00\x12\x14\n\ntype_param\x18\n \x01(\tH\x00\x12.\n\x04type\x18\x0b \x01(\x0b\x32\x1e.google.api.expr.v1alpha1.TypeH\x00\x12\'\n\x05\x65rror\x18\x0c \x01(\x0b\x32\x16.google.protobuf.EmptyH\x00\x12\x44\n\rabstract_type\x18\x0e \x01(\x0b\x32+.google.api.expr.v1alpha1.Type.AbstractTypeH\x00\x1a=\n\x08ListType\x12\x31\n\telem_type\x18\x01 \x01(\x0b\x32\x1e.google.api.expr.v1alpha1.Type\x1ao\n\x07MapType\x12\x30\n\x08key_type\x18\x01 \x01(\x0b\x32\x1e.google.api.expr.v1alpha1.Type\x12\x32\n\nvalue_type\x18\x02 \x01(\x0b\x32\x1e.google.api.expr.v1alpha1.Type\x1av\n\x0c\x46unctionType\x12\x33\n\x0bresult_type\x18\x01 \x01(\x0b\x32\x1e.google.api.expr.v1alpha1.Type\x12\x31\n\targ_types\x18\x02 \x03(\x0b\x32\x1e.google.api.expr.v1alpha1.Type\x1aU\n\x0c\x41\x62stractType\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x37\n\x0fparameter_types\x18\x02 \x03(\x0b\x32\x1e.google.api.expr.v1alpha1.Type\"s\n\rPrimitiveType\x12\x1e\n\x1aPRIMITIVE_TYPE_UNSPECIFIED\x10\x00\x12\x08\n\x04\x42OOL\x10\x01\x12\t\n\x05INT64\x10\x02\x12\n\n\x06UINT64\x10\x03\x12\n\n\x06\x44OUBLE\x10\x04\x12\n\n\x06STRING\x10\x05\x12\t\n\x05\x42YTES\x10\x06\"V\n\rWellKnownType\x12\x1f\n\x1bWELL_KNOWN_TYPE_UNSPECIFIED\x10\x00\x12\x07\n\x03\x41NY\x10\x01\x12\r\n\tTIMESTAMP\x10\x02\x12\x0c\n\x08\x44URATION\x10\x03\x42\x0b\n\ttype_kind\"\xb9\x04\n\x04\x44\x65\x63l\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x39\n\x05ident\x18\x02 \x01(\x0b\x32(.google.api.expr.v1alpha1.Decl.IdentDeclH\x00\x12?\n\x08\x66unction\x18\x03 \x01(\x0b\x32+.google.api.expr.v1alpha1.Decl.FunctionDeclH\x00\x1ay\n\tIdentDecl\x12,\n\x04type\x18\x01 \x01(\x0b\x32\x1e.google.api.expr.v1alpha1.Type\x12\x31\n\x05value\x18\x02 \x01(\x0b\x32\".google.api.expr.v1alpha1.Constant\x12\x0b\n\x03\x64oc\x18\x03 \x01(\t\x1a\x9e\x02\n\x0c\x46unctionDecl\x12G\n\toverloads\x18\x01 \x03(\x0b\x32\x34.google.api.expr.v1alpha1.Decl.FunctionDecl.Overload\x1a\xc4\x01\n\x08Overload\x12\x13\n\x0boverload_id\x18\x01 \x01(\t\x12.\n\x06params\x18\x02 \x03(\x0b\x32\x1e.google.api.expr.v1alpha1.Type\x12\x13\n\x0btype_params\x18\x03 \x03(\t\x12\x33\n\x0bresult_type\x18\x04 \x01(\x0b\x32\x1e.google.api.expr.v1alpha1.Type\x12\x1c\n\x14is_instance_function\x18\x05 \x01(\x08\x12\x0b\n\x03\x64oc\x18\x06 \x01(\tB\x0b\n\tdecl_kind\"a\n\tReference\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\x0boverload_id\x18\x03 \x03(\t\x12\x31\n\x05value\x18\x04 \x01(\x0b\x32\".google.api.expr.v1alpha1.ConstantBl\n\x1c\x63om.google.api.expr.v1alpha1B\tDeclProtoP\x01Z<google.golang.org/genproto/googleapis/api/expr/v1alpha1;expr\xf8\x01\x01\x62\x06proto3')
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n&google/api/expr/v1alpha1/checked.proto\x12\x18google.api.expr.v1alpha1\x1a%google/api/expr/v1alpha1/syntax.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a\x1cgoogle/protobuf/struct.proto\"\xcc\x03\n\x0b\x43heckedExpr\x12N\n\rreference_map\x18\x02 \x03(\x0b\x32\x37.google.api.expr.v1alpha1.CheckedExpr.ReferenceMapEntry\x12\x44\n\x08type_map\x18\x03 \x03(\x0b\x32\x32.google.api.expr.v1alpha1.CheckedExpr.TypeMapEntry\x12\x39\n\x0bsource_info\x18\x05 \x01(\x0b\x32$.google.api.expr.v1alpha1.SourceInfo\x12\x14\n\x0c\x65xpr_version\x18\x06 \x01(\t\x12,\n\x04\x65xpr\x18\x04 \x01(\x0b\x32\x1e.google.api.expr.v1alpha1.Expr\x1aX\n\x11ReferenceMapEntry\x12\x0b\n\x03key\x18\x01 \x01(\x03\x12\x32\n\x05value\x18\x02 \x01(\x0b\x32#.google.api.expr.v1alpha1.Reference:\x02\x38\x01\x1aN\n\x0cTypeMapEntry\x12\x0b\n\x03key\x18\x01 \x01(\x03\x12-\n\x05value\x18\x02 \x01(\x0b\x32\x1e.google.api.expr.v1alpha1.Type:\x02\x38\x01\"\x82\n\n\x04Type\x12%\n\x03\x64yn\x18\x01 \x01(\x0b\x32\x16.google.protobuf.EmptyH\x00\x12*\n\x04null\x18\x02 \x01(\x0e\x32\x1a.google.protobuf.NullValueH\x00\x12\x41\n\tprimitive\x18\x03 \x01(\x0e\x32,.google.api.expr.v1alpha1.Type.PrimitiveTypeH\x00\x12?\n\x07wrapper\x18\x04 \x01(\x0e\x32,.google.api.expr.v1alpha1.Type.PrimitiveTypeH\x00\x12\x42\n\nwell_known\x18\x05 \x01(\x0e\x32,.google.api.expr.v1alpha1.Type.WellKnownTypeH\x00\x12<\n\tlist_type\x18\x06 \x01(\x0b\x32\'.google.api.expr.v1alpha1.Type.ListTypeH\x00\x12:\n\x08map_type\x18\x07 \x01(\x0b\x32&.google.api.expr.v1alpha1.Type.MapTypeH\x00\x12?\n\x08\x66unction\x18\x08 \x01(\x0b\x32+.google.api.expr.v1alpha1.Type.FunctionTypeH\x00\x12\x16\n\x0cmessage_type\x18\t \x01(\tH\x00\x12\x14\n\ntype_param\x18\n \x01(\tH\x00\x12.\n\x04type\x18\x0b \x01(\x0b\x32\x1e.google.api.expr.v1alpha1.TypeH\x00\x12\'\n\x05\x65rror\x18\x0c \x01(\x0b\x32\x16.google.protobuf.EmptyH\x00\x12\x44\n\rabstract_type\x18\x0e \x01(\x0b\x32+.google.api.expr.v1alpha1.Type.AbstractTypeH\x00\x1a=\n\x08ListType\x12\x31\n\telem_type\x18\x01 \x01(\x0b\x32\x1e.google.api.expr.v1alpha1.Type\x1ao\n\x07MapType\x12\x30\n\x08key_type\x18\x01 \x01(\x0b\x32\x1e.google.api.expr.v1alpha1.Type\x12\x32\n\nvalue_type\x18\x02 \x01(\x0b\x32\x1e.google.api.expr.v1alpha1.Type\x1av\n\x0c\x46unctionType\x12\x33\n\x0bresult_type\x18\x01 \x01(\x0b\x32\x1e.google.api.expr.v1alpha1.Type\x12\x31\n\targ_types\x18\x02 \x03(\x0b\x32\x1e.google.api.expr.v1alpha1.Type\x1aU\n\x0c\x41\x62stractType\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x37\n\x0fparameter_types\x18\x02 \x03(\x0b\x32\x1e.google.api.expr.v1alpha1.Type\"s\n\rPrimitiveType\x12\x1e\n\x1aPRIMITIVE_TYPE_UNSPECIFIED\x10\x00\x12\x08\n\x04\x42OOL\x10\x01\x12\t\n\x05INT64\x10\x02\x12\n\n\x06UINT64\x10\x03\x12\n\n\x06\x44OUBLE\x10\x04\x12\n\n\x06STRING\x10\x05\x12\t\n\x05\x42YTES\x10\x06\"V\n\rWellKnownType\x12\x1f\n\x1bWELL_KNOWN_TYPE_UNSPECIFIED\x10\x00\x12\x07\n\x03\x41NY\x10\x01\x12\r\n\tTIMESTAMP\x10\x02\x12\x0c\n\x08\x44URATION\x10\x03\x42\x0b\n\ttype_kind\"\xb9\x04\n\x04\x44\x65\x63l\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x39\n\x05ident\x18\x02 \x01(\x0b\x32(.google.api.expr.v1alpha1.Decl.IdentDeclH\x00\x12?\n\x08\x66unction\x18\x03 \x01(\x0b\x32+.google.api.expr.v1alpha1.Decl.FunctionDeclH\x00\x1ay\n\tIdentDecl\x12,\n\x04type\x18\x01 \x01(\x0b\x32\x1e.google.api.expr.v1alpha1.Type\x12\x31\n\x05value\x18\x02 \x01(\x0b\x32\".google.api.expr.v1alpha1.Constant\x12\x0b\n\x03\x64oc\x18\x03 \x01(\t\x1a\x9e\x02\n\x0c\x46unctionDecl\x12G\n\toverloads\x18\x01 \x03(\x0b\x32\x34.google.api.expr.v1alpha1.Decl.FunctionDecl.Overload\x1a\xc4\x01\n\x08Overload\x12\x13\n\x0boverload_id\x18\x01 \x01(\t\x12.\n\x06params\x18\x02 \x03(\x0b\x32\x1e.google.api.expr.v1alpha1.Type\x12\x13\n\x0btype_params\x18\x03 \x03(\t\x12\x33\n\x0bresult_type\x18\x04 \x01(\x0b\x32\x1e.google.api.expr.v1alpha1.Type\x12\x1c\n\x14is_instance_function\x18\x05 \x01(\x08\x12\x0b\n\x03\x64oc\x18\x06 \x01(\tB\x0b\n\tdecl_kind\"a\n\tReference\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\x0boverload_id\x18\x03 \x03(\t\x12\x31\n\x05value\x18\x04 \x01(\x0b\x32\".google.api.expr.v1alpha1.ConstantBl\n\x1c\x63om.google.api.expr.v1alpha1B\tDeclProtoP\x01Z<google.golang.org/genproto/googleapis/api/expr/v1alpha1;expr\xf8\x01\x01\x62\x06proto3')
_globals = globals()
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
@ -29,33 +29,33 @@ if _descriptor._USE_C_DESCRIPTORS == False:
_CHECKEDEXPR_TYPEMAPENTRY._options = None
_CHECKEDEXPR_TYPEMAPENTRY._serialized_options = b'8\001'
_globals['_CHECKEDEXPR']._serialized_start=167
_globals['_CHECKEDEXPR']._serialized_end=605
_globals['_CHECKEDEXPR_REFERENCEMAPENTRY']._serialized_start=437
_globals['_CHECKEDEXPR_REFERENCEMAPENTRY']._serialized_end=525
_globals['_CHECKEDEXPR_TYPEMAPENTRY']._serialized_start=527
_globals['_CHECKEDEXPR_TYPEMAPENTRY']._serialized_end=605
_globals['_TYPE']._serialized_start=608
_globals['_TYPE']._serialized_end=1890
_globals['_TYPE_LISTTYPE']._serialized_start=1291
_globals['_TYPE_LISTTYPE']._serialized_end=1352
_globals['_TYPE_MAPTYPE']._serialized_start=1354
_globals['_TYPE_MAPTYPE']._serialized_end=1465
_globals['_TYPE_FUNCTIONTYPE']._serialized_start=1467
_globals['_TYPE_FUNCTIONTYPE']._serialized_end=1585
_globals['_TYPE_ABSTRACTTYPE']._serialized_start=1587
_globals['_TYPE_ABSTRACTTYPE']._serialized_end=1672
_globals['_TYPE_PRIMITIVETYPE']._serialized_start=1674
_globals['_TYPE_PRIMITIVETYPE']._serialized_end=1789
_globals['_TYPE_WELLKNOWNTYPE']._serialized_start=1791
_globals['_TYPE_WELLKNOWNTYPE']._serialized_end=1877
_globals['_DECL']._serialized_start=1893
_globals['_DECL']._serialized_end=2462
_globals['_DECL_IDENTDECL']._serialized_start=2039
_globals['_DECL_IDENTDECL']._serialized_end=2160
_globals['_DECL_FUNCTIONDECL']._serialized_start=2163
_globals['_DECL_FUNCTIONDECL']._serialized_end=2449
_globals['_DECL_FUNCTIONDECL_OVERLOAD']._serialized_start=2253
_globals['_DECL_FUNCTIONDECL_OVERLOAD']._serialized_end=2449
_globals['_REFERENCE']._serialized_start=2464
_globals['_REFERENCE']._serialized_end=2561
_globals['_CHECKEDEXPR']._serialized_end=627
_globals['_CHECKEDEXPR_REFERENCEMAPENTRY']._serialized_start=459
_globals['_CHECKEDEXPR_REFERENCEMAPENTRY']._serialized_end=547
_globals['_CHECKEDEXPR_TYPEMAPENTRY']._serialized_start=549
_globals['_CHECKEDEXPR_TYPEMAPENTRY']._serialized_end=627
_globals['_TYPE']._serialized_start=630
_globals['_TYPE']._serialized_end=1912
_globals['_TYPE_LISTTYPE']._serialized_start=1313
_globals['_TYPE_LISTTYPE']._serialized_end=1374
_globals['_TYPE_MAPTYPE']._serialized_start=1376
_globals['_TYPE_MAPTYPE']._serialized_end=1487
_globals['_TYPE_FUNCTIONTYPE']._serialized_start=1489
_globals['_TYPE_FUNCTIONTYPE']._serialized_end=1607
_globals['_TYPE_ABSTRACTTYPE']._serialized_start=1609
_globals['_TYPE_ABSTRACTTYPE']._serialized_end=1694
_globals['_TYPE_PRIMITIVETYPE']._serialized_start=1696
_globals['_TYPE_PRIMITIVETYPE']._serialized_end=1811
_globals['_TYPE_WELLKNOWNTYPE']._serialized_start=1813
_globals['_TYPE_WELLKNOWNTYPE']._serialized_end=1899
_globals['_DECL']._serialized_start=1915
_globals['_DECL']._serialized_end=2484
_globals['_DECL_IDENTDECL']._serialized_start=2061
_globals['_DECL_IDENTDECL']._serialized_end=2182
_globals['_DECL_FUNCTIONDECL']._serialized_start=2185
_globals['_DECL_FUNCTIONDECL']._serialized_end=2471
_globals['_DECL_FUNCTIONDECL_OVERLOAD']._serialized_start=2275
_globals['_DECL_FUNCTIONDECL_OVERLOAD']._serialized_end=2471
_globals['_REFERENCE']._serialized_start=2486
_globals['_REFERENCE']._serialized_end=2583
# @@protoc_insertion_point(module_scope)

@ -16,7 +16,7 @@ from google.protobuf import struct_pb2 as google_dot_protobuf_dot_struct__pb2
from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n%google/api/expr/v1alpha1/syntax.proto\x12\x18google.api.expr.v1alpha1\x1a\x1egoogle/protobuf/duration.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"u\n\nParsedExpr\x12,\n\x04\x65xpr\x18\x02 \x01(\x0b\x32\x1e.google.api.expr.v1alpha1.Expr\x12\x39\n\x0bsource_info\x18\x03 \x01(\x0b\x32$.google.api.expr.v1alpha1.SourceInfo\"\xc5\n\n\x04\x45xpr\x12\n\n\x02id\x18\x02 \x01(\x03\x12\x38\n\nconst_expr\x18\x03 \x01(\x0b\x32\".google.api.expr.v1alpha1.ConstantH\x00\x12:\n\nident_expr\x18\x04 \x01(\x0b\x32$.google.api.expr.v1alpha1.Expr.IdentH\x00\x12<\n\x0bselect_expr\x18\x05 \x01(\x0b\x32%.google.api.expr.v1alpha1.Expr.SelectH\x00\x12\x38\n\tcall_expr\x18\x06 \x01(\x0b\x32#.google.api.expr.v1alpha1.Expr.CallH\x00\x12>\n\tlist_expr\x18\x07 \x01(\x0b\x32).google.api.expr.v1alpha1.Expr.CreateListH\x00\x12\x42\n\x0bstruct_expr\x18\x08 \x01(\x0b\x32+.google.api.expr.v1alpha1.Expr.CreateStructH\x00\x12J\n\x12\x63omprehension_expr\x18\t \x01(\x0b\x32,.google.api.expr.v1alpha1.Expr.ComprehensionH\x00\x1a\x15\n\x05Ident\x12\x0c\n\x04name\x18\x01 \x01(\t\x1a[\n\x06Select\x12/\n\x07operand\x18\x01 \x01(\x0b\x32\x1e.google.api.expr.v1alpha1.Expr\x12\r\n\x05\x66ield\x18\x02 \x01(\t\x12\x11\n\ttest_only\x18\x03 \x01(\x08\x1av\n\x04\x43\x61ll\x12.\n\x06target\x18\x01 \x01(\x0b\x32\x1e.google.api.expr.v1alpha1.Expr\x12\x10\n\x08\x66unction\x18\x02 \x01(\t\x12,\n\x04\x61rgs\x18\x03 \x03(\x0b\x32\x1e.google.api.expr.v1alpha1.Expr\x1a>\n\nCreateList\x12\x30\n\x08\x65lements\x18\x01 \x03(\x0b\x32\x1e.google.api.expr.v1alpha1.Expr\x1a\x81\x02\n\x0c\x43reateStruct\x12\x14\n\x0cmessage_name\x18\x01 \x01(\t\x12\x42\n\x07\x65ntries\x18\x02 \x03(\x0b\x32\x31.google.api.expr.v1alpha1.Expr.CreateStruct.Entry\x1a\x96\x01\n\x05\x45ntry\x12\n\n\x02id\x18\x01 \x01(\x03\x12\x13\n\tfield_key\x18\x02 \x01(\tH\x00\x12\x31\n\x07map_key\x18\x03 \x01(\x0b\x32\x1e.google.api.expr.v1alpha1.ExprH\x00\x12-\n\x05value\x18\x04 \x01(\x0b\x32\x1e.google.api.expr.v1alpha1.ExprB\n\n\x08key_kind\x1a\xb5\x02\n\rComprehension\x12\x10\n\x08iter_var\x18\x01 \x01(\t\x12\x32\n\niter_range\x18\x02 \x01(\x0b\x32\x1e.google.api.expr.v1alpha1.Expr\x12\x10\n\x08\x61\x63\x63u_var\x18\x03 \x01(\t\x12\x31\n\taccu_init\x18\x04 \x01(\x0b\x32\x1e.google.api.expr.v1alpha1.Expr\x12\x36\n\x0eloop_condition\x18\x05 \x01(\x0b\x32\x1e.google.api.expr.v1alpha1.Expr\x12\x31\n\tloop_step\x18\x06 \x01(\x0b\x32\x1e.google.api.expr.v1alpha1.Expr\x12.\n\x06result\x18\x07 \x01(\x0b\x32\x1e.google.api.expr.v1alpha1.ExprB\x0b\n\texpr_kind\"\xcd\x02\n\x08\x43onstant\x12\x30\n\nnull_value\x18\x01 \x01(\x0e\x32\x1a.google.protobuf.NullValueH\x00\x12\x14\n\nbool_value\x18\x02 \x01(\x08H\x00\x12\x15\n\x0bint64_value\x18\x03 \x01(\x03H\x00\x12\x16\n\x0cuint64_value\x18\x04 \x01(\x04H\x00\x12\x16\n\x0c\x64ouble_value\x18\x05 \x01(\x01H\x00\x12\x16\n\x0cstring_value\x18\x06 \x01(\tH\x00\x12\x15\n\x0b\x62ytes_value\x18\x07 \x01(\x0cH\x00\x12\x37\n\x0e\x64uration_value\x18\x08 \x01(\x0b\x32\x19.google.protobuf.DurationB\x02\x18\x01H\x00\x12\x39\n\x0ftimestamp_value\x18\t \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x02\x18\x01H\x00\x42\x0f\n\rconstant_kind\"\xe4\x02\n\nSourceInfo\x12\x16\n\x0esyntax_version\x18\x01 \x01(\t\x12\x10\n\x08location\x18\x02 \x01(\t\x12\x14\n\x0cline_offsets\x18\x03 \x03(\x05\x12\x46\n\tpositions\x18\x04 \x03(\x0b\x32\x33.google.api.expr.v1alpha1.SourceInfo.PositionsEntry\x12I\n\x0bmacro_calls\x18\x05 \x03(\x0b\x32\x34.google.api.expr.v1alpha1.SourceInfo.MacroCallsEntry\x1a\x30\n\x0ePositionsEntry\x12\x0b\n\x03key\x18\x01 \x01(\x03\x12\r\n\x05value\x18\x02 \x01(\x05:\x02\x38\x01\x1aQ\n\x0fMacroCallsEntry\x12\x0b\n\x03key\x18\x01 \x01(\x03\x12-\n\x05value\x18\x02 \x01(\x0b\x32\x1e.google.api.expr.v1alpha1.Expr:\x02\x38\x01\"P\n\x0eSourcePosition\x12\x10\n\x08location\x18\x01 \x01(\t\x12\x0e\n\x06offset\x18\x02 \x01(\x05\x12\x0c\n\x04line\x18\x03 \x01(\x05\x12\x0e\n\x06\x63olumn\x18\x04 \x01(\x05\x42n\n\x1c\x63om.google.api.expr.v1alpha1B\x0bSyntaxProtoP\x01Z<google.golang.org/genproto/googleapis/api/expr/v1alpha1;expr\xf8\x01\x01\x62\x06proto3')
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n%google/api/expr/v1alpha1/syntax.proto\x12\x18google.api.expr.v1alpha1\x1a\x1egoogle/protobuf/duration.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"u\n\nParsedExpr\x12,\n\x04\x65xpr\x18\x02 \x01(\x0b\x32\x1e.google.api.expr.v1alpha1.Expr\x12\x39\n\x0bsource_info\x18\x03 \x01(\x0b\x32$.google.api.expr.v1alpha1.SourceInfo\"\x8a\x0b\n\x04\x45xpr\x12\n\n\x02id\x18\x02 \x01(\x03\x12\x38\n\nconst_expr\x18\x03 \x01(\x0b\x32\".google.api.expr.v1alpha1.ConstantH\x00\x12:\n\nident_expr\x18\x04 \x01(\x0b\x32$.google.api.expr.v1alpha1.Expr.IdentH\x00\x12<\n\x0bselect_expr\x18\x05 \x01(\x0b\x32%.google.api.expr.v1alpha1.Expr.SelectH\x00\x12\x38\n\tcall_expr\x18\x06 \x01(\x0b\x32#.google.api.expr.v1alpha1.Expr.CallH\x00\x12>\n\tlist_expr\x18\x07 \x01(\x0b\x32).google.api.expr.v1alpha1.Expr.CreateListH\x00\x12\x42\n\x0bstruct_expr\x18\x08 \x01(\x0b\x32+.google.api.expr.v1alpha1.Expr.CreateStructH\x00\x12J\n\x12\x63omprehension_expr\x18\t \x01(\x0b\x32,.google.api.expr.v1alpha1.Expr.ComprehensionH\x00\x1a\x15\n\x05Ident\x12\x0c\n\x04name\x18\x01 \x01(\t\x1a[\n\x06Select\x12/\n\x07operand\x18\x01 \x01(\x0b\x32\x1e.google.api.expr.v1alpha1.Expr\x12\r\n\x05\x66ield\x18\x02 \x01(\t\x12\x11\n\ttest_only\x18\x03 \x01(\x08\x1av\n\x04\x43\x61ll\x12.\n\x06target\x18\x01 \x01(\x0b\x32\x1e.google.api.expr.v1alpha1.Expr\x12\x10\n\x08\x66unction\x18\x02 \x01(\t\x12,\n\x04\x61rgs\x18\x03 \x03(\x0b\x32\x1e.google.api.expr.v1alpha1.Expr\x1aX\n\nCreateList\x12\x30\n\x08\x65lements\x18\x01 \x03(\x0b\x32\x1e.google.api.expr.v1alpha1.Expr\x12\x18\n\x10optional_indices\x18\x02 \x03(\x05\x1a\x99\x02\n\x0c\x43reateStruct\x12\x14\n\x0cmessage_name\x18\x01 \x01(\t\x12\x42\n\x07\x65ntries\x18\x02 \x03(\x0b\x32\x31.google.api.expr.v1alpha1.Expr.CreateStruct.Entry\x1a\xae\x01\n\x05\x45ntry\x12\n\n\x02id\x18\x01 \x01(\x03\x12\x13\n\tfield_key\x18\x02 \x01(\tH\x00\x12\x31\n\x07map_key\x18\x03 \x01(\x0b\x32\x1e.google.api.expr.v1alpha1.ExprH\x00\x12-\n\x05value\x18\x04 \x01(\x0b\x32\x1e.google.api.expr.v1alpha1.Expr\x12\x16\n\x0eoptional_entry\x18\x05 \x01(\x08\x42\n\n\x08key_kind\x1a\xc8\x02\n\rComprehension\x12\x10\n\x08iter_var\x18\x01 \x01(\t\x12\x11\n\titer_var2\x18\x08 \x01(\t\x12\x32\n\niter_range\x18\x02 \x01(\x0b\x32\x1e.google.api.expr.v1alpha1.Expr\x12\x10\n\x08\x61\x63\x63u_var\x18\x03 \x01(\t\x12\x31\n\taccu_init\x18\x04 \x01(\x0b\x32\x1e.google.api.expr.v1alpha1.Expr\x12\x36\n\x0eloop_condition\x18\x05 \x01(\x0b\x32\x1e.google.api.expr.v1alpha1.Expr\x12\x31\n\tloop_step\x18\x06 \x01(\x0b\x32\x1e.google.api.expr.v1alpha1.Expr\x12.\n\x06result\x18\x07 \x01(\x0b\x32\x1e.google.api.expr.v1alpha1.ExprB\x0b\n\texpr_kind\"\xcd\x02\n\x08\x43onstant\x12\x30\n\nnull_value\x18\x01 \x01(\x0e\x32\x1a.google.protobuf.NullValueH\x00\x12\x14\n\nbool_value\x18\x02 \x01(\x08H\x00\x12\x15\n\x0bint64_value\x18\x03 \x01(\x03H\x00\x12\x16\n\x0cuint64_value\x18\x04 \x01(\x04H\x00\x12\x16\n\x0c\x64ouble_value\x18\x05 \x01(\x01H\x00\x12\x16\n\x0cstring_value\x18\x06 \x01(\tH\x00\x12\x15\n\x0b\x62ytes_value\x18\x07 \x01(\x0cH\x00\x12\x37\n\x0e\x64uration_value\x18\x08 \x01(\x0b\x32\x19.google.protobuf.DurationB\x02\x18\x01H\x00\x12\x39\n\x0ftimestamp_value\x18\t \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x02\x18\x01H\x00\x42\x0f\n\rconstant_kind\"\xfc\x05\n\nSourceInfo\x12\x16\n\x0esyntax_version\x18\x01 \x01(\t\x12\x10\n\x08location\x18\x02 \x01(\t\x12\x14\n\x0cline_offsets\x18\x03 \x03(\x05\x12\x46\n\tpositions\x18\x04 \x03(\x0b\x32\x33.google.api.expr.v1alpha1.SourceInfo.PositionsEntry\x12I\n\x0bmacro_calls\x18\x05 \x03(\x0b\x32\x34.google.api.expr.v1alpha1.SourceInfo.MacroCallsEntry\x12\x42\n\nextensions\x18\x06 \x03(\x0b\x32..google.api.expr.v1alpha1.SourceInfo.Extension\x1a\xd1\x02\n\tExtension\x12\n\n\x02id\x18\x01 \x01(\t\x12U\n\x13\x61\x66\x66\x65\x63ted_components\x18\x02 \x03(\x0e\x32\x38.google.api.expr.v1alpha1.SourceInfo.Extension.Component\x12G\n\x07version\x18\x03 \x01(\x0b\x32\x36.google.api.expr.v1alpha1.SourceInfo.Extension.Version\x1a\'\n\x07Version\x12\r\n\x05major\x18\x01 \x01(\x03\x12\r\n\x05minor\x18\x02 \x01(\x03\"o\n\tComponent\x12\x19\n\x15\x43OMPONENT_UNSPECIFIED\x10\x00\x12\x14\n\x10\x43OMPONENT_PARSER\x10\x01\x12\x1a\n\x16\x43OMPONENT_TYPE_CHECKER\x10\x02\x12\x15\n\x11\x43OMPONENT_RUNTIME\x10\x03\x1a\x30\n\x0ePositionsEntry\x12\x0b\n\x03key\x18\x01 \x01(\x03\x12\r\n\x05value\x18\x02 \x01(\x05:\x02\x38\x01\x1aQ\n\x0fMacroCallsEntry\x12\x0b\n\x03key\x18\x01 \x01(\x03\x12-\n\x05value\x18\x02 \x01(\x0b\x32\x1e.google.api.expr.v1alpha1.Expr:\x02\x38\x01\"P\n\x0eSourcePosition\x12\x10\n\x08location\x18\x01 \x01(\t\x12\x0e\n\x06offset\x18\x02 \x01(\x05\x12\x0c\n\x04line\x18\x03 \x01(\x05\x12\x0e\n\x06\x63olumn\x18\x04 \x01(\x05\x42n\n\x1c\x63om.google.api.expr.v1alpha1B\x0bSyntaxProtoP\x01Z<google.golang.org/genproto/googleapis/api/expr/v1alpha1;expr\xf8\x01\x01\x62\x06proto3')
_globals = globals()
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
@ -35,7 +35,7 @@ if _descriptor._USE_C_DESCRIPTORS == False:
_globals['_PARSEDEXPR']._serialized_start=162
_globals['_PARSEDEXPR']._serialized_end=279
_globals['_EXPR']._serialized_start=282
_globals['_EXPR']._serialized_end=1631
_globals['_EXPR']._serialized_end=1700
_globals['_EXPR_IDENT']._serialized_start=748
_globals['_EXPR_IDENT']._serialized_end=769
_globals['_EXPR_SELECT']._serialized_start=771
@ -43,21 +43,27 @@ if _descriptor._USE_C_DESCRIPTORS == False:
_globals['_EXPR_CALL']._serialized_start=864
_globals['_EXPR_CALL']._serialized_end=982
_globals['_EXPR_CREATELIST']._serialized_start=984
_globals['_EXPR_CREATELIST']._serialized_end=1046
_globals['_EXPR_CREATESTRUCT']._serialized_start=1049
_globals['_EXPR_CREATESTRUCT']._serialized_end=1306
_globals['_EXPR_CREATESTRUCT_ENTRY']._serialized_start=1156
_globals['_EXPR_CREATESTRUCT_ENTRY']._serialized_end=1306
_globals['_EXPR_COMPREHENSION']._serialized_start=1309
_globals['_EXPR_COMPREHENSION']._serialized_end=1618
_globals['_CONSTANT']._serialized_start=1634
_globals['_CONSTANT']._serialized_end=1967
_globals['_SOURCEINFO']._serialized_start=1970
_globals['_SOURCEINFO']._serialized_end=2326
_globals['_SOURCEINFO_POSITIONSENTRY']._serialized_start=2195
_globals['_SOURCEINFO_POSITIONSENTRY']._serialized_end=2243
_globals['_SOURCEINFO_MACROCALLSENTRY']._serialized_start=2245
_globals['_SOURCEINFO_MACROCALLSENTRY']._serialized_end=2326
_globals['_SOURCEPOSITION']._serialized_start=2328
_globals['_SOURCEPOSITION']._serialized_end=2408
_globals['_EXPR_CREATELIST']._serialized_end=1072
_globals['_EXPR_CREATESTRUCT']._serialized_start=1075
_globals['_EXPR_CREATESTRUCT']._serialized_end=1356
_globals['_EXPR_CREATESTRUCT_ENTRY']._serialized_start=1182
_globals['_EXPR_CREATESTRUCT_ENTRY']._serialized_end=1356
_globals['_EXPR_COMPREHENSION']._serialized_start=1359
_globals['_EXPR_COMPREHENSION']._serialized_end=1687
_globals['_CONSTANT']._serialized_start=1703
_globals['_CONSTANT']._serialized_end=2036
_globals['_SOURCEINFO']._serialized_start=2039
_globals['_SOURCEINFO']._serialized_end=2803
_globals['_SOURCEINFO_EXTENSION']._serialized_start=2333
_globals['_SOURCEINFO_EXTENSION']._serialized_end=2670
_globals['_SOURCEINFO_EXTENSION_VERSION']._serialized_start=2518
_globals['_SOURCEINFO_EXTENSION_VERSION']._serialized_end=2557
_globals['_SOURCEINFO_EXTENSION_COMPONENT']._serialized_start=2559
_globals['_SOURCEINFO_EXTENSION_COMPONENT']._serialized_end=2670
_globals['_SOURCEINFO_POSITIONSENTRY']._serialized_start=2672
_globals['_SOURCEINFO_POSITIONSENTRY']._serialized_end=2720
_globals['_SOURCEINFO_MACROCALLSENTRY']._serialized_start=2722
_globals['_SOURCEINFO_MACROCALLSENTRY']._serialized_end=2803
_globals['_SOURCEPOSITION']._serialized_start=2805
_globals['_SOURCEPOSITION']._serialized_end=2885
# @@protoc_insertion_point(module_scope)

@ -14,7 +14,7 @@ _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\x1fgoogle/api/field_behavior.proto\x12\ngoogle.api\x1a google/protobuf/descriptor.proto*\xa6\x01\n\rFieldBehavior\x12\x1e\n\x1a\x46IELD_BEHAVIOR_UNSPECIFIED\x10\x00\x12\x0c\n\x08OPTIONAL\x10\x01\x12\x0c\n\x08REQUIRED\x10\x02\x12\x0f\n\x0bOUTPUT_ONLY\x10\x03\x12\x0e\n\nINPUT_ONLY\x10\x04\x12\r\n\tIMMUTABLE\x10\x05\x12\x12\n\x0eUNORDERED_LIST\x10\x06\x12\x15\n\x11NON_EMPTY_DEFAULT\x10\x07:Q\n\x0e\x66ield_behavior\x12\x1d.google.protobuf.FieldOptions\x18\x9c\x08 \x03(\x0e\x32\x19.google.api.FieldBehaviorBp\n\x0e\x63om.google.apiB\x12\x46ieldBehaviorProtoP\x01ZAgoogle.golang.org/genproto/googleapis/api/annotations;annotations\xa2\x02\x04GAPIb\x06proto3')
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1fgoogle/api/field_behavior.proto\x12\ngoogle.api\x1a google/protobuf/descriptor.proto*\xb6\x01\n\rFieldBehavior\x12\x1e\n\x1a\x46IELD_BEHAVIOR_UNSPECIFIED\x10\x00\x12\x0c\n\x08OPTIONAL\x10\x01\x12\x0c\n\x08REQUIRED\x10\x02\x12\x0f\n\x0bOUTPUT_ONLY\x10\x03\x12\x0e\n\nINPUT_ONLY\x10\x04\x12\r\n\tIMMUTABLE\x10\x05\x12\x12\n\x0eUNORDERED_LIST\x10\x06\x12\x15\n\x11NON_EMPTY_DEFAULT\x10\x07\x12\x0e\n\nIDENTIFIER\x10\x08:U\n\x0e\x66ield_behavior\x12\x1d.google.protobuf.FieldOptions\x18\x9c\x08 \x03(\x0e\x32\x19.google.api.FieldBehaviorB\x02\x10\x00\x42p\n\x0e\x63om.google.apiB\x12\x46ieldBehaviorProtoP\x01ZAgoogle.golang.org/genproto/googleapis/api/annotations;annotations\xa2\x02\x04GAPIb\x06proto3')
_globals = globals()
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
@ -22,6 +22,8 @@ _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'google.api.field_behavior_p
if _descriptor._USE_C_DESCRIPTORS == False:
DESCRIPTOR._options = None
DESCRIPTOR._serialized_options = b'\n\016com.google.apiB\022FieldBehaviorProtoP\001ZAgoogle.golang.org/genproto/googleapis/api/annotations;annotations\242\002\004GAPI'
field_behavior._options = None
field_behavior._serialized_options = b'\020\000'
_globals['_FIELDBEHAVIOR']._serialized_start=82
_globals['_FIELDBEHAVIOR']._serialized_end=248
_globals['_FIELDBEHAVIOR']._serialized_end=264
# @@protoc_insertion_point(module_scope)

@ -0,0 +1,31 @@
# -*- coding: utf-8 -*-
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: google/api/field_info.proto
"""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\x1bgoogle/api/field_info.proto\x12\ngoogle.api\x1a google/protobuf/descriptor.proto\"\xc1\x01\n\tFieldInfo\x12,\n\x06\x66ormat\x18\x01 \x01(\x0e\x32\x1c.google.api.FieldInfo.Format\x12\x33\n\x10referenced_types\x18\x02 \x03(\x0b\x32\x19.google.api.TypeReference\"Q\n\x06\x46ormat\x12\x16\n\x12\x46ORMAT_UNSPECIFIED\x10\x00\x12\t\n\x05UUID4\x10\x01\x12\x08\n\x04IPV4\x10\x02\x12\x08\n\x04IPV6\x10\x03\x12\x10\n\x0cIPV4_OR_IPV6\x10\x04\"\"\n\rTypeReference\x12\x11\n\ttype_name\x18\x01 \x01(\t:L\n\nfield_info\x12\x1d.google.protobuf.FieldOptions\x18\xcc\xf1\xf9\x8a\x01 \x01(\x0b\x32\x15.google.api.FieldInfoBl\n\x0e\x63om.google.apiB\x0e\x46ieldInfoProtoP\x01ZAgoogle.golang.org/genproto/googleapis/api/annotations;annotations\xa2\x02\x04GAPIb\x06proto3')
_globals = globals()
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'google.api.field_info_pb2', _globals)
if _descriptor._USE_C_DESCRIPTORS == False:
DESCRIPTOR._options = None
DESCRIPTOR._serialized_options = b'\n\016com.google.apiB\016FieldInfoProtoP\001ZAgoogle.golang.org/genproto/googleapis/api/annotations;annotations\242\002\004GAPI'
_globals['_FIELDINFO']._serialized_start=78
_globals['_FIELDINFO']._serialized_end=271
_globals['_FIELDINFO_FORMAT']._serialized_start=190
_globals['_FIELDINFO_FORMAT']._serialized_end=271
_globals['_TYPEREFERENCE']._serialized_start=273
_globals['_TYPEREFERENCE']._serialized_end=307
# @@protoc_insertion_point(module_scope)

@ -0,0 +1,29 @@
# -*- coding: utf-8 -*-
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: google/api/policy.proto
"""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\x17google/api/policy.proto\x12\ngoogle.api\x1a google/protobuf/descriptor.proto\"S\n\x0b\x46ieldPolicy\x12\x10\n\x08selector\x18\x01 \x01(\t\x12\x1b\n\x13resource_permission\x18\x02 \x01(\t\x12\x15\n\rresource_type\x18\x03 \x01(\t\"S\n\x0cMethodPolicy\x12\x10\n\x08selector\x18\t \x01(\t\x12\x31\n\x10request_policies\x18\x02 \x03(\x0b\x32\x17.google.api.FieldPolicy:O\n\x0c\x66ield_policy\x12\x1d.google.protobuf.FieldOptions\x18\xe8\xce\xc1K \x01(\x0b\x32\x17.google.api.FieldPolicy:R\n\rmethod_policy\x12\x1e.google.protobuf.MethodOptions\x18\xb5\x97\x99M \x01(\x0b\x32\x18.google.api.MethodPolicyBp\n\x0e\x63om.google.apiB\x0bPolicyProtoP\x01ZEgoogle.golang.org/genproto/googleapis/api/serviceconfig;serviceconfig\xf8\x01\x01\xa2\x02\x04GAPIb\x06proto3')
_globals = globals()
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'google.api.policy_pb2', _globals)
if _descriptor._USE_C_DESCRIPTORS == False:
DESCRIPTOR._options = None
DESCRIPTOR._serialized_options = b'\n\016com.google.apiB\013PolicyProtoP\001ZEgoogle.golang.org/genproto/googleapis/api/serviceconfig;serviceconfig\370\001\001\242\002\004GAPI'
_globals['_FIELDPOLICY']._serialized_start=73
_globals['_FIELDPOLICY']._serialized_end=156
_globals['_METHODPOLICY']._serialized_start=158
_globals['_METHODPOLICY']._serialized_end=241
# @@protoc_insertion_point(module_scope)

@ -0,0 +1,29 @@
# -*- coding: utf-8 -*-
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: google/api/routing.proto
"""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\x18google/api/routing.proto\x12\ngoogle.api\x1a google/protobuf/descriptor.proto\"G\n\x0bRoutingRule\x12\x38\n\x12routing_parameters\x18\x02 \x03(\x0b\x32\x1c.google.api.RoutingParameter\"8\n\x10RoutingParameter\x12\r\n\x05\x66ield\x18\x01 \x01(\t\x12\x15\n\rpath_template\x18\x02 \x01(\t:K\n\x07routing\x12\x1e.google.protobuf.MethodOptions\x18\xb1\xca\xbc\" \x01(\x0b\x32\x17.google.api.RoutingRuleBj\n\x0e\x63om.google.apiB\x0cRoutingProtoP\x01ZAgoogle.golang.org/genproto/googleapis/api/annotations;annotations\xa2\x02\x04GAPIb\x06proto3')
_globals = globals()
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'google.api.routing_pb2', _globals)
if _descriptor._USE_C_DESCRIPTORS == False:
DESCRIPTOR._options = None
DESCRIPTOR._serialized_options = b'\n\016com.google.apiB\014RoutingProtoP\001ZAgoogle.golang.org/genproto/googleapis/api/annotations;annotations\242\002\004GAPI'
_globals['_ROUTINGRULE']._serialized_start=74
_globals['_ROUTINGRULE']._serialized_end=145
_globals['_ROUTINGPARAMETER']._serialized_start=147
_globals['_ROUTINGPARAMETER']._serialized_end=203
# @@protoc_insertion_point(module_scope)

@ -14,29 +14,27 @@ _sym_db = _symbol_database.Default()
from google.api import auth_pb2 as google_dot_api_dot_auth__pb2
from google.api import backend_pb2 as google_dot_api_dot_backend__pb2
from google.api import billing_pb2 as google_dot_api_dot_billing__pb2
from google.api import client_pb2 as google_dot_api_dot_client__pb2
from google.api import context_pb2 as google_dot_api_dot_context__pb2
from google.api import control_pb2 as google_dot_api_dot_control__pb2
from google.api import documentation_pb2 as google_dot_api_dot_documentation__pb2
from google.api import endpoint_pb2 as google_dot_api_dot_endpoint__pb2
from google.api import http_pb2 as google_dot_api_dot_http__pb2
from google.api import label_pb2 as google_dot_api_dot_label__pb2
from google.api import log_pb2 as google_dot_api_dot_log__pb2
from google.api import logging_pb2 as google_dot_api_dot_logging__pb2
from google.api import metric_pb2 as google_dot_api_dot_metric__pb2
from google.api import monitored_resource_pb2 as google_dot_api_dot_monitored__resource__pb2
from google.api import monitoring_pb2 as google_dot_api_dot_monitoring__pb2
from google.api import quota_pb2 as google_dot_api_dot_quota__pb2
from google.api import resource_pb2 as google_dot_api_dot_resource__pb2
from google.api import source_info_pb2 as google_dot_api_dot_source__info__pb2
from google.api import system_parameter_pb2 as google_dot_api_dot_system__parameter__pb2
from google.api import usage_pb2 as google_dot_api_dot_usage__pb2
from google.protobuf import any_pb2 as google_dot_protobuf_dot_any__pb2
from google.protobuf import api_pb2 as google_dot_protobuf_dot_api__pb2
from google.protobuf import type_pb2 as google_dot_protobuf_dot_type__pb2
from google.protobuf import wrappers_pb2 as google_dot_protobuf_dot_wrappers__pb2
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x18google/api/service.proto\x12\ngoogle.api\x1a\x15google/api/auth.proto\x1a\x18google/api/backend.proto\x1a\x18google/api/billing.proto\x1a\x18google/api/context.proto\x1a\x18google/api/control.proto\x1a\x1egoogle/api/documentation.proto\x1a\x19google/api/endpoint.proto\x1a\x15google/api/http.proto\x1a\x16google/api/label.proto\x1a\x14google/api/log.proto\x1a\x18google/api/logging.proto\x1a\x17google/api/metric.proto\x1a#google/api/monitored_resource.proto\x1a\x1bgoogle/api/monitoring.proto\x1a\x16google/api/quota.proto\x1a\x19google/api/resource.proto\x1a\x1cgoogle/api/source_info.proto\x1a!google/api/system_parameter.proto\x1a\x16google/api/usage.proto\x1a\x19google/protobuf/any.proto\x1a\x19google/protobuf/api.proto\x1a\x1agoogle/protobuf/type.proto\x1a\x1egoogle/protobuf/wrappers.proto\"\xda\x07\n\x07Service\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05title\x18\x02 \x01(\t\x12\x1b\n\x13producer_project_id\x18\x16 \x01(\t\x12\n\n\x02id\x18! \x01(\t\x12\"\n\x04\x61pis\x18\x03 \x03(\x0b\x32\x14.google.protobuf.Api\x12$\n\x05types\x18\x04 \x03(\x0b\x32\x15.google.protobuf.Type\x12$\n\x05\x65nums\x18\x05 \x03(\x0b\x32\x15.google.protobuf.Enum\x12\x30\n\rdocumentation\x18\x06 \x01(\x0b\x32\x19.google.api.Documentation\x12$\n\x07\x62\x61\x63kend\x18\x08 \x01(\x0b\x32\x13.google.api.Backend\x12\x1e\n\x04http\x18\t \x01(\x0b\x32\x10.google.api.Http\x12 \n\x05quota\x18\n \x01(\x0b\x32\x11.google.api.Quota\x12\x32\n\x0e\x61uthentication\x18\x0b \x01(\x0b\x32\x1a.google.api.Authentication\x12$\n\x07\x63ontext\x18\x0c \x01(\x0b\x32\x13.google.api.Context\x12 \n\x05usage\x18\x0f \x01(\x0b\x32\x11.google.api.Usage\x12\'\n\tendpoints\x18\x12 \x03(\x0b\x32\x14.google.api.Endpoint\x12$\n\x07\x63ontrol\x18\x15 \x01(\x0b\x32\x13.google.api.Control\x12\'\n\x04logs\x18\x17 \x03(\x0b\x32\x19.google.api.LogDescriptor\x12-\n\x07metrics\x18\x18 \x03(\x0b\x32\x1c.google.api.MetricDescriptor\x12\x44\n\x13monitored_resources\x18\x19 \x03(\x0b\x32\'.google.api.MonitoredResourceDescriptor\x12$\n\x07\x62illing\x18\x1a \x01(\x0b\x32\x13.google.api.Billing\x12$\n\x07logging\x18\x1b \x01(\x0b\x32\x13.google.api.Logging\x12*\n\nmonitoring\x18\x1c \x01(\x0b\x32\x16.google.api.Monitoring\x12\x37\n\x11system_parameters\x18\x1d \x01(\x0b\x32\x1c.google.api.SystemParameters\x12+\n\x0bsource_info\x18% \x01(\x0b\x32\x16.google.api.SourceInfo\x12\x38\n\x0e\x63onfig_version\x18\x14 \x01(\x0b\x32\x1c.google.protobuf.UInt32ValueB\x02\x18\x01\x42n\n\x0e\x63om.google.apiB\x0cServiceProtoP\x01ZEgoogle.golang.org/genproto/googleapis/api/serviceconfig;serviceconfig\xa2\x02\x04GAPIb\x06proto3')
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x18google/api/service.proto\x12\ngoogle.api\x1a\x15google/api/auth.proto\x1a\x18google/api/backend.proto\x1a\x18google/api/billing.proto\x1a\x17google/api/client.proto\x1a\x18google/api/context.proto\x1a\x18google/api/control.proto\x1a\x1egoogle/api/documentation.proto\x1a\x19google/api/endpoint.proto\x1a\x15google/api/http.proto\x1a\x14google/api/log.proto\x1a\x18google/api/logging.proto\x1a\x17google/api/metric.proto\x1a#google/api/monitored_resource.proto\x1a\x1bgoogle/api/monitoring.proto\x1a\x16google/api/quota.proto\x1a\x1cgoogle/api/source_info.proto\x1a!google/api/system_parameter.proto\x1a\x16google/api/usage.proto\x1a\x19google/protobuf/api.proto\x1a\x1agoogle/protobuf/type.proto\x1a\x1egoogle/protobuf/wrappers.proto\"\x82\x08\n\x07Service\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05title\x18\x02 \x01(\t\x12\x1b\n\x13producer_project_id\x18\x16 \x01(\t\x12\n\n\x02id\x18! \x01(\t\x12\"\n\x04\x61pis\x18\x03 \x03(\x0b\x32\x14.google.protobuf.Api\x12$\n\x05types\x18\x04 \x03(\x0b\x32\x15.google.protobuf.Type\x12$\n\x05\x65nums\x18\x05 \x03(\x0b\x32\x15.google.protobuf.Enum\x12\x30\n\rdocumentation\x18\x06 \x01(\x0b\x32\x19.google.api.Documentation\x12$\n\x07\x62\x61\x63kend\x18\x08 \x01(\x0b\x32\x13.google.api.Backend\x12\x1e\n\x04http\x18\t \x01(\x0b\x32\x10.google.api.Http\x12 \n\x05quota\x18\n \x01(\x0b\x32\x11.google.api.Quota\x12\x32\n\x0e\x61uthentication\x18\x0b \x01(\x0b\x32\x1a.google.api.Authentication\x12$\n\x07\x63ontext\x18\x0c \x01(\x0b\x32\x13.google.api.Context\x12 \n\x05usage\x18\x0f \x01(\x0b\x32\x11.google.api.Usage\x12\'\n\tendpoints\x18\x12 \x03(\x0b\x32\x14.google.api.Endpoint\x12$\n\x07\x63ontrol\x18\x15 \x01(\x0b\x32\x13.google.api.Control\x12\'\n\x04logs\x18\x17 \x03(\x0b\x32\x19.google.api.LogDescriptor\x12-\n\x07metrics\x18\x18 \x03(\x0b\x32\x1c.google.api.MetricDescriptor\x12\x44\n\x13monitored_resources\x18\x19 \x03(\x0b\x32\'.google.api.MonitoredResourceDescriptor\x12$\n\x07\x62illing\x18\x1a \x01(\x0b\x32\x13.google.api.Billing\x12$\n\x07logging\x18\x1b \x01(\x0b\x32\x13.google.api.Logging\x12*\n\nmonitoring\x18\x1c \x01(\x0b\x32\x16.google.api.Monitoring\x12\x37\n\x11system_parameters\x18\x1d \x01(\x0b\x32\x1c.google.api.SystemParameters\x12+\n\x0bsource_info\x18% \x01(\x0b\x32\x16.google.api.SourceInfo\x12*\n\npublishing\x18- \x01(\x0b\x32\x16.google.api.Publishing\x12\x34\n\x0e\x63onfig_version\x18\x14 \x01(\x0b\x32\x1c.google.protobuf.UInt32ValueBn\n\x0e\x63om.google.apiB\x0cServiceProtoP\x01ZEgoogle.golang.org/genproto/googleapis/api/serviceconfig;serviceconfig\xa2\x02\x04GAPIb\x06proto3')
_globals = globals()
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
@ -44,8 +42,6 @@ _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'google.api.service_pb2', _g
if _descriptor._USE_C_DESCRIPTORS == False:
DESCRIPTOR._options = None
DESCRIPTOR._serialized_options = b'\n\016com.google.apiB\014ServiceProtoP\001ZEgoogle.golang.org/genproto/googleapis/api/serviceconfig;serviceconfig\242\002\004GAPI'
_SERVICE.fields_by_name['config_version']._options = None
_SERVICE.fields_by_name['config_version']._serialized_options = b'\030\001'
_globals['_SERVICE']._serialized_start=667
_globals['_SERVICE']._serialized_end=1653
_globals['_SERVICE']._serialized_start=614
_globals['_SERVICE']._serialized_end=1640
# @@protoc_insertion_point(module_scope)

@ -14,14 +14,14 @@ _sym_db = _symbol_database.Default()
from google.rpc import status_pb2 as google_dot_rpc_dot_status__pb2
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n.google/api/servicecontrol/v1/check_error.proto\x12\x1cgoogle.api.servicecontrol.v1\x1a\x17google/rpc/status.proto\"\xae\x05\n\nCheckError\x12;\n\x04\x63ode\x18\x01 \x01(\x0e\x32-.google.api.servicecontrol.v1.CheckError.Code\x12\x0f\n\x07subject\x18\x04 \x01(\t\x12\x0e\n\x06\x64\x65tail\x18\x02 \x01(\t\x12\"\n\x06status\x18\x03 \x01(\x0b\x32\x12.google.rpc.Status\"\x9d\x04\n\x04\x43ode\x12\x1a\n\x16\x45RROR_CODE_UNSPECIFIED\x10\x00\x12\r\n\tNOT_FOUND\x10\x05\x12\x15\n\x11PERMISSION_DENIED\x10\x07\x12\x16\n\x12RESOURCE_EXHAUSTED\x10\x08\x12\x19\n\x15SERVICE_NOT_ACTIVATED\x10h\x12\x14\n\x10\x42ILLING_DISABLED\x10k\x12\x13\n\x0fPROJECT_DELETED\x10l\x12\x13\n\x0fPROJECT_INVALID\x10r\x12\x14\n\x10\x43ONSUMER_INVALID\x10}\x12\x16\n\x12IP_ADDRESS_BLOCKED\x10m\x12\x13\n\x0fREFERER_BLOCKED\x10n\x12\x16\n\x12\x43LIENT_APP_BLOCKED\x10o\x12\x16\n\x12\x41PI_TARGET_BLOCKED\x10z\x12\x13\n\x0f\x41PI_KEY_INVALID\x10i\x12\x13\n\x0f\x41PI_KEY_EXPIRED\x10p\x12\x15\n\x11\x41PI_KEY_NOT_FOUND\x10q\x12\x16\n\x12INVALID_CREDENTIAL\x10{\x12!\n\x1cNAMESPACE_LOOKUP_UNAVAILABLE\x10\xac\x02\x12\x1f\n\x1aSERVICE_STATUS_UNAVAILABLE\x10\xad\x02\x12\x1f\n\x1a\x42ILLING_STATUS_UNAVAILABLE\x10\xae\x02\x12/\n*CLOUD_RESOURCE_MANAGER_BACKEND_UNAVAILABLE\x10\xb1\x02\x42\xea\x01\n com.google.api.servicecontrol.v1B\x0f\x43heckErrorProtoP\x01ZJgoogle.golang.org/genproto/googleapis/api/servicecontrol/v1;servicecontrol\xf8\x01\x01\xaa\x02\x1eGoogle.Cloud.ServiceControl.V1\xca\x02\x1eGoogle\\Cloud\\ServiceControl\\V1\xea\x02!Google::Cloud::ServiceControl::V1b\x06proto3')
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n.google/api/servicecontrol/v1/check_error.proto\x12\x1cgoogle.api.servicecontrol.v1\x1a\x17google/rpc/status.proto\"\xae\x05\n\nCheckError\x12;\n\x04\x63ode\x18\x01 \x01(\x0e\x32-.google.api.servicecontrol.v1.CheckError.Code\x12\x0f\n\x07subject\x18\x04 \x01(\t\x12\x0e\n\x06\x64\x65tail\x18\x02 \x01(\t\x12\"\n\x06status\x18\x03 \x01(\x0b\x32\x12.google.rpc.Status\"\x9d\x04\n\x04\x43ode\x12\x1a\n\x16\x45RROR_CODE_UNSPECIFIED\x10\x00\x12\r\n\tNOT_FOUND\x10\x05\x12\x15\n\x11PERMISSION_DENIED\x10\x07\x12\x16\n\x12RESOURCE_EXHAUSTED\x10\x08\x12\x19\n\x15SERVICE_NOT_ACTIVATED\x10h\x12\x14\n\x10\x42ILLING_DISABLED\x10k\x12\x13\n\x0fPROJECT_DELETED\x10l\x12\x13\n\x0fPROJECT_INVALID\x10r\x12\x14\n\x10\x43ONSUMER_INVALID\x10}\x12\x16\n\x12IP_ADDRESS_BLOCKED\x10m\x12\x13\n\x0fREFERER_BLOCKED\x10n\x12\x16\n\x12\x43LIENT_APP_BLOCKED\x10o\x12\x16\n\x12\x41PI_TARGET_BLOCKED\x10z\x12\x13\n\x0f\x41PI_KEY_INVALID\x10i\x12\x13\n\x0f\x41PI_KEY_EXPIRED\x10p\x12\x15\n\x11\x41PI_KEY_NOT_FOUND\x10q\x12\x16\n\x12INVALID_CREDENTIAL\x10{\x12!\n\x1cNAMESPACE_LOOKUP_UNAVAILABLE\x10\xac\x02\x12\x1f\n\x1aSERVICE_STATUS_UNAVAILABLE\x10\xad\x02\x12\x1f\n\x1a\x42ILLING_STATUS_UNAVAILABLE\x10\xae\x02\x12/\n*CLOUD_RESOURCE_MANAGER_BACKEND_UNAVAILABLE\x10\xb1\x02\x42\xea\x01\n com.google.api.servicecontrol.v1B\x0f\x43heckErrorProtoP\x01ZJcloud.google.com/go/servicecontrol/apiv1/servicecontrolpb;servicecontrolpb\xf8\x01\x01\xaa\x02\x1eGoogle.Cloud.ServiceControl.V1\xca\x02\x1eGoogle\\Cloud\\ServiceControl\\V1\xea\x02!Google::Cloud::ServiceControl::V1b\x06proto3')
_globals = globals()
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'google.api.servicecontrol.v1.check_error_pb2', _globals)
if _descriptor._USE_C_DESCRIPTORS == False:
DESCRIPTOR._options = None
DESCRIPTOR._serialized_options = b'\n com.google.api.servicecontrol.v1B\017CheckErrorProtoP\001ZJgoogle.golang.org/genproto/googleapis/api/servicecontrol/v1;servicecontrol\370\001\001\252\002\036Google.Cloud.ServiceControl.V1\312\002\036Google\\Cloud\\ServiceControl\\V1\352\002!Google::Cloud::ServiceControl::V1'
DESCRIPTOR._serialized_options = b'\n com.google.api.servicecontrol.v1B\017CheckErrorProtoP\001ZJcloud.google.com/go/servicecontrol/apiv1/servicecontrolpb;servicecontrolpb\370\001\001\252\002\036Google.Cloud.ServiceControl.V1\312\002\036Google\\Cloud\\ServiceControl\\V1\352\002!Google::Cloud::ServiceControl::V1'
_globals['_CHECKERROR']._serialized_start=106
_globals['_CHECKERROR']._serialized_end=792
_globals['_CHECKERROR_CODE']._serialized_start=251

@ -14,14 +14,14 @@ _sym_db = _symbol_database.Default()
from google.api import distribution_pb2 as google_dot_api_dot_distribution__pb2
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n/google/api/servicecontrol/v1/distribution.proto\x12\x1cgoogle.api.servicecontrol.v1\x1a\x1dgoogle/api/distribution.proto\"\x9e\x05\n\x0c\x44istribution\x12\r\n\x05\x63ount\x18\x01 \x01(\x03\x12\x0c\n\x04mean\x18\x02 \x01(\x01\x12\x0f\n\x07minimum\x18\x03 \x01(\x01\x12\x0f\n\x07maximum\x18\x04 \x01(\x01\x12 \n\x18sum_of_squared_deviation\x18\x05 \x01(\x01\x12\x15\n\rbucket_counts\x18\x06 \x03(\x03\x12R\n\x0elinear_buckets\x18\x07 \x01(\x0b\x32\x38.google.api.servicecontrol.v1.Distribution.LinearBucketsH\x00\x12\\\n\x13\x65xponential_buckets\x18\x08 \x01(\x0b\x32=.google.api.servicecontrol.v1.Distribution.ExponentialBucketsH\x00\x12V\n\x10\x65xplicit_buckets\x18\t \x01(\x0b\x32:.google.api.servicecontrol.v1.Distribution.ExplicitBucketsH\x00\x12\x34\n\texemplars\x18\n \x03(\x0b\x32!.google.api.Distribution.Exemplar\x1aJ\n\rLinearBuckets\x12\x1a\n\x12num_finite_buckets\x18\x01 \x01(\x05\x12\r\n\x05width\x18\x02 \x01(\x01\x12\x0e\n\x06offset\x18\x03 \x01(\x01\x1aV\n\x12\x45xponentialBuckets\x12\x1a\n\x12num_finite_buckets\x18\x01 \x01(\x05\x12\x15\n\rgrowth_factor\x18\x02 \x01(\x01\x12\r\n\x05scale\x18\x03 \x01(\x01\x1a!\n\x0f\x45xplicitBuckets\x12\x0e\n\x06\x62ounds\x18\x01 \x03(\x01\x42\x0f\n\rbucket_optionB\xec\x01\n com.google.api.servicecontrol.v1B\x11\x44istributionProtoP\x01ZJgoogle.golang.org/genproto/googleapis/api/servicecontrol/v1;servicecontrol\xf8\x01\x01\xaa\x02\x1eGoogle.Cloud.ServiceControl.V1\xca\x02\x1eGoogle\\Cloud\\ServiceControl\\V1\xea\x02!Google::Cloud::ServiceControl::V1b\x06proto3')
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n/google/api/servicecontrol/v1/distribution.proto\x12\x1cgoogle.api.servicecontrol.v1\x1a\x1dgoogle/api/distribution.proto\"\x9e\x05\n\x0c\x44istribution\x12\r\n\x05\x63ount\x18\x01 \x01(\x03\x12\x0c\n\x04mean\x18\x02 \x01(\x01\x12\x0f\n\x07minimum\x18\x03 \x01(\x01\x12\x0f\n\x07maximum\x18\x04 \x01(\x01\x12 \n\x18sum_of_squared_deviation\x18\x05 \x01(\x01\x12\x15\n\rbucket_counts\x18\x06 \x03(\x03\x12R\n\x0elinear_buckets\x18\x07 \x01(\x0b\x32\x38.google.api.servicecontrol.v1.Distribution.LinearBucketsH\x00\x12\\\n\x13\x65xponential_buckets\x18\x08 \x01(\x0b\x32=.google.api.servicecontrol.v1.Distribution.ExponentialBucketsH\x00\x12V\n\x10\x65xplicit_buckets\x18\t \x01(\x0b\x32:.google.api.servicecontrol.v1.Distribution.ExplicitBucketsH\x00\x12\x34\n\texemplars\x18\n \x03(\x0b\x32!.google.api.Distribution.Exemplar\x1aJ\n\rLinearBuckets\x12\x1a\n\x12num_finite_buckets\x18\x01 \x01(\x05\x12\r\n\x05width\x18\x02 \x01(\x01\x12\x0e\n\x06offset\x18\x03 \x01(\x01\x1aV\n\x12\x45xponentialBuckets\x12\x1a\n\x12num_finite_buckets\x18\x01 \x01(\x05\x12\x15\n\rgrowth_factor\x18\x02 \x01(\x01\x12\r\n\x05scale\x18\x03 \x01(\x01\x1a!\n\x0f\x45xplicitBuckets\x12\x0e\n\x06\x62ounds\x18\x01 \x03(\x01\x42\x0f\n\rbucket_optionB\xec\x01\n com.google.api.servicecontrol.v1B\x11\x44istributionProtoP\x01ZJcloud.google.com/go/servicecontrol/apiv1/servicecontrolpb;servicecontrolpb\xf8\x01\x01\xaa\x02\x1eGoogle.Cloud.ServiceControl.V1\xca\x02\x1eGoogle\\Cloud\\ServiceControl\\V1\xea\x02!Google::Cloud::ServiceControl::V1b\x06proto3')
_globals = globals()
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'google.api.servicecontrol.v1.distribution_pb2', _globals)
if _descriptor._USE_C_DESCRIPTORS == False:
DESCRIPTOR._options = None
DESCRIPTOR._serialized_options = b'\n com.google.api.servicecontrol.v1B\021DistributionProtoP\001ZJgoogle.golang.org/genproto/googleapis/api/servicecontrol/v1;servicecontrol\370\001\001\252\002\036Google.Cloud.ServiceControl.V1\312\002\036Google\\Cloud\\ServiceControl\\V1\352\002!Google::Cloud::ServiceControl::V1'
DESCRIPTOR._serialized_options = b'\n com.google.api.servicecontrol.v1B\021DistributionProtoP\001ZJcloud.google.com/go/servicecontrol/apiv1/servicecontrolpb;servicecontrolpb\370\001\001\252\002\036Google.Cloud.ServiceControl.V1\312\002\036Google\\Cloud\\ServiceControl\\V1\352\002!Google::Cloud::ServiceControl::V1'
_globals['_DISTRIBUTION']._serialized_start=113
_globals['_DISTRIBUTION']._serialized_end=783
_globals['_DISTRIBUTION_LINEARBUCKETS']._serialized_start=569

@ -14,14 +14,14 @@ _sym_db = _symbol_database.Default()
from google.protobuf import duration_pb2 as google_dot_protobuf_dot_duration__pb2
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n/google/api/servicecontrol/v1/http_request.proto\x12\x1cgoogle.api.servicecontrol.v1\x1a\x1egoogle/protobuf/duration.proto\"\xef\x02\n\x0bHttpRequest\x12\x16\n\x0erequest_method\x18\x01 \x01(\t\x12\x13\n\x0brequest_url\x18\x02 \x01(\t\x12\x14\n\x0crequest_size\x18\x03 \x01(\x03\x12\x0e\n\x06status\x18\x04 \x01(\x05\x12\x15\n\rresponse_size\x18\x05 \x01(\x03\x12\x12\n\nuser_agent\x18\x06 \x01(\t\x12\x11\n\tremote_ip\x18\x07 \x01(\t\x12\x11\n\tserver_ip\x18\r \x01(\t\x12\x0f\n\x07referer\x18\x08 \x01(\t\x12*\n\x07latency\x18\x0e \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x14\n\x0c\x63\x61\x63he_lookup\x18\x0b \x01(\x08\x12\x11\n\tcache_hit\x18\t \x01(\x08\x12*\n\"cache_validated_with_origin_server\x18\n \x01(\x08\x12\x18\n\x10\x63\x61\x63he_fill_bytes\x18\x0c \x01(\x03\x12\x10\n\x08protocol\x18\x0f \x01(\tB\xe8\x01\n com.google.api.servicecontrol.v1B\x10HttpRequestProtoP\x01ZJgoogle.golang.org/genproto/googleapis/api/servicecontrol/v1;servicecontrol\xaa\x02\x1eGoogle.Cloud.ServiceControl.V1\xca\x02\x1eGoogle\\Cloud\\ServiceControl\\V1\xea\x02!Google::Cloud::ServiceControl::V1b\x06proto3')
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n/google/api/servicecontrol/v1/http_request.proto\x12\x1cgoogle.api.servicecontrol.v1\x1a\x1egoogle/protobuf/duration.proto\"\xef\x02\n\x0bHttpRequest\x12\x16\n\x0erequest_method\x18\x01 \x01(\t\x12\x13\n\x0brequest_url\x18\x02 \x01(\t\x12\x14\n\x0crequest_size\x18\x03 \x01(\x03\x12\x0e\n\x06status\x18\x04 \x01(\x05\x12\x15\n\rresponse_size\x18\x05 \x01(\x03\x12\x12\n\nuser_agent\x18\x06 \x01(\t\x12\x11\n\tremote_ip\x18\x07 \x01(\t\x12\x11\n\tserver_ip\x18\r \x01(\t\x12\x0f\n\x07referer\x18\x08 \x01(\t\x12*\n\x07latency\x18\x0e \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x14\n\x0c\x63\x61\x63he_lookup\x18\x0b \x01(\x08\x12\x11\n\tcache_hit\x18\t \x01(\x08\x12*\n\"cache_validated_with_origin_server\x18\n \x01(\x08\x12\x18\n\x10\x63\x61\x63he_fill_bytes\x18\x0c \x01(\x03\x12\x10\n\x08protocol\x18\x0f \x01(\tB\xe8\x01\n com.google.api.servicecontrol.v1B\x10HttpRequestProtoP\x01ZJcloud.google.com/go/servicecontrol/apiv1/servicecontrolpb;servicecontrolpb\xaa\x02\x1eGoogle.Cloud.ServiceControl.V1\xca\x02\x1eGoogle\\Cloud\\ServiceControl\\V1\xea\x02!Google::Cloud::ServiceControl::V1b\x06proto3')
_globals = globals()
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'google.api.servicecontrol.v1.http_request_pb2', _globals)
if _descriptor._USE_C_DESCRIPTORS == False:
DESCRIPTOR._options = None
DESCRIPTOR._serialized_options = b'\n com.google.api.servicecontrol.v1B\020HttpRequestProtoP\001ZJgoogle.golang.org/genproto/googleapis/api/servicecontrol/v1;servicecontrol\252\002\036Google.Cloud.ServiceControl.V1\312\002\036Google\\Cloud\\ServiceControl\\V1\352\002!Google::Cloud::ServiceControl::V1'
DESCRIPTOR._serialized_options = b'\n com.google.api.servicecontrol.v1B\020HttpRequestProtoP\001ZJcloud.google.com/go/servicecontrol/apiv1/servicecontrolpb;servicecontrolpb\252\002\036Google.Cloud.ServiceControl.V1\312\002\036Google\\Cloud\\ServiceControl\\V1\352\002!Google::Cloud::ServiceControl::V1'
_globals['_HTTPREQUEST']._serialized_start=114
_globals['_HTTPREQUEST']._serialized_end=481
# @@protoc_insertion_point(module_scope)

@ -18,14 +18,14 @@ from google.protobuf import struct_pb2 as google_dot_protobuf_dot_struct__pb2
from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n,google/api/servicecontrol/v1/log_entry.proto\x12\x1cgoogle.api.servicecontrol.v1\x1a/google/api/servicecontrol/v1/http_request.proto\x1a&google/logging/type/log_severity.proto\x1a\x19google/protobuf/any.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\xe9\x04\n\x08LogEntry\x12\x0c\n\x04name\x18\n \x01(\t\x12-\n\ttimestamp\x18\x0b \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x32\n\x08severity\x18\x0c \x01(\x0e\x32 .google.logging.type.LogSeverity\x12?\n\x0chttp_request\x18\x0e \x01(\x0b\x32).google.api.servicecontrol.v1.HttpRequest\x12\r\n\x05trace\x18\x0f \x01(\t\x12\x11\n\tinsert_id\x18\x04 \x01(\t\x12\x42\n\x06labels\x18\r \x03(\x0b\x32\x32.google.api.servicecontrol.v1.LogEntry.LabelsEntry\x12-\n\rproto_payload\x18\x02 \x01(\x0b\x32\x14.google.protobuf.AnyH\x00\x12\x16\n\x0ctext_payload\x18\x03 \x01(\tH\x00\x12\x31\n\x0estruct_payload\x18\x06 \x01(\x0b\x32\x17.google.protobuf.StructH\x00\x12\x42\n\toperation\x18\x10 \x01(\x0b\x32/.google.api.servicecontrol.v1.LogEntryOperation\x12M\n\x0fsource_location\x18\x11 \x01(\x0b\x32\x34.google.api.servicecontrol.v1.LogEntrySourceLocation\x1a-\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x42\t\n\x07payload\"N\n\x11LogEntryOperation\x12\n\n\x02id\x18\x01 \x01(\t\x12\x10\n\x08producer\x18\x02 \x01(\t\x12\r\n\x05\x66irst\x18\x03 \x01(\x08\x12\x0c\n\x04last\x18\x04 \x01(\x08\"F\n\x16LogEntrySourceLocation\x12\x0c\n\x04\x66ile\x18\x01 \x01(\t\x12\x0c\n\x04line\x18\x02 \x01(\x03\x12\x10\n\x08\x66unction\x18\x03 \x01(\tB\xe5\x01\n com.google.api.servicecontrol.v1B\rLogEntryProtoP\x01ZJgoogle.golang.org/genproto/googleapis/api/servicecontrol/v1;servicecontrol\xaa\x02\x1eGoogle.Cloud.ServiceControl.V1\xca\x02\x1eGoogle\\Cloud\\ServiceControl\\V1\xea\x02!Google::Cloud::ServiceControl::V1b\x06proto3')
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n,google/api/servicecontrol/v1/log_entry.proto\x12\x1cgoogle.api.servicecontrol.v1\x1a/google/api/servicecontrol/v1/http_request.proto\x1a&google/logging/type/log_severity.proto\x1a\x19google/protobuf/any.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\xe9\x04\n\x08LogEntry\x12\x0c\n\x04name\x18\n \x01(\t\x12-\n\ttimestamp\x18\x0b \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x32\n\x08severity\x18\x0c \x01(\x0e\x32 .google.logging.type.LogSeverity\x12?\n\x0chttp_request\x18\x0e \x01(\x0b\x32).google.api.servicecontrol.v1.HttpRequest\x12\r\n\x05trace\x18\x0f \x01(\t\x12\x11\n\tinsert_id\x18\x04 \x01(\t\x12\x42\n\x06labels\x18\r \x03(\x0b\x32\x32.google.api.servicecontrol.v1.LogEntry.LabelsEntry\x12-\n\rproto_payload\x18\x02 \x01(\x0b\x32\x14.google.protobuf.AnyH\x00\x12\x16\n\x0ctext_payload\x18\x03 \x01(\tH\x00\x12\x31\n\x0estruct_payload\x18\x06 \x01(\x0b\x32\x17.google.protobuf.StructH\x00\x12\x42\n\toperation\x18\x10 \x01(\x0b\x32/.google.api.servicecontrol.v1.LogEntryOperation\x12M\n\x0fsource_location\x18\x11 \x01(\x0b\x32\x34.google.api.servicecontrol.v1.LogEntrySourceLocation\x1a-\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x42\t\n\x07payload\"N\n\x11LogEntryOperation\x12\n\n\x02id\x18\x01 \x01(\t\x12\x10\n\x08producer\x18\x02 \x01(\t\x12\r\n\x05\x66irst\x18\x03 \x01(\x08\x12\x0c\n\x04last\x18\x04 \x01(\x08\"F\n\x16LogEntrySourceLocation\x12\x0c\n\x04\x66ile\x18\x01 \x01(\t\x12\x0c\n\x04line\x18\x02 \x01(\x03\x12\x10\n\x08\x66unction\x18\x03 \x01(\tB\xe5\x01\n com.google.api.servicecontrol.v1B\rLogEntryProtoP\x01ZJcloud.google.com/go/servicecontrol/apiv1/servicecontrolpb;servicecontrolpb\xaa\x02\x1eGoogle.Cloud.ServiceControl.V1\xca\x02\x1eGoogle\\Cloud\\ServiceControl\\V1\xea\x02!Google::Cloud::ServiceControl::V1b\x06proto3')
_globals = globals()
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'google.api.servicecontrol.v1.log_entry_pb2', _globals)
if _descriptor._USE_C_DESCRIPTORS == False:
DESCRIPTOR._options = None
DESCRIPTOR._serialized_options = b'\n com.google.api.servicecontrol.v1B\rLogEntryProtoP\001ZJgoogle.golang.org/genproto/googleapis/api/servicecontrol/v1;servicecontrol\252\002\036Google.Cloud.ServiceControl.V1\312\002\036Google\\Cloud\\ServiceControl\\V1\352\002!Google::Cloud::ServiceControl::V1'
DESCRIPTOR._serialized_options = b'\n com.google.api.servicecontrol.v1B\rLogEntryProtoP\001ZJcloud.google.com/go/servicecontrol/apiv1/servicecontrolpb;servicecontrolpb\252\002\036Google.Cloud.ServiceControl.V1\312\002\036Google\\Cloud\\ServiceControl\\V1\352\002!Google::Cloud::ServiceControl::V1'
_LOGENTRY_LABELSENTRY._options = None
_LOGENTRY_LABELSENTRY._serialized_options = b'8\001'
_globals['_LOGENTRY']._serialized_start=258

@ -15,14 +15,14 @@ from google.api.servicecontrol.v1 import distribution_pb2 as google_dot_api_dot_
from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n/google/api/servicecontrol/v1/metric_value.proto\x12\x1cgoogle.api.servicecontrol.v1\x1a/google/api/servicecontrol/v1/distribution.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\x91\x03\n\x0bMetricValue\x12\x45\n\x06labels\x18\x01 \x03(\x0b\x32\x35.google.api.servicecontrol.v1.MetricValue.LabelsEntry\x12.\n\nstart_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12,\n\x08\x65nd_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x14\n\nbool_value\x18\x04 \x01(\x08H\x00\x12\x15\n\x0bint64_value\x18\x05 \x01(\x03H\x00\x12\x16\n\x0c\x64ouble_value\x18\x06 \x01(\x01H\x00\x12\x16\n\x0cstring_value\x18\x07 \x01(\tH\x00\x12H\n\x12\x64istribution_value\x18\x08 \x01(\x0b\x32*.google.api.servicecontrol.v1.DistributionH\x00\x1a-\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x42\x07\n\x05value\"g\n\x0eMetricValueSet\x12\x13\n\x0bmetric_name\x18\x01 \x01(\t\x12@\n\rmetric_values\x18\x02 \x03(\x0b\x32).google.api.servicecontrol.v1.MetricValueB\xee\x01\n com.google.api.servicecontrol.v1B\x13MetricValueSetProtoP\x01ZJgoogle.golang.org/genproto/googleapis/api/servicecontrol/v1;servicecontrol\xf8\x01\x01\xaa\x02\x1eGoogle.Cloud.ServiceControl.V1\xca\x02\x1eGoogle\\Cloud\\ServiceControl\\V1\xea\x02!Google::Cloud::ServiceControl::V1b\x06proto3')
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n/google/api/servicecontrol/v1/metric_value.proto\x12\x1cgoogle.api.servicecontrol.v1\x1a/google/api/servicecontrol/v1/distribution.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\x91\x03\n\x0bMetricValue\x12\x45\n\x06labels\x18\x01 \x03(\x0b\x32\x35.google.api.servicecontrol.v1.MetricValue.LabelsEntry\x12.\n\nstart_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12,\n\x08\x65nd_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x14\n\nbool_value\x18\x04 \x01(\x08H\x00\x12\x15\n\x0bint64_value\x18\x05 \x01(\x03H\x00\x12\x16\n\x0c\x64ouble_value\x18\x06 \x01(\x01H\x00\x12\x16\n\x0cstring_value\x18\x07 \x01(\tH\x00\x12H\n\x12\x64istribution_value\x18\x08 \x01(\x0b\x32*.google.api.servicecontrol.v1.DistributionH\x00\x1a-\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x42\x07\n\x05value\"g\n\x0eMetricValueSet\x12\x13\n\x0bmetric_name\x18\x01 \x01(\t\x12@\n\rmetric_values\x18\x02 \x03(\x0b\x32).google.api.servicecontrol.v1.MetricValueB\xee\x01\n com.google.api.servicecontrol.v1B\x13MetricValueSetProtoP\x01ZJcloud.google.com/go/servicecontrol/apiv1/servicecontrolpb;servicecontrolpb\xf8\x01\x01\xaa\x02\x1eGoogle.Cloud.ServiceControl.V1\xca\x02\x1eGoogle\\Cloud\\ServiceControl\\V1\xea\x02!Google::Cloud::ServiceControl::V1b\x06proto3')
_globals = globals()
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'google.api.servicecontrol.v1.metric_value_pb2', _globals)
if _descriptor._USE_C_DESCRIPTORS == False:
DESCRIPTOR._options = None
DESCRIPTOR._serialized_options = b'\n com.google.api.servicecontrol.v1B\023MetricValueSetProtoP\001ZJgoogle.golang.org/genproto/googleapis/api/servicecontrol/v1;servicecontrol\370\001\001\252\002\036Google.Cloud.ServiceControl.V1\312\002\036Google\\Cloud\\ServiceControl\\V1\352\002!Google::Cloud::ServiceControl::V1'
DESCRIPTOR._serialized_options = b'\n com.google.api.servicecontrol.v1B\023MetricValueSetProtoP\001ZJcloud.google.com/go/servicecontrol/apiv1/servicecontrolpb;servicecontrolpb\370\001\001\252\002\036Google.Cloud.ServiceControl.V1\312\002\036Google\\Cloud\\ServiceControl\\V1\352\002!Google::Cloud::ServiceControl::V1'
_METRICVALUE_LABELSENTRY._options = None
_METRICVALUE_LABELSENTRY._serialized_options = b'8\001'
_globals['_METRICVALUE']._serialized_start=164

@ -17,14 +17,14 @@ from google.protobuf import any_pb2 as google_dot_protobuf_dot_any__pb2
from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n,google/api/servicecontrol/v1/operation.proto\x12\x1cgoogle.api.servicecontrol.v1\x1a,google/api/servicecontrol/v1/log_entry.proto\x1a/google/api/servicecontrol/v1/metric_value.proto\x1a\x19google/protobuf/any.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\xb9\x04\n\tOperation\x12\x14\n\x0coperation_id\x18\x01 \x01(\t\x12\x16\n\x0eoperation_name\x18\x02 \x01(\t\x12\x13\n\x0b\x63onsumer_id\x18\x03 \x01(\t\x12.\n\nstart_time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12,\n\x08\x65nd_time\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x43\n\x06labels\x18\x06 \x03(\x0b\x32\x33.google.api.servicecontrol.v1.Operation.LabelsEntry\x12G\n\x11metric_value_sets\x18\x07 \x03(\x0b\x32,.google.api.servicecontrol.v1.MetricValueSet\x12;\n\x0blog_entries\x18\x08 \x03(\x0b\x32&.google.api.servicecontrol.v1.LogEntry\x12\x46\n\nimportance\x18\x0b \x01(\x0e\x32\x32.google.api.servicecontrol.v1.Operation.Importance\x12(\n\nextensions\x18\x10 \x03(\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\"\x1f\n\nImportance\x12\x07\n\x03LOW\x10\x00\x12\x08\n\x04HIGH\x10\x01\x42\xe9\x01\n com.google.api.servicecontrol.v1B\x0eOperationProtoP\x01ZJgoogle.golang.org/genproto/googleapis/api/servicecontrol/v1;servicecontrol\xf8\x01\x01\xaa\x02\x1eGoogle.Cloud.ServiceControl.V1\xca\x02\x1eGoogle\\Cloud\\ServiceControl\\V1\xea\x02!Google::Cloud::ServiceControl::V1b\x06proto3')
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n,google/api/servicecontrol/v1/operation.proto\x12\x1cgoogle.api.servicecontrol.v1\x1a,google/api/servicecontrol/v1/log_entry.proto\x1a/google/api/servicecontrol/v1/metric_value.proto\x1a\x19google/protobuf/any.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\xb9\x04\n\tOperation\x12\x14\n\x0coperation_id\x18\x01 \x01(\t\x12\x16\n\x0eoperation_name\x18\x02 \x01(\t\x12\x13\n\x0b\x63onsumer_id\x18\x03 \x01(\t\x12.\n\nstart_time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12,\n\x08\x65nd_time\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x43\n\x06labels\x18\x06 \x03(\x0b\x32\x33.google.api.servicecontrol.v1.Operation.LabelsEntry\x12G\n\x11metric_value_sets\x18\x07 \x03(\x0b\x32,.google.api.servicecontrol.v1.MetricValueSet\x12;\n\x0blog_entries\x18\x08 \x03(\x0b\x32&.google.api.servicecontrol.v1.LogEntry\x12\x46\n\nimportance\x18\x0b \x01(\x0e\x32\x32.google.api.servicecontrol.v1.Operation.Importance\x12(\n\nextensions\x18\x10 \x03(\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\"\x1f\n\nImportance\x12\x07\n\x03LOW\x10\x00\x12\x08\n\x04HIGH\x10\x01\x42\xe9\x01\n com.google.api.servicecontrol.v1B\x0eOperationProtoP\x01ZJcloud.google.com/go/servicecontrol/apiv1/servicecontrolpb;servicecontrolpb\xf8\x01\x01\xaa\x02\x1eGoogle.Cloud.ServiceControl.V1\xca\x02\x1eGoogle\\Cloud\\ServiceControl\\V1\xea\x02!Google::Cloud::ServiceControl::V1b\x06proto3')
_globals = globals()
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'google.api.servicecontrol.v1.operation_pb2', _globals)
if _descriptor._USE_C_DESCRIPTORS == False:
DESCRIPTOR._options = None
DESCRIPTOR._serialized_options = b'\n com.google.api.servicecontrol.v1B\016OperationProtoP\001ZJgoogle.golang.org/genproto/googleapis/api/servicecontrol/v1;servicecontrol\370\001\001\252\002\036Google.Cloud.ServiceControl.V1\312\002\036Google\\Cloud\\ServiceControl\\V1\352\002!Google::Cloud::ServiceControl::V1'
DESCRIPTOR._serialized_options = b'\n com.google.api.servicecontrol.v1B\016OperationProtoP\001ZJcloud.google.com/go/servicecontrol/apiv1/servicecontrolpb;servicecontrolpb\370\001\001\252\002\036Google.Cloud.ServiceControl.V1\312\002\036Google\\Cloud\\ServiceControl\\V1\352\002!Google::Cloud::ServiceControl::V1'
_OPERATION_LABELSENTRY._options = None
_OPERATION_LABELSENTRY._serialized_options = b'8\001'
_globals['_OPERATION']._serialized_start=234

@ -17,14 +17,14 @@ from google.rpc import status_pb2 as google_dot_rpc_dot_status__pb2
from google.api import client_pb2 as google_dot_api_dot_client__pb2
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n3google/api/servicecontrol/v1/quota_controller.proto\x12\x1cgoogle.api.servicecontrol.v1\x1a\x1cgoogle/api/annotations.proto\x1a/google/api/servicecontrol/v1/metric_value.proto\x1a\x17google/rpc/status.proto\x1a\x17google/api/client.proto\"\x91\x01\n\x14\x41llocateQuotaRequest\x12\x14\n\x0cservice_name\x18\x01 \x01(\t\x12H\n\x12\x61llocate_operation\x18\x02 \x01(\x0b\x32,.google.api.servicecontrol.v1.QuotaOperation\x12\x19\n\x11service_config_id\x18\x04 \x01(\t\"\xc6\x03\n\x0eQuotaOperation\x12\x14\n\x0coperation_id\x18\x01 \x01(\t\x12\x13\n\x0bmethod_name\x18\x02 \x01(\t\x12\x13\n\x0b\x63onsumer_id\x18\x03 \x01(\t\x12H\n\x06labels\x18\x04 \x03(\x0b\x32\x38.google.api.servicecontrol.v1.QuotaOperation.LabelsEntry\x12\x43\n\rquota_metrics\x18\x05 \x03(\x0b\x32,.google.api.servicecontrol.v1.MetricValueSet\x12J\n\nquota_mode\x18\x06 \x01(\x0e\x32\x36.google.api.servicecontrol.v1.QuotaOperation.QuotaMode\x1a-\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"j\n\tQuotaMode\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06NORMAL\x10\x01\x12\x0f\n\x0b\x42\x45ST_EFFORT\x10\x02\x12\x0e\n\nCHECK_ONLY\x10\x03\x12\x0e\n\nQUERY_ONLY\x10\x04\x12\x0f\n\x0b\x41\x44JUST_ONLY\x10\x05\"\xd0\x01\n\x15\x41llocateQuotaResponse\x12\x14\n\x0coperation_id\x18\x01 \x01(\t\x12\x41\n\x0f\x61llocate_errors\x18\x02 \x03(\x0b\x32(.google.api.servicecontrol.v1.QuotaError\x12\x43\n\rquota_metrics\x18\x03 \x03(\x0b\x32,.google.api.servicecontrol.v1.MetricValueSet\x12\x19\n\x11service_config_id\x18\x04 \x01(\t\"\x9c\x02\n\nQuotaError\x12;\n\x04\x63ode\x18\x01 \x01(\x0e\x32-.google.api.servicecontrol.v1.QuotaError.Code\x12\x0f\n\x07subject\x18\x02 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x03 \x01(\t\x12\"\n\x06status\x18\x04 \x01(\x0b\x32\x12.google.rpc.Status\"\x86\x01\n\x04\x43ode\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x16\n\x12RESOURCE_EXHAUSTED\x10\x08\x12\x16\n\x12\x42ILLING_NOT_ACTIVE\x10k\x12\x13\n\x0fPROJECT_DELETED\x10l\x12\x13\n\x0f\x41PI_KEY_INVALID\x10i\x12\x13\n\x0f\x41PI_KEY_EXPIRED\x10p2\xc5\x02\n\x0fQuotaController\x12\xae\x01\n\rAllocateQuota\x12\x32.google.api.servicecontrol.v1.AllocateQuotaRequest\x1a\x33.google.api.servicecontrol.v1.AllocateQuotaResponse\"4\x82\xd3\xe4\x93\x02.\")/v1/services/{service_name}:allocateQuota:\x01*\x1a\x80\x01\xca\x41\x1dservicecontrol.googleapis.com\xd2\x41]https://www.googleapis.com/auth/cloud-platform,https://www.googleapis.com/auth/servicecontrolB\xef\x01\n com.google.api.servicecontrol.v1B\x14QuotaControllerProtoP\x01ZJgoogle.golang.org/genproto/googleapis/api/servicecontrol/v1;servicecontrol\xf8\x01\x01\xaa\x02\x1eGoogle.Cloud.ServiceControl.V1\xca\x02\x1eGoogle\\Cloud\\ServiceControl\\V1\xea\x02!Google::Cloud::ServiceControl::V1b\x06proto3')
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n3google/api/servicecontrol/v1/quota_controller.proto\x12\x1cgoogle.api.servicecontrol.v1\x1a\x1cgoogle/api/annotations.proto\x1a/google/api/servicecontrol/v1/metric_value.proto\x1a\x17google/rpc/status.proto\x1a\x17google/api/client.proto\"\x91\x01\n\x14\x41llocateQuotaRequest\x12\x14\n\x0cservice_name\x18\x01 \x01(\t\x12H\n\x12\x61llocate_operation\x18\x02 \x01(\x0b\x32,.google.api.servicecontrol.v1.QuotaOperation\x12\x19\n\x11service_config_id\x18\x04 \x01(\t\"\xc6\x03\n\x0eQuotaOperation\x12\x14\n\x0coperation_id\x18\x01 \x01(\t\x12\x13\n\x0bmethod_name\x18\x02 \x01(\t\x12\x13\n\x0b\x63onsumer_id\x18\x03 \x01(\t\x12H\n\x06labels\x18\x04 \x03(\x0b\x32\x38.google.api.servicecontrol.v1.QuotaOperation.LabelsEntry\x12\x43\n\rquota_metrics\x18\x05 \x03(\x0b\x32,.google.api.servicecontrol.v1.MetricValueSet\x12J\n\nquota_mode\x18\x06 \x01(\x0e\x32\x36.google.api.servicecontrol.v1.QuotaOperation.QuotaMode\x1a-\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"j\n\tQuotaMode\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06NORMAL\x10\x01\x12\x0f\n\x0b\x42\x45ST_EFFORT\x10\x02\x12\x0e\n\nCHECK_ONLY\x10\x03\x12\x0e\n\nQUERY_ONLY\x10\x04\x12\x0f\n\x0b\x41\x44JUST_ONLY\x10\x05\"\xd0\x01\n\x15\x41llocateQuotaResponse\x12\x14\n\x0coperation_id\x18\x01 \x01(\t\x12\x41\n\x0f\x61llocate_errors\x18\x02 \x03(\x0b\x32(.google.api.servicecontrol.v1.QuotaError\x12\x43\n\rquota_metrics\x18\x03 \x03(\x0b\x32,.google.api.servicecontrol.v1.MetricValueSet\x12\x19\n\x11service_config_id\x18\x04 \x01(\t\"\x9c\x02\n\nQuotaError\x12;\n\x04\x63ode\x18\x01 \x01(\x0e\x32-.google.api.servicecontrol.v1.QuotaError.Code\x12\x0f\n\x07subject\x18\x02 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x03 \x01(\t\x12\"\n\x06status\x18\x04 \x01(\x0b\x32\x12.google.rpc.Status\"\x86\x01\n\x04\x43ode\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x16\n\x12RESOURCE_EXHAUSTED\x10\x08\x12\x16\n\x12\x42ILLING_NOT_ACTIVE\x10k\x12\x13\n\x0fPROJECT_DELETED\x10l\x12\x13\n\x0f\x41PI_KEY_INVALID\x10i\x12\x13\n\x0f\x41PI_KEY_EXPIRED\x10p2\xc5\x02\n\x0fQuotaController\x12\xae\x01\n\rAllocateQuota\x12\x32.google.api.servicecontrol.v1.AllocateQuotaRequest\x1a\x33.google.api.servicecontrol.v1.AllocateQuotaResponse\"4\x82\xd3\xe4\x93\x02.\")/v1/services/{service_name}:allocateQuota:\x01*\x1a\x80\x01\xca\x41\x1dservicecontrol.googleapis.com\xd2\x41]https://www.googleapis.com/auth/cloud-platform,https://www.googleapis.com/auth/servicecontrolB\xef\x01\n com.google.api.servicecontrol.v1B\x14QuotaControllerProtoP\x01ZJcloud.google.com/go/servicecontrol/apiv1/servicecontrolpb;servicecontrolpb\xf8\x01\x01\xaa\x02\x1eGoogle.Cloud.ServiceControl.V1\xca\x02\x1eGoogle\\Cloud\\ServiceControl\\V1\xea\x02!Google::Cloud::ServiceControl::V1b\x06proto3')
_globals = globals()
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'google.api.servicecontrol.v1.quota_controller_pb2', _globals)
if _descriptor._USE_C_DESCRIPTORS == False:
DESCRIPTOR._options = None
DESCRIPTOR._serialized_options = b'\n com.google.api.servicecontrol.v1B\024QuotaControllerProtoP\001ZJgoogle.golang.org/genproto/googleapis/api/servicecontrol/v1;servicecontrol\370\001\001\252\002\036Google.Cloud.ServiceControl.V1\312\002\036Google\\Cloud\\ServiceControl\\V1\352\002!Google::Cloud::ServiceControl::V1'
DESCRIPTOR._serialized_options = b'\n com.google.api.servicecontrol.v1B\024QuotaControllerProtoP\001ZJcloud.google.com/go/servicecontrol/apiv1/servicecontrolpb;servicecontrolpb\370\001\001\252\002\036Google.Cloud.ServiceControl.V1\312\002\036Google\\Cloud\\ServiceControl\\V1\352\002!Google::Cloud::ServiceControl::V1'
_QUOTAOPERATION_LABELSENTRY._options = None
_QUOTAOPERATION_LABELSENTRY._serialized_options = b'8\001'
_QUOTACONTROLLER._options = None

@ -15,40 +15,39 @@ 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.api.servicecontrol.v1 import check_error_pb2 as google_dot_api_dot_servicecontrol_dot_v1_dot_check__error__pb2
from google.api.servicecontrol.v1 import operation_pb2 as google_dot_api_dot_servicecontrol_dot_v1_dot_operation__pb2
from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2
from google.rpc import status_pb2 as google_dot_rpc_dot_status__pb2
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n5google/api/servicecontrol/v1/service_controller.proto\x12\x1cgoogle.api.servicecontrol.v1\x1a\x1cgoogle/api/annotations.proto\x1a\x17google/api/client.proto\x1a.google/api/servicecontrol/v1/check_error.proto\x1a,google/api/servicecontrol/v1/operation.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x17google/rpc/status.proto\"{\n\x0c\x43heckRequest\x12\x14\n\x0cservice_name\x18\x01 \x01(\t\x12:\n\toperation\x18\x02 \x01(\x0b\x32\'.google.api.servicecontrol.v1.Operation\x12\x19\n\x11service_config_id\x18\x04 \x01(\t\"\xe6\x04\n\rCheckResponse\x12\x14\n\x0coperation_id\x18\x01 \x01(\t\x12>\n\x0c\x63heck_errors\x18\x02 \x03(\x0b\x32(.google.api.servicecontrol.v1.CheckError\x12\x19\n\x11service_config_id\x18\x05 \x01(\t\x12\x1a\n\x12service_rollout_id\x18\x0b \x01(\t\x12I\n\ncheck_info\x18\x06 \x01(\x0b\x32\x35.google.api.servicecontrol.v1.CheckResponse.CheckInfo\x1av\n\tCheckInfo\x12\x18\n\x10unused_arguments\x18\x01 \x03(\t\x12O\n\rconsumer_info\x18\x02 \x01(\x0b\x32\x38.google.api.servicecontrol.v1.CheckResponse.ConsumerInfo\x1a\x84\x02\n\x0c\x43onsumerInfo\x12\x16\n\x0eproject_number\x18\x01 \x01(\x03\x12S\n\x04type\x18\x02 \x01(\x0e\x32\x45.google.api.servicecontrol.v1.CheckResponse.ConsumerInfo.ConsumerType\x12\x17\n\x0f\x63onsumer_number\x18\x03 \x01(\x03\"n\n\x0c\x43onsumerType\x12\x1d\n\x19\x43ONSUMER_TYPE_UNSPECIFIED\x10\x00\x12\x0b\n\x07PROJECT\x10\x01\x12\n\n\x06\x46OLDER\x10\x02\x12\x10\n\x0cORGANIZATION\x10\x03\x12\x14\n\x10SERVICE_SPECIFIC\x10\x04\"}\n\rReportRequest\x12\x14\n\x0cservice_name\x18\x01 \x01(\t\x12;\n\noperations\x18\x02 \x03(\x0b\x32\'.google.api.servicecontrol.v1.Operation\x12\x19\n\x11service_config_id\x18\x03 \x01(\t\"\xe1\x01\n\x0eReportResponse\x12O\n\rreport_errors\x18\x01 \x03(\x0b\x32\x38.google.api.servicecontrol.v1.ReportResponse.ReportError\x12\x19\n\x11service_config_id\x18\x02 \x01(\t\x12\x1a\n\x12service_rollout_id\x18\x04 \x01(\t\x1aG\n\x0bReportError\x12\x14\n\x0coperation_id\x18\x01 \x01(\t\x12\"\n\x06status\x18\x02 \x01(\x0b\x32\x12.google.rpc.Status2\xbc\x03\n\x11ServiceController\x12\x8e\x01\n\x05\x43heck\x12*.google.api.servicecontrol.v1.CheckRequest\x1a+.google.api.servicecontrol.v1.CheckResponse\",\x82\xd3\xe4\x93\x02&\"!/v1/services/{service_name}:check:\x01*\x12\x92\x01\n\x06Report\x12+.google.api.servicecontrol.v1.ReportRequest\x1a,.google.api.servicecontrol.v1.ReportResponse\"-\x82\xd3\xe4\x93\x02\'\"\"/v1/services/{service_name}:report:\x01*\x1a\x80\x01\xca\x41\x1dservicecontrol.googleapis.com\xd2\x41]https://www.googleapis.com/auth/cloud-platform,https://www.googleapis.com/auth/servicecontrolB\xf8\x01\n com.google.api.servicecontrol.v1B\x16ServiceControllerProtoP\x01ZJgoogle.golang.org/genproto/googleapis/api/servicecontrol/v1;servicecontrol\xf8\x01\x01\xa2\x02\x04GASC\xaa\x02\x1eGoogle.Cloud.ServiceControl.V1\xca\x02\x1eGoogle\\Cloud\\ServiceControl\\V1\xea\x02!Google::Cloud::ServiceControl::V1b\x06proto3')
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n5google/api/servicecontrol/v1/service_controller.proto\x12\x1cgoogle.api.servicecontrol.v1\x1a\x1cgoogle/api/annotations.proto\x1a\x17google/api/client.proto\x1a.google/api/servicecontrol/v1/check_error.proto\x1a,google/api/servicecontrol/v1/operation.proto\x1a\x17google/rpc/status.proto\"{\n\x0c\x43heckRequest\x12\x14\n\x0cservice_name\x18\x01 \x01(\t\x12:\n\toperation\x18\x02 \x01(\x0b\x32\'.google.api.servicecontrol.v1.Operation\x12\x19\n\x11service_config_id\x18\x04 \x01(\t\"\xfc\x04\n\rCheckResponse\x12\x14\n\x0coperation_id\x18\x01 \x01(\t\x12>\n\x0c\x63heck_errors\x18\x02 \x03(\x0b\x32(.google.api.servicecontrol.v1.CheckError\x12\x19\n\x11service_config_id\x18\x05 \x01(\t\x12\x1a\n\x12service_rollout_id\x18\x0b \x01(\t\x12I\n\ncheck_info\x18\x06 \x01(\x0b\x32\x35.google.api.servicecontrol.v1.CheckResponse.CheckInfo\x1a\x8b\x01\n\tCheckInfo\x12\x18\n\x10unused_arguments\x18\x01 \x03(\t\x12O\n\rconsumer_info\x18\x02 \x01(\x0b\x32\x38.google.api.servicecontrol.v1.CheckResponse.ConsumerInfo\x12\x13\n\x0b\x61pi_key_uid\x18\x05 \x01(\t\x1a\x84\x02\n\x0c\x43onsumerInfo\x12\x16\n\x0eproject_number\x18\x01 \x01(\x03\x12S\n\x04type\x18\x02 \x01(\x0e\x32\x45.google.api.servicecontrol.v1.CheckResponse.ConsumerInfo.ConsumerType\x12\x17\n\x0f\x63onsumer_number\x18\x03 \x01(\x03\"n\n\x0c\x43onsumerType\x12\x1d\n\x19\x43ONSUMER_TYPE_UNSPECIFIED\x10\x00\x12\x0b\n\x07PROJECT\x10\x01\x12\n\n\x06\x46OLDER\x10\x02\x12\x10\n\x0cORGANIZATION\x10\x03\x12\x14\n\x10SERVICE_SPECIFIC\x10\x04\"}\n\rReportRequest\x12\x14\n\x0cservice_name\x18\x01 \x01(\t\x12;\n\noperations\x18\x02 \x03(\x0b\x32\'.google.api.servicecontrol.v1.Operation\x12\x19\n\x11service_config_id\x18\x03 \x01(\t\"\xe1\x01\n\x0eReportResponse\x12O\n\rreport_errors\x18\x01 \x03(\x0b\x32\x38.google.api.servicecontrol.v1.ReportResponse.ReportError\x12\x19\n\x11service_config_id\x18\x02 \x01(\t\x12\x1a\n\x12service_rollout_id\x18\x04 \x01(\t\x1aG\n\x0bReportError\x12\x14\n\x0coperation_id\x18\x01 \x01(\t\x12\"\n\x06status\x18\x02 \x01(\x0b\x32\x12.google.rpc.Status2\xbc\x03\n\x11ServiceController\x12\x8e\x01\n\x05\x43heck\x12*.google.api.servicecontrol.v1.CheckRequest\x1a+.google.api.servicecontrol.v1.CheckResponse\",\x82\xd3\xe4\x93\x02&\"!/v1/services/{service_name}:check:\x01*\x12\x92\x01\n\x06Report\x12+.google.api.servicecontrol.v1.ReportRequest\x1a,.google.api.servicecontrol.v1.ReportResponse\"-\x82\xd3\xe4\x93\x02\'\"\"/v1/services/{service_name}:report:\x01*\x1a\x80\x01\xca\x41\x1dservicecontrol.googleapis.com\xd2\x41]https://www.googleapis.com/auth/cloud-platform,https://www.googleapis.com/auth/servicecontrolB\xf8\x01\n com.google.api.servicecontrol.v1B\x16ServiceControllerProtoP\x01ZJcloud.google.com/go/servicecontrol/apiv1/servicecontrolpb;servicecontrolpb\xf8\x01\x01\xa2\x02\x04GASC\xaa\x02\x1eGoogle.Cloud.ServiceControl.V1\xca\x02\x1eGoogle\\Cloud\\ServiceControl\\V1\xea\x02!Google::Cloud::ServiceControl::V1b\x06proto3')
_globals = globals()
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'google.api.servicecontrol.v1.service_controller_pb2', _globals)
if _descriptor._USE_C_DESCRIPTORS == False:
DESCRIPTOR._options = None
DESCRIPTOR._serialized_options = b'\n com.google.api.servicecontrol.v1B\026ServiceControllerProtoP\001ZJgoogle.golang.org/genproto/googleapis/api/servicecontrol/v1;servicecontrol\370\001\001\242\002\004GASC\252\002\036Google.Cloud.ServiceControl.V1\312\002\036Google\\Cloud\\ServiceControl\\V1\352\002!Google::Cloud::ServiceControl::V1'
DESCRIPTOR._serialized_options = b'\n com.google.api.servicecontrol.v1B\026ServiceControllerProtoP\001ZJcloud.google.com/go/servicecontrol/apiv1/servicecontrolpb;servicecontrolpb\370\001\001\242\002\004GASC\252\002\036Google.Cloud.ServiceControl.V1\312\002\036Google\\Cloud\\ServiceControl\\V1\352\002!Google::Cloud::ServiceControl::V1'
_SERVICECONTROLLER._options = None
_SERVICECONTROLLER._serialized_options = b'\312A\035servicecontrol.googleapis.com\322A]https://www.googleapis.com/auth/cloud-platform,https://www.googleapis.com/auth/servicecontrol'
_SERVICECONTROLLER.methods_by_name['Check']._options = None
_SERVICECONTROLLER.methods_by_name['Check']._serialized_options = b'\202\323\344\223\002&\"!/v1/services/{service_name}:check:\001*'
_SERVICECONTROLLER.methods_by_name['Report']._options = None
_SERVICECONTROLLER.methods_by_name['Report']._serialized_options = b'\202\323\344\223\002\'\"\"/v1/services/{service_name}:report:\001*'
_globals['_CHECKREQUEST']._serialized_start=294
_globals['_CHECKREQUEST']._serialized_end=417
_globals['_CHECKRESPONSE']._serialized_start=420
_globals['_CHECKRESPONSE']._serialized_end=1034
_globals['_CHECKRESPONSE_CHECKINFO']._serialized_start=653
_globals['_CHECKRESPONSE_CHECKINFO']._serialized_end=771
_globals['_CHECKRESPONSE_CONSUMERINFO']._serialized_start=774
_globals['_CHECKRESPONSE_CONSUMERINFO']._serialized_end=1034
_globals['_CHECKRESPONSE_CONSUMERINFO_CONSUMERTYPE']._serialized_start=924
_globals['_CHECKRESPONSE_CONSUMERINFO_CONSUMERTYPE']._serialized_end=1034
_globals['_REPORTREQUEST']._serialized_start=1036
_globals['_REPORTREQUEST']._serialized_end=1161
_globals['_REPORTRESPONSE']._serialized_start=1164
_globals['_REPORTRESPONSE']._serialized_end=1389
_globals['_REPORTRESPONSE_REPORTERROR']._serialized_start=1318
_globals['_REPORTRESPONSE_REPORTERROR']._serialized_end=1389
_globals['_SERVICECONTROLLER']._serialized_start=1392
_globals['_SERVICECONTROLLER']._serialized_end=1836
_globals['_CHECKREQUEST']._serialized_start=261
_globals['_CHECKREQUEST']._serialized_end=384
_globals['_CHECKRESPONSE']._serialized_start=387
_globals['_CHECKRESPONSE']._serialized_end=1023
_globals['_CHECKRESPONSE_CHECKINFO']._serialized_start=621
_globals['_CHECKRESPONSE_CHECKINFO']._serialized_end=760
_globals['_CHECKRESPONSE_CONSUMERINFO']._serialized_start=763
_globals['_CHECKRESPONSE_CONSUMERINFO']._serialized_end=1023
_globals['_CHECKRESPONSE_CONSUMERINFO_CONSUMERTYPE']._serialized_start=913
_globals['_CHECKRESPONSE_CONSUMERINFO_CONSUMERTYPE']._serialized_end=1023
_globals['_REPORTREQUEST']._serialized_start=1025
_globals['_REPORTREQUEST']._serialized_end=1150
_globals['_REPORTRESPONSE']._serialized_start=1153
_globals['_REPORTRESPONSE']._serialized_end=1378
_globals['_REPORTRESPONSE_REPORTERROR']._serialized_start=1307
_globals['_REPORTRESPONSE_REPORTERROR']._serialized_end=1378
_globals['_SERVICECONTROLLER']._serialized_start=1381
_globals['_SERVICECONTROLLER']._serialized_end=1825
# @@protoc_insertion_point(module_scope)

@ -0,0 +1,52 @@
# -*- coding: utf-8 -*-
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: google/api/servicecontrol/v2/service_controller.proto
"""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.rpc.context import attribute_context_pb2 as google_dot_rpc_dot_context_dot_attribute__context__pb2
from google.rpc import status_pb2 as google_dot_rpc_dot_status__pb2
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n5google/api/servicecontrol/v2/service_controller.proto\x12\x1cgoogle.api.servicecontrol.v2\x1a\x1cgoogle/api/annotations.proto\x1a\x17google/api/client.proto\x1a*google/rpc/context/attribute_context.proto\x1a\x17google/rpc/status.proto\"\xc7\x01\n\x0c\x43heckRequest\x12\x14\n\x0cservice_name\x18\x01 \x01(\t\x12\x19\n\x11service_config_id\x18\x02 \x01(\t\x12\x38\n\nattributes\x18\x03 \x01(\x0b\x32$.google.rpc.context.AttributeContext\x12=\n\tresources\x18\x04 \x03(\x0b\x32*.google.api.servicecontrol.v2.ResourceInfo\x12\r\n\x05\x66lags\x18\x05 \x01(\t\"c\n\x0cResourceInfo\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0c\n\x04type\x18\x02 \x01(\t\x12\x12\n\npermission\x18\x03 \x01(\t\x12\x11\n\tcontainer\x18\x04 \x01(\t\x12\x10\n\x08location\x18\x05 \x01(\t\"\xae\x01\n\rCheckResponse\x12\"\n\x06status\x18\x01 \x01(\x0b\x32\x12.google.rpc.Status\x12I\n\x07headers\x18\x02 \x03(\x0b\x32\x38.google.api.servicecontrol.v2.CheckResponse.HeadersEntry\x1a.\n\x0cHeadersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"z\n\rReportRequest\x12\x14\n\x0cservice_name\x18\x01 \x01(\t\x12\x19\n\x11service_config_id\x18\x02 \x01(\t\x12\x38\n\noperations\x18\x03 \x03(\x0b\x32$.google.rpc.context.AttributeContext\"\x10\n\x0eReportResponse\"Q\n\x10ResourceInfoList\x12=\n\tresources\x18\x01 \x03(\x0b\x32*.google.api.servicecontrol.v2.ResourceInfo2\xbc\x03\n\x11ServiceController\x12\x8e\x01\n\x05\x43heck\x12*.google.api.servicecontrol.v2.CheckRequest\x1a+.google.api.servicecontrol.v2.CheckResponse\",\x82\xd3\xe4\x93\x02&\"!/v2/services/{service_name}:check:\x01*\x12\x92\x01\n\x06Report\x12+.google.api.servicecontrol.v2.ReportRequest\x1a,.google.api.servicecontrol.v2.ReportResponse\"-\x82\xd3\xe4\x93\x02\'\"\"/v2/services/{service_name}:report:\x01*\x1a\x80\x01\xca\x41\x1dservicecontrol.googleapis.com\xd2\x41]https://www.googleapis.com/auth/cloud-platform,https://www.googleapis.com/auth/servicecontrolB\xf8\x01\n com.google.api.servicecontrol.v2B\x16ServiceControllerProtoP\x01ZJgoogle.golang.org/genproto/googleapis/api/servicecontrol/v2;servicecontrol\xf8\x01\x01\xa2\x02\x04GASC\xaa\x02\x1eGoogle.Cloud.ServiceControl.V2\xca\x02\x1eGoogle\\Cloud\\ServiceControl\\V2\xea\x02!Google::Cloud::ServiceControl::V2b\x06proto3')
_globals = globals()
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'google.api.servicecontrol.v2.service_controller_pb2', _globals)
if _descriptor._USE_C_DESCRIPTORS == False:
DESCRIPTOR._options = None
DESCRIPTOR._serialized_options = b'\n com.google.api.servicecontrol.v2B\026ServiceControllerProtoP\001ZJgoogle.golang.org/genproto/googleapis/api/servicecontrol/v2;servicecontrol\370\001\001\242\002\004GASC\252\002\036Google.Cloud.ServiceControl.V2\312\002\036Google\\Cloud\\ServiceControl\\V2\352\002!Google::Cloud::ServiceControl::V2'
_CHECKRESPONSE_HEADERSENTRY._options = None
_CHECKRESPONSE_HEADERSENTRY._serialized_options = b'8\001'
_SERVICECONTROLLER._options = None
_SERVICECONTROLLER._serialized_options = b'\312A\035servicecontrol.googleapis.com\322A]https://www.googleapis.com/auth/cloud-platform,https://www.googleapis.com/auth/servicecontrol'
_SERVICECONTROLLER.methods_by_name['Check']._options = None
_SERVICECONTROLLER.methods_by_name['Check']._serialized_options = b'\202\323\344\223\002&\"!/v2/services/{service_name}:check:\001*'
_SERVICECONTROLLER.methods_by_name['Report']._options = None
_SERVICECONTROLLER.methods_by_name['Report']._serialized_options = b'\202\323\344\223\002\'\"\"/v2/services/{service_name}:report:\001*'
_globals['_CHECKREQUEST']._serialized_start=212
_globals['_CHECKREQUEST']._serialized_end=411
_globals['_RESOURCEINFO']._serialized_start=413
_globals['_RESOURCEINFO']._serialized_end=512
_globals['_CHECKRESPONSE']._serialized_start=515
_globals['_CHECKRESPONSE']._serialized_end=689
_globals['_CHECKRESPONSE_HEADERSENTRY']._serialized_start=643
_globals['_CHECKRESPONSE_HEADERSENTRY']._serialized_end=689
_globals['_REPORTREQUEST']._serialized_start=691
_globals['_REPORTREQUEST']._serialized_end=813
_globals['_REPORTRESPONSE']._serialized_start=815
_globals['_REPORTRESPONSE']._serialized_end=831
_globals['_RESOURCEINFOLIST']._serialized_start=833
_globals['_RESOURCEINFOLIST']._serialized_end=914
_globals['_SERVICECONTROLLER']._serialized_start=917
_globals['_SERVICECONTROLLER']._serialized_end=1361
# @@protoc_insertion_point(module_scope)

@ -11,61 +11,53 @@ from google.protobuf.internal import builder as _builder
_sym_db = _symbol_database.Default()
from google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2
from google.api import config_change_pb2 as google_dot_api_dot_config__change__pb2
from google.api import field_behavior_pb2 as google_dot_api_dot_field__behavior__pb2
from google.api import metric_pb2 as google_dot_api_dot_metric__pb2
from google.api import quota_pb2 as google_dot_api_dot_quota__pb2
from google.api import service_pb2 as google_dot_api_dot_service__pb2
from google.longrunning import operations_pb2 as google_dot_longrunning_dot_operations__pb2
from google.protobuf import any_pb2 as google_dot_protobuf_dot_any__pb2
from google.protobuf import field_mask_pb2 as google_dot_protobuf_dot_field__mask__pb2
from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2
from google.rpc import status_pb2 as google_dot_rpc_dot_status__pb2
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n/google/api/servicemanagement/v1/resources.proto\x12\x1fgoogle.api.servicemanagement.v1\x1a\x1cgoogle/api/annotations.proto\x1a\x1egoogle/api/config_change.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a\x17google/api/metric.proto\x1a\x16google/api/quota.proto\x1a\x18google/api/service.proto\x1a#google/longrunning/operations.proto\x1a\x19google/protobuf/any.proto\x1a google/protobuf/field_mask.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x17google/rpc/status.proto\"C\n\x0eManagedService\x12\x14\n\x0cservice_name\x18\x02 \x01(\t\x12\x1b\n\x13producer_project_id\x18\x03 \x01(\t\"\x91\x03\n\x11OperationMetadata\x12\x16\n\x0eresource_names\x18\x01 \x03(\t\x12\x46\n\x05steps\x18\x02 \x03(\x0b\x32\x37.google.api.servicemanagement.v1.OperationMetadata.Step\x12\x1b\n\x13progress_percentage\x18\x03 \x01(\x05\x12.\n\nstart_time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x1a\x66\n\x04Step\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\x12I\n\x06status\x18\x04 \x01(\x0e\x32\x39.google.api.servicemanagement.v1.OperationMetadata.Status\"g\n\x06Status\x12\x16\n\x12STATUS_UNSPECIFIED\x10\x00\x12\x08\n\x04\x44ONE\x10\x01\x12\x0f\n\x0bNOT_STARTED\x10\x02\x12\x0f\n\x0bIN_PROGRESS\x10\x03\x12\n\n\x06\x46\x41ILED\x10\x04\x12\r\n\tCANCELLED\x10\x05\"\x8f\x01\n\nDiagnostic\x12\x10\n\x08location\x18\x01 \x01(\t\x12>\n\x04kind\x18\x02 \x01(\x0e\x32\x30.google.api.servicemanagement.v1.Diagnostic.Kind\x12\x0f\n\x07message\x18\x03 \x01(\t\"\x1e\n\x04Kind\x12\x0b\n\x07WARNING\x10\x00\x12\t\n\x05\x45RROR\x10\x01\"V\n\x0c\x43onfigSource\x12\n\n\x02id\x18\x05 \x01(\t\x12:\n\x05\x66iles\x18\x02 \x03(\x0b\x32+.google.api.servicemanagement.v1.ConfigFile\"\x95\x02\n\nConfigFile\x12\x11\n\tfile_path\x18\x01 \x01(\t\x12\x15\n\rfile_contents\x18\x03 \x01(\x0c\x12G\n\tfile_type\x18\x04 \x01(\x0e\x32\x34.google.api.servicemanagement.v1.ConfigFile.FileType\"\x93\x01\n\x08\x46ileType\x12\x19\n\x15\x46ILE_TYPE_UNSPECIFIED\x10\x00\x12\x17\n\x13SERVICE_CONFIG_YAML\x10\x01\x12\x11\n\rOPEN_API_JSON\x10\x02\x12\x11\n\rOPEN_API_YAML\x10\x03\x12\x1d\n\x19\x46ILE_DESCRIPTOR_SET_PROTO\x10\x04\x12\x0e\n\nPROTO_FILE\x10\x06\"\x19\n\tConfigRef\x12\x0c\n\x04name\x18\x01 \x01(\t\"@\n\x0c\x43hangeReport\x12\x30\n\x0e\x63onfig_changes\x18\x01 \x03(\x0b\x32\x18.google.api.ConfigChange\"\xfa\x05\n\x07Rollout\x12\x18\n\nrollout_id\x18\x01 \x01(\tB\x04\xe2\x41\x01\x01\x12/\n\x0b\x63reate_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x12\n\ncreated_by\x18\x03 \x01(\t\x12\x46\n\x06status\x18\x04 \x01(\x0e\x32\x36.google.api.servicemanagement.v1.Rollout.RolloutStatus\x12\x63\n\x18traffic_percent_strategy\x18\x05 \x01(\x0b\x32?.google.api.servicemanagement.v1.Rollout.TrafficPercentStrategyH\x00\x12\x62\n\x17\x64\x65lete_service_strategy\x18\xc8\x01 \x01(\x0b\x32>.google.api.servicemanagement.v1.Rollout.DeleteServiceStrategyH\x00\x12\x14\n\x0cservice_name\x18\x08 \x01(\t\x1a\xb3\x01\n\x16TrafficPercentStrategy\x12\x65\n\x0bpercentages\x18\x01 \x03(\x0b\x32P.google.api.servicemanagement.v1.Rollout.TrafficPercentStrategy.PercentagesEntry\x1a\x32\n\x10PercentagesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x01:\x02\x38\x01\x1a\x17\n\x15\x44\x65leteServiceStrategy\"\x8d\x01\n\rRolloutStatus\x12\x1e\n\x1aROLLOUT_STATUS_UNSPECIFIED\x10\x00\x12\x0f\n\x0bIN_PROGRESS\x10\x01\x12\x0b\n\x07SUCCESS\x10\x02\x12\r\n\tCANCELLED\x10\x03\x12\n\n\x06\x46\x41ILED\x10\x04\x12\x0b\n\x07PENDING\x10\x05\x12\x16\n\x12\x46\x41ILED_ROLLED_BACK\x10\x06\x42\n\n\x08strategyB\xff\x01\n#com.google.api.servicemanagement.v1B\x0eResourcesProtoP\x01ZPgoogle.golang.org/genproto/googleapis/api/servicemanagement/v1;servicemanagement\xa2\x02\x04GASM\xaa\x02!Google.Cloud.ServiceManagement.V1\xca\x02!Google\\Cloud\\ServiceManagement\\V1\xea\x02$Google::Cloud::ServiceManagement::V1b\x06proto3')
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n/google/api/servicemanagement/v1/resources.proto\x12\x1fgoogle.api.servicemanagement.v1\x1a\x1egoogle/api/config_change.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"C\n\x0eManagedService\x12\x14\n\x0cservice_name\x18\x02 \x01(\t\x12\x1b\n\x13producer_project_id\x18\x03 \x01(\t\"\x91\x03\n\x11OperationMetadata\x12\x16\n\x0eresource_names\x18\x01 \x03(\t\x12\x46\n\x05steps\x18\x02 \x03(\x0b\x32\x37.google.api.servicemanagement.v1.OperationMetadata.Step\x12\x1b\n\x13progress_percentage\x18\x03 \x01(\x05\x12.\n\nstart_time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x1a\x66\n\x04Step\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\x12I\n\x06status\x18\x04 \x01(\x0e\x32\x39.google.api.servicemanagement.v1.OperationMetadata.Status\"g\n\x06Status\x12\x16\n\x12STATUS_UNSPECIFIED\x10\x00\x12\x08\n\x04\x44ONE\x10\x01\x12\x0f\n\x0bNOT_STARTED\x10\x02\x12\x0f\n\x0bIN_PROGRESS\x10\x03\x12\n\n\x06\x46\x41ILED\x10\x04\x12\r\n\tCANCELLED\x10\x05\"\x8f\x01\n\nDiagnostic\x12\x10\n\x08location\x18\x01 \x01(\t\x12>\n\x04kind\x18\x02 \x01(\x0e\x32\x30.google.api.servicemanagement.v1.Diagnostic.Kind\x12\x0f\n\x07message\x18\x03 \x01(\t\"\x1e\n\x04Kind\x12\x0b\n\x07WARNING\x10\x00\x12\t\n\x05\x45RROR\x10\x01\"V\n\x0c\x43onfigSource\x12\n\n\x02id\x18\x05 \x01(\t\x12:\n\x05\x66iles\x18\x02 \x03(\x0b\x32+.google.api.servicemanagement.v1.ConfigFile\"\x95\x02\n\nConfigFile\x12\x11\n\tfile_path\x18\x01 \x01(\t\x12\x15\n\rfile_contents\x18\x03 \x01(\x0c\x12G\n\tfile_type\x18\x04 \x01(\x0e\x32\x34.google.api.servicemanagement.v1.ConfigFile.FileType\"\x93\x01\n\x08\x46ileType\x12\x19\n\x15\x46ILE_TYPE_UNSPECIFIED\x10\x00\x12\x17\n\x13SERVICE_CONFIG_YAML\x10\x01\x12\x11\n\rOPEN_API_JSON\x10\x02\x12\x11\n\rOPEN_API_YAML\x10\x03\x12\x1d\n\x19\x46ILE_DESCRIPTOR_SET_PROTO\x10\x04\x12\x0e\n\nPROTO_FILE\x10\x06\"\x19\n\tConfigRef\x12\x0c\n\x04name\x18\x01 \x01(\t\"@\n\x0c\x43hangeReport\x12\x30\n\x0e\x63onfig_changes\x18\x01 \x03(\x0b\x32\x18.google.api.ConfigChange\"\xf9\x05\n\x07Rollout\x12\x17\n\nrollout_id\x18\x01 \x01(\tB\x03\xe0\x41\x01\x12/\n\x0b\x63reate_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x12\n\ncreated_by\x18\x03 \x01(\t\x12\x46\n\x06status\x18\x04 \x01(\x0e\x32\x36.google.api.servicemanagement.v1.Rollout.RolloutStatus\x12\x63\n\x18traffic_percent_strategy\x18\x05 \x01(\x0b\x32?.google.api.servicemanagement.v1.Rollout.TrafficPercentStrategyH\x00\x12\x62\n\x17\x64\x65lete_service_strategy\x18\xc8\x01 \x01(\x0b\x32>.google.api.servicemanagement.v1.Rollout.DeleteServiceStrategyH\x00\x12\x14\n\x0cservice_name\x18\x08 \x01(\t\x1a\xb3\x01\n\x16TrafficPercentStrategy\x12\x65\n\x0bpercentages\x18\x01 \x03(\x0b\x32P.google.api.servicemanagement.v1.Rollout.TrafficPercentStrategy.PercentagesEntry\x1a\x32\n\x10PercentagesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x01:\x02\x38\x01\x1a\x17\n\x15\x44\x65leteServiceStrategy\"\x8d\x01\n\rRolloutStatus\x12\x1e\n\x1aROLLOUT_STATUS_UNSPECIFIED\x10\x00\x12\x0f\n\x0bIN_PROGRESS\x10\x01\x12\x0b\n\x07SUCCESS\x10\x02\x12\r\n\tCANCELLED\x10\x03\x12\n\n\x06\x46\x41ILED\x10\x04\x12\x0b\n\x07PENDING\x10\x05\x12\x16\n\x12\x46\x41ILED_ROLLED_BACK\x10\x06\x42\n\n\x08strategyB\x82\x02\n#com.google.api.servicemanagement.v1B\x0eResourcesProtoP\x01ZScloud.google.com/go/servicemanagement/apiv1/servicemanagementpb;servicemanagementpb\xa2\x02\x04GASM\xaa\x02!Google.Cloud.ServiceManagement.V1\xca\x02!Google\\Cloud\\ServiceManagement\\V1\xea\x02$Google::Cloud::ServiceManagement::V1b\x06proto3')
_globals = globals()
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'google.api.servicemanagement.v1.resources_pb2', _globals)
if _descriptor._USE_C_DESCRIPTORS == False:
DESCRIPTOR._options = None
DESCRIPTOR._serialized_options = b'\n#com.google.api.servicemanagement.v1B\016ResourcesProtoP\001ZPgoogle.golang.org/genproto/googleapis/api/servicemanagement/v1;servicemanagement\242\002\004GASM\252\002!Google.Cloud.ServiceManagement.V1\312\002!Google\\Cloud\\ServiceManagement\\V1\352\002$Google::Cloud::ServiceManagement::V1'
DESCRIPTOR._serialized_options = b'\n#com.google.api.servicemanagement.v1B\016ResourcesProtoP\001ZScloud.google.com/go/servicemanagement/apiv1/servicemanagementpb;servicemanagementpb\242\002\004GASM\252\002!Google.Cloud.ServiceManagement.V1\312\002!Google\\Cloud\\ServiceManagement\\V1\352\002$Google::Cloud::ServiceManagement::V1'
_ROLLOUT_TRAFFICPERCENTSTRATEGY_PERCENTAGESENTRY._options = None
_ROLLOUT_TRAFFICPERCENTSTRATEGY_PERCENTAGESENTRY._serialized_options = b'8\001'
_ROLLOUT.fields_by_name['rollout_id']._options = None
_ROLLOUT.fields_by_name['rollout_id']._serialized_options = b'\342A\001\001'
_globals['_MANAGEDSERVICE']._serialized_start=410
_globals['_MANAGEDSERVICE']._serialized_end=477
_globals['_OPERATIONMETADATA']._serialized_start=480
_globals['_OPERATIONMETADATA']._serialized_end=881
_globals['_OPERATIONMETADATA_STEP']._serialized_start=674
_globals['_OPERATIONMETADATA_STEP']._serialized_end=776
_globals['_OPERATIONMETADATA_STATUS']._serialized_start=778
_globals['_OPERATIONMETADATA_STATUS']._serialized_end=881
_globals['_DIAGNOSTIC']._serialized_start=884
_globals['_DIAGNOSTIC']._serialized_end=1027
_globals['_DIAGNOSTIC_KIND']._serialized_start=997
_globals['_DIAGNOSTIC_KIND']._serialized_end=1027
_globals['_CONFIGSOURCE']._serialized_start=1029
_globals['_CONFIGSOURCE']._serialized_end=1115
_globals['_CONFIGFILE']._serialized_start=1118
_globals['_CONFIGFILE']._serialized_end=1395
_globals['_CONFIGFILE_FILETYPE']._serialized_start=1248
_globals['_CONFIGFILE_FILETYPE']._serialized_end=1395
_globals['_CONFIGREF']._serialized_start=1397
_globals['_CONFIGREF']._serialized_end=1422
_globals['_CHANGEREPORT']._serialized_start=1424
_globals['_CHANGEREPORT']._serialized_end=1488
_globals['_ROLLOUT']._serialized_start=1491
_globals['_ROLLOUT']._serialized_end=2253
_globals['_ROLLOUT_TRAFFICPERCENTSTRATEGY']._serialized_start=1893
_globals['_ROLLOUT_TRAFFICPERCENTSTRATEGY']._serialized_end=2072
_globals['_ROLLOUT_TRAFFICPERCENTSTRATEGY_PERCENTAGESENTRY']._serialized_start=2022
_globals['_ROLLOUT_TRAFFICPERCENTSTRATEGY_PERCENTAGESENTRY']._serialized_end=2072
_globals['_ROLLOUT_DELETESERVICESTRATEGY']._serialized_start=2074
_globals['_ROLLOUT_DELETESERVICESTRATEGY']._serialized_end=2097
_globals['_ROLLOUT_ROLLOUTSTATUS']._serialized_start=2100
_globals['_ROLLOUT_ROLLOUTSTATUS']._serialized_end=2241
_ROLLOUT.fields_by_name['rollout_id']._serialized_options = b'\340A\001'
_globals['_MANAGEDSERVICE']._serialized_start=182
_globals['_MANAGEDSERVICE']._serialized_end=249
_globals['_OPERATIONMETADATA']._serialized_start=252
_globals['_OPERATIONMETADATA']._serialized_end=653
_globals['_OPERATIONMETADATA_STEP']._serialized_start=446
_globals['_OPERATIONMETADATA_STEP']._serialized_end=548
_globals['_OPERATIONMETADATA_STATUS']._serialized_start=550
_globals['_OPERATIONMETADATA_STATUS']._serialized_end=653
_globals['_DIAGNOSTIC']._serialized_start=656
_globals['_DIAGNOSTIC']._serialized_end=799
_globals['_DIAGNOSTIC_KIND']._serialized_start=769
_globals['_DIAGNOSTIC_KIND']._serialized_end=799
_globals['_CONFIGSOURCE']._serialized_start=801
_globals['_CONFIGSOURCE']._serialized_end=887
_globals['_CONFIGFILE']._serialized_start=890
_globals['_CONFIGFILE']._serialized_end=1167
_globals['_CONFIGFILE_FILETYPE']._serialized_start=1020
_globals['_CONFIGFILE_FILETYPE']._serialized_end=1167
_globals['_CONFIGREF']._serialized_start=1169
_globals['_CONFIGREF']._serialized_end=1194
_globals['_CHANGEREPORT']._serialized_start=1196
_globals['_CHANGEREPORT']._serialized_end=1260
_globals['_ROLLOUT']._serialized_start=1263
_globals['_ROLLOUT']._serialized_end=2024
_globals['_ROLLOUT_TRAFFICPERCENTSTRATEGY']._serialized_start=1664
_globals['_ROLLOUT_TRAFFICPERCENTSTRATEGY']._serialized_end=1843
_globals['_ROLLOUT_TRAFFICPERCENTSTRATEGY_PERCENTAGESENTRY']._serialized_start=1793
_globals['_ROLLOUT_TRAFFICPERCENTSTRATEGY_PERCENTAGESENTRY']._serialized_end=1843
_globals['_ROLLOUT_DELETESERVICESTRATEGY']._serialized_start=1845
_globals['_ROLLOUT_DELETESERVICESTRATEGY']._serialized_end=1868
_globals['_ROLLOUT_ROLLOUTSTATUS']._serialized_start=1871
_globals['_ROLLOUT_ROLLOUTSTATUS']._serialized_end=2012
# @@protoc_insertion_point(module_scope)

File diff suppressed because one or more lines are too long

@ -17,25 +17,27 @@ from google.api import endpoint_pb2 as google_dot_api_dot_endpoint__pb2
from google.api import monitored_resource_pb2 as google_dot_api_dot_monitored__resource__pb2
from google.api import monitoring_pb2 as google_dot_api_dot_monitoring__pb2
from google.api import quota_pb2 as google_dot_api_dot_quota__pb2
from google.api import resource_pb2 as google_dot_api_dot_resource__pb2
from google.api import usage_pb2 as google_dot_api_dot_usage__pb2
from google.protobuf import api_pb2 as google_dot_protobuf_dot_api__pb2
from google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n*google/api/serviceusage/v1/resources.proto\x12\x1agoogle.api.serviceusage.v1\x1a\x15google/api/auth.proto\x1a\x1egoogle/api/documentation.proto\x1a\x19google/api/endpoint.proto\x1a#google/api/monitored_resource.proto\x1a\x1bgoogle/api/monitoring.proto\x1a\x16google/api/quota.proto\x1a\x16google/api/usage.proto\x1a\x19google/protobuf/api.proto\x1a\x1cgoogle/api/annotations.proto\"\x94\x01\n\x07Service\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0e\n\x06parent\x18\x05 \x01(\t\x12\x39\n\x06\x63onfig\x18\x02 \x01(\x0b\x32).google.api.serviceusage.v1.ServiceConfig\x12\x30\n\x05state\x18\x04 \x01(\x0e\x32!.google.api.serviceusage.v1.State\"\x95\x03\n\rServiceConfig\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05title\x18\x02 \x01(\t\x12\"\n\x04\x61pis\x18\x03 \x03(\x0b\x32\x14.google.protobuf.Api\x12\x30\n\rdocumentation\x18\x06 \x01(\x0b\x32\x19.google.api.Documentation\x12 \n\x05quota\x18\n \x01(\x0b\x32\x11.google.api.Quota\x12\x32\n\x0e\x61uthentication\x18\x0b \x01(\x0b\x32\x1a.google.api.Authentication\x12 \n\x05usage\x18\x0f \x01(\x0b\x32\x11.google.api.Usage\x12\'\n\tendpoints\x18\x12 \x03(\x0b\x32\x14.google.api.Endpoint\x12\x44\n\x13monitored_resources\x18\x19 \x03(\x0b\x32\'.google.api.MonitoredResourceDescriptor\x12*\n\nmonitoring\x18\x1c \x01(\x0b\x32\x16.google.api.Monitoring\"+\n\x11OperationMetadata\x12\x16\n\x0eresource_names\x18\x02 \x03(\t*9\n\x05State\x12\x15\n\x11STATE_UNSPECIFIED\x10\x00\x12\x0c\n\x08\x44ISABLED\x10\x01\x12\x0b\n\x07\x45NABLED\x10\x02\x42\xda\x01\n\x1e\x63om.google.api.serviceusage.v1B\x0eResourcesProtoP\x01ZFgoogle.golang.org/genproto/googleapis/api/serviceusage/v1;serviceusage\xaa\x02\x1cGoogle.Cloud.ServiceUsage.V1\xca\x02\x1cGoogle\\Cloud\\ServiceUsage\\V1\xea\x02\x1fGoogle::Cloud::ServiceUsage::V1b\x06proto3')
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n*google/api/serviceusage/v1/resources.proto\x12\x1agoogle.api.serviceusage.v1\x1a\x15google/api/auth.proto\x1a\x1egoogle/api/documentation.proto\x1a\x19google/api/endpoint.proto\x1a#google/api/monitored_resource.proto\x1a\x1bgoogle/api/monitoring.proto\x1a\x16google/api/quota.proto\x1a\x19google/api/resource.proto\x1a\x16google/api/usage.proto\x1a\x19google/protobuf/api.proto\"\xbd\x02\n\x07Service\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0e\n\x06parent\x18\x05 \x01(\t\x12\x39\n\x06\x63onfig\x18\x02 \x01(\x0b\x32).google.api.serviceusage.v1.ServiceConfig\x12\x30\n\x05state\x18\x04 \x01(\x0e\x32!.google.api.serviceusage.v1.State:\xa6\x01\xea\x41\xa2\x01\n#serviceusage.googleapis.com/Service\x12%projects/{project}/services/{service}\x12#folders/{folder}/services/{service}\x12/organizations/{organization}/services/{service}\"\x95\x03\n\rServiceConfig\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05title\x18\x02 \x01(\t\x12\"\n\x04\x61pis\x18\x03 \x03(\x0b\x32\x14.google.protobuf.Api\x12\x30\n\rdocumentation\x18\x06 \x01(\x0b\x32\x19.google.api.Documentation\x12 \n\x05quota\x18\n \x01(\x0b\x32\x11.google.api.Quota\x12\x32\n\x0e\x61uthentication\x18\x0b \x01(\x0b\x32\x1a.google.api.Authentication\x12 \n\x05usage\x18\x0f \x01(\x0b\x32\x11.google.api.Usage\x12\'\n\tendpoints\x18\x12 \x03(\x0b\x32\x14.google.api.Endpoint\x12\x44\n\x13monitored_resources\x18\x19 \x03(\x0b\x32\'.google.api.MonitoredResourceDescriptor\x12*\n\nmonitoring\x18\x1c \x01(\x0b\x32\x16.google.api.Monitoring\"+\n\x11OperationMetadata\x12\x16\n\x0eresource_names\x18\x02 \x03(\t*9\n\x05State\x12\x15\n\x11STATE_UNSPECIFIED\x10\x00\x12\x0c\n\x08\x44ISABLED\x10\x01\x12\x0b\n\x07\x45NABLED\x10\x02\x42\xd8\x01\n\x1e\x63om.google.api.serviceusage.v1B\x0eResourcesProtoP\x01ZDcloud.google.com/go/serviceusage/apiv1/serviceusagepb;serviceusagepb\xaa\x02\x1cGoogle.Cloud.ServiceUsage.V1\xca\x02\x1cGoogle\\Cloud\\ServiceUsage\\V1\xea\x02\x1fGoogle::Cloud::ServiceUsage::V1b\x06proto3')
_globals = globals()
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'google.api.serviceusage.v1.resources_pb2', _globals)
if _descriptor._USE_C_DESCRIPTORS == False:
DESCRIPTOR._options = None
DESCRIPTOR._serialized_options = b'\n\036com.google.api.serviceusage.v1B\016ResourcesProtoP\001ZFgoogle.golang.org/genproto/googleapis/api/serviceusage/v1;serviceusage\252\002\034Google.Cloud.ServiceUsage.V1\312\002\034Google\\Cloud\\ServiceUsage\\V1\352\002\037Google::Cloud::ServiceUsage::V1'
_globals['_STATE']._serialized_start=931
_globals['_STATE']._serialized_end=988
_globals['_SERVICE']._serialized_start=328
_globals['_SERVICE']._serialized_end=476
_globals['_SERVICECONFIG']._serialized_start=479
_globals['_SERVICECONFIG']._serialized_end=884
_globals['_OPERATIONMETADATA']._serialized_start=886
_globals['_OPERATIONMETADATA']._serialized_end=929
DESCRIPTOR._serialized_options = b'\n\036com.google.api.serviceusage.v1B\016ResourcesProtoP\001ZDcloud.google.com/go/serviceusage/apiv1/serviceusagepb;serviceusagepb\252\002\034Google.Cloud.ServiceUsage.V1\312\002\034Google\\Cloud\\ServiceUsage\\V1\352\002\037Google::Cloud::ServiceUsage::V1'
_SERVICE._options = None
_SERVICE._serialized_options = b'\352A\242\001\n#serviceusage.googleapis.com/Service\022%projects/{project}/services/{service}\022#folders/{folder}/services/{service}\022/organizations/{organization}/services/{service}'
_globals['_STATE']._serialized_start=1097
_globals['_STATE']._serialized_end=1154
_globals['_SERVICE']._serialized_start=325
_globals['_SERVICE']._serialized_end=642
_globals['_SERVICECONFIG']._serialized_start=645
_globals['_SERVICECONFIG']._serialized_end=1050
_globals['_OPERATIONMETADATA']._serialized_start=1052
_globals['_OPERATIONMETADATA']._serialized_end=1095
# @@protoc_insertion_point(module_scope)

@ -12,19 +12,19 @@ _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.api.serviceusage.v1 import resources_pb2 as google_dot_api_dot_serviceusage_dot_v1_dot_resources__pb2
from google.longrunning import operations_pb2 as google_dot_longrunning_dot_operations__pb2
from google.api import client_pb2 as google_dot_api_dot_client__pb2
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n-google/api/serviceusage/v1/serviceusage.proto\x12\x1agoogle.api.serviceusage.v1\x1a\x1cgoogle/api/annotations.proto\x1a*google/api/serviceusage/v1/resources.proto\x1a#google/longrunning/operations.proto\x1a\x17google/api/client.proto\"$\n\x14\x45nableServiceRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\"M\n\x15\x45nableServiceResponse\x12\x34\n\x07service\x18\x01 \x01(\x0b\x32#.google.api.serviceusage.v1.Service\"\x92\x02\n\x15\x44isableServiceRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\"\n\x1a\x64isable_dependent_services\x18\x02 \x01(\x08\x12l\n\x1a\x63heck_if_service_has_usage\x18\x03 \x01(\x0e\x32H.google.api.serviceusage.v1.DisableServiceRequest.CheckIfServiceHasUsage\"Y\n\x16\x43heckIfServiceHasUsage\x12*\n&CHECK_IF_SERVICE_HAS_USAGE_UNSPECIFIED\x10\x00\x12\x08\n\x04SKIP\x10\x01\x12\t\n\x05\x43HECK\x10\x02\"N\n\x16\x44isableServiceResponse\x12\x34\n\x07service\x18\x01 \x01(\x0b\x32#.google.api.serviceusage.v1.Service\"!\n\x11GetServiceRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\"\\\n\x13ListServicesRequest\x12\x0e\n\x06parent\x18\x01 \x01(\t\x12\x11\n\tpage_size\x18\x02 \x01(\x05\x12\x12\n\npage_token\x18\x03 \x01(\t\x12\x0e\n\x06\x66ilter\x18\x04 \x01(\t\"f\n\x14ListServicesResponse\x12\x35\n\x08services\x18\x01 \x03(\x0b\x32#.google.api.serviceusage.v1.Service\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\"A\n\x1a\x42\x61tchEnableServicesRequest\x12\x0e\n\x06parent\x18\x01 \x01(\t\x12\x13\n\x0bservice_ids\x18\x02 \x03(\t\"\xe9\x01\n\x1b\x42\x61tchEnableServicesResponse\x12\x35\n\x08services\x18\x01 \x03(\x0b\x32#.google.api.serviceusage.v1.Service\x12W\n\x08\x66\x61ilures\x18\x02 \x03(\x0b\x32\x45.google.api.serviceusage.v1.BatchEnableServicesResponse.EnableFailure\x1a:\n\rEnableFailure\x12\x12\n\nservice_id\x18\x01 \x01(\t\x12\x15\n\rerror_message\x18\x02 \x01(\t\"8\n\x17\x42\x61tchGetServicesRequest\x12\x0e\n\x06parent\x18\x01 \x01(\t\x12\r\n\x05names\x18\x02 \x03(\t\"Q\n\x18\x42\x61tchGetServicesResponse\x12\x35\n\x08services\x18\x01 \x03(\x0b\x32#.google.api.serviceusage.v1.Service2\xe8\t\n\x0cServiceUsage\x12\xba\x01\n\rEnableService\x12\x30.google.api.serviceusage.v1.EnableServiceRequest\x1a\x1d.google.longrunning.Operation\"X\xca\x41*\n\x15\x45nableServiceResponse\x12\x11OperationMetadata\x82\xd3\xe4\x93\x02%\" /v1/{name=*/*/services/*}:enable:\x01*\x12\xbe\x01\n\x0e\x44isableService\x12\x31.google.api.serviceusage.v1.DisableServiceRequest\x1a\x1d.google.longrunning.Operation\"Z\xca\x41+\n\x16\x44isableServiceResponse\x12\x11OperationMetadata\x82\xd3\xe4\x93\x02&\"!/v1/{name=*/*/services/*}:disable:\x01*\x12\x83\x01\n\nGetService\x12-.google.api.serviceusage.v1.GetServiceRequest\x1a#.google.api.serviceusage.v1.Service\"!\x82\xd3\xe4\x93\x02\x1b\x12\x19/v1/{name=*/*/services/*}\x12\x94\x01\n\x0cListServices\x12/.google.api.serviceusage.v1.ListServicesRequest\x1a\x30.google.api.serviceusage.v1.ListServicesResponse\"!\x82\xd3\xe4\x93\x02\x1b\x12\x19/v1/{parent=*/*}/services\x12\xd1\x01\n\x13\x42\x61tchEnableServices\x12\x36.google.api.serviceusage.v1.BatchEnableServicesRequest\x1a\x1d.google.longrunning.Operation\"c\xca\x41\x30\n\x1b\x42\x61tchEnableServicesResponse\x12\x11OperationMetadata\x82\xd3\xe4\x93\x02*\"%/v1/{parent=*/*}/services:batchEnable:\x01*\x12\xa9\x01\n\x10\x42\x61tchGetServices\x12\x33.google.api.serviceusage.v1.BatchGetServicesRequest\x1a\x34.google.api.serviceusage.v1.BatchGetServicesResponse\"*\x82\xd3\xe4\x93\x02$\x12\"/v1/{parent=*/*}/services:batchGet\x1a\xbc\x01\xca\x41\x1bserviceusage.googleapis.com\xd2\x41\x9a\x01https://www.googleapis.com/auth/cloud-platform,https://www.googleapis.com/auth/cloud-platform.read-only,https://www.googleapis.com/auth/service.managementB\xdd\x01\n\x1e\x63om.google.api.serviceusage.v1B\x11ServiceUsageProtoP\x01ZFgoogle.golang.org/genproto/googleapis/api/serviceusage/v1;serviceusage\xaa\x02\x1cGoogle.Cloud.ServiceUsage.V1\xca\x02\x1cGoogle\\Cloud\\ServiceUsage\\V1\xea\x02\x1fGoogle::Cloud::ServiceUsage::V1b\x06proto3')
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n-google/api/serviceusage/v1/serviceusage.proto\x12\x1agoogle.api.serviceusage.v1\x1a\x1cgoogle/api/annotations.proto\x1a\x17google/api/client.proto\x1a*google/api/serviceusage/v1/resources.proto\x1a#google/longrunning/operations.proto\"$\n\x14\x45nableServiceRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\"M\n\x15\x45nableServiceResponse\x12\x34\n\x07service\x18\x01 \x01(\x0b\x32#.google.api.serviceusage.v1.Service\"\x92\x02\n\x15\x44isableServiceRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\"\n\x1a\x64isable_dependent_services\x18\x02 \x01(\x08\x12l\n\x1a\x63heck_if_service_has_usage\x18\x03 \x01(\x0e\x32H.google.api.serviceusage.v1.DisableServiceRequest.CheckIfServiceHasUsage\"Y\n\x16\x43heckIfServiceHasUsage\x12*\n&CHECK_IF_SERVICE_HAS_USAGE_UNSPECIFIED\x10\x00\x12\x08\n\x04SKIP\x10\x01\x12\t\n\x05\x43HECK\x10\x02\"N\n\x16\x44isableServiceResponse\x12\x34\n\x07service\x18\x01 \x01(\x0b\x32#.google.api.serviceusage.v1.Service\"!\n\x11GetServiceRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\"\\\n\x13ListServicesRequest\x12\x0e\n\x06parent\x18\x01 \x01(\t\x12\x11\n\tpage_size\x18\x02 \x01(\x05\x12\x12\n\npage_token\x18\x03 \x01(\t\x12\x0e\n\x06\x66ilter\x18\x04 \x01(\t\"f\n\x14ListServicesResponse\x12\x35\n\x08services\x18\x01 \x03(\x0b\x32#.google.api.serviceusage.v1.Service\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\"A\n\x1a\x42\x61tchEnableServicesRequest\x12\x0e\n\x06parent\x18\x01 \x01(\t\x12\x13\n\x0bservice_ids\x18\x02 \x03(\t\"\xe9\x01\n\x1b\x42\x61tchEnableServicesResponse\x12\x35\n\x08services\x18\x01 \x03(\x0b\x32#.google.api.serviceusage.v1.Service\x12W\n\x08\x66\x61ilures\x18\x02 \x03(\x0b\x32\x45.google.api.serviceusage.v1.BatchEnableServicesResponse.EnableFailure\x1a:\n\rEnableFailure\x12\x12\n\nservice_id\x18\x01 \x01(\t\x12\x15\n\rerror_message\x18\x02 \x01(\t\"8\n\x17\x42\x61tchGetServicesRequest\x12\x0e\n\x06parent\x18\x01 \x01(\t\x12\r\n\x05names\x18\x02 \x03(\t\"Q\n\x18\x42\x61tchGetServicesResponse\x12\x35\n\x08services\x18\x01 \x03(\x0b\x32#.google.api.serviceusage.v1.Service2\xe8\t\n\x0cServiceUsage\x12\xba\x01\n\rEnableService\x12\x30.google.api.serviceusage.v1.EnableServiceRequest\x1a\x1d.google.longrunning.Operation\"X\xca\x41*\n\x15\x45nableServiceResponse\x12\x11OperationMetadata\x82\xd3\xe4\x93\x02%\" /v1/{name=*/*/services/*}:enable:\x01*\x12\xbe\x01\n\x0e\x44isableService\x12\x31.google.api.serviceusage.v1.DisableServiceRequest\x1a\x1d.google.longrunning.Operation\"Z\xca\x41+\n\x16\x44isableServiceResponse\x12\x11OperationMetadata\x82\xd3\xe4\x93\x02&\"!/v1/{name=*/*/services/*}:disable:\x01*\x12\x83\x01\n\nGetService\x12-.google.api.serviceusage.v1.GetServiceRequest\x1a#.google.api.serviceusage.v1.Service\"!\x82\xd3\xe4\x93\x02\x1b\x12\x19/v1/{name=*/*/services/*}\x12\x94\x01\n\x0cListServices\x12/.google.api.serviceusage.v1.ListServicesRequest\x1a\x30.google.api.serviceusage.v1.ListServicesResponse\"!\x82\xd3\xe4\x93\x02\x1b\x12\x19/v1/{parent=*/*}/services\x12\xd1\x01\n\x13\x42\x61tchEnableServices\x12\x36.google.api.serviceusage.v1.BatchEnableServicesRequest\x1a\x1d.google.longrunning.Operation\"c\xca\x41\x30\n\x1b\x42\x61tchEnableServicesResponse\x12\x11OperationMetadata\x82\xd3\xe4\x93\x02*\"%/v1/{parent=*/*}/services:batchEnable:\x01*\x12\xa9\x01\n\x10\x42\x61tchGetServices\x12\x33.google.api.serviceusage.v1.BatchGetServicesRequest\x1a\x34.google.api.serviceusage.v1.BatchGetServicesResponse\"*\x82\xd3\xe4\x93\x02$\x12\"/v1/{parent=*/*}/services:batchGet\x1a\xbc\x01\xca\x41\x1bserviceusage.googleapis.com\xd2\x41\x9a\x01https://www.googleapis.com/auth/cloud-platform,https://www.googleapis.com/auth/cloud-platform.read-only,https://www.googleapis.com/auth/service.managementB\xdb\x01\n\x1e\x63om.google.api.serviceusage.v1B\x11ServiceUsageProtoP\x01ZDcloud.google.com/go/serviceusage/apiv1/serviceusagepb;serviceusagepb\xaa\x02\x1cGoogle.Cloud.ServiceUsage.V1\xca\x02\x1cGoogle\\Cloud\\ServiceUsage\\V1\xea\x02\x1fGoogle::Cloud::ServiceUsage::V1b\x06proto3')
_globals = globals()
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'google.api.serviceusage.v1.serviceusage_pb2', _globals)
if _descriptor._USE_C_DESCRIPTORS == False:
DESCRIPTOR._options = None
DESCRIPTOR._serialized_options = b'\n\036com.google.api.serviceusage.v1B\021ServiceUsageProtoP\001ZFgoogle.golang.org/genproto/googleapis/api/serviceusage/v1;serviceusage\252\002\034Google.Cloud.ServiceUsage.V1\312\002\034Google\\Cloud\\ServiceUsage\\V1\352\002\037Google::Cloud::ServiceUsage::V1'
DESCRIPTOR._serialized_options = b'\n\036com.google.api.serviceusage.v1B\021ServiceUsageProtoP\001ZDcloud.google.com/go/serviceusage/apiv1/serviceusagepb;serviceusagepb\252\002\034Google.Cloud.ServiceUsage.V1\312\002\034Google\\Cloud\\ServiceUsage\\V1\352\002\037Google::Cloud::ServiceUsage::V1'
_SERVICEUSAGE._options = None
_SERVICEUSAGE._serialized_options = b'\312A\033serviceusage.googleapis.com\322A\232\001https://www.googleapis.com/auth/cloud-platform,https://www.googleapis.com/auth/cloud-platform.read-only,https://www.googleapis.com/auth/service.management'
_SERVICEUSAGE.methods_by_name['EnableService']._options = None

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

@ -12,10 +12,9 @@ _sym_db = _symbol_database.Default()
from google.protobuf import duration_pb2 as google_dot_protobuf_dot_duration__pb2
from google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n&google/logging/type/http_request.proto\x12\x13google.logging.type\x1a\x1egoogle/protobuf/duration.proto\x1a\x1cgoogle/api/annotations.proto\"\xef\x02\n\x0bHttpRequest\x12\x16\n\x0erequest_method\x18\x01 \x01(\t\x12\x13\n\x0brequest_url\x18\x02 \x01(\t\x12\x14\n\x0crequest_size\x18\x03 \x01(\x03\x12\x0e\n\x06status\x18\x04 \x01(\x05\x12\x15\n\rresponse_size\x18\x05 \x01(\x03\x12\x12\n\nuser_agent\x18\x06 \x01(\t\x12\x11\n\tremote_ip\x18\x07 \x01(\t\x12\x11\n\tserver_ip\x18\r \x01(\t\x12\x0f\n\x07referer\x18\x08 \x01(\t\x12*\n\x07latency\x18\x0e \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x14\n\x0c\x63\x61\x63he_lookup\x18\x0b \x01(\x08\x12\x11\n\tcache_hit\x18\t \x01(\x08\x12*\n\"cache_validated_with_origin_server\x18\n \x01(\x08\x12\x18\n\x10\x63\x61\x63he_fill_bytes\x18\x0c \x01(\x03\x12\x10\n\x08protocol\x18\x0f \x01(\tB\xbe\x01\n\x17\x63om.google.logging.typeB\x10HttpRequestProtoP\x01Z8google.golang.org/genproto/googleapis/logging/type;ltype\xaa\x02\x19Google.Cloud.Logging.Type\xca\x02\x19Google\\Cloud\\Logging\\Type\xea\x02\x1cGoogle::Cloud::Logging::Typeb\x06proto3')
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n&google/logging/type/http_request.proto\x12\x13google.logging.type\x1a\x1egoogle/protobuf/duration.proto\"\xef\x02\n\x0bHttpRequest\x12\x16\n\x0erequest_method\x18\x01 \x01(\t\x12\x13\n\x0brequest_url\x18\x02 \x01(\t\x12\x14\n\x0crequest_size\x18\x03 \x01(\x03\x12\x0e\n\x06status\x18\x04 \x01(\x05\x12\x15\n\rresponse_size\x18\x05 \x01(\x03\x12\x12\n\nuser_agent\x18\x06 \x01(\t\x12\x11\n\tremote_ip\x18\x07 \x01(\t\x12\x11\n\tserver_ip\x18\r \x01(\t\x12\x0f\n\x07referer\x18\x08 \x01(\t\x12*\n\x07latency\x18\x0e \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x14\n\x0c\x63\x61\x63he_lookup\x18\x0b \x01(\x08\x12\x11\n\tcache_hit\x18\t \x01(\x08\x12*\n\"cache_validated_with_origin_server\x18\n \x01(\x08\x12\x18\n\x10\x63\x61\x63he_fill_bytes\x18\x0c \x01(\x03\x12\x10\n\x08protocol\x18\x0f \x01(\tB\xbe\x01\n\x17\x63om.google.logging.typeB\x10HttpRequestProtoP\x01Z8google.golang.org/genproto/googleapis/logging/type;ltype\xaa\x02\x19Google.Cloud.Logging.Type\xca\x02\x19Google\\Cloud\\Logging\\Type\xea\x02\x1cGoogle::Cloud::Logging::Typeb\x06proto3')
_globals = globals()
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
@ -23,6 +22,6 @@ _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'google.logging.type.http_re
if _descriptor._USE_C_DESCRIPTORS == False:
DESCRIPTOR._options = None
DESCRIPTOR._serialized_options = b'\n\027com.google.logging.typeB\020HttpRequestProtoP\001Z8google.golang.org/genproto/googleapis/logging/type;ltype\252\002\031Google.Cloud.Logging.Type\312\002\031Google\\Cloud\\Logging\\Type\352\002\034Google::Cloud::Logging::Type'
_globals['_HTTPREQUEST']._serialized_start=126
_globals['_HTTPREQUEST']._serialized_end=493
_globals['_HTTPREQUEST']._serialized_start=96
_globals['_HTTPREQUEST']._serialized_end=463
# @@protoc_insertion_point(module_scope)

@ -11,17 +11,16 @@ from google.protobuf.internal import builder as _builder
_sym_db = _symbol_database.Default()
from google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n&google/logging/type/log_severity.proto\x12\x13google.logging.type\x1a\x1cgoogle/api/annotations.proto*\x82\x01\n\x0bLogSeverity\x12\x0b\n\x07\x44\x45\x46\x41ULT\x10\x00\x12\t\n\x05\x44\x45\x42UG\x10\x64\x12\t\n\x04INFO\x10\xc8\x01\x12\x0b\n\x06NOTICE\x10\xac\x02\x12\x0c\n\x07WARNING\x10\x90\x03\x12\n\n\x05\x45RROR\x10\xf4\x03\x12\r\n\x08\x43RITICAL\x10\xd8\x04\x12\n\n\x05\x41LERT\x10\xbc\x05\x12\x0e\n\tEMERGENCY\x10\xa0\x06\x42\xbe\x01\n\x17\x63om.google.logging.typeB\x10LogSeverityProtoP\x01Z8google.golang.org/genproto/googleapis/logging/type;ltype\xaa\x02\x19Google.Cloud.Logging.Type\xca\x02\x19Google\\Cloud\\Logging\\Type\xea\x02\x1cGoogle::Cloud::Logging::Typeb\x06proto3')
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n&google/logging/type/log_severity.proto\x12\x13google.logging.type*\x82\x01\n\x0bLogSeverity\x12\x0b\n\x07\x44\x45\x46\x41ULT\x10\x00\x12\t\n\x05\x44\x45\x42UG\x10\x64\x12\t\n\x04INFO\x10\xc8\x01\x12\x0b\n\x06NOTICE\x10\xac\x02\x12\x0c\n\x07WARNING\x10\x90\x03\x12\n\n\x05\x45RROR\x10\xf4\x03\x12\r\n\x08\x43RITICAL\x10\xd8\x04\x12\n\n\x05\x41LERT\x10\xbc\x05\x12\x0e\n\tEMERGENCY\x10\xa0\x06\x42\xc5\x01\n\x17\x63om.google.logging.typeB\x10LogSeverityProtoP\x01Z8google.golang.org/genproto/googleapis/logging/type;ltype\xa2\x02\x04GLOG\xaa\x02\x19Google.Cloud.Logging.Type\xca\x02\x19Google\\Cloud\\Logging\\Type\xea\x02\x1cGoogle::Cloud::Logging::Typeb\x06proto3')
_globals = globals()
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'google.logging.type.log_severity_pb2', _globals)
if _descriptor._USE_C_DESCRIPTORS == False:
DESCRIPTOR._options = None
DESCRIPTOR._serialized_options = b'\n\027com.google.logging.typeB\020LogSeverityProtoP\001Z8google.golang.org/genproto/googleapis/logging/type;ltype\252\002\031Google.Cloud.Logging.Type\312\002\031Google\\Cloud\\Logging\\Type\352\002\034Google::Cloud::Logging::Type'
_globals['_LOGSEVERITY']._serialized_start=94
_globals['_LOGSEVERITY']._serialized_end=224
DESCRIPTOR._serialized_options = b'\n\027com.google.logging.typeB\020LogSeverityProtoP\001Z8google.golang.org/genproto/googleapis/logging/type;ltype\242\002\004GLOG\252\002\031Google.Cloud.Logging.Type\312\002\031Google\\Cloud\\Logging\\Type\352\002\034Google::Cloud::Logging::Type'
_globals['_LOGSEVERITY']._serialized_start=64
_globals['_LOGSEVERITY']._serialized_end=194
# @@protoc_insertion_point(module_scope)

@ -19,68 +19,70 @@ from google.logging.type import log_severity_pb2 as google_dot_logging_dot_type_
from google.protobuf import any_pb2 as google_dot_protobuf_dot_any__pb2
from google.protobuf import struct_pb2 as google_dot_protobuf_dot_struct__pb2
from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2
from google.rpc import status_pb2 as google_dot_rpc_dot_status__pb2
from google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n!google/logging/v2/log_entry.proto\x12\x11google.logging.v2\x1a\x1fgoogle/api/field_behavior.proto\x1a#google/api/monitored_resource.proto\x1a\x19google/api/resource.proto\x1a&google/logging/type/http_request.proto\x1a&google/logging/type/log_severity.proto\x1a\x19google/protobuf/any.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x17google/rpc/status.proto\x1a\x1cgoogle/api/annotations.proto\"\xdf\x07\n\x08LogEntry\x12\x16\n\x08log_name\x18\x0c \x01(\tB\x04\xe2\x41\x01\x02\x12\x35\n\x08resource\x18\x08 \x01(\x0b\x32\x1d.google.api.MonitoredResourceB\x04\xe2\x41\x01\x02\x12-\n\rproto_payload\x18\x02 \x01(\x0b\x32\x14.google.protobuf.AnyH\x00\x12\x16\n\x0ctext_payload\x18\x03 \x01(\tH\x00\x12/\n\x0cjson_payload\x18\x06 \x01(\x0b\x32\x17.google.protobuf.StructH\x00\x12\x33\n\ttimestamp\x18\t \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x04\xe2\x41\x01\x01\x12;\n\x11receive_timestamp\x18\x18 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x04\xe2\x41\x01\x03\x12\x38\n\x08severity\x18\n \x01(\x0e\x32 .google.logging.type.LogSeverityB\x04\xe2\x41\x01\x01\x12\x17\n\tinsert_id\x18\x04 \x01(\tB\x04\xe2\x41\x01\x01\x12<\n\x0chttp_request\x18\x07 \x01(\x0b\x32 .google.logging.type.HttpRequestB\x04\xe2\x41\x01\x01\x12=\n\x06labels\x18\x0b \x03(\x0b\x32\'.google.logging.v2.LogEntry.LabelsEntryB\x04\xe2\x41\x01\x01\x12=\n\toperation\x18\x0f \x01(\x0b\x32$.google.logging.v2.LogEntryOperationB\x04\xe2\x41\x01\x01\x12\x13\n\x05trace\x18\x16 \x01(\tB\x04\xe2\x41\x01\x01\x12\x15\n\x07span_id\x18\x1b \x01(\tB\x04\xe2\x41\x01\x01\x12\x1b\n\rtrace_sampled\x18\x1e \x01(\x08\x42\x04\xe2\x41\x01\x01\x12H\n\x0fsource_location\x18\x17 \x01(\x0b\x32).google.logging.v2.LogEntrySourceLocationB\x04\xe2\x41\x01\x01\x1a-\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01:\xbd\x01\xea\x41\xb9\x01\n\x1alogging.googleapis.com/Log\x12\x1dprojects/{project}/logs/{log}\x12\'organizations/{organization}/logs/{log}\x12\x1b\x66olders/{folder}/logs/{log}\x12,billingAccounts/{billing_account}/logs/{log}\x1a\x08log_nameB\t\n\x07payload\"f\n\x11LogEntryOperation\x12\x10\n\x02id\x18\x01 \x01(\tB\x04\xe2\x41\x01\x01\x12\x16\n\x08producer\x18\x02 \x01(\tB\x04\xe2\x41\x01\x01\x12\x13\n\x05\x66irst\x18\x03 \x01(\x08\x42\x04\xe2\x41\x01\x01\x12\x12\n\x04last\x18\x04 \x01(\x08\x42\x04\xe2\x41\x01\x01\"X\n\x16LogEntrySourceLocation\x12\x12\n\x04\x66ile\x18\x01 \x01(\tB\x04\xe2\x41\x01\x01\x12\x12\n\x04line\x18\x02 \x01(\x03\x42\x04\xe2\x41\x01\x01\x12\x16\n\x08\x66unction\x18\x03 \x01(\tB\x04\xe2\x41\x01\x01\x42\xb6\x01\n\x15\x63om.google.logging.v2B\rLogEntryProtoP\x01Z8google.golang.org/genproto/googleapis/logging/v2;logging\xf8\x01\x01\xaa\x02\x17Google.Cloud.Logging.V2\xca\x02\x17Google\\Cloud\\Logging\\V2\xea\x02\x1aGoogle::Cloud::Logging::V2b\x06proto3')
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n!google/logging/v2/log_entry.proto\x12\x11google.logging.v2\x1a\x1fgoogle/api/field_behavior.proto\x1a#google/api/monitored_resource.proto\x1a\x19google/api/resource.proto\x1a&google/logging/type/http_request.proto\x1a&google/logging/type/log_severity.proto\x1a\x19google/protobuf/any.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\x83\x08\n\x08LogEntry\x12\x15\n\x08log_name\x18\x0c \x01(\tB\x03\xe0\x41\x02\x12\x34\n\x08resource\x18\x08 \x01(\x0b\x32\x1d.google.api.MonitoredResourceB\x03\xe0\x41\x02\x12-\n\rproto_payload\x18\x02 \x01(\x0b\x32\x14.google.protobuf.AnyH\x00\x12\x16\n\x0ctext_payload\x18\x03 \x01(\tH\x00\x12/\n\x0cjson_payload\x18\x06 \x01(\x0b\x32\x17.google.protobuf.StructH\x00\x12\x32\n\ttimestamp\x18\t \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x01\x12:\n\x11receive_timestamp\x18\x18 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x37\n\x08severity\x18\n \x01(\x0e\x32 .google.logging.type.LogSeverityB\x03\xe0\x41\x01\x12\x16\n\tinsert_id\x18\x04 \x01(\tB\x03\xe0\x41\x01\x12;\n\x0chttp_request\x18\x07 \x01(\x0b\x32 .google.logging.type.HttpRequestB\x03\xe0\x41\x01\x12<\n\x06labels\x18\x0b \x03(\x0b\x32\'.google.logging.v2.LogEntry.LabelsEntryB\x03\xe0\x41\x01\x12<\n\toperation\x18\x0f \x01(\x0b\x32$.google.logging.v2.LogEntryOperationB\x03\xe0\x41\x01\x12\x12\n\x05trace\x18\x16 \x01(\tB\x03\xe0\x41\x01\x12\x14\n\x07span_id\x18\x1b \x01(\tB\x03\xe0\x41\x01\x12\x1a\n\rtrace_sampled\x18\x1e \x01(\x08\x42\x03\xe0\x41\x01\x12G\n\x0fsource_location\x18\x17 \x01(\x0b\x32).google.logging.v2.LogEntrySourceLocationB\x03\xe0\x41\x01\x12/\n\x05split\x18# \x01(\x0b\x32\x1b.google.logging.v2.LogSplitB\x03\xe0\x41\x01\x1a-\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01:\xbd\x01\xea\x41\xb9\x01\n\x1alogging.googleapis.com/Log\x12\x1dprojects/{project}/logs/{log}\x12\'organizations/{organization}/logs/{log}\x12\x1b\x66olders/{folder}/logs/{log}\x12,billingAccounts/{billing_account}/logs/{log}\x1a\x08log_nameB\t\n\x07payload\"b\n\x11LogEntryOperation\x12\x0f\n\x02id\x18\x01 \x01(\tB\x03\xe0\x41\x01\x12\x15\n\x08producer\x18\x02 \x01(\tB\x03\xe0\x41\x01\x12\x12\n\x05\x66irst\x18\x03 \x01(\x08\x42\x03\xe0\x41\x01\x12\x11\n\x04last\x18\x04 \x01(\x08\x42\x03\xe0\x41\x01\"U\n\x16LogEntrySourceLocation\x12\x11\n\x04\x66ile\x18\x01 \x01(\tB\x03\xe0\x41\x01\x12\x11\n\x04line\x18\x02 \x01(\x03\x42\x03\xe0\x41\x01\x12\x15\n\x08\x66unction\x18\x03 \x01(\tB\x03\xe0\x41\x01\"<\n\x08LogSplit\x12\x0b\n\x03uid\x18\x01 \x01(\t\x12\r\n\x05index\x18\x02 \x01(\x05\x12\x14\n\x0ctotal_splits\x18\x03 \x01(\x05\x42\xb3\x01\n\x15\x63om.google.logging.v2B\rLogEntryProtoP\x01Z5cloud.google.com/go/logging/apiv2/loggingpb;loggingpb\xf8\x01\x01\xaa\x02\x17Google.Cloud.Logging.V2\xca\x02\x17Google\\Cloud\\Logging\\V2\xea\x02\x1aGoogle::Cloud::Logging::V2b\x06proto3')
_globals = globals()
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'google.logging.v2.log_entry_pb2', _globals)
if _descriptor._USE_C_DESCRIPTORS == False:
DESCRIPTOR._options = None
DESCRIPTOR._serialized_options = b'\n\025com.google.logging.v2B\rLogEntryProtoP\001Z8google.golang.org/genproto/googleapis/logging/v2;logging\370\001\001\252\002\027Google.Cloud.Logging.V2\312\002\027Google\\Cloud\\Logging\\V2\352\002\032Google::Cloud::Logging::V2'
DESCRIPTOR._serialized_options = b'\n\025com.google.logging.v2B\rLogEntryProtoP\001Z5cloud.google.com/go/logging/apiv2/loggingpb;loggingpb\370\001\001\252\002\027Google.Cloud.Logging.V2\312\002\027Google\\Cloud\\Logging\\V2\352\002\032Google::Cloud::Logging::V2'
_LOGENTRY_LABELSENTRY._options = None
_LOGENTRY_LABELSENTRY._serialized_options = b'8\001'
_LOGENTRY.fields_by_name['log_name']._options = None
_LOGENTRY.fields_by_name['log_name']._serialized_options = b'\342A\001\002'
_LOGENTRY.fields_by_name['log_name']._serialized_options = b'\340A\002'
_LOGENTRY.fields_by_name['resource']._options = None
_LOGENTRY.fields_by_name['resource']._serialized_options = b'\342A\001\002'
_LOGENTRY.fields_by_name['resource']._serialized_options = b'\340A\002'
_LOGENTRY.fields_by_name['timestamp']._options = None
_LOGENTRY.fields_by_name['timestamp']._serialized_options = b'\342A\001\001'
_LOGENTRY.fields_by_name['timestamp']._serialized_options = b'\340A\001'
_LOGENTRY.fields_by_name['receive_timestamp']._options = None
_LOGENTRY.fields_by_name['receive_timestamp']._serialized_options = b'\342A\001\003'
_LOGENTRY.fields_by_name['receive_timestamp']._serialized_options = b'\340A\003'
_LOGENTRY.fields_by_name['severity']._options = None
_LOGENTRY.fields_by_name['severity']._serialized_options = b'\342A\001\001'
_LOGENTRY.fields_by_name['severity']._serialized_options = b'\340A\001'
_LOGENTRY.fields_by_name['insert_id']._options = None
_LOGENTRY.fields_by_name['insert_id']._serialized_options = b'\342A\001\001'
_LOGENTRY.fields_by_name['insert_id']._serialized_options = b'\340A\001'
_LOGENTRY.fields_by_name['http_request']._options = None
_LOGENTRY.fields_by_name['http_request']._serialized_options = b'\342A\001\001'
_LOGENTRY.fields_by_name['http_request']._serialized_options = b'\340A\001'
_LOGENTRY.fields_by_name['labels']._options = None
_LOGENTRY.fields_by_name['labels']._serialized_options = b'\342A\001\001'
_LOGENTRY.fields_by_name['labels']._serialized_options = b'\340A\001'
_LOGENTRY.fields_by_name['operation']._options = None
_LOGENTRY.fields_by_name['operation']._serialized_options = b'\342A\001\001'
_LOGENTRY.fields_by_name['operation']._serialized_options = b'\340A\001'
_LOGENTRY.fields_by_name['trace']._options = None
_LOGENTRY.fields_by_name['trace']._serialized_options = b'\342A\001\001'
_LOGENTRY.fields_by_name['trace']._serialized_options = b'\340A\001'
_LOGENTRY.fields_by_name['span_id']._options = None
_LOGENTRY.fields_by_name['span_id']._serialized_options = b'\342A\001\001'
_LOGENTRY.fields_by_name['span_id']._serialized_options = b'\340A\001'
_LOGENTRY.fields_by_name['trace_sampled']._options = None
_LOGENTRY.fields_by_name['trace_sampled']._serialized_options = b'\342A\001\001'
_LOGENTRY.fields_by_name['trace_sampled']._serialized_options = b'\340A\001'
_LOGENTRY.fields_by_name['source_location']._options = None
_LOGENTRY.fields_by_name['source_location']._serialized_options = b'\342A\001\001'
_LOGENTRY.fields_by_name['source_location']._serialized_options = b'\340A\001'
_LOGENTRY.fields_by_name['split']._options = None
_LOGENTRY.fields_by_name['split']._serialized_options = b'\340A\001'
_LOGENTRY._options = None
_LOGENTRY._serialized_options = b'\352A\271\001\n\032logging.googleapis.com/Log\022\035projects/{project}/logs/{log}\022\'organizations/{organization}/logs/{log}\022\033folders/{folder}/logs/{log}\022,billingAccounts/{billing_account}/logs/{log}\032\010log_name'
_LOGENTRYOPERATION.fields_by_name['id']._options = None
_LOGENTRYOPERATION.fields_by_name['id']._serialized_options = b'\342A\001\001'
_LOGENTRYOPERATION.fields_by_name['id']._serialized_options = b'\340A\001'
_LOGENTRYOPERATION.fields_by_name['producer']._options = None
_LOGENTRYOPERATION.fields_by_name['producer']._serialized_options = b'\342A\001\001'
_LOGENTRYOPERATION.fields_by_name['producer']._serialized_options = b'\340A\001'
_LOGENTRYOPERATION.fields_by_name['first']._options = None
_LOGENTRYOPERATION.fields_by_name['first']._serialized_options = b'\342A\001\001'
_LOGENTRYOPERATION.fields_by_name['first']._serialized_options = b'\340A\001'
_LOGENTRYOPERATION.fields_by_name['last']._options = None
_LOGENTRYOPERATION.fields_by_name['last']._serialized_options = b'\342A\001\001'
_LOGENTRYOPERATION.fields_by_name['last']._serialized_options = b'\340A\001'
_LOGENTRYSOURCELOCATION.fields_by_name['file']._options = None
_LOGENTRYSOURCELOCATION.fields_by_name['file']._serialized_options = b'\342A\001\001'
_LOGENTRYSOURCELOCATION.fields_by_name['file']._serialized_options = b'\340A\001'
_LOGENTRYSOURCELOCATION.fields_by_name['line']._options = None
_LOGENTRYSOURCELOCATION.fields_by_name['line']._serialized_options = b'\342A\001\001'
_LOGENTRYSOURCELOCATION.fields_by_name['line']._serialized_options = b'\340A\001'
_LOGENTRYSOURCELOCATION.fields_by_name['function']._options = None
_LOGENTRYSOURCELOCATION.fields_by_name['function']._serialized_options = b'\342A\001\001'
_globals['_LOGENTRY']._serialized_start=379
_globals['_LOGENTRY']._serialized_end=1370
_globals['_LOGENTRY_LABELSENTRY']._serialized_start=1122
_globals['_LOGENTRY_LABELSENTRY']._serialized_end=1167
_globals['_LOGENTRYOPERATION']._serialized_start=1372
_globals['_LOGENTRYOPERATION']._serialized_end=1474
_globals['_LOGENTRYSOURCELOCATION']._serialized_start=1476
_globals['_LOGENTRYSOURCELOCATION']._serialized_end=1564
_LOGENTRYSOURCELOCATION.fields_by_name['function']._serialized_options = b'\340A\001'
_globals['_LOGENTRY']._serialized_start=324
_globals['_LOGENTRY']._serialized_end=1351
_globals['_LOGENTRY_LABELSENTRY']._serialized_start=1103
_globals['_LOGENTRY_LABELSENTRY']._serialized_end=1148
_globals['_LOGENTRYOPERATION']._serialized_start=1353
_globals['_LOGENTRYOPERATION']._serialized_end=1451
_globals['_LOGENTRYSOURCELOCATION']._serialized_start=1453
_globals['_LOGENTRYSOURCELOCATION']._serialized_end=1538
_globals['_LOGSPLIT']._serialized_start=1540
_globals['_LOGSPLIT']._serialized_end=1600
# @@protoc_insertion_point(module_scope)

File diff suppressed because one or more lines are too long

@ -11,68 +11,70 @@ from google.protobuf.internal import builder as _builder
_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.api import distribution_pb2 as google_dot_api_dot_distribution__pb2
from google.api import field_behavior_pb2 as google_dot_api_dot_field__behavior__pb2
from google.api import metric_pb2 as google_dot_api_dot_metric__pb2
from google.api import resource_pb2 as google_dot_api_dot_resource__pb2
from google.protobuf import duration_pb2 as google_dot_protobuf_dot_duration__pb2
from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2
from google.protobuf import field_mask_pb2 as google_dot_protobuf_dot_field__mask__pb2
from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2
from google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\'google/logging/v2/logging_metrics.proto\x12\x11google.logging.v2\x1a\x17google/api/client.proto\x1a\x1dgoogle/api/distribution.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a\x17google/api/metric.proto\x1a\x19google/api/resource.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a google/protobuf/field_mask.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1cgoogle/api/annotations.proto\"\x95\x05\n\tLogMetric\x12\x12\n\x04name\x18\x01 \x01(\tB\x04\xe2\x41\x01\x02\x12\x19\n\x0b\x64\x65scription\x18\x02 \x01(\tB\x04\xe2\x41\x01\x01\x12\x14\n\x06\x66ilter\x18\x03 \x01(\tB\x04\xe2\x41\x01\x02\x12=\n\x11metric_descriptor\x18\x05 \x01(\x0b\x32\x1c.google.api.MetricDescriptorB\x04\xe2\x41\x01\x01\x12\x1d\n\x0fvalue_extractor\x18\x06 \x01(\tB\x04\xe2\x41\x01\x01\x12Q\n\x10label_extractors\x18\x07 \x03(\x0b\x32\x31.google.logging.v2.LogMetric.LabelExtractorsEntryB\x04\xe2\x41\x01\x01\x12\x44\n\x0e\x62ucket_options\x18\x08 \x01(\x0b\x32&.google.api.Distribution.BucketOptionsB\x04\xe2\x41\x01\x01\x12\x35\n\x0b\x63reate_time\x18\t \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x04\xe2\x41\x01\x03\x12\x35\n\x0bupdate_time\x18\n \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x04\xe2\x41\x01\x03\x12<\n\x07version\x18\x04 \x01(\x0e\x32\'.google.logging.v2.LogMetric.ApiVersionB\x02\x18\x01\x1a\x36\n\x14LabelExtractorsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\x1c\n\nApiVersion\x12\x06\n\x02V2\x10\x00\x12\x06\n\x02V1\x10\x01:J\xea\x41G\n logging.googleapis.com/LogMetric\x12#projects/{project}/metrics/{metric}\"\x90\x01\n\x15ListLogMetricsRequest\x12\x44\n\x06parent\x18\x01 \x01(\tB4\xe2\x41\x01\x02\xfa\x41-\n+cloudresourcemanager.googleapis.com/Project\x12\x18\n\npage_token\x18\x02 \x01(\tB\x04\xe2\x41\x01\x01\x12\x17\n\tpage_size\x18\x03 \x01(\x05\x42\x04\xe2\x41\x01\x01\"`\n\x16ListLogMetricsResponse\x12-\n\x07metrics\x18\x01 \x03(\x0b\x32\x1c.google.logging.v2.LogMetric\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\"U\n\x13GetLogMetricRequest\x12>\n\x0bmetric_name\x18\x01 \x01(\tB)\xe2\x41\x01\x02\xfa\x41\"\n logging.googleapis.com/LogMetric\"\x87\x01\n\x16\x43reateLogMetricRequest\x12\x39\n\x06parent\x18\x01 \x01(\tB)\xe2\x41\x01\x02\xfa\x41\"\x12 logging.googleapis.com/LogMetric\x12\x32\n\x06metric\x18\x02 \x01(\x0b\x32\x1c.google.logging.v2.LogMetricB\x04\xe2\x41\x01\x02\"\x8c\x01\n\x16UpdateLogMetricRequest\x12>\n\x0bmetric_name\x18\x01 \x01(\tB)\xe2\x41\x01\x02\xfa\x41\"\n logging.googleapis.com/LogMetric\x12\x32\n\x06metric\x18\x02 \x01(\x0b\x32\x1c.google.logging.v2.LogMetricB\x04\xe2\x41\x01\x02\"X\n\x16\x44\x65leteLogMetricRequest\x12>\n\x0bmetric_name\x18\x01 \x01(\tB)\xe2\x41\x01\x02\xfa\x41\"\n logging.googleapis.com/LogMetric2\xae\x08\n\x10MetricsServiceV2\x12\x97\x01\n\x0eListLogMetrics\x12(.google.logging.v2.ListLogMetricsRequest\x1a).google.logging.v2.ListLogMetricsResponse\"0\xda\x41\x06parent\x82\xd3\xe4\x93\x02!\x12\x1f/v2/{parent=projects/*}/metrics\x12\x92\x01\n\x0cGetLogMetric\x12&.google.logging.v2.GetLogMetricRequest\x1a\x1c.google.logging.v2.LogMetric\"<\xda\x41\x0bmetric_name\x82\xd3\xe4\x93\x02(\x12&/v2/{metric_name=projects/*/metrics/*}\x12\x9b\x01\n\x0f\x43reateLogMetric\x12).google.logging.v2.CreateLogMetricRequest\x1a\x1c.google.logging.v2.LogMetric\"?\xda\x41\rparent,metric\x82\xd3\xe4\x93\x02)\"\x1f/v2/{parent=projects/*}/metrics:\x06metric\x12\xa7\x01\n\x0fUpdateLogMetric\x12).google.logging.v2.UpdateLogMetricRequest\x1a\x1c.google.logging.v2.LogMetric\"K\xda\x41\x12metric_name,metric\x82\xd3\xe4\x93\x02\x30\x1a&/v2/{metric_name=projects/*/metrics/*}:\x06metric\x12\x92\x01\n\x0f\x44\x65leteLogMetric\x12).google.logging.v2.DeleteLogMetricRequest\x1a\x16.google.protobuf.Empty\"<\xda\x41\x0bmetric_name\x82\xd3\xe4\x93\x02(*&/v2/{metric_name=projects/*/metrics/*}\x1a\x8d\x02\xca\x41\x16logging.googleapis.com\xd2\x41\xf0\x01https://www.googleapis.com/auth/cloud-platform,https://www.googleapis.com/auth/cloud-platform.read-only,https://www.googleapis.com/auth/logging.admin,https://www.googleapis.com/auth/logging.read,https://www.googleapis.com/auth/logging.writeB\xbc\x01\n\x15\x63om.google.logging.v2B\x13LoggingMetricsProtoP\x01Z8google.golang.org/genproto/googleapis/logging/v2;logging\xf8\x01\x01\xaa\x02\x17Google.Cloud.Logging.V2\xca\x02\x17Google\\Cloud\\Logging\\V2\xea\x02\x1aGoogle::Cloud::Logging::V2b\x06proto3')
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\'google/logging/v2/logging_metrics.proto\x12\x11google.logging.v2\x1a\x1cgoogle/api/annotations.proto\x1a\x17google/api/client.proto\x1a\x1dgoogle/api/distribution.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a\x17google/api/metric.proto\x1a\x19google/api/resource.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\xbd\x05\n\tLogMetric\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x02\x12\x18\n\x0b\x64\x65scription\x18\x02 \x01(\tB\x03\xe0\x41\x01\x12\x13\n\x06\x66ilter\x18\x03 \x01(\tB\x03\xe0\x41\x02\x12\x18\n\x0b\x62ucket_name\x18\r \x01(\tB\x03\xe0\x41\x01\x12\x15\n\x08\x64isabled\x18\x0c \x01(\x08\x42\x03\xe0\x41\x01\x12<\n\x11metric_descriptor\x18\x05 \x01(\x0b\x32\x1c.google.api.MetricDescriptorB\x03\xe0\x41\x01\x12\x1c\n\x0fvalue_extractor\x18\x06 \x01(\tB\x03\xe0\x41\x01\x12P\n\x10label_extractors\x18\x07 \x03(\x0b\x32\x31.google.logging.v2.LogMetric.LabelExtractorsEntryB\x03\xe0\x41\x01\x12\x43\n\x0e\x62ucket_options\x18\x08 \x01(\x0b\x32&.google.api.Distribution.BucketOptionsB\x03\xe0\x41\x01\x12\x34\n\x0b\x63reate_time\x18\t \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x34\n\x0bupdate_time\x18\n \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12<\n\x07version\x18\x04 \x01(\x0e\x32\'.google.logging.v2.LogMetric.ApiVersionB\x02\x18\x01\x1a\x36\n\x14LabelExtractorsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\x1c\n\nApiVersion\x12\x06\n\x02V2\x10\x00\x12\x06\n\x02V1\x10\x01:J\xea\x41G\n logging.googleapis.com/LogMetric\x12#projects/{project}/metrics/{metric}\"\x8d\x01\n\x15ListLogMetricsRequest\x12\x43\n\x06parent\x18\x01 \x01(\tB3\xe0\x41\x02\xfa\x41-\n+cloudresourcemanager.googleapis.com/Project\x12\x17\n\npage_token\x18\x02 \x01(\tB\x03\xe0\x41\x01\x12\x16\n\tpage_size\x18\x03 \x01(\x05\x42\x03\xe0\x41\x01\"`\n\x16ListLogMetricsResponse\x12-\n\x07metrics\x18\x01 \x03(\x0b\x32\x1c.google.logging.v2.LogMetric\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\"T\n\x13GetLogMetricRequest\x12=\n\x0bmetric_name\x18\x01 \x01(\tB(\xe0\x41\x02\xfa\x41\"\n logging.googleapis.com/LogMetric\"\x85\x01\n\x16\x43reateLogMetricRequest\x12\x38\n\x06parent\x18\x01 \x01(\tB(\xe0\x41\x02\xfa\x41\"\x12 logging.googleapis.com/LogMetric\x12\x31\n\x06metric\x18\x02 \x01(\x0b\x32\x1c.google.logging.v2.LogMetricB\x03\xe0\x41\x02\"\x8a\x01\n\x16UpdateLogMetricRequest\x12=\n\x0bmetric_name\x18\x01 \x01(\tB(\xe0\x41\x02\xfa\x41\"\n logging.googleapis.com/LogMetric\x12\x31\n\x06metric\x18\x02 \x01(\x0b\x32\x1c.google.logging.v2.LogMetricB\x03\xe0\x41\x02\"W\n\x16\x44\x65leteLogMetricRequest\x12=\n\x0bmetric_name\x18\x01 \x01(\tB(\xe0\x41\x02\xfa\x41\"\n logging.googleapis.com/LogMetric2\xae\x08\n\x10MetricsServiceV2\x12\x97\x01\n\x0eListLogMetrics\x12(.google.logging.v2.ListLogMetricsRequest\x1a).google.logging.v2.ListLogMetricsResponse\"0\xda\x41\x06parent\x82\xd3\xe4\x93\x02!\x12\x1f/v2/{parent=projects/*}/metrics\x12\x92\x01\n\x0cGetLogMetric\x12&.google.logging.v2.GetLogMetricRequest\x1a\x1c.google.logging.v2.LogMetric\"<\xda\x41\x0bmetric_name\x82\xd3\xe4\x93\x02(\x12&/v2/{metric_name=projects/*/metrics/*}\x12\x9b\x01\n\x0f\x43reateLogMetric\x12).google.logging.v2.CreateLogMetricRequest\x1a\x1c.google.logging.v2.LogMetric\"?\xda\x41\rparent,metric\x82\xd3\xe4\x93\x02)\"\x1f/v2/{parent=projects/*}/metrics:\x06metric\x12\xa7\x01\n\x0fUpdateLogMetric\x12).google.logging.v2.UpdateLogMetricRequest\x1a\x1c.google.logging.v2.LogMetric\"K\xda\x41\x12metric_name,metric\x82\xd3\xe4\x93\x02\x30\x1a&/v2/{metric_name=projects/*/metrics/*}:\x06metric\x12\x92\x01\n\x0f\x44\x65leteLogMetric\x12).google.logging.v2.DeleteLogMetricRequest\x1a\x16.google.protobuf.Empty\"<\xda\x41\x0bmetric_name\x82\xd3\xe4\x93\x02(*&/v2/{metric_name=projects/*/metrics/*}\x1a\x8d\x02\xca\x41\x16logging.googleapis.com\xd2\x41\xf0\x01https://www.googleapis.com/auth/cloud-platform,https://www.googleapis.com/auth/cloud-platform.read-only,https://www.googleapis.com/auth/logging.admin,https://www.googleapis.com/auth/logging.read,https://www.googleapis.com/auth/logging.writeB\xb9\x01\n\x15\x63om.google.logging.v2B\x13LoggingMetricsProtoP\x01Z5cloud.google.com/go/logging/apiv2/loggingpb;loggingpb\xf8\x01\x01\xaa\x02\x17Google.Cloud.Logging.V2\xca\x02\x17Google\\Cloud\\Logging\\V2\xea\x02\x1aGoogle::Cloud::Logging::V2b\x06proto3')
_globals = globals()
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'google.logging.v2.logging_metrics_pb2', _globals)
if _descriptor._USE_C_DESCRIPTORS == False:
DESCRIPTOR._options = None
DESCRIPTOR._serialized_options = b'\n\025com.google.logging.v2B\023LoggingMetricsProtoP\001Z8google.golang.org/genproto/googleapis/logging/v2;logging\370\001\001\252\002\027Google.Cloud.Logging.V2\312\002\027Google\\Cloud\\Logging\\V2\352\002\032Google::Cloud::Logging::V2'
DESCRIPTOR._serialized_options = b'\n\025com.google.logging.v2B\023LoggingMetricsProtoP\001Z5cloud.google.com/go/logging/apiv2/loggingpb;loggingpb\370\001\001\252\002\027Google.Cloud.Logging.V2\312\002\027Google\\Cloud\\Logging\\V2\352\002\032Google::Cloud::Logging::V2'
_LOGMETRIC_LABELEXTRACTORSENTRY._options = None
_LOGMETRIC_LABELEXTRACTORSENTRY._serialized_options = b'8\001'
_LOGMETRIC.fields_by_name['name']._options = None
_LOGMETRIC.fields_by_name['name']._serialized_options = b'\342A\001\002'
_LOGMETRIC.fields_by_name['name']._serialized_options = b'\340A\002'
_LOGMETRIC.fields_by_name['description']._options = None
_LOGMETRIC.fields_by_name['description']._serialized_options = b'\342A\001\001'
_LOGMETRIC.fields_by_name['description']._serialized_options = b'\340A\001'
_LOGMETRIC.fields_by_name['filter']._options = None
_LOGMETRIC.fields_by_name['filter']._serialized_options = b'\342A\001\002'
_LOGMETRIC.fields_by_name['filter']._serialized_options = b'\340A\002'
_LOGMETRIC.fields_by_name['bucket_name']._options = None
_LOGMETRIC.fields_by_name['bucket_name']._serialized_options = b'\340A\001'
_LOGMETRIC.fields_by_name['disabled']._options = None
_LOGMETRIC.fields_by_name['disabled']._serialized_options = b'\340A\001'
_LOGMETRIC.fields_by_name['metric_descriptor']._options = None
_LOGMETRIC.fields_by_name['metric_descriptor']._serialized_options = b'\342A\001\001'
_LOGMETRIC.fields_by_name['metric_descriptor']._serialized_options = b'\340A\001'
_LOGMETRIC.fields_by_name['value_extractor']._options = None
_LOGMETRIC.fields_by_name['value_extractor']._serialized_options = b'\342A\001\001'
_LOGMETRIC.fields_by_name['value_extractor']._serialized_options = b'\340A\001'
_LOGMETRIC.fields_by_name['label_extractors']._options = None
_LOGMETRIC.fields_by_name['label_extractors']._serialized_options = b'\342A\001\001'
_LOGMETRIC.fields_by_name['label_extractors']._serialized_options = b'\340A\001'
_LOGMETRIC.fields_by_name['bucket_options']._options = None
_LOGMETRIC.fields_by_name['bucket_options']._serialized_options = b'\342A\001\001'
_LOGMETRIC.fields_by_name['bucket_options']._serialized_options = b'\340A\001'
_LOGMETRIC.fields_by_name['create_time']._options = None
_LOGMETRIC.fields_by_name['create_time']._serialized_options = b'\342A\001\003'
_LOGMETRIC.fields_by_name['create_time']._serialized_options = b'\340A\003'
_LOGMETRIC.fields_by_name['update_time']._options = None
_LOGMETRIC.fields_by_name['update_time']._serialized_options = b'\342A\001\003'
_LOGMETRIC.fields_by_name['update_time']._serialized_options = b'\340A\003'
_LOGMETRIC.fields_by_name['version']._options = None
_LOGMETRIC.fields_by_name['version']._serialized_options = b'\030\001'
_LOGMETRIC._options = None
_LOGMETRIC._serialized_options = b'\352AG\n logging.googleapis.com/LogMetric\022#projects/{project}/metrics/{metric}'
_LISTLOGMETRICSREQUEST.fields_by_name['parent']._options = None
_LISTLOGMETRICSREQUEST.fields_by_name['parent']._serialized_options = b'\342A\001\002\372A-\n+cloudresourcemanager.googleapis.com/Project'
_LISTLOGMETRICSREQUEST.fields_by_name['parent']._serialized_options = b'\340A\002\372A-\n+cloudresourcemanager.googleapis.com/Project'
_LISTLOGMETRICSREQUEST.fields_by_name['page_token']._options = None
_LISTLOGMETRICSREQUEST.fields_by_name['page_token']._serialized_options = b'\342A\001\001'
_LISTLOGMETRICSREQUEST.fields_by_name['page_token']._serialized_options = b'\340A\001'
_LISTLOGMETRICSREQUEST.fields_by_name['page_size']._options = None
_LISTLOGMETRICSREQUEST.fields_by_name['page_size']._serialized_options = b'\342A\001\001'
_LISTLOGMETRICSREQUEST.fields_by_name['page_size']._serialized_options = b'\340A\001'
_GETLOGMETRICREQUEST.fields_by_name['metric_name']._options = None
_GETLOGMETRICREQUEST.fields_by_name['metric_name']._serialized_options = b'\342A\001\002\372A\"\n logging.googleapis.com/LogMetric'
_GETLOGMETRICREQUEST.fields_by_name['metric_name']._serialized_options = b'\340A\002\372A\"\n logging.googleapis.com/LogMetric'
_CREATELOGMETRICREQUEST.fields_by_name['parent']._options = None
_CREATELOGMETRICREQUEST.fields_by_name['parent']._serialized_options = b'\342A\001\002\372A\"\022 logging.googleapis.com/LogMetric'
_CREATELOGMETRICREQUEST.fields_by_name['parent']._serialized_options = b'\340A\002\372A\"\022 logging.googleapis.com/LogMetric'
_CREATELOGMETRICREQUEST.fields_by_name['metric']._options = None
_CREATELOGMETRICREQUEST.fields_by_name['metric']._serialized_options = b'\342A\001\002'
_CREATELOGMETRICREQUEST.fields_by_name['metric']._serialized_options = b'\340A\002'
_UPDATELOGMETRICREQUEST.fields_by_name['metric_name']._options = None
_UPDATELOGMETRICREQUEST.fields_by_name['metric_name']._serialized_options = b'\342A\001\002\372A\"\n logging.googleapis.com/LogMetric'
_UPDATELOGMETRICREQUEST.fields_by_name['metric_name']._serialized_options = b'\340A\002\372A\"\n logging.googleapis.com/LogMetric'
_UPDATELOGMETRICREQUEST.fields_by_name['metric']._options = None
_UPDATELOGMETRICREQUEST.fields_by_name['metric']._serialized_options = b'\342A\001\002'
_UPDATELOGMETRICREQUEST.fields_by_name['metric']._serialized_options = b'\340A\002'
_DELETELOGMETRICREQUEST.fields_by_name['metric_name']._options = None
_DELETELOGMETRICREQUEST.fields_by_name['metric_name']._serialized_options = b'\342A\001\002\372A\"\n logging.googleapis.com/LogMetric'
_DELETELOGMETRICREQUEST.fields_by_name['metric_name']._serialized_options = b'\340A\002\372A\"\n logging.googleapis.com/LogMetric'
_METRICSSERVICEV2._options = None
_METRICSSERVICEV2._serialized_options = b'\312A\026logging.googleapis.com\322A\360\001https://www.googleapis.com/auth/cloud-platform,https://www.googleapis.com/auth/cloud-platform.read-only,https://www.googleapis.com/auth/logging.admin,https://www.googleapis.com/auth/logging.read,https://www.googleapis.com/auth/logging.write'
_METRICSSERVICEV2.methods_by_name['ListLogMetrics']._options = None
@ -85,24 +87,24 @@ if _descriptor._USE_C_DESCRIPTORS == False:
_METRICSSERVICEV2.methods_by_name['UpdateLogMetric']._serialized_options = b'\332A\022metric_name,metric\202\323\344\223\0020\032&/v2/{metric_name=projects/*/metrics/*}:\006metric'
_METRICSSERVICEV2.methods_by_name['DeleteLogMetric']._options = None
_METRICSSERVICEV2.methods_by_name['DeleteLogMetric']._serialized_options = b'\332A\013metric_name\202\323\344\223\002(*&/v2/{metric_name=projects/*/metrics/*}'
_globals['_LOGMETRIC']._serialized_start=362
_globals['_LOGMETRIC']._serialized_end=1023
_globals['_LOGMETRIC_LABELEXTRACTORSENTRY']._serialized_start=863
_globals['_LOGMETRIC_LABELEXTRACTORSENTRY']._serialized_end=917
_globals['_LOGMETRIC_APIVERSION']._serialized_start=919
_globals['_LOGMETRIC_APIVERSION']._serialized_end=947
_globals['_LISTLOGMETRICSREQUEST']._serialized_start=1026
_globals['_LISTLOGMETRICSREQUEST']._serialized_end=1170
_globals['_LISTLOGMETRICSRESPONSE']._serialized_start=1172
_globals['_LISTLOGMETRICSRESPONSE']._serialized_end=1268
_globals['_GETLOGMETRICREQUEST']._serialized_start=1270
_globals['_GETLOGMETRICREQUEST']._serialized_end=1355
_globals['_CREATELOGMETRICREQUEST']._serialized_start=1358
_globals['_CREATELOGMETRICREQUEST']._serialized_end=1493
_globals['_UPDATELOGMETRICREQUEST']._serialized_start=1496
_globals['_UPDATELOGMETRICREQUEST']._serialized_end=1636
_globals['_DELETELOGMETRICREQUEST']._serialized_start=1638
_globals['_DELETELOGMETRICREQUEST']._serialized_end=1726
_globals['_METRICSSERVICEV2']._serialized_start=1729
_globals['_METRICSSERVICEV2']._serialized_end=2799
_globals['_LOGMETRIC']._serialized_start=296
_globals['_LOGMETRIC']._serialized_end=997
_globals['_LOGMETRIC_LABELEXTRACTORSENTRY']._serialized_start=837
_globals['_LOGMETRIC_LABELEXTRACTORSENTRY']._serialized_end=891
_globals['_LOGMETRIC_APIVERSION']._serialized_start=893
_globals['_LOGMETRIC_APIVERSION']._serialized_end=921
_globals['_LISTLOGMETRICSREQUEST']._serialized_start=1000
_globals['_LISTLOGMETRICSREQUEST']._serialized_end=1141
_globals['_LISTLOGMETRICSRESPONSE']._serialized_start=1143
_globals['_LISTLOGMETRICSRESPONSE']._serialized_end=1239
_globals['_GETLOGMETRICREQUEST']._serialized_start=1241
_globals['_GETLOGMETRICREQUEST']._serialized_end=1325
_globals['_CREATELOGMETRICREQUEST']._serialized_start=1328
_globals['_CREATELOGMETRICREQUEST']._serialized_end=1461
_globals['_UPDATELOGMETRICREQUEST']._serialized_start=1464
_globals['_UPDATELOGMETRICREQUEST']._serialized_end=1602
_globals['_DELETELOGMETRICREQUEST']._serialized_start=1604
_globals['_DELETELOGMETRICREQUEST']._serialized_end=1691
_globals['_METRICSSERVICEV2']._serialized_start=1694
_globals['_METRICSSERVICEV2']._serialized_end=2764
# @@protoc_insertion_point(module_scope)

File diff suppressed because one or more lines are too long

@ -20,14 +20,14 @@ from google.rpc import status_pb2 as google_dot_rpc_dot_status__pb2
from google.protobuf import descriptor_pb2 as google_dot_protobuf_dot_descriptor__pb2
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n#google/longrunning/operations.proto\x12\x12google.longrunning\x1a\x1cgoogle/api/annotations.proto\x1a\x17google/api/client.proto\x1a\x19google/protobuf/any.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a\x17google/rpc/status.proto\x1a google/protobuf/descriptor.proto\"\xa8\x01\n\tOperation\x12\x0c\n\x04name\x18\x01 \x01(\t\x12&\n\x08metadata\x18\x02 \x01(\x0b\x32\x14.google.protobuf.Any\x12\x0c\n\x04\x64one\x18\x03 \x01(\x08\x12#\n\x05\x65rror\x18\x04 \x01(\x0b\x32\x12.google.rpc.StatusH\x00\x12(\n\x08response\x18\x05 \x01(\x0b\x32\x14.google.protobuf.AnyH\x00\x42\x08\n\x06result\"#\n\x13GetOperationRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\"\\\n\x15ListOperationsRequest\x12\x0c\n\x04name\x18\x04 \x01(\t\x12\x0e\n\x06\x66ilter\x18\x01 \x01(\t\x12\x11\n\tpage_size\x18\x02 \x01(\x05\x12\x12\n\npage_token\x18\x03 \x01(\t\"d\n\x16ListOperationsResponse\x12\x31\n\noperations\x18\x01 \x03(\x0b\x32\x1d.google.longrunning.Operation\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\"&\n\x16\x43\x61ncelOperationRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\"&\n\x16\x44\x65leteOperationRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\"P\n\x14WaitOperationRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12*\n\x07timeout\x18\x02 \x01(\x0b\x32\x19.google.protobuf.Duration\"=\n\rOperationInfo\x12\x15\n\rresponse_type\x18\x01 \x01(\t\x12\x15\n\rmetadata_type\x18\x02 \x01(\t2\xaa\x05\n\nOperations\x12\x94\x01\n\x0eListOperations\x12).google.longrunning.ListOperationsRequest\x1a*.google.longrunning.ListOperationsResponse\"+\xda\x41\x0bname,filter\x82\xd3\xe4\x93\x02\x17\x12\x15/v1/{name=operations}\x12\x7f\n\x0cGetOperation\x12\'.google.longrunning.GetOperationRequest\x1a\x1d.google.longrunning.Operation\"\'\xda\x41\x04name\x82\xd3\xe4\x93\x02\x1a\x12\x18/v1/{name=operations/**}\x12~\n\x0f\x44\x65leteOperation\x12*.google.longrunning.DeleteOperationRequest\x1a\x16.google.protobuf.Empty\"\'\xda\x41\x04name\x82\xd3\xe4\x93\x02\x1a*\x18/v1/{name=operations/**}\x12\x88\x01\n\x0f\x43\x61ncelOperation\x12*.google.longrunning.CancelOperationRequest\x1a\x16.google.protobuf.Empty\"1\xda\x41\x04name\x82\xd3\xe4\x93\x02$\"\x1f/v1/{name=operations/**}:cancel:\x01*\x12Z\n\rWaitOperation\x12(.google.longrunning.WaitOperationRequest\x1a\x1d.google.longrunning.Operation\"\x00\x1a\x1d\xca\x41\x1alongrunning.googleapis.com:Z\n\x0eoperation_info\x12\x1e.google.protobuf.MethodOptions\x18\x99\x08 \x01(\x0b\x32!.google.longrunning.OperationInfoB\x97\x01\n\x16\x63om.google.longrunningB\x0fOperationsProtoP\x01Z=google.golang.org/genproto/googleapis/longrunning;longrunning\xf8\x01\x01\xaa\x02\x12Google.LongRunning\xca\x02\x12Google\\LongRunningb\x06proto3')
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n#google/longrunning/operations.proto\x12\x12google.longrunning\x1a\x1cgoogle/api/annotations.proto\x1a\x17google/api/client.proto\x1a\x19google/protobuf/any.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a\x17google/rpc/status.proto\x1a google/protobuf/descriptor.proto\"\xa8\x01\n\tOperation\x12\x0c\n\x04name\x18\x01 \x01(\t\x12&\n\x08metadata\x18\x02 \x01(\x0b\x32\x14.google.protobuf.Any\x12\x0c\n\x04\x64one\x18\x03 \x01(\x08\x12#\n\x05\x65rror\x18\x04 \x01(\x0b\x32\x12.google.rpc.StatusH\x00\x12(\n\x08response\x18\x05 \x01(\x0b\x32\x14.google.protobuf.AnyH\x00\x42\x08\n\x06result\"#\n\x13GetOperationRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\"\\\n\x15ListOperationsRequest\x12\x0c\n\x04name\x18\x04 \x01(\t\x12\x0e\n\x06\x66ilter\x18\x01 \x01(\t\x12\x11\n\tpage_size\x18\x02 \x01(\x05\x12\x12\n\npage_token\x18\x03 \x01(\t\"d\n\x16ListOperationsResponse\x12\x31\n\noperations\x18\x01 \x03(\x0b\x32\x1d.google.longrunning.Operation\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\"&\n\x16\x43\x61ncelOperationRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\"&\n\x16\x44\x65leteOperationRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\"P\n\x14WaitOperationRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12*\n\x07timeout\x18\x02 \x01(\x0b\x32\x19.google.protobuf.Duration\"=\n\rOperationInfo\x12\x15\n\rresponse_type\x18\x01 \x01(\t\x12\x15\n\rmetadata_type\x18\x02 \x01(\t2\xaa\x05\n\nOperations\x12\x94\x01\n\x0eListOperations\x12).google.longrunning.ListOperationsRequest\x1a*.google.longrunning.ListOperationsResponse\"+\xda\x41\x0bname,filter\x82\xd3\xe4\x93\x02\x17\x12\x15/v1/{name=operations}\x12\x7f\n\x0cGetOperation\x12\'.google.longrunning.GetOperationRequest\x1a\x1d.google.longrunning.Operation\"\'\xda\x41\x04name\x82\xd3\xe4\x93\x02\x1a\x12\x18/v1/{name=operations/**}\x12~\n\x0f\x44\x65leteOperation\x12*.google.longrunning.DeleteOperationRequest\x1a\x16.google.protobuf.Empty\"\'\xda\x41\x04name\x82\xd3\xe4\x93\x02\x1a*\x18/v1/{name=operations/**}\x12\x88\x01\n\x0f\x43\x61ncelOperation\x12*.google.longrunning.CancelOperationRequest\x1a\x16.google.protobuf.Empty\"1\xda\x41\x04name\x82\xd3\xe4\x93\x02$\"\x1f/v1/{name=operations/**}:cancel:\x01*\x12Z\n\rWaitOperation\x12(.google.longrunning.WaitOperationRequest\x1a\x1d.google.longrunning.Operation\"\x00\x1a\x1d\xca\x41\x1alongrunning.googleapis.com:Z\n\x0eoperation_info\x12\x1e.google.protobuf.MethodOptions\x18\x99\x08 \x01(\x0b\x32!.google.longrunning.OperationInfoB\x9d\x01\n\x16\x63om.google.longrunningB\x0fOperationsProtoP\x01ZCcloud.google.com/go/longrunning/autogen/longrunningpb;longrunningpb\xf8\x01\x01\xaa\x02\x12Google.LongRunning\xca\x02\x12Google\\LongRunningb\x06proto3')
_globals = globals()
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'google.longrunning.operations_pb2', _globals)
if _descriptor._USE_C_DESCRIPTORS == False:
DESCRIPTOR._options = None
DESCRIPTOR._serialized_options = b'\n\026com.google.longrunningB\017OperationsProtoP\001Z=google.golang.org/genproto/googleapis/longrunning;longrunning\370\001\001\252\002\022Google.LongRunning\312\002\022Google\\LongRunning'
DESCRIPTOR._serialized_options = b'\n\026com.google.longrunningB\017OperationsProtoP\001ZCcloud.google.com/go/longrunning/autogen/longrunningpb;longrunningpb\370\001\001\252\002\022Google.LongRunning\312\002\022Google\\LongRunning'
_OPERATIONS._options = None
_OPERATIONS._serialized_options = b'\312A\032longrunning.googleapis.com'
_OPERATIONS.methods_by_name['ListOperations']._options = None

@ -0,0 +1,27 @@
# -*- coding: utf-8 -*-
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: google/rpc/context/audit_context.proto
"""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 struct_pb2 as google_dot_protobuf_dot_struct__pb2
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n&google/rpc/context/audit_context.proto\x12\x12google.rpc.context\x1a\x1cgoogle/protobuf/struct.proto\"\xc7\x01\n\x0c\x41uditContext\x12\x11\n\taudit_log\x18\x01 \x01(\x0c\x12\x31\n\x10scrubbed_request\x18\x02 \x01(\x0b\x32\x17.google.protobuf.Struct\x12\x32\n\x11scrubbed_response\x18\x03 \x01(\x0b\x32\x17.google.protobuf.Struct\x12$\n\x1cscrubbed_response_item_count\x18\x04 \x01(\x05\x12\x17\n\x0ftarget_resource\x18\x05 \x01(\tBk\n\x16\x63om.google.rpc.contextB\x11\x41uditContextProtoP\x01Z9google.golang.org/genproto/googleapis/rpc/context;context\xf8\x01\x01\x62\x06proto3')
_globals = globals()
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'google.rpc.context.audit_context_pb2', _globals)
if _descriptor._USE_C_DESCRIPTORS == False:
DESCRIPTOR._options = None
DESCRIPTOR._serialized_options = b'\n\026com.google.rpc.contextB\021AuditContextProtoP\001Z9google.golang.org/genproto/googleapis/rpc/context;context\370\001\001'
_globals['_AUDITCONTEXT']._serialized_start=93
_globals['_AUDITCONTEXT']._serialized_end=292
# @@protoc_insertion_point(module_scope)

@ -14,7 +14,7 @@ _sym_db = _symbol_database.Default()
from google.protobuf import duration_pb2 as google_dot_protobuf_dot_duration__pb2
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1egoogle/rpc/error_details.proto\x12\ngoogle.rpc\x1a\x1egoogle/protobuf/duration.proto\";\n\tRetryInfo\x12.\n\x0bretry_delay\x18\x01 \x01(\x0b\x32\x19.google.protobuf.Duration\"2\n\tDebugInfo\x12\x15\n\rstack_entries\x18\x01 \x03(\t\x12\x0e\n\x06\x64\x65tail\x18\x02 \x01(\t\"y\n\x0cQuotaFailure\x12\x36\n\nviolations\x18\x01 \x03(\x0b\x32\".google.rpc.QuotaFailure.Violation\x1a\x31\n\tViolation\x12\x0f\n\x07subject\x18\x01 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\"\x93\x01\n\tErrorInfo\x12\x0e\n\x06reason\x18\x01 \x01(\t\x12\x0e\n\x06\x64omain\x18\x02 \x01(\t\x12\x35\n\x08metadata\x18\x03 \x03(\x0b\x32#.google.rpc.ErrorInfo.MetadataEntry\x1a/\n\rMetadataEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\x95\x01\n\x13PreconditionFailure\x12=\n\nviolations\x18\x01 \x03(\x0b\x32).google.rpc.PreconditionFailure.Violation\x1a?\n\tViolation\x12\x0c\n\x04type\x18\x01 \x01(\t\x12\x0f\n\x07subject\x18\x02 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x03 \x01(\t\"\x83\x01\n\nBadRequest\x12?\n\x10\x66ield_violations\x18\x01 \x03(\x0b\x32%.google.rpc.BadRequest.FieldViolation\x1a\x34\n\x0e\x46ieldViolation\x12\r\n\x05\x66ield\x18\x01 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\"7\n\x0bRequestInfo\x12\x12\n\nrequest_id\x18\x01 \x01(\t\x12\x14\n\x0cserving_data\x18\x02 \x01(\t\"`\n\x0cResourceInfo\x12\x15\n\rresource_type\x18\x01 \x01(\t\x12\x15\n\rresource_name\x18\x02 \x01(\t\x12\r\n\x05owner\x18\x03 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x04 \x01(\t\"V\n\x04Help\x12$\n\x05links\x18\x01 \x03(\x0b\x32\x15.google.rpc.Help.Link\x1a(\n\x04Link\x12\x13\n\x0b\x64\x65scription\x18\x01 \x01(\t\x12\x0b\n\x03url\x18\x02 \x01(\t\"3\n\x10LocalizedMessage\x12\x0e\n\x06locale\x18\x01 \x01(\t\x12\x0f\n\x07message\x18\x02 \x01(\tBl\n\x0e\x63om.google.rpcB\x11\x45rrorDetailsProtoP\x01Z?google.golang.org/genproto/googleapis/rpc/errdetails;errdetails\xa2\x02\x03RPCb\x06proto3')
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1egoogle/rpc/error_details.proto\x12\ngoogle.rpc\x1a\x1egoogle/protobuf/duration.proto\"\x93\x01\n\tErrorInfo\x12\x0e\n\x06reason\x18\x01 \x01(\t\x12\x0e\n\x06\x64omain\x18\x02 \x01(\t\x12\x35\n\x08metadata\x18\x03 \x03(\x0b\x32#.google.rpc.ErrorInfo.MetadataEntry\x1a/\n\rMetadataEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\";\n\tRetryInfo\x12.\n\x0bretry_delay\x18\x01 \x01(\x0b\x32\x19.google.protobuf.Duration\"2\n\tDebugInfo\x12\x15\n\rstack_entries\x18\x01 \x03(\t\x12\x0e\n\x06\x64\x65tail\x18\x02 \x01(\t\"y\n\x0cQuotaFailure\x12\x36\n\nviolations\x18\x01 \x03(\x0b\x32\".google.rpc.QuotaFailure.Violation\x1a\x31\n\tViolation\x12\x0f\n\x07subject\x18\x01 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\"\x95\x01\n\x13PreconditionFailure\x12=\n\nviolations\x18\x01 \x03(\x0b\x32).google.rpc.PreconditionFailure.Violation\x1a?\n\tViolation\x12\x0c\n\x04type\x18\x01 \x01(\t\x12\x0f\n\x07subject\x18\x02 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x03 \x01(\t\"\x83\x01\n\nBadRequest\x12?\n\x10\x66ield_violations\x18\x01 \x03(\x0b\x32%.google.rpc.BadRequest.FieldViolation\x1a\x34\n\x0e\x46ieldViolation\x12\r\n\x05\x66ield\x18\x01 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\"7\n\x0bRequestInfo\x12\x12\n\nrequest_id\x18\x01 \x01(\t\x12\x14\n\x0cserving_data\x18\x02 \x01(\t\"`\n\x0cResourceInfo\x12\x15\n\rresource_type\x18\x01 \x01(\t\x12\x15\n\rresource_name\x18\x02 \x01(\t\x12\r\n\x05owner\x18\x03 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x04 \x01(\t\"V\n\x04Help\x12$\n\x05links\x18\x01 \x03(\x0b\x32\x15.google.rpc.Help.Link\x1a(\n\x04Link\x12\x13\n\x0b\x64\x65scription\x18\x01 \x01(\t\x12\x0b\n\x03url\x18\x02 \x01(\t\"3\n\x10LocalizedMessage\x12\x0e\n\x06locale\x18\x01 \x01(\t\x12\x0f\n\x07message\x18\x02 \x01(\tBl\n\x0e\x63om.google.rpcB\x11\x45rrorDetailsProtoP\x01Z?google.golang.org/genproto/googleapis/rpc/errdetails;errdetails\xa2\x02\x03RPCb\x06proto3')
_globals = globals()
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
@ -24,18 +24,18 @@ if _descriptor._USE_C_DESCRIPTORS == False:
DESCRIPTOR._serialized_options = b'\n\016com.google.rpcB\021ErrorDetailsProtoP\001Z?google.golang.org/genproto/googleapis/rpc/errdetails;errdetails\242\002\003RPC'
_ERRORINFO_METADATAENTRY._options = None
_ERRORINFO_METADATAENTRY._serialized_options = b'8\001'
_globals['_RETRYINFO']._serialized_start=78
_globals['_RETRYINFO']._serialized_end=137
_globals['_DEBUGINFO']._serialized_start=139
_globals['_DEBUGINFO']._serialized_end=189
_globals['_QUOTAFAILURE']._serialized_start=191
_globals['_QUOTAFAILURE']._serialized_end=312
_globals['_QUOTAFAILURE_VIOLATION']._serialized_start=263
_globals['_QUOTAFAILURE_VIOLATION']._serialized_end=312
_globals['_ERRORINFO']._serialized_start=315
_globals['_ERRORINFO']._serialized_end=462
_globals['_ERRORINFO_METADATAENTRY']._serialized_start=415
_globals['_ERRORINFO_METADATAENTRY']._serialized_end=462
_globals['_ERRORINFO']._serialized_start=79
_globals['_ERRORINFO']._serialized_end=226
_globals['_ERRORINFO_METADATAENTRY']._serialized_start=179
_globals['_ERRORINFO_METADATAENTRY']._serialized_end=226
_globals['_RETRYINFO']._serialized_start=228
_globals['_RETRYINFO']._serialized_end=287
_globals['_DEBUGINFO']._serialized_start=289
_globals['_DEBUGINFO']._serialized_end=339
_globals['_QUOTAFAILURE']._serialized_start=341
_globals['_QUOTAFAILURE']._serialized_end=462
_globals['_QUOTAFAILURE_VIOLATION']._serialized_start=413
_globals['_QUOTAFAILURE_VIOLATION']._serialized_end=462
_globals['_PRECONDITIONFAILURE']._serialized_start=465
_globals['_PRECONDITIONFAILURE']._serialized_end=614
_globals['_PRECONDITIONFAILURE_VIOLATION']._serialized_start=551

@ -0,0 +1,30 @@
# -*- coding: utf-8 -*-
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: google/rpc/http.proto
"""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()
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x15google/rpc/http.proto\x12\ngoogle.rpc\"a\n\x0bHttpRequest\x12\x0e\n\x06method\x18\x01 \x01(\t\x12\x0b\n\x03uri\x18\x02 \x01(\t\x12\'\n\x07headers\x18\x03 \x03(\x0b\x32\x16.google.rpc.HttpHeader\x12\x0c\n\x04\x62ody\x18\x04 \x01(\x0c\"e\n\x0cHttpResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\x12\x0e\n\x06reason\x18\x02 \x01(\t\x12\'\n\x07headers\x18\x03 \x03(\x0b\x32\x16.google.rpc.HttpHeader\x12\x0c\n\x04\x62ody\x18\x04 \x01(\x0c\"(\n\nHttpHeader\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\tBX\n\x0e\x63om.google.rpcB\tHttpProtoP\x01Z3google.golang.org/genproto/googleapis/rpc/http;http\xa2\x02\x03RPCb\x06proto3')
_globals = globals()
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'google.rpc.http_pb2', _globals)
if _descriptor._USE_C_DESCRIPTORS == False:
DESCRIPTOR._options = None
DESCRIPTOR._serialized_options = b'\n\016com.google.rpcB\tHttpProtoP\001Z3google.golang.org/genproto/googleapis/rpc/http;http\242\002\003RPC'
_globals['_HTTPREQUEST']._serialized_start=37
_globals['_HTTPREQUEST']._serialized_end=134
_globals['_HTTPRESPONSE']._serialized_start=136
_globals['_HTTPRESPONSE']._serialized_end=237
_globals['_HTTPHEADER']._serialized_start=239
_globals['_HTTPHEADER']._serialized_end=279
# @@protoc_insertion_point(module_scope)

@ -1 +0,0 @@
us-docker.pkg.dev/grpc-testing/testing-images-public/cxx_clang_6_x64:f21d78164b0720b4291bf295b6142da24183286b@sha256:eebbaf353522d523ec9a7acb34bb3ae194e22ea7493c85c01437719e30da205d

@ -0,0 +1 @@
us-docker.pkg.dev/grpc-testing/testing-images-public/cxx_clang_7_x64:e921e71a352c09ab68e0068c9c4cd6b5df121e84@sha256:b35f94648ada85aab9110dae0ebca594cd278672d4bbce38312cefa372952cae

@ -12,7 +12,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
FROM silkeh/clang:6
FROM silkeh/clang:7-buster
RUN apt update && apt -y upgrade && apt install -y build-essential curl git time wget zip && apt clean
#=================
@ -56,10 +56,10 @@ RUN python3 -m pip install twisted
RUN apt-get update && apt-get -y install libc++-dev clang && apt-get clean
#=================
# Install cmake
# Note that this step should be only used for distributions that have new enough cmake to satisfy gRPC's cmake version requirement.
RUN apt-get update && apt-get install -y cmake && apt-get clean
# Install cmake using the install script.
RUN curl -sSL -o cmake-linux.sh https://github.com/Kitware/CMake/releases/download/v3.16.1/cmake-3.16.1-Linux-x86_64.sh \
&& sh cmake-linux.sh -- --skip-license --prefix=/usr \
&& rm cmake-linux.sh
#=================
# Install ccache

@ -604,8 +604,8 @@ class CLanguage(object):
)
elif compiler == "gcc_musl":
return ("alpine", [])
elif compiler == "clang6":
return ("clang_6", self._clang_cmake_configure_extra_args())
elif compiler == "clang7":
return ("clang_7", self._clang_cmake_configure_extra_args())
elif compiler == "clang18":
return ("clang_18", self._clang_cmake_configure_extra_args())
else:
@ -1672,7 +1672,7 @@ argp.add_argument(
"gcc12",
"gcc12_openssl309",
"gcc_musl",
"clang6",
"clang7",
"clang18",
# TODO: Automatically populate from supported version
"python3.7",

@ -361,7 +361,7 @@ def _create_portability_test_jobs(
"gcc12",
"gcc12_openssl309",
"gcc_musl",
"clang6",
"clang7",
"clang18",
]:
test_jobs += _generate_jobs(

@ -31,7 +31,7 @@ third_party/bloaty 60209eb1ccc34d5deefb002d1b7f37545204f7f2
third_party/boringssl-with-bazel 16c8d3db1af20fcc04b5190b25242aadcb1fbb30
third_party/cares/cares 6360e96b5cf8e5980c887ce58ef727e53d77243a
third_party/envoy-api f8b75d1efa92bbf534596a013d9ca5873f79dd30
third_party/googleapis 2f9af297c84c55c8b871ba4495e01ade42476c92
third_party/googleapis fe8ba054ad4f7eca946c2d14a63c3f07c0b586a0
third_party/googletest 2dd1c131950043a8ad5ab0d2dda0e0970596586a
third_party/opencensus-proto 4aa53e15cbf1a47bc9087e6cfdca214c1eea4e89
third_party/opentelemetry 60fa8754d890b5c55949a8c68dcfd7ab5c2395df

Loading…
Cancel
Save