diff options
author | hrustyashko <hrustyashko@yandex-team.ru> | 2022-04-08 16:12:21 +0300 |
---|---|---|
committer | hrustyashko <hrustyashko@yandex-team.ru> | 2022-04-08 16:12:21 +0300 |
commit | b86aa3727057d9997ca28ef128e7550b98745688 (patch) | |
tree | df70c51c802765d50d3e62c258efc98f4a193440 | |
parent | 7a59b5cdcfbc5c20174e5cec8e6e670fcbf066b3 (diff) | |
download | ydb-b86aa3727057d9997ca28ef128e7550b98745688.tar.gz |
KIKIMR-14667 OSS сборка ydb тянет cloud зависимость
move cloud_function's specific provider to /yql/providers
rename providers/external_function to providers/funtion
ref:9e1f75312ba88c116e4d007207d2cec6f62d532a
138 files changed, 125 insertions, 12142 deletions
diff --git a/CMakeLists.darwin.txt b/CMakeLists.darwin.txt index c185f3bf02..09f0493926 100644 --- a/CMakeLists.darwin.txt +++ b/CMakeLists.darwin.txt @@ -1200,8 +1200,8 @@ add_subdirectory(ydb/library/yql/dq/state/ut) add_subdirectory(ydb/library/yql/parser/pg_catalog/ut) add_subdirectory(ydb/library/yql/providers/common/schema) add_subdirectory(ydb/library/yql/providers/common/schema/skiff) -add_subdirectory(ydb/library/yql/providers/external_function/provider) -add_subdirectory(ydb/library/yql/providers/external_function/expr_nodes) +add_subdirectory(ydb/library/yql/providers/function/provider) +add_subdirectory(ydb/library/yql/providers/function/expr_nodes) add_subdirectory(contrib/tools/python3/src) add_subdirectory(contrib/tools/python3/src/Modules) add_subdirectory(contrib/libs/expat) @@ -1214,8 +1214,8 @@ add_subdirectory(library/python/symbols/python) add_subdirectory(contrib/tools/python3/lib) add_subdirectory(contrib/tools/python3/src/Modules/_sqlite) add_subdirectory(contrib/libs/sqlite3) -add_subdirectory(ydb/library/yql/providers/external_function/common) -add_subdirectory(ydb/library/yql/providers/external_function/gateway) +add_subdirectory(ydb/library/yql/providers/function/common) +add_subdirectory(ydb/library/yql/providers/function/gateway) add_subdirectory(ydb/library/yql/public/decimal/ut) add_subdirectory(ydb/library/yql/public/issue/ut) add_subdirectory(ydb/library/yql/public/udf/ut) @@ -1232,18 +1232,6 @@ add_subdirectory(ydb/public/sdk/cpp/examples/ttl) add_subdirectory(ydb/library/yql/providers/common/codec/ut) add_subdirectory(ydb/library/yql/providers/common/structured_token/ut) add_subdirectory(ydb/library/yql/providers/pq/gateway/dummy) -add_subdirectory(ydb/library/yql/providers/external_function/cloud_function/actors) -add_subdirectory(ydb/library/yql/providers/external_function/cloud_function/gateway) -add_subdirectory(cloud/bitbucket/private-api/yandex/cloud/priv/serverless/functions/v1) -add_subdirectory(contrib/libs/googleapis-common-protos) -add_subdirectory(cloud/bitbucket/common-api/yandex/cloud/api) -add_subdirectory(cloud/bitbucket/common-api/yandex/cloud/api/tools) -add_subdirectory(cloud/bitbucket/private-api/yandex/cloud/priv) -add_subdirectory(cloud/bitbucket/private-api/yandex/cloud/priv/access) -add_subdirectory(cloud/bitbucket/private-api/yandex/cloud/priv/operation) -add_subdirectory(cloud/bitbucket/private-api/yandex/cloud/priv/quota) add_subdirectory(ydb/library/yql/udfs/common/stat/ut) add_subdirectory(ydb/library/yql/udfs/common/topfreq/ut) add_subdirectory(ydb/public/sdk/cpp/client/extensions/discovery_mutator/ut) -add_subdirectory(ydb/library/yql/providers/external_function/cloud_function/actors/ut) -add_subdirectory(ydb/library/yql/providers/common/http_gateway/mock) diff --git a/CMakeLists.linux.txt b/CMakeLists.linux.txt index f9134b30db..ec209acacd 100644 --- a/CMakeLists.linux.txt +++ b/CMakeLists.linux.txt @@ -1295,8 +1295,8 @@ add_subdirectory(ydb/library/yql/dq/state/ut) add_subdirectory(ydb/library/yql/parser/pg_catalog/ut) add_subdirectory(ydb/library/yql/providers/common/schema) add_subdirectory(ydb/library/yql/providers/common/schema/skiff) -add_subdirectory(ydb/library/yql/providers/external_function/provider) -add_subdirectory(ydb/library/yql/providers/external_function/expr_nodes) +add_subdirectory(ydb/library/yql/providers/function/provider) +add_subdirectory(ydb/library/yql/providers/function/expr_nodes) add_subdirectory(contrib/tools/python3/src) add_subdirectory(contrib/tools/python3/src/Modules) add_subdirectory(contrib/libs/xz/liblzma) @@ -1308,8 +1308,8 @@ add_subdirectory(library/python/symbols/python) add_subdirectory(contrib/tools/python3/lib) add_subdirectory(contrib/tools/python3/src/Modules/_sqlite) add_subdirectory(contrib/libs/sqlite3) -add_subdirectory(ydb/library/yql/providers/external_function/common) -add_subdirectory(ydb/library/yql/providers/external_function/gateway) +add_subdirectory(ydb/library/yql/providers/function/common) +add_subdirectory(ydb/library/yql/providers/function/gateway) add_subdirectory(ydb/library/yql/public/decimal/ut) add_subdirectory(ydb/library/yql/public/issue/ut) add_subdirectory(ydb/library/yql/public/udf/ut) @@ -1326,18 +1326,6 @@ add_subdirectory(ydb/public/sdk/cpp/examples/ttl) add_subdirectory(ydb/library/yql/providers/common/codec/ut) add_subdirectory(ydb/library/yql/providers/common/structured_token/ut) add_subdirectory(ydb/library/yql/providers/pq/gateway/dummy) -add_subdirectory(ydb/library/yql/providers/external_function/cloud_function/actors) -add_subdirectory(ydb/library/yql/providers/external_function/cloud_function/gateway) -add_subdirectory(cloud/bitbucket/private-api/yandex/cloud/priv/serverless/functions/v1) -add_subdirectory(contrib/libs/googleapis-common-protos) -add_subdirectory(cloud/bitbucket/common-api/yandex/cloud/api) -add_subdirectory(cloud/bitbucket/common-api/yandex/cloud/api/tools) -add_subdirectory(cloud/bitbucket/private-api/yandex/cloud/priv) -add_subdirectory(cloud/bitbucket/private-api/yandex/cloud/priv/access) -add_subdirectory(cloud/bitbucket/private-api/yandex/cloud/priv/operation) -add_subdirectory(cloud/bitbucket/private-api/yandex/cloud/priv/quota) add_subdirectory(ydb/library/yql/udfs/common/stat/ut) add_subdirectory(ydb/library/yql/udfs/common/topfreq/ut) add_subdirectory(ydb/public/sdk/cpp/client/extensions/discovery_mutator/ut) -add_subdirectory(ydb/library/yql/providers/external_function/cloud_function/actors/ut) -add_subdirectory(ydb/library/yql/providers/common/http_gateway/mock) diff --git a/cloud/README.md b/cloud/README.md deleted file mode 100644 index 3e469f7ad8..0000000000 --- a/cloud/README.md +++ /dev/null @@ -1,7 +0,0 @@ -# Yandex Cloud (https://wiki.yandex-team.ru/cloud) - -This repository used for YC projects -Another repositories - https://bb.yandex-team.ru/projects/CLOUD/ - -Please contact devel@yandex-team.ru for any support - diff --git a/cloud/__init__.py b/cloud/__init__.py deleted file mode 100644 index e69de29bb2..0000000000 --- a/cloud/__init__.py +++ /dev/null diff --git a/cloud/bitbucket/common-api/yandex/cloud/api/CMakeLists.txt b/cloud/bitbucket/common-api/yandex/cloud/api/CMakeLists.txt deleted file mode 100644 index 895a0abdd9..0000000000 --- a/cloud/bitbucket/common-api/yandex/cloud/api/CMakeLists.txt +++ /dev/null @@ -1,53 +0,0 @@ - -# This file was gererated by the build system used internally in the Yandex monorepo. -# Only simple modifications are allowed (adding source-files to targets, adding simple properties -# like target_include_directories). These modifications will be ported to original -# ya.make files by maintainers. Any complex modifications which can't be ported back to the -# original buildsystem will not be accepted. - - - -add_library(yandex-cloud-api) -set_property(TARGET yandex-cloud-api PROPERTY - PROTOC_EXTRA_OUTS .grpc.pb.cc .grpc.pb.h -) -set_property(TARGET yandex-cloud-api PROPERTY - PROTO_NAMESPACE cloud/bitbucket/common-api -) -target_include_directories(yandex-cloud-api PUBLIC - ${CMAKE_BINARY_DIR}/cloud/bitbucket/common-api -) -target_include_directories(yandex-cloud-api PRIVATE - ${CMAKE_BINARY_DIR}/cloud/bitbucket/common-api -) -target_link_libraries(yandex-cloud-api PUBLIC - contrib-libs-cxxsupp - yutil - contrib-libs-grpc - contrib-libs-googleapis-common-protos - cloud-api-tools - contrib-libs-protobuf -) -target_proto_messages(yandex-cloud-api PRIVATE - ${CMAKE_SOURCE_DIR}/cloud/bitbucket/common-api/yandex/cloud/api/operation.proto -) -target_proto_addincls(yandex-cloud-api - ./cloud/bitbucket/common-api - ${CMAKE_SOURCE_DIR}/cloud/bitbucket/common-api - ${CMAKE_BINARY_DIR} - ${CMAKE_SOURCE_DIR} - ${CMAKE_SOURCE_DIR}/cloud/bitbucket/common-api - ${CMAKE_SOURCE_DIR}/contrib/libs/googleapis-common-protos - ${CMAKE_SOURCE_DIR}/contrib/libs/protobuf/src - ${CMAKE_SOURCE_DIR}/cloud/bitbucket/common-api - ${CMAKE_BINARY_DIR} - ${CMAKE_SOURCE_DIR}/contrib/libs/protobuf/src -) -target_proto_outs(yandex-cloud-api - --cpp_out=${CMAKE_BINARY_DIR}/cloud/bitbucket/common-api - --cpp_styleguide_out=${CMAKE_BINARY_DIR}/cloud/bitbucket/common-api -) -target_proto_plugin(yandex-cloud-api - grpc_cpp - grpc_cpp -) diff --git a/cloud/bitbucket/common-api/yandex/cloud/api/operation.proto b/cloud/bitbucket/common-api/yandex/cloud/api/operation.proto deleted file mode 100644 index ad794a9cbe..0000000000 --- a/cloud/bitbucket/common-api/yandex/cloud/api/operation.proto +++ /dev/null @@ -1,24 +0,0 @@ -syntax = "proto3"; - -package yandex.cloud.api; - -import "google/protobuf/descriptor.proto"; -import "yandex/cloud/api/tools/options.proto"; - -option go_package = "a.yandex-team.ru/cloud/bitbucket/common-api/yandex/cloud/api;api"; -option (cloud.api.tools.file).lint_skip.java_package = true; - -extend google.protobuf.MethodOptions { Operation operation = 87334; } - -// Operation is annotation for rpc that returns longrunning operation, describes -// message types that will be returned in metadata [google.protobuf.Any], and -// in response [google.protobuf.Any] (for successful operation). -message Operation { - // Optional. If present, rpc returns operation which metadata field will - // contains message of specified type. - string metadata = 1; // Optional. - - // Required. rpc returns operation, in case of success response will contains message of - // specified field. - string response = 2; // Required. -} diff --git a/cloud/bitbucket/common-api/yandex/cloud/api/tools/CMakeLists.txt b/cloud/bitbucket/common-api/yandex/cloud/api/tools/CMakeLists.txt deleted file mode 100644 index ee192d71f6..0000000000 --- a/cloud/bitbucket/common-api/yandex/cloud/api/tools/CMakeLists.txt +++ /dev/null @@ -1,51 +0,0 @@ - -# This file was gererated by the build system used internally in the Yandex monorepo. -# Only simple modifications are allowed (adding source-files to targets, adding simple properties -# like target_include_directories). These modifications will be ported to original -# ya.make files by maintainers. Any complex modifications which can't be ported back to the -# original buildsystem will not be accepted. - - - -add_library(cloud-api-tools) -set_property(TARGET cloud-api-tools PROPERTY - PROTOC_EXTRA_OUTS .grpc.pb.cc .grpc.pb.h -) -set_property(TARGET cloud-api-tools PROPERTY - PROTO_NAMESPACE cloud/bitbucket/common-api -) -target_include_directories(cloud-api-tools PUBLIC - ${CMAKE_BINARY_DIR}/cloud/bitbucket/common-api -) -target_include_directories(cloud-api-tools PRIVATE - ${CMAKE_BINARY_DIR}/cloud/bitbucket/common-api -) -target_link_libraries(cloud-api-tools PUBLIC - contrib-libs-cxxsupp - yutil - contrib-libs-grpc - contrib-libs-googleapis-common-protos - contrib-libs-protobuf -) -target_proto_messages(cloud-api-tools PRIVATE - ${CMAKE_SOURCE_DIR}/cloud/bitbucket/common-api/yandex/cloud/api/tools/options.proto -) -target_proto_addincls(cloud-api-tools - ./cloud/bitbucket/common-api - ${CMAKE_SOURCE_DIR}/cloud/bitbucket/common-api - ${CMAKE_BINARY_DIR} - ${CMAKE_SOURCE_DIR} - ${CMAKE_SOURCE_DIR}/cloud/bitbucket/common-api - ${CMAKE_SOURCE_DIR}/contrib/libs/googleapis-common-protos - ${CMAKE_SOURCE_DIR}/contrib/libs/protobuf/src - ${CMAKE_BINARY_DIR} - ${CMAKE_SOURCE_DIR}/contrib/libs/protobuf/src -) -target_proto_outs(cloud-api-tools - --cpp_out=${CMAKE_BINARY_DIR}/cloud/bitbucket/common-api - --cpp_styleguide_out=${CMAKE_BINARY_DIR}/cloud/bitbucket/common-api -) -target_proto_plugin(cloud-api-tools - grpc_cpp - grpc_cpp -) diff --git a/cloud/bitbucket/common-api/yandex/cloud/api/tools/options.proto b/cloud/bitbucket/common-api/yandex/cloud/api/tools/options.proto deleted file mode 100644 index bc0c14275c..0000000000 --- a/cloud/bitbucket/common-api/yandex/cloud/api/tools/options.proto +++ /dev/null @@ -1,87 +0,0 @@ -syntax = "proto3"; - -package yandex.cloud.api.tools; - -import "google/protobuf/descriptor.proto"; - -option go_package = "a.yandex-team.ru/cloud/bitbucket/common-api/yandex/cloud/api/tools;tools"; -option (cloud.api.tools.file).lint_skip.java_package = true; - -// NOTE(skipor): option extention names should have package scope unique names -// and global unique ids per Options type from range 50000-99999 reserved for internal use. - -extend google.protobuf.FileOptions {FileOptions file = 67321;} -extend google.protobuf.MessageOptions {MessageOptions message = 67321;} -extend google.protobuf.FieldOptions {FieldOptions field = 67321;} -extend google.protobuf.EnumOptions {EnumOptions enumeration = 67321;} // enum is reserved word :( -extend google.protobuf.EnumValueOptions {EnumValueOptions value = 67321;} -extend google.protobuf.ServiceOptions {ServiceOptions service = 67321;} -extend google.protobuf.MethodOptions {MethodOptions method = 67321;} - -message FileOptions { - FileLintSkip lint_skip = 1; -} - -message FileLintSkip { - bool all = 1; - bool go_package = 2; - bool file_path = 3; - bool java_package = 4; -} - -message MessageOptions { - CommonLintSkip lint_skip = 1; - string openapi_name = 2; -} - -message FieldOptions { - // Used to declare which schema may have protobuf.Struct field. - // TODO(skipor): if v1 and later apis use it move it to yandex.cloud.api package, and parse - // at lint stage, but not at options parse. - repeated string one_of = 1; - FieldLintSkip lint_skip = 2; -} - -message FieldLintSkip { - bool all = 1; - bool int_type = 2; - bool float_type = 3; - bool json_name = 4; -} - -message EnumOptions { - EnumLintSkip lint_skip = 2; - string openapi_name = 3; -} - -message EnumLintSkip { - bool all = 1; - bool value_names_case = 2; - bool unspecified_value = 3; -} - -message EnumValueOptions { - CommonLintSkip lint_skip = 1; -} - -message ServiceOptions { - CommonLintSkip lint_skip = 1; - bool skip_generate = 2; -} - -message MethodOptions { - MethodLintSkip lint_skip = 1; - bool skip_generate = 2; -} - -message MethodLintSkip { - bool all = 1; - bool contains_resource_name = 2; - bool http_query_parameters = 3; - bool http_path = 4; - bool http_verb = 5; -} - -message CommonLintSkip { - bool all = 1; -} diff --git a/cloud/bitbucket/private-api/README.md b/cloud/bitbucket/private-api/README.md deleted file mode 100644 index 5afc5b317e..0000000000 --- a/cloud/bitbucket/private-api/README.md +++ /dev/null @@ -1,52 +0,0 @@ -## Private API development guide - -All cloud control plane API definition based on [gRPC](https://grpc.io). - -### Repository setup -#### Prerequisites - -- make -- on Mac OS X, protoc (should be >= 3.5) or Homebrew (protoc will be installed using brew) -- on Linux, protoc (should be >= 3.5) or sudo access to install it from github - -#### Steps - -Example: - -``` -git clone https://bb.yandex-team.ru/scm/cloud/private-api.git -cd private-api - -// ...Hack-hack-hack... - -make lint -``` - -### Checking proto compilation locally - -Just run `make lint` inside src root. -To build proto tools from source set 'BUILD_TOOLS' variable to 1. -Also you may check compilation of swagger docs out of cloud API: run `make generate` for that. - -For Pull Request build both successful `lint` and `generate` required. - - -#### Validation - -Normally, all the fields of all messages received from users must be validated: -- Request messages; -- Value objects used in request messages; -- Value objects used in value objects and so on. - -Output messages does not require validation. - -Syntax and examples can be found in ``yandex/cloud/priv/example/v1alpha/validation_example.proto`` - -For Java developers there is ``java`` module, ``mvn clean package`` in this directory does following: - - builds and packages all proto-files in the repository - - tests all validators for syntax and applicability - - includes yandex.cloud.proto.ProtoValidator which helps validating messages in grpc interceptor. - -The `java/do_local_install.sh` script is useful for local development of a feature branch. -The script will run `mvn versions:set && mvn clean install` and install built artifacts -in the local maven repo with snapshot version. Please run `versions:revert` manually if script failed at compilation. diff --git a/cloud/bitbucket/private-api/README.roles.md b/cloud/bitbucket/private-api/README.roles.md deleted file mode 100644 index 8fbc10189d..0000000000 --- a/cloud/bitbucket/private-api/README.roles.md +++ /dev/null @@ -1,108 +0,0 @@ -# identity-role-access-matrix - -Этот документ описывает новый формат хранения данных о well-known сущностях IAM'а. - -Пермишены и сервисные роли хранятся в отдельном каталоге для сервиса, который ими управляет. -Например, пермишен `compute.instances.start` может быть задан в файле `compute/permissions.yaml`, а роль `resource-manager.clouds.member` — в файле `resource-manager/roles.yaml`. -Внутри своего каталога команда сервиса может организовать данные как угодно, одним файлом или несколькими, положить их в одном каталоге или раскидать по поддиректориям. -Обязательное требование — файлы внутри подкаталогов должны называться `permissions.yaml`, `roles.yaml`, `stages.yaml`, `resources.yaml` для описания набора прав, ролей, стейджей и типов ресурсов соответсвенно. -В каждом файле можно сослаться на сущность из любого другого файла — точно так же, как если бы сущности были описаны рядом, явно ссылаться на файл не нужно. - -Если эта документация противоречит тому, что на самом деле творится в файлах — значит, в файлах неправильно :) - -## Тулинг - -Для проверки того, что yaml'ы написаны верно, можно воспользоваться `yc-iam-compile-role-fixtures` из Python-пакета [yc_iam_tools](https://bb.yandex-team.ru/projects/CLOUD/repos/identity/browse/iam_tools/yc_iam_tools/). А можно и не пользоваться, такая же проверка запускается в TeamCity на каждый PR. - -## Роли - -```yaml -roles: - # В этом dict'е перечисляются роли: ключ — название роли, значение — dict со свойствами - - example.editor: # название роли - - # Описание роли на английском для документации. - summary: |> - Edit different things that are managed by ExampleService. - Users with this role are also allowed to whisper to horses. - - # Видимость роли: может быть public или internal. Роли public видят пользователи, а internal роли — нет. - # Public роль не должна включать в себя internal-пермишены, сейчас это warning при компиляции, - # в будущем повысим до error. - visibility: public - - # Минимальный тип ресурса, на который можно назначить роль. - resourceType: resource-manager.folder - # Эту роль можно назначить на фолдер или на клауд, но нельзя на SA или на биллинг-аккаунт. - # Такая роль может содержать пермишены, у которых resourceType фолдер или какой-нибудь вложенный в него ресурс, - # но не может содержать никакие другие пермишены. - - # Другие роли, входящие в состав этой. - # Параметр можно не указывать, если не нужно инклюдить никакие другие роли. - includedRoles: - - example.viewer - - horse.whisperer - # Роль `example.editor` содержит все пермишены из `example.viewer` и `horse.whisperer`. - # `includedRoles` работает транзитивно: если в определении `example.viewer` тоже инклюдятся какие-то роли, - # то их пермишены входят и в `example.editor`. - - # Пермишены, входящие в роль. - # Параметр можно не указывать, если роль не включает никаких пермишенов напрямую. - permissions: - - example.things.edit - - example.things.manage - # Есть сокращённая форма записи: - - example.thingCollections.{create,update,delete} - # Фигурные скобки можно использовать в любом месте записи: - # `sample.{horses,mice,chickens}.{feed,pet}` тоже можно сказать, - # эта запись разресолвится в 6 пермишенов. - # (Но лучше таким не злоупотреблять.) - - # В итоге получается, что в роль `example.editor` входят пермишены: - # `example.things.edit`, `example.things.manage`, - # `example.thingCollections.create`, `example.thingCollections.update`, `example.thingCollections.delete`, - # а также все пермишены, которые входят в роли `example.viewer` и `horse.whisperer`. - - # Ещё одна роль. - example.viewer: - # Эта роль используется в роли `example.editor` выше. - # Но это не значит, что `example.viewer` в файле должна идти после `example.editor` — - # можно расположить их хоть как или вообще положить в разные файлы. - ... -``` - -Роли задаются аддитивно: можно создать роль "`viewer` плюс `compute.editor` плюс `iam.serviceAccounts.create`", но нельзя задать "`viewer` минус `billing.viewer`" или "все пермишены `serverless.*.*`, кроме `serverless.*.delete`". Это сделано специально, чтобы при добавлении новой роли/пермишена вся система вела себя более предсказуемо. - -Некоторые роли помечены как "псевдороли", у них есть поле `pseudorole: true`. Это временные сущности, они нужны только для того, чтобы из них составить общеоблачные роли типа `viewer`. Ни внешние, ни внутренние пользователи не могут видеть псевдороли в API и назначать на ресурсы. Сервисам рекомендуется заменить их на правильные сервисные роли. - -## Пермишены - -```yaml -permissions: - - iam.accessBinding.delete: # имя пермишена - - # Описание роли на английском для документации. - description: Delete access binding. - - # Стейдж. Чаще всего это GA. - # Список стейджей лежит в `stages.yaml`. - stage: GA - - # Видимость пермишена: может быть public или internal. - # Связана с видимостью ролей: internal пермишены не должны входить в public роли. - visibility: public - - # Здесь задаются условия, когда пермишен может действовать. - allowedWhen: - - # Сейчас можно задать только условие на статус клауда. - cloud: - status: - - BLOCKED_BY_BILLING - - ACTIVE - # Этим пермишеном можно воспользоваться только тогда, когда клауд - # находится в статусе ACTIVE или BLOCKED_BY_BILLING. - # А если клауд в другом статусе — например, BLOCKED — пермишен запрещён. -``` diff --git a/cloud/bitbucket/private-api/yandex/cloud/priv/CMakeLists.txt b/cloud/bitbucket/private-api/yandex/cloud/priv/CMakeLists.txt deleted file mode 100644 index 4ac967704e..0000000000 --- a/cloud/bitbucket/private-api/yandex/cloud/priv/CMakeLists.txt +++ /dev/null @@ -1,52 +0,0 @@ - -# This file was gererated by the build system used internally in the Yandex monorepo. -# Only simple modifications are allowed (adding source-files to targets, adding simple properties -# like target_include_directories). These modifications will be ported to original -# ya.make files by maintainers. Any complex modifications which can't be ported back to the -# original buildsystem will not be accepted. - - - -add_library(yandex-cloud-priv) -set_property(TARGET yandex-cloud-priv PROPERTY - PROTOC_EXTRA_OUTS .grpc.pb.cc .grpc.pb.h -) -set_property(TARGET yandex-cloud-priv PROPERTY - PROTO_NAMESPACE cloud/bitbucket/private-api -) -target_include_directories(yandex-cloud-priv PUBLIC - ${CMAKE_BINARY_DIR}/cloud/bitbucket/private-api -) -target_include_directories(yandex-cloud-priv PRIVATE - ${CMAKE_BINARY_DIR}/cloud/bitbucket/private-api -) -target_link_libraries(yandex-cloud-priv PUBLIC - contrib-libs-cxxsupp - yutil - contrib-libs-grpc - contrib-libs-googleapis-common-protos - contrib-libs-protobuf -) -target_proto_messages(yandex-cloud-priv PRIVATE - ${CMAKE_SOURCE_DIR}/cloud/bitbucket/private-api/yandex/cloud/priv/sensitive.proto - ${CMAKE_SOURCE_DIR}/cloud/bitbucket/private-api/yandex/cloud/priv/validation.proto -) -target_proto_addincls(yandex-cloud-priv - ./cloud/bitbucket/private-api - ${CMAKE_SOURCE_DIR}/cloud/bitbucket/private-api - ${CMAKE_BINARY_DIR} - ${CMAKE_SOURCE_DIR} - ${CMAKE_SOURCE_DIR}/cloud/bitbucket/private-api - ${CMAKE_SOURCE_DIR}/contrib/libs/googleapis-common-protos - ${CMAKE_SOURCE_DIR}/contrib/libs/protobuf/src - ${CMAKE_BINARY_DIR} - ${CMAKE_SOURCE_DIR}/contrib/libs/protobuf/src -) -target_proto_outs(yandex-cloud-priv - --cpp_out=${CMAKE_BINARY_DIR}/cloud/bitbucket/private-api - --cpp_styleguide_out=${CMAKE_BINARY_DIR}/cloud/bitbucket/private-api -) -target_proto_plugin(yandex-cloud-priv - grpc_cpp - grpc_cpp -) diff --git a/cloud/bitbucket/private-api/yandex/cloud/priv/access/CMakeLists.txt b/cloud/bitbucket/private-api/yandex/cloud/priv/access/CMakeLists.txt deleted file mode 100644 index 292231e480..0000000000 --- a/cloud/bitbucket/private-api/yandex/cloud/priv/access/CMakeLists.txt +++ /dev/null @@ -1,53 +0,0 @@ - -# This file was gererated by the build system used internally in the Yandex monorepo. -# Only simple modifications are allowed (adding source-files to targets, adding simple properties -# like target_include_directories). These modifications will be ported to original -# ya.make files by maintainers. Any complex modifications which can't be ported back to the -# original buildsystem will not be accepted. - - - -add_library(cloud-priv-access) -set_property(TARGET cloud-priv-access PROPERTY - PROTOC_EXTRA_OUTS .grpc.pb.cc .grpc.pb.h -) -set_property(TARGET cloud-priv-access PROPERTY - PROTO_NAMESPACE cloud/bitbucket/private-api -) -target_include_directories(cloud-priv-access PUBLIC - ${CMAKE_BINARY_DIR}/cloud/bitbucket/private-api -) -target_include_directories(cloud-priv-access PRIVATE - ${CMAKE_BINARY_DIR}/cloud/bitbucket/private-api -) -target_link_libraries(cloud-priv-access PUBLIC - contrib-libs-cxxsupp - yutil - contrib-libs-grpc - contrib-libs-googleapis-common-protos - yandex-cloud-priv - contrib-libs-protobuf -) -target_proto_messages(cloud-priv-access PRIVATE - ${CMAKE_SOURCE_DIR}/cloud/bitbucket/private-api/yandex/cloud/priv/access/access.proto -) -target_proto_addincls(cloud-priv-access - ./cloud/bitbucket/private-api - ${CMAKE_SOURCE_DIR}/cloud/bitbucket/private-api - ${CMAKE_BINARY_DIR} - ${CMAKE_SOURCE_DIR} - ${CMAKE_SOURCE_DIR}/cloud/bitbucket/private-api - ${CMAKE_SOURCE_DIR}/contrib/libs/googleapis-common-protos - ${CMAKE_SOURCE_DIR}/contrib/libs/protobuf/src - ${CMAKE_SOURCE_DIR}/cloud/bitbucket/private-api - ${CMAKE_BINARY_DIR} - ${CMAKE_SOURCE_DIR}/contrib/libs/protobuf/src -) -target_proto_outs(cloud-priv-access - --cpp_out=${CMAKE_BINARY_DIR}/cloud/bitbucket/private-api - --cpp_styleguide_out=${CMAKE_BINARY_DIR}/cloud/bitbucket/private-api -) -target_proto_plugin(cloud-priv-access - grpc_cpp - grpc_cpp -) diff --git a/cloud/bitbucket/private-api/yandex/cloud/priv/access/access.proto b/cloud/bitbucket/private-api/yandex/cloud/priv/access/access.proto deleted file mode 100644 index 08ef897678..0000000000 --- a/cloud/bitbucket/private-api/yandex/cloud/priv/access/access.proto +++ /dev/null @@ -1,94 +0,0 @@ -syntax = "proto3"; - -package yandex.cloud.priv.access; - -import "yandex/cloud/priv/validation.proto"; - -option go_package = "a.yandex-team.ru/cloud/bitbucket/private-api/yandex/cloud/priv/access;access"; -option java_outer_classname = "PA"; - -// * `type = system, id = allUsers`: A special identifier that represents anyone. -// -// * `type = system, id = allAuthenticatedUsers`: A special identifier that represents anyone -// who is authenticated. -// -// * `type = userAccount, id = <cloud generated id>` -// -// * `type = federatedUser, id = <cloud generated id>` -// -// * `type = serviceAccount, id = <cloud generated id>` -// -// * `type = group, id = <cloud generated id>` - -message Subject { - string id = 1 [(required) = true, (length) = "<=50"]; - string type = 2 [(required) = true, (length) = "<=100"]; -} - -message AccessBinding { - string role_id = 1 [(required) = true, (length) = "<=50"]; - Subject subject = 2 [(required) = true]; -} - -message ListAccessBindingsRequest { - string resource_id = 1 [(required) = true, (length) = "<=50"]; - int64 page_size = 2 [(value) = "0-1000"]; - string page_token = 3 [(length) = "<=100"]; - // A flag allowing the service to determine that the original action was - // initiated from services (private API) when [private_call] = true, or from - // the public API when [private_call] = false. [private_call] = false adds - // additional restrictions on the execution of the action (ex. the prohibition - // of manipulating internal roles, internal roles are not returned in a result). - // When proxying from the public API, this field MUST be mapped to false. - bool private_call = 4; -} - -message ListAccessBindingsResponse { - repeated AccessBinding access_bindings = 1; - string next_page_token = 2; -} - -message SetAccessBindingsRequest { - string resource_id = 1 [(required) = true, (length) = "<=50"]; - repeated AccessBinding access_bindings = 2; - // A flag allowing the service to determine that the original action was - // initiated from services (private API) when [private_call] = true, or from - // the public API when [private_call] = false. [private_call] = false adds - // additional restrictions on the execution of the action (ex. the prohibition - // of manipulating internal roles, throwing NotFoundException on an - // internal role). When proxying from the public API, - // this field MUST be mapped to false. - bool private_call = 3; -} - -message SetAccessBindingsMetadata { - string resource_id = 1; -} - -message UpdateAccessBindingsRequest { - string resource_id = 1 [(required) = true, (length) = "<=50"]; - repeated AccessBindingDelta access_binding_deltas = 2 [(size) = ">0"]; - // A flag allowing the service to determine that the original action was - // initiated from services (private API) when [private_call] = true, or from - // the public API when [private_call] = false. [private_call] = false adds - // additional restrictions on the execution of the action (ex. the prohibition - // of manipulating internal roles, throwing NotFoundException on an - // internal role). When proxying from the public API, - // this field MUST be mapped to false. - bool private_call = 3; -} - -message UpdateAccessBindingsMetadata { - string resource_id = 1; -} - -enum AccessBindingAction { - ACCESS_BINDING_ACTION_UNSPECIFIED = 0; - ADD = 1; - REMOVE = 2; -} - -message AccessBindingDelta { - AccessBindingAction action = 1 [(required) = true]; - AccessBinding access_binding = 2 [(required) = true]; -} diff --git a/cloud/bitbucket/private-api/yandex/cloud/priv/operation/CMakeLists.txt b/cloud/bitbucket/private-api/yandex/cloud/priv/operation/CMakeLists.txt deleted file mode 100644 index 2c46cc6a81..0000000000 --- a/cloud/bitbucket/private-api/yandex/cloud/priv/operation/CMakeLists.txt +++ /dev/null @@ -1,51 +0,0 @@ - -# This file was gererated by the build system used internally in the Yandex monorepo. -# Only simple modifications are allowed (adding source-files to targets, adding simple properties -# like target_include_directories). These modifications will be ported to original -# ya.make files by maintainers. Any complex modifications which can't be ported back to the -# original buildsystem will not be accepted. - - - -add_library(cloud-priv-operation) -set_property(TARGET cloud-priv-operation PROPERTY - PROTOC_EXTRA_OUTS .grpc.pb.cc .grpc.pb.h -) -set_property(TARGET cloud-priv-operation PROPERTY - PROTO_NAMESPACE cloud/bitbucket/private-api -) -target_include_directories(cloud-priv-operation PUBLIC - ${CMAKE_BINARY_DIR}/cloud/bitbucket/private-api -) -target_include_directories(cloud-priv-operation PRIVATE - ${CMAKE_BINARY_DIR}/cloud/bitbucket/private-api -) -target_link_libraries(cloud-priv-operation PUBLIC - contrib-libs-cxxsupp - yutil - contrib-libs-grpc - contrib-libs-googleapis-common-protos - contrib-libs-protobuf -) -target_proto_messages(cloud-priv-operation PRIVATE - ${CMAKE_SOURCE_DIR}/cloud/bitbucket/private-api/yandex/cloud/priv/operation/operation.proto -) -target_proto_addincls(cloud-priv-operation - ./cloud/bitbucket/private-api - ${CMAKE_SOURCE_DIR}/cloud/bitbucket/private-api - ${CMAKE_BINARY_DIR} - ${CMAKE_SOURCE_DIR} - ${CMAKE_SOURCE_DIR}/cloud/bitbucket/private-api - ${CMAKE_SOURCE_DIR}/contrib/libs/googleapis-common-protos - ${CMAKE_SOURCE_DIR}/contrib/libs/protobuf/src - ${CMAKE_BINARY_DIR} - ${CMAKE_SOURCE_DIR}/contrib/libs/protobuf/src -) -target_proto_outs(cloud-priv-operation - --cpp_out=${CMAKE_BINARY_DIR}/cloud/bitbucket/private-api - --cpp_styleguide_out=${CMAKE_BINARY_DIR}/cloud/bitbucket/private-api -) -target_proto_plugin(cloud-priv-operation - grpc_cpp - grpc_cpp -) diff --git a/cloud/bitbucket/private-api/yandex/cloud/priv/operation/operation.proto b/cloud/bitbucket/private-api/yandex/cloud/priv/operation/operation.proto deleted file mode 100644 index 0867840b50..0000000000 --- a/cloud/bitbucket/private-api/yandex/cloud/priv/operation/operation.proto +++ /dev/null @@ -1,28 +0,0 @@ -syntax = "proto3"; - -package yandex.cloud.priv.operation; - -import "google/protobuf/any.proto"; -import "google/rpc/status.proto"; -import "google/protobuf/timestamp.proto"; - - -option go_package = "a.yandex-team.ru/cloud/bitbucket/private-api/yandex/cloud/priv/operation;operation"; -option java_outer_classname = "PO"; - -message Operation { - string id = 1; - string description = 2; // ex: Create VM, Stop VM, Delete Disk, Snapshot Disk, etc - google.protobuf.Timestamp created_at = 3; - string created_by = 4; - google.protobuf.Timestamp modified_at = 5; - - bool done = 6; - - google.protobuf.Any metadata = 7; - - oneof result { - google.rpc.Status error = 8; // for error and cancellation - google.protobuf.Any response = 9; // for 'Create/Update' should contain entity - } -} diff --git a/cloud/bitbucket/private-api/yandex/cloud/priv/quota/CMakeLists.txt b/cloud/bitbucket/private-api/yandex/cloud/priv/quota/CMakeLists.txt deleted file mode 100644 index 4e9abb7d04..0000000000 --- a/cloud/bitbucket/private-api/yandex/cloud/priv/quota/CMakeLists.txt +++ /dev/null @@ -1,53 +0,0 @@ - -# This file was gererated by the build system used internally in the Yandex monorepo. -# Only simple modifications are allowed (adding source-files to targets, adding simple properties -# like target_include_directories). These modifications will be ported to original -# ya.make files by maintainers. Any complex modifications which can't be ported back to the -# original buildsystem will not be accepted. - - - -add_library(cloud-priv-quota) -set_property(TARGET cloud-priv-quota PROPERTY - PROTOC_EXTRA_OUTS .grpc.pb.cc .grpc.pb.h -) -set_property(TARGET cloud-priv-quota PROPERTY - PROTO_NAMESPACE cloud/bitbucket/private-api -) -target_include_directories(cloud-priv-quota PUBLIC - ${CMAKE_BINARY_DIR}/cloud/bitbucket/private-api -) -target_include_directories(cloud-priv-quota PRIVATE - ${CMAKE_BINARY_DIR}/cloud/bitbucket/private-api -) -target_link_libraries(cloud-priv-quota PUBLIC - contrib-libs-cxxsupp - yutil - contrib-libs-grpc - contrib-libs-googleapis-common-protos - yandex-cloud-priv - contrib-libs-protobuf -) -target_proto_messages(cloud-priv-quota PRIVATE - ${CMAKE_SOURCE_DIR}/cloud/bitbucket/private-api/yandex/cloud/priv/quota/quota.proto -) -target_proto_addincls(cloud-priv-quota - ./cloud/bitbucket/private-api - ${CMAKE_SOURCE_DIR}/cloud/bitbucket/private-api - ${CMAKE_BINARY_DIR} - ${CMAKE_SOURCE_DIR} - ${CMAKE_SOURCE_DIR}/cloud/bitbucket/private-api - ${CMAKE_SOURCE_DIR}/contrib/libs/googleapis-common-protos - ${CMAKE_SOURCE_DIR}/contrib/libs/protobuf/src - ${CMAKE_SOURCE_DIR}/cloud/bitbucket/private-api - ${CMAKE_BINARY_DIR} - ${CMAKE_SOURCE_DIR}/contrib/libs/protobuf/src -) -target_proto_outs(cloud-priv-quota - --cpp_out=${CMAKE_BINARY_DIR}/cloud/bitbucket/private-api - --cpp_styleguide_out=${CMAKE_BINARY_DIR}/cloud/bitbucket/private-api -) -target_proto_plugin(cloud-priv-quota - grpc_cpp - grpc_cpp -) diff --git a/cloud/bitbucket/private-api/yandex/cloud/priv/quota/quota.proto b/cloud/bitbucket/private-api/yandex/cloud/priv/quota/quota.proto deleted file mode 100644 index 8e3200a024..0000000000 --- a/cloud/bitbucket/private-api/yandex/cloud/priv/quota/quota.proto +++ /dev/null @@ -1,63 +0,0 @@ -syntax = "proto3"; - -package yandex.cloud.priv.quota; - -import "yandex/cloud/priv/validation.proto"; - -option go_package = "a.yandex-team.ru/cloud/bitbucket/private-api/yandex/cloud/priv/quota;quota"; -option java_outer_classname = "PQ"; - -// Cloud service should implement grpc service with signature -// -//service QuotaService { -// rpc Get (quota.GetQuotaRequest) returns (quota.Quota); -// -// rpc BatchUpdateMetric (quota.BatchUpdateQuotaMetricsRequest) returns (google.protobuf.Empty); -//} - -message Quota { - string cloud_id = 1; - repeated QuotaMetric metrics = 2; -} - -message QuotaMetric { - string name = 1; // formatted as <domain>.<metric>.<unit>, e.g. mdb.hdd.size - int64 value = 2 [deprecated=true]; // use 'usage' field instead - int64 limit = 3; - double usage = 4; -} - -message MetricLimit { - string name = 1; - int64 limit = 2; -} - -message GetQuotaRequest { - string cloud_id = 1 [(required) = true, (length) = "<=50"]; -} - -message UpdateQuotaMetricRequest { - string cloud_id = 1 [(required) = true, (length) = "<=50"]; - MetricLimit metric = 2; -} - -message BatchUpdateQuotaMetricsRequest { - string cloud_id = 1 [(required) = true, (length) = "<=50"]; - repeated MetricLimit metrics = 2; -} - -message GetQuotaDefaultRequest { -} - -message GetQuotaDefaultResponse { - repeated MetricLimit metrics = 1; -} - -message QuotaFailure { - message Violation { - QuotaMetric metric = 1; - int64 required = 2; // new value for the MetricLimit.limit, so it is: old limit + delta - } - string cloud_id = 1; - repeated Violation violations = 2; -} diff --git a/cloud/bitbucket/private-api/yandex/cloud/priv/resources.yaml b/cloud/bitbucket/private-api/yandex/cloud/priv/resources.yaml deleted file mode 100644 index 9a051f003a..0000000000 --- a/cloud/bitbucket/private-api/yandex/cloud/priv/resources.yaml +++ /dev/null @@ -1,3 +0,0 @@ -resources: - root: - parents: [] diff --git a/cloud/bitbucket/private-api/yandex/cloud/priv/restrictions.yaml b/cloud/bitbucket/private-api/yandex/cloud/priv/restrictions.yaml deleted file mode 100644 index fe8e05053b..0000000000 --- a/cloud/bitbucket/private-api/yandex/cloud/priv/restrictions.yaml +++ /dev/null @@ -1,32 +0,0 @@ -restrictions: - blockPermissions: - freeTier: - denyAllPermissionsByDefault: true - - deletingContainer: - denyAllPermissionsByDefault: true - - billSuspend: - servicesToStop: ["*"] - resourcesToStop: [] - stopDelay: PT0S - deletionInitiationInterval: P57D - deletionDelay: P3D - denyAllPermissionsByDefault: true - - clientBlocking: - servicesToStop: ["*"] - stopDelay: PT0S - denyAllPermissionsByDefault: true - - fraud: - servicesToStop: ["*"] - stopDelay: PT0S - deletionInitiationInterval: P4D - deletionDelay: P3D - denyAllPermissionsByDefault: true - - elasticsearchSanctions: - servicesToStop: ["managed-elasticsearch"] - stopDelay: P7D - denyAllPermissionsByDefault: false diff --git a/cloud/bitbucket/private-api/yandex/cloud/priv/roles.yaml b/cloud/bitbucket/private-api/yandex/cloud/priv/roles.yaml deleted file mode 100644 index fbb2897baf..0000000000 --- a/cloud/bitbucket/private-api/yandex/cloud/priv/roles.yaml +++ /dev/null @@ -1,446 +0,0 @@ -role_groups: - primitive: - name: Primitive roles - staff: - name: Cloud Staff Roles - infra: - name: YC Infra roles - -roles: - - ############################################################################## - # Primitive Roles - ############################################################################## - - viewer: - name: viewer - groups: [primitive] - description: доступ ко всем функциям в режиме чтения - visibility: public - includedRoles: - - alb.viewer.pseudo - - api-gateway.viewer - - audit-trails.configViewer - - audit-trails.viewer - - billing.accounts.viewer - - cdn.viewer - - certificate-manager.viewer - - cic.partnerViewer - - cic.secretViewer - - cic.viewer - - cloudbeaver.viewer - - compute.instanceGroups.viewer - - compute.viewer - - container-registry.viewer - - data-transfer.viewer - - dataproc.viewer - - datasphere.user - - dcnetwork.viewer # DoubleCloud Network - - dns.viewer - - gitlab.viewer - - iam.viewer - - iot.viewer - - k8s.cluster-api.viewer - - k8s.viewer - - kms.viewer - - load-balancer.viewer - - load-balancer.viewer - - loadtesting.viewer - - lockbox.viewer - - logging.reader - - logging.viewer - - marketplace.viewer - - mdb.viewer - - monitoring.viewer - - organization-manager.viewer - - quota-manager.viewer - - resource-manager.viewer - - serverless.containers.viewer - - serverless.functions.viewer.pseudo - - smart-captcha.viewer - - storage.viewer - - vdi.viewer - - vpc.viewer - - ydb.viewer - - ydb.viewer.pseudo - - yds.viewer - - ymq.viewer - - ymq.viewer.pseudo - - yq.viewer - scopes: - - yc.datalens.view - - yc.support.tickets.manage - permissions: - - cloudai.resources.{get,list} - - logs.logEvents.read - - editor: - name: 'editor' - groups: [primitive] - description: доступ ко всем функциям в режиме чтения и записи - visibility: public - includedRoles: - - ai.speechkit-stt.user - - ai.speechkit-tts.user - - ai.translate.user - - ai.vision.user - - alb.editor.pseudo - - api-gateway.editor - - audit-trails.editor - - billing.accounts.editor - - cdn.editor - - certificate-manager.editor - - cic.editor - - cic.partnerEditor - - cic.secretEditor - - cloudbeaver.editor - - compute.editor - - compute.instanceGroups.editor - - compute.osLogin - - container-registry.editor - - data-transfer.editor - - datalens.instances.user - - dataproc.editor - - dcnetwork.editor # DoubleCloud Network - - dns.editor - - gitlab.editor - - iam.editor - - iot.editor - - k8s.cluster-api.cluster-admin - - k8s.editor - - kms.editor - - loadtesting.editor - - lockbox.editor - - logging.editor - - logging.writer - - marketplace.editor - - mdb.editor - - monitoring.editor - - organization-manager.editor - - quota-manager.editor - - resource-manager.editor - - serverless.containers.editor - - serverless.functions.editor.pseudo - - smart-captcha.editor - - storage.editor - - vdi.editor - - viewer - - vpc.privateEditor.pseudo - - vpc.publicEditor.pseudo - - vpc.securityGroups.editor.pseudo - - vpc.user - - ydb.editor - - yds.editor - - ylb.networkLoadBalancers.publicEditor.pseudo - - ylb.targetGroups.editor.pseudo - - ymq.editor - - yq.editor - permissions: - - cloudai.biometry.exec - - cloudai.locator.exec - - cloudai.predictor.exec - - cloudai.resources.{create,delete,update} - - cloudai.speller.exec - - cloudai.vocabulary.exec - - logs.logEvents.write - - admin: - name: 'admin' - groups: [primitive] - description: доступ ко всем функциям в режиме чтения и записи, управление пользователями - и политиками - visibility: public - includedRoles: - - alb.admin.pseudo - - api-gateway.admin - - audit-trails.admin - - billing.accounts.admin - - cdn.admin - - certificate-manager.admin - - cloudbeaver.admin - - compute.admin - - compute.osAdminLogin - - container-registry.admin - - data-transfer.admin - - datalens.instances.admin - - dataproc.admin - - datasphere.admin - - dcnetwork.admin # DoubleCloud Network - - dns.admin - - editor - - gitlab.admin - - iam.admin - - iot.admin - - k8s.admin - - k8s.cluster-api.cluster-admin - - kms.admin - - loadtesting.admin - - lockbox.admin - - logging.admin - - mdb.admin - - monitoring.admin - - organization-manager.admin - - quota-manager.admin - - resource-manager.admin - - serverless.containers.admin - - serverless.functions.admin - - smart-captcha.admin - - storage.admin - - vdi.admin - - vpc.admin - - ydb.admin - - yds.admin - - ymq.admin - - yq.admin - - auditor: - #это временная роль, которая сейчас по составу неправильная и в таком виде ее нельзя пускать дальше в прод, пока сервисы не готовы поддерживать новую сервисную роль самостоятельно https://st.yandex-team.ru/CLOUDBIZ-6178 - name: auditor - groups: [primitive] - description: доступ только к конфигурации и метадате - visibility: internal - includedRoles: - - storage.configViewer - - vpc.viewer - - k8s.viewer - - k8s.cluster-api.viewer - - lockbox.viewer - - kms.viewer - - audit-trails.configViewer - - load-balancer.viewer - - certificate-manager.viewer - - container-registry.viewer - - iam.viewer - - dns.viewer - permissions: - - compute.console.getFolderStats - - compute.console.getDiskLimits - - compute.diskOperations.list - - compute.disks.{get,list} - - compute.filesystemOperations.list - - compute.filesystems.{get,list} - - compute.imageOperations.list - - compute.images.getLatestByFamily - - compute.images.{get,list} - - compute.instanceOperations.list - - compute.instances.{get,list} - - compute.instanceGroups.{get,list} - - compute.networkInterfaces.{get,list} - - compute.operations.{get,list} - - compute.placementGroups.{get,list,listInstances} - - compute.placementGroupOperations.list - - compute.platforms.get - - compute.diskPlacementGroups.{get,list,listDisks} - - compute.diskPlacementGroupOperations.list - - compute.hostGroups.{get,list,listHosts,listInstances} - - compute.hostGroupOperations.list - - compute.quotas.getCloudLimit - - compute.snapshotOperations.list - - compute.snapshots.{get,list} - - compute.zones.{get,list} - - ############################################################################## - # Support Roles - ############################################################################## - - support: - groups: [staff] - name: Техподдержка - visibility: internal - description: возможность проведения специфичных для support операций - includedRoles: - - alb.support - - audit-trails.support - - billing.support - - cdn.support - - certificate-manager.support - - cic.support - - cloudai.support - - cloudbeaver.support - - cloudsearch.cloudsIndex.support - - compute.instanceGroups.support - - compute.support - - container-registry.support - - data-transfer.support - - datalens.support - - disk-manager.support - - dns.support - - gitlab.support - - iam.support - - iot.support - - k8s.support - - kms.support - - load-balancer.support - - loadtesting.support - - lockbox.support - - logging.support - - logs.support - - marketplace.support - - mdb.supportMdb - - monitoring.support - - nbs.support - - quota-manager.support - - serverless.support - - storage.support - - vdi.support - - vpc.support - - ydb.support - - yds.support - - ymq.support - permissions: [] - - supportAdmin: - groups: [staff] - name: Техподдержка - visibility: internal - description: доступ к методам удаления объектов и квотам compute - includedRoles: - - alb.supportAdmin - - audit-trails.supportAdmin - - billing.supportAdmin - - cdn.supportAdmin - - certificate-manager.supportAdmin - - cic.supportAdmin - - cloudai.supportAdmin - - cloudbeaver.supportAdmin - - compute.instanceGroups.supportAdmin - - compute.supportAdmin - - container-registry.supportAdmin - - data-transfer.supportAdmin - - datalens.supportAdmin - - disk-manager.supportAdmin - - dns.supportAdmin - - gitlab.supportAdmin - - iam.supportAdmin - - iot.supportAdmin - - k8s.supportAdmin - - kms.supportAdmin - - load-balancer.supportAdmin - - loadtesting.supportAdmin - - lockbox.supportAdmin - - logging.supportAdmin - - logs.supportAdmin - - marketplace.supportAdmin - - mdb.supportAdmin - - monitoring.supportAdmin - - nbs.supportAdmin - - quota-manager.supportAdmin - - serverless.supportAdmin - - storage.supportAdmin - - vdi.supportAdmin - - vpc.supportAdmin - - ydb.supportAdmin - - yds.supportAdmin - - ymq.supportAdmin - permissions: [] - - supportadmin: - groups: [staff] - name: Техподдержка - visibility: internal - description: DEPRECATED - includedRoles: - - alb.supportAdmin - - audit-trails.supportAdmin - - billing.supportAdmin - - cdn.supportAdmin - - certificate-manager.supportAdmin - - cloudai.supportAdmin - - compute.supportAdmin - - container-registry.supportAdmin - - data-transfer.supportAdmin - - datalens.supportAdmin - - disk-manager.supportAdmin - - iam.supportAdmin - - iot.supportAdmin - - k8s.supportAdmin - - kms.supportAdmin - - load-balancer.supportAdmin - - lockbox.supportAdmin - - logs.supportAdmin - - marketplace.supportAdmin - - mdb.supportAdmin - - monitoring.supportAdmin - - nbs.supportAdmin - - serverless.supportAdmin - - storage.supportAdmin - - vdi.supportAdmin - - vpc.supportAdmin - - ydb.supportAdmin - - yds.supportAdmin - - ymq.supportAdmin - permissions: [] - - - ############################################################################## - # On-call Roles - ############################################################################## - - onCall: - groups: [staff] - name: Инженер on-call - visibility: internal - description: доступы для всех инженеров on-call - includedRoles: - - monitoring.viewer # все дежурные могут смотреть в мониторинге метрики любых облаков и ресурсов CLOUD-67217 - - cloudsearch.cloudsIndex.onCall # все дежурные могут смотреть в индекс по всем ресурсам - permissions: - - organization-manager.organizations.get - - resource-manager.clouds.get - - resource-manager.folders.get - - - ############################################################################## - # Internal Roles - ############################################################################## - - compute.admin: - groups: [compute, instance-group] - name: Администратор Compute - visibility: public - description: доступ ко всем функциям compute, включая instance-group - includedRoles: - - compute.admin.withoutVpc.pseudo - - compute.instanceGroups.admin - - vpc.user - - internal.empty: - groups: [infra] - name: (Внутренняя) Пустая роль - visibility: internal - description: роль без полномочий для тестовых целей - permissions: [] - - internal.infra: - groups: [infra] - name: Роль для SA селфхоста - visibility: internal - description: '' - permissions: [] - - internal.teamcityagent: - groups: [infra] - name: (Внутренняя) Агент Teamcity - visibility: internal - description: доступ к Container Registry - permissions: - - container-registry.images.{create,update} - - container-registry.images.{get,list} - - container-registry.quotas.get - - container-registry.registries.{get,list} - - internal.computehead: - groups: [infra] - name: "(Внутренняя) Роль для SA head'ов compute" - visibility: internal - description: '' - includedRoles: - - internal.compute.snapshotService.admin - - internal.marketplacelicense - - internal.disk-manager.user - - internal.nbs.admin - permissions: - - vpcInternal.computeInternal.use - - compute.worker.catchTasks - - resource-manager.folders.get - - resource-manager.clouds.get diff --git a/cloud/bitbucket/private-api/yandex/cloud/priv/sensitive.proto b/cloud/bitbucket/private-api/yandex/cloud/priv/sensitive.proto deleted file mode 100644 index be953a9dcb..0000000000 --- a/cloud/bitbucket/private-api/yandex/cloud/priv/sensitive.proto +++ /dev/null @@ -1,24 +0,0 @@ -syntax = "proto3"; - -package yandex.cloud.priv; - -import "google/protobuf/descriptor.proto"; - -option go_package = "a.yandex-team.ru/cloud/bitbucket/private-api/yandex/cloud/priv;cloud"; - -enum SensitiveType { - SENSITIVE_TYPE_UNSPECIFIED = 0; - SENSITIVE_CRC = 1; - SENSITIVE_IAM_TOKEN = 2; - SENSITIVE_REMOVE = 3; - SENSITIVE_YANDEX_PASSPORT_OAUTH_TOKEN = 4; - SENSITIVE_IAM_COOKIE = 5; -} - -extend google.protobuf.FieldOptions { - // novikoff: - // Sensitive fields are hidden in logs - // For now could be applied only to string fields - bool sensitive = 100601; - SensitiveType sensitive_type = 100602; -} diff --git a/cloud/bitbucket/private-api/yandex/cloud/priv/serverless/functions/v1/CMakeLists.txt b/cloud/bitbucket/private-api/yandex/cloud/priv/serverless/functions/v1/CMakeLists.txt deleted file mode 100644 index e0b92c1325..0000000000 --- a/cloud/bitbucket/private-api/yandex/cloud/priv/serverless/functions/v1/CMakeLists.txt +++ /dev/null @@ -1,64 +0,0 @@ - -# This file was gererated by the build system used internally in the Yandex monorepo. -# Only simple modifications are allowed (adding source-files to targets, adding simple properties -# like target_include_directories). These modifications will be ported to original -# ya.make files by maintainers. Any complex modifications which can't be ported back to the -# original buildsystem will not be accepted. - - - -add_library(serverless-functions-v1) -set_property(TARGET serverless-functions-v1 PROPERTY - PROTOC_EXTRA_OUTS .grpc.pb.cc .grpc.pb.h -) -set_property(TARGET serverless-functions-v1 PROPERTY - PROTO_NAMESPACE cloud/bitbucket/private-api -) -target_include_directories(serverless-functions-v1 PUBLIC - ${CMAKE_BINARY_DIR}/cloud/bitbucket/private-api -) -target_include_directories(serverless-functions-v1 PRIVATE - ${CMAKE_BINARY_DIR}/cloud/bitbucket/private-api -) -target_link_libraries(serverless-functions-v1 PUBLIC - contrib-libs-cxxsupp - yutil - contrib-libs-grpc - contrib-libs-googleapis-common-protos - yandex-cloud-api - cloud-api-tools - yandex-cloud-priv - cloud-priv-access - cloud-priv-operation - cloud-priv-quota - contrib-libs-protobuf -) -target_proto_messages(serverless-functions-v1 PRIVATE - ${CMAKE_SOURCE_DIR}/cloud/bitbucket/private-api/yandex/cloud/priv/serverless/functions/v1/function.proto - ${CMAKE_SOURCE_DIR}/cloud/bitbucket/private-api/yandex/cloud/priv/serverless/functions/v1/function_service.proto - ${CMAKE_SOURCE_DIR}/cloud/bitbucket/private-api/yandex/cloud/priv/serverless/functions/v1/operation_service.proto - ${CMAKE_SOURCE_DIR}/cloud/bitbucket/private-api/yandex/cloud/priv/serverless/functions/v1/quota_service.proto - ${CMAKE_SOURCE_DIR}/cloud/bitbucket/private-api/yandex/cloud/priv/serverless/functions/v1/session.proto - ${CMAKE_SOURCE_DIR}/cloud/bitbucket/private-api/yandex/cloud/priv/serverless/functions/v1/session_service.proto -) -target_proto_addincls(serverless-functions-v1 - ./cloud/bitbucket/private-api - ${CMAKE_SOURCE_DIR}/cloud/bitbucket/private-api - ${CMAKE_BINARY_DIR} - ${CMAKE_SOURCE_DIR} - ${CMAKE_SOURCE_DIR}/cloud/bitbucket/private-api - ${CMAKE_SOURCE_DIR}/contrib/libs/googleapis-common-protos - ${CMAKE_SOURCE_DIR}/contrib/libs/protobuf/src - ${CMAKE_SOURCE_DIR}/cloud/bitbucket/common-api - ${CMAKE_SOURCE_DIR}/cloud/bitbucket/private-api - ${CMAKE_BINARY_DIR} - ${CMAKE_SOURCE_DIR}/contrib/libs/protobuf/src -) -target_proto_outs(serverless-functions-v1 - --cpp_out=${CMAKE_BINARY_DIR}/cloud/bitbucket/private-api - --cpp_styleguide_out=${CMAKE_BINARY_DIR}/cloud/bitbucket/private-api -) -target_proto_plugin(serverless-functions-v1 - grpc_cpp - grpc_cpp -) diff --git a/cloud/bitbucket/private-api/yandex/cloud/priv/serverless/functions/v1/function.proto b/cloud/bitbucket/private-api/yandex/cloud/priv/serverless/functions/v1/function.proto deleted file mode 100644 index 02b19328bb..0000000000 --- a/cloud/bitbucket/private-api/yandex/cloud/priv/serverless/functions/v1/function.proto +++ /dev/null @@ -1,135 +0,0 @@ -syntax = "proto3"; - -package yandex.cloud.priv.serverless.functions.v1; - -import "google/protobuf/duration.proto"; -import "google/protobuf/timestamp.proto"; -import "google/protobuf/struct.proto"; -import "yandex/cloud/priv/validation.proto"; - -option go_package = "a.yandex-team.ru/cloud/bitbucket/private-api/yandex/cloud/priv/serverless/functions/v1;functions"; -option java_outer_classname = "PSF"; - -message Function { - enum Status { - STATUS_UNSPECIFIED = 0; - CREATING = 1; - ACTIVE = 2; - DELETING = 3; - ERROR = 4; - } - string id = 1; - string folder_id = 2; - google.protobuf.Timestamp created_at = 3; - string name = 4; - string description = 5; - map<string, string> labels = 6; - string log_group_id = 7; - string http_invoke_url = 8; - Status status = 9; -} - -message Runtime { - string id = 1; - repeated string builders = 2; - string default_builder = 3; - string language = 4; - string version = 5; - string stage = 6; -} - -message Version { - enum Status { - STATUS_UNSPECIFIED = 0; - CREATING = 1; - ACTIVE = 2; - OBSOLETE = 3; - } - - string id = 1; - string function_id = 2; - string description = 3; - google.protobuf.Timestamp created_at = 5; - string runtime = 6; - string entrypoint = 7; - Resources resources = 8; - google.protobuf.Duration execution_timeout = 9; - string service_account_id = 10; - int64 image_size = 12; - Status status = 13; - repeated string tags = 14; - string log_group_id = 15; - map<string, string> environment = 16; - string builder = 17; - bool tmpfs = 18; - map<string, string> named_service_accounts = 19; - int64 concurrency = 20; - Connectivity connectivity = 21; - DataDisk data_disk = 22; - OwnerData owner_data = 23; - repeated Secret secrets = 24; -} - -message Resources { - int64 memory = 1 [(value) = "134217728-4294967296"]; - int64 cores = 2 [(value) = ">=0"]; - int64 core_fraction = 3 [(value) = "0-100"]; -} - -message Package { - string bucket_name = 1 [(required) = true]; - string object_name = 2 [(required) = true]; - string sha256 = 3; -} - -message Connectivity { - string network_id = 1; - repeated string subnet_id = 2; -} - -message DataDisk { - oneof source { - string image_id = 1; - string snapshot_id = 2; - } - string type_id = 3; - int64 size = 4; -} - -message ScalingPolicy { - string function_id = 1; - string tag = 2; - - google.protobuf.Timestamp created_at = 3; - google.protobuf.Timestamp modified_at = 4; // either version or params - - // cached (current) field, no value means no version with this tag - string version_id = 5; - - // Minimum guaranteed provisioned instances count for all zones in total. - // Billed separately. - int64 provisioned_instances_count = 6; - - // Upper limit for instance count in each zone. - // 0 means no limit. - int64 zone_instances_limit = 7; - - // Upper limit of requests count in each zone. - // 0 means no limit. - int64 zone_requests_limit = 8; -} - -// OwnerData contains additional data from the owner resource (e.g. container, API Gateway, etc) -message OwnerData { - google.protobuf.Struct data = 1; -} - -message Secret { - string id = 1; - string version_id = 2; - string key = 3; - oneof reference { - string environment_variable = 4; - string file_path = 5; - } -} diff --git a/cloud/bitbucket/private-api/yandex/cloud/priv/serverless/functions/v1/function_service.proto b/cloud/bitbucket/private-api/yandex/cloud/priv/serverless/functions/v1/function_service.proto deleted file mode 100644 index 1741d91de5..0000000000 --- a/cloud/bitbucket/private-api/yandex/cloud/priv/serverless/functions/v1/function_service.proto +++ /dev/null @@ -1,394 +0,0 @@ -syntax = "proto3"; - -package yandex.cloud.priv.serverless.functions.v1; - -import "google/protobuf/field_mask.proto"; -import "google/protobuf/duration.proto"; -import "google/protobuf/timestamp.proto"; -import "yandex/cloud/api/operation.proto"; -import "yandex/cloud/api/tools/options.proto"; -import "yandex/cloud/priv/access/access.proto"; -import "yandex/cloud/priv/serverless/functions/v1/function.proto"; -import "yandex/cloud/priv/operation/operation.proto"; -import "yandex/cloud/priv/validation.proto"; -import "yandex/cloud/priv/sensitive.proto"; - -option go_package = "a.yandex-team.ru/cloud/bitbucket/private-api/yandex/cloud/priv/serverless/functions/v1;functions"; -option java_outer_classname = "PSFS"; - -service FunctionService { - rpc Get (GetFunctionRequest) returns (Function); - - rpc List (ListFunctionsRequest) returns (ListFunctionsResponse); - - rpc Create (CreateFunctionRequest) returns (operation.Operation) { - option (yandex.cloud.api.operation) = { - metadata: "CreateFunctionMetadata" - response: "Function" - }; - }; - - rpc Update (UpdateFunctionRequest) returns (operation.Operation) { - option (yandex.cloud.api.operation) = { - metadata: "UpdateFunctionMetadata" - response: "Function" - }; - }; - - rpc Delete (DeleteFunctionRequest) returns (operation.Operation) { - option (yandex.cloud.api.operation) = { - metadata: "DeleteFunctionMetadata" - response: "google.protobuf.Empty" - }; - }; - - rpc ForceDelete (DeleteFunctionRequest) returns (operation.Operation) { - option (yandex.cloud.api.operation) = { - metadata: "DeleteFunctionMetadata" - response: "google.protobuf.Empty" - }; - }; - - rpc GetVersion (GetFunctionVersionRequest) returns (Version) { - } - - rpc GetFunctionVersion (GetFunctionVersionRequest) returns (Version) { - option (yandex.cloud.api.tools.method).lint_skip.contains_resource_name = true; - }; - - rpc GetVersionByTag (GetFunctionVersionByTagRequest) returns (Version) { - } - - rpc GetFunctionVersionByTag (GetFunctionVersionByTagRequest) returns (Version) { - option (yandex.cloud.api.tools.method).lint_skip.contains_resource_name = true; - }; - - rpc ListVersions (ListFunctionsVersionsRequest) returns (ListFunctionsVersionsResponse) { - } - - rpc ListFunctionVersions (ListFunctionsVersionsRequest) returns (ListFunctionsVersionsResponse) { - option (yandex.cloud.api.tools.method).lint_skip.contains_resource_name = true; - }; - - rpc SetTag (SetFunctionTagRequest) returns (operation.Operation) { - option (yandex.cloud.api.operation) = { - metadata: "SetFunctionTagMetadata" - response: "Version" - }; - } - - rpc RemoveTag (RemoveFunctionTagRequest) returns (operation.Operation) { - option (yandex.cloud.api.operation) = { - metadata: "RemoveFunctionTagMetadata" - response: "Version" - }; - } - - rpc ListTagHistory (ListFunctionTagHistoryRequest) returns (ListFunctionTagHistoryResponse) { - } - - rpc ListFunctionTagHistory (ListFunctionTagHistoryRequest) returns (ListFunctionTagHistoryResponse) { - option (yandex.cloud.api.tools.method).lint_skip.contains_resource_name = true; - }; - - rpc CreateVersion (CreateFunctionVersionRequest) returns (operation.Operation) { - option (yandex.cloud.api.operation) = { - metadata: "CreateFunctionVersionMetadata" - response: "Version" - }; - } - - rpc CreateFunctionVersion (CreateFunctionVersionRequest) returns (operation.Operation) { - option (yandex.cloud.api.operation) = { - metadata: "CreateFunctionVersionMetadata" - response: "Version" - }; - option (yandex.cloud.api.tools.method).lint_skip.contains_resource_name = true; - }; - - rpc ListRuntimes (ListRuntimesRequest) returns (ListRuntimesResponse); - - rpc ListOperations (ListFunctionOperationsRequest) returns (ListFunctionOperationsResponse); - - rpc ListAccessBindings (access.ListAccessBindingsRequest) returns (access.ListAccessBindingsResponse); - - rpc SetAccessBindings (access.SetAccessBindingsRequest) returns (operation.Operation) { - option (yandex.cloud.api.operation) = { - metadata: "access.SetAccessBindingsMetadata" - response: "google.protobuf.Empty" - }; - } - - rpc UpdateAccessBindings (access.UpdateAccessBindingsRequest) returns (operation.Operation) { - option (yandex.cloud.api.operation) = { - metadata: "access.UpdateAccessBindingsMetadata" - response: "google.protobuf.Empty" - }; - } - - rpc GetFolderStats (GetFolderStatsRequest) returns (FolderStats); - - rpc ListScalingPolicies (ListScalingPoliciesRequest) returns (ListScalingPoliciesResponse); - - rpc SetScalingPolicy (SetScalingPolicyRequest) returns (operation.Operation) { - option (yandex.cloud.api.operation) = { - metadata: "SetScalingPolicyMetadata" - response: "ScalingPolicy" - }; - } - - rpc RemoveScalingPolicy (RemoveScalingPolicyRequest) returns (operation.Operation) { - option (yandex.cloud.api.operation) = { - metadata: "RemoveScalingPolicyMetadata" - response: "google.protobuf.Empty" - }; - } - -} - -message GetFunctionRequest { - string function_id = 1 [(required) = true]; -} - -message GetFunctionVersionRequest { - string function_version_id = 1 [(required) = true]; -} - -message GetFunctionVersionByTagRequest { - string function_id = 1 [(required) = true]; - string tag = 2 [(pattern) = "[a-z][-_0-9a-z]*|[$]latest"]; -} - -message ListFunctionsRequest { - string folder_id = 1 [(required) = true]; - int64 page_size = 2; - string page_token = 3; - // supported fields for filter: - // name - // created_at - string filter = 4; -} - -message ListFunctionsResponse { - repeated Function functions = 1; - string next_page_token = 2; -} - -message CreateFunctionRequest { - string folder_id = 1 [(required) = true]; - string name = 2 [(pattern) = "|[a-z][-a-z0-9]{1,61}[a-z0-9]"]; - string description = 3 [(length) = "<=256"]; - map<string, string> labels = 4 [(size) = "<=64", (length) = "<=63", (pattern) = "[-_0-9a-z]*", (map_key).length = "1-63", (map_key).pattern = "[a-z][-_0-9a-z]*"]; - string log_group_id = 5; -} - -message CreateFunctionMetadata { - string function_id = 1; -} - -message UpdateFunctionRequest { - string function_id = 1 [(required) = true]; - google.protobuf.FieldMask update_mask = 2; - - string name = 3 [(pattern) = "|[a-z][-a-z0-9]{1,61}[a-z0-9]"]; - string description = 4 [(length) = "<=256"]; - map<string, string> labels = 5 [(size) = "<=64", (length) = "<=63", (pattern) = "[-_0-9a-z]*", (map_key).length = "1-63", (map_key).pattern = "[a-z][-_0-9a-z]*"]; -} - -message UpdateFunctionMetadata { - string function_id = 1; -} - -message DeleteFunctionRequest { - string function_id = 1 [(required) = true]; -} - -message DeleteFunctionMetadata { - string function_id = 1; -} - -message ListRuntimesRequest { -} - -message ListRuntimesResponse { - repeated string runtimes = 1; // backward compatibility - repeated Runtime available_runtimes = 2; -} - -message ListFunctionsVersionsRequest { - oneof id { - option (exactly_one) = true; - string folder_id = 1; - string function_id = 2; - }; - int64 page_size = 3 [(value) = "0-1000"]; - string page_token = 4 [(length) = "<=100"]; - // supported fields for filter - // status - // created_at - // runtime - // entrypoint - // service_account_id - string filter = 5 [(length) = "<=1000"]; -} - -message ListFunctionsVersionsResponse { - repeated Version versions = 1; - string next_page_token = 2; -} - -message ListFunctionOperationsRequest { - string function_id = 1 [(required) = true]; - int64 page_size = 2 [(value) = "0-1000"]; - string page_token = 3 [(length) = "<=100"]; - // supported attributes: - // description - // created_at - // modified_at - // created_by - // done - string filter = 4 [(length) = "<=1000"]; -} - -message ListFunctionOperationsResponse { - repeated operation.Operation operations = 1; - string next_page_token = 2; -} - -message CreateFunctionVersionRequest { - string function_id = 1 [(required) = true]; - string runtime = 2 [(required) = true]; - string description = 3; - string entrypoint = 4 [(required) = true]; - Resources resources = 5 [(required) = true]; - google.protobuf.Duration execution_timeout = 6 [(value) = "<=600s"]; - string service_account_id = 7; - - oneof package_source { - option (exactly_one) = true; - - // user bucket + object - Package package = 9; - - // zipped content (user sends zipped data) - bytes content = 10 [(length) = "<=52428800"]; - - // id of the version to be copied from - string version_id = 11; - - // docker image, can only be used by Serverless Containers. - string docker_image = 23; - }; - - string builder = 13; - map<string, string> environment = 12 [(length) = "<=4096", (map_key).pattern = "[a-zA-Z][a-zA-Z0-9_]*", (sensitive) = true]; - bool tmpfs = 14; - access.Subject service_account_user = 15; - map<string, string> named_service_accounts = 16; - repeated string tag = 17 [(pattern) = "[a-z][-_0-9a-z]*"]; - int64 concurrency = 18; - Connectivity connectivity = 19; - DataDisk data_disk_spec = 20; - OwnerData owner_data = 21; - repeated Secret secrets = 22; -} - -message CreateFunctionVersionMetadata { - string function_version_id = 1; -} - -message SetFunctionTagRequest { - string function_version_id = 1 [(required) = true]; - string tag = 2 [(pattern) = "[a-z][-_0-9a-z]*"]; -} - -message RemoveFunctionTagRequest { - string function_version_id = 1 [(required) = true]; - string tag = 2 [(pattern) = "[a-z][-_0-9a-z]*"]; -} - -message SetFunctionTagMetadata { - string function_version_id = 1; -} - -message RemoveFunctionTagMetadata { - string function_version_id = 1; -} - -message ListFunctionTagHistoryRequest { - string function_id = 1 [(required) = true]; - string tag = 2 [(pattern) = "[a-z][-_0-9a-z]*|[$]latest"]; - int64 page_size = 3 [(value) = "0-1000"]; - string page_token = 4 [(length) = "<=100"]; - // supported attributes: - // effective_from - // effective_to - // function_version_id - string filter = 5 [(length) = "<=1000"]; -} - -message ListFunctionTagHistoryResponse { - message FunctionTagHistoryRecord { - string function_id = 1; - string function_version_id = 3; - string tag = 2; - google.protobuf.Timestamp effective_from = 4; - google.protobuf.Timestamp effective_to = 5; - } - - repeated FunctionTagHistoryRecord function_tag_history_record = 1; - string next_page_token = 2; -} - -message GetFolderStatsRequest { - string folder_id = 1 [(required) = true]; -} - -message FolderStats { - int64 function_count = 1; -} - -message ListScalingPoliciesRequest { - string function_id = 1 [(required) = true]; - int64 page_size = 2 [(value) = "0-1000"]; - string page_token = 3 [(length) = "<=100"]; - string filter = 4 [(length) = "<=1000"]; -} - -message ListScalingPoliciesResponse { - repeated ScalingPolicy scaling_policies = 1; - string next_page_token = 2; -} - -message SetScalingPolicyRequest { - string function_id = 1 [(required) = true]; - string tag = 2 [(required) = true, (pattern) = "[a-z][-_0-9a-z]*|[$]latest"]; - - // TODO: - // google.protobuf.FieldMask update_mask = 3; - - // Minimum guaranteed provisioned instances count for all zones in total. - // Billed separately. - int64 provisioned_instances_count = 4 [(value) = "0-1000"]; - - // Upper limit for instance count in each zone. - // 0 means no limit. - int64 zone_instances_limit = 5 [(value) = "0-1000"]; - - // Upper limit of requests count in each zone. - // 0 means no limit. - int64 zone_requests_limit = 6 [(value) = "0-1000"]; -} - -message SetScalingPolicyMetadata { - string function_id = 1; -} - -message RemoveScalingPolicyRequest { - string function_id = 1 [(required) = true]; - string tag = 2 [(required) = true, (pattern) = "[a-z][-_0-9a-z]*|[$]latest"]; -} - -message RemoveScalingPolicyMetadata { - string function_id = 1; -} diff --git a/cloud/bitbucket/private-api/yandex/cloud/priv/serverless/functions/v1/inner/alice.proto b/cloud/bitbucket/private-api/yandex/cloud/priv/serverless/functions/v1/inner/alice.proto deleted file mode 100644 index 013d3a6522..0000000000 --- a/cloud/bitbucket/private-api/yandex/cloud/priv/serverless/functions/v1/inner/alice.proto +++ /dev/null @@ -1,38 +0,0 @@ -syntax = "proto3"; - -package yandex.cloud.priv.serverless.functions.v1.inner; - -option go_package = "a.yandex-team.ru/cloud/bitbucket/private-api/yandex/cloud/priv/serverless/functions/v1/inner;inner"; - -service AliceIntegrationService { - rpc ListUserFunctions (ListUserFunctionsRequest) returns (ListUserFunctionsResponse); - rpc ValidateFunction (ValidateFunctionRequest) returns (ValidateFunctionResponse); -} - -message FunctionMetadata { - string cloud_id = 1; - string cloud_name = 2; - - string folder_id = 3; - string folder_name = 4; - - string function_id = 5; - string function_name = 6; -} - -message ListUserFunctionsRequest { - string session_id = 1; -} - -message ListUserFunctionsResponse { - repeated FunctionMetadata functions = 1; -} - -message ValidateFunctionRequest { - string session_id = 1; - string function_id = 2; -} - -message ValidateFunctionResponse { - // empty struct, error will be reported on transport layer -} diff --git a/cloud/bitbucket/private-api/yandex/cloud/priv/serverless/functions/v1/inner/common.proto b/cloud/bitbucket/private-api/yandex/cloud/priv/serverless/functions/v1/inner/common.proto deleted file mode 100644 index 933d3c915e..0000000000 --- a/cloud/bitbucket/private-api/yandex/cloud/priv/serverless/functions/v1/inner/common.proto +++ /dev/null @@ -1,14 +0,0 @@ -syntax = "proto3"; - -package yandex.cloud.priv.serverless.functions.v1.inner; - -import "yandex/cloud/priv/validation.proto"; - -option go_package = "a.yandex-team.ru/cloud/bitbucket/private-api/yandex/cloud/priv/serverless/functions/v1/inner;inner"; -option java_outer_classname = "PSFI"; - -message ObjectStorageReference { - int64 size = 1 [(value) = ">0"]; - string bucket_name = 2 [(required) = true]; - string object_name = 3 [(required) = true]; -} diff --git a/cloud/bitbucket/private-api/yandex/cloud/priv/serverless/functions/v1/inner/control_service.proto b/cloud/bitbucket/private-api/yandex/cloud/priv/serverless/functions/v1/inner/control_service.proto deleted file mode 100644 index bb80d28284..0000000000 --- a/cloud/bitbucket/private-api/yandex/cloud/priv/serverless/functions/v1/inner/control_service.proto +++ /dev/null @@ -1,286 +0,0 @@ -syntax = "proto3"; - -package yandex.cloud.priv.serverless.functions.v1.inner; - -import "google/protobuf/duration.proto"; -import "yandex/cloud/priv/serverless/functions/v1/function.proto"; -import "yandex/cloud/priv/serverless/functions/v1/inner/common.proto"; -import "yandex/cloud/api/operation.proto"; -import "yandex/cloud/priv/operation/operation.proto"; -import "yandex/cloud/priv/quota/quota.proto"; -import "yandex/cloud/priv/validation.proto"; -import "yandex/cloud/priv/sensitive.proto"; - -option go_package = "a.yandex-team.ru/cloud/bitbucket/private-api/yandex/cloud/priv/serverless/functions/v1/inner;inner"; -option java_outer_classname = "PSFCS"; - -service ControlService { - rpc GetVersion (GetVersionRequest) returns (GetVersionResponse); - rpc CreateRuntimePackage (CreateRuntimePackageRequest) returns (operation.Operation) { - option (yandex.cloud.api.operation) = { - metadata: "CreateRuntimePackageMetadata" - response: "RuntimeBundle" - }; - } - - rpc UpdateRuntimePackage (UpdateRuntimePackageRequest) returns (operation.Operation) { - option (yandex.cloud.api.operation) = { - metadata: "UpdateRuntimePackageMetadata" - response: "RuntimeBundle" - }; - } - - rpc UpdateRuntimeVisibility (UpdateRuntimeVisibilityRequest) returns (operation.Operation) { - option (yandex.cloud.api.operation) = { - metadata: "UpdateRuntimeVisibilityMetadata" - response: "RuntimeBundle" - }; - } - - rpc GetRuntimePackage(GetRuntimePackageRequest) returns (RuntimeBundle); - - rpc ListRuntimePackages(ListRuntimePackagesRequest) returns (ListRuntimePackagesResponse); - - rpc GetConfig (ConfigRequest) returns (ConfigResponse) { - } - - rpc CreateBuilder(CreateBuilderRequest) returns (operation.Operation) { - option (yandex.cloud.api.operation) = { - metadata: "CreateBuilderMetadata" - response: "FunctionBuilder" - }; - } - - rpc ListBuilders(ListBuildersRequest) returns (ListBuildersResponse); - - rpc UpdateBuilder(UpdateBuilderRequest) returns (operation.Operation) { - option (yandex.cloud.api.operation) = { - metadata: "UpdateBuilderMetadata" - response: "FunctionBuilder" - }; - } - - rpc UpdateBuilderVisibility(UpdateBuilderVisibilityRequest) returns (operation.Operation) { - option (yandex.cloud.api.operation) = { - metadata: "UpdateBuilderVisibilityMetadata" - response: "FunctionBuilder" - }; - } - - rpc GetBuilder(GetBuilderRequest) returns (FunctionBuilder); - - rpc GetQuota (quota.GetQuotaRequest) returns (quota.Quota); - - rpc LocateFunctions(LocateFunctionsRequest) returns (LocateFunctionsResponse); - - rpc ListVersionScalingPolicies(ListVersionScalingPoliciesRequest) returns (ListVersionScalingPoliciesResponse); - -} - -message CreateRuntimePackageRequest { - reserved 1; - string runtime = 2 [(pattern) = "[a-z][-a-z0-9]{1,61}[a-z0-9]"]; - ObjectStorageReference image = 3 [(required) = true]; - string default_builder = 4 [(required) = true]; - Visibility visibility = 5; - int64 builder_memory = 6; - bool unbuffered_content = 7; - string language = 8; - string version = 9; - string stage = 10; - bool preload_enabled = 11; -} - -message UpdateRuntimeVisibilityRequest { - string runtime = 1 [(pattern) = "[a-z][-a-z0-9]{1,61}[a-z0-9]"]; - Visibility visibility = 2 [(required) = true]; -} - -message UpdateRuntimePackageRequest { - reserved 1; - string runtime = 2 [(pattern) = "[a-z][-a-z0-9]{1,61}[a-z0-9]"]; - ObjectStorageReference image = 3 [(required) = true]; - string default_builder = 4 [(required) = true]; - int64 builder_memory = 5; - bool unbuffered_content = 6; - string language = 8; - string version = 9; - string stage = 10; - bool preload_enabled = 11; -} - - -message CreateRuntimePackageMetadata { - string runtime = 1 [(required) = true]; -} - -message UpdateRuntimePackageMetadata { - string runtime = 1 [(required) = true]; -} - -message UpdateRuntimeVisibilityMetadata { - string runtime = 1 [(required) = true]; -} - -message RuntimeBundle { - string runtime = 1; - ObjectStorageReference image = 2; - string default_builder = 4; - Visibility visibility = 5; - int64 builder_memory = 6; - bool unbuffered_content = 7; - string language = 8; - string version = 9; - string stage = 10; - bool preload_enabled = 11; -} - -message GetRuntimePackageRequest { - string runtime = 1 [(pattern) = "[a-z][-a-z0-9]{1,61}[a-z0-9]"]; -} - -message GetVersionRequest { - string function_id = 1; - oneof select { - option (exactly_one) = true; - string function_version_id = 2; - string tag = 3; - } -} - -message GetVersionResponse { - string function_id = 1; - string function_version_id = 2; - string entrypoint = 3; - Resources resources = 4; - google.protobuf.Duration execution_timeout = 5; - string service_account_id = 6; - ObjectStorageReference user_image = 8; - ObjectStorageReference runtime_image = 9; - string runtime = 20; - string log_group_id = 10; - string folder_id = 11; - string cloud_id = 12; - map<string, string> environment = 13 [(sensitive) = true]; - bool tmpfs = 14; - map<string, string> named_service_accounts = 15; - int64 concurrency = 16; - bool unbuffered_content = 17; - Connectivity connectivity = 18; - DataDisk data_disk = 19; - OwnerData owner_data = 21; - repeated Secret secrets = 22; -} - -message ConfigRequest { - -} - -message ConfigResponse { - string version = 1; - string config = 2; -} - -message FunctionBuilder { - string runtime = 1; - string builder = 2; - ObjectStorageReference builder_runtime_image = 3; - Visibility visibility = 4; -} - -enum Visibility { - VISIBILITY_UNSPECIFIED = 0; - PUBLIC = 1; - PRIVATE = 2; - SYSTEM = 3; -} - -message DataDisk { - map<string, string> zone_disks = 1; -} - -message CreateBuilderRequest { - string runtime = 1 [(required) = true]; - string builder = 2 [(required) = true]; - ObjectStorageReference builder_runtime_image = 3 [(required) = true]; - Visibility visibility = 4; -} - -message UpdateBuilderRequest { - string runtime = 1 [(required) = true]; - string builder = 2 [(required) = true]; - ObjectStorageReference builder_runtime_image = 3 [(required) = true]; -} - -message UpdateBuilderVisibilityRequest { - string runtime = 1 [(required) = true]; - string builder = 2 [(required) = true]; - Visibility visibility = 3 [(required) = true]; -} - -message CreateBuilderMetadata { - string runtime = 1; - string builder = 2; -} - -message UpdateBuilderMetadata { - string runtime = 1; - string builder = 2; -} - -message UpdateBuilderVisibilityMetadata { - string runtime = 1; - string builder = 2; -} - -message GetBuilderRequest { - string runtime = 1; - string builder = 2; -} - -message ListRuntimePackagesRequest { -} - -message ListRuntimePackagesResponse { - repeated RuntimeBundle runtimes = 1; -} - -message ListBuildersRequest { - string runtime = 1 [(required) = true]; -} - -message ListBuildersResponse { - repeated FunctionBuilder builders = 1; -} - -message LocateFunctionsRequest { - repeated string function_ids = 1; -} - -message FunctionLocation { - string function_id = 1; - string folder_id = 2; -} - -message LocateFunctionsResponse { - repeated FunctionLocation locations = 1; -} - -message ListVersionScalingPoliciesRequest { - int64 page_size = 1 [(value) = "0-1000"]; - string page_token = 2 [(length) = "<=100"]; - string filter = 3 [(length) = "<=1000"]; -} - -message ListVersionScalingPoliciesResponse { - repeated VersionScalingPolicy version_scaling_policies = 1; - string next_page_token = 2; - - message VersionScalingPolicy { - string function_id = 1; - string function_version_id = 2; - int64 provisioned_instances_count = 3; - int64 zone_instances_limit = 4; - int64 zone_requests_limit = 5; - } -} diff --git a/cloud/bitbucket/private-api/yandex/cloud/priv/serverless/functions/v1/inner/engine_service.proto b/cloud/bitbucket/private-api/yandex/cloud/priv/serverless/functions/v1/inner/engine_service.proto deleted file mode 100644 index 813dbc21a1..0000000000 --- a/cloud/bitbucket/private-api/yandex/cloud/priv/serverless/functions/v1/inner/engine_service.proto +++ /dev/null @@ -1,418 +0,0 @@ -syntax = "proto3"; - -package yandex.cloud.priv.serverless.functions.v1.inner; -option go_package = "a.yandex-team.ru/cloud/bitbucket/private-api/yandex/cloud/priv/serverless/functions/v1/inner;inner"; - -import "google/protobuf/timestamp.proto"; -import "google/protobuf/duration.proto"; -import "google/protobuf/empty.proto"; -import "yandex/cloud/priv/serverless/functions/v1/function.proto"; -import "yandex/cloud/priv/sensitive.proto"; - -service EngineService { - // On each GetStateRequest returns full state - // On each state change send state (might be full or delta) - // Used by Scheduler - rpc GetState (stream GetStateRequest) returns (stream EngineState); - - // Synchronously spawn worker and return worker_id - // Used by Scheduler - rpc CreateWorker (CreateWorkerRequest) returns (CreateWorkerResponse); - - // Synchronously terminate worker - // Used by Scheduler - rpc TerminateWorker (TerminateWorkerRequest) returns (TerminateWorkerResponse); - - // Synchronously put job in the queue and wait for completion - // Used by Router - rpc Invoke (InvokeRequest) returns (InvokeResponse); - - // Synchronously put job in the queue and wait for completion. Allows for big payloads. - // Used by Router. - rpc InvokeStreaming (stream InvokeStreamingRequest) returns (stream InvokeStreamingResponse); - - // Synchronously update provisioned flag in workers state - rpc MarkProvisioned (MarkProvisionedRequest) returns (MarkProvisionedResponse); - - // Download artifacts listed in request - // Used by Scheduler - rpc DownloadArtifacts(DownloadArtifactsRequest) returns (DownloadArtifactsResponse); - - // Specifies which runtimes are latest - // Used by Scheduler - rpc SetLatestRuntimes(SetLatestRuntimesRequest) returns (SetLatestRuntimesResponse); - - // Configures network interfaces of newly started engine. - // Used by Scheduler - rpc ConfigureNetwork(ConfigureNetworkRequest) returns (google.protobuf.Empty); -} - -message GetStateRequest { -} - -// TODO: replace with createWorkerSet (with version data + initial amount of workers[>=1]) and addWorkers (target amount of workers[>=1]) - -message CreateWorkerRequest { - string worker_set_id = 1; - string function_id = 11; - string function_version_id = 12; - string log_group_id = 13; // logging v0, TODO: remove later - string log_stream_name = 14; // logging v0, TODO: remove later - - string cloud_id = 16; // for network management & billing - string folder_id = 17; // for network management & billing - - string subnet_id = 19; // for network management & billing, XXX: !!!differs from version to version!!! - - string runtime = 20; // runtime name - StorageRef package_runtime = 2; - - StorageRef package_code = 3; - - int64 memory_limit_bytes = 4; - double cpu_limit_cores = 5; // 1.0 is 100% of 1 cpu core, TODO: replace with int: 1024 = 100% core - int64 concurrency = 10; - string entry_point = 6; - map<string, string> environment = 7 [(sensitive) = true]; - map<string, string> labels = 8; // TODO: remove me - google.protobuf.Duration execution_timeout = 9; - bool tmpfs = 15; - NBSDiskSpec data_disk = 18; - - InvokeRequest first_request = 21; - bool provisioned = 23; - - OwnerData owner_data = 22; -} - -message CreateWorkerResponse { - string worker_id = 1; -} - -message TerminateWorkerRequest { - string worker_id = 1; - string worker_set_id = 2; -} - -message TerminateWorkerResponse { -} - -message MarkProvisionedRequest { - string worker_set_id = 1; - - // workerIDs of workers that should be marked as provisioned - // (all others should become regular) - repeated string worker_ids = 2; -} - -message MarkProvisionedResponse { - -} - -// TODO: keep in sync with InvokeStreamingRequest.Initial -message InvokeRequest { - string worker_set_id = 1; - string request_id = 2; - - google.protobuf.Duration timeout = 5; - bytes payload = 8; - - map<string, string> iam_token_by_name = 9 [(sensitive) = true]; - - bool dummy = 10; -} - -message InvokeResponse { - ErrorStatus status = 5; - bytes payload = 1; - - // total time spent by worker (handle) - // it MUST be lower than overall request time - google.protobuf.Duration time_spent = 2; - - // time spent in queue - google.protobuf.Duration queue_time_spent = 6; - - // time spent in function/runtime init stage (part of `time_spent` time) - google.protobuf.Duration init_time_spent = 8; - - // billed time (normally equal to time_spent, but could be lower in case of concurrency execution and/or provisioned worker) - // will be used in billing and reported in log - google.protobuf.Duration billed_duration = 10; - - // provisioned worker was used - bool provisioned = 9; - - int64 used_memory_bytes = 3; - int64 free_memory_bytes = 4; - - string network_subnet = 13; - string network_iface = 11; - repeated string network_addr = 12; - - enum ErrorStatus { - ERROR_STATUS_UNSPECIFIED = 0; // means no error - ERROR_STATUS_CLIENT_ERROR = 1; // both runtime init and execution error - ERROR_STATUS_EXECUTION_TIMEOUT_EXCEEDED = 2; // execution timeout (user code has already been started => never retry) - ERROR_STATUS_EXECUTION_CANCELLED = 3; // execution has been cancelled (user code has already been started => never retry) - ERROR_STATUS_UNDEFINED = 127; // undefined error - } -} - -message InvokeStreamingRequest { - // TODO: keep in sync with InvokeRequest - message Initial { - string worker_set_id = 1; - string request_id = 2; - google.protobuf.Duration timeout = 3; - map<string, string> iam_token_by_name = 4 [(sensitive) = true]; - bool dummy = 5; - - map<string,string> metadata = 6; - - bytes payload = 7; - } - message PayloadChunk { - bytes payload = 1; - } - oneof req { - Initial initial = 1; - PayloadChunk payload = 2; - } -} - -message InvokeStreamingResponse { - message Initial { - InvokeResponse.ErrorStatus status = 5; - bytes payload = 1; - - // time spent in queue - google.protobuf.Duration queue_time_spent = 6; - - // time spent in function/runtime init stage (part of `time_spent` time) - google.protobuf.Duration init_time_spent = 8; - - // provisioned worker was used - bool provisioned = 9; - - string network_subnet = 13; - string network_iface = 11; - repeated string network_addr = 12; - - map<string, string> metadata = 14; - } - - message PayloadChunk { - bytes payload = 1; - } - - message Final { - // total time spent by worker (handle) - // it MUST be lower than overall request time - google.protobuf.Duration time_spent = 2; - - // billed time (normally equal to time_spent, but could be lower in case of concurrency execution and/or provisioned worker) - // will be used in billing and reported in log - google.protobuf.Duration billed_duration = 10; - - int64 used_memory_bytes = 3; - int64 free_memory_bytes = 4; - - map<string, string> metadata = 5; - } - - oneof resp { - Initial initial = 1; - PayloadChunk payload = 2; - Final final = 3; - } -} - -message DownloadArtifactsRequest { - repeated StorageRef artifacts = 1; -} - -message DownloadArtifactsResponse { -} - -message SetLatestRuntimesRequest { - repeated Runtime runtimes = 1; - message Runtime { - string name = 1; - StorageRef reference = 2; - - bool flag_preload_enabled = 3; - } -} - -message SetLatestRuntimesResponse { -} - -message EngineState { - google.protobuf.Timestamp updated_at = 1; - google.protobuf.Timestamp previous_update_at = 21; // for diff - updated_at of previous full/diff state sent to channel - map<string, WorkerSet> worker_sets = 2; // Key: ID - map<string, Artifact> artifacts = 3; // Key: ID (unique) = contracts.StorageReference.String() - bool is_full_state = 4; - - bool in_scalable_group = 23; - - reserved 10; // removed - reserved 11; // removed - Resources resources = 19; - - reserved 16; // removed - map<string, NetworkPoolState> subnet_pool_state = 18; // Key: subnetID, empty key means "common" - map<string, NetworkConfigState> subnet_config_state = 22; // Key: subnetID - - // Amount of ready VMs in pool. - VMPoolState vm_pool_state = 17; - map<string, RuntimePoolState> runtime_pool_state = 20; // Key: runtime name - - message WorkerSet { - string id = 1; - Status status = 2; - - string function_id = 19; - string version_id = 20; - string cloud_id = 17; - string folder_id = 18; - - int64 memory_limit_bytes = 3; - double cpu_limit_cores = 4; - int64 concurrency = 15; - - int64 queue_length = 10; - int64 inflight = 13; - - StorageRef runtime = 16; - google.protobuf.Duration avg_execution_time = 11; - google.protobuf.Duration execution_timeout = 14; - - map<string, string> labels = 12; // TODO: remove me - - map<string, Worker> workers = 30; // Key: ID - - OwnerData owner_data = 21; - - enum Status { - STATUS_UNSPECIFIED = 0; - CREATING = 1; // acquiring resources and going to create first worker - STARTED = 2; // at least one Worker is in >STARTED state - TERMINATING = 3; // there is no workers in <SERVING state - DELETED = 4; // WorkerSet should be removed from state - } - } - - message Worker { - string id = 1; - Status status = 2; - - int64 active_jobs = 16; // count of currently active jobs - int64 jobs_processed = 10; // total count of jobs processed in this worker - google.protobuf.Timestamp last_job_at = 11; // might be used for worker gc - google.protobuf.Timestamp spawned_at = 12; // might be used for worker gc - int64 restarts_count = 13; - int64 timeouts_count = 14; - int64 suspends_count = 15; - - bool provisioned = 17; - - enum Status { - STATUS_UNSPECIFIED = 0; - ACQUIRING = 1; // MicroVM are requested from MicroVMPool - STARTED = 2; // MicroVM was adopted from worker pool and adjusted for current spec - PREPARED = 3; // Worker executed runtime and initialize function - SERVING = 4; // runtime asked for the first job and ready to serve - SUSPENDED = 5; // worker suspended - TERMINATING = 6; // graceful shutdown, won't accept new job - DELETED = 7; // Worker should be removed from state - } - } - - message Artifact { - Status status = 1; - StorageRef reference = 2; - - enum Status { - STATUS_UNSPECIFIED = 0; - DOWNLOADING = 1; - DOWNLOADED = 2; - REMOVING = 3; - DELETED = 4; // artifact should be removed from state - } - } - - message NetworkPoolState { - // Total amount of interfaces allocated to engine - int64 total = 1; - // Free interfaces: t=not attached to any user and ready to use - int64 free = 2; - // Failed interfaces: had error on attach/detach, not really safe to use right now, may be cleaned up later. - int64 failed = 3; - // Interfaces bound to user - traffic will be billed, but we are able to detach them at once. - int64 bound = 4; - // Interfaces in use: interfaces that are attached to microvm at the moment - int64 in_use = 5; - } - - message NetworkConfigState { - message Addr { - string address = 1; - string subnet_cidr = 2; - } - - string subnet_id = 1; - bool is_private = 2; - Addr ipv4 = 3; - Addr ipv6 = 4; - ConfigureNetworkRequest.HubConfig hub = 5; - int64 seed = 6; - } - - message VMPoolState { - int64 size = 1; - } - - message RuntimePoolState { - int64 size = 1; - StorageRef reference = 2; - } - - message Resources { - int64 memory_bytes_total = 1; - int64 memory_bytes_used = 2; - double cpu_cores_total = 3; - double cpu_cores_used = 4; - } -} - -message StorageRef { - string storage_bucket = 1; - string storage_object = 2; - int64 data_size = 3; -} - -message NBSDiskSpec { - map<string, string> zone_disks = 1; -} - -message ConfigureNetworkRequest { - message HubConfig { - message StaticRoute { - string destination_prefix = 1; - string next_hop_address = 2; - } - string allowlist_cidr = 1; - StaticRoute static_route = 2; - int64 interfaces_count = 3; - } - message Subnet { - string subnet_id = 1; - bool is_private = 2; - HubConfig hub = 3; - int64 seed = 4; - } - - repeated Subnet subnets = 1; -} diff --git a/cloud/bitbucket/private-api/yandex/cloud/priv/serverless/functions/v1/inner/owner_data.proto b/cloud/bitbucket/private-api/yandex/cloud/priv/serverless/functions/v1/inner/owner_data.proto deleted file mode 100644 index ae2471fc8b..0000000000 --- a/cloud/bitbucket/private-api/yandex/cloud/priv/serverless/functions/v1/inner/owner_data.proto +++ /dev/null @@ -1,22 +0,0 @@ -syntax = "proto3"; - -package yandex.cloud.priv.serverless.functions.v1.inner; - - -option go_package = "a.yandex-team.ru/cloud/bitbucket/private-api/yandex/cloud/priv/serverless/functions/v1/inner;inner"; -option java_outer_classname = "PSCOD"; - - -message ContainerOwnerData { - string resource_type = 1; - string resource_id = 2; - string subresource_type = 3; - string subresource_id = 4; - - string folder_id = 5; - string cloud_id = 6; - - bool enable_logging = 7; - bool enable_billing = 8; - bool enable_metrics = 9; -} diff --git a/cloud/bitbucket/private-api/yandex/cloud/priv/serverless/functions/v1/inner/package_service.proto b/cloud/bitbucket/private-api/yandex/cloud/priv/serverless/functions/v1/inner/package_service.proto deleted file mode 100644 index 0adbc56051..0000000000 --- a/cloud/bitbucket/private-api/yandex/cloud/priv/serverless/functions/v1/inner/package_service.proto +++ /dev/null @@ -1,67 +0,0 @@ -syntax = "proto3"; - -package yandex.cloud.priv.serverless.functions.v1.inner; - -import "google/protobuf/empty.proto"; -import "yandex/cloud/api/tools/options.proto"; -import "yandex/cloud/priv/serverless/functions/v1/inner/common.proto"; -import "yandex/cloud/priv/serverless/functions/v1/function.proto"; -import "yandex/cloud/priv/validation.proto"; - -option go_package = "a.yandex-team.ru/cloud/bitbucket/private-api/yandex/cloud/priv/serverless/functions/v1/inner;inner"; -option java_outer_classname = "PSFPS"; - -// errors: -// NOT_FOUND = bucket/object not found -// INVALID_ARGUMENT = sha256 does not match -// FAILED_PRECONDITION = cannot unzip user image -// RESOURCE_EXHAUSTED = unzipped file required too much disk space -// PERMISSION_DENIED = system account does not have permission to access source_bucket -service PackageService { - rpc BuildPackage (BuildPackageRequest) returns (ObjectStorageReference) { - option (yandex.cloud.api.tools.method).lint_skip.contains_resource_name = true; - }; - rpc PatchPackage(PatchPackageRequest) returns (ObjectStorageReference) { - option (yandex.cloud.api.tools.method).lint_skip.contains_resource_name = true; - }; - rpc DeleteImage(DeleteImageRequest) returns (google.protobuf.Empty); - - rpc BuildFromDockerImage(BuildPackageFromDockerImageRequest) returns (ObjectStorageReference); -} - -message BuildPackageRequest { - string function_version_id = 1 [(required) = true]; - Package source = 2 [(required) = true]; - string output_path = 3 [(required) = true]; -} - -message PatchPackageRequest { - enum Action { - ACTION_UNSPECIFIED = 0; - PUT = 1; - DELETE = 2; - } - - message File { - string path = 1 [(required) = true]; - bytes content = 2 [(length) = "<=10485760"]; - bool executable = 3; - Action action = 4; - } - - string function_version_id = 1; - ObjectStorageReference origin = 2; - string output_path = 3 [(required) = true]; - repeated File files = 4; -} - -message DeleteImageRequest { - ObjectStorageReference image = 1 [(required) = true]; -} - -message BuildPackageFromDockerImageRequest { - string resource_id = 1 [(required) = true]; - // image_url should contain image digest. - string image_url = 2 [(required) = true]; - string output_path = 3 [(required) = true]; -} diff --git a/cloud/bitbucket/private-api/yandex/cloud/priv/serverless/functions/v1/inner/quota_service.proto b/cloud/bitbucket/private-api/yandex/cloud/priv/serverless/functions/v1/inner/quota_service.proto deleted file mode 100644 index b272dabe40..0000000000 --- a/cloud/bitbucket/private-api/yandex/cloud/priv/serverless/functions/v1/inner/quota_service.proto +++ /dev/null @@ -1,29 +0,0 @@ -syntax = "proto3"; - -package yandex.cloud.priv.serverless.functions.v1.inner; - -import "google/protobuf/empty.proto"; -import "yandex/cloud/priv/quota/quota.proto"; -import "yandex/cloud/api/tools/options.proto"; - -option go_package = "a.yandex-team.ru/cloud/bitbucket/private-api/yandex/cloud/priv/serverless/functions/v1/inner;inner"; -option java_outer_classname = "PSFQS"; - -service QuotaService { - rpc Get (quota.GetQuotaRequest) returns (quota.Quota); - - rpc UpdateQuotaUsage(UpdateQuotaUsageRequest) returns (google.protobuf.Empty) { - option (yandex.cloud.api.tools.method).lint_skip.contains_resource_name = true; - }; -} - -message UpdateQuotaUsageRequest { - string zone = 1; - repeated QuotaUsage usages = 2; -} - -message QuotaUsage { - string cloud_id = 1; - string name = 2; - int64 value = 3; -} diff --git a/cloud/bitbucket/private-api/yandex/cloud/priv/serverless/functions/v1/inner/scheduler_service.proto b/cloud/bitbucket/private-api/yandex/cloud/priv/serverless/functions/v1/inner/scheduler_service.proto deleted file mode 100644 index 1121de9b32..0000000000 --- a/cloud/bitbucket/private-api/yandex/cloud/priv/serverless/functions/v1/inner/scheduler_service.proto +++ /dev/null @@ -1,43 +0,0 @@ -syntax = "proto3"; - -package yandex.cloud.priv.serverless.functions.v1.inner; -option go_package = "a.yandex-team.ru/cloud/bitbucket/private-api/yandex/cloud/priv/serverless/functions/v1/inner;inner"; - -service SchedulerService { - rpc GetWorker(GetWorkerRequest) returns (GetWorkerResponse); - rpc Heartbeat(HeartbeatRequest) returns (HeartbeatResponse); - rpc EngineShutdown(EngineShutdownRequest) returns (EngineShutdownResponse); -} - -message GetWorkerRequest { - string function_id = 1; - string function_version_id = 3; - repeated string banned_engines = 4; -} - -message GetWorkerResponse { - string engine_address = 5; - string worker_set_id = 6; - string server_name = 7; - string http_address = 8; -} - -message HeartbeatRequest { - int64 engine_port = 1; - string engine_uuid = 2; - string server_name = 3; - int64 http_port = 4; -} - -message HeartbeatResponse { -} - -message EngineShutdownRequest { - int64 engine_port = 1; - string engine_uuid = 2; - string server_name = 3; - int64 http_port = 4; -} - -message EngineShutdownResponse { -} diff --git a/cloud/bitbucket/private-api/yandex/cloud/priv/serverless/functions/v1/operation_service.proto b/cloud/bitbucket/private-api/yandex/cloud/priv/serverless/functions/v1/operation_service.proto deleted file mode 100644 index 9bec187ad9..0000000000 --- a/cloud/bitbucket/private-api/yandex/cloud/priv/serverless/functions/v1/operation_service.proto +++ /dev/null @@ -1,16 +0,0 @@ -syntax = "proto3"; - -package yandex.cloud.priv.serverless.functions.v1; - -import "yandex/cloud/priv/operation/operation.proto"; - -option go_package = "a.yandex-team.ru/cloud/bitbucket/private-api/yandex/cloud/priv/serverless/functions/v1;functions"; -option java_outer_classname = "PFOS"; - -service OperationService { - rpc Get (GetOperationRequest) returns (operation.Operation); -} - -message GetOperationRequest { - string operation_id = 1; -} diff --git a/cloud/bitbucket/private-api/yandex/cloud/priv/serverless/functions/v1/quota_service.proto b/cloud/bitbucket/private-api/yandex/cloud/priv/serverless/functions/v1/quota_service.proto deleted file mode 100644 index e2985c47bd..0000000000 --- a/cloud/bitbucket/private-api/yandex/cloud/priv/serverless/functions/v1/quota_service.proto +++ /dev/null @@ -1,35 +0,0 @@ -syntax = "proto3"; - -package yandex.cloud.priv.serverless.functions.v1; - -import "google/protobuf/empty.proto"; -import "yandex/cloud/api/tools/options.proto"; -import "yandex/cloud/priv/quota/quota.proto"; - -option go_package = "a.yandex-team.ru/cloud/bitbucket/private-api/yandex/cloud/priv/serverless/functions/v1;functions"; -option java_outer_classname = "PFQS"; - -service QuotaService { - - rpc Get (quota.GetQuotaRequest) returns (quota.Quota); - - rpc UpdateMetric (quota.UpdateQuotaMetricRequest) returns (google.protobuf.Empty); - - rpc GetDefault (quota.GetQuotaDefaultRequest) returns (quota.GetQuotaDefaultResponse); - - rpc UpdateQuotaUsage(UpdateQuotaUsageRequest) returns (google.protobuf.Empty) { - option (yandex.cloud.api.tools.method).lint_skip.contains_resource_name = true; - }; - -} - -message UpdateQuotaUsageRequest { - string zone = 1; - repeated QuotaUsage usages = 2; -} - -message QuotaUsage { - string cloud_id = 1; - string name = 2; - int64 value = 3; -} diff --git a/cloud/bitbucket/private-api/yandex/cloud/priv/serverless/functions/v1/session.proto b/cloud/bitbucket/private-api/yandex/cloud/priv/serverless/functions/v1/session.proto deleted file mode 100644 index 22cb6321df..0000000000 --- a/cloud/bitbucket/private-api/yandex/cloud/priv/serverless/functions/v1/session.proto +++ /dev/null @@ -1,82 +0,0 @@ -syntax = "proto3"; - -package yandex.cloud.priv.serverless.functions.v1; - -import "google/protobuf/duration.proto"; -import "google/protobuf/timestamp.proto"; -import "yandex/cloud/priv/validation.proto"; -import "yandex/cloud/priv/serverless/functions/v1/function.proto"; - - -option go_package = "a.yandex-team.ru/cloud/bitbucket/private-api/yandex/cloud/priv/serverless/functions/v1;functions"; -option java_outer_classname = "PSS"; - -message Session { - string id = 1; - string folder_id = 2; - string function_id = 3; - google.protobuf.Timestamp created_at = 4; - string name = 5; - string description = 6; - map<string, string> labels = 7; - string author = 8; - VersionProperties version_properties = 9; - repeated FileAction file_actions = 10; -} - -message VersionProperties { - string runtime = 1 [(required) = true]; - string entrypoint = 2 [(required) = true]; - Resources resources = 3 [(required) = true]; - google.protobuf.Duration execution_timeout = 4 [(value) = "<=600s"]; - string service_account_id = 5; - map<string, string> environment = 7 [(size) = "<=64", (length) = "<=4096", (map_key).pattern = "[a-zA-Z][a-zA-Z0-9_]*"]; - string builder = 8; - bool tmpfs = 9; - repeated string tags = 10 [(pattern) = "[a-z][-_0-9a-z]*"]; - int64 concurrency = 11; - Connectivity connectivity = 12; - DataDisk data_disk = 13; -} - -enum FileType { - FILE_TYPE_UNSPECIFIED = 0; - REGULAR = 1; - DIRECTORY = 2; -} - -message FileAction { - enum Action { - ACTION_UNSPECIFIED = 0; - ADD = 1; - MODIFY = 2; - DELETE = 3; - } - string path = 1; - FileType type = 2; - Action action = 3; -} - -enum FileStatus { - FILE_STATUS_UNSPECIFIED = 0; - ADDED = 1; - MODIFIED = 2; - DELETED = 3; - UNMODIFIED = 4; -} - -message SessionFile { - string path = 1; - bytes content = 2; - bool executable = 3; - FileType type = 4; - FileStatus status = 5; -} - -message SessionFileInfo { - string path = 1; - int64 size = 2; - bool executable = 3; - FileType type = 4; - FileStatus status = 5; -} diff --git a/cloud/bitbucket/private-api/yandex/cloud/priv/serverless/functions/v1/session_service.proto b/cloud/bitbucket/private-api/yandex/cloud/priv/serverless/functions/v1/session_service.proto deleted file mode 100644 index 596cb00141..0000000000 --- a/cloud/bitbucket/private-api/yandex/cloud/priv/serverless/functions/v1/session_service.proto +++ /dev/null @@ -1,266 +0,0 @@ -syntax = "proto3"; - -package yandex.cloud.priv.serverless.functions.v1; - -import "google/protobuf/field_mask.proto"; -import "google/protobuf/duration.proto"; -import "yandex/cloud/api/operation.proto"; -import "yandex/cloud/priv/serverless/functions/v1/session.proto"; -import "yandex/cloud/priv/serverless/functions/v1/function.proto"; -import "yandex/cloud/priv/operation/operation.proto"; -import "yandex/cloud/priv/validation.proto"; - - -option go_package = "a.yandex-team.ru/cloud/bitbucket/private-api/yandex/cloud/priv/serverless/functions/v1;functions"; -option java_outer_classname = "PSSS"; - -service SessionService { - rpc Create (CreateSessionRequest) returns (operation.Operation) { - option (yandex.cloud.api.operation) = { - metadata: "CreateSessionMetadata" - response: "Session" - }; - }; - - rpc Update (UpdateSessionRequest) returns (operation.Operation) { - option (yandex.cloud.api.operation) = { - metadata: "UpdateSessionMetadata" - response: "Session" - }; - }; - - rpc Get (GetSessionRequest) returns (Session); - - rpc Delete (DeleteSessionRequest) returns (operation.Operation) { - option (yandex.cloud.api.operation) = { - metadata: "DeleteSessionMetadata" - response: "google.protobuf.Empty" - }; - }; - - rpc List (ListSessionsRequest) returns (ListSessionsResponse); - - rpc Deploy (DeploySessionRequest) returns (operation.Operation) { - option (yandex.cloud.api.operation) = { - metadata: "DeploySessionMetadata" - response: "Version" - }; - }; - - rpc ListFiles(ListFilesRequest) returns (ListFilesResponse); - - rpc GetFile(GetFileRequest) returns (SessionFile); - - rpc PutFile(PutFileRequest) returns (operation.Operation) { - option (yandex.cloud.api.operation) = { - metadata: "SessionPutFileMetadata" - response: "FileAction" - }; - } - - rpc AddFile(AddFileRequest) returns (operation.Operation) { - option (yandex.cloud.api.operation) = { - metadata: "SessionAddFileMetadata" - response: "FileAction" - }; - } - - // if file was modified, reverts it to original version; if deleted, restores; if added, removes and returns DELETE - rpc RevertFile(RevertFileRequest) returns (operation.Operation) { - option (yandex.cloud.api.operation) = { - metadata: "SessionRevertFileMetadata" - response: "FileAction" - }; - } - - rpc DeleteFile(DeleteFileRequest) returns (operation.Operation) { - option (yandex.cloud.api.operation) = { - metadata: "SessionDeleteFileMetadata" - response: "FileAction" - }; - } -} - -message CreateSessionRequest { - string function_id = 1 [(required) = true]; - oneof initializer { - option (exactly_one) = true; - string function_version_id = 2; - EmptySession empty_session = 7; - FunctionVersionTemplate function_template = 9; - } ; - string name = 4; - string description = 5; - map<string, string> labels = 6; - - enum EmptySession { - EMPTY_SESSION_UNSPECIFIED = 0; - FROM_SCRATCH = 1; - } -} - -message FunctionVersionTemplate { - string runtime = 1; -} - -message UpdateSessionRequest { - string session_id = 1 [(required) = true]; - google.protobuf.FieldMask update_mask = 2; - - string name = 3; - string description = 4; - map<string, string> labels = 5; - - string runtime = 6 [(required) = true]; - string entrypoint = 7 [(required) = true]; - Resources resources = 8 [(required) = true]; - google.protobuf.Duration execution_timeout = 9 [(value) = "<=600s"]; - string service_account_id = 10; - map<string, string> environment = 12 [(size) = "<=64", (length) = "<=4096", (map_key).pattern = "[a-zA-Z][a-zA-Z0-9_]*"]; - string builder = 13; - bool tmpfs = 14; - repeated string tag = 15 [(pattern) = "[a-z][-_0-9a-z]*"]; - int64 concurrency = 16; - Connectivity connectivity = 17; - DataDisk data_disk = 18; -} - - -message CreateSessionMetadata { - string session_id = 1; -} - -message UpdateSessionMetadata { - string session_id = 1; -} - -message GetSessionRequest { - string session_id = 1 [(required) = true]; -} - -message DeleteSessionRequest { - string session_id = 1; -} - -message DeleteSessionMetadata { - string session_id = 1; -} - -message SessionPutFileMetadata { - string session_id = 1; - string path = 2; -} - -message SessionAddFileMetadata { - string session_id = 1; - string path = 2; -} - -message SessionRevertFileMetadata { - string session_id = 1; - string path = 2; -} - -message SessionDeleteFileMetadata { - string session_id = 1; - string path = 2; -} - -message ListSessionsRequest { - oneof id { - option (exactly_one) = true; - string folder_id = 1; - string function_id = 2; - } ; - int64 page_size = 3; - string page_token = 4; - // supported fields for filter: - // name - // created_at - // function_version_id - // author - string filter = 5; -} - -message ListSessionsResponse { - repeated Session sessions = 1; - string next_page_token = 2; -} - -message DeploySessionRequest { - string session_id = 1 [(required) = true]; - oneof source { - option (exactly_one) = true; - - Package package = 13; - - // zipped content (user sends zipped data) - bytes content = 14 [(length) = "<=52428800"]; - - bool session = 15; - - } - google.protobuf.FieldMask update_mask = 2; - - string name = 3; - string description = 4; - map<string, string> labels = 5; - - string runtime = 6 [(required) = true]; - string entrypoint = 7 [(required) = true]; - Resources resources = 8 [(required) = true]; - google.protobuf.Duration execution_timeout = 9 [(value) = "<=600s"]; - string service_account_id = 10; - map<string, string> environment = 12 [(size) = "<=64", (length) = "<=4096", (map_key).pattern = "[a-zA-Z][a-zA-Z0-9_]*"]; - string builder = 16; - bool tmpfs = 17; - repeated string tag = 18 [(pattern) = "[a-z][-_0-9a-z]*"]; - int64 concurrency = 19; - Connectivity connectivity = 20; - DataDisk data_disk = 21; -} - -message DeploySessionMetadata { - string session_id = 1 [(required) = true]; - string function_version_id = 2 [(required) = true]; -} - -message ListFilesRequest { - string session_id = 1 [(required) = true]; - string prefix = 2; -} - -message ListFilesResponse { - repeated SessionFileInfo files = 1; -} - -message GetFileRequest { - string session_id = 1 [(required) = true]; - string path = 2 [(required) = true]; - bool original = 3; // if set, returns original version of file or NOT_FOUND if file created in this session -} - -message PutFileRequest { - string session_id = 1 [(required) = true]; - string path = 2 [(required) = true, (pattern) = "(/[-._A-Za-z0-9]{1,61})+"]; - bytes content = 3 [(length) = "<=10485760"]; - bool executable = 4; -} - -message AddFileRequest { - string session_id = 1 [(required) = true]; - string path = 2 [(required) = true, (pattern) = "(/[-._A-Za-z0-9]{1,61})+"]; - FileType type = 3; - bytes content = 4 [(length) = "<=10485760"]; - bool executable = 5; -} - -message DeleteFileRequest { - string session_id = 1 [(required) = true]; - string path = 2 [(required) = true]; -} - -message RevertFileRequest { - string session_id = 1 [(required) = true]; - string path = 2 [(required) = true]; -} diff --git a/cloud/bitbucket/private-api/yandex/cloud/priv/services.yaml b/cloud/bitbucket/private-api/yandex/cloud/priv/services.yaml deleted file mode 100644 index ef7524a0b4..0000000000 --- a/cloud/bitbucket/private-api/yandex/cloud/priv/services.yaml +++ /dev/null @@ -1,186 +0,0 @@ -# one of the following https://cloud.yandex.ru/services#_all -services: - dwh: - name: Yandex Cloud DWH (Internal) - description: Облачный DWH - resource-manager: - name: Yandex Resource Manager - description: Управление ресурсами в каталогах и облаках - storage: - name: Yandex Object Storage - description: Масштабируемое хранилище данных - aliases: [s3] - ai: - name: Yandex SpeechKit, Yandex Translate, Yandex Vision - description: Комплекс технологий распознавания и синтеза речи, машинный перевод, анализ изображений - aliases: [cloudai] - certificate-manager: - name: Yandex Certificate Manager - description: Управление TLS-сертификатами - cdn: - name: Yandex Cloud CDN - description: Сервис CDN - compute: - name: Yandex Compute Cloud - description: Виртуальные машины и диски - container-registry: - name: Yandex Container Registry - description: Управление Docker-образами - datalens: - name: Yandex DataLens - description: Визуализация и анализ данных - datasphere: - name: Yandex DataSphere - description: Платформа для ML-разработчиков - dns: - name: Yandex Cloud DNS - description: ДНС - iam: - name: Yandex Identity and Access Management - description: Идентификация и контроль доступа к облачным ресурсам - iot: - name: Yandex IoT Core - description: Решения для интернета вещей - managed-kubernetes: - name: Yandex Managed Service for Kubernetes - description: Управление кластерами Kubernetes - aliases: [k8s] - kms: - name: Yandex Key Management Service - description: Управление ключами шифрования - ylb: - name: Yandex Load Balancer - description: Сетевые балансировщики нагрузки - aliases: [load-balancer] - mdb: - name: Yandex Managed Data Bases - description: Управление базами данных - instance-group: - name: Yandex Instance Groups - description: Группы виртуальных машин - monitoring: - name: Yandex Monitoring - description: Сбор и визуализация метрик - serverless: - name: Yandex Cloud Functions - description: Запуск вашего кода в виде функции - api-gateway: - name: Yandex API Gateway - description: Cервис для управления API-шлюзами - vpc: - name: Yandex Virtual Private Cloud - description: Управление сетями в облаке - cic: - name: Yandex Cloud Interconnect - description: Связность между виртуальными сетями и on-premise сетями - ydb: - name: Yandex Database - description: Распределённая отказоустойчивая NewSQL СУБД - yds: - name: Yandex Data Streams - description: Отказоустойчивый сервис для передачи потоков данных - ymq: - name: Yandex Message Queue - description: Очереди для обмена сообщениями между приложениями - marketplace: - name: Yandex Cloud Marketplace - description: '' - alb: - name: Load Balancer API - description: '' - oauth: - name: Yandex Cloud OAuth 2.0 & OpenID Connect server - description: '' - billing: - name: Billing (internal) - description: '' - support: - name: Support (internal) - description: '' - yq: - name: Yandex Query - description: Сервис безсерверной аналитики - data-transfer: - name: Data Transfer - description: Сервис без серверного трансфера данных - dataproc: - name: Data Proc - description: Управление кластерами Apache Hadoop и Apache Spark - organization-manager: - name: Organization Manager - description: Управление Организациями - vulnerability-scanner: - name: Vulnerability Scanner (internal) - description: Сервис сканирования образов на уязвимости - lockbox: - name: Yandex Lockbox - description: Управление секретами - managed-kafka: - name: Yandex Managed Service for Apache Kafka - description: Управление кластерами Apache Kafka - managed-elasticsearch: - name: Yandex Managed Service for Elasticsearch - description: Управление кластерами Elasticsearch - managed-sqlserver: - name: Yandex Managed Service for Microsoft SQL Server - description: Управление кластерами Microsoft SQL Server - logs: - name: Yandex Cloud Logs - description: Запись, хранение, чтение и настройка логов - logging: - name: Yandex Cloud Logging - description: Запись, хранение, чтение и настройка логов - audit-trails: - name: Yandex Audit Trails - description: Сервис аудитных логов - bastion: - name: Bastion (internal) - description: Сервис доступа по ssh - loadtesting: - name: Loadtesting - description: Сервис нагрузочного тестирования - vdi: - name: Virtual Desktop Infrastructure - description: Виртуальные рабочие места - uk8s: - name: Underlay K8S - description: Kubernetes для железных хостов - managed-gitlab: - name: Yandex Managed Service for Gitlab - description: Сервис управления Git-репозиториями - aliases: [gitlab] - quota-manager: - name: Quota Manager - description: Сервис просмотра квот и управление запросами на изменение квот - cloudsearch: - name: YC.CloudSearch - description: Сервис поиска по облакам - cloudbeaver: - name: CloudBeaver - description: Управление базами данных через web-интерфейс - smart-captcha: - name: Yandex SmartCaptcha - description: Сервис для встраивания капчи - -#DoubleCloud services - dcnetwork: - name: DoubleCloud Network Service - description: Управление сетями в DoubleCloud - -#Internal services - backoffice: - name: YC.Backoffice - description: Внутренняя админка - - maintenance: - name: Maintenance Service - description: Обслуживание облачных сервисов - -#Collaboration services - tracker: - name: Yandex Tracker - description: Яндекс Трекер, сервис для совместной работы и организации процессов в компании - - wiki: - name: Yandex Wiki - description: Яндекс Вики, сервис для ведения базы знаний diff --git a/cloud/bitbucket/private-api/yandex/cloud/priv/stages.yaml b/cloud/bitbucket/private-api/yandex/cloud/priv/stages.yaml deleted file mode 100644 index 4aed116cf7..0000000000 --- a/cloud/bitbucket/private-api/yandex/cloud/priv/stages.yaml +++ /dev/null @@ -1,172 +0,0 @@ -stages: - # Internal - - GA - - TEST_ALPHA # https://st.yandex-team.ru/CLOUD-36203 - - # Resource reaper flags https://st.yandex-team.ru/CLOUD-42619 - - REAPER_NO_DELAY_FLAG - - REAPER_WHITELIST_FLAG - - # MDB feature flags - - MDB_ALLOW_DECOMMISSIONED_ZONE_USE - - MDB_CLICKHOUSE_FAST_OPS - - MDB_CLICKHOUSE_SHARDING - - MDB_CLICKHOUSE_UNLIMITED_SHARD_COUNT - - MDB_CLICKHOUSE_UPGRADE - - MDB_CLICKHOUSE_CLOUD_STORAGE - - MDB_CLICKHOUSE_CLOUD_STORAGE_HA - - MDB_CLICKHOUSE_KEEPER - - MDB_CLICKHOUSE_SQL_MANAGEMENT - - MDB_CLICKHOUSE_TESTING_VERSIONS - - MDB_DATAPROC_INSTANCE_GROUPS - - MDB_DATAPROC_MANAGER - - MDB_DATAPROC_AUTOSCALING - - MDB_DATAPROC_ALLOW_DEPRECATED_VERSIONS - - MDB_HADOOP_ALPHA - - MDB_HADOOP_GPU - - MDB_LOCAL_DISK_RESIZE - - MDB_MONGODB_40 - - MDB_MONGODB_4_2 - - MDB_MONGODB_4_2_RS_UPGRADE - - MDB_MONGODB_4_2_SHARDED_UPGRADE - - MDB_MONGODB_EXTENDEDS - - MDB_MONGODB_FAST_OPS - - MDB_MONGODB_UNLIMITED_SHARD_COUNT - - MDB_MYSQL_80 - - MDB_MYSQL_FAST_OPS - - MDB_NETWORK_DISK_NO_STOP_RESIZE - - MDB_NETWORK_DISK_TRUNCATE - - MDB_POSTGRESQL_10_1C - - MDB_POSTGRESQL_11 - - MDB_POSTGRESQL_11_1C - - MDB_POSTGRESQL_12_1C - - MDB_POSTGRESQL_13 - - MDB_POSTGRESQL_FAST_OPS - - MDB_GREENPLUM_CLUSTER - - MDB_REDIS - - MDB_REDIS_FAST_OPS - - MDB_REDIS_SHARDING - - MDB_KAFKA_CLUSTER - - MDB_KAFKA_CONNECT - - MDB_SQLSERVER_CLUSTER - - MDB_SQLSERVER_ALLOW_DEV - - MDB_SQLSERVER_ALLOW_17_19 - - MDB_ELASTICSEARCH_CLUSTER - - MDB_ELASTICSEARCH_ALLOW_UNLIMITED_HOSTS - - MDB_DATAPROC_UI_PROXY - - MDB_MONGODB_RS_PITR - - MDB_ALLOW_NETWORK_SSD_NONREPLICATED - - MDB_DATAPROC_IMAGE_1_3 - - MDB_MONGODB_INFRA_CFG - - MDB_MONGODB_4_4 - - MDB_MONGODB_4_4_RS_UPGRADE - - MDB_MONGODB_4_4_SHARDED_UPGRADE - - MDB_MONGODB_SHARDED_PITR - - MDB_MONGODB_BACKUP_SERVICE - - MDB_FORCE_UNSAFE_RESIZE - - MDB_MONGODB_RESTORE_WITHOUT_REPLAY - - MDB_FLAVOR_80_512 - - MDB_DATAPROC_IMAGE_2_0 # https://st.yandex-team.ru/MDB-8214 - - MDB_MONGODB_ALLOW_DEPRECATED_VERSIONS - - MDB_MONGODB_PERF_DIAG - - MDB_V3GEN # https://st.yandex-team.ru/MDB-12883 - - MDB_SQLSERVER_TWO_NODE_CLUSTER # https://st.yandex-team.ru/MDB-13389 - - MDB_DEDICATED_HOSTS # https://st.yandex-team.ru/CLOUDFRONT-9054 - - MDB_MONGODB_ENTERPRISE # https://st.yandex-team.ru/MDB-16140 - - # Other services feature flags - - KMS_STRONG_ENCRYPTION # https://st.yandex-team.ru/CLOUD-34154 - - KMS_HSM_KEYS # https://st.yandex-team.ru/CLOUD-44371 - - SOFTWARE_ACCELERATED_NETWORK_ALPHA # https://st.yandex-team.ru/CLOUDFRONT-2752 - - VPC_DISABLE_ROUTE_TABLES_SUBNETS_CHECK # https://st.yandex-team.ru/CLOUD-30129 - - STORAGE_ENABLE_ENCRYPTION # https://st.yandex-team.ru/MDS-11418 - - STORAGE_ENABLE_SELECT # https://st.yandex-team.ru/MDS-13861 - - CDN_ENABLE_ACCESS # https://st.yandex-team.ru/CLOUD-63401 - - DATASPHERE_CUSTOM_LM_LEARNING # https://st.yandex-team.ru/CLOUD-52048 - - DATA_TRANSFER_LOGBROKER - - DATA_TRANSFER_LOGFELLER - - DATA_TRANSFER_MONGODB - - DATA_TRANSFER_CLICKHOUSE - - DATA_TRANSFER_YDB - - DATA_TRANSFER_YDS # https://st.yandex-team.ru/TM-1460 - - DATA_TRANSFER_KAFKA # https://st.yandex-team.ru/TM-2041 - - DATA_TRANSFER_OBJECT_STORAGE # https://st.yandex-team.ru/TM-1747 - - DATA_TRANSFER_ORACLE # https://st.yandex-team.ru/TM-643 - - DATA_TRANSFER_POSTGRESQL_TO_YDB #https://st.yandex-team.ru/TM-2477 - - DATA_TRANSFER_MYSQL_TO_YDB #https://st.yandex-team.ru/TM-2477 - - DATA_TRANSFER_POSTGRESQL_TO_OBJECT_STORAGE #https://st.yandex-team.ru/TM-2477 - - DATA_TRANSFER_MYSQL_TO_OBJECT_STORAGE #https://st.yandex-team.ru/TM-2477 - - DATA_TRANSFER_MONGO_TO_OBJECT_STORAGE #https://st.yandex-team.ru/TM-2477 - - DATA_TRANSFER_ORACLE_TO_POSTGRESQL #https://st.yandex-team.ru/TM-2477 - - DATA_TRANSFER_ORACLE_TO_CLICKHOUSE #https://st.yandex-team.ru/TM-2477 - - DATA_TRANSFER_YC_FROM_LOGBROKER #https://st.yandex-team.ru/TM-2563 - - DATA_TRANSFER_YC_TO_LOGBROKER #https://st.yandex-team.ru/TM-2563 - - DATA_TRANSFER_AIRBYTE #https://st.yandex-team.ru/TM-2899 - - DATA_TRANSFER_GREENPLUM # https://st.yandex-team.ru/TM-3280 - - DATA_TRANSFER_DEBEZIUM # https://st.yandex-team.ru/TM-3218 - - DATASPHERE_GENERAL_NIRVANA_GRAPHS # https://st.yandex-team.ru/CLOUD-62288 - - DATASPHERE_CELL_DEPLOYMENT - - IAM_FOLDER_SAML_FEDERATIONS # iam SAML-federations in folder https://st.yandex-team.ru/CLOUD-69157 - - IAM_ACCESS_KEY_PREFIX # https://st.yandex-team.ru/CLOUD-80368 - - SERVERLESS_FUNCTIONS_PROVISION_ALPHA # https://st.yandex-team.ru/CLOUD-71805 - - LOADTESTING_PREVIEW_ALPHA # https://st.yandex-team.ru/CLOUDLOAD-77 - - DATASPHERE_TAAS # https://st.yandex-team.ru/CLOUD-80447 - - DATASPHERE_IDE_ON_SERVANT # https://st.yandex-team.ru/CLOUD-85578 - - DATASPHERE_DISK_VERSIONING # https://st.yandex-team.ru/CLOUD-93160 - - TRIGGERS_CLOUD_LOGS_ALPHA # https://st.yandex-team.ru/CLOUD-80291 - - TRIGGERS_MAIL_ALPHA # https://st.yandex-team.ru/CLOUD-95233 - - SMART_CAPTCHA_ALPHA # https://st.yandex-team.ru/CAPTCHA-2599 - - SERVERLESS_FUNCTIONS_SECRETS_ALPHA # https://st.yandex-team.ru/CLOUD-52449 - - # Services in development - - APIGW_ALPHA # https://st.yandex-team.ru/CLOUD-31754 - - SERVERLESS_VPC # https://st.yandex-team.ru/CLOUD-40827 - - CERTIFICATE_MANAGER_ALPHA # https://st.yandex-team.ru/CLOUD-35187 - - CUSTOM_FQDN_INSTANCES_ALPHA # https://st.yandex-team.ru/CLOUD-15718 - - EGRESS_NAT_ALPHA # https://st.yandex-team.ru/CLOUD-35281 - - CIC_ALPHA # https://st.yandex-team.ru/CLOUD-74655 - - KMS_ALPHA # https://st.yandex-team.ru/CLOUD-26559 - - ML_PLATFORM_ALPHA # https://st.yandex-team.ru/CLOUD-35731 - - MULTI_INTERFACE_INSTANCES_ALPHA # https://st.yandex-team.ru/CLOUD-15718 - - UDP_LISTENER_YLB_ALPHA # https://st.yandex-team.ru/CLOUD-34630 - - YDB_ALPHA # https://st.yandex-team.ru/CLOUD-24439 - - COMPUTE_OSLOGIN_ALPHA # https://st.yandex-team.ru/CLOUD-21127 - - DATA_TRANSFER_ALPHA #https://st.yandex-team.ru/CLOUD-40128 - - DNS_ALPHA #https://st.yandex-team.ru/CLOUD-42207 - - MDBPROXY_ALPHA #https://st.yandex-team.ru/CLOUD-38110 - - IMAGE_SCANNER_ALPHA #https://st.yandex-team.ru/CLOUD-34754 - - LOCKBOX_ALPHA #https://st.yandex-team.ru/CLOUD-46437 - - ALB_ALPHA #https://st.yandex-team.ru/CLOUD-58061 - - LOGGING_ALPHA # https://st.yandex-team.ru/CLOUD-62388 - - LOGS_ALPHA # deprecated, use LOGGING_ALPHA - - AUDIT_TRAILS_ALPHA # https://st.yandex-team.ru/CLOUD-51927 - - RESOURCEMANAGER_DELETE_ALPHA # https://st.yandex-team.ru/CLOUD-63858 - - DATA_STREAMS_ALPHA # https://st.yandex-team.ru/CLOUD-68113 - - SERVERLESS_CONTAINERS_ALPHA # https://st.yandex-team.ru/CLOUD-72622 - - SERVERLESS_CONTAINERS_PROVISION_ALPHA # https://st.yandex-team.ru/CLOUD-85491 - - K8S_MARKETPLACE_ALPHA #https://st.yandex-team.ru/CLOUD-72635 - - K8S_MARKETPLACE_FRONT_ALPHA # https://st.yandex-team.ru/CLOUD-84678 - - VDI_ALPHA #https://st.yandex-team.ru/CLOUDBIZ-5195 - - MANAGED_GITLAB_ALPHA # https://st.yandex-team.ru/CLOUD-71805 - - CLOUD_BEAVER_ALPHA # https://st.yandex-team.ru/CLOUD-87921 - - # VPC - - INTERNAL_YLB_ALPHA # https://st.yandex-team.ru/CLOUD-18755 - - VPC_SG_ALPHA # https://st.yandex-team.ru/CLOUD-35341 - - VPC_IPV6_ALPHA # https://st.yandex-team.ru/CLOUD-40113 - - VPC_YANDEX_SERVICES # https://st.yandex-team.ru/CLOUD-62110 - - # Marketplace - - DISABLE_PLACEMENT_HINT_WINDOWS_DC # https://st.yandex-team.ru/CLOUD-82570 - - DISABLE_PLACEMENT_HINT_WINDOWS_DC_SQL_ENTERPRISE # https://st.yandex-team.ru/CLOUD-82570 - - YAGA_MARKETPLACE_ALPHA # https://st.yandex-team.ru/CLOUD-85253 - - MARKETPLACE_MONGODB_ENTERPRISE # https://st.yandex-team.ru/CLOUD-80323 - - # Yandex Query - - YANDEX_QUERY_ALPHA # https://st.yandex-team.ru/CLOUD-79231 - - YANDEX_QUERY_CONNECTION_CH - - YANDEX_QUERY_CONNECTION_YDB - - # Outdated, don't use these (Stages CAN'T BE REMOVED) - - VPC_DHCP_OPTIONS_ALPHA - diff --git a/cloud/bitbucket/private-api/yandex/cloud/priv/validation.proto b/cloud/bitbucket/private-api/yandex/cloud/priv/validation.proto deleted file mode 100644 index daec144396..0000000000 --- a/cloud/bitbucket/private-api/yandex/cloud/priv/validation.proto +++ /dev/null @@ -1,29 +0,0 @@ -syntax = "proto3"; - -package yandex.cloud.priv; - -import "google/protobuf/descriptor.proto"; - -// See yandex/cloud/priv/example/v1alpha/validation_example.proto for usage examples. -option go_package = "a.yandex-team.ru/cloud/bitbucket/private-api/yandex/cloud/priv;cloud"; - -extend google.protobuf.OneofOptions { - bool exactly_one = 100400; -} - -extend google.protobuf.FieldOptions { - bool required = 100501; - string pattern = 100502; - string value = 100503; - string size = 100504; - string length = 100505; - bool unique = 100506; - MapKeySpec map_key = 100510; - string bytes = 100511; -} - -message MapKeySpec { - string value = 1; - string pattern = 2; - string length = 3; -} diff --git a/contrib/libs/googleapis-common-protos/.yandex_meta/devtools.copyrights.report b/contrib/libs/googleapis-common-protos/.yandex_meta/devtools.copyrights.report deleted file mode 100644 index 8b7f8626d2..0000000000 --- a/contrib/libs/googleapis-common-protos/.yandex_meta/devtools.copyrights.report +++ /dev/null @@ -1,192 +0,0 @@ -# File format ($ symbol means the beginning of a line): -# -# $ # this message -# $ # ======================= -# $ # comments (all commentaries should starts with some number of spaces and # symbol) -# ${action} {license id} {license text hash} -# $BELONGS ./ya/make/file/relative/path/1/ya.make ./ya/make/2/ya.make -# ${all_file_action} filename -# $ # user commentaries (many lines) -# $ generated description - files with this license, license text... (some number of lines that starts with some number of spaces, do not modify) -# ${action} {license spdx} {license text hash} -# $BELONGS ./ya/make/file/relative/path/3/ya.make -# ${all_file_action} filename -# $ # user commentaries -# $ generated description -# $ ... -# -# You can modify action, all_file_action and add commentaries -# Available actions: -# keep - keep license in contrib and use in credits -# skip - skip license -# remove - remove all files with this license -# rename - save license text/links into licenses texts file, but not store SPDX into LINCENSE macro. You should store correct license id into devtools.license.spdx.txt file -# -# {all file action} records will be generated when license text contains filename that exists on filesystem (in contrib directory) -# We suppose that that files can contain some license info -# Available all file actions: -# FILE_IGNORE - ignore file (do nothing) -# FILE_INCLUDE - include all file data into licenses text file -# ======================= - -KEEP COPYRIGHT_SERVICE_LABEL 05bdd09fb9fdb384a61f2eb54df462d6 -BELONGS ya.make - License text: - // Copyright 2016 Google Inc. - Scancode info: - Original SPDX id: COPYRIGHT_SERVICE_LABEL - Score : 100.00 - Match type : COPYRIGHT - Files with this license: - google/api/consumer.proto [1:1] - -KEEP COPYRIGHT_SERVICE_LABEL 2531f49b086b54e88aae9438d8a9d63f -BELONGS ya.make - License text: - // Copyright 2020 Google LLC - Scancode info: - Original SPDX id: COPYRIGHT_SERVICE_LABEL - Score : 100.00 - Match type : COPYRIGHT - Files with this license: - google/api/client.proto [1:1] - google/api/field_behavior.proto [1:1] - google/api/resource.proto [1:1] - google/rpc/code.proto [1:1] - google/rpc/context/attribute_context.proto [1:1] - google/rpc/error_details.proto [1:1] - google/rpc/status.proto [1:1] - google/type/latlng.proto [1:1] - -KEEP COPYRIGHT_SERVICE_LABEL 30222adbd0b829894165c0b67a2f8f49 -BELONGS ya.make - License text: - // Copyright (c) 2015, Google Inc. - Scancode info: - Original SPDX id: COPYRIGHT_SERVICE_LABEL - Score : 100.00 - Match type : COPYRIGHT - Files with this license: - google/api/annotations.proto [1:1] - -KEEP COPYRIGHT_SERVICE_LABEL 31fab26359e7ce5661ae59c43e7d60cb -BELONGS ya.make - License text: - // Copyright 2018 Google LLC - Scancode info: - Original SPDX id: COPYRIGHT_SERVICE_LABEL - Score : 100.00 - Match type : COPYRIGHT - Files with this license: - google/api/http.proto [1:1] - -KEEP COPYRIGHT_SERVICE_LABEL 498cf2f7854ebbf6af390ac0fc190ee7 -BELONGS ya.make - License text: - // Copyright 2021 Google LLC - Scancode info: - Original SPDX id: COPYRIGHT_SERVICE_LABEL - Score : 100.00 - Match type : COPYRIGHT - Files with this license: - google/api/routing.proto [1:1] - -KEEP COPYRIGHT_SERVICE_LABEL 6391d45c5ab2c1a5ff8c29e13d3bdfdf -BELONGS ya.make - License text: - // Copyright 2018 Google LLC. - Scancode info: - Original SPDX id: COPYRIGHT_SERVICE_LABEL - Score : 100.00 - Match type : COPYRIGHT - Files with this license: - google/api/auth.proto [1:1] - google/api/backend.proto [1:1] - google/api/billing.proto [1:1] - google/api/config_change.proto [1:1] - google/api/control.proto [1:1] - google/api/documentation.proto [1:1] - google/api/endpoint.proto [1:1] - google/api/httpbody.proto [1:1] - google/api/label.proto [1:1] - google/api/log.proto [1:1] - google/api/logging.proto [1:1] - google/api/metric.proto [1:1] - google/api/monitored_resource.proto [1:1] - google/api/monitoring.proto [1:1] - google/api/source_info.proto [1:1] - google/api/system_parameter.proto [1:1] - google/api/usage.proto [1:1] - -KEEP COPYRIGHT_SERVICE_LABEL 6499e2ad737f62db5558c81fbd2749a7 -BELONGS ya.make - License text: - // Copyright 2017 Google Inc. - Scancode info: - Original SPDX id: COPYRIGHT_SERVICE_LABEL - Score : 100.00 - Match type : COPYRIGHT - Files with this license: - google/api/context.proto [1:1] - google/api/quota.proto [1:1] - google/api/service.proto [1:1] - google/logging/type/http_request.proto [1:1] - google/logging/type/log_severity.proto [1:1] - -KEEP COPYRIGHT_SERVICE_LABEL 79b98accf2a4f2be03be86ac314d9535 -BELONGS ya.make - License text: - // Copyright 2019 Google LLC. - Scancode info: - Original SPDX id: COPYRIGHT_SERVICE_LABEL - Score : 100.00 - Match type : COPYRIGHT - Files with this license: - google/api/distribution.proto [1:1] - google/api/launch_stage.proto [1:1] - google/longrunning/operations.proto [1:1] - google/type/calendar_period.proto [1:1] - google/type/color.proto [1:1] - google/type/date.proto [1:1] - google/type/datetime.proto [1:1] - google/type/dayofweek.proto [1:1] - google/type/expr.proto [1:1] - google/type/fraction.proto [1:1] - google/type/money.proto [1:1] - google/type/month.proto [1:1] - google/type/postal_address.proto [1:1] - google/type/quaternion.proto [1:1] - google/type/timeofday.proto [1:1] - -KEEP COPYRIGHT_SERVICE_LABEL c06f0823493d2ec03ec723004d287aab -BELONGS ya.make - License text: - // Copyright 2020 Google LLC. - Scancode info: - Original SPDX id: COPYRIGHT_SERVICE_LABEL - Score : 100.00 - Match type : COPYRIGHT - Files with this license: - google/gapic/metadata/gapic_metadata.proto [1:1] - -KEEP COPYRIGHT_SERVICE_LABEL de62d4ef47d15bdcbe773ca452bc3c3a -BELONGS ya.make - License text: - // Copyright 2021 Google LLC. - Scancode info: - Original SPDX id: COPYRIGHT_SERVICE_LABEL - Score : 100.00 - Match type : COPYRIGHT - Files with this license: - google/cloud/extended_operations.proto [1:1] - -KEEP COPYRIGHT_SERVICE_LABEL e618dd164932f955bb8121f5f486e841 -BELONGS ya.make - License text: - // Copyright 2022 Google LLC - Scancode info: - Original SPDX id: COPYRIGHT_SERVICE_LABEL - Score : 100.00 - Match type : COPYRIGHT - Files with this license: - google/cloud/location/locations.proto [1:1] diff --git a/contrib/libs/googleapis-common-protos/.yandex_meta/devtools.licenses.report b/contrib/libs/googleapis-common-protos/.yandex_meta/devtools.licenses.report deleted file mode 100644 index 6df2244bcc..0000000000 --- a/contrib/libs/googleapis-common-protos/.yandex_meta/devtools.licenses.report +++ /dev/null @@ -1,128 +0,0 @@ -# File format ($ symbol means the beginning of a line): -# -# $ # this message -# $ # ======================= -# $ # comments (all commentaries should starts with some number of spaces and # symbol) -# ${action} {license spdx} {license text hash} -# $BELONGS ./ya/make/file/relative/path/1/ya.make ./ya/make/2/ya.make -# ${all_file_action} filename -# $ # user commentaries (many lines) -# $ generated description - files with this license, license text... (some number of lines that starts with some number of spaces, do not modify) -# ${action} {license spdx} {license text hash} -# $BELONGS ./ya/make/file/relative/path/3/ya.make -# ${all_file_action} filename -# $ # user commentaries -# $ generated description -# $ ... -# -# You can modify action, all_file_action and add commentaries -# Available actions: -# keep - keep license in contrib and use in credits -# skip - skip license -# remove - remove all files with this license -# rename - save license text/links into licenses texts file, but not store SPDX into LINCENSE macro. You should store correct license id into devtools.license.spdx.txt file -# -# {all file action} records will be generated when license text contains filename that exists on filesystem (in contrib directory) -# We suppose that that files can contain some license info -# Available all file actions: -# FILE_IGNORE - ignore file (do nothing) -# FILE_INCLUDE - include all file data into licenses text file -# ======================= - -KEEP Apache-2.0 2b42edef8fa55315f34f2370b4715ca9 -BELONGS ya.make - Note: matched license text is too long. Read it in the source files. - Scancode info: - Original SPDX id: Apache-2.0 - Score : 100.00 - Match type : TEXT - Links : http://www.apache.org/licenses/, http://www.apache.org/licenses/LICENSE-2.0, https://spdx.org/licenses/Apache-2.0 - Files with this license: - LICENSE [2:202] - -KEEP Apache-2.0 4248d6c827c367ff9f1b5e59ca41408e -BELONGS ya.make - Note: matched license text is too long. Read it in the source files. - Scancode info: - Original SPDX id: Apache-2.0 - Score : 100.00 - Match type : NOTICE - Links : http://www.apache.org/licenses/, http://www.apache.org/licenses/LICENSE-2.0, https://spdx.org/licenses/Apache-2.0 - Files with this license: - google/api/annotations.proto [3:13] - google/api/auth.proto [3:13] - google/api/backend.proto [3:13] - google/api/billing.proto [3:13] - google/api/client.proto [3:13] - google/api/config_change.proto [3:13] - google/api/consumer.proto [3:13] - google/api/context.proto [3:13] - google/api/control.proto [3:13] - google/api/distribution.proto [3:13] - google/api/documentation.proto [3:13] - google/api/endpoint.proto [3:13] - google/api/field_behavior.proto [3:13] - google/api/http.proto [3:13] - google/api/httpbody.proto [3:13] - google/api/label.proto [3:13] - google/api/launch_stage.proto [3:13] - google/api/log.proto [3:13] - google/api/logging.proto [3:13] - google/api/metric.proto [3:13] - google/api/monitored_resource.proto [3:13] - google/api/monitoring.proto [3:13] - google/api/quota.proto [3:13] - google/api/resource.proto [3:13] - google/api/routing.proto [3:13] - google/api/service.proto [3:13] - google/api/source_info.proto [3:13] - google/api/system_parameter.proto [3:13] - google/api/usage.proto [3:13] - google/cloud/extended_operations.proto [3:13] - google/cloud/location/locations.proto [3:13] - google/gapic/metadata/gapic_metadata.proto [3:13] - google/logging/type/http_request.proto [3:13] - google/logging/type/log_severity.proto [3:13] - google/longrunning/operations.proto [3:13] - google/rpc/code.proto [3:13] - google/rpc/context/attribute_context.proto [3:13] - google/rpc/error_details.proto [3:13] - google/rpc/status.proto [3:13] - google/type/calendar_period.proto [3:13] - google/type/color.proto [3:13] - google/type/date.proto [3:13] - google/type/datetime.proto [3:13] - google/type/dayofweek.proto [3:13] - google/type/expr.proto [3:13] - google/type/fraction.proto [3:13] - google/type/latlng.proto [3:13] - google/type/money.proto [3:13] - google/type/month.proto [3:13] - google/type/postal_address.proto [3:13] - google/type/quaternion.proto [3:13] - google/type/timeofday.proto [3:13] - -SKIP LicenseRef-scancode-generic-cla 5d780ffa423067f23c6a123ae33e7c18 -BELONGS ya.make - License text: - \## Contributor License Agreement - Scancode info: - Original SPDX id: LicenseRef-scancode-generic-cla - Score : 16.00 - Match type : NOTICE - Links : https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/generic-cla.LICENSE - Files with this license: - CONTRIBUTING.md [6:6] - -SKIP LicenseRef-scancode-generic-cla d629c1791f1024cda2ec24fa16773bcd -BELONGS ya.make - License text: - Contributions to this project must be accompanied by a Contributor License - Agreement (CLA). You (or your employer) retain the copyright to your - Scancode info: - Original SPDX id: LicenseRef-scancode-generic-cla - Score : 22.00 - Match type : NOTICE - Links : https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/generic-cla.LICENSE - Files with this license: - CONTRIBUTING.md [8:9] diff --git a/contrib/libs/googleapis-common-protos/.yandex_meta/licenses.list.txt b/contrib/libs/googleapis-common-protos/.yandex_meta/licenses.list.txt deleted file mode 100644 index cdd8bd22f7..0000000000 --- a/contrib/libs/googleapis-common-protos/.yandex_meta/licenses.list.txt +++ /dev/null @@ -1,259 +0,0 @@ -====================Apache-2.0==================== - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - 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. - -====================Apache-2.0==================== -// 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. - - -====================COPYRIGHT==================== -// Copyright (c) 2015, Google Inc. - - -====================COPYRIGHT==================== -// Copyright 2016 Google Inc. - - -====================COPYRIGHT==================== -// Copyright 2017 Google Inc. - - -====================COPYRIGHT==================== -// Copyright 2018 Google LLC - - -====================COPYRIGHT==================== -// Copyright 2018 Google LLC. - - -====================COPYRIGHT==================== -// Copyright 2019 Google LLC. - - -====================COPYRIGHT==================== -// Copyright 2020 Google LLC - - -====================COPYRIGHT==================== -// Copyright 2020 Google LLC. - - -====================COPYRIGHT==================== -// Copyright 2021 Google LLC - - -====================COPYRIGHT==================== -// Copyright 2021 Google LLC. - - -====================COPYRIGHT==================== -// Copyright 2022 Google LLC diff --git a/contrib/libs/googleapis-common-protos/CHANGELOG.md b/contrib/libs/googleapis-common-protos/CHANGELOG.md deleted file mode 100644 index 6d6264cbe8..0000000000 --- a/contrib/libs/googleapis-common-protos/CHANGELOG.md +++ /dev/null @@ -1,65 +0,0 @@ -# Changelog - -## [1.55.0](https://github.com/googleapis/python-api-common-protos/compare/v1.54.0...v1.55.0) (2022-02-15) - - -### Features - -* add location proto files. ([#84](https://github.com/googleapis/python-api-common-protos/issues/84)) ([9a33e56](https://github.com/googleapis/python-api-common-protos/commit/9a33e56ac6a07a2e717edc55a39fa7cf2f9eec15)) - -## [1.54.0](https://www.github.com/googleapis/python-api-common-protos/compare/v1.53.0...v1.54.0) (2021-12-07) - - -### Features - -* add extended_operations.proto ([#77](https://www.github.com/googleapis/python-api-common-protos/issues/77)) ([bc85849](https://www.github.com/googleapis/python-api-common-protos/commit/bc85849e21494b267d87cd6dc5d0a0e23e012470)) -* add google/api/routing.proto ([#75](https://www.github.com/googleapis/python-api-common-protos/issues/75)) ([1ae0bbc](https://www.github.com/googleapis/python-api-common-protos/commit/1ae0bbcc9747af4dd467e7a246c1a2a4cd5ef2ec)) - -## [1.53.0](https://www.github.com/googleapis/python-api-common-protos/compare/v1.52.0...v1.53.0) (2021-02-25) - - -### Features - -* add `google.api.ResourceDescriptor.Style` ([4ce679c](https://www.github.com/googleapis/python-api-common-protos/commit/4ce679cd49771946bf781108e92e07cdf04a61eb)) -* add API method signatures to longrunning operations ([8de7ae2](https://www.github.com/googleapis/python-api-common-protos/commit/8de7ae28dfe5dd4d0cb99dd3b89a8f1e614bbe6d)) -* add gapic_metadata_pb2 ([#38](https://www.github.com/googleapis/python-api-common-protos/issues/38)) ([8de7ae2](https://www.github.com/googleapis/python-api-common-protos/commit/8de7ae28dfe5dd4d0cb99dd3b89a8f1e614bbe6d)) -* add UNORDERED_LIST to field options ([8de7ae2](https://www.github.com/googleapis/python-api-common-protos/commit/8de7ae28dfe5dd4d0cb99dd3b89a8f1e614bbe6d)) -* add WaitOperation method to longrunning operations ([8de7ae2](https://www.github.com/googleapis/python-api-common-protos/commit/8de7ae28dfe5dd4d0cb99dd3b89a8f1e614bbe6d)) -* require python >=3.6 and ([#31](https://www.github.com/googleapis/python-api-common-protos/issues/31)) ([4ce679c](https://www.github.com/googleapis/python-api-common-protos/commit/4ce679cd49771946bf781108e92e07cdf04a61eb)) - - -### Bug Fixes - -* add `create_key` to FieldDescriptors ([4ce679c](https://www.github.com/googleapis/python-api-common-protos/commit/4ce679cd49771946bf781108e92e07cdf04a61eb)) -* Generate gRPC files for long-running operations ([#13](https://www.github.com/googleapis/python-api-common-protos/issues/13)) ([a9ce288](https://www.github.com/googleapis/python-api-common-protos/commit/a9ce28840ddfec712da5b296f43e6c3131840db4)) - - -### Documentation - -* add link to PyPI ([#10](https://www.github.com/googleapis/python-api-common-protos/issues/10)) ([3f79402](https://www.github.com/googleapis/python-api-common-protos/commit/3f7940226b0e22aef31b82c8dc2196aa25b48a3f)) - -## [1.53.0dev1](https://www.github.com/googleapis/python-api-common-protos/compare/v1.52.0...v1.53.0dev1) (2021-01-27) - - -### Features - -* add `google.api.ResourceDescriptor.Style` ([4ce679c](https://www.github.com/googleapis/python-api-common-protos/commit/4ce679cd49771946bf781108e92e07cdf04a61eb)) -* require python >=3.6 and ([#31](https://www.github.com/googleapis/python-api-common-protos/issues/31)) ([4ce679c](https://www.github.com/googleapis/python-api-common-protos/commit/4ce679cd49771946bf781108e92e07cdf04a61eb)) - - -### Bug Fixes - -* add `create_key` to FieldDescriptors ([4ce679c](https://www.github.com/googleapis/python-api-common-protos/commit/4ce679cd49771946bf781108e92e07cdf04a61eb)) -* Generate gRPC files for long-running operations ([#13](https://www.github.com/googleapis/python-api-common-protos/issues/13)) ([a9ce288](https://www.github.com/googleapis/python-api-common-protos/commit/a9ce28840ddfec712da5b296f43e6c3131840db4)) - - -### Documentation - -* add link to PyPI ([#10](https://www.github.com/googleapis/python-api-common-protos/issues/10)) ([3f79402](https://www.github.com/googleapis/python-api-common-protos/commit/3f7940226b0e22aef31b82c8dc2196aa25b48a3f)) - -## 1.52.0 (2020-06-04) - - -### Features - -* create api-common-protos repo for python common protos ([4ef4b0d](https://www.github.com/googleapis/python-api-common-protos/commit/4ef4b0d177136bfbd19f4c00ccf2f6d7eaccb153)) diff --git a/contrib/libs/googleapis-common-protos/CMakeLists.txt b/contrib/libs/googleapis-common-protos/CMakeLists.txt deleted file mode 100644 index 5ceb3387d9..0000000000 --- a/contrib/libs/googleapis-common-protos/CMakeLists.txt +++ /dev/null @@ -1,100 +0,0 @@ - -# This file was gererated by the build system used internally in the Yandex monorepo. -# Only simple modifications are allowed (adding source-files to targets, adding simple properties -# like target_include_directories). These modifications will be ported to original -# ya.make files by maintainers. Any complex modifications which can't be ported back to the -# original buildsystem will not be accepted. - - - -add_library(contrib-libs-googleapis-common-protos) -set_property(TARGET contrib-libs-googleapis-common-protos PROPERTY - PROTOC_EXTRA_OUTS .grpc.pb.cc .grpc.pb.h -) -set_property(TARGET contrib-libs-googleapis-common-protos PROPERTY - PROTO_NAMESPACE contrib/libs/googleapis-common-protos -) -target_include_directories(contrib-libs-googleapis-common-protos PUBLIC - ${CMAKE_BINARY_DIR}/contrib/libs/googleapis-common-protos -) -target_include_directories(contrib-libs-googleapis-common-protos PRIVATE - ${CMAKE_BINARY_DIR}/contrib/libs/googleapis-common-protos -) -target_link_libraries(contrib-libs-googleapis-common-protos PUBLIC - contrib-libs-cxxsupp - yutil - contrib-libs-grpc - contrib-libs-protobuf -) -target_proto_messages(contrib-libs-googleapis-common-protos PRIVATE - ${CMAKE_SOURCE_DIR}/contrib/libs/googleapis-common-protos/google/api/annotations.proto - ${CMAKE_SOURCE_DIR}/contrib/libs/googleapis-common-protos/google/api/auth.proto - ${CMAKE_SOURCE_DIR}/contrib/libs/googleapis-common-protos/google/api/backend.proto - ${CMAKE_SOURCE_DIR}/contrib/libs/googleapis-common-protos/google/api/billing.proto - ${CMAKE_SOURCE_DIR}/contrib/libs/googleapis-common-protos/google/api/client.proto - ${CMAKE_SOURCE_DIR}/contrib/libs/googleapis-common-protos/google/api/config_change.proto - ${CMAKE_SOURCE_DIR}/contrib/libs/googleapis-common-protos/google/api/consumer.proto - ${CMAKE_SOURCE_DIR}/contrib/libs/googleapis-common-protos/google/api/context.proto - ${CMAKE_SOURCE_DIR}/contrib/libs/googleapis-common-protos/google/api/control.proto - ${CMAKE_SOURCE_DIR}/contrib/libs/googleapis-common-protos/google/api/distribution.proto - ${CMAKE_SOURCE_DIR}/contrib/libs/googleapis-common-protos/google/api/documentation.proto - ${CMAKE_SOURCE_DIR}/contrib/libs/googleapis-common-protos/google/api/endpoint.proto - ${CMAKE_SOURCE_DIR}/contrib/libs/googleapis-common-protos/google/api/field_behavior.proto - ${CMAKE_SOURCE_DIR}/contrib/libs/googleapis-common-protos/google/api/http.proto - ${CMAKE_SOURCE_DIR}/contrib/libs/googleapis-common-protos/google/api/httpbody.proto - ${CMAKE_SOURCE_DIR}/contrib/libs/googleapis-common-protos/google/api/label.proto - ${CMAKE_SOURCE_DIR}/contrib/libs/googleapis-common-protos/google/api/launch_stage.proto - ${CMAKE_SOURCE_DIR}/contrib/libs/googleapis-common-protos/google/api/log.proto - ${CMAKE_SOURCE_DIR}/contrib/libs/googleapis-common-protos/google/api/logging.proto - ${CMAKE_SOURCE_DIR}/contrib/libs/googleapis-common-protos/google/api/metric.proto - ${CMAKE_SOURCE_DIR}/contrib/libs/googleapis-common-protos/google/api/monitored_resource.proto - ${CMAKE_SOURCE_DIR}/contrib/libs/googleapis-common-protos/google/api/monitoring.proto - ${CMAKE_SOURCE_DIR}/contrib/libs/googleapis-common-protos/google/api/quota.proto - ${CMAKE_SOURCE_DIR}/contrib/libs/googleapis-common-protos/google/api/resource.proto - ${CMAKE_SOURCE_DIR}/contrib/libs/googleapis-common-protos/google/api/routing.proto - ${CMAKE_SOURCE_DIR}/contrib/libs/googleapis-common-protos/google/api/service.proto - ${CMAKE_SOURCE_DIR}/contrib/libs/googleapis-common-protos/google/api/source_info.proto - ${CMAKE_SOURCE_DIR}/contrib/libs/googleapis-common-protos/google/api/system_parameter.proto - ${CMAKE_SOURCE_DIR}/contrib/libs/googleapis-common-protos/google/api/usage.proto - ${CMAKE_SOURCE_DIR}/contrib/libs/googleapis-common-protos/google/cloud/extended_operations.proto - ${CMAKE_SOURCE_DIR}/contrib/libs/googleapis-common-protos/google/cloud/location/locations.proto - ${CMAKE_SOURCE_DIR}/contrib/libs/googleapis-common-protos/google/gapic/metadata/gapic_metadata.proto - ${CMAKE_SOURCE_DIR}/contrib/libs/googleapis-common-protos/google/logging/type/http_request.proto - ${CMAKE_SOURCE_DIR}/contrib/libs/googleapis-common-protos/google/logging/type/log_severity.proto - ${CMAKE_SOURCE_DIR}/contrib/libs/googleapis-common-protos/google/longrunning/operations.proto - ${CMAKE_SOURCE_DIR}/contrib/libs/googleapis-common-protos/google/rpc/code.proto - ${CMAKE_SOURCE_DIR}/contrib/libs/googleapis-common-protos/google/rpc/context/attribute_context.proto - ${CMAKE_SOURCE_DIR}/contrib/libs/googleapis-common-protos/google/rpc/error_details.proto - ${CMAKE_SOURCE_DIR}/contrib/libs/googleapis-common-protos/google/rpc/status.proto - ${CMAKE_SOURCE_DIR}/contrib/libs/googleapis-common-protos/google/type/calendar_period.proto - ${CMAKE_SOURCE_DIR}/contrib/libs/googleapis-common-protos/google/type/color.proto - ${CMAKE_SOURCE_DIR}/contrib/libs/googleapis-common-protos/google/type/date.proto - ${CMAKE_SOURCE_DIR}/contrib/libs/googleapis-common-protos/google/type/datetime.proto - ${CMAKE_SOURCE_DIR}/contrib/libs/googleapis-common-protos/google/type/dayofweek.proto - ${CMAKE_SOURCE_DIR}/contrib/libs/googleapis-common-protos/google/type/expr.proto - ${CMAKE_SOURCE_DIR}/contrib/libs/googleapis-common-protos/google/type/fraction.proto - ${CMAKE_SOURCE_DIR}/contrib/libs/googleapis-common-protos/google/type/latlng.proto - ${CMAKE_SOURCE_DIR}/contrib/libs/googleapis-common-protos/google/type/money.proto - ${CMAKE_SOURCE_DIR}/contrib/libs/googleapis-common-protos/google/type/month.proto - ${CMAKE_SOURCE_DIR}/contrib/libs/googleapis-common-protos/google/type/postal_address.proto - ${CMAKE_SOURCE_DIR}/contrib/libs/googleapis-common-protos/google/type/quaternion.proto - ${CMAKE_SOURCE_DIR}/contrib/libs/googleapis-common-protos/google/type/timeofday.proto -) -target_proto_addincls(contrib-libs-googleapis-common-protos - ./contrib/libs/googleapis-common-protos - ${CMAKE_SOURCE_DIR}/contrib/libs/googleapis-common-protos - ${CMAKE_BINARY_DIR} - ${CMAKE_SOURCE_DIR} - ${CMAKE_SOURCE_DIR}/contrib/libs/googleapis-common-protos - ${CMAKE_SOURCE_DIR}/contrib/libs/protobuf/src - ${CMAKE_BINARY_DIR} - ${CMAKE_SOURCE_DIR}/contrib/libs/protobuf/src -) -target_proto_outs(contrib-libs-googleapis-common-protos - --cpp_out=${CMAKE_BINARY_DIR}/contrib/libs/googleapis-common-protos - --cpp_styleguide_out=${CMAKE_BINARY_DIR}/contrib/libs/googleapis-common-protos -) -target_proto_plugin(contrib-libs-googleapis-common-protos - grpc_cpp - grpc_cpp -) diff --git a/contrib/libs/googleapis-common-protos/CODE_OF_CONDUCT.md b/contrib/libs/googleapis-common-protos/CODE_OF_CONDUCT.md deleted file mode 100644 index 46b2a08ea6..0000000000 --- a/contrib/libs/googleapis-common-protos/CODE_OF_CONDUCT.md +++ /dev/null @@ -1,43 +0,0 @@ -# Contributor Code of Conduct - -As contributors and maintainers of this project, -and in the interest of fostering an open and welcoming community, -we pledge to respect all people who contribute through reporting issues, -posting feature requests, updating documentation, -submitting pull requests or patches, and other activities. - -We are committed to making participation in this project -a harassment-free experience for everyone, -regardless of level of experience, gender, gender identity and expression, -sexual orientation, disability, personal appearance, -body size, race, ethnicity, age, religion, or nationality. - -Examples of unacceptable behavior by participants include: - -* The use of sexualized language or imagery -* Personal attacks -* Trolling or insulting/derogatory comments -* Public or private harassment -* Publishing other's private information, -such as physical or electronic -addresses, without explicit permission -* Other unethical or unprofessional conduct. - -Project maintainers have the right and responsibility to remove, edit, or reject -comments, commits, code, wiki edits, issues, and other contributions -that are not aligned to this Code of Conduct. -By adopting this Code of Conduct, -project maintainers commit themselves to fairly and consistently -applying these principles to every aspect of managing this project. -Project maintainers who do not follow or enforce the Code of Conduct -may be permanently removed from the project team. - -This code of conduct applies both within project spaces and in public spaces -when an individual is representing the project or its community. - -Instances of abusive, harassing, or otherwise unacceptable behavior -may be reported by opening an issue -or contacting one or more of the project maintainers. - -This Code of Conduct is adapted from the [Contributor Covenant](http://contributor-covenant.org), version 1.2.0, -available at [http://contributor-covenant.org/version/1/2/0/](http://contributor-covenant.org/version/1/2/0/) diff --git a/contrib/libs/googleapis-common-protos/CONTRIBUTING.md b/contrib/libs/googleapis-common-protos/CONTRIBUTING.md deleted file mode 100644 index b16a4668cb..0000000000 --- a/contrib/libs/googleapis-common-protos/CONTRIBUTING.md +++ /dev/null @@ -1,29 +0,0 @@ -# How to Contribute - -We'd love to accept your patches and contributions to this project. There are -just a few small guidelines you need to follow. - -## Contributor License Agreement - -Contributions to this project must be accompanied by a Contributor License -Agreement (CLA). You (or your employer) retain the copyright to your -contribution; this simply gives us permission to use and redistribute your -contributions as part of the project. Head over to -<https://cla.developers.google.com/> to see your current agreements on file or -to sign a new one. - -You generally only need to submit a CLA once, so if you've already submitted one -(even if it was for a different project), you probably don't need to do it -again. - -## Code reviews - -All submissions, including submissions by project members, require review. We -use GitHub pull requests for this purpose. Consult -[GitHub Help](https://help.github.com/articles/about-pull-requests/) for more -information on using pull requests. - -## Community Guidelines - -This project follows -[Google's Open Source Community Guidelines](https://opensource.google/conduct/).
\ No newline at end of file diff --git a/contrib/libs/googleapis-common-protos/LICENSE b/contrib/libs/googleapis-common-protos/LICENSE deleted file mode 100644 index d645695673..0000000000 --- a/contrib/libs/googleapis-common-protos/LICENSE +++ /dev/null @@ -1,202 +0,0 @@ - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - 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. diff --git a/contrib/libs/googleapis-common-protos/README.md b/contrib/libs/googleapis-common-protos/README.md deleted file mode 100644 index 8fe5fbe677..0000000000 --- a/contrib/libs/googleapis-common-protos/README.md +++ /dev/null @@ -1,8 +0,0 @@ - -# Google APIs common protos - -[![pypi](https://img.shields.io/pypi/v/googleapis-common-protos.svg)](https://pypi.org/project/googleapis-common-protos/) - - -googleapis-common-protos contains the python classes generated from the common -protos in the [googleapis/api-common-protos](https://github.com/googleapis/api-common-protos) repository. diff --git a/contrib/libs/googleapis-common-protos/SECURITY.md b/contrib/libs/googleapis-common-protos/SECURITY.md deleted file mode 100644 index 8b58ae9c01..0000000000 --- a/contrib/libs/googleapis-common-protos/SECURITY.md +++ /dev/null @@ -1,7 +0,0 @@ -# Security Policy - -To report a security issue, please use [g.co/vulnz](https://g.co/vulnz). - -The Google Security Team will respond within 5 working days of your report on g.co/vulnz. - -We use g.co/vulnz for our intake, and do coordination and disclosure here using GitHub Security Advisory to privately discuss and fix the issue. diff --git a/contrib/libs/googleapis-common-protos/google/api/README.md b/contrib/libs/googleapis-common-protos/google/api/README.md deleted file mode 100644 index 4aa4b50c90..0000000000 --- a/contrib/libs/googleapis-common-protos/google/api/README.md +++ /dev/null @@ -1,46 +0,0 @@ -## API Protos - -This folder contains the schema of the configuration model for Google's -internal API serving platform, which handles routing, quotas, monitoring, -logging, and the like. - -Google refers to this configuration colloquially as the "service config", -and the `service.proto` file in this directory is the entry point for -understanding these. - -## Using these protos - -To be honest, we probably open sourced way too much of this (basically by -accident). There are a couple files in here you are most likely to be -interested in: `http.proto`, `documentation.proto`, `auth.proto`, and -`annotations.proto`. - -### HTTP and REST - -The `http.proto` file contains the `Http` message (which then is wrapped -in an annotation in `annotations.proto`), which provides a specification -for REST endpoints and verbs (`GET`, `POST`, etc.) on RPC methods. -We recommend use of this annotation for describing the relationship -between RPCs and REST endpoints. - -### Documentation - -The `documentation.proto` file contains a `Documentation` message which -provides a mechanism to fully describe an API, allowing a tool to build -structured documentation artifacts. - -### Authentication - -The `auth.proto` file contains descriptions of both authentication rules -and authenticaion providers, allowing you to describe what your services -expect and accept from clients. - -## api-compiler - -Google provides a tool called [api-compiler][], which is a tool that accepts -a protocol buffer descriptor and a YAML file specifying some of the -options described in `service.proto`, and outputs a much more thorough -`Service` descriptor based on the information it infers from the protos -themselves. - - [api-compiler]: https://github.com/googleapis/api-compiler diff --git a/contrib/libs/googleapis-common-protos/google/api/annotations.proto b/contrib/libs/googleapis-common-protos/google/api/annotations.proto deleted file mode 100644 index 85c361b47f..0000000000 --- a/contrib/libs/googleapis-common-protos/google/api/annotations.proto +++ /dev/null @@ -1,31 +0,0 @@ -// Copyright (c) 2015, Google Inc. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -syntax = "proto3"; - -package google.api; - -import "google/api/http.proto"; -import "google/protobuf/descriptor.proto"; - -option go_package = "google.golang.org/genproto/googleapis/api/annotations;annotations"; -option java_multiple_files = true; -option java_outer_classname = "AnnotationsProto"; -option java_package = "com.google.api"; -option objc_class_prefix = "GAPI"; - -extend google.protobuf.MethodOptions { - // See `HttpRule`. - HttpRule http = 72295728; -} diff --git a/contrib/libs/googleapis-common-protos/google/api/auth.proto b/contrib/libs/googleapis-common-protos/google/api/auth.proto deleted file mode 100644 index cdbc1efe90..0000000000 --- a/contrib/libs/googleapis-common-protos/google/api/auth.proto +++ /dev/null @@ -1,181 +0,0 @@ -// Copyright 2018 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -syntax = "proto3"; - -package google.api; - -import "google/api/annotations.proto"; - -option go_package = "google.golang.org/genproto/googleapis/api/serviceconfig;serviceconfig"; -option java_multiple_files = true; -option java_outer_classname = "AuthProto"; -option java_package = "com.google.api"; -option objc_class_prefix = "GAPI"; - - -// `Authentication` defines the authentication configuration for an API. -// -// Example for an API targeted for external use: -// -// name: calendar.googleapis.com -// authentication: -// providers: -// - id: google_calendar_auth -// jwks_uri: https://www.googleapis.com/oauth2/v1/certs -// issuer: https://securetoken.google.com -// rules: -// - selector: "*" -// requirements: -// provider_id: google_calendar_auth -message Authentication { - // A list of authentication rules that apply to individual API methods. - // - // **NOTE:** All service configuration rules follow "last one wins" order. - repeated AuthenticationRule rules = 3; - - // Defines a set of authentication providers that a service supports. - repeated AuthProvider providers = 4; -} - -// Authentication rules for the service. -// -// By default, if a method has any authentication requirements, every request -// must include a valid credential matching one of the requirements. -// It's an error to include more than one kind of credential in a single -// request. -// -// If a method doesn't have any auth requirements, request credentials will be -// ignored. -message AuthenticationRule { - // Selects the methods to which this rule applies. - // - // Refer to [selector][google.api.DocumentationRule.selector] for syntax details. - string selector = 1; - - // The requirements for OAuth credentials. - OAuthRequirements oauth = 2; - - // If true, the service accepts API keys without any other credential. - bool allow_without_credential = 5; - - // Requirements for additional authentication providers. - repeated AuthRequirement requirements = 7; -} - -// Configuration for an anthentication provider, including support for -// [JSON Web Token (JWT)](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32). -message AuthProvider { - // The unique identifier of the auth provider. It will be referred to by - // `AuthRequirement.provider_id`. - // - // Example: "bookstore_auth". - string id = 1; - - // Identifies the principal that issued the JWT. See - // https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32#section-4.1.1 - // Usually a URL or an email address. - // - // Example: https://securetoken.google.com - // Example: 1234567-compute@developer.gserviceaccount.com - string issuer = 2; - - // URL of the provider's public key set to validate signature of the JWT. See - // [OpenID Discovery](https://openid.net/specs/openid-connect-discovery-1_0.html#ProviderMetadata). - // Optional if the key set document: - // - can be retrieved from - // [OpenID Discovery](https://openid.net/specs/openid-connect-discovery-1_0.html - // of the issuer. - // - can be inferred from the email domain of the issuer (e.g. a Google service account). - // - // Example: https://www.googleapis.com/oauth2/v1/certs - string jwks_uri = 3; - - // The list of JWT - // [audiences](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32#section-4.1.3). - // that are allowed to access. A JWT containing any of these audiences will - // be accepted. When this setting is absent, only JWTs with audience - // "https://[Service_name][google.api.Service.name]/[API_name][google.protobuf.Api.name]" - // will be accepted. For example, if no audiences are in the setting, - // LibraryService API will only accept JWTs with the following audience - // "https://library-example.googleapis.com/google.example.library.v1.LibraryService". - // - // Example: - // - // audiences: bookstore_android.apps.googleusercontent.com, - // bookstore_web.apps.googleusercontent.com - string audiences = 4; - - // Redirect URL if JWT token is required but no present or is expired. - // Implement authorizationUrl of securityDefinitions in OpenAPI spec. - string authorization_url = 5; -} - -// OAuth scopes are a way to define data and permissions on data. For example, -// there are scopes defined for "Read-only access to Google Calendar" and -// "Access to Cloud Platform". Users can consent to a scope for an application, -// giving it permission to access that data on their behalf. -// -// OAuth scope specifications should be fairly coarse grained; a user will need -// to see and understand the text description of what your scope means. -// -// In most cases: use one or at most two OAuth scopes for an entire family of -// products. If your product has multiple APIs, you should probably be sharing -// the OAuth scope across all of those APIs. -// -// When you need finer grained OAuth consent screens: talk with your product -// management about how developers will use them in practice. -// -// Please note that even though each of the canonical scopes is enough for a -// request to be accepted and passed to the backend, a request can still fail -// due to the backend requiring additional scopes or permissions. -message OAuthRequirements { - // The list of publicly documented OAuth scopes that are allowed access. An - // OAuth token containing any of these scopes will be accepted. - // - // Example: - // - // canonical_scopes: https://www.googleapis.com/auth/calendar, - // https://www.googleapis.com/auth/calendar.read - string canonical_scopes = 1; -} - -// User-defined authentication requirements, including support for -// [JSON Web Token (JWT)](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32). -message AuthRequirement { - // [id][google.api.AuthProvider.id] from authentication provider. - // - // Example: - // - // provider_id: bookstore_auth - string provider_id = 1; - - // NOTE: This will be deprecated soon, once AuthProvider.audiences is - // implemented and accepted in all the runtime components. - // - // The list of JWT - // [audiences](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32#section-4.1.3). - // that are allowed to access. A JWT containing any of these audiences will - // be accepted. When this setting is absent, only JWTs with audience - // "https://[Service_name][google.api.Service.name]/[API_name][google.protobuf.Api.name]" - // will be accepted. For example, if no audiences are in the setting, - // LibraryService API will only accept JWTs with the following audience - // "https://library-example.googleapis.com/google.example.library.v1.LibraryService". - // - // Example: - // - // audiences: bookstore_android.apps.googleusercontent.com, - // bookstore_web.apps.googleusercontent.com - string audiences = 2; -} diff --git a/contrib/libs/googleapis-common-protos/google/api/backend.proto b/contrib/libs/googleapis-common-protos/google/api/backend.proto deleted file mode 100644 index dd22919d07..0000000000 --- a/contrib/libs/googleapis-common-protos/google/api/backend.proto +++ /dev/null @@ -1,51 +0,0 @@ -// Copyright 2018 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -syntax = "proto3"; - -package google.api; - -option go_package = "google.golang.org/genproto/googleapis/api/serviceconfig;serviceconfig"; -option java_multiple_files = true; -option java_outer_classname = "BackendProto"; -option java_package = "com.google.api"; -option objc_class_prefix = "GAPI"; - - -// `Backend` defines the backend configuration for a service. -message Backend { - // A list of API backend rules that apply to individual API methods. - // - // **NOTE:** All service configuration rules follow "last one wins" order. - repeated BackendRule rules = 1; -} - -// A backend rule provides configuration for an individual API element. -message BackendRule { - // Selects the methods to which this rule applies. - // - // Refer to [selector][google.api.DocumentationRule.selector] for syntax details. - string selector = 1; - - // The address of the API backend. - string address = 2; - - // The number of seconds to wait for a response from a request. The default - // deadline for gRPC is infinite (no deadline) and HTTP requests is 5 seconds. - double deadline = 3; - - // Minimum deadline in seconds needed for this method. Calls having deadline - // value lower than this will be rejected. - double min_deadline = 4; -} diff --git a/contrib/libs/googleapis-common-protos/google/api/billing.proto b/contrib/libs/googleapis-common-protos/google/api/billing.proto deleted file mode 100644 index 54c6cca97a..0000000000 --- a/contrib/libs/googleapis-common-protos/google/api/billing.proto +++ /dev/null @@ -1,67 +0,0 @@ -// Copyright 2018 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -syntax = "proto3"; - -package google.api; - -import "google/api/annotations.proto"; - -option go_package = "google.golang.org/genproto/googleapis/api/serviceconfig;serviceconfig"; -option java_multiple_files = true; -option java_outer_classname = "BillingProto"; -option java_package = "com.google.api"; -option objc_class_prefix = "GAPI"; - - -// Billing related configuration of the service. -// -// The following example shows how to configure monitored resources and metrics -// for billing: -// -// monitored_resources: -// - type: library.googleapis.com/branch -// labels: -// - key: /city -// description: The city where the library branch is located in. -// - key: /name -// description: The name of the branch. -// metrics: -// - name: library.googleapis.com/book/borrowed_count -// metric_kind: DELTA -// value_type: INT64 -// billing: -// consumer_destinations: -// - monitored_resource: library.googleapis.com/branch -// metrics: -// - library.googleapis.com/book/borrowed_count -message Billing { - // Configuration of a specific billing destination (Currently only support - // bill against consumer project). - message BillingDestination { - // The monitored resource type. The type must be defined in - // [Service.monitored_resources][google.api.Service.monitored_resources] section. - string monitored_resource = 1; - - // Names of the metrics to report to this billing destination. - // Each name must be defined in [Service.metrics][google.api.Service.metrics] section. - repeated string metrics = 2; - } - - // Billing configurations for sending metrics to the consumer project. - // There can be multiple consumer destinations per service, each one must have - // a different monitored resource type. A metric can be used in at most - // one consumer destination. - repeated BillingDestination consumer_destinations = 8; -} diff --git a/contrib/libs/googleapis-common-protos/google/api/client.proto b/contrib/libs/googleapis-common-protos/google/api/client.proto deleted file mode 100644 index 2102623d30..0000000000 --- a/contrib/libs/googleapis-common-protos/google/api/client.proto +++ /dev/null @@ -1,99 +0,0 @@ -// Copyright 2020 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -syntax = "proto3"; - -package google.api; - -import "google/protobuf/descriptor.proto"; - -option go_package = "google.golang.org/genproto/googleapis/api/annotations;annotations"; -option java_multiple_files = true; -option java_outer_classname = "ClientProto"; -option java_package = "com.google.api"; -option objc_class_prefix = "GAPI"; - -extend google.protobuf.MethodOptions { - // A definition of a client library method signature. - // - // In client libraries, each proto RPC corresponds to one or more methods - // which the end user is able to call, and calls the underlying RPC. - // Normally, this method receives a single argument (a struct or instance - // corresponding to the RPC request object). Defining this field will - // add one or more overloads providing flattened or simpler method signatures - // in some languages. - // - // The fields on the method signature are provided as a comma-separated - // string. - // - // For example, the proto RPC and annotation: - // - // rpc CreateSubscription(CreateSubscriptionRequest) - // returns (Subscription) { - // option (google.api.method_signature) = "name,topic"; - // } - // - // Would add the following Java overload (in addition to the method accepting - // the request object): - // - // public final Subscription createSubscription(String name, String topic) - // - // The following backwards-compatibility guidelines apply: - // - // * Adding this annotation to an unannotated method is backwards - // compatible. - // * Adding this annotation to a method which already has existing - // method signature annotations is backwards compatible if and only if - // the new method signature annotation is last in the sequence. - // * Modifying or removing an existing method signature annotation is - // a breaking change. - // * Re-ordering existing method signature annotations is a breaking - // change. - repeated string method_signature = 1051; -} - -extend google.protobuf.ServiceOptions { - // The hostname for this service. - // This should be specified with no prefix or protocol. - // - // Example: - // - // service Foo { - // option (google.api.default_host) = "foo.googleapi.com"; - // ... - // } - string default_host = 1049; - - // OAuth scopes needed for the client. - // - // Example: - // - // service Foo { - // option (google.api.oauth_scopes) = \ - // "https://www.googleapis.com/auth/cloud-platform"; - // ... - // } - // - // If there is more than one scope, use a comma-separated string: - // - // Example: - // - // service Foo { - // option (google.api.oauth_scopes) = \ - // "https://www.googleapis.com/auth/cloud-platform," - // "https://www.googleapis.com/auth/monitoring"; - // ... - // } - string oauth_scopes = 1050; -} diff --git a/contrib/libs/googleapis-common-protos/google/api/config_change.proto b/contrib/libs/googleapis-common-protos/google/api/config_change.proto deleted file mode 100644 index 1e787931c1..0000000000 --- a/contrib/libs/googleapis-common-protos/google/api/config_change.proto +++ /dev/null @@ -1,85 +0,0 @@ -// Copyright 2018 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -syntax = "proto3"; - -package google.api; - -option go_package = "google.golang.org/genproto/googleapis/api/configchange;configchange"; -option java_multiple_files = true; -option java_outer_classname = "ConfigChangeProto"; -option java_package = "com.google.api"; -option objc_class_prefix = "GAPI"; - - -// Output generated from semantically comparing two versions of a service -// configuration. -// -// Includes detailed information about a field that have changed with -// applicable advice about potential consequences for the change, such as -// backwards-incompatibility. -message ConfigChange { - // Object hierarchy path to the change, with levels separated by a '.' - // character. For repeated fields, an applicable unique identifier field is - // used for the index (usually selector, name, or id). For maps, the term - // 'key' is used. If the field has no unique identifier, the numeric index - // is used. - // Examples: - // - visibility.rules[selector=="google.LibraryService.CreateBook"].restriction - // - quota.metric_rules[selector=="google"].metric_costs[key=="reads"].value - // - logging.producer_destinations[0] - string element = 1; - - // Value of the changed object in the old Service configuration, - // in JSON format. This field will not be populated if ChangeType == ADDED. - string old_value = 2; - - // Value of the changed object in the new Service configuration, - // in JSON format. This field will not be populated if ChangeType == REMOVED. - string new_value = 3; - - // The type for this change, either ADDED, REMOVED, or MODIFIED. - ChangeType change_type = 4; - - // Collection of advice provided for this change, useful for determining the - // possible impact of this change. - repeated Advice advices = 5; -} - -// Generated advice about this change, used for providing more -// information about how a change will affect the existing service. -message Advice { - // Useful description for why this advice was applied and what actions should - // be taken to mitigate any implied risks. - string description = 2; -} - -// Classifies set of possible modifications to an object in the service -// configuration. -enum ChangeType { - // No value was provided. - CHANGE_TYPE_UNSPECIFIED = 0; - - // The changed object exists in the 'new' service configuration, but not - // in the 'old' service configuration. - ADDED = 1; - - // The changed object exists in the 'old' service configuration, but not - // in the 'new' service configuration. - REMOVED = 2; - - // The changed object exists in both service configurations, but its value - // is different. - MODIFIED = 3; -} diff --git a/contrib/libs/googleapis-common-protos/google/api/consumer.proto b/contrib/libs/googleapis-common-protos/google/api/consumer.proto deleted file mode 100644 index 4e963168ef..0000000000 --- a/contrib/libs/googleapis-common-protos/google/api/consumer.proto +++ /dev/null @@ -1,83 +0,0 @@ -// Copyright 2016 Google Inc. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -syntax = "proto3"; - -package google.api; - -option go_package = "google.golang.org/genproto/googleapis/api/serviceconfig;serviceconfig"; -option java_multiple_files = true; -option java_outer_classname = "ConsumerProto"; -option java_package = "com.google.api"; - - -// A descriptor for defining project properties for a service. One service may -// have many consumer projects, and the service may want to behave differently -// depending on some properties on the project. For example, a project may be -// associated with a school, or a business, or a government agency, a business -// type property on the project may affect how a service responds to the client. -// This descriptor defines which properties are allowed to be set on a project. -// -// Example: -// -// project_properties: -// properties: -// - name: NO_WATERMARK -// type: BOOL -// description: Allows usage of the API without watermarks. -// - name: EXTENDED_TILE_CACHE_PERIOD -// type: INT64 -message ProjectProperties { - // List of per consumer project-specific properties. - repeated Property properties = 1; -} - -// Defines project properties. -// -// API services can define properties that can be assigned to consumer projects -// so that backends can perform response customization without having to make -// additional calls or maintain additional storage. For example, Maps API -// defines properties that controls map tile cache period, or whether to embed a -// watermark in a result. -// -// These values can be set via API producer console. Only API providers can -// define and set these properties. -message Property { - // Supported data type of the property values - enum PropertyType { - // The type is unspecified, and will result in an error. - UNSPECIFIED = 0; - - // The type is `int64`. - INT64 = 1; - - // The type is `bool`. - BOOL = 2; - - // The type is `string`. - STRING = 3; - - // The type is 'double'. - DOUBLE = 4; - } - - // The name of the property (a.k.a key). - string name = 1; - - // The type of this property. - PropertyType type = 2; - - // The description of the property - string description = 3; -} diff --git a/contrib/libs/googleapis-common-protos/google/api/context.proto b/contrib/libs/googleapis-common-protos/google/api/context.proto deleted file mode 100644 index fd03fcae91..0000000000 --- a/contrib/libs/googleapis-common-protos/google/api/context.proto +++ /dev/null @@ -1,63 +0,0 @@ -// Copyright 2017 Google Inc. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -syntax = "proto3"; - -package google.api; - -option go_package = "google.golang.org/genproto/googleapis/api/serviceconfig;serviceconfig"; -option java_multiple_files = true; -option java_outer_classname = "ContextProto"; -option java_package = "com.google.api"; -option objc_class_prefix = "GAPI"; - - -// `Context` defines which contexts an API requests. -// -// Example: -// -// context: -// rules: -// - selector: "*" -// requested: -// - google.rpc.context.ProjectContext -// - google.rpc.context.OriginContext -// -// The above specifies that all methods in the API request -// `google.rpc.context.ProjectContext` and -// `google.rpc.context.OriginContext`. -// -// Available context types are defined in package -// `google.rpc.context`. -message Context { - // A list of RPC context rules that apply to individual API methods. - // - // **NOTE:** All service configuration rules follow "last one wins" order. - repeated ContextRule rules = 1; -} - -// A context rule provides information about the context for an individual API -// element. -message ContextRule { - // Selects the methods to which this rule applies. - // - // Refer to [selector][google.api.DocumentationRule.selector] for syntax details. - string selector = 1; - - // A list of full type names of requested contexts. - repeated string requested = 2; - - // A list of full type names of provided contexts. - repeated string provided = 3; -} diff --git a/contrib/libs/googleapis-common-protos/google/api/control.proto b/contrib/libs/googleapis-common-protos/google/api/control.proto deleted file mode 100644 index 772d61175f..0000000000 --- a/contrib/libs/googleapis-common-protos/google/api/control.proto +++ /dev/null @@ -1,33 +0,0 @@ -// Copyright 2018 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -syntax = "proto3"; - -package google.api; - -option go_package = "google.golang.org/genproto/googleapis/api/serviceconfig;serviceconfig"; -option java_multiple_files = true; -option java_outer_classname = "ControlProto"; -option java_package = "com.google.api"; -option objc_class_prefix = "GAPI"; - - -// Selects and configures the service controller used by the service. The -// service controller handles features like abuse, quota, billing, logging, -// monitoring, etc. -message Control { - // The service control environment to use. If empty, no control plane - // feature (like quota and billing) will be enabled. - string environment = 1; -} diff --git a/contrib/libs/googleapis-common-protos/google/api/distribution.proto b/contrib/libs/googleapis-common-protos/google/api/distribution.proto deleted file mode 100644 index f8bb252683..0000000000 --- a/contrib/libs/googleapis-common-protos/google/api/distribution.proto +++ /dev/null @@ -1,213 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.api; - -import "google/protobuf/any.proto"; -import "google/protobuf/timestamp.proto"; - -option go_package = "google.golang.org/genproto/googleapis/api/distribution;distribution"; -option java_multiple_files = true; -option java_outer_classname = "DistributionProto"; -option java_package = "com.google.api"; -option objc_class_prefix = "GAPI"; - - -// `Distribution` contains summary statistics for a population of values. It -// optionally contains a histogram representing the distribution of those values -// across a set of buckets. -// -// The summary statistics are the count, mean, sum of the squared deviation from -// the mean, the minimum, and the maximum of the set of population of values. -// The histogram is based on a sequence of buckets and gives a count of values -// that fall into each bucket. The boundaries of the buckets are given either -// explicitly or by formulas for buckets of fixed or exponentially increasing -// widths. -// -// Although it is not forbidden, it is generally a bad idea to include -// non-finite values (infinities or NaNs) in the population of values, as this -// will render the `mean` and `sum_of_squared_deviation` fields meaningless. -message Distribution { - // The range of the population values. - message Range { - // The minimum of the population values. - double min = 1; - - // The maximum of the population values. - double max = 2; - } - - // `BucketOptions` describes the bucket boundaries used to create a histogram - // for the distribution. The buckets can be in a linear sequence, an - // exponential sequence, or each bucket can be specified explicitly. - // `BucketOptions` does not include the number of values in each bucket. - // - // A bucket has an inclusive lower bound and exclusive upper bound for the - // values that are counted for that bucket. The upper bound of a bucket must - // be strictly greater than the lower bound. The sequence of N buckets for a - // distribution consists of an underflow bucket (number 0), zero or more - // finite buckets (number 1 through N - 2) and an overflow bucket (number N - - // 1). The buckets are contiguous: the lower bound of bucket i (i > 0) is the - // same as the upper bound of bucket i - 1. The buckets span the whole range - // of finite values: lower bound of the underflow bucket is -infinity and the - // upper bound of the overflow bucket is +infinity. The finite buckets are - // so-called because both bounds are finite. - message BucketOptions { - // Specifies a linear sequence of buckets that all have the same width - // (except overflow and underflow). Each bucket represents a constant - // absolute uncertainty on the specific value in the bucket. - // - // There are `num_finite_buckets + 2` (= N) buckets. Bucket `i` has the - // following boundaries: - // - // Upper bound (0 <= i < N-1): offset + (width * i). - // Lower bound (1 <= i < N): offset + (width * (i - 1)). - message Linear { - // Must be greater than 0. - int32 num_finite_buckets = 1; - - // Must be greater than 0. - double width = 2; - - // Lower bound of the first bucket. - double offset = 3; - } - - // Specifies an exponential sequence of buckets that have a width that is - // proportional to the value of the lower bound. Each bucket represents a - // constant relative uncertainty on a specific value in the bucket. - // - // There are `num_finite_buckets + 2` (= N) buckets. Bucket `i` has the - // following boundaries: - // - // Upper bound (0 <= i < N-1): scale * (growth_factor ^ i). - // Lower bound (1 <= i < N): scale * (growth_factor ^ (i - 1)). - message Exponential { - // Must be greater than 0. - int32 num_finite_buckets = 1; - - // Must be greater than 1. - double growth_factor = 2; - - // Must be greater than 0. - double scale = 3; - } - - // Specifies a set of buckets with arbitrary widths. - // - // There are `size(bounds) + 1` (= N) buckets. Bucket `i` has the following - // boundaries: - // - // Upper bound (0 <= i < N-1): bounds[i] - // Lower bound (1 <= i < N); bounds[i - 1] - // - // The `bounds` field must contain at least one element. If `bounds` has - // only one element, then there are no finite buckets, and that single - // element is the common boundary of the overflow and underflow buckets. - message Explicit { - // The values must be monotonically increasing. - repeated double bounds = 1; - } - - // Exactly one of these three fields must be set. - oneof options { - // The linear bucket. - Linear linear_buckets = 1; - - // The exponential buckets. - Exponential exponential_buckets = 2; - - // The explicit buckets. - Explicit explicit_buckets = 3; - } - } - - // Exemplars are example points that may be used to annotate aggregated - // distribution values. They are metadata that gives information about a - // particular value added to a Distribution bucket, such as a trace ID that - // was active when a value was added. They may contain further information, - // such as a example values and timestamps, origin, etc. - message Exemplar { - // Value of the exemplar point. This value determines to which bucket the - // exemplar belongs. - double value = 1; - - // The observation (sampling) time of the above value. - google.protobuf.Timestamp timestamp = 2; - - // Contextual information about the example value. Examples are: - // - // Trace ID: type.googleapis.com/google.devtools.cloudtrace.v1.Trace - // - // Literal string: type.googleapis.com/google.protobuf.StringValue - // - // Labels dropped during aggregation: - // type.googleapis.com/google.monitoring.v3.DroppedLabels - // - // There may be only a single attachment of any given message type in a - // single exemplar, and this is enforced by the system. - repeated google.protobuf.Any attachments = 3; - } - - // The number of values in the population. Must be non-negative. This value - // must equal the sum of the values in `bucket_counts` if a histogram is - // provided. - int64 count = 1; - - // The arithmetic mean of the values in the population. If `count` is zero - // then this field must be zero. - double mean = 2; - - // The sum of squared deviations from the mean of the values in the - // population. For values x_i this is: - // - // Sum[i=1..n]((x_i - mean)^2) - // - // Knuth, "The Art of Computer Programming", Vol. 2, page 323, 3rd edition - // describes Welford's method for accumulating this sum in one pass. - // - // If `count` is zero then this field must be zero. - double sum_of_squared_deviation = 3; - - // If specified, contains the range of the population values. The field - // must not be present if the `count` is zero. - Range range = 4; - - // Defines the histogram bucket boundaries. If the distribution does not - // contain a histogram, then omit this field. - BucketOptions bucket_options = 6; - - // The number of values in each bucket of the histogram, as described in - // `bucket_options`. If the distribution does not have a histogram, then omit - // this field. If there is a histogram, then the sum of the values in - // `bucket_counts` must equal the value in the `count` field of the - // distribution. - // - // If present, `bucket_counts` should contain N values, where N is the number - // of buckets specified in `bucket_options`. If you supply fewer than N - // values, the remaining values are assumed to be 0. - // - // The order of the values in `bucket_counts` follows the bucket numbering - // schemes described for the three bucket types. The first value must be the - // count for the underflow bucket (number 0). The next N-2 values are the - // counts for the finite buckets (number 1 through N-2). The N'th value in - // `bucket_counts` is the count for the overflow bucket (number N-1). - repeated int64 bucket_counts = 7; - - // Must be in increasing order of `value` field. - repeated Exemplar exemplars = 10; -} diff --git a/contrib/libs/googleapis-common-protos/google/api/documentation.proto b/contrib/libs/googleapis-common-protos/google/api/documentation.proto deleted file mode 100644 index 03cd73109a..0000000000 --- a/contrib/libs/googleapis-common-protos/google/api/documentation.proto +++ /dev/null @@ -1,157 +0,0 @@ -// Copyright 2018 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -syntax = "proto3"; - -package google.api; - -option go_package = "google.golang.org/genproto/googleapis/api/serviceconfig;serviceconfig"; -option java_multiple_files = true; -option java_outer_classname = "DocumentationProto"; -option java_package = "com.google.api"; -option objc_class_prefix = "GAPI"; - - -// `Documentation` provides the information for describing a service. -// -// Example: -// <pre><code>documentation: -// summary: > -// The Google Calendar API gives access -// to most calendar features. -// pages: -// - name: Overview -// content: (== include google/foo/overview.md ==) -// - name: Tutorial -// content: (== include google/foo/tutorial.md ==) -// subpages; -// - name: Java -// content: (== include google/foo/tutorial_java.md ==) -// rules: -// - selector: google.calendar.Calendar.Get -// description: > -// ... -// - selector: google.calendar.Calendar.Put -// description: > -// ... -// </code></pre> -// Documentation is provided in markdown syntax. In addition to -// standard markdown features, definition lists, tables and fenced -// code blocks are supported. Section headers can be provided and are -// interpreted relative to the section nesting of the context where -// a documentation fragment is embedded. -// -// Documentation from the IDL is merged with documentation defined -// via the config at normalization time, where documentation provided -// by config rules overrides IDL provided. -// -// A number of constructs specific to the API platform are supported -// in documentation text. -// -// In order to reference a proto element, the following -// notation can be used: -// <pre><code>[fully.qualified.proto.name][]</code></pre> -// To override the display text used for the link, this can be used: -// <pre><code>[display text][fully.qualified.proto.name]</code></pre> -// Text can be excluded from doc using the following notation: -// <pre><code>(-- internal comment --)</code></pre> -// -// A few directives are available in documentation. Note that -// directives must appear on a single line to be properly -// identified. The `include` directive includes a markdown file from -// an external source: -// <pre><code>(== include path/to/file ==)</code></pre> -// The `resource_for` directive marks a message to be the resource of -// a collection in REST view. If it is not specified, tools attempt -// to infer the resource from the operations in a collection: -// <pre><code>(== resource_for v1.shelves.books ==)</code></pre> -// The directive `suppress_warning` does not directly affect documentation -// and is documented together with service config validation. -message Documentation { - // A short summary of what the service does. Can only be provided by - // plain text. - string summary = 1; - - // The top level pages for the documentation set. - repeated Page pages = 5; - - // A list of documentation rules that apply to individual API elements. - // - // **NOTE:** All service configuration rules follow "last one wins" order. - repeated DocumentationRule rules = 3; - - // The URL to the root of documentation. - string documentation_root_url = 4; - - // Declares a single overview page. For example: - // <pre><code>documentation: - // summary: ... - // overview: (== include overview.md ==) - // </code></pre> - // This is a shortcut for the following declaration (using pages style): - // <pre><code>documentation: - // summary: ... - // pages: - // - name: Overview - // content: (== include overview.md ==) - // </code></pre> - // Note: you cannot specify both `overview` field and `pages` field. - string overview = 2; -} - -// A documentation rule provides information about individual API elements. -message DocumentationRule { - // The selector is a comma-separated list of patterns. Each pattern is a - // qualified name of the element which may end in "*", indicating a wildcard. - // Wildcards are only allowed at the end and for a whole component of the - // qualified name, i.e. "foo.*" is ok, but not "foo.b*" or "foo.*.bar". To - // specify a default for all applicable elements, the whole pattern "*" - // is used. - string selector = 1; - - // Description of the selected API(s). - string description = 2; - - // Deprecation description of the selected element(s). It can be provided if an - // element is marked as `deprecated`. - string deprecation_description = 3; -} - -// Represents a documentation page. A page can contain subpages to represent -// nested documentation set structure. -message Page { - // The name of the page. It will be used as an identity of the page to - // generate URI of the page, text of the link to this page in navigation, - // etc. The full page name (start from the root page name to this page - // concatenated with `.`) can be used as reference to the page in your - // documentation. For example: - // <pre><code>pages: - // - name: Tutorial - // content: (== include tutorial.md ==) - // subpages: - // - name: Java - // content: (== include tutorial_java.md ==) - // </code></pre> - // You can reference `Java` page using Markdown reference link syntax: - // `[Java][Tutorial.Java]`. - string name = 1; - - // The Markdown content of the page. You can use <code>(== include {path} ==)</code> - // to include content from a Markdown file. - string content = 2; - - // Subpages of this page. The order of subpages specified here will be - // honored in the generated docset. - repeated Page subpages = 3; -} diff --git a/contrib/libs/googleapis-common-protos/google/api/endpoint.proto b/contrib/libs/googleapis-common-protos/google/api/endpoint.proto deleted file mode 100644 index c7bb13b037..0000000000 --- a/contrib/libs/googleapis-common-protos/google/api/endpoint.proto +++ /dev/null @@ -1,71 +0,0 @@ -// Copyright 2018 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -syntax = "proto3"; - -package google.api; - -import "google/api/annotations.proto"; - -option go_package = "google.golang.org/genproto/googleapis/api/serviceconfig;serviceconfig"; -option java_multiple_files = true; -option java_outer_classname = "EndpointProto"; -option java_package = "com.google.api"; -option objc_class_prefix = "GAPI"; - - -// `Endpoint` describes a network endpoint that serves a set of APIs. -// A service may expose any number of endpoints, and all endpoints share the -// same service configuration, such as quota configuration and monitoring -// configuration. -// -// Example service configuration: -// -// name: library-example.googleapis.com -// endpoints: -// # Below entry makes 'google.example.library.v1.Library' -// # API be served from endpoint address library-example.googleapis.com. -// # It also allows HTTP OPTIONS calls to be passed to the backend, for -// # it to decide whether the subsequent cross-origin request is -// # allowed to proceed. -// - name: library-example.googleapis.com -// allow_cors: true -message Endpoint { - // The canonical name of this endpoint. - string name = 1; - - // DEPRECATED: This field is no longer supported. Instead of using aliases, - // please specify multiple [google.api.Endpoint][google.api.Endpoint] for each of the intended - // aliases. - // - // Additional names that this endpoint will be hosted on. - repeated string aliases = 2; - - // The list of features enabled on this endpoint. - repeated string features = 4; - - // The specification of an Internet routable address of API frontend that will - // handle requests to this [API Endpoint](https://cloud.google.com/apis/design/glossary). - // It should be either a valid IPv4 address or a fully-qualified domain name. - // For example, "8.8.8.8" or "myservice.appspot.com". - string target = 101; - - // Allowing - // [CORS](https://en.wikipedia.org/wiki/Cross-origin_resource_sharing), aka - // cross-domain traffic, would allow the backends served from this endpoint to - // receive and respond to HTTP OPTIONS requests. The response will be used by - // the browser to determine whether the subsequent cross-origin request is - // allowed to proceed. - bool allow_cors = 5; -} diff --git a/contrib/libs/googleapis-common-protos/google/api/field_behavior.proto b/contrib/libs/googleapis-common-protos/google/api/field_behavior.proto deleted file mode 100644 index 686667954a..0000000000 --- a/contrib/libs/googleapis-common-protos/google/api/field_behavior.proto +++ /dev/null @@ -1,84 +0,0 @@ -// Copyright 2020 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -syntax = "proto3"; - -package google.api; - -import "google/protobuf/descriptor.proto"; - -option go_package = "google.golang.org/genproto/googleapis/api/annotations;annotations"; -option java_multiple_files = true; -option java_outer_classname = "FieldBehaviorProto"; -option java_package = "com.google.api"; -option objc_class_prefix = "GAPI"; - -extend google.protobuf.FieldOptions { - // A designation of a specific field behavior (required, output only, etc.) - // in protobuf messages. - // - // Examples: - // - // string name = 1 [(google.api.field_behavior) = REQUIRED]; - // State state = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; - // google.protobuf.Duration ttl = 1 - // [(google.api.field_behavior) = INPUT_ONLY]; - // google.protobuf.Timestamp expire_time = 1 - // [(google.api.field_behavior) = OUTPUT_ONLY, - // (google.api.field_behavior) = IMMUTABLE]; - repeated google.api.FieldBehavior field_behavior = 1052; -} - -// An indicator of the behavior of a given field (for example, that a field -// is required in requests, or given as output but ignored as input). -// This **does not** change the behavior in protocol buffers itself; it only -// denotes the behavior and may affect how API tooling handles the field. -// -// Note: This enum **may** receive new values in the future. -enum FieldBehavior { - // Conventional default for enums. Do not use this. - FIELD_BEHAVIOR_UNSPECIFIED = 0; - - // Specifically denotes a field as optional. - // While all fields in protocol buffers are optional, this may be specified - // for emphasis if appropriate. - OPTIONAL = 1; - - // Denotes a field as required. - // This indicates that the field **must** be provided as part of the request, - // and failure to do so will cause an error (usually `INVALID_ARGUMENT`). - REQUIRED = 2; - - // Denotes a field as output only. - // This indicates that the field is provided in responses, but including the - // field in a request does nothing (the server *must* ignore it and - // *must not* throw an error as a result of the field's presence). - OUTPUT_ONLY = 3; - - // Denotes a field as input only. - // This indicates that the field is provided in requests, and the - // corresponding field is not included in output. - INPUT_ONLY = 4; - - // Denotes a field as immutable. - // This indicates that the field may be set once in a request to create a - // resource, but may not be changed thereafter. - IMMUTABLE = 5; - - // Denotes that a (repeated) field is an unordered list. - // This indicates that the service may provide the elements of the list - // in any arbitrary order, rather than the order the user originally - // provided. Additionally, the list's order may or may not be stable. - UNORDERED_LIST = 6; -} diff --git a/contrib/libs/googleapis-common-protos/google/api/http.proto b/contrib/libs/googleapis-common-protos/google/api/http.proto deleted file mode 100644 index 2bd3a19bfa..0000000000 --- a/contrib/libs/googleapis-common-protos/google/api/http.proto +++ /dev/null @@ -1,318 +0,0 @@ -// Copyright 2018 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -syntax = "proto3"; - -package google.api; - -option cc_enable_arenas = true; -option go_package = "google.golang.org/genproto/googleapis/api/annotations;annotations"; -option java_multiple_files = true; -option java_outer_classname = "HttpProto"; -option java_package = "com.google.api"; -option objc_class_prefix = "GAPI"; - - -// Defines the HTTP configuration for an API service. It contains a list of -// [HttpRule][google.api.HttpRule], each specifying the mapping of an RPC method -// to one or more HTTP REST API methods. -message Http { - // A list of HTTP configuration rules that apply to individual API methods. - // - // **NOTE:** All service configuration rules follow "last one wins" order. - repeated HttpRule rules = 1; - - // When set to true, URL path parmeters will be fully URI-decoded except in - // cases of single segment matches in reserved expansion, where "%2F" will be - // left encoded. - // - // The default behavior is to not decode RFC 6570 reserved characters in multi - // segment matches. - bool fully_decode_reserved_expansion = 2; -} - -// `HttpRule` defines the mapping of an RPC method to one or more HTTP -// REST API methods. The mapping specifies how different portions of the RPC -// request message are mapped to URL path, URL query parameters, and -// HTTP request body. The mapping is typically specified as an -// `google.api.http` annotation on the RPC method, -// see "google/api/annotations.proto" for details. -// -// The mapping consists of a field specifying the path template and -// method kind. The path template can refer to fields in the request -// message, as in the example below which describes a REST GET -// operation on a resource collection of messages: -// -// -// service Messaging { -// rpc GetMessage(GetMessageRequest) returns (Message) { -// option (google.api.http).get = "/v1/messages/{message_id}/{sub.subfield}"; -// } -// } -// message GetMessageRequest { -// message SubMessage { -// string subfield = 1; -// } -// string message_id = 1; // mapped to the URL -// SubMessage sub = 2; // `sub.subfield` is url-mapped -// } -// message Message { -// string text = 1; // content of the resource -// } -// -// The same http annotation can alternatively be expressed inside the -// `GRPC API Configuration` YAML file. -// -// http: -// rules: -// - selector: <proto_package_name>.Messaging.GetMessage -// get: /v1/messages/{message_id}/{sub.subfield} -// -// This definition enables an automatic, bidrectional mapping of HTTP -// JSON to RPC. Example: -// -// HTTP | RPC -// -----|----- -// `GET /v1/messages/123456/foo` | `GetMessage(message_id: "123456" sub: SubMessage(subfield: "foo"))` -// -// In general, not only fields but also field paths can be referenced -// from a path pattern. Fields mapped to the path pattern cannot be -// repeated and must have a primitive (non-message) type. -// -// Any fields in the request message which are not bound by the path -// pattern automatically become (optional) HTTP query -// parameters. Assume the following definition of the request message: -// -// -// service Messaging { -// rpc GetMessage(GetMessageRequest) returns (Message) { -// option (google.api.http).get = "/v1/messages/{message_id}"; -// } -// } -// message GetMessageRequest { -// message SubMessage { -// string subfield = 1; -// } -// string message_id = 1; // mapped to the URL -// int64 revision = 2; // becomes a parameter -// SubMessage sub = 3; // `sub.subfield` becomes a parameter -// } -// -// -// This enables a HTTP JSON to RPC mapping as below: -// -// HTTP | RPC -// -----|----- -// `GET /v1/messages/123456?revision=2&sub.subfield=foo` | `GetMessage(message_id: "123456" revision: 2 sub: SubMessage(subfield: "foo"))` -// -// Note that fields which are mapped to HTTP parameters must have a -// primitive type or a repeated primitive type. Message types are not -// allowed. In the case of a repeated type, the parameter can be -// repeated in the URL, as in `...?param=A¶m=B`. -// -// For HTTP method kinds which allow a request body, the `body` field -// specifies the mapping. Consider a REST update method on the -// message resource collection: -// -// -// service Messaging { -// rpc UpdateMessage(UpdateMessageRequest) returns (Message) { -// option (google.api.http) = { -// put: "/v1/messages/{message_id}" -// body: "message" -// }; -// } -// } -// message UpdateMessageRequest { -// string message_id = 1; // mapped to the URL -// Message message = 2; // mapped to the body -// } -// -// -// The following HTTP JSON to RPC mapping is enabled, where the -// representation of the JSON in the request body is determined by -// protos JSON encoding: -// -// HTTP | RPC -// -----|----- -// `PUT /v1/messages/123456 { "text": "Hi!" }` | `UpdateMessage(message_id: "123456" message { text: "Hi!" })` -// -// The special name `*` can be used in the body mapping to define that -// every field not bound by the path template should be mapped to the -// request body. This enables the following alternative definition of -// the update method: -// -// service Messaging { -// rpc UpdateMessage(Message) returns (Message) { -// option (google.api.http) = { -// put: "/v1/messages/{message_id}" -// body: "*" -// }; -// } -// } -// message Message { -// string message_id = 1; -// string text = 2; -// } -// -// -// The following HTTP JSON to RPC mapping is enabled: -// -// HTTP | RPC -// -----|----- -// `PUT /v1/messages/123456 { "text": "Hi!" }` | `UpdateMessage(message_id: "123456" text: "Hi!")` -// -// Note that when using `*` in the body mapping, it is not possible to -// have HTTP parameters, as all fields not bound by the path end in -// the body. This makes this option more rarely used in practice of -// defining REST APIs. The common usage of `*` is in custom methods -// which don't use the URL at all for transferring data. -// -// It is possible to define multiple HTTP methods for one RPC by using -// the `additional_bindings` option. Example: -// -// service Messaging { -// rpc GetMessage(GetMessageRequest) returns (Message) { -// option (google.api.http) = { -// get: "/v1/messages/{message_id}" -// additional_bindings { -// get: "/v1/users/{user_id}/messages/{message_id}" -// } -// }; -// } -// } -// message GetMessageRequest { -// string message_id = 1; -// string user_id = 2; -// } -// -// -// This enables the following two alternative HTTP JSON to RPC -// mappings: -// -// HTTP | RPC -// -----|----- -// `GET /v1/messages/123456` | `GetMessage(message_id: "123456")` -// `GET /v1/users/me/messages/123456` | `GetMessage(user_id: "me" message_id: "123456")` -// -// # Rules for HTTP mapping -// -// The rules for mapping HTTP path, query parameters, and body fields -// to the request message are as follows: -// -// 1. The `body` field specifies either `*` or a field path, or is -// omitted. If omitted, it indicates there is no HTTP request body. -// 2. Leaf fields (recursive expansion of nested messages in the -// request) can be classified into three types: -// (a) Matched in the URL template. -// (b) Covered by body (if body is `*`, everything except (a) fields; -// else everything under the body field) -// (c) All other fields. -// 3. URL query parameters found in the HTTP request are mapped to (c) fields. -// 4. Any body sent with an HTTP request can contain only (b) fields. -// -// The syntax of the path template is as follows: -// -// Template = "/" Segments [ Verb ] ; -// Segments = Segment { "/" Segment } ; -// Segment = "*" | "**" | LITERAL | Variable ; -// Variable = "{" FieldPath [ "=" Segments ] "}" ; -// FieldPath = IDENT { "." IDENT } ; -// Verb = ":" LITERAL ; -// -// The syntax `*` matches a single path segment. The syntax `**` matches zero -// or more path segments, which must be the last part of the path except the -// `Verb`. The syntax `LITERAL` matches literal text in the path. -// -// The syntax `Variable` matches part of the URL path as specified by its -// template. A variable template must not contain other variables. If a variable -// matches a single path segment, its template may be omitted, e.g. `{var}` -// is equivalent to `{var=*}`. -// -// If a variable contains exactly one path segment, such as `"{var}"` or -// `"{var=*}"`, when such a variable is expanded into a URL path, all characters -// except `[-_.~0-9a-zA-Z]` are percent-encoded. Such variables show up in the -// Discovery Document as `{var}`. -// -// If a variable contains one or more path segments, such as `"{var=foo/*}"` -// or `"{var=**}"`, when such a variable is expanded into a URL path, all -// characters except `[-_.~/0-9a-zA-Z]` are percent-encoded. Such variables -// show up in the Discovery Document as `{+var}`. -// -// NOTE: While the single segment variable matches the semantics of -// [RFC 6570](https://tools.ietf.org/html/rfc6570) Section 3.2.2 -// Simple String Expansion, the multi segment variable **does not** match -// RFC 6570 Reserved Expansion. The reason is that the Reserved Expansion -// does not expand special characters like `?` and `#`, which would lead -// to invalid URLs. -// -// NOTE: the field paths in variables and in the `body` must not refer to -// repeated fields or map fields. -message HttpRule { - // Selects methods to which this rule applies. - // - // Refer to [selector][google.api.DocumentationRule.selector] for syntax details. - string selector = 1; - - // Determines the URL pattern is matched by this rules. This pattern can be - // used with any of the {get|put|post|delete|patch} methods. A custom method - // can be defined using the 'custom' field. - oneof pattern { - // Used for listing and getting information about resources. - string get = 2; - - // Used for updating a resource. - string put = 3; - - // Used for creating a resource. - string post = 4; - - // Used for deleting a resource. - string delete = 5; - - // Used for updating a resource. - string patch = 6; - - // The custom pattern is used for specifying an HTTP method that is not - // included in the `pattern` field, such as HEAD, or "*" to leave the - // HTTP method unspecified for this rule. The wild-card rule is useful - // for services that provide content to Web (HTML) clients. - CustomHttpPattern custom = 8; - } - - // The name of the request field whose value is mapped to the HTTP body, or - // `*` for mapping all fields not captured by the path pattern to the HTTP - // body. NOTE: the referred field must not be a repeated field and must be - // present at the top-level of request message type. - string body = 7; - - // Optional. The name of the response field whose value is mapped to the HTTP - // body of response. Other response fields are ignored. When - // not set, the response message will be used as HTTP body of response. - string response_body = 12; - - // Additional HTTP bindings for the selector. Nested bindings must - // not contain an `additional_bindings` field themselves (that is, - // the nesting may only be one level deep). - repeated HttpRule additional_bindings = 11; -} - -// A custom pattern is used for defining custom HTTP verb. -message CustomHttpPattern { - // The name of this custom HTTP verb. - string kind = 1; - - // The path matched by this custom verb. - string path = 2; -} diff --git a/contrib/libs/googleapis-common-protos/google/api/httpbody.proto b/contrib/libs/googleapis-common-protos/google/api/httpbody.proto deleted file mode 100644 index 0e86e267d7..0000000000 --- a/contrib/libs/googleapis-common-protos/google/api/httpbody.proto +++ /dev/null @@ -1,76 +0,0 @@ -// Copyright 2018 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -syntax = "proto3"; - -package google.api; - -import "google/protobuf/any.proto"; - -option go_package = "google.golang.org/genproto/googleapis/api/httpbody;httpbody"; -option java_multiple_files = true; -option java_outer_classname = "HttpBodyProto"; -option java_package = "com.google.api"; -option objc_class_prefix = "GAPI"; - - -// Message that represents an arbitrary HTTP body. It should only be used for -// payload formats that can't be represented as JSON, such as raw binary or -// an HTML page. -// -// -// This message can be used both in streaming and non-streaming API methods in -// the request as well as the response. -// -// It can be used as a top-level request field, which is convenient if one -// wants to extract parameters from either the URL or HTTP template into the -// request fields and also want access to the raw HTTP body. -// -// Example: -// -// message GetResourceRequest { -// // A unique request id. -// string request_id = 1; -// -// // The raw HTTP body is bound to this field. -// google.api.HttpBody http_body = 2; -// } -// -// service ResourceService { -// rpc GetResource(GetResourceRequest) returns (google.api.HttpBody); -// rpc UpdateResource(google.api.HttpBody) returns (google.protobuf.Empty); -// } -// -// Example with streaming methods: -// -// service CaldavService { -// rpc GetCalendar(stream google.api.HttpBody) -// returns (stream google.api.HttpBody); -// rpc UpdateCalendar(stream google.api.HttpBody) -// returns (stream google.api.HttpBody); -// } -// -// Use of this type only changes how the request and response bodies are -// handled, all other features will continue to work unchanged. -message HttpBody { - // The HTTP Content-Type string representing the content type of the body. - string content_type = 1; - - // HTTP body binary data. - bytes data = 2; - - // Application specific response metadata. Must be set in the first response - // for streaming APIs. - repeated google.protobuf.Any extensions = 3; -} diff --git a/contrib/libs/googleapis-common-protos/google/api/label.proto b/contrib/libs/googleapis-common-protos/google/api/label.proto deleted file mode 100644 index 3c20752ceb..0000000000 --- a/contrib/libs/googleapis-common-protos/google/api/label.proto +++ /dev/null @@ -1,49 +0,0 @@ -// Copyright 2018 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -syntax = "proto3"; - -package google.api; - -option cc_enable_arenas = true; -option go_package = "google.golang.org/genproto/googleapis/api/label;label"; -option java_multiple_files = true; -option java_outer_classname = "LabelProto"; -option java_package = "com.google.api"; -option objc_class_prefix = "GAPI"; - - -// A description of a label. -message LabelDescriptor { - // Value types that can be used as label values. - enum ValueType { - // A variable-length string. This is the default. - STRING = 0; - - // Boolean; true or false. - BOOL = 1; - - // A 64-bit signed integer. - INT64 = 2; - } - - // The label key. - string key = 1; - - // The type of data that can be assigned to the label. - ValueType value_type = 2; - - // A human-readable description for the label. - string description = 3; -} diff --git a/contrib/libs/googleapis-common-protos/google/api/launch_stage.proto b/contrib/libs/googleapis-common-protos/google/api/launch_stage.proto deleted file mode 100644 index 55fd914242..0000000000 --- a/contrib/libs/googleapis-common-protos/google/api/launch_stage.proto +++ /dev/null @@ -1,67 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.api; - -option go_package = "google.golang.org/genproto/googleapis/api;api"; -option java_multiple_files = true; -option java_outer_classname = "LaunchStageProto"; -option java_package = "com.google.api"; -option objc_class_prefix = "GAPI"; - -// The launch stage as defined by [Google Cloud Platform -// Launch Stages](http://cloud.google.com/terms/launch-stages). -enum LaunchStage { - // Do not use this default value. - LAUNCH_STAGE_UNSPECIFIED = 0; - - // Early Access features are limited to a closed group of testers. To use - // these features, you must sign up in advance and sign a Trusted Tester - // agreement (which includes confidentiality provisions). These features may - // be unstable, changed in backward-incompatible ways, and are not - // guaranteed to be released. - EARLY_ACCESS = 1; - - // Alpha is a limited availability test for releases before they are cleared - // for widespread use. By Alpha, all significant design issues are resolved - // and we are in the process of verifying functionality. Alpha customers - // need to apply for access, agree to applicable terms, and have their - // projects whitelisted. Alpha releases don’t have to be feature complete, - // no SLAs are provided, and there are no technical support obligations, but - // they will be far enough along that customers can actually use them in - // test environments or for limited-use tests -- just like they would in - // normal production cases. - ALPHA = 2; - - // Beta is the point at which we are ready to open a release for any - // customer to use. There are no SLA or technical support obligations in a - // Beta release. Products will be complete from a feature perspective, but - // may have some open outstanding issues. Beta releases are suitable for - // limited production use cases. - BETA = 3; - - // GA features are open to all developers and are considered stable and - // fully qualified for production use. - GA = 4; - - // Deprecated features are scheduled to be shut down and removed. For more - // information, see the “Deprecation Policy” section of our [Terms of - // Service](https://cloud.google.com/terms/) - // and the [Google Cloud Platform Subject to the Deprecation - // Policy](https://cloud.google.com/terms/deprecation) documentation. - DEPRECATED = 5; -} diff --git a/contrib/libs/googleapis-common-protos/google/api/log.proto b/contrib/libs/googleapis-common-protos/google/api/log.proto deleted file mode 100644 index 673b5245ab..0000000000 --- a/contrib/libs/googleapis-common-protos/google/api/log.proto +++ /dev/null @@ -1,55 +0,0 @@ -// Copyright 2018 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -syntax = "proto3"; - -package google.api; - -import "google/api/label.proto"; - -option go_package = "google.golang.org/genproto/googleapis/api/serviceconfig;serviceconfig"; -option java_multiple_files = true; -option java_outer_classname = "LogProto"; -option java_package = "com.google.api"; -option objc_class_prefix = "GAPI"; - - -// A description of a log type. Example in YAML format: -// -// - name: library.googleapis.com/activity_history -// description: The history of borrowing and returning library items. -// display_name: Activity -// labels: -// - key: /customer_id -// description: Identifier of a library customer -message LogDescriptor { - // The name of the log. It must be less than 512 characters long and can - // include the following characters: upper- and lower-case alphanumeric - // characters [A-Za-z0-9], and punctuation characters including - // slash, underscore, hyphen, period [/_-.]. - string name = 1; - - // The set of labels that are available to describe a specific log entry. - // Runtime requests that contain labels not specified here are - // considered invalid. - repeated LabelDescriptor labels = 2; - - // A human-readable description of this log. This information appears in - // the documentation and can contain details. - string description = 3; - - // The human-readable name for this log. This information appears on - // the user interface and should be concise. - string display_name = 4; -} diff --git a/contrib/libs/googleapis-common-protos/google/api/logging.proto b/contrib/libs/googleapis-common-protos/google/api/logging.proto deleted file mode 100644 index ee7c1966e4..0000000000 --- a/contrib/libs/googleapis-common-protos/google/api/logging.proto +++ /dev/null @@ -1,83 +0,0 @@ -// Copyright 2018 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -syntax = "proto3"; - -package google.api; - -import "google/api/annotations.proto"; - -option go_package = "google.golang.org/genproto/googleapis/api/serviceconfig;serviceconfig"; -option java_multiple_files = true; -option java_outer_classname = "LoggingProto"; -option java_package = "com.google.api"; -option objc_class_prefix = "GAPI"; - - -// Logging configuration of the service. -// -// The following example shows how to configure logs to be sent to the -// producer and consumer projects. In the example, the `activity_history` -// log is sent to both the producer and consumer projects, whereas the -// `purchase_history` log is only sent to the producer project. -// -// monitored_resources: -// - type: library.googleapis.com/branch -// labels: -// - key: /city -// description: The city where the library branch is located in. -// - key: /name -// description: The name of the branch. -// logs: -// - name: activity_history -// labels: -// - key: /customer_id -// - name: purchase_history -// logging: -// producer_destinations: -// - monitored_resource: library.googleapis.com/branch -// logs: -// - activity_history -// - purchase_history -// consumer_destinations: -// - monitored_resource: library.googleapis.com/branch -// logs: -// - activity_history -message Logging { - // Configuration of a specific logging destination (the producer project - // or the consumer project). - message LoggingDestination { - // The monitored resource type. The type must be defined in the - // [Service.monitored_resources][google.api.Service.monitored_resources] section. - string monitored_resource = 3; - - // Names of the logs to be sent to this destination. Each name must - // be defined in the [Service.logs][google.api.Service.logs] section. If the log name is - // not a domain scoped name, it will be automatically prefixed with - // the service name followed by "/". - repeated string logs = 1; - } - - // Logging configurations for sending logs to the producer project. - // There can be multiple producer destinations, each one must have a - // different monitored resource type. A log can be used in at most - // one producer destination. - repeated LoggingDestination producer_destinations = 1; - - // Logging configurations for sending logs to the consumer project. - // There can be multiple consumer destinations, each one must have a - // different monitored resource type. A log can be used in at most - // one consumer destination. - repeated LoggingDestination consumer_destinations = 2; -} diff --git a/contrib/libs/googleapis-common-protos/google/api/metric.proto b/contrib/libs/googleapis-common-protos/google/api/metric.proto deleted file mode 100644 index 5473ce5bfe..0000000000 --- a/contrib/libs/googleapis-common-protos/google/api/metric.proto +++ /dev/null @@ -1,192 +0,0 @@ -// Copyright 2018 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -syntax = "proto3"; - -package google.api; - -import "google/api/label.proto"; - -option go_package = "google.golang.org/genproto/googleapis/api/metric;metric"; -option java_multiple_files = true; -option java_outer_classname = "MetricProto"; -option java_package = "com.google.api"; -option objc_class_prefix = "GAPI"; - - -// Defines a metric type and its schema. Once a metric descriptor is created, -// deleting or altering it stops data collection and makes the metric type's -// existing data unusable. -message MetricDescriptor { - // The kind of measurement. It describes how the data is reported. - enum MetricKind { - // Do not use this default value. - METRIC_KIND_UNSPECIFIED = 0; - - // An instantaneous measurement of a value. - GAUGE = 1; - - // The change in a value during a time interval. - DELTA = 2; - - // A value accumulated over a time interval. Cumulative - // measurements in a time series should have the same start time - // and increasing end times, until an event resets the cumulative - // value to zero and sets a new start time for the following - // points. - CUMULATIVE = 3; - } - - // The value type of a metric. - enum ValueType { - // Do not use this default value. - VALUE_TYPE_UNSPECIFIED = 0; - - // The value is a boolean. - // This value type can be used only if the metric kind is `GAUGE`. - BOOL = 1; - - // The value is a signed 64-bit integer. - INT64 = 2; - - // The value is a double precision floating point number. - DOUBLE = 3; - - // The value is a text string. - // This value type can be used only if the metric kind is `GAUGE`. - STRING = 4; - - // The value is a [`Distribution`][google.api.Distribution]. - DISTRIBUTION = 5; - - // The value is money. - MONEY = 6; - } - - // The resource name of the metric descriptor. - string name = 1; - - // The metric type, including its DNS name prefix. The type is not - // URL-encoded. All user-defined custom metric types have the DNS name - // `custom.googleapis.com`. Metric types should use a natural hierarchical - // grouping. For example: - // - // "custom.googleapis.com/invoice/paid/amount" - // "appengine.googleapis.com/http/server/response_latencies" - string type = 8; - - // The set of labels that can be used to describe a specific - // instance of this metric type. For example, the - // `appengine.googleapis.com/http/server/response_latencies` metric - // type has a label for the HTTP response code, `response_code`, so - // you can look at latencies for successful responses or just - // for responses that failed. - repeated LabelDescriptor labels = 2; - - // Whether the metric records instantaneous values, changes to a value, etc. - // Some combinations of `metric_kind` and `value_type` might not be supported. - MetricKind metric_kind = 3; - - // Whether the measurement is an integer, a floating-point number, etc. - // Some combinations of `metric_kind` and `value_type` might not be supported. - ValueType value_type = 4; - - // The unit in which the metric value is reported. It is only applicable - // if the `value_type` is `INT64`, `DOUBLE`, or `DISTRIBUTION`. The - // supported units are a subset of [The Unified Code for Units of - // Measure](http://unitsofmeasure.org/ucum.html) standard: - // - // **Basic units (UNIT)** - // - // * `bit` bit - // * `By` byte - // * `s` second - // * `min` minute - // * `h` hour - // * `d` day - // - // **Prefixes (PREFIX)** - // - // * `k` kilo (10**3) - // * `M` mega (10**6) - // * `G` giga (10**9) - // * `T` tera (10**12) - // * `P` peta (10**15) - // * `E` exa (10**18) - // * `Z` zetta (10**21) - // * `Y` yotta (10**24) - // * `m` milli (10**-3) - // * `u` micro (10**-6) - // * `n` nano (10**-9) - // * `p` pico (10**-12) - // * `f` femto (10**-15) - // * `a` atto (10**-18) - // * `z` zepto (10**-21) - // * `y` yocto (10**-24) - // * `Ki` kibi (2**10) - // * `Mi` mebi (2**20) - // * `Gi` gibi (2**30) - // * `Ti` tebi (2**40) - // - // **Grammar** - // - // The grammar also includes these connectors: - // - // * `/` division (as an infix operator, e.g. `1/s`). - // * `.` multiplication (as an infix operator, e.g. `GBy.d`) - // - // The grammar for a unit is as follows: - // - // Expression = Component { "." Component } { "/" Component } ; - // - // Component = ( [ PREFIX ] UNIT | "%" ) [ Annotation ] - // | Annotation - // | "1" - // ; - // - // Annotation = "{" NAME "}" ; - // - // Notes: - // - // * `Annotation` is just a comment if it follows a `UNIT` and is - // equivalent to `1` if it is used alone. For examples, - // `{requests}/s == 1/s`, `By{transmitted}/s == By/s`. - // * `NAME` is a sequence of non-blank printable ASCII characters not - // containing '{' or '}'. - // * `1` represents dimensionless value 1, such as in `1/s`. - // * `%` represents dimensionless value 1/100, and annotates values giving - // a percentage. - string unit = 5; - - // A detailed description of the metric, which can be used in documentation. - string description = 6; - - // A concise name for the metric, which can be displayed in user interfaces. - // Use sentence case without an ending period, for example "Request count". - // This field is optional but it is recommended to be set for any metrics - // associated with user-visible concepts, such as Quota. - string display_name = 7; -} - -// A specific metric, identified by specifying values for all of the -// labels of a [`MetricDescriptor`][google.api.MetricDescriptor]. -message Metric { - // An existing metric type, see [google.api.MetricDescriptor][google.api.MetricDescriptor]. - // For example, `custom.googleapis.com/invoice/paid/amount`. - string type = 3; - - // The set of label values that uniquely identify this metric. All - // labels listed in the `MetricDescriptor` must be assigned values. - map<string, string> labels = 2; -} diff --git a/contrib/libs/googleapis-common-protos/google/api/monitored_resource.proto b/contrib/libs/googleapis-common-protos/google/api/monitored_resource.proto deleted file mode 100644 index 189ccd4aa7..0000000000 --- a/contrib/libs/googleapis-common-protos/google/api/monitored_resource.proto +++ /dev/null @@ -1,116 +0,0 @@ -// Copyright 2018 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -syntax = "proto3"; - -package google.api; - -import "google/api/label.proto"; -import "google/protobuf/struct.proto"; - -option cc_enable_arenas = true; -option go_package = "google.golang.org/genproto/googleapis/api/monitoredres;monitoredres"; -option java_multiple_files = true; -option java_outer_classname = "MonitoredResourceProto"; -option java_package = "com.google.api"; -option objc_class_prefix = "GAPI"; - - -// An object that describes the schema of a [MonitoredResource][google.api.MonitoredResource] object using a -// type name and a set of labels. For example, the monitored resource -// descriptor for Google Compute Engine VM instances has a type of -// `"gce_instance"` and specifies the use of the labels `"instance_id"` and -// `"zone"` to identify particular VM instances. -// -// Different APIs can support different monitored resource types. APIs generally -// provide a `list` method that returns the monitored resource descriptors used -// by the API. -message MonitoredResourceDescriptor { - // Optional. The resource name of the monitored resource descriptor: - // `"projects/{project_id}/monitoredResourceDescriptors/{type}"` where - // {type} is the value of the `type` field in this object and - // {project_id} is a project ID that provides API-specific context for - // accessing the type. APIs that do not use project information can use the - // resource name format `"monitoredResourceDescriptors/{type}"`. - string name = 5; - - // Required. The monitored resource type. For example, the type - // `"cloudsql_database"` represents databases in Google Cloud SQL. - // The maximum length of this value is 256 characters. - string type = 1; - - // Optional. A concise name for the monitored resource type that might be - // displayed in user interfaces. It should be a Title Cased Noun Phrase, - // without any article or other determiners. For example, - // `"Google Cloud SQL Database"`. - string display_name = 2; - - // Optional. A detailed description of the monitored resource type that might - // be used in documentation. - string description = 3; - - // Required. A set of labels used to describe instances of this monitored - // resource type. For example, an individual Google Cloud SQL database is - // identified by values for the labels `"database_id"` and `"zone"`. - repeated LabelDescriptor labels = 4; -} - -// An object representing a resource that can be used for monitoring, logging, -// billing, or other purposes. Examples include virtual machine instances, -// databases, and storage devices such as disks. The `type` field identifies a -// [MonitoredResourceDescriptor][google.api.MonitoredResourceDescriptor] object that describes the resource's -// schema. Information in the `labels` field identifies the actual resource and -// its attributes according to the schema. For example, a particular Compute -// Engine VM instance could be represented by the following object, because the -// [MonitoredResourceDescriptor][google.api.MonitoredResourceDescriptor] for `"gce_instance"` has labels -// `"instance_id"` and `"zone"`: -// -// { "type": "gce_instance", -// "labels": { "instance_id": "12345678901234", -// "zone": "us-central1-a" }} -message MonitoredResource { - // Required. The monitored resource type. This field must match - // the `type` field of a [MonitoredResourceDescriptor][google.api.MonitoredResourceDescriptor] object. For - // example, the type of a Compute Engine VM instance is `gce_instance`. - string type = 1; - - // Required. Values for all of the labels listed in the associated monitored - // resource descriptor. For example, Compute Engine VM instances use the - // labels `"project_id"`, `"instance_id"`, and `"zone"`. - map<string, string> labels = 2; -} - -// Auxiliary metadata for a [MonitoredResource][google.api.MonitoredResource] object. -// [MonitoredResource][google.api.MonitoredResource] objects contain the minimum set of information to -// uniquely identify a monitored resource instance. There is some other useful -// auxiliary metadata. Google Stackdriver Monitoring & Logging uses an ingestion -// pipeline to extract metadata for cloud resources of all types , and stores -// the metadata in this message. -message MonitoredResourceMetadata { - // Output only. Values for predefined system metadata labels. - // System labels are a kind of metadata extracted by Google Stackdriver. - // Stackdriver determines what system labels are useful and how to obtain - // their values. Some examples: "machine_image", "vpc", "subnet_id", - // "security_group", "name", etc. - // System label values can be only strings, Boolean values, or a list of - // strings. For example: - // - // { "name": "my-test-instance", - // "security_group": ["a", "b", "c"], - // "spot_instance": false } - google.protobuf.Struct system_labels = 1; - - // Output only. A map of user-defined metadata labels. - map<string, string> user_labels = 2; -} diff --git a/contrib/libs/googleapis-common-protos/google/api/monitoring.proto b/contrib/libs/googleapis-common-protos/google/api/monitoring.proto deleted file mode 100644 index 30572146dc..0000000000 --- a/contrib/libs/googleapis-common-protos/google/api/monitoring.proto +++ /dev/null @@ -1,89 +0,0 @@ -// Copyright 2018 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -syntax = "proto3"; - -package google.api; - -import "google/api/annotations.proto"; - -option go_package = "google.golang.org/genproto/googleapis/api/serviceconfig;serviceconfig"; -option java_multiple_files = true; -option java_outer_classname = "MonitoringProto"; -option java_package = "com.google.api"; -option objc_class_prefix = "GAPI"; - - -// Monitoring configuration of the service. -// -// The example below shows how to configure monitored resources and metrics -// for monitoring. In the example, a monitored resource and two metrics are -// defined. The `library.googleapis.com/book/returned_count` metric is sent -// to both producer and consumer projects, whereas the -// `library.googleapis.com/book/overdue_count` metric is only sent to the -// consumer project. -// -// monitored_resources: -// - type: library.googleapis.com/branch -// labels: -// - key: /city -// description: The city where the library branch is located in. -// - key: /name -// description: The name of the branch. -// metrics: -// - name: library.googleapis.com/book/returned_count -// metric_kind: DELTA -// value_type: INT64 -// labels: -// - key: /customer_id -// - name: library.googleapis.com/book/overdue_count -// metric_kind: GAUGE -// value_type: INT64 -// labels: -// - key: /customer_id -// monitoring: -// producer_destinations: -// - monitored_resource: library.googleapis.com/branch -// metrics: -// - library.googleapis.com/book/returned_count -// consumer_destinations: -// - monitored_resource: library.googleapis.com/branch -// metrics: -// - library.googleapis.com/book/returned_count -// - library.googleapis.com/book/overdue_count -message Monitoring { - // Configuration of a specific monitoring destination (the producer project - // or the consumer project). - message MonitoringDestination { - // The monitored resource type. The type must be defined in - // [Service.monitored_resources][google.api.Service.monitored_resources] section. - string monitored_resource = 1; - - // Names of the metrics to report to this monitoring destination. - // Each name must be defined in [Service.metrics][google.api.Service.metrics] section. - repeated string metrics = 2; - } - - // Monitoring configurations for sending metrics to the producer project. - // There can be multiple producer destinations, each one must have a - // different monitored resource type. A metric can be used in at most - // one producer destination. - repeated MonitoringDestination producer_destinations = 1; - - // Monitoring configurations for sending metrics to the consumer project. - // There can be multiple consumer destinations, each one must have a - // different monitored resource type. A metric can be used in at most - // one consumer destination. - repeated MonitoringDestination consumer_destinations = 2; -} diff --git a/contrib/libs/googleapis-common-protos/google/api/quota.proto b/contrib/libs/googleapis-common-protos/google/api/quota.proto deleted file mode 100644 index aa327a1969..0000000000 --- a/contrib/libs/googleapis-common-protos/google/api/quota.proto +++ /dev/null @@ -1,259 +0,0 @@ -// Copyright 2017 Google Inc. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -syntax = "proto3"; - -package google.api; - -import "google/api/annotations.proto"; - -option go_package = "google.golang.org/genproto/googleapis/api/serviceconfig;serviceconfig"; -option java_multiple_files = true; -option java_outer_classname = "QuotaProto"; -option java_package = "com.google.api"; -option objc_class_prefix = "GAPI"; - - -// Quota configuration helps to achieve fairness and budgeting in service -// usage. -// -// The quota configuration works this way: -// - The service configuration defines a set of metrics. -// - For API calls, the quota.metric_rules maps methods to metrics with -// corresponding costs. -// - The quota.limits defines limits on the metrics, which will be used for -// quota checks at runtime. -// -// An example quota configuration in yaml format: -// -// quota: -// limits: -// -// - name: apiWriteQpsPerProject -// metric: library.googleapis.com/write_calls -// unit: "1/min/{project}" # rate limit for consumer projects -// values: -// STANDARD: 10000 -// -// # The metric rules bind all methods to the read_calls metric, -// # except for the UpdateBook and DeleteBook methods. These two methods -// # are mapped to the write_calls metric, with the UpdateBook method -// # consuming at twice rate as the DeleteBook method. -// metric_rules: -// - selector: "*" -// metric_costs: -// library.googleapis.com/read_calls: 1 -// - selector: google.example.library.v1.LibraryService.UpdateBook -// metric_costs: -// library.googleapis.com/write_calls: 2 -// - selector: google.example.library.v1.LibraryService.DeleteBook -// metric_costs: -// library.googleapis.com/write_calls: 1 -// -// Corresponding Metric definition: -// -// metrics: -// - name: library.googleapis.com/read_calls -// display_name: Read requests -// metric_kind: DELTA -// value_type: INT64 -// -// - name: library.googleapis.com/write_calls -// display_name: Write requests -// metric_kind: DELTA -// value_type: INT64 -// -message Quota { - // List of `QuotaLimit` definitions for the service. - // - // Used by metric-based quotas only. - repeated QuotaLimit limits = 3; - - // List of `MetricRule` definitions, each one mapping a selected method to one - // or more metrics. - // - // Used by metric-based quotas only. - repeated MetricRule metric_rules = 4; -} - -// Bind API methods to metrics. Binding a method to a metric causes that -// metric's configured quota, billing, and monitoring behaviors to apply to the -// method call. -// -// Used by metric-based quotas only. -message MetricRule { - // Selects the methods to which this rule applies. - // - // Refer to [selector][google.api.DocumentationRule.selector] for syntax details. - string selector = 1; - - // Metrics to update when the selected methods are called, and the associated - // cost applied to each metric. - // - // The key of the map is the metric name, and the values are the amount - // increased for the metric against which the quota limits are defined. - // The value must not be negative. - map<string, int64> metric_costs = 2; -} - -// `QuotaLimit` defines a specific limit that applies over a specified duration -// for a limit type. There can be at most one limit for a duration and limit -// type combination defined within a `QuotaGroup`. -message QuotaLimit { - // Name of the quota limit. The name is used to refer to the limit when - // overriding the default limit on per-consumer basis. - // - // For group-based quota limits, the name must be unique within the quota - // group. If a name is not provided, it will be generated from the limit_by - // and duration fields. - // - // For metric-based quota limits, the name must be provided, and it must be - // unique within the service. The name can only include alphanumeric - // characters as well as '-'. - // - // The maximum length of the limit name is 64 characters. - // - // The name of a limit is used as a unique identifier for this limit. - // Therefore, once a limit has been put into use, its name should be - // immutable. You can use the display_name field to provide a user-friendly - // name for the limit. The display name can be evolved over time without - // affecting the identity of the limit. - string name = 6; - - // Optional. User-visible, extended description for this quota limit. - // Should be used only when more context is needed to understand this limit - // than provided by the limit's display name (see: `display_name`). - string description = 2; - - // Default number of tokens that can be consumed during the specified - // duration. This is the number of tokens assigned when a client - // application developer activates the service for his/her project. - // - // Specifying a value of 0 will block all requests. This can be used if you - // are provisioning quota to selected consumers and blocking others. - // Similarly, a value of -1 will indicate an unlimited quota. No other - // negative values are allowed. - // - // Used by group-based quotas only. - int64 default_limit = 3; - - // Maximum number of tokens that can be consumed during the specified - // duration. Client application developers can override the default limit up - // to this maximum. If specified, this value cannot be set to a value less - // than the default limit. If not specified, it is set to the default limit. - // - // To allow clients to apply overrides with no upper bound, set this to -1, - // indicating unlimited maximum quota. - // - // Used by group-based quotas only. - int64 max_limit = 4; - - // Free tier value displayed in the Developers Console for this limit. - // The free tier is the number of tokens that will be subtracted from the - // billed amount when billing is enabled. - // This field can only be set on a limit with duration "1d", in a billable - // group; it is invalid on any other limit. If this field is not set, it - // defaults to 0, indicating that there is no free tier for this service. - // - // Used by group-based quotas only. - int64 free_tier = 7; - - // Duration of this limit in textual notation. Example: "100s", "24h", "1d". - // For duration longer than a day, only multiple of days is supported. We - // support only "100s" and "1d" for now. Additional support will be added in - // the future. "0" indicates indefinite duration. - // - // Used by group-based quotas only. - string duration = 5; - - // The name of the metric this quota limit applies to. The quota limits with - // the same metric will be checked together during runtime. The metric must be - // defined within the service config. - // - // Used by metric-based quotas only. - string metric = 8; - - // Specify the unit of the quota limit. It uses the same syntax as - // [Metric.unit][]. The supported unit kinds are determined by the quota - // backend system. - // - // The [Google Service Control](https://cloud.google.com/service-control) - // supports the following unit components: - // * One of the time intevals: - // * "/min" for quota every minute. - // * "/d" for quota every 24 hours, starting 00:00 US Pacific Time. - // * Otherwise the quota won't be reset by time, such as storage limit. - // * One and only one of the granted containers: - // * "/{organization}" quota for an organization. - // * "/{project}" quota for a project. - // * "/{folder}" quota for a folder. - // * "/{resource}" quota for a universal resource. - // * Zero or more quota segmentation dimension. Not all combos are valid. - // * "/{region}" quota for every region. Not to be used with time intervals. - // * Otherwise the resources granted on the target is not segmented. - // * "/{zone}" quota for every zone. Not to be used with time intervals. - // * Otherwise the resources granted on the target is not segmented. - // * "/{resource}" quota for a resource associated with a project or org. - // - // Here are some examples: - // * "1/min/{project}" for quota per minute per project. - // * "1/min/{user}" for quota per minute per user. - // * "1/min/{organization}" for quota per minute per organization. - // - // Note: the order of unit components is insignificant. - // The "1" at the beginning is required to follow the metric unit syntax. - // - // Used by metric-based quotas only. - string unit = 9; - - // Tiered limit values. Also allows for regional or zone overrides for these - // values if "/{region}" or "/{zone}" is specified in the unit field. - // - // Currently supported tiers from low to high: - // VERY_LOW, LOW, STANDARD, HIGH, VERY_HIGH - // - // To apply different limit values for users according to their tiers, specify - // the values for the tiers you want to differentiate. For example: - // {LOW:100, STANDARD:500, HIGH:1000, VERY_HIGH:5000} - // - // The limit value for each tier is optional except for the tier STANDARD. - // The limit value for an unspecified tier falls to the value of its next - // tier towards tier STANDARD. For the above example, the limit value for tier - // STANDARD is 500. - // - // To apply the same limit value for all users, just specify limit value for - // tier STANDARD. For example: {STANDARD:500}. - // - // To apply a regional overide for a tier, add a map entry with key - // "<TIER>/<region>", where <region> is a region name. Similarly, for a zone - // override, add a map entry with key "<TIER>/{zone}". - // Further, a wildcard can be used at the end of a zone name in order to - // specify zone level overrides. For example: - // LOW: 10, STANDARD: 50, HIGH: 100, - // LOW/us-central1: 20, STANDARD/us-central1: 60, HIGH/us-central1: 200, - // LOW/us-central1-*: 10, STANDARD/us-central1-*: 20, HIGH/us-central1-*: 80 - // - // The regional overrides tier set for each region must be the same as - // the tier set for default limit values. Same rule applies for zone overrides - // tier as well. - // - // Used by metric-based quotas only. - map<string, int64> values = 10; - - // User-visible display name for this limit. - // Optional. If not set, the UI will provide a default display name based on - // the quota configuration. This field can be used to override the default - // display name generated from the configuration. - string display_name = 12; -} diff --git a/contrib/libs/googleapis-common-protos/google/api/resource.proto b/contrib/libs/googleapis-common-protos/google/api/resource.proto deleted file mode 100644 index fd9ee66def..0000000000 --- a/contrib/libs/googleapis-common-protos/google/api/resource.proto +++ /dev/null @@ -1,299 +0,0 @@ -// Copyright 2020 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -syntax = "proto3"; - -package google.api; - -import "google/protobuf/descriptor.proto"; - -option cc_enable_arenas = true; -option go_package = "google.golang.org/genproto/googleapis/api/annotations;annotations"; -option java_multiple_files = true; -option java_outer_classname = "ResourceProto"; -option java_package = "com.google.api"; -option objc_class_prefix = "GAPI"; - -extend google.protobuf.FieldOptions { - // An annotation that describes a resource reference, see - // [ResourceReference][]. - google.api.ResourceReference resource_reference = 1055; -} - -extend google.protobuf.FileOptions { - // An annotation that describes a resource definition without a corresponding - // message; see [ResourceDescriptor][]. - repeated google.api.ResourceDescriptor resource_definition = 1053; -} - -extend google.protobuf.MessageOptions { - // An annotation that describes a resource definition, see - // [ResourceDescriptor][]. - google.api.ResourceDescriptor resource = 1053; -} - -// A simple descriptor of a resource type. -// -// ResourceDescriptor annotates a resource message (either by means of a -// protobuf annotation or use in the service config), and associates the -// resource's schema, the resource type, and the pattern of the resource name. -// -// Example: -// -// message Topic { -// // Indicates this message defines a resource schema. -// // Declares the resource type in the format of {service}/{kind}. -// // For Kubernetes resources, the format is {api group}/{kind}. -// option (google.api.resource) = { -// type: "pubsub.googleapis.com/Topic" -// name_descriptor: { -// pattern: "projects/{project}/topics/{topic}" -// parent_type: "cloudresourcemanager.googleapis.com/Project" -// parent_name_extractor: "projects/{project}" -// } -// }; -// } -// -// The ResourceDescriptor Yaml config will look like: -// -// resources: -// - type: "pubsub.googleapis.com/Topic" -// name_descriptor: -// - pattern: "projects/{project}/topics/{topic}" -// parent_type: "cloudresourcemanager.googleapis.com/Project" -// parent_name_extractor: "projects/{project}" -// -// Sometimes, resources have multiple patterns, typically because they can -// live under multiple parents. -// -// Example: -// -// message LogEntry { -// option (google.api.resource) = { -// type: "logging.googleapis.com/LogEntry" -// name_descriptor: { -// pattern: "projects/{project}/logs/{log}" -// parent_type: "cloudresourcemanager.googleapis.com/Project" -// parent_name_extractor: "projects/{project}" -// } -// name_descriptor: { -// pattern: "folders/{folder}/logs/{log}" -// parent_type: "cloudresourcemanager.googleapis.com/Folder" -// parent_name_extractor: "folders/{folder}" -// } -// name_descriptor: { -// pattern: "organizations/{organization}/logs/{log}" -// parent_type: "cloudresourcemanager.googleapis.com/Organization" -// parent_name_extractor: "organizations/{organization}" -// } -// name_descriptor: { -// pattern: "billingAccounts/{billing_account}/logs/{log}" -// parent_type: "billing.googleapis.com/BillingAccount" -// parent_name_extractor: "billingAccounts/{billing_account}" -// } -// }; -// } -// -// The ResourceDescriptor Yaml config will look like: -// -// resources: -// - type: 'logging.googleapis.com/LogEntry' -// name_descriptor: -// - pattern: "projects/{project}/logs/{log}" -// parent_type: "cloudresourcemanager.googleapis.com/Project" -// parent_name_extractor: "projects/{project}" -// - pattern: "folders/{folder}/logs/{log}" -// parent_type: "cloudresourcemanager.googleapis.com/Folder" -// parent_name_extractor: "folders/{folder}" -// - pattern: "organizations/{organization}/logs/{log}" -// parent_type: "cloudresourcemanager.googleapis.com/Organization" -// parent_name_extractor: "organizations/{organization}" -// - pattern: "billingAccounts/{billing_account}/logs/{log}" -// parent_type: "billing.googleapis.com/BillingAccount" -// parent_name_extractor: "billingAccounts/{billing_account}" -// -// For flexible resources, the resource name doesn't contain parent names, but -// the resource itself has parents for policy evaluation. -// -// Example: -// -// message Shelf { -// option (google.api.resource) = { -// type: "library.googleapis.com/Shelf" -// name_descriptor: { -// pattern: "shelves/{shelf}" -// parent_type: "cloudresourcemanager.googleapis.com/Project" -// } -// name_descriptor: { -// pattern: "shelves/{shelf}" -// parent_type: "cloudresourcemanager.googleapis.com/Folder" -// } -// }; -// } -// -// The ResourceDescriptor Yaml config will look like: -// -// resources: -// - type: 'library.googleapis.com/Shelf' -// name_descriptor: -// - pattern: "shelves/{shelf}" -// parent_type: "cloudresourcemanager.googleapis.com/Project" -// - pattern: "shelves/{shelf}" -// parent_type: "cloudresourcemanager.googleapis.com/Folder" -message ResourceDescriptor { - // A description of the historical or future-looking state of the - // resource pattern. - enum History { - // The "unset" value. - HISTORY_UNSPECIFIED = 0; - - // The resource originally had one pattern and launched as such, and - // additional patterns were added later. - ORIGINALLY_SINGLE_PATTERN = 1; - - // The resource has one pattern, but the API owner expects to add more - // later. (This is the inverse of ORIGINALLY_SINGLE_PATTERN, and prevents - // that from being necessary once there are multiple patterns.) - FUTURE_MULTI_PATTERN = 2; - } - - // A flag representing a specific style that a resource claims to conform to. - enum Style { - // The unspecified value. Do not use. - STYLE_UNSPECIFIED = 0; - - // This resource is intended to be "declarative-friendly". - // - // Declarative-friendly resources must be more strictly consistent, and - // setting this to true communicates to tools that this resource should - // adhere to declarative-friendly expectations. - // - // Note: This is used by the API linter (linter.aip.dev) to enable - // additional checks. - DECLARATIVE_FRIENDLY = 1; - } - - // The resource type. It must be in the format of - // {service_name}/{resource_type_kind}. The `resource_type_kind` must be - // singular and must not include version numbers. - // - // Example: `storage.googleapis.com/Bucket` - // - // The value of the resource_type_kind must follow the regular expression - // /[A-Za-z][a-zA-Z0-9]+/. It should start with an upper case character and - // should use PascalCase (UpperCamelCase). The maximum number of - // characters allowed for the `resource_type_kind` is 100. - string type = 1; - - // Optional. The relative resource name pattern associated with this resource - // type. The DNS prefix of the full resource name shouldn't be specified here. - // - // The path pattern must follow the syntax, which aligns with HTTP binding - // syntax: - // - // Template = Segment { "/" Segment } ; - // Segment = LITERAL | Variable ; - // Variable = "{" LITERAL "}" ; - // - // Examples: - // - // - "projects/{project}/topics/{topic}" - // - "projects/{project}/knowledgeBases/{knowledge_base}" - // - // The components in braces correspond to the IDs for each resource in the - // hierarchy. It is expected that, if multiple patterns are provided, - // the same component name (e.g. "project") refers to IDs of the same - // type of resource. - repeated string pattern = 2; - - // Optional. The field on the resource that designates the resource name - // field. If omitted, this is assumed to be "name". - string name_field = 3; - - // Optional. The historical or future-looking state of the resource pattern. - // - // Example: - // - // // The InspectTemplate message originally only supported resource - // // names with organization, and project was added later. - // message InspectTemplate { - // option (google.api.resource) = { - // type: "dlp.googleapis.com/InspectTemplate" - // pattern: - // "organizations/{organization}/inspectTemplates/{inspect_template}" - // pattern: "projects/{project}/inspectTemplates/{inspect_template}" - // history: ORIGINALLY_SINGLE_PATTERN - // }; - // } - History history = 4; - - // The plural name used in the resource name and permission names, such as - // 'projects' for the resource name of 'projects/{project}' and the permission - // name of 'cloudresourcemanager.googleapis.com/projects.get'. It is the same - // concept of the `plural` field in k8s CRD spec - // https://kubernetes.io/docs/tasks/access-kubernetes-api/custom-resources/custom-resource-definitions/ - // - // Note: The plural form is required even for singleton resources. See - // https://aip.dev/156 - string plural = 5; - - // The same concept of the `singular` field in k8s CRD spec - // https://kubernetes.io/docs/tasks/access-kubernetes-api/custom-resources/custom-resource-definitions/ - // Such as "project" for the `resourcemanager.googleapis.com/Project` type. - string singular = 6; - - // Style flag(s) for this resource. - // These indicate that a resource is expected to conform to a given - // style. See the specific style flags for additional information. - repeated Style style = 10; -} - -// Defines a proto annotation that describes a string field that refers to -// an API resource. -message ResourceReference { - // The resource type that the annotated field references. - // - // Example: - // - // message Subscription { - // string topic = 2 [(google.api.resource_reference) = { - // type: "pubsub.googleapis.com/Topic" - // }]; - // } - // - // Occasionally, a field may reference an arbitrary resource. In this case, - // APIs use the special value * in their resource reference. - // - // Example: - // - // message GetIamPolicyRequest { - // string resource = 2 [(google.api.resource_reference) = { - // type: "*" - // }]; - // } - string type = 1; - - // The resource type of a child collection that the annotated field - // references. This is useful for annotating the `parent` field that - // doesn't have a fixed resource type. - // - // Example: - // - // message ListLogEntriesRequest { - // string parent = 1 [(google.api.resource_reference) = { - // child_type: "logging.googleapis.com/LogEntry" - // }; - // } - string child_type = 2; -} diff --git a/contrib/libs/googleapis-common-protos/google/api/routing.proto b/contrib/libs/googleapis-common-protos/google/api/routing.proto deleted file mode 100644 index 0138283890..0000000000 --- a/contrib/libs/googleapis-common-protos/google/api/routing.proto +++ /dev/null @@ -1,461 +0,0 @@ -// Copyright 2021 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -syntax = "proto3"; - -package google.api; - -import "google/protobuf/descriptor.proto"; - -option go_package = "google.golang.org/genproto/googleapis/api/annotations;annotations"; -option java_multiple_files = true; -option java_outer_classname = "RoutingProto"; -option java_package = "com.google.api"; -option objc_class_prefix = "GAPI"; - -extend google.protobuf.MethodOptions { - // See RoutingRule. - google.api.RoutingRule routing = 72295729; -} - -// Specifies the routing information that should be sent along with the request -// in the form of routing header. -// **NOTE:** All service configuration rules follow the "last one wins" order. -// -// The examples below will apply to an RPC which has the following request type: -// -// Message Definition: -// -// message Request { -// // The name of the Table -// // Values can be of the following formats: -// // - `projects/<project>/tables/<table>` -// // - `projects/<project>/instances/<instance>/tables/<table>` -// // - `region/<region>/zones/<zone>/tables/<table>` -// string table_name = 1; -// -// // This value specifies routing for replication. -// // It can be in the following formats: -// // - `profiles/<profile_id>` -// // - a legacy `profile_id` that can be any string -// string app_profile_id = 2; -// } -// -// Example message: -// -// { -// table_name: projects/proj_foo/instances/instance_bar/table/table_baz, -// app_profile_id: profiles/prof_qux -// } -// -// The routing header consists of one or multiple key-value pairs. Every key -// and value must be percent-encoded, and joined together in the format of -// `key1=value1&key2=value2`. -// In the examples below I am skipping the percent-encoding for readablity. -// -// Example 1 -// -// Extracting a field from the request to put into the routing header -// unchanged, with the key equal to the field name. -// -// annotation: -// -// option (google.api.routing) = { -// // Take the `app_profile_id`. -// routing_parameters { -// field: "app_profile_id" -// } -// }; -// -// result: -// -// x-goog-request-params: app_profile_id=profiles/prof_qux -// -// Example 2 -// -// Extracting a field from the request to put into the routing header -// unchanged, with the key different from the field name. -// -// annotation: -// -// option (google.api.routing) = { -// // Take the `app_profile_id`, but name it `routing_id` in the header. -// routing_parameters { -// field: "app_profile_id" -// path_template: "{routing_id=**}" -// } -// }; -// -// result: -// -// x-goog-request-params: routing_id=profiles/prof_qux -// -// Example 3 -// -// Extracting a field from the request to put into the routing -// header, while matching a path template syntax on the field's value. -// -// NB: it is more useful to send nothing than to send garbage for the purpose -// of dynamic routing, since garbage pollutes cache. Thus the matching. -// -// Sub-example 3a -// -// The field matches the template. -// -// annotation: -// -// option (google.api.routing) = { -// // Take the `table_name`, if it's well-formed (with project-based -// // syntax). -// routing_parameters { -// field: "table_name" -// path_template: "{table_name=projects/*/instances/*/**}" -// } -// }; -// -// result: -// -// x-goog-request-params: -// table_name=projects/proj_foo/instances/instance_bar/table/table_baz -// -// Sub-example 3b -// -// The field does not match the template. -// -// annotation: -// -// option (google.api.routing) = { -// // Take the `table_name`, if it's well-formed (with region-based -// // syntax). -// routing_parameters { -// field: "table_name" -// path_template: "{table_name=regions/*/zones/*/**}" -// } -// }; -// -// result: -// -// <no routing header will be sent> -// -// Sub-example 3c -// -// Multiple alternative conflictingly named path templates are -// specified. The one that matches is used to construct the header. -// -// annotation: -// -// option (google.api.routing) = { -// // Take the `table_name`, if it's well-formed, whether -// // using the region- or projects-based syntax. -// -// routing_parameters { -// field: "table_name" -// path_template: "{table_name=regions/*/zones/*/**}" -// } -// routing_parameters { -// field: "table_name" -// path_template: "{table_name=projects/*/instances/*/**}" -// } -// }; -// -// result: -// -// x-goog-request-params: -// table_name=projects/proj_foo/instances/instance_bar/table/table_baz -// -// Example 4 -// -// Extracting a single routing header key-value pair by matching a -// template syntax on (a part of) a single request field. -// -// annotation: -// -// option (google.api.routing) = { -// // Take just the project id from the `table_name` field. -// routing_parameters { -// field: "table_name" -// path_template: "{routing_id=projects/*}/**" -// } -// }; -// -// result: -// -// x-goog-request-params: routing_id=projects/proj_foo -// -// Example 5 -// -// Extracting a single routing header key-value pair by matching -// several conflictingly named path templates on (parts of) a single request -// field. The last template to match "wins" the conflict. -// -// annotation: -// -// option (google.api.routing) = { -// // If the `table_name` does not have instances information, -// // take just the project id for routing. -// // Otherwise take project + instance. -// -// routing_parameters { -// field: "table_name" -// path_template: "{routing_id=projects/*}/**" -// } -// routing_parameters { -// field: "table_name" -// path_template: "{routing_id=projects/*/instances/*}/**" -// } -// }; -// -// result: -// -// x-goog-request-params: -// routing_id=projects/proj_foo/instances/instance_bar -// -// Example 6 -// -// Extracting multiple routing header key-value pairs by matching -// several non-conflicting path templates on (parts of) a single request field. -// -// Sub-example 6a -// -// Make the templates strict, so that if the `table_name` does not -// have an instance information, nothing is sent. -// -// annotation: -// -// option (google.api.routing) = { -// // The routing code needs two keys instead of one composite -// // but works only for the tables with the "project-instance" name -// // syntax. -// -// routing_parameters { -// field: "table_name" -// path_template: "{project_id=projects/*}/instances/*/**" -// } -// routing_parameters { -// field: "table_name" -// path_template: "projects/*/{instance_id=instances/*}/**" -// } -// }; -// -// result: -// -// x-goog-request-params: -// project_id=projects/proj_foo&instance_id=instances/instance_bar -// -// Sub-example 6b -// -// Make the templates loose, so that if the `table_name` does not -// have an instance information, just the project id part is sent. -// -// annotation: -// -// option (google.api.routing) = { -// // The routing code wants two keys instead of one composite -// // but will work with just the `project_id` for tables without -// // an instance in the `table_name`. -// -// routing_parameters { -// field: "table_name" -// path_template: "{project_id=projects/*}/**" -// } -// routing_parameters { -// field: "table_name" -// path_template: "projects/*/{instance_id=instances/*}/**" -// } -// }; -// -// result (is the same as 6a for our example message because it has the instance -// information): -// -// x-goog-request-params: -// project_id=projects/proj_foo&instance_id=instances/instance_bar -// -// Example 7 -// -// Extracting multiple routing header key-value pairs by matching -// several path templates on multiple request fields. -// -// NB: note that here there is no way to specify sending nothing if one of the -// fields does not match its template. E.g. if the `table_name` is in the wrong -// format, the `project_id` will not be sent, but the `routing_id` will be. -// The backend routing code has to be aware of that and be prepared to not -// receive a full complement of keys if it expects multiple. -// -// annotation: -// -// option (google.api.routing) = { -// // The routing needs both `project_id` and `routing_id` -// // (from the `app_profile_id` field) for routing. -// -// routing_parameters { -// field: "table_name" -// path_template: "{project_id=projects/*}/**" -// } -// routing_parameters { -// field: "app_profile_id" -// path_template: "{routing_id=**}" -// } -// }; -// -// result: -// -// x-goog-request-params: -// project_id=projects/proj_foo&routing_id=profiles/prof_qux -// -// Example 8 -// -// Extracting a single routing header key-value pair by matching -// several conflictingly named path templates on several request fields. The -// last template to match "wins" the conflict. -// -// annotation: -// -// option (google.api.routing) = { -// // The `routing_id` can be a project id or a region id depending on -// // the table name format, but only if the `app_profile_id` is not set. -// // If `app_profile_id` is set it should be used instead. -// -// routing_parameters { -// field: "table_name" -// path_template: "{routing_id=projects/*}/**" -// } -// routing_parameters { -// field: "table_name" -// path_template: "{routing_id=regions/*}/**" -// } -// routing_parameters { -// field: "app_profile_id" -// path_template: "{routing_id=**}" -// } -// }; -// -// result: -// -// x-goog-request-params: routing_id=profiles/prof_qux -// -// Example 9 -// -// Bringing it all together. -// -// annotation: -// -// option (google.api.routing) = { -// // For routing both `table_location` and a `routing_id` are needed. -// // -// // table_location can be either an instance id or a region+zone id. -// // -// // For `routing_id`, take the value of `app_profile_id` -// // - If it's in the format `profiles/<profile_id>`, send -// // just the `<profile_id>` part. -// // - If it's any other literal, send it as is. -// // If the `app_profile_id` is empty, and the `table_name` starts with -// // the project_id, send that instead. -// -// routing_parameters { -// field: "table_name" -// path_template: "projects/*/{table_location=instances/*}/tables/*" -// } -// routing_parameters { -// field: "table_name" -// path_template: "{table_location=regions/*/zones/*}/tables/*" -// } -// routing_parameters { -// field: "table_name" -// path_template: "{routing_id=projects/*}/**" -// } -// routing_parameters { -// field: "app_profile_id" -// path_template: "{routing_id=**}" -// } -// routing_parameters { -// field: "app_profile_id" -// path_template: "profiles/{routing_id=*}" -// } -// }; -// -// result: -// -// x-goog-request-params: -// table_location=instances/instance_bar&routing_id=prof_qux -message RoutingRule { - // A collection of Routing Parameter specifications. - // **NOTE:** If multiple Routing Parameters describe the same key - // (via the `path_template` field or via the `field` field when - // `path_template` is not provided), "last one wins" rule - // determines which Parameter gets used. - // See the examples for more details. - repeated RoutingParameter routing_parameters = 2; -} - -// A projection from an input message to the GRPC or REST header. -message RoutingParameter { - // A request field to extract the header key-value pair from. - string field = 1; - - // A pattern matching the key-value field. Optional. - // If not specified, the whole field specified in the `field` field will be - // taken as value, and its name used as key. If specified, it MUST contain - // exactly one named segment (along with any number of unnamed segments) The - // pattern will be matched over the field specified in the `field` field, then - // if the match is successful: - // - the name of the single named segment will be used as a header name, - // - the match value of the segment will be used as a header value; - // if the match is NOT successful, nothing will be sent. - // - // Example: - // - // -- This is a field in the request message - // | that the header value will be extracted from. - // | - // | -- This is the key name in the - // | | routing header. - // V | - // field: "table_name" v - // path_template: "projects/*/{table_location=instances/*}/tables/*" - // ^ ^ - // | | - // In the {} brackets is the pattern that -- | - // specifies what to extract from the | - // field as a value to be sent. | - // | - // The string in the field must match the whole pattern -- - // before brackets, inside brackets, after brackets. - // - // When looking at this specific example, we can see that: - // - A key-value pair with the key `table_location` - // and the value matching `instances/*` should be added - // to the x-goog-request-params routing header. - // - The value is extracted from the request message's `table_name` field - // if it matches the full pattern specified: - // `projects/*/instances/*/tables/*`. - // - // **NB:** If the `path_template` field is not provided, the key name is - // equal to the field name, and the whole field should be sent as a value. - // This makes the pattern for the field and the value functionally equivalent - // to `**`, and the configuration - // - // { - // field: "table_name" - // } - // - // is a functionally equivalent shorthand to: - // - // { - // field: "table_name" - // path_template: "{table_name=**}" - // } - // - // See Example 1 for more details. - string path_template = 2; -} diff --git a/contrib/libs/googleapis-common-protos/google/api/service.proto b/contrib/libs/googleapis-common-protos/google/api/service.proto deleted file mode 100644 index 951c7ac050..0000000000 --- a/contrib/libs/googleapis-common-protos/google/api/service.proto +++ /dev/null @@ -1,175 +0,0 @@ -// Copyright 2017 Google Inc. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -syntax = "proto3"; - -package google.api; - -import "google/api/annotations.proto"; -import "google/api/auth.proto"; -import "google/api/backend.proto"; -import "google/api/billing.proto"; -import "google/api/context.proto"; -import "google/api/control.proto"; -import "google/api/documentation.proto"; -import "google/api/endpoint.proto"; -import "google/api/http.proto"; -import "google/api/log.proto"; -import "google/api/logging.proto"; -import "google/api/metric.proto"; -import "google/api/monitored_resource.proto"; -import "google/api/monitoring.proto"; -import "google/api/quota.proto"; -import "google/api/source_info.proto"; -import "google/api/system_parameter.proto"; -import "google/api/usage.proto"; -import "google/protobuf/api.proto"; -import "google/protobuf/type.proto"; -import "google/protobuf/wrappers.proto"; - -option go_package = "google.golang.org/genproto/googleapis/api/serviceconfig;serviceconfig"; -option java_multiple_files = true; -option java_outer_classname = "ServiceProto"; -option java_package = "com.google.api"; -option objc_class_prefix = "GAPI"; - - -// `Service` is the root object of Google service configuration schema. It -// describes basic information about a service, such as the name and the -// title, and delegates other aspects to sub-sections. Each sub-section is -// either a proto message or a repeated proto message that configures a -// specific aspect, such as auth. See each proto message definition for details. -// -// Example: -// -// type: google.api.Service -// config_version: 3 -// name: calendar.googleapis.com -// title: Google Calendar API -// apis: -// - name: google.calendar.v3.Calendar -// authentication: -// providers: -// - id: google_calendar_auth -// jwks_uri: https://www.googleapis.com/oauth2/v1/certs -// issuer: https://securetoken.google.com -// rules: -// - selector: "*" -// requirements: -// provider_id: google_calendar_auth -message Service { - // The semantic version of the service configuration. The config version - // affects the interpretation of the service configuration. For example, - // certain features are enabled by default for certain config versions. - // The latest config version is `3`. - google.protobuf.UInt32Value config_version = 20; - - // The DNS address at which this service is available, - // e.g. `calendar.googleapis.com`. - string name = 1; - - // A unique ID for a specific instance of this message, typically assigned - // by the client for tracking purpose. If empty, the server may choose to - // generate one instead. - string id = 33; - - // The product title for this service. - string title = 2; - - // The Google project that owns this service. - string producer_project_id = 22; - - // A list of API interfaces exported by this service. Only the `name` field - // of the [google.protobuf.Api][google.protobuf.Api] needs to be provided by the configuration - // author, as the remaining fields will be derived from the IDL during the - // normalization process. It is an error to specify an API interface here - // which cannot be resolved against the associated IDL files. - repeated google.protobuf.Api apis = 3; - - // A list of all proto message types included in this API service. - // Types referenced directly or indirectly by the `apis` are - // automatically included. Messages which are not referenced but - // shall be included, such as types used by the `google.protobuf.Any` type, - // should be listed here by name. Example: - // - // types: - // - name: google.protobuf.Int32 - repeated google.protobuf.Type types = 4; - - // A list of all enum types included in this API service. Enums - // referenced directly or indirectly by the `apis` are automatically - // included. Enums which are not referenced but shall be included - // should be listed here by name. Example: - // - // enums: - // - name: google.someapi.v1.SomeEnum - repeated google.protobuf.Enum enums = 5; - - // Additional API documentation. - Documentation documentation = 6; - - // API backend configuration. - Backend backend = 8; - - // HTTP configuration. - Http http = 9; - - // Quota configuration. - Quota quota = 10; - - // Auth configuration. - Authentication authentication = 11; - - // Context configuration. - Context context = 12; - - // Configuration controlling usage of this service. - Usage usage = 15; - - // Configuration for network endpoints. If this is empty, then an endpoint - // with the same name as the service is automatically generated to service all - // defined APIs. - repeated Endpoint endpoints = 18; - - // Configuration for the service control plane. - Control control = 21; - - // Defines the logs used by this service. - repeated LogDescriptor logs = 23; - - // Defines the metrics used by this service. - repeated MetricDescriptor metrics = 24; - - // Defines the monitored resources used by this service. This is required - // by the [Service.monitoring][google.api.Service.monitoring] and [Service.logging][google.api.Service.logging] configurations. - repeated MonitoredResourceDescriptor monitored_resources = 25; - - // Billing configuration. - Billing billing = 26; - - // Logging configuration. - Logging logging = 27; - - // Monitoring configuration. - Monitoring monitoring = 28; - - // System parameter configuration. - SystemParameters system_parameters = 29; - - // Output only. The source information for this configuration if available. - SourceInfo source_info = 37; - - // Experimental configuration. - reserved 101; -} diff --git a/contrib/libs/googleapis-common-protos/google/api/source_info.proto b/contrib/libs/googleapis-common-protos/google/api/source_info.proto deleted file mode 100644 index 58777856fb..0000000000 --- a/contrib/libs/googleapis-common-protos/google/api/source_info.proto +++ /dev/null @@ -1,32 +0,0 @@ -// Copyright 2018 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -syntax = "proto3"; - -package google.api; - -import "google/protobuf/any.proto"; - -option go_package = "google.golang.org/genproto/googleapis/api/serviceconfig;serviceconfig"; -option java_multiple_files = true; -option java_outer_classname = "SourceInfoProto"; -option java_package = "com.google.api"; -option objc_class_prefix = "GAPI"; - - -// Source information used to create a Service Config -message SourceInfo { - // All files used during config generation. - repeated google.protobuf.Any source_files = 1; -} diff --git a/contrib/libs/googleapis-common-protos/google/api/system_parameter.proto b/contrib/libs/googleapis-common-protos/google/api/system_parameter.proto deleted file mode 100644 index a55212f044..0000000000 --- a/contrib/libs/googleapis-common-protos/google/api/system_parameter.proto +++ /dev/null @@ -1,96 +0,0 @@ -// Copyright 2018 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -syntax = "proto3"; - -package google.api; - -option go_package = "google.golang.org/genproto/googleapis/api/serviceconfig;serviceconfig"; -option java_multiple_files = true; -option java_outer_classname = "SystemParameterProto"; -option java_package = "com.google.api"; -option objc_class_prefix = "GAPI"; - - -// ### System parameter configuration -// -// A system parameter is a special kind of parameter defined by the API -// system, not by an individual API. It is typically mapped to an HTTP header -// and/or a URL query parameter. This configuration specifies which methods -// change the names of the system parameters. -message SystemParameters { - // Define system parameters. - // - // The parameters defined here will override the default parameters - // implemented by the system. If this field is missing from the service - // config, default system parameters will be used. Default system parameters - // and names is implementation-dependent. - // - // Example: define api key for all methods - // - // system_parameters - // rules: - // - selector: "*" - // parameters: - // - name: api_key - // url_query_parameter: api_key - // - // - // Example: define 2 api key names for a specific method. - // - // system_parameters - // rules: - // - selector: "/ListShelves" - // parameters: - // - name: api_key - // http_header: Api-Key1 - // - name: api_key - // http_header: Api-Key2 - // - // **NOTE:** All service configuration rules follow "last one wins" order. - repeated SystemParameterRule rules = 1; -} - -// Define a system parameter rule mapping system parameter definitions to -// methods. -message SystemParameterRule { - // Selects the methods to which this rule applies. Use '*' to indicate all - // methods in all APIs. - // - // Refer to [selector][google.api.DocumentationRule.selector] for syntax details. - string selector = 1; - - // Define parameters. Multiple names may be defined for a parameter. - // For a given method call, only one of them should be used. If multiple - // names are used the behavior is implementation-dependent. - // If none of the specified names are present the behavior is - // parameter-dependent. - repeated SystemParameter parameters = 2; -} - -// Define a parameter's name and location. The parameter may be passed as either -// an HTTP header or a URL query parameter, and if both are passed the behavior -// is implementation-dependent. -message SystemParameter { - // Define the name of the parameter, such as "api_key" . It is case sensitive. - string name = 1; - - // Define the HTTP header name to use for the parameter. It is case - // insensitive. - string http_header = 2; - - // Define the URL query parameter name to use for the parameter. It is case - // sensitive. - string url_query_parameter = 3; -} diff --git a/contrib/libs/googleapis-common-protos/google/api/usage.proto b/contrib/libs/googleapis-common-protos/google/api/usage.proto deleted file mode 100644 index 63299b56d2..0000000000 --- a/contrib/libs/googleapis-common-protos/google/api/usage.proto +++ /dev/null @@ -1,92 +0,0 @@ -// Copyright 2018 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -syntax = "proto3"; - -package google.api; - -import "google/api/annotations.proto"; - -option go_package = "google.golang.org/genproto/googleapis/api/serviceconfig;serviceconfig"; -option java_multiple_files = true; -option java_outer_classname = "UsageProto"; -option java_package = "com.google.api"; -option objc_class_prefix = "GAPI"; - - -// Configuration controlling usage of a service. -message Usage { - // Requirements that must be satisfied before a consumer project can use the - // service. Each requirement is of the form <service.name>/<requirement-id>; - // for example 'serviceusage.googleapis.com/billing-enabled'. - repeated string requirements = 1; - - // A list of usage rules that apply to individual API methods. - // - // **NOTE:** All service configuration rules follow "last one wins" order. - repeated UsageRule rules = 6; - - // The full resource name of a channel used for sending notifications to the - // service producer. - // - // Google Service Management currently only supports - // [Google Cloud Pub/Sub](https://cloud.google.com/pubsub) as a notification - // channel. To use Google Cloud Pub/Sub as the channel, this must be the name - // of a Cloud Pub/Sub topic that uses the Cloud Pub/Sub topic name format - // documented in https://cloud.google.com/pubsub/docs/overview. - string producer_notification_channel = 7; -} - -// Usage configuration rules for the service. -// -// NOTE: Under development. -// -// -// Use this rule to configure unregistered calls for the service. Unregistered -// calls are calls that do not contain consumer project identity. -// (Example: calls that do not contain an API key). -// By default, API methods do not allow unregistered calls, and each method call -// must be identified by a consumer project identity. Use this rule to -// allow/disallow unregistered calls. -// -// Example of an API that wants to allow unregistered calls for entire service. -// -// usage: -// rules: -// - selector: "*" -// allow_unregistered_calls: true -// -// Example of a method that wants to allow unregistered calls. -// -// usage: -// rules: -// - selector: "google.example.library.v1.LibraryService.CreateBook" -// allow_unregistered_calls: true -message UsageRule { - // Selects the methods to which this rule applies. Use '*' to indicate all - // methods in all APIs. - // - // Refer to [selector][google.api.DocumentationRule.selector] for syntax details. - string selector = 1; - - // If true, the selected method allows unregistered calls, e.g. calls - // that don't identify any user or application. - bool allow_unregistered_calls = 2; - - // If true, the selected method should skip service control and the control - // plane features, such as quota and billing, will not be available. - // This flag is used by Google Cloud Endpoints to bypass checks for internal - // methods, such as service health check methods. - bool skip_service_control = 3; -} diff --git a/contrib/libs/googleapis-common-protos/google/cloud/extended_operations.proto b/contrib/libs/googleapis-common-protos/google/cloud/extended_operations.proto deleted file mode 100644 index 1477d2d69a..0000000000 --- a/contrib/libs/googleapis-common-protos/google/cloud/extended_operations.proto +++ /dev/null @@ -1,150 +0,0 @@ -// Copyright 2021 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -// This file contains custom annotations that are used by GAPIC generators to -// handle Long Running Operation methods (LRO) that are NOT compliant with -// https://google.aip.dev/151. These annotations are public for technical -// reasons only. Please DO NOT USE them in your protos. -syntax = "proto3"; - -package google.cloud; - -import "google/protobuf/descriptor.proto"; - -option go_package = "google.golang.org/genproto/googleapis/cloud/extendedops;extendedops"; -option java_multiple_files = true; -option java_outer_classname = "ExtendedOperationsProto"; -option java_package = "com.google.cloud"; -option objc_class_prefix = "GAPI"; - -// FieldOptions to match corresponding fields in the initial request, -// polling request and operation response messages. -// -// Example: -// -// In an API-specific operation message: -// -// message MyOperation { -// string http_error_message = 1 [(operation_field) = ERROR_MESSAGE]; -// int32 http_error_status_code = 2 [(operation_field) = ERROR_CODE]; -// string id = 3 [(operation_field) = NAME]; -// Status status = 4 [(operation_field) = STATUS]; -// } -// -// In a polling request message (the one which is used to poll for an LRO -// status): -// -// message MyPollingRequest { -// string operation = 1 [(operation_response_field) = "id"]; -// string project = 2; -// string region = 3; -// } -// -// In an initial request message (the one which starts an LRO): -// -// message MyInitialRequest { -// string my_project = 2 [(operation_request_field) = "project"]; -// string my_region = 3 [(operation_request_field) = "region"]; -// } -// -extend google.protobuf.FieldOptions { - // A field annotation that maps fields in an API-specific Operation object to - // their standard counterparts in google.longrunning.Operation. See - // OperationResponseMapping enum definition. - OperationResponseMapping operation_field = 1149; - - // A field annotation that maps fields in the initial request message - // (the one which started the LRO) to their counterparts in the polling - // request message. For non-standard LRO, the polling response may be missing - // some of the information needed to make a subsequent polling request. The - // missing information (for example, project or region ID) is contained in the - // fields of the initial request message that this annotation must be applied - // to. The string value of the annotation corresponds to the name of the - // counterpart field in the polling request message that the annotated field's - // value will be copied to. - string operation_request_field = 1150; - - // A field annotation that maps fields in the polling request message to their - // counterparts in the initial and/or polling response message. The initial - // and the polling methods return an API-specific Operation object. Some of - // the fields from that response object must be reused in the subsequent - // request (like operation name/ID) to fully identify the polled operation. - // This annotation must be applied to the fields in the polling request - // message, the string value of the annotation must correspond to the name of - // the counterpart field in the Operation response object whose value will be - // copied to the annotated field. - string operation_response_field = 1151; -} - -// MethodOptions to identify the actual service and method used for operation -// status polling. -// -// Example: -// -// In a method, which starts an LRO: -// -// service MyService { -// rpc Foo(MyInitialRequest) returns (MyOperation) { -// option (operation_service) = "MyPollingService"; -// } -// } -// -// In a polling method: -// -// service MyPollingService { -// rpc Get(MyPollingRequest) returns (MyOperation) { -// option (operation_polling_method) = true; -// } -// } -extend google.protobuf.MethodOptions { - // A method annotation that maps an LRO method (the one which starts an LRO) - // to the service, which will be used to poll for the operation status. The - // annotation must be applied to the method which starts an LRO, the string - // value of the annotation must correspond to the name of the service used to - // poll for the operation status. - string operation_service = 1249; - - // A method annotation that marks methods that can be used for polling - // operation status (e.g. the MyPollingService.Get(MyPollingRequest) method). - bool operation_polling_method = 1250; -} - -// An enum to be used to mark the essential (for polling) fields in an -// API-specific Operation object. A custom Operation object may contain many -// different fields, but only few of them are essential to conduct a successful -// polling process. -enum OperationResponseMapping { - // Do not use. - UNDEFINED = 0; - - // A field in an API-specific (custom) Operation object which carries the same - // meaning as google.longrunning.Operation.name. - NAME = 1; - - // A field in an API-specific (custom) Operation object which carries the same - // meaning as google.longrunning.Operation.done. If the annotated field is of - // an enum type, `annotated_field_name == EnumType.DONE` semantics should be - // equivalent to `Operation.done == true`. If the annotated field is of type - // boolean, then it should follow the same semantics as Operation.done. - // Otherwise, a non-empty value should be treated as `Operation.done == true`. - STATUS = 2; - - // A field in an API-specific (custom) Operation object which carries the same - // meaning as google.longrunning.Operation.error.code. - ERROR_CODE = 3; - - // A field in an API-specific (custom) Operation object which carries the same - // meaning as google.longrunning.Operation.error.message. - ERROR_MESSAGE = 4; -}
\ No newline at end of file diff --git a/contrib/libs/googleapis-common-protos/google/cloud/location/locations.proto b/contrib/libs/googleapis-common-protos/google/cloud/location/locations.proto deleted file mode 100644 index b210cc3230..0000000000 --- a/contrib/libs/googleapis-common-protos/google/cloud/location/locations.proto +++ /dev/null @@ -1,108 +0,0 @@ -// Copyright 2022 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -syntax = "proto3"; - -package google.cloud.location; - -import "google/api/annotations.proto"; -import "google/protobuf/any.proto"; -import "google/api/client.proto"; - -option cc_enable_arenas = true; -option go_package = "google.golang.org/genproto/googleapis/cloud/location;location"; -option java_multiple_files = true; -option java_outer_classname = "LocationsProto"; -option java_package = "com.google.cloud.location"; - -// An abstract interface that provides location-related information for -// a service. Service-specific metadata is provided through the -// [Location.metadata][google.cloud.location.Location.metadata] field. -service Locations { - option (google.api.default_host) = "cloud.googleapis.com"; - option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/cloud-platform"; - - // Lists information about the supported locations for this service. - rpc ListLocations(ListLocationsRequest) returns (ListLocationsResponse) { - option (google.api.http) = { - get: "/v1/{name=locations}" - additional_bindings { - get: "/v1/{name=projects/*}/locations" - } - }; - } - - // Gets information about a location. - rpc GetLocation(GetLocationRequest) returns (Location) { - option (google.api.http) = { - get: "/v1/{name=locations/*}" - additional_bindings { - get: "/v1/{name=projects/*/locations/*}" - } - }; - } -} - -// The request message for [Locations.ListLocations][google.cloud.location.Locations.ListLocations]. -message ListLocationsRequest { - // The resource that owns the locations collection, if applicable. - string name = 1; - - // The standard list filter. - string filter = 2; - - // The standard list page size. - int32 page_size = 3; - - // The standard list page token. - string page_token = 4; -} - -// The response message for [Locations.ListLocations][google.cloud.location.Locations.ListLocations]. -message ListLocationsResponse { - // A list of locations that matches the specified filter in the request. - repeated Location locations = 1; - - // The standard List next-page token. - string next_page_token = 2; -} - -// The request message for [Locations.GetLocation][google.cloud.location.Locations.GetLocation]. -message GetLocationRequest { - // Resource name for the location. - string name = 1; -} - -// A resource that represents Google Cloud Platform location. -message Location { - // Resource name for the location, which may vary between implementations. - // For example: `"projects/example-project/locations/us-east1"` - string name = 1; - - // The canonical id for this location. For example: `"us-east1"`. - string location_id = 4; - - // The friendly name for this location, typically a nearby city name. - // For example, "Tokyo". - string display_name = 5; - - // Cross-service attributes for the location. For example - // - // {"cloud.googleapis.com/region": "us-east1"} - map<string, string> labels = 2; - - // Service-specific metadata. For example the available capacity at the given - // location. - google.protobuf.Any metadata = 3; -} diff --git a/contrib/libs/googleapis-common-protos/google/gapic/metadata/gapic_metadata.proto b/contrib/libs/googleapis-common-protos/google/gapic/metadata/gapic_metadata.proto deleted file mode 100644 index 16090ede07..0000000000 --- a/contrib/libs/googleapis-common-protos/google/gapic/metadata/gapic_metadata.proto +++ /dev/null @@ -1,92 +0,0 @@ -// Copyright 2020 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.gapic.metadata; - -option csharp_namespace = "Google.Gapic.Metadata"; -option go_package = "google.golang.org/genproto/googleapis/gapic/metadata;metadata"; -option java_multiple_files = true; -option java_outer_classname = "GapicMetadataProto"; -option java_package = "com.google.gapic.metadata"; -option php_namespace = "Google\\Gapic\\Metadata"; -option ruby_package = "Google::Gapic::Metadata"; - -// Metadata about a GAPIC library for a specific combination of API, version, and -// computer language. -message GapicMetadata { - // Schema version of this proto. Current value: 1.0 - string schema = 1; - - // Any human-readable comments to be included in this file. - string comment = 2; - - // Computer language of this generated language. This must be - // spelled out as it spoken in English, with no capitalization or - // separators (e.g. "csharp", "nodejs"). - string language = 3; - - // The proto package containing the API definition for which this - // GAPIC library was generated. - string proto_package = 4; - - // The language-specific library package for this GAPIC library. - string library_package = 5; - - // A map from each proto-defined service to ServiceForTransports, - // which allows listing information about transport-specific - // implementations of the service. - // - // The key is the name of the service as it appears in the .proto - // file. - map<string, ServiceForTransport> services = 6; - - // A map from a transport name to ServiceAsClient, which allows - // listing information about the client objects that implement the - // parent RPC service for the specified transport. - // - // The key name is the transport, lower-cased with no separators - // (e.g. "grpc", "rest"). - message ServiceForTransport { - map<string, ServiceAsClient> clients = 1; - } - - // Information about a specific client implementing a proto-defined service. - message ServiceAsClient { - // The name of the library client formatted as it appears in the source code - string library_client = 1; - - // A mapping from each proto-defined RPC name to the the list of - // methods in library_client that implement it. There can be more - // than one library_client method for each RPC. RPCs with no - // library_client methods need not be included. - // - // The key name is the name of the RPC as defined and formated in - // the proto file. - map<string, MethodList> rpcs = 2; - } - - // List of GAPIC client methods implementing the proto-defined RPC - // for the transport and service specified in the containing - // structures. - message MethodList { - // List of methods for a specific proto-service client in the - // GAPIC. These names should be formatted as they appear in the - // source code. - repeated string methods = 1; - } - -} diff --git a/contrib/libs/googleapis-common-protos/google/logging/type/README.md b/contrib/libs/googleapis-common-protos/google/logging/type/README.md deleted file mode 100644 index 2d51dc0417..0000000000 --- a/contrib/libs/googleapis-common-protos/google/logging/type/README.md +++ /dev/null @@ -1,12 +0,0 @@ -## Logging types - -This package contains shared [protocol buffer][protobuf] types that are populated -by the Stackdriver Logging API and consumed by other APIs. - -### Key Concepts - -- **HttpRequest**: Contains the complete set of information about a particular - HTTP request, such as HTTP method, request URL, status code, and other things. -- **LogSeverity**: The severity of a log entry (e.g. `DEBUG`, `INFO`, `WARNING`). - -[protobuf]: https://developers.google.com/protocol-buffers/ diff --git a/contrib/libs/googleapis-common-protos/google/logging/type/http_request.proto b/contrib/libs/googleapis-common-protos/google/logging/type/http_request.proto deleted file mode 100644 index 8b9301f117..0000000000 --- a/contrib/libs/googleapis-common-protos/google/logging/type/http_request.proto +++ /dev/null @@ -1,92 +0,0 @@ -// Copyright 2017 Google Inc. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -syntax = "proto3"; - -package google.logging.type; - -import "google/api/annotations.proto"; -import "google/protobuf/duration.proto"; - -option csharp_namespace = "Google.Cloud.Logging.Type"; -option go_package = "google.golang.org/genproto/googleapis/logging/type;ltype"; -option java_multiple_files = true; -option java_outer_classname = "HttpRequestProto"; -option java_package = "com.google.logging.type"; -option php_namespace = "Google\\Cloud\\Logging\\Type"; - - -// A common proto for logging HTTP requests. Only contains semantics -// defined by the HTTP specification. Product-specific logging -// information MUST be defined in a separate message. -message HttpRequest { - // The request method. Examples: `"GET"`, `"HEAD"`, `"PUT"`, `"POST"`. - string request_method = 1; - - // The scheme (http, https), the host name, the path and the query - // portion of the URL that was requested. - // Example: `"http://example.com/some/info?color=red"`. - string request_url = 2; - - // The size of the HTTP request message in bytes, including the request - // headers and the request body. - int64 request_size = 3; - - // The response code indicating the status of response. - // Examples: 200, 404. - int32 status = 4; - - // The size of the HTTP response message sent back to the client, in bytes, - // including the response headers and the response body. - int64 response_size = 5; - - // The user agent sent by the client. Example: - // `"Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; Q312461; .NET CLR 1.0.3705)"`. - string user_agent = 6; - - // The IP address (IPv4 or IPv6) of the client that issued the HTTP - // request. Examples: `"192.168.1.1"`, `"FE80::0202:B3FF:FE1E:8329"`. - string remote_ip = 7; - - // The IP address (IPv4 or IPv6) of the origin server that the request was - // sent to. - string server_ip = 13; - - // The referer URL of the request, as defined in - // [HTTP/1.1 Header Field Definitions](http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html). - string referer = 8; - - // The request processing latency on the server, from the time the request was - // received until the response was sent. - google.protobuf.Duration latency = 14; - - // Whether or not a cache lookup was attempted. - bool cache_lookup = 11; - - // Whether or not an entity was served from cache - // (with or without validation). - bool cache_hit = 9; - - // Whether or not the response was validated with the origin server before - // being served from cache. This field is only meaningful if `cache_hit` is - // True. - bool cache_validated_with_origin_server = 10; - - // The number of HTTP response bytes inserted into cache. Set only when a - // cache fill was attempted. - int64 cache_fill_bytes = 12; - - // Protocol used for the request. Examples: "HTTP/1.1", "HTTP/2", "websocket" - string protocol = 15; -} diff --git a/contrib/libs/googleapis-common-protos/google/logging/type/log_severity.proto b/contrib/libs/googleapis-common-protos/google/logging/type/log_severity.proto deleted file mode 100644 index 41351c6765..0000000000 --- a/contrib/libs/googleapis-common-protos/google/logging/type/log_severity.proto +++ /dev/null @@ -1,72 +0,0 @@ -// Copyright 2017 Google Inc. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -syntax = "proto3"; - -package google.logging.type; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Cloud.Logging.Type"; -option go_package = "google.golang.org/genproto/googleapis/logging/type;ltype"; -option java_multiple_files = true; -option java_outer_classname = "LogSeverityProto"; -option java_package = "com.google.logging.type"; -option php_namespace = "Google\\Cloud\\Logging\\Type"; - - -// The severity of the event described in a log entry, expressed as one of the -// standard severity levels listed below. For your reference, the levels are -// assigned the listed numeric values. The effect of using numeric values other -// than those listed is undefined. -// -// You can filter for log entries by severity. For example, the following -// filter expression will match log entries with severities `INFO`, `NOTICE`, -// and `WARNING`: -// -// severity > DEBUG AND severity <= WARNING -// -// If you are writing log entries, you should map other severity encodings to -// one of these standard levels. For example, you might map all of Java's FINE, -// FINER, and FINEST levels to `LogSeverity.DEBUG`. You can preserve the -// original severity level in the log entry payload if you wish. -enum LogSeverity { - // (0) The log entry has no assigned severity level. - DEFAULT = 0; - - // (100) Debug or trace information. - DEBUG = 100; - - // (200) Routine information, such as ongoing status or performance. - INFO = 200; - - // (300) Normal but significant events, such as start up, shut down, or - // a configuration change. - NOTICE = 300; - - // (400) Warning events might cause problems. - WARNING = 400; - - // (500) Error events are likely to cause problems. - ERROR = 500; - - // (600) Critical events cause more severe problems or outages. - CRITICAL = 600; - - // (700) A person must take an action immediately. - ALERT = 700; - - // (800) One or more systems are unusable. - EMERGENCY = 800; -} diff --git a/contrib/libs/googleapis-common-protos/google/longrunning/README.md b/contrib/libs/googleapis-common-protos/google/longrunning/README.md deleted file mode 100644 index 7eba891ea0..0000000000 --- a/contrib/libs/googleapis-common-protos/google/longrunning/README.md +++ /dev/null @@ -1,31 +0,0 @@ -## Long-running Operations API - -This package contains the definition of an abstract interface that -manages long running operations with API services. - -### Operation - -The primary message to understand within LRO is the `Operation` message. -Operations have a unique name (in the context of a particular endpoint). -Additionally, a service (called `Operations` -- plural) defines the interface -for querying the state of any given operation. - -APIs that implement a concept of long-running operations are encouraged -to follow this pattern: When a caller invokes an API backend to start a job... - - * The API backend starts asychronous work to fulfill the caller's - request, and generates a unique name (the `Operation` name) to refer - to the ongoing asychronous work. - * The API backend immediately returns the `Operation` back to the caller. - * The caller can invoke the API methods defined in the `Operations` service - to get the current status of the asychronous work, and also to - discover the final result (success or error). - -For Google APIs, the implementation of this pattern and the use of this -proto are part of our [design rules][operations-rules]. Additionally, our -[API client tooling][gapic-generator] seeks to be intelligent about these, to -improve the client API consumption experience. Therefore, APIs outside of -Google can also benefit by following this same pattern. - - [operations-rules]: https://cloud.google.com/apis/design/design_patterns#long_running_operations - [gapic-generator]: https://github.com/googleapis/gapic-generator diff --git a/contrib/libs/googleapis-common-protos/google/longrunning/operations.proto b/contrib/libs/googleapis-common-protos/google/longrunning/operations.proto deleted file mode 100644 index 299eefb2e5..0000000000 --- a/contrib/libs/googleapis-common-protos/google/longrunning/operations.proto +++ /dev/null @@ -1,247 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -syntax = "proto3"; - -package google.longrunning; - -import "google/api/annotations.proto"; -import "google/api/client.proto"; -import "google/protobuf/any.proto"; -import "google/protobuf/duration.proto"; -import "google/protobuf/empty.proto"; -import "google/rpc/status.proto"; -import "google/protobuf/descriptor.proto"; - -option cc_enable_arenas = true; -option csharp_namespace = "Google.LongRunning"; -option go_package = "google.golang.org/genproto/googleapis/longrunning;longrunning"; -option java_multiple_files = true; -option java_outer_classname = "OperationsProto"; -option java_package = "com.google.longrunning"; -option php_namespace = "Google\\LongRunning"; - -extend google.protobuf.MethodOptions { - // Additional information regarding long-running operations. - // In particular, this specifies the types that are returned from - // long-running operations. - // - // Required for methods that return `google.longrunning.Operation`; invalid - // otherwise. - google.longrunning.OperationInfo operation_info = 1049; -} - -// Manages long-running operations with an API service. -// -// When an API method normally takes long time to complete, it can be designed -// to return [Operation][google.longrunning.Operation] to the client, and the client can use this -// interface to receive the real response asynchronously by polling the -// operation resource, or pass the operation resource to another API (such as -// Google Cloud Pub/Sub API) to receive the response. Any API service that -// returns long-running operations should implement the `Operations` interface -// so developers can have a consistent client experience. -service Operations { - option (google.api.default_host) = "longrunning.googleapis.com"; - - // Lists operations that match the specified filter in the request. If the - // server doesn't support this method, it returns `UNIMPLEMENTED`. - // - // NOTE: the `name` binding allows API services to override the binding - // to use different resource name schemes, such as `users/*/operations`. To - // override the binding, API services can add a binding such as - // `"/v1/{name=users/*}/operations"` to their service configuration. - // For backwards compatibility, the default name includes the operations - // collection id, however overriding users must ensure the name binding - // is the parent resource, without the operations collection id. - rpc ListOperations(ListOperationsRequest) returns (ListOperationsResponse) { - option (google.api.http) = { - get: "/v1/{name=operations}" - }; - option (google.api.method_signature) = "name,filter"; - } - - // Gets the latest state of a long-running operation. Clients can use this - // method to poll the operation result at intervals as recommended by the API - // service. - rpc GetOperation(GetOperationRequest) returns (Operation) { - option (google.api.http) = { - get: "/v1/{name=operations/**}" - }; - option (google.api.method_signature) = "name"; - } - - // Deletes a long-running operation. This method indicates that the client is - // no longer interested in the operation result. It does not cancel the - // operation. If the server doesn't support this method, it returns - // `google.rpc.Code.UNIMPLEMENTED`. - rpc DeleteOperation(DeleteOperationRequest) returns (google.protobuf.Empty) { - option (google.api.http) = { - delete: "/v1/{name=operations/**}" - }; - option (google.api.method_signature) = "name"; - } - - // Starts asynchronous cancellation on a long-running operation. The server - // makes a best effort to cancel the operation, but success is not - // guaranteed. If the server doesn't support this method, it returns - // `google.rpc.Code.UNIMPLEMENTED`. Clients can use - // [Operations.GetOperation][google.longrunning.Operations.GetOperation] or - // other methods to check whether the cancellation succeeded or whether the - // operation completed despite cancellation. On successful cancellation, - // the operation is not deleted; instead, it becomes an operation with - // an [Operation.error][google.longrunning.Operation.error] value with a [google.rpc.Status.code][google.rpc.Status.code] of 1, - // corresponding to `Code.CANCELLED`. - rpc CancelOperation(CancelOperationRequest) returns (google.protobuf.Empty) { - option (google.api.http) = { - post: "/v1/{name=operations/**}:cancel" - body: "*" - }; - option (google.api.method_signature) = "name"; - } - - // Waits for the specified long-running operation until it is done or reaches - // at most a specified timeout, returning the latest state. If the operation - // is already done, the latest state is immediately returned. If the timeout - // specified is greater than the default HTTP/RPC timeout, the HTTP/RPC - // timeout is used. If the server does not support this method, it returns - // `google.rpc.Code.UNIMPLEMENTED`. - // Note that this method is on a best-effort basis. It may return the latest - // state before the specified timeout (including immediately), meaning even an - // immediate response is no guarantee that the operation is done. - rpc WaitOperation(WaitOperationRequest) returns (Operation) { - } -} - -// This resource represents a long-running operation that is the result of a -// network API call. -message Operation { - // The server-assigned name, which is only unique within the same service that - // originally returns it. If you use the default HTTP mapping, the - // `name` should be a resource name ending with `operations/{unique_id}`. - string name = 1; - - // Service-specific metadata associated with the operation. It typically - // contains progress information and common metadata such as create time. - // Some services might not provide such metadata. Any method that returns a - // long-running operation should document the metadata type, if any. - google.protobuf.Any metadata = 2; - - // If the value is `false`, it means the operation is still in progress. - // If `true`, the operation is completed, and either `error` or `response` is - // available. - bool done = 3; - - // The operation result, which can be either an `error` or a valid `response`. - // If `done` == `false`, neither `error` nor `response` is set. - // If `done` == `true`, exactly one of `error` or `response` is set. - oneof result { - // The error result of the operation in case of failure or cancellation. - google.rpc.Status error = 4; - - // The normal response of the operation in case of success. If the original - // method returns no data on success, such as `Delete`, the response is - // `google.protobuf.Empty`. If the original method is standard - // `Get`/`Create`/`Update`, the response should be the resource. For other - // methods, the response should have the type `XxxResponse`, where `Xxx` - // is the original method name. For example, if the original method name - // is `TakeSnapshot()`, the inferred response type is - // `TakeSnapshotResponse`. - google.protobuf.Any response = 5; - } -} - -// The request message for [Operations.GetOperation][google.longrunning.Operations.GetOperation]. -message GetOperationRequest { - // The name of the operation resource. - string name = 1; -} - -// The request message for [Operations.ListOperations][google.longrunning.Operations.ListOperations]. -message ListOperationsRequest { - // The name of the operation's parent resource. - string name = 4; - - // The standard list filter. - string filter = 1; - - // The standard list page size. - int32 page_size = 2; - - // The standard list page token. - string page_token = 3; -} - -// The response message for [Operations.ListOperations][google.longrunning.Operations.ListOperations]. -message ListOperationsResponse { - // A list of operations that matches the specified filter in the request. - repeated Operation operations = 1; - - // The standard List next-page token. - string next_page_token = 2; -} - -// The request message for [Operations.CancelOperation][google.longrunning.Operations.CancelOperation]. -message CancelOperationRequest { - // The name of the operation resource to be cancelled. - string name = 1; -} - -// The request message for [Operations.DeleteOperation][google.longrunning.Operations.DeleteOperation]. -message DeleteOperationRequest { - // The name of the operation resource to be deleted. - string name = 1; -} - -// The request message for [Operations.WaitOperation][google.longrunning.Operations.WaitOperation]. -message WaitOperationRequest { - // The name of the operation resource to wait on. - string name = 1; - - // The maximum duration to wait before timing out. If left blank, the wait - // will be at most the time permitted by the underlying HTTP/RPC protocol. - // If RPC context deadline is also specified, the shorter one will be used. - google.protobuf.Duration timeout = 2; -} - -// A message representing the message types used by a long-running operation. -// -// Example: -// -// rpc LongRunningRecognize(LongRunningRecognizeRequest) -// returns (google.longrunning.Operation) { -// option (google.longrunning.operation_info) = { -// response_type: "LongRunningRecognizeResponse" -// metadata_type: "LongRunningRecognizeMetadata" -// }; -// } -message OperationInfo { - // Required. The message name of the primary return type for this - // long-running operation. - // This type will be used to deserialize the LRO's response. - // - // If the response is in a different package from the rpc, a fully-qualified - // message name must be used (e.g. `google.protobuf.Struct`). - // - // Note: Altering this value constitutes a breaking change. - string response_type = 1; - - // Required. The message name of the metadata type for this long-running - // operation. - // - // If the response is in a different package from the rpc, a fully-qualified - // message name must be used (e.g. `google.protobuf.Struct`). - // - // Note: Altering this value constitutes a breaking change. - string metadata_type = 2; -} diff --git a/contrib/libs/googleapis-common-protos/google/rpc/README.md b/contrib/libs/googleapis-common-protos/google/rpc/README.md deleted file mode 100644 index b47750076b..0000000000 --- a/contrib/libs/googleapis-common-protos/google/rpc/README.md +++ /dev/null @@ -1,18 +0,0 @@ -## RPC (Remote Procedure Call) Types - -This package contains [protocol buffer][protobuf] types that represent remote procedure -call concepts. While [gRPC](https://grpc.io) uses these types, we encourage their -use in any interested RPC implementation to promote compatibility and consistency. - -### Key Concepts - -- **Code**: An enum that represents an error code returned by an RPC. These error codes - map to HTTP codes, but are slightly finer-grained. Every gRPC code has exactly one - corresponding HTTP code; however, some HTTP codes have more than one corresponding - gRPC code. -- **Error details**: Any of the types contained in `error_details.proto` which provide - extra details about particular types of failures. -- **Status**: Combines a code, message, and error details to represent the success or - failure details of an RPC call. - -[protobuf]: https://developers.google.com/protocol-buffers/ diff --git a/contrib/libs/googleapis-common-protos/google/rpc/code.proto b/contrib/libs/googleapis-common-protos/google/rpc/code.proto deleted file mode 100644 index 98ae0ac18f..0000000000 --- a/contrib/libs/googleapis-common-protos/google/rpc/code.proto +++ /dev/null @@ -1,186 +0,0 @@ -// Copyright 2020 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -syntax = "proto3"; - -package google.rpc; - -option go_package = "google.golang.org/genproto/googleapis/rpc/code;code"; -option java_multiple_files = true; -option java_outer_classname = "CodeProto"; -option java_package = "com.google.rpc"; -option objc_class_prefix = "RPC"; - -// The canonical error codes for gRPC APIs. -// -// -// Sometimes multiple error codes may apply. Services should return -// the most specific error code that applies. For example, prefer -// `OUT_OF_RANGE` over `FAILED_PRECONDITION` if both codes apply. -// Similarly prefer `NOT_FOUND` or `ALREADY_EXISTS` over `FAILED_PRECONDITION`. -enum Code { - // Not an error; returned on success - // - // HTTP Mapping: 200 OK - OK = 0; - - // The operation was cancelled, typically by the caller. - // - // HTTP Mapping: 499 Client Closed Request - CANCELLED = 1; - - // Unknown error. For example, this error may be returned when - // a `Status` value received from another address space belongs to - // an error space that is not known in this address space. Also - // errors raised by APIs that do not return enough error information - // may be converted to this error. - // - // HTTP Mapping: 500 Internal Server Error - UNKNOWN = 2; - - // The client specified an invalid argument. Note that this differs - // from `FAILED_PRECONDITION`. `INVALID_ARGUMENT` indicates arguments - // that are problematic regardless of the state of the system - // (e.g., a malformed file name). - // - // HTTP Mapping: 400 Bad Request - INVALID_ARGUMENT = 3; - - // The deadline expired before the operation could complete. For operations - // that change the state of the system, this error may be returned - // even if the operation has completed successfully. For example, a - // successful response from a server could have been delayed long - // enough for the deadline to expire. - // - // HTTP Mapping: 504 Gateway Timeout - DEADLINE_EXCEEDED = 4; - - // Some requested entity (e.g., file or directory) was not found. - // - // Note to server developers: if a request is denied for an entire class - // of users, such as gradual feature rollout or undocumented whitelist, - // `NOT_FOUND` may be used. If a request is denied for some users within - // a class of users, such as user-based access control, `PERMISSION_DENIED` - // must be used. - // - // HTTP Mapping: 404 Not Found - NOT_FOUND = 5; - - // The entity that a client attempted to create (e.g., file or directory) - // already exists. - // - // HTTP Mapping: 409 Conflict - ALREADY_EXISTS = 6; - - // The caller does not have permission to execute the specified - // operation. `PERMISSION_DENIED` must not be used for rejections - // caused by exhausting some resource (use `RESOURCE_EXHAUSTED` - // instead for those errors). `PERMISSION_DENIED` must not be - // used if the caller can not be identified (use `UNAUTHENTICATED` - // instead for those errors). This error code does not imply the - // request is valid or the requested entity exists or satisfies - // other pre-conditions. - // - // HTTP Mapping: 403 Forbidden - PERMISSION_DENIED = 7; - - // The request does not have valid authentication credentials for the - // operation. - // - // HTTP Mapping: 401 Unauthorized - UNAUTHENTICATED = 16; - - // Some resource has been exhausted, perhaps a per-user quota, or - // perhaps the entire file system is out of space. - // - // HTTP Mapping: 429 Too Many Requests - RESOURCE_EXHAUSTED = 8; - - // The operation was rejected because the system is not in a state - // required for the operation's execution. For example, the directory - // to be deleted is non-empty, an rmdir operation is applied to - // a non-directory, etc. - // - // Service implementors can use the following guidelines to decide - // between `FAILED_PRECONDITION`, `ABORTED`, and `UNAVAILABLE`: - // (a) Use `UNAVAILABLE` if the client can retry just the failing call. - // (b) Use `ABORTED` if the client should retry at a higher level - // (e.g., when a client-specified test-and-set fails, indicating the - // client should restart a read-modify-write sequence). - // (c) Use `FAILED_PRECONDITION` if the client should not retry until - // the system state has been explicitly fixed. E.g., if an "rmdir" - // fails because the directory is non-empty, `FAILED_PRECONDITION` - // should be returned since the client should not retry unless - // the files are deleted from the directory. - // - // HTTP Mapping: 400 Bad Request - FAILED_PRECONDITION = 9; - - // The operation was aborted, typically due to a concurrency issue such as - // a sequencer check failure or transaction abort. - // - // See the guidelines above for deciding between `FAILED_PRECONDITION`, - // `ABORTED`, and `UNAVAILABLE`. - // - // HTTP Mapping: 409 Conflict - ABORTED = 10; - - // The operation was attempted past the valid range. E.g., seeking or - // reading past end-of-file. - // - // Unlike `INVALID_ARGUMENT`, this error indicates a problem that may - // be fixed if the system state changes. For example, a 32-bit file - // system will generate `INVALID_ARGUMENT` if asked to read at an - // offset that is not in the range [0,2^32-1], but it will generate - // `OUT_OF_RANGE` if asked to read from an offset past the current - // file size. - // - // There is a fair bit of overlap between `FAILED_PRECONDITION` and - // `OUT_OF_RANGE`. We recommend using `OUT_OF_RANGE` (the more specific - // error) when it applies so that callers who are iterating through - // a space can easily look for an `OUT_OF_RANGE` error to detect when - // they are done. - // - // HTTP Mapping: 400 Bad Request - OUT_OF_RANGE = 11; - - // The operation is not implemented or is not supported/enabled in this - // service. - // - // HTTP Mapping: 501 Not Implemented - UNIMPLEMENTED = 12; - - // Internal errors. This means that some invariants expected by the - // underlying system have been broken. This error code is reserved - // for serious errors. - // - // HTTP Mapping: 500 Internal Server Error - INTERNAL = 13; - - // The service is currently unavailable. This is most likely a - // transient condition, which can be corrected by retrying with - // a backoff. Note that it is not always safe to retry - // non-idempotent operations. - // - // See the guidelines above for deciding between `FAILED_PRECONDITION`, - // `ABORTED`, and `UNAVAILABLE`. - // - // HTTP Mapping: 503 Service Unavailable - UNAVAILABLE = 14; - - // Unrecoverable data loss or corruption. - // - // HTTP Mapping: 500 Internal Server Error - DATA_LOSS = 15; -} diff --git a/contrib/libs/googleapis-common-protos/google/rpc/context/attribute_context.proto b/contrib/libs/googleapis-common-protos/google/rpc/context/attribute_context.proto deleted file mode 100644 index e60a5ae94e..0000000000 --- a/contrib/libs/googleapis-common-protos/google/rpc/context/attribute_context.proto +++ /dev/null @@ -1,287 +0,0 @@ -// Copyright 2020 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -syntax = "proto3"; - -package google.rpc.context; - -import "google/protobuf/struct.proto"; -import "google/protobuf/timestamp.proto"; - -option cc_enable_arenas = true; -option go_package = "google.golang.org/genproto/googleapis/rpc/context/attribute_context;attribute_context"; -option java_multiple_files = true; -option java_outer_classname = "AttributeContextProto"; -option java_package = "com.google.rpc.context"; - -// This message defines the standard attribute vocabulary for Google APIs. -// -// An attribute is a piece of metadata that describes an activity on a network -// service. For example, the size of an HTTP request, or the status code of -// an HTTP response. -// -// Each attribute has a type and a name, which is logically defined as -// a proto message field in `AttributeContext`. The field type becomes the -// attribute type, and the field path becomes the attribute name. For example, -// the attribute `source.ip` maps to field `AttributeContext.source.ip`. -// -// This message definition is guaranteed not to have any wire breaking change. -// So you can use it directly for passing attributes across different systems. -// -// NOTE: Different system may generate different subset of attributes. Please -// verify the system specification before relying on an attribute generated -// a system. -message AttributeContext { - // This message defines attributes for a node that handles a network request. - // The node can be either a service or an application that sends, forwards, - // or receives the request. Service peers should fill in - // `principal` and `labels` as appropriate. - message Peer { - // The IP address of the peer. - string ip = 1; - - // The network port of the peer. - int64 port = 2; - - // The labels associated with the peer. - map<string, string> labels = 6; - - // The identity of this peer. Similar to `Request.auth.principal`, but - // relative to the peer instead of the request. For example, the - // idenity associated with a load balancer that forwared the request. - string principal = 7; - - // The CLDR country/region code associated with the above IP address. - // If the IP address is private, the `region_code` should reflect the - // physical location where this peer is running. - string region_code = 8; - } - - // This message defines attributes associated with API operations, such as - // a network API request. The terminology is based on the conventions used - // by Google APIs, Istio, and OpenAPI. - message Api { - // The API service name. It is a logical identifier for a networked API, - // such as "pubsub.googleapis.com". The naming syntax depends on the - // API management system being used for handling the request. - string service = 1; - - // The API operation name. For gRPC requests, it is the fully qualified API - // method name, such as "google.pubsub.v1.Publisher.Publish". For OpenAPI - // requests, it is the `operationId`, such as "getPet". - string operation = 2; - - // The API protocol used for sending the request, such as "http", "https", - // "grpc", or "internal". - string protocol = 3; - - // The API version associated with the API operation above, such as "v1" or - // "v1alpha1". - string version = 4; - } - - // This message defines request authentication attributes. Terminology is - // based on the JSON Web Token (JWT) standard, but the terms also - // correlate to concepts in other standards. - message Auth { - // The authenticated principal. Reflects the issuer (`iss`) and subject - // (`sub`) claims within a JWT. The issuer and subject should be `/` - // delimited, with `/` percent-encoded within the subject fragment. For - // Google accounts, the principal format is: - // "https://accounts.google.com/{id}" - string principal = 1; - - // The intended audience(s) for this authentication information. Reflects - // the audience (`aud`) claim within a JWT. The audience - // value(s) depends on the `issuer`, but typically include one or more of - // the following pieces of information: - // - // * The services intended to receive the credential such as - // ["pubsub.googleapis.com", "storage.googleapis.com"] - // * A set of service-based scopes. For example, - // ["https://www.googleapis.com/auth/cloud-platform"] - // * The client id of an app, such as the Firebase project id for JWTs - // from Firebase Auth. - // - // Consult the documentation for the credential issuer to determine the - // information provided. - repeated string audiences = 2; - - // The authorized presenter of the credential. Reflects the optional - // Authorized Presenter (`azp`) claim within a JWT or the - // OAuth client id. For example, a Google Cloud Platform client id looks - // as follows: "123456789012.apps.googleusercontent.com". - string presenter = 3; - - // Structured claims presented with the credential. JWTs include - // `{key: value}` pairs for standard and private claims. The following - // is a subset of the standard required and optional claims that would - // typically be presented for a Google-based JWT: - // - // {'iss': 'accounts.google.com', - // 'sub': '113289723416554971153', - // 'aud': ['123456789012', 'pubsub.googleapis.com'], - // 'azp': '123456789012.apps.googleusercontent.com', - // 'email': 'jsmith@example.com', - // 'iat': 1353601026, - // 'exp': 1353604926} - // - // SAML assertions are similarly specified, but with an identity provider - // dependent structure. - google.protobuf.Struct claims = 4; - - // A list of access level resource names that allow resources to be - // accessed by authenticated requester. It is part of Secure GCP processing - // for the incoming request. An access level string has the format: - // "//{api_service_name}/accessPolicies/{policy_id}/accessLevels/{short_name}" - // - // Example: - // "//accesscontextmanager.googleapis.com/accessPolicies/MY_POLICY_ID/accessLevels/MY_LEVEL" - repeated string access_levels = 5; - } - - // This message defines attributes for an HTTP request. If the actual - // request is not an HTTP request, the runtime system should try to map - // the actual request to an equivalent HTTP request. - message Request { - // The unique ID for a request, which can be propagated to downstream - // systems. The ID should have low probability of collision - // within a single day for a specific service. - string id = 1; - - // The HTTP request method, such as `GET`, `POST`. - string method = 2; - - // The HTTP request headers. If multiple headers share the same key, they - // must be merged according to the HTTP spec. All header keys must be - // lowercased, because HTTP header keys are case-insensitive. - map<string, string> headers = 3; - - // The HTTP URL path. - string path = 4; - - // The HTTP request `Host` header value. - string host = 5; - - // The HTTP URL scheme, such as `http` and `https`. - string scheme = 6; - - // The HTTP URL query in the format of `name1=value1&name2=value2`, as it - // appears in the first line of the HTTP request. No decoding is performed. - string query = 7; - - // The timestamp when the `destination` service receives the first byte of - // the request. - google.protobuf.Timestamp time = 9; - - // The HTTP request size in bytes. If unknown, it must be -1. - int64 size = 10; - - // The network protocol used with the request, such as "http/1.1", - // "spdy/3", "h2", "h2c", "webrtc", "tcp", "udp", "quic". See - // https://www.iana.org/assignments/tls-extensiontype-values/tls-extensiontype-values.xhtml#alpn-protocol-ids - // for details. - string protocol = 11; - - // A special parameter for request reason. It is used by security systems - // to associate auditing information with a request. - string reason = 12; - - // The request authentication. May be absent for unauthenticated requests. - // Derived from the HTTP request `Authorization` header or equivalent. - Auth auth = 13; - } - - // This message defines attributes for a typical network response. It - // generally models semantics of an HTTP response. - message Response { - // The HTTP response status code, such as `200` and `404`. - int64 code = 1; - - // The HTTP response size in bytes. If unknown, it must be -1. - int64 size = 2; - - // The HTTP response headers. If multiple headers share the same key, they - // must be merged according to HTTP spec. All header keys must be - // lowercased, because HTTP header keys are case-insensitive. - map<string, string> headers = 3; - - // The timestamp when the `destination` service generates the first byte of - // the response. - google.protobuf.Timestamp time = 4; - } - - // This message defines core attributes for a resource. A resource is an - // addressable (named) entity provided by the destination service. For - // example, a file stored on a network storage service. - message Resource { - // The name of the service that this resource belongs to, such as - // `pubsub.googleapis.com`. The service may be different from the DNS - // hostname that actually serves the request. - string service = 1; - - // The stable identifier (name) of a resource on the `service`. A resource - // can be logically identified as "//{resource.service}/{resource.name}". - // The differences between a resource name and a URI are: - // - // * Resource name is a logical identifier, independent of network - // protocol and API version. For example, - // `//pubsub.googleapis.com/projects/123/topics/news-feed`. - // * URI often includes protocol and version information, so it can - // be used directly by applications. For example, - // `https://pubsub.googleapis.com/v1/projects/123/topics/news-feed`. - // - // See https://cloud.google.com/apis/design/resource_names for details. - string name = 2; - - // The type of the resource. The syntax is platform-specific because - // different platforms define their resources differently. - // - // For Google APIs, the type format must be "{service}/{kind}". - string type = 3; - - // The labels or tags on the resource, such as AWS resource tags and - // Kubernetes resource labels. - map<string, string> labels = 4; - } - - // The origin of a network activity. In a multi hop network activity, - // the origin represents the sender of the first hop. For the first hop, - // the `source` and the `origin` must have the same content. - Peer origin = 7; - - // The source of a network activity, such as starting a TCP connection. - // In a multi hop network activity, the source represents the sender of the - // last hop. - Peer source = 1; - - // The destination of a network activity, such as accepting a TCP connection. - // In a multi hop network activity, the destination represents the receiver of - // the last hop. - Peer destination = 2; - - // Represents a network request, such as an HTTP request. - Request request = 3; - - // Represents a network response, such as an HTTP response. - Response response = 4; - - // Represents a target resource that is involved with a network activity. - // If multiple resources are involved with an activity, this must be the - // primary one. - Resource resource = 5; - - // Represents an API operation that is involved to a network activity. - Api api = 6; -} diff --git a/contrib/libs/googleapis-common-protos/google/rpc/error_details.proto b/contrib/libs/googleapis-common-protos/google/rpc/error_details.proto deleted file mode 100644 index 4862ebfe88..0000000000 --- a/contrib/libs/googleapis-common-protos/google/rpc/error_details.proto +++ /dev/null @@ -1,246 +0,0 @@ -// Copyright 2020 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -syntax = "proto3"; - -package google.rpc; - -import "google/protobuf/duration.proto"; - -option go_package = "google.golang.org/genproto/googleapis/rpc/errdetails;errdetails"; -option java_multiple_files = true; -option java_outer_classname = "ErrorDetailsProto"; -option java_package = "com.google.rpc"; -option objc_class_prefix = "RPC"; - -// Describes when the clients can retry a failed request. Clients could ignore -// the recommendation here or retry when this information is missing from error -// responses. -// -// It's always recommended that clients should use exponential backoff when -// retrying. -// -// Clients should wait until `retry_delay` amount of time has passed since -// receiving the error response before retrying. If retrying requests also -// fail, clients should use an exponential backoff scheme to gradually increase -// the delay between retries based on `retry_delay`, until either a maximum -// number of retries have been reached or a maximum retry delay cap has been -// reached. -message RetryInfo { - // Clients should wait at least this long between retrying the same request. - google.protobuf.Duration retry_delay = 1; -} - -// Describes additional debugging info. -message DebugInfo { - // The stack trace entries indicating where the error occurred. - repeated string stack_entries = 1; - - // Additional debugging information provided by the server. - string detail = 2; -} - -// Describes how a quota check failed. -// -// For example if a daily limit was exceeded for the calling project, -// a service could respond with a QuotaFailure detail containing the project -// id and the description of the quota limit that was exceeded. If the -// calling project hasn't enabled the service in the developer console, then -// a service could respond with the project id and set `service_disabled` -// to true. -// -// Also see RetryInfo and Help types for other details about handling a -// quota failure. -message QuotaFailure { - // A message type used to describe a single quota violation. For example, a - // daily quota or a custom quota that was exceeded. - message Violation { - // The subject on which the quota check failed. - // For example, "clientip:<ip address of client>" or "project:<Google - // developer project id>". - string subject = 1; - - // A description of how the quota check failed. Clients can use this - // description to find more about the quota configuration in the service's - // public documentation, or find the relevant quota limit to adjust through - // developer console. - // - // For example: "Service disabled" or "Daily Limit for read operations - // exceeded". - string description = 2; - } - - // Describes all quota violations. - repeated Violation violations = 1; -} - -// Describes the cause of the error with structured details. -// -// Example of an error when contacting the "pubsub.googleapis.com" API when it -// is not enabled: -// { "reason": "API_DISABLED" -// "domain": "googleapis.com" -// "metadata": { -// "resource": "projects/123", -// "service": "pubsub.googleapis.com" -// } -// } -// This response indicates that the pubsub.googleapis.com API is not enabled. -// -// Example of an error that is returned when attempting to create a Spanner -// instance in a region that is out of stock: -// { "reason": "STOCKOUT" -// "domain": "spanner.googleapis.com", -// "metadata": { -// "availableRegions": "us-central1,us-east2" -// } -// } -// -message ErrorInfo { - // The reason of the error. This is a constant value that identifies the - // proximate cause of the error. Error reasons are unique within a particular - // domain of errors. This should be at most 63 characters and match - // /[A-Z0-9_]+/. - string reason = 1; - - // The logical grouping to which the "reason" belongs. Often "domain" will - // contain the registered service name of the tool or product that is the - // source of the error. Example: "pubsub.googleapis.com". If the error is - // common across many APIs, the first segment of the example above will be - // omitted. The value will be, "googleapis.com". - string domain = 2; - - // Additional structured details about this error. - // - // Keys should match /[a-zA-Z0-9-_]/ and be limited to 64 characters in - // length. When identifying the current value of an exceeded limit, the units - // should be contained in the key, not the value. For example, rather than - // {"instanceLimit": "100/request"}, should be returned as, - // {"instanceLimitPerRequest": "100"}, if the client exceeds the number of - // instances that can be created in a single (batch) request. - map<string, string> metadata = 3; -} - -// Describes what preconditions have failed. -// -// For example, if an RPC failed because it required the Terms of Service to be -// acknowledged, it could list the terms of service violation in the -// PreconditionFailure message. -message PreconditionFailure { - // A message type used to describe a single precondition failure. - message Violation { - // The type of PreconditionFailure. We recommend using a service-specific - // enum type to define the supported precondition violation subjects. For - // example, "TOS" for "Terms of Service violation". - string type = 1; - - // The subject, relative to the type, that failed. - // For example, "google.com/cloud" relative to the "TOS" type would indicate - // which terms of service is being referenced. - string subject = 2; - - // A description of how the precondition failed. Developers can use this - // description to understand how to fix the failure. - // - // For example: "Terms of service not accepted". - string description = 3; - } - - // Describes all precondition violations. - repeated Violation violations = 1; -} - -// Describes violations in a client request. This error type focuses on the -// syntactic aspects of the request. -message BadRequest { - // A message type used to describe a single bad request field. - message FieldViolation { - // A path leading to a field in the request body. The value will be a - // sequence of dot-separated identifiers that identify a protocol buffer - // field. E.g., "field_violations.field" would identify this field. - string field = 1; - - // A description of why the request element is bad. - string description = 2; - } - - // Describes all violations in a client request. - repeated FieldViolation field_violations = 1; -} - -// Contains metadata about the request that clients can attach when filing a bug -// or providing other forms of feedback. -message RequestInfo { - // An opaque string that should only be interpreted by the service generating - // it. For example, it can be used to identify requests in the service's logs. - string request_id = 1; - - // Any data that was used to serve this request. For example, an encrypted - // stack trace that can be sent back to the service provider for debugging. - string serving_data = 2; -} - -// Describes the resource that is being accessed. -message ResourceInfo { - // A name for the type of resource being accessed, e.g. "sql table", - // "cloud storage bucket", "file", "Google calendar"; or the type URL - // of the resource: e.g. "type.googleapis.com/google.pubsub.v1.Topic". - string resource_type = 1; - - // The name of the resource being accessed. For example, a shared calendar - // name: "example.com_4fghdhgsrgh@group.calendar.google.com", if the current - // error is [google.rpc.Code.PERMISSION_DENIED][google.rpc.Code.PERMISSION_DENIED]. - string resource_name = 2; - - // The owner of the resource (optional). - // For example, "user:<owner email>" or "project:<Google developer project - // id>". - string owner = 3; - - // Describes what error is encountered when accessing this resource. - // For example, updating a cloud project may require the `writer` permission - // on the developer console project. - string description = 4; -} - -// Provides links to documentation or for performing an out of band action. -// -// For example, if a quota check failed with an error indicating the calling -// project hasn't enabled the accessed service, this can contain a URL pointing -// directly to the right place in the developer console to flip the bit. -message Help { - // Describes a URL link. - message Link { - // Describes what the link offers. - string description = 1; - - // The URL of the link. - string url = 2; - } - - // URL(s) pointing to additional information on handling the current error. - repeated Link links = 1; -} - -// Provides a localized error message that is safe to return to the user -// which can be attached to an RPC error. -message LocalizedMessage { - // The locale used following the specification defined at - // http://www.rfc-editor.org/rfc/bcp/bcp47.txt. - // Examples are: "en-US", "fr-CH", "es-MX" - string locale = 1; - - // The localized error message in the above locale. - string message = 2; -} diff --git a/contrib/libs/googleapis-common-protos/google/rpc/status.proto b/contrib/libs/googleapis-common-protos/google/rpc/status.proto deleted file mode 100644 index 3b1f7a932f..0000000000 --- a/contrib/libs/googleapis-common-protos/google/rpc/status.proto +++ /dev/null @@ -1,47 +0,0 @@ -// Copyright 2020 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -syntax = "proto3"; - -package google.rpc; - -import "google/protobuf/any.proto"; - -option cc_enable_arenas = true; -option go_package = "google.golang.org/genproto/googleapis/rpc/status;status"; -option java_multiple_files = true; -option java_outer_classname = "StatusProto"; -option java_package = "com.google.rpc"; -option objc_class_prefix = "RPC"; - -// The `Status` type defines a logical error model that is suitable for -// different programming environments, including REST APIs and RPC APIs. It is -// used by [gRPC](https://github.com/grpc). Each `Status` message contains -// three pieces of data: error code, error message, and error details. -// -// You can find out more about this error model and how to work with it in the -// [API Design Guide](https://cloud.google.com/apis/design/errors). -message Status { - // The status code, which should be an enum value of [google.rpc.Code][google.rpc.Code]. - int32 code = 1; - - // A developer-facing error message, which should be in English. Any - // user-facing error message should be localized and sent in the - // [google.rpc.Status.details][google.rpc.Status.details] field, or localized by the client. - string message = 2; - - // A list of messages that carry the error details. There is a common set of - // message types for APIs to use. - repeated google.protobuf.Any details = 3; -} diff --git a/contrib/libs/googleapis-common-protos/google/type/README.md b/contrib/libs/googleapis-common-protos/google/type/README.md deleted file mode 100644 index adf1563a82..0000000000 --- a/contrib/libs/googleapis-common-protos/google/type/README.md +++ /dev/null @@ -1,7 +0,0 @@ -## Google Common Types - -This package contains definitions of common types for Google APIs. -All types defined in this package are suitable for different APIs to -exchange data, and will never break binary compatibility. They should -have design quality comparable to major programming languages like -Java and C#. diff --git a/contrib/libs/googleapis-common-protos/google/type/calendar_period.proto b/contrib/libs/googleapis-common-protos/google/type/calendar_period.proto deleted file mode 100644 index a91d0c35c8..0000000000 --- a/contrib/libs/googleapis-common-protos/google/type/calendar_period.proto +++ /dev/null @@ -1,57 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.type; - -option go_package = "google.golang.org/genproto/googleapis/type/calendarperiod;calendarperiod"; -option java_multiple_files = true; -option java_outer_classname = "CalendarPeriodProto"; -option java_package = "com.google.type"; -option objc_class_prefix = "GTP"; - -// A `CalendarPeriod` represents the abstract concept of a time period that has -// a canonical start. Grammatically, "the start of the current -// `CalendarPeriod`." All calendar times begin at midnight UTC. -enum CalendarPeriod { - // Undefined period, raises an error. - CALENDAR_PERIOD_UNSPECIFIED = 0; - - // A day. - DAY = 1; - - // A week. Weeks begin on Monday, following - // [ISO 8601](https://en.wikipedia.org/wiki/ISO_week_date). - WEEK = 2; - - // A fortnight. The first calendar fortnight of the year begins at the start - // of week 1 according to - // [ISO 8601](https://en.wikipedia.org/wiki/ISO_week_date). - FORTNIGHT = 3; - - // A month. - MONTH = 4; - - // A quarter. Quarters start on dates 1-Jan, 1-Apr, 1-Jul, and 1-Oct of each - // year. - QUARTER = 5; - - // A half-year. Half-years start on dates 1-Jan and 1-Jul. - HALF = 6; - - // A year. - YEAR = 7; -} diff --git a/contrib/libs/googleapis-common-protos/google/type/color.proto b/contrib/libs/googleapis-common-protos/google/type/color.proto deleted file mode 100644 index 417f1c4b19..0000000000 --- a/contrib/libs/googleapis-common-protos/google/type/color.proto +++ /dev/null @@ -1,170 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.type; - -import "google/protobuf/wrappers.proto"; - -option cc_enable_arenas = true; -option go_package = "google.golang.org/genproto/googleapis/type/color;color"; -option java_multiple_files = true; -option java_outer_classname = "ColorProto"; -option java_package = "com.google.type"; -option objc_class_prefix = "GTP"; - -// Represents a color in the RGBA color space. This representation is designed -// for simplicity of conversion to/from color representations in various -// languages over compactness; for example, the fields of this representation -// can be trivially provided to the constructor of "java.awt.Color" in Java; it -// can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha" -// method in iOS; and, with just a little work, it can be easily formatted into -// a CSS "rgba()" string in JavaScript, as well. -// -// Note: this proto does not carry information about the absolute color space -// that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, -// DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color -// space. -// -// Example (Java): -// -// import com.google.type.Color; -// -// // ... -// public static java.awt.Color fromProto(Color protocolor) { -// float alpha = protocolor.hasAlpha() -// ? protocolor.getAlpha().getValue() -// : 1.0; -// -// return new java.awt.Color( -// protocolor.getRed(), -// protocolor.getGreen(), -// protocolor.getBlue(), -// alpha); -// } -// -// public static Color toProto(java.awt.Color color) { -// float red = (float) color.getRed(); -// float green = (float) color.getGreen(); -// float blue = (float) color.getBlue(); -// float denominator = 255.0; -// Color.Builder resultBuilder = -// Color -// .newBuilder() -// .setRed(red / denominator) -// .setGreen(green / denominator) -// .setBlue(blue / denominator); -// int alpha = color.getAlpha(); -// if (alpha != 255) { -// result.setAlpha( -// FloatValue -// .newBuilder() -// .setValue(((float) alpha) / denominator) -// .build()); -// } -// return resultBuilder.build(); -// } -// // ... -// -// Example (iOS / Obj-C): -// -// // ... -// static UIColor* fromProto(Color* protocolor) { -// float red = [protocolor red]; -// float green = [protocolor green]; -// float blue = [protocolor blue]; -// FloatValue* alpha_wrapper = [protocolor alpha]; -// float alpha = 1.0; -// if (alpha_wrapper != nil) { -// alpha = [alpha_wrapper value]; -// } -// return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; -// } -// -// static Color* toProto(UIColor* color) { -// CGFloat red, green, blue, alpha; -// if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { -// return nil; -// } -// Color* result = [[Color alloc] init]; -// [result setRed:red]; -// [result setGreen:green]; -// [result setBlue:blue]; -// if (alpha <= 0.9999) { -// [result setAlpha:floatWrapperWithValue(alpha)]; -// } -// [result autorelease]; -// return result; -// } -// // ... -// -// Example (JavaScript): -// -// // ... -// -// var protoToCssColor = function(rgb_color) { -// var redFrac = rgb_color.red || 0.0; -// var greenFrac = rgb_color.green || 0.0; -// var blueFrac = rgb_color.blue || 0.0; -// var red = Math.floor(redFrac * 255); -// var green = Math.floor(greenFrac * 255); -// var blue = Math.floor(blueFrac * 255); -// -// if (!('alpha' in rgb_color)) { -// return rgbToCssColor_(red, green, blue); -// } -// -// var alphaFrac = rgb_color.alpha.value || 0.0; -// var rgbParams = [red, green, blue].join(','); -// return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); -// }; -// -// var rgbToCssColor_ = function(red, green, blue) { -// var rgbNumber = new Number((red << 16) | (green << 8) | blue); -// var hexString = rgbNumber.toString(16); -// var missingZeros = 6 - hexString.length; -// var resultBuilder = ['#']; -// for (var i = 0; i < missingZeros; i++) { -// resultBuilder.push('0'); -// } -// resultBuilder.push(hexString); -// return resultBuilder.join(''); -// }; -// -// // ... -message Color { - // The amount of red in the color as a value in the interval [0, 1]. - float red = 1; - - // The amount of green in the color as a value in the interval [0, 1]. - float green = 2; - - // The amount of blue in the color as a value in the interval [0, 1]. - float blue = 3; - - // The fraction of this color that should be applied to the pixel. That is, - // the final pixel color is defined by the equation: - // - // pixel color = alpha * (this color) + (1.0 - alpha) * (background color) - // - // This means that a value of 1.0 corresponds to a solid color, whereas - // a value of 0.0 corresponds to a completely transparent color. This - // uses a wrapper message rather than a simple float scalar so that it is - // possible to distinguish between a default value and the value being unset. - // If omitted, this color object is to be rendered as a solid color - // (as if the alpha value had been explicitly given with a value of 1.0). - google.protobuf.FloatValue alpha = 4; -} diff --git a/contrib/libs/googleapis-common-protos/google/type/date.proto b/contrib/libs/googleapis-common-protos/google/type/date.proto deleted file mode 100644 index b958feeba5..0000000000 --- a/contrib/libs/googleapis-common-protos/google/type/date.proto +++ /dev/null @@ -1,50 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.type; - -option cc_enable_arenas = true; -option go_package = "google.golang.org/genproto/googleapis/type/date;date"; -option java_multiple_files = true; -option java_outer_classname = "DateProto"; -option java_package = "com.google.type"; -option objc_class_prefix = "GTP"; - -// Represents a whole or partial calendar date, e.g. a birthday. The time of day -// and time zone are either specified elsewhere or are not significant. The date -// is relative to the Proleptic Gregorian Calendar. This can represent: -// -// * A full date, with non-zero year, month and day values -// * A month and day value, with a zero year, e.g. an anniversary -// * A year on its own, with zero month and day values -// * A year and month value, with a zero day, e.g. a credit card expiration date -// -// Related types are [google.type.TimeOfDay][google.type.TimeOfDay] and `google.protobuf.Timestamp`. -message Date { - // Year of date. Must be from 1 to 9999, or 0 if specifying a date without - // a year. - int32 year = 1; - - // Month of year. Must be from 1 to 12, or 0 if specifying a year without a - // month and day. - int32 month = 2; - - // Day of month. Must be from 1 to 31 and valid for the year and month, or 0 - // if specifying a year by itself or a year and month where the day is not - // significant. - int32 day = 3; -} diff --git a/contrib/libs/googleapis-common-protos/google/type/datetime.proto b/contrib/libs/googleapis-common-protos/google/type/datetime.proto deleted file mode 100644 index 5aebc4b97f..0000000000 --- a/contrib/libs/googleapis-common-protos/google/type/datetime.proto +++ /dev/null @@ -1,97 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.type; - -import "google/protobuf/duration.proto"; - -option cc_enable_arenas = true; -option go_package = "google.golang.org/genproto/googleapis/type/datetime;datetime"; -option java_multiple_files = true; -option java_outer_classname = "DateTimeProto"; -option java_package = "com.google.type"; -option objc_class_prefix = "GTP"; - -// Represents civil time in one of a few possible ways: -// -// * When utc_offset is set and time_zone is unset: a civil time on a calendar -// day with a particular offset from UTC. -// * When time_zone is set and utc_offset is unset: a civil time on a calendar -// day in a particular time zone. -// * When neither time_zone nor utc_offset is set: a civil time on a calendar -// day in local time. -// -// The date is relative to the Proleptic Gregorian Calendar. -// -// If year is 0, the DateTime is considered not to have a specific year. month -// and day must have valid, non-zero values. -// -// This type is more flexible than some applications may want. Make sure to -// document and validate your application's limitations. -message DateTime { - // Optional. Year of date. Must be from 1 to 9999, or 0 if specifying a - // datetime without a year. - int32 year = 1; - - // Required. Month of year. Must be from 1 to 12. - int32 month = 2; - - // Required. Day of month. Must be from 1 to 31 and valid for the year and - // month. - int32 day = 3; - - // Required. Hours of day in 24 hour format. Should be from 0 to 23. An API - // may choose to allow the value "24:00:00" for scenarios like business - // closing time. - int32 hours = 4; - - // Required. Minutes of hour of day. Must be from 0 to 59. - int32 minutes = 5; - - // Required. Seconds of minutes of the time. Must normally be from 0 to 59. An - // API may allow the value 60 if it allows leap-seconds. - int32 seconds = 6; - - // Required. Fractions of seconds in nanoseconds. Must be from 0 to - // 999,999,999. - int32 nanos = 7; - - // Optional. Specifies either the UTC offset or the time zone of the DateTime. - // Choose carefully between them, considering that time zone data may change - // in the future (for example, a country modifies their DST start/end dates, - // and future DateTimes in the affected range had already been stored). - // If omitted, the DateTime is considered to be in local time. - oneof time_offset { - // UTC offset. Must be whole seconds, between -18 hours and +18 hours. - // For example, a UTC offset of -4:00 would be represented as - // { seconds: -14400 }. - google.protobuf.Duration utc_offset = 8; - - // Time zone. - TimeZone time_zone = 9; - } -} - -// Represents a time zone from the -// [IANA Time Zone Database](https://www.iana.org/time-zones). -message TimeZone { - // IANA Time Zone Database time zone, e.g. "America/New_York". - string id = 1; - - // Optional. IANA Time Zone Database version number, e.g. "2019a". - string version = 2; -} diff --git a/contrib/libs/googleapis-common-protos/google/type/dayofweek.proto b/contrib/libs/googleapis-common-protos/google/type/dayofweek.proto deleted file mode 100644 index 7544e15161..0000000000 --- a/contrib/libs/googleapis-common-protos/google/type/dayofweek.proto +++ /dev/null @@ -1,51 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.type; - -option go_package = "google.golang.org/genproto/googleapis/type/dayofweek;dayofweek"; -option java_multiple_files = true; -option java_outer_classname = "DayOfWeekProto"; -option java_package = "com.google.type"; -option objc_class_prefix = "GTP"; - -// Represents a day of week. -enum DayOfWeek { - // The unspecified day-of-week. - DAY_OF_WEEK_UNSPECIFIED = 0; - - // The day-of-week of Monday. - MONDAY = 1; - - // The day-of-week of Tuesday. - TUESDAY = 2; - - // The day-of-week of Wednesday. - WEDNESDAY = 3; - - // The day-of-week of Thursday. - THURSDAY = 4; - - // The day-of-week of Friday. - FRIDAY = 5; - - // The day-of-week of Saturday. - SATURDAY = 6; - - // The day-of-week of Sunday. - SUNDAY = 7; -} diff --git a/contrib/libs/googleapis-common-protos/google/type/expr.proto b/contrib/libs/googleapis-common-protos/google/type/expr.proto deleted file mode 100644 index 5d4f2f71b2..0000000000 --- a/contrib/libs/googleapis-common-protos/google/type/expr.proto +++ /dev/null @@ -1,51 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.type; - -option go_package = "google.golang.org/genproto/googleapis/type/expr;expr"; -option java_multiple_files = true; -option java_outer_classname = "ExprProto"; -option java_package = "com.google.type"; -option objc_class_prefix = "GTP"; - -// Represents an expression text. Example: -// -// title: "User account presence" -// description: "Determines whether the request has a user account" -// expression: "size(request.user) > 0" -message Expr { - // Textual representation of an expression in - // Common Expression Language syntax. - // - // The application context of the containing message determines which - // well-known feature set of CEL is supported. - string expression = 1; - - // An optional title for the expression, i.e. a short string describing - // its purpose. This can be used e.g. in UIs which allow to enter the - // expression. - string title = 2; - - // An optional description of the expression. This is a longer text which - // describes the expression, e.g. when hovered over it in a UI. - string description = 3; - - // An optional string indicating the location of the expression for error - // reporting, e.g. a file name and a position in the file. - string location = 4; -} diff --git a/contrib/libs/googleapis-common-protos/google/type/fraction.proto b/contrib/libs/googleapis-common-protos/google/type/fraction.proto deleted file mode 100644 index 8ad008dda2..0000000000 --- a/contrib/libs/googleapis-common-protos/google/type/fraction.proto +++ /dev/null @@ -1,34 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.type; - -option go_package = "google.golang.org/genproto/googleapis/type/fraction;fraction"; -option java_multiple_files = true; -option java_outer_classname = "FractionProto"; -option java_package = "com.google.type"; -option objc_class_prefix = "GTP"; - -// Represents a fraction in terms of a numerator divided by a denominator. -message Fraction { - // The portion of the denominator in the faction, e.g. 2 in 2/3. - int64 numerator = 1; - - // The value by which the numerator is divided, e.g. 3 in 2/3. Must be - // positive. - int64 denominator = 2; -} diff --git a/contrib/libs/googleapis-common-protos/google/type/latlng.proto b/contrib/libs/googleapis-common-protos/google/type/latlng.proto deleted file mode 100644 index a90b7c23d0..0000000000 --- a/contrib/libs/googleapis-common-protos/google/type/latlng.proto +++ /dev/null @@ -1,37 +0,0 @@ -// Copyright 2020 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -syntax = "proto3"; - -package google.type; - -option cc_enable_arenas = true; -option go_package = "google.golang.org/genproto/googleapis/type/latlng;latlng"; -option java_multiple_files = true; -option java_outer_classname = "LatLngProto"; -option java_package = "com.google.type"; -option objc_class_prefix = "GTP"; - -// An object that represents a latitude/longitude pair. This is expressed as a -// pair of doubles to represent degrees latitude and degrees longitude. Unless -// specified otherwise, this must conform to the -// <a href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf">WGS84 -// standard</a>. Values must be within normalized ranges. -message LatLng { - // The latitude in degrees. It must be in the range [-90.0, +90.0]. - double latitude = 1; - - // The longitude in degrees. It must be in the range [-180.0, +180.0]. - double longitude = 2; -} diff --git a/contrib/libs/googleapis-common-protos/google/type/money.proto b/contrib/libs/googleapis-common-protos/google/type/money.proto deleted file mode 100644 index ef41f1089a..0000000000 --- a/contrib/libs/googleapis-common-protos/google/type/money.proto +++ /dev/null @@ -1,43 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.type; - -option cc_enable_arenas = true; -option go_package = "google.golang.org/genproto/googleapis/type/money;money"; -option java_multiple_files = true; -option java_outer_classname = "MoneyProto"; -option java_package = "com.google.type"; -option objc_class_prefix = "GTP"; - -// Represents an amount of money with its currency type. -message Money { - // The 3-letter currency code defined in ISO 4217. - string currency_code = 1; - - // The whole units of the amount. - // For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar. - int64 units = 2; - - // Number of nano (10^-9) units of the amount. - // The value must be between -999,999,999 and +999,999,999 inclusive. - // If `units` is positive, `nanos` must be positive or zero. - // If `units` is zero, `nanos` can be positive, zero, or negative. - // If `units` is negative, `nanos` must be negative or zero. - // For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000. - int32 nanos = 3; -} diff --git a/contrib/libs/googleapis-common-protos/google/type/month.proto b/contrib/libs/googleapis-common-protos/google/type/month.proto deleted file mode 100644 index 54b7865f4b..0000000000 --- a/contrib/libs/googleapis-common-protos/google/type/month.proto +++ /dev/null @@ -1,66 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.type; - -option go_package = "google.golang.org/genproto/googleapis/type/month;month"; -option java_multiple_files = true; -option java_outer_classname = "MonthProto"; -option java_package = "com.google.type"; -option objc_class_prefix = "GTP"; - -// Represents a month in the Gregorian calendar. -enum Month { - // The unspecifed month. - MONTH_UNSPECIFIED = 0; - - // The month of January. - JANUARY = 1; - - // The month of February. - FEBRUARY = 2; - - // The month of March. - MARCH = 3; - - // The month of April. - APRIL = 4; - - // The month of May. - MAY = 5; - - // The month of June. - JUNE = 6; - - // The month of July. - JULY = 7; - - // The month of August. - AUGUST = 8; - - // The month of September. - SEPTEMBER = 9; - - // The month of October. - OCTOBER = 10; - - // The month of November. - NOVEMBER = 11; - - // The month of December. - DECEMBER = 12; -} diff --git a/contrib/libs/googleapis-common-protos/google/type/postal_address.proto b/contrib/libs/googleapis-common-protos/google/type/postal_address.proto deleted file mode 100644 index 688af8a1bc..0000000000 --- a/contrib/libs/googleapis-common-protos/google/type/postal_address.proto +++ /dev/null @@ -1,135 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.type; - -option cc_enable_arenas = true; -option go_package = "google.golang.org/genproto/googleapis/type/postaladdress;postaladdress"; -option java_multiple_files = true; -option java_outer_classname = "PostalAddressProto"; -option java_package = "com.google.type"; -option objc_class_prefix = "GTP"; - -// Represents a postal address, e.g. for postal delivery or payments addresses. -// Given a postal address, a postal service can deliver items to a premise, P.O. -// Box or similar. -// It is not intended to model geographical locations (roads, towns, -// mountains). -// -// In typical usage an address would be created via user input or from importing -// existing data, depending on the type of process. -// -// Advice on address input / editing: -// - Use an i18n-ready address widget such as -// https://github.com/google/libaddressinput) -// - Users should not be presented with UI elements for input or editing of -// fields outside countries where that field is used. -// -// For more guidance on how to use this schema, please see: -// https://support.google.com/business/answer/6397478 -message PostalAddress { - // The schema revision of the `PostalAddress`. This must be set to 0, which is - // the latest revision. - // - // All new revisions **must** be backward compatible with old revisions. - int32 revision = 1; - - // Required. CLDR region code of the country/region of the address. This - // is never inferred and it is up to the user to ensure the value is - // correct. See http://cldr.unicode.org/ and - // http://www.unicode.org/cldr/charts/30/supplemental/territory_information.html - // for details. Example: "CH" for Switzerland. - string region_code = 2; - - // Optional. BCP-47 language code of the contents of this address (if - // known). This is often the UI language of the input form or is expected - // to match one of the languages used in the address' country/region, or their - // transliterated equivalents. - // This can affect formatting in certain countries, but is not critical - // to the correctness of the data and will never affect any validation or - // other non-formatting related operations. - // - // If this value is not known, it should be omitted (rather than specifying a - // possibly incorrect default). - // - // Examples: "zh-Hant", "ja", "ja-Latn", "en". - string language_code = 3; - - // Optional. Postal code of the address. Not all countries use or require - // postal codes to be present, but where they are used, they may trigger - // additional validation with other parts of the address (e.g. state/zip - // validation in the U.S.A.). - string postal_code = 4; - - // Optional. Additional, country-specific, sorting code. This is not used - // in most regions. Where it is used, the value is either a string like - // "CEDEX", optionally followed by a number (e.g. "CEDEX 7"), or just a number - // alone, representing the "sector code" (Jamaica), "delivery area indicator" - // (Malawi) or "post office indicator" (e.g. Côte d'Ivoire). - string sorting_code = 5; - - // Optional. Highest administrative subdivision which is used for postal - // addresses of a country or region. - // For example, this can be a state, a province, an oblast, or a prefecture. - // Specifically, for Spain this is the province and not the autonomous - // community (e.g. "Barcelona" and not "Catalonia"). - // Many countries don't use an administrative area in postal addresses. E.g. - // in Switzerland this should be left unpopulated. - string administrative_area = 6; - - // Optional. Generally refers to the city/town portion of the address. - // Examples: US city, IT comune, UK post town. - // In regions of the world where localities are not well defined or do not fit - // into this structure well, leave locality empty and use address_lines. - string locality = 7; - - // Optional. Sublocality of the address. - // For example, this can be neighborhoods, boroughs, districts. - string sublocality = 8; - - // Unstructured address lines describing the lower levels of an address. - // - // Because values in address_lines do not have type information and may - // sometimes contain multiple values in a single field (e.g. - // "Austin, TX"), it is important that the line order is clear. The order of - // address lines should be "envelope order" for the country/region of the - // address. In places where this can vary (e.g. Japan), address_language is - // used to make it explicit (e.g. "ja" for large-to-small ordering and - // "ja-Latn" or "en" for small-to-large). This way, the most specific line of - // an address can be selected based on the language. - // - // The minimum permitted structural representation of an address consists - // of a region_code with all remaining information placed in the - // address_lines. It would be possible to format such an address very - // approximately without geocoding, but no semantic reasoning could be - // made about any of the address components until it was at least - // partially resolved. - // - // Creating an address only containing a region_code and address_lines, and - // then geocoding is the recommended way to handle completely unstructured - // addresses (as opposed to guessing which parts of the address should be - // localities or administrative areas). - repeated string address_lines = 9; - - // Optional. The recipient at the address. - // This field may, under certain circumstances, contain multiline information. - // For example, it might contain "care of" information. - repeated string recipients = 10; - - // Optional. The name of the organization at the address. - string organization = 11; -} diff --git a/contrib/libs/googleapis-common-protos/google/type/quaternion.proto b/contrib/libs/googleapis-common-protos/google/type/quaternion.proto deleted file mode 100644 index 7ab5dc7283..0000000000 --- a/contrib/libs/googleapis-common-protos/google/type/quaternion.proto +++ /dev/null @@ -1,95 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.type; - -option cc_enable_arenas = true; -option go_package = "google.golang.org/genproto/googleapis/type/quaternion;quaternion"; -option java_multiple_files = true; -option java_outer_classname = "QuaternionProto"; -option java_package = "com.google.type"; -option objc_class_prefix = "GTP"; - -// A quaternion is defined as the quotient of two directed lines in a -// three-dimensional space or equivalently as the quotient of two Euclidean -// vectors (https://en.wikipedia.org/wiki/Quaternion). -// -// Quaternions are often used in calculations involving three-dimensional -// rotations (https://en.wikipedia.org/wiki/Quaternions_and_spatial_rotation), -// as they provide greater mathematical robustness by avoiding the gimbal lock -// problems that can be encountered when using Euler angles -// (https://en.wikipedia.org/wiki/Gimbal_lock). -// -// Quaternions are generally represented in this form: -// -// w + xi + yj + zk -// -// where x, y, z, and w are real numbers, and i, j, and k are three imaginary -// numbers. -// -// Our naming choice `(x, y, z, w)` comes from the desire to avoid confusion for -// those interested in the geometric properties of the quaternion in the 3D -// Cartesian space. Other texts often use alternative names or subscripts, such -// as `(a, b, c, d)`, `(1, i, j, k)`, or `(0, 1, 2, 3)`, which are perhaps -// better suited for mathematical interpretations. -// -// To avoid any confusion, as well as to maintain compatibility with a large -// number of software libraries, the quaternions represented using the protocol -// buffer below *must* follow the Hamilton convention, which defines `ij = k` -// (i.e. a right-handed algebra), and therefore: -// -// i^2 = j^2 = k^2 = ijk = −1 -// ij = −ji = k -// jk = −kj = i -// ki = −ik = j -// -// Please DO NOT use this to represent quaternions that follow the JPL -// convention, or any of the other quaternion flavors out there. -// -// Definitions: -// -// - Quaternion norm (or magnitude): `sqrt(x^2 + y^2 + z^2 + w^2)`. -// - Unit (or normalized) quaternion: a quaternion whose norm is 1. -// - Pure quaternion: a quaternion whose scalar component (`w`) is 0. -// - Rotation quaternion: a unit quaternion used to represent rotation. -// - Orientation quaternion: a unit quaternion used to represent orientation. -// -// A quaternion can be normalized by dividing it by its norm. The resulting -// quaternion maintains the same direction, but has a norm of 1, i.e. it moves -// on the unit sphere. This is generally necessary for rotation and orientation -// quaternions, to avoid rounding errors: -// https://en.wikipedia.org/wiki/Rotation_formalisms_in_three_dimensions -// -// Note that `(x, y, z, w)` and `(-x, -y, -z, -w)` represent the same rotation, -// but normalization would be even more useful, e.g. for comparison purposes, if -// it would produce a unique representation. It is thus recommended that `w` be -// kept positive, which can be achieved by changing all the signs when `w` is -// negative. -// -message Quaternion { - // The x component. - double x = 1; - - // The y component. - double y = 2; - - // The z component. - double z = 3; - - // The scalar component. - double w = 4; -} diff --git a/contrib/libs/googleapis-common-protos/google/type/timeofday.proto b/contrib/libs/googleapis-common-protos/google/type/timeofday.proto deleted file mode 100644 index b609a48798..0000000000 --- a/contrib/libs/googleapis-common-protos/google/type/timeofday.proto +++ /dev/null @@ -1,44 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.type; - -option cc_enable_arenas = true; -option go_package = "google.golang.org/genproto/googleapis/type/timeofday;timeofday"; -option java_multiple_files = true; -option java_outer_classname = "TimeOfDayProto"; -option java_package = "com.google.type"; -option objc_class_prefix = "GTP"; - -// Represents a time of day. The date and time zone are either not significant -// or are specified elsewhere. An API may choose to allow leap seconds. Related -// types are [google.type.Date][google.type.Date] and `google.protobuf.Timestamp`. -message TimeOfDay { - // Hours of day in 24 hour format. Should be from 0 to 23. An API may choose - // to allow the value "24:00:00" for scenarios like business closing time. - int32 hours = 1; - - // Minutes of hour of day. Must be from 0 to 59. - int32 minutes = 2; - - // Seconds of minutes of the time. Must normally be from 0 to 59. An API may - // allow the value 60 if it allows leap-seconds. - int32 seconds = 3; - - // Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999. - int32 nanos = 4; -} diff --git a/ydb/library/yql/providers/external_function/cloud_function/actors/CMakeLists.txt b/ydb/library/yql/providers/external_function/cloud_function/actors/CMakeLists.txt deleted file mode 100644 index b9d37989d5..0000000000 --- a/ydb/library/yql/providers/external_function/cloud_function/actors/CMakeLists.txt +++ /dev/null @@ -1,35 +0,0 @@ - -# This file was gererated by the build system used internally in the Yandex monorepo. -# Only simple modifications are allowed (adding source-files to targets, adding simple properties -# like target_include_directories). These modifications will be ported to original -# ya.make files by maintainers. Any complex modifications which can't be ported back to the -# original buildsystem will not be accepted. - - - -add_library(external_function-cloud_function-actors) -target_compile_options(external_function-cloud_function-actors PRIVATE - -DUSE_CURRENT_UDF_ABI_VERSION -) -target_link_libraries(external_function-cloud_function-actors PUBLIC - contrib-libs-cxxsupp - yutil - cpp-actors-core - library-cpp-retry - yql-dq-runtime - yql-dq-proto - dq-actors-transform - providers-common-http_gateway - providers-common-codec - common-schema-mkql - library-yql-minikql - yql-minikql-computation - yql-public-issue - yql-sql-pg_dummy - common-token_accessor-client - client-ydb_types-credentials -) -target_sources(external_function-cloud_function-actors PRIVATE - ${CMAKE_SOURCE_DIR}/ydb/library/yql/providers/external_function/cloud_function/actors/cloud_function_transform.cpp - ${CMAKE_SOURCE_DIR}/ydb/library/yql/providers/external_function/cloud_function/actors/cloud_function_transform_factory.cpp -) diff --git a/ydb/library/yql/providers/external_function/cloud_function/actors/cloud_function_transform.cpp b/ydb/library/yql/providers/external_function/cloud_function/actors/cloud_function_transform.cpp deleted file mode 100644 index 150a06b15c..0000000000 --- a/ydb/library/yql/providers/external_function/cloud_function/actors/cloud_function_transform.cpp +++ /dev/null @@ -1,339 +0,0 @@ -#include "cloud_function_transform.h" - -#include <ydb/core/protos/services.pb.h> - -#include <ydb/library/yql/providers/common/codec/yql_json_codec.h> -#include <ydb/library/yql/minikql/mkql_type_ops.h> -#include <ydb/library/yql/minikql/mkql_node.h> -#include <ydb/library/yql/public/issue/yql_issue.h> -#include <ydb/library/yql/providers/common/schema/mkql/yql_mkql_schema.h> - -#include <library/cpp/string_utils/base64/base64.h> -#include <library/cpp/string_utils/quote/quote.h> -#include <library/cpp/retry/retry_policy.h> -#include <library/cpp/actors/core/log.h> - -#define LOG_D(s) \ - LOG_DEBUG_S(*NActors::TlsActivationContext, NKikimrServices::YANDEX_CLOUD_FUNCTION, "SelfId: " << this->SelfId() << ", Transform: " << TransformName << ". " << s) -#define LOG_W(s) \ - LOG_WARN_S(*NActors::TlsActivationContext, NKikimrServices::YANDEX_CLOUD_FUNCTION, "SelfId: " << this->SelfId() << ", Transform: " << TransformName << ". " << s) -#define LOG_E(s) \ - LOG_ERROR_S(*NActors::TlsActivationContext, NKikimrServices::YANDEX_CLOUD_FUNCTION, "SelfId: " << this->SelfId() << ", Transform: " << TransformName << ". " << s) - - -namespace NYql::NDq { - -using namespace NActors; -using namespace NCommon; -using namespace NKikimr; - -namespace { - -constexpr TStringBuf CLOUD_FUNCTION_BASE_URL = "https://functions.yandexcloud.net/"; - -constexpr size_t MAX_RETRY = 3; - -ERetryErrorClass RetryByHttpCode(long httpResponseCode) { - switch (httpResponseCode) { - case 429: - return ERetryErrorClass::LongRetry; - case 500: - case 503: - case 504: - return ERetryErrorClass::ShortRetry; - } - return ERetryErrorClass::NoRetry; -} - -const auto RETRY_POLICY = IRetryPolicy<long>::GetExponentialBackoffPolicy(RetryByHttpCode, - TDuration::MilliSeconds(100), - TDuration::MilliSeconds(400), - TDuration::Seconds(5), - MAX_RETRY); - -} - -TCloudFunctionTransformActor::TCloudFunctionTransformActor(TActorId owner, - NDqProto::TDqTransform transform, IHTTPGateway::TPtr gateway, - NYdb::TCredentialsProviderPtr credentialsProvider, - IDqOutputChannel::TPtr transformInput, - IDqOutputConsumer::TPtr taskOutput, - const NKikimr::NMiniKQL::THolderFactory& holderFactory, - const NKikimr::NMiniKQL::TTypeEnvironment& typeEnv, - NKikimr::NMiniKQL::TProgramBuilder& programBuilder) -: TActor(&TCloudFunctionTransformActor::StateFunc) -, Owner(owner) -, Transform(transform) -, Gateway(std::move(gateway)) -, CredentialsProvider(std::move(credentialsProvider)) -, TransformInput(std::move(transformInput)) -, TaskOutput(std::move(taskOutput)) - //, TransformName(UrlEscapeRet(transform.GetFunctionName(), true)) -, TransformName("TransformNameTODO") -, HolderFactory(holderFactory) -, TypeEnv(typeEnv) -, ProgramBuilder(programBuilder) -{ - TStringStream err; - InputRowType = ParseTypeFromYson(TStringBuf{transform.GetInputType()}, ProgramBuilder, err); - YQL_ENSURE(InputRowType, "Can't parse cloud function input type"); - - NMiniKQL::TType* outputType = ParseTypeFromYson(TStringBuf{transform.GetOutputType()}, ProgramBuilder, err); - YQL_ENSURE(outputType, "Can't parse cloud function output type"); - OutputRowsType = NKikimr::NMiniKQL::TListType::Create(outputType, TypeEnv); -} - - -STRICT_STFUNC(TCloudFunctionTransformActor::StateFunc, - hFunc(TEvents::TEvPoison, HandlePoison); - hFunc(TCFTransformEvent::TEvTransformSuccess, Handle); - hFunc(TCFTransformEvent::TEvExecuteTransform, Handle); - hFunc(TEvDq::TEvAbortExecution, Handle); -) - -STATEFN(TCloudFunctionTransformActor::DeadState) { - switch (ev->GetTypeRewrite()) { - hFunc(TEvents::TEvPoison, HandlePoison); - } -} - -void TCloudFunctionTransformActor::Handle(TEvDq::TEvAbortExecution::TPtr& ev) { - auto& msg = ev->Get()->Record; - TIssues issues = ev->Get()->GetIssues(); - if (msg.GetStatusCode() == NYql::NDqProto::StatusIds::INTERNAL_ERROR) { - InternalError(issues); - } else if (msg.GetStatusCode() == NYql::NDqProto::StatusIds::ABORTED) { - Aborted(issues); - } else { - RuntimeError(issues); - } -} - -void TCloudFunctionTransformActor::Handle(TCFTransformEvent::TEvExecuteTransform::TPtr& ev) { - Y_UNUSED(ev); - - auto guard = BindAllocator(); - - TString payload; - TStringOutput jsonStream{payload}; - NJson::TJsonWriter jsonWriter{&jsonStream, false}; - - jsonWriter.OpenArray(); - - bool hasPayload = false; - while (TransformInput->HasData() && !TaskOutput->IsFull()) { - NKikimr::NMiniKQL::TUnboxedValueVector rowsToTransform; - if (TransformInput->PopAll(rowsToTransform)) { - hasPayload = true; - for (auto&& row : rowsToTransform) { - try { - NJsonCodec::WriteValueToJson(jsonWriter, row, InputRowType, NJsonCodec::DefaultPolicy::getInstance().CloudFunction()); - } catch (const std::exception& ex) { - auto message = TStringBuilder() - << "Failed to convert data to input json for cloud function '" - << TransformName << "': " << ex.what(); - RuntimeError(message); - return; - } - } - } - } - jsonWriter.CloseArray(); - jsonWriter.Flush(); - - TCFReqContext context; - if (!TransformInput->HasData() && TransformInput->IsFinished()) { - context.LastBatch = true; - } - - if (hasPayload) { - TransformInProgress = true; - - auto* actorSystem = TActivationContext::ActorSystem(); - const auto iamToken = CredentialsProvider->GetAuthInfo(); - auto headers = iamToken.empty() - ? IHTTPGateway::THeaders() - : IHTTPGateway::THeaders{TString("Authorization: ") + iamToken}; - Gateway->Download(CLOUD_FUNCTION_BASE_URL + TransformName, headers, 10, - std::bind(&TCloudFunctionTransformActor::OnInvokeFinished, actorSystem, SelfId(), - context, - std::placeholders::_1), - payload, RETRY_POLICY); - } else if (context.LastBatch) { - CompleteTransform(); - } -} - -void TCloudFunctionTransformActor::Handle(TCFTransformEvent::TEvTransformSuccess::TPtr& ev) { - auto guard = BindAllocator(); - - NKikimr::NUdf::TUnboxedValue transformedData; - try { - auto body = std::string_view(ev->Get()->Result); - NJson::TJsonValue bodyJson; - if (!NJson::ReadJsonTree(body, &bodyJson, false)) { - YQL_ENSURE(false, "Invalid json"); - } - transformedData = NJsonCodec::ReadJsonValue(bodyJson, OutputRowsType, HolderFactory); - } catch (const std::exception& ex) { - auto message = TStringBuilder() - << "Failed to convert output json from cloud function '" - << TransformName << "': " << ex.what(); - RuntimeError(message); - return; - } - - TransformInProgress = false; - - //if (!TaskOutput->IsFull()) { - TaskOutput->Consume(std::move(transformedData)); - auto newDataEv = new NTransformActor::TEvTransformNewData(); - Send(Owner, newDataEv); - //} - - if (ev->Get()->LastBatch) { - CompleteTransform(); - } -} - -void TCloudFunctionTransformActor::DoTransform() { - if (TransformInProgress) - return; - - auto executeEv = new TCFTransformEvent::TEvExecuteTransform(); - Send(SelfId(), executeEv); -} - -void TCloudFunctionTransformActor::OnInvokeFinished(TActorSystem* actorSystem, TActorId selfId, - TCFReqContext reqContext, - IHTTPGateway::TResult&& result) { - switch (result.index()) { - case 0U: { - auto response = std::get<IHTTPGateway::TContent>(std::move(result)); - switch (response.HttpResponseCode) { - case 200: { - auto event = new TCFTransformEvent::TEvTransformSuccess(std::move(response), reqContext.LastBatch); - actorSystem->Send(new IEventHandle(selfId, TActorId(), event)); - break; - } - case 403: - case 404: { - auto transformName = reqContext.TransformName; - auto message = TStringBuilder() << "Got '" << response.HttpResponseCode << "' response code from cloud function '" - << transformName << "'"; - auto ev = TEvDq::TEvAbortExecution::Unavailable(message); - actorSystem->Send(new IEventHandle(selfId, TActorId(), ev.Release())); - break; - } - case 429: - case 500: - case 503: - case 504: { - auto transformName = reqContext.TransformName; - auto message = TStringBuilder() << "Got '" << response.HttpResponseCode << "' response code from cloud function '" - << transformName << "' and retry has been out"; - auto ev = TEvDq::TEvAbortExecution::Aborted(message); - actorSystem->Send(new IEventHandle(selfId, TActorId(), ev.Release())); - break; - } - default: - auto transformName = reqContext.TransformName; - auto message = TStringBuilder() << "Got unexpected response code (" << response.HttpResponseCode - << ") from cloud function '" << transformName; - auto ev = TEvDq::TEvAbortExecution::Aborted(message); - actorSystem->Send(new IEventHandle(selfId, TActorId(), ev.Release())); - } - break; - } - case 1U: - auto transformName = reqContext.TransformName; - auto message = TStringBuilder() << "Internal error during call cloud function '" << transformName; - auto ev = TEvDq::TEvAbortExecution::InternalError(message, std::get<TIssues>(result)); - actorSystem->Send(new IEventHandle(selfId, TActorId(), ev.Release())); - break; - } -} - - -void TCloudFunctionTransformActor::HandlePoison(NActors::TEvents::TEvPoison::TPtr&) { - PassAway(); -} - -void TCloudFunctionTransformActor::RuntimeError(const TString& message, const TIssues& subIssues) { - LOG_E(message); - RuntimeError(TEvDq::TEvAbortExecution::Unavailable(message, subIssues)->GetIssues()); -} - -void TCloudFunctionTransformActor::RuntimeError(const TIssues& issues) { - TransformInProgress = false; - auto ev = MakeHolder<TEvDq::TEvAbortExecution>(NYql::NDqProto::StatusIds::UNAVAILABLE, issues); - Send(Owner, ev.Release()); - - Become(&TCloudFunctionTransformActor::DeadState); -} - -void TCloudFunctionTransformActor::InternalError(const TString& message, const TIssues& subIssues) { - LOG_E(message); - InternalError(TEvDq::TEvAbortExecution::InternalError(message, subIssues)->GetIssues()); -} - -void TCloudFunctionTransformActor::InternalError(const TIssues& issues) { - TransformInProgress = false; - auto ev = MakeHolder<TEvDq::TEvAbortExecution>(NYql::NDqProto::StatusIds::INTERNAL_ERROR, issues); - Send(Owner, ev.Release()); - - Become(&TCloudFunctionTransformActor::DeadState); -} - -void TCloudFunctionTransformActor::Aborted(const TString& message, const TIssues& subIssues) { - LOG_E(message); - Aborted(TEvDq::TEvAbortExecution::Aborted(message, subIssues)->GetIssues()); -} - -void TCloudFunctionTransformActor::Aborted(const TIssues& issues) { - TransformInProgress = false; - auto ev = MakeHolder<TEvDq::TEvAbortExecution>(NYql::NDqProto::StatusIds::ABORTED, issues); - Send(Owner, ev.Release()); - - Become(&TCloudFunctionTransformActor::DeadState); -} - - -void TCloudFunctionTransformActor::CompleteTransform() { - TransformInProgress = false; - TaskOutput->Finish(); - - auto completeEv = new NTransformActor::TEvTransformCompleted(); - Send(Owner, completeEv); -} - -TGuard<NKikimr::NMiniKQL::TScopedAlloc> TCloudFunctionTransformActor::BindAllocator() { - return TypeEnv.BindAllocator(); -} - -std::pair<IDqTransformActor*, NActors::IActor*> CreateCloudFunctionTransformActor( - const NDqProto::TDqTransform& transform, IHTTPGateway::TPtr gateway, - ISecuredServiceAccountCredentialsFactory::TPtr credentialsFactory, - TDqTransformActorFactory::TArguments&& args) { - - std::shared_ptr<NYdb::ICredentialsProviderFactory> credProviderFactory; - Y_UNUSED(credentialsFactory); - /* - if (transform.HasConnectionName()) { - const auto token = args.SecureParams.Value(transform.GetConnectionName(), TString{}); - credProviderFactory = CreateCredentialsProviderFactoryForStructuredToken(credentialsFactory, token, true); - } else { - */ - credProviderFactory = NYdb::CreateInsecureCredentialsProviderFactory(); - //} - - const auto actor = new TCloudFunctionTransformActor( - args.ComputeActorId, transform, - gateway, credProviderFactory->CreateProvider(), - args.TransformInput, args.TransformOutput, - args.HolderFactory, args.TypeEnv, - args.ProgramBuilder); - return {actor, actor}; -} - -} diff --git a/ydb/library/yql/providers/external_function/cloud_function/actors/cloud_function_transform.h b/ydb/library/yql/providers/external_function/cloud_function/actors/cloud_function_transform.h deleted file mode 100644 index a8402c7264..0000000000 --- a/ydb/library/yql/providers/external_function/cloud_function/actors/cloud_function_transform.h +++ /dev/null @@ -1,131 +0,0 @@ -#pragma once - -#include <ydb/library/yql/dq/actors/dq.h> -#include <ydb/library/yql/dq/actors/transform/dq_transform_actor.h> -#include <ydb/library/yql/dq/actors/transform/dq_transform_events.h> -#include <ydb/library/yql/dq/actors/transform/dq_transform_actor_factory.h> -#include <ydb/library/yql/dq/proto/dq_tasks.pb.h> -#include <ydb/library/yql/dq/runtime/dq_output_consumer.h> -#include <ydb/library/yql/dq/runtime/dq_input_channel.h> -#include <ydb/library/yql/dq/runtime/dq_output_channel.h> -#include <ydb/library/yql/providers/common/http_gateway/yql_http_gateway.h> -#include <ydb/library/yql/providers/common/token_accessor/client/factory.h> -#include <ydb/library/yql/minikql/computation/mkql_computation_node_holders.h> -#include <ydb/library/yql/minikql/mkql_program_builder.h> -#include <ydb/public/sdk/cpp/client/ydb_types/credentials/credentials.h> - -#include <library/cpp/actors/core/actor_bootstrapped.h> -#include <library/cpp/actors/core/hfunc.h> -#include <library/cpp/actors/core/actor.h> - -namespace NYql::NDq { - -using namespace NActors; -using namespace NKikimr; - -class TCloudFunctionTransformActor : public NActors::TActor<TCloudFunctionTransformActor> - , public IDqTransformActor - , public TThrRefBase -{ -public: - struct TCFTransformEvent { - enum { - EV_BEGIN = EventSpaceBegin(TEvents::ES_PRIVATE), - EV_TRANSFORM_SUCCESS = EV_BEGIN, - EV_EXECUTE_TRANSFORM - }; - - struct TEvTransformSuccess : public TEventLocal<TEvTransformSuccess, EV_TRANSFORM_SUCCESS> { - TEvTransformSuccess(IHTTPGateway::TContent&& result, bool lastBatch) - : Result(std::move(result)) - , LastBatch(lastBatch) - {} - - IHTTPGateway::TContent Result; - bool LastBatch = false; - }; - - struct TEvExecuteTransform : public TEventLocal<TEvExecuteTransform, EV_EXECUTE_TRANSFORM> { - TEvExecuteTransform() {} - }; - }; - -public: - using TPtr = TIntrusivePtr<TCloudFunctionTransformActor>; - - static constexpr char ActorName[] = "YQL_DQ_CLOUD_FUNC_TRANSFORM"; - - TCloudFunctionTransformActor(TActorId owner, - NDqProto::TDqTransform transform, - IHTTPGateway::TPtr gateway, - NYdb::TCredentialsProviderPtr credentialsProvider, - IDqOutputChannel::TPtr transformInput, - IDqOutputConsumer::TPtr taskOutput, - const NKikimr::NMiniKQL::THolderFactory& holderFactory, - const NKikimr::NMiniKQL::TTypeEnvironment& typeEnv, - NKikimr::NMiniKQL::TProgramBuilder& programBuilder); - void DoTransform(); - -private: - STATEFN(StateFunc); - void Handle(TCFTransformEvent::TEvTransformSuccess::TPtr& ev); - void Handle(TCFTransformEvent::TEvExecuteTransform::TPtr& ev); - void Handle(TEvDq::TEvAbortExecution::TPtr& ev); - - STATEFN(DeadState); - void HandlePoison(NActors::TEvents::TEvPoison::TPtr&); - -private: - struct TCFReqContext { - TCFReqContext() {} - TCFReqContext(bool lastBatch): LastBatch(lastBatch) {} - - TString TransformName; - bool LastBatch = false; - }; - - static void OnInvokeFinished(TActorSystem* actorSystem, TActorId selfId, TCFReqContext reqContext, IHTTPGateway::TResult&& result); - - void InternalError(const TIssues& issues); - void InternalError(const TString& message, const TIssues& subIssues = {}); - - void RuntimeError(const TIssues& issues); - void RuntimeError(const TString& message, const TIssues& subIssues = {}); - - void Aborted(const TIssues& issues); - void Aborted(const TString& message, const TIssues& subIssues = {}); - - void CompleteTransform(); - -public: - TGuard<NKikimr::NMiniKQL::TScopedAlloc> BindAllocator(); - -private: - NActors::TActorId Owner; // compute actor Id - - NDqProto::TDqTransform Transform; - IHTTPGateway::TPtr Gateway; - - NYdb::TCredentialsProviderPtr CredentialsProvider; - - IDqOutputChannel::TPtr TransformInput; - IDqOutputConsumer::TPtr TaskOutput; - - TString TransformName; - - bool TransformInProgress = false; - - const NKikimr::NMiniKQL::THolderFactory& HolderFactory; - const NKikimr::NMiniKQL::TTypeEnvironment& TypeEnv; - NKikimr::NMiniKQL::TProgramBuilder& ProgramBuilder; - - NMiniKQL::TType* InputRowType = nullptr; - NMiniKQL::TType* OutputRowsType = nullptr; -}; - -std::pair<IDqTransformActor*, NActors::IActor*> CreateCloudFunctionTransformActor( - const NDqProto::TDqTransform& transform, IHTTPGateway::TPtr gateway, - ISecuredServiceAccountCredentialsFactory::TPtr credentialsFactory, - TDqTransformActorFactory::TArguments&& args); - -}
\ No newline at end of file diff --git a/ydb/library/yql/providers/external_function/cloud_function/actors/cloud_function_transform_factory.cpp b/ydb/library/yql/providers/external_function/cloud_function/actors/cloud_function_transform_factory.cpp deleted file mode 100644 index 6d146e6f08..0000000000 --- a/ydb/library/yql/providers/external_function/cloud_function/actors/cloud_function_transform_factory.cpp +++ /dev/null @@ -1,15 +0,0 @@ -#include "cloud_function_transform_factory.h" -#include "cloud_function_transform.h" - -#include <ydb/library/yql/dq/proto/dq_tasks.pb.h> - -namespace NYql::NDq { - -void RegisterTransformCloudFunction(TDqTransformActorFactory& factory, IHTTPGateway::TPtr gateway, - ISecuredServiceAccountCredentialsFactory::TPtr credentialsFactory) { - factory.Register("YandexCloudFunction", [gateway, credentialsFactory](const NDqProto::TDqTransform& transform, TDqTransformActorFactory::TArguments&& args) { - return CreateCloudFunctionTransformActor(transform, gateway, credentialsFactory, std::move(args)); - }); -} - -} diff --git a/ydb/library/yql/providers/external_function/cloud_function/actors/cloud_function_transform_factory.h b/ydb/library/yql/providers/external_function/cloud_function/actors/cloud_function_transform_factory.h deleted file mode 100644 index 681fd1cde1..0000000000 --- a/ydb/library/yql/providers/external_function/cloud_function/actors/cloud_function_transform_factory.h +++ /dev/null @@ -1,12 +0,0 @@ -#pragma once - -#include <ydb/library/yql/dq/actors/transform/dq_transform_actor_factory.h> -#include <ydb/library/yql/providers/common/http_gateway/yql_http_gateway.h> -#include <ydb/library/yql/providers/common/token_accessor/client/factory.h> - -namespace NYql::NDq { - -void RegisterTransformCloudFunction(TDqTransformActorFactory& factory, IHTTPGateway::TPtr gateway, - ISecuredServiceAccountCredentialsFactory::TPtr credentialsFactory); - -}
\ No newline at end of file diff --git a/ydb/library/yql/providers/external_function/cloud_function/actors/cloud_function_transform_ut.cpp b/ydb/library/yql/providers/external_function/cloud_function/actors/cloud_function_transform_ut.cpp deleted file mode 100644 index 863bdba592..0000000000 --- a/ydb/library/yql/providers/external_function/cloud_function/actors/cloud_function_transform_ut.cpp +++ /dev/null @@ -1,270 +0,0 @@ -#include "cloud_function_transform.h" - -#include <library/cpp/testing/unittest/registar.h> -#include <library/cpp/actors/testlib/test_runtime.h> - -#include <ydb/library/yql/dq/runtime/dq_output_consumer.h> -#include <ydb/library/yql/minikql/mkql_program_builder.h> -#include <ydb/library/yql/minikql/mkql_function_registry.h> -#include <ydb/library/yql/minikql/invoke_builtins/mkql_builtins.h> -#include <ydb/library/yql/minikql/computation/mkql_value_builder.h> -#include <ydb/library/yql/providers/common/schema/mkql/yql_mkql_schema.h> -#include <ydb/library/yql/providers/common/http_gateway/mock/yql_http_mock_gateway.h> -#include <ydb/library/yql/providers/common/token_accessor/client/factory.h> - -#include <thread> -#include <chrono> - -namespace { - -using namespace NYql; -using namespace NActors; -using namespace NKikimr; -using namespace NMiniKQL; -using namespace NDq; - -using namespace std::chrono_literals; - -struct TTransformSystem { - IDqOutputChannel::TPtr InputChannel; - IDqOutputChannel::TPtr OutputChannel; - NActors::TActorId TransformActorId; - NActors::TActorId ComputeActorId; - IHTTPMockGateway::TPtr Gateway; -}; - -class TCloudFunctionTransformTest: public TTestBase { -public: - UNIT_TEST_SUITE(TCloudFunctionTransformTest); - UNIT_TEST(TestEmptyChannel) - UNIT_TEST(TestMultiplicationTransform) - UNIT_TEST(TestSeveralIterations) - UNIT_TEST(TestPrivateFunction) - UNIT_TEST_SUITE_END(); - - TCloudFunctionTransformTest() - : Alloc(std::make_unique<TScopedAlloc>(NKikimr::TAlignedPagePoolCounters(), false)) - , TypeEnv(std::make_unique<TTypeEnvironment>(*Alloc)) - , FunctionRegistry(CreateFunctionRegistry(CreateBuiltinRegistry())) - , ProgramBuilder(*TypeEnv, *FunctionRegistry) - , MemInfo("Mem") - { - HolderFactory = std::make_unique<NMiniKQL::THolderFactory>(Alloc->Ref(), MemInfo); - ValueBuilder = std::make_unique<TDefaultValueBuilder>(*HolderFactory); - } - - TTransformSystem StartUpTransformSystem(ui32 nodeId, TString transformName, - TString connectionName = {}, THashMap<TString, TString> secureParams = {}) { - auto system = TTransformSystem(); - - system.Gateway = IHTTPMockGateway::Make(); - - NDqProto::TDqTransform taskTransform; - - taskTransform.SetType(NDqProto::ETransformType::TRANSFORM_CLOUD_FUNCTION); - taskTransform.SetFunctionName(transformName); - if (!connectionName.empty()) { - taskTransform.SetConnectionName(connectionName); - } - - TStructMember inMembers[] = { - {"A", TDataType::Create(NUdf::TDataType<bool>::Id, *TypeEnv)}, - {"C", TDataType::Create(NUdf::TDataType<ui32>::Id, *TypeEnv)} - }; - NMiniKQL::TType* inputType = TStructType::Create(2, inMembers, *TypeEnv); - taskTransform.SetInputType(NYql::NCommon::WriteTypeToYson(inputType)); - - TStructMember outMembers[] = { - {"A", TDataType::Create(NUdf::TDataType<bool>::Id, *TypeEnv)}, - {"C", TDataType::Create(NUdf::TDataType<ui64>::Id, *TypeEnv)} - }; - NMiniKQL::TType* outputType = TStructType::Create(2, outMembers, *TypeEnv); - taskTransform.SetOutputType(NYql::NCommon::WriteTypeToYson(outputType)); - - TDqOutputChannelSettings settings; - settings.MaxStoredBytes = 10000; - settings.MaxChunkBytes = 2_MB; - settings.TransportVersion = NDqProto::DATA_TRANSPORT_UV_PICKLE_1_0; - settings.CollectProfileStats = false; - settings.AllowGeneratorsInUnboxedValues = false; - - TLogFunc logger = [](const TString& message) { - Y_UNUSED(message); - }; - - system.InputChannel = CreateDqOutputChannel(nodeId + 100, inputType, *TypeEnv, *HolderFactory, settings, logger); - system.OutputChannel = CreateDqOutputChannel(nodeId + 400, outputType, *TypeEnv, *HolderFactory, settings, logger); - auto outputConsumer = CreateOutputMapConsumer(system.OutputChannel); - - auto credentialsFactory = CreateSecuredServiceAccountCredentialsOverTokenAccessorFactory("", true, ""); - system.ComputeActorId = ActorRuntime_->AllocateEdgeActor(); - auto args = TDqTransformActorFactory::TArguments{ - .ComputeActorId = system.ComputeActorId, - .TransformInput = system.InputChannel, - .TransformOutput = outputConsumer, - .HolderFactory = *HolderFactory, - .TypeEnv = *TypeEnv, - .ProgramBuilder = ProgramBuilder, - .SecureParams = secureParams - }; - - NActors::IActor* transformActor; - std::tie(std::ignore, transformActor) = CreateCloudFunctionTransformActor(taskTransform, system.Gateway, - credentialsFactory, std::move(args)); - system.TransformActorId = ActorRuntime_->Register(transformActor, nodeId); - - return system; - } - - void SetUp() override { - const ui32 nodesNumber = 6; - ActorRuntime_.Reset(new NActors::TTestActorRuntimeBase(nodesNumber, false)); - ActorRuntime_->Initialize(); - } - - void TearDown() override { - ActorRuntime_.Reset(); - } - - void TestEmptyChannel() { - auto context = StartUpTransformSystem(0, "emptyChannel"); - - context.InputChannel->Finish(); - auto executeEv = new TCloudFunctionTransformActor::TCFTransformEvent::TEvExecuteTransform(); - ActorRuntime_->Send(new IEventHandle(context.TransformActorId, context.ComputeActorId, executeEv)); - - auto event = ActorRuntime_->GrabEdgeEvent<NTransformActor::TEvTransformCompleted>(context.ComputeActorId, TDuration::Seconds(1)); - - UNIT_ASSERT(event); - UNIT_ASSERT_VALUES_EQUAL(true, context.OutputChannel->IsFinished()); - } - - - void TestMultiplicationTransform() { - auto context = StartUpTransformSystem(0, "multiplyC"); - - IHTTPMockGateway::TDataResponse multiplyCResponse = []() { - return IHTTPGateway::TContent("[{\"A\":true,\"C\":1110}]", 200); - }; - - auto url = "https://functions.yandexcloud.net/multiplyC"; - auto headers = IHTTPGateway::THeaders(); - auto postBody = "[{\"A\":\"true\",\"C\":\"555\"}]"; - context.Gateway->AddDownloadResponse(url, headers, postBody, multiplyCResponse); - - NUdf::TUnboxedValue* items; - auto value = ValueBuilder->NewArray(2, items); - items[0] = NUdf::TUnboxedValuePod(true); - items[1] = NUdf::TUnboxedValuePod(ui32(555)); - - context.InputChannel->Push(std::move(value)); - context.InputChannel->Finish(); - - auto executeEv = new TCloudFunctionTransformActor::TCFTransformEvent::TEvExecuteTransform(); - ActorRuntime_->Send(new IEventHandle(context.TransformActorId, context.ComputeActorId, executeEv)); - auto event = ActorRuntime_->GrabEdgeEvent<NTransformActor::TEvTransformCompleted>(context.ComputeActorId, TDuration::Seconds(1)); - - UNIT_ASSERT(event); - NKikimr::NMiniKQL::TUnboxedValueVector transformedRows; - context.OutputChannel->PopAll(transformedRows); - UNIT_ASSERT_VALUES_EQUAL(transformedRows.size(), 1); - UNIT_ASSERT_VALUES_EQUAL(true, context.OutputChannel->IsFinished()); - transformedRows.clear(); - } - - void TestSeveralIterations() { - auto context = StartUpTransformSystem(0, "multiplyCBatch"); - - IHTTPMockGateway::TDataResponse multiplyCResponse1 = []() { - return IHTTPGateway::TContent("[{\"A\":true,\"C\":860}]", 200); - }; - - IHTTPMockGateway::TDataResponse multiplyCResponse2 = []() { - return IHTTPGateway::TContent("[{\"A\":false,\"C\":800}]", 200); - }; - - auto url = "https://functions.yandexcloud.net/multiplyCBatch"; - auto headers = IHTTPGateway::THeaders(); - auto postBody1 = "[{\"A\":\"true\",\"C\":\"430\"}]"; - context.Gateway->AddDownloadResponse(url, headers, postBody1, multiplyCResponse1); - auto postBody2 = "[{\"A\":\"false\",\"C\":\"800\"}]"; - context.Gateway->AddDownloadResponse(url, headers, postBody2, multiplyCResponse2); - - NUdf::TUnboxedValue* items1; - auto value1 = ValueBuilder->NewArray(2, items1); - items1[0] = NUdf::TUnboxedValuePod(true); - items1[1] = NUdf::TUnboxedValuePod(ui32(430)); - context.InputChannel->Push(std::move(value1)); - auto executeEv1 = new TCloudFunctionTransformActor::TCFTransformEvent::TEvExecuteTransform(); - ActorRuntime_->Send(new IEventHandle(context.TransformActorId, context.ComputeActorId, executeEv1)); - - ActorRuntime_->GrabEdgeEvent<NTransformActor::TEvTransformNewData>(context.ComputeActorId, TDuration::MilliSeconds(500)); - - NUdf::TUnboxedValue* items2; - auto value2 = ValueBuilder->NewArray(2, items2); - items2[0] = NUdf::TUnboxedValuePod(false); - items2[1] = NUdf::TUnboxedValuePod(ui32(800)); - context.InputChannel->Push(std::move(value2)); - context.InputChannel->Finish(); - - auto executeEv2 = new TCloudFunctionTransformActor::TCFTransformEvent::TEvExecuteTransform(); - ActorRuntime_->Send(new IEventHandle(context.TransformActorId, context.ComputeActorId, executeEv2)); - - auto event = ActorRuntime_->GrabEdgeEvent<NTransformActor::TEvTransformCompleted>(context.ComputeActorId, TDuration::Seconds(1)); - - UNIT_ASSERT(event); - NKikimr::NMiniKQL::TUnboxedValueVector transformedRows; - context.OutputChannel->PopAll(transformedRows); - UNIT_ASSERT_VALUES_EQUAL(transformedRows.size(), 2); - UNIT_ASSERT_VALUES_EQUAL(true, context.OutputChannel->IsFinished()); - transformedRows.clear(); - } - - void TestPrivateFunction() { - const auto token = "{\"token\":\"yVVeGG6W0ccToZw\"}"; - const THashMap<TString, TString> secureParams = {{"private_cf_connection", token}}; - auto context = StartUpTransformSystem(0, "multiplyPrivate", "private_cf_connection", secureParams); - - IHTTPMockGateway::TDataResponse multiplyPrivateResponse = []() { - return IHTTPGateway::TContent("[{\"A\":true,\"C\":360}]", 200); - }; - - auto url = "https://functions.yandexcloud.net/multiplyPrivate"; - auto headers = IHTTPGateway::THeaders{"Authorization: Bearer yVVeGG6W0ccToZw"}; - auto postBody = "[{\"A\":\"true\",\"C\":\"180\"}]"; - context.Gateway->AddDownloadResponse(url, headers, postBody, multiplyPrivateResponse); - - NUdf::TUnboxedValue* items; - auto value = ValueBuilder->NewArray(2, items); - items[0] = NUdf::TUnboxedValuePod(true); - items[1] = NUdf::TUnboxedValuePod(ui32(180)); - - context.InputChannel->Push(std::move(value)); - context.InputChannel->Finish(); - - auto executeEv = new TCloudFunctionTransformActor::TCFTransformEvent::TEvExecuteTransform(); - ActorRuntime_->Send(new IEventHandle(context.TransformActorId, context.ComputeActorId, executeEv)); - auto event = ActorRuntime_->GrabEdgeEvent<NTransformActor::TEvTransformCompleted>(context.ComputeActorId, TDuration::Seconds(1)); - - UNIT_ASSERT(event); - NKikimr::NMiniKQL::TUnboxedValueVector transformedRows; - context.OutputChannel->PopAll(transformedRows); - transformedRows.clear(); - } - -private: - THolder<NActors::TTestActorRuntimeBase> ActorRuntime_; - - std::unique_ptr<NMiniKQL::TScopedAlloc> Alloc; - std::unique_ptr<NMiniKQL::TTypeEnvironment> TypeEnv; - - TIntrusivePtr<IFunctionRegistry> FunctionRegistry; - NMiniKQL::TProgramBuilder ProgramBuilder; - NMiniKQL::TMemoryUsageInfo MemInfo; - std::unique_ptr<NMiniKQL::THolderFactory> HolderFactory; - - std::unique_ptr<TDefaultValueBuilder> ValueBuilder; -}; - -UNIT_TEST_SUITE_REGISTRATION(TCloudFunctionTransformTest) -}
\ No newline at end of file diff --git a/ydb/library/yql/providers/external_function/cloud_function/actors/ut/CMakeLists.darwin.txt b/ydb/library/yql/providers/external_function/cloud_function/actors/ut/CMakeLists.darwin.txt deleted file mode 100644 index bdd8fdcfa1..0000000000 --- a/ydb/library/yql/providers/external_function/cloud_function/actors/ut/CMakeLists.darwin.txt +++ /dev/null @@ -1,52 +0,0 @@ - -# This file was gererated by the build system used internally in the Yandex monorepo. -# Only simple modifications are allowed (adding source-files to targets, adding simple properties -# like target_include_directories). These modifications will be ported to original -# ya.make files by maintainers. Any complex modifications which can't be ported back to the -# original buildsystem will not be accepted. - - - -add_executable(cloud_function-actors-ut) -target_compile_options(cloud_function-actors-ut PRIVATE - -DUSE_CURRENT_UDF_ABI_VERSION -) -target_include_directories(cloud_function-actors-ut PRIVATE - ${CMAKE_SOURCE_DIR}/ydb/library/yql/providers/external_function/cloud_function/actors -) -target_link_libraries(cloud_function-actors-ut PUBLIC - contrib-libs-cxxsupp - yutil - library-cpp-cpuid_check - cpp-testing-unittest_main - external_function-cloud_function-actors - cpp-actors-testlib - yql-minikql-invoke_builtins - udf-service-exception_policy - yql-minikql-computation - providers-common-http_gateway - common-http_gateway-mock -) -target_link_options(cloud_function-actors-ut PRIVATE - -Wl,-no_deduplicate - -Wl,-sdk_version,10.15 - -fPIC - -fPIC - -framework - CoreFoundation -) -target_sources(cloud_function-actors-ut PRIVATE - ${CMAKE_SOURCE_DIR}/ydb/library/yql/providers/external_function/cloud_function/actors/cloud_function_transform_ut.cpp -) -add_test( - NAME - cloud_function-actors-ut - COMMAND - cloud_function-actors-ut - --print-before-suite - --print-before-test - --fork-tests - --print-times - --show-fails -) -vcs_info(cloud_function-actors-ut) diff --git a/ydb/library/yql/providers/external_function/cloud_function/actors/ut/CMakeLists.linux.txt b/ydb/library/yql/providers/external_function/cloud_function/actors/ut/CMakeLists.linux.txt deleted file mode 100644 index e96a3318fb..0000000000 --- a/ydb/library/yql/providers/external_function/cloud_function/actors/ut/CMakeLists.linux.txt +++ /dev/null @@ -1,55 +0,0 @@ - -# This file was gererated by the build system used internally in the Yandex monorepo. -# Only simple modifications are allowed (adding source-files to targets, adding simple properties -# like target_include_directories). These modifications will be ported to original -# ya.make files by maintainers. Any complex modifications which can't be ported back to the -# original buildsystem will not be accepted. - - - -add_executable(cloud_function-actors-ut) -target_compile_options(cloud_function-actors-ut PRIVATE - -DUSE_CURRENT_UDF_ABI_VERSION -) -target_include_directories(cloud_function-actors-ut PRIVATE - ${CMAKE_SOURCE_DIR}/ydb/library/yql/providers/external_function/cloud_function/actors -) -target_link_libraries(cloud_function-actors-ut PUBLIC - contrib-libs-cxxsupp - yutil - library-cpp-lfalloc - library-cpp-cpuid_check - cpp-testing-unittest_main - external_function-cloud_function-actors - cpp-actors-testlib - yql-minikql-invoke_builtins - udf-service-exception_policy - yql-minikql-computation - providers-common-http_gateway - common-http_gateway-mock -) -target_link_options(cloud_function-actors-ut PRIVATE - -ldl - -lrt - -Wl,--no-as-needed - -fPIC - -fPIC - -lpthread - -lrt - -ldl -) -target_sources(cloud_function-actors-ut PRIVATE - ${CMAKE_SOURCE_DIR}/ydb/library/yql/providers/external_function/cloud_function/actors/cloud_function_transform_ut.cpp -) -add_test( - NAME - cloud_function-actors-ut - COMMAND - cloud_function-actors-ut - --print-before-suite - --print-before-test - --fork-tests - --print-times - --show-fails -) -vcs_info(cloud_function-actors-ut) diff --git a/ydb/library/yql/providers/external_function/cloud_function/actors/ut/CMakeLists.txt b/ydb/library/yql/providers/external_function/cloud_function/actors/ut/CMakeLists.txt deleted file mode 100644 index a681d385f3..0000000000 --- a/ydb/library/yql/providers/external_function/cloud_function/actors/ut/CMakeLists.txt +++ /dev/null @@ -1,13 +0,0 @@ - -# This file was gererated by the build system used internally in the Yandex monorepo. -# Only simple modifications are allowed (adding source-files to targets, adding simple properties -# like target_include_directories). These modifications will be ported to original -# ya.make files by maintainers. Any complex modifications which can't be ported back to the -# original buildsystem will not be accepted. - - -if (APPLE) - include(CMakeLists.darwin.txt) -elseif (UNIX) - include(CMakeLists.linux.txt) -endif() diff --git a/ydb/library/yql/providers/external_function/cloud_function/gateway/CMakeLists.txt b/ydb/library/yql/providers/external_function/cloud_function/gateway/CMakeLists.txt deleted file mode 100644 index 04a8ed0d4e..0000000000 --- a/ydb/library/yql/providers/external_function/cloud_function/gateway/CMakeLists.txt +++ /dev/null @@ -1,28 +0,0 @@ - -# This file was gererated by the build system used internally in the Yandex monorepo. -# Only simple modifications are allowed (adding source-files to targets, adding simple properties -# like target_include_directories). These modifications will be ported to original -# ya.make files by maintainers. Any complex modifications which can't be ported back to the -# original buildsystem will not be accepted. - - - -add_library(external_function-cloud_function-gateway) -target_compile_options(external_function-cloud_function-gateway PRIVATE - -DUSE_CURRENT_UDF_ABI_VERSION -) -target_link_libraries(external_function-cloud_function-gateway PUBLIC - contrib-libs-cxxsupp - yutil - common-token_accessor-client - providers-external_function-gateway - client-ydb_types-credentials - cpp-string_utils-quote - cpp-threading-future - cpp-grpc-client - contrib-libs-fmt - serverless-functions-v1 -) -target_sources(external_function-cloud_function-gateway PRIVATE - ${CMAKE_SOURCE_DIR}/ydb/library/yql/providers/external_function/cloud_function/gateway/cloud_function_gateway.cpp -) diff --git a/ydb/library/yql/providers/external_function/cloud_function/gateway/cloud_function_gateway.cpp b/ydb/library/yql/providers/external_function/cloud_function/gateway/cloud_function_gateway.cpp deleted file mode 100644 index 9650ebf68a..0000000000 --- a/ydb/library/yql/providers/external_function/cloud_function/gateway/cloud_function_gateway.cpp +++ /dev/null @@ -1,134 +0,0 @@ -#include "cloud_function_gateway.h" - -#include <library/cpp/string_utils/quote/quote.h> -#include <util/string/builder.h> -#include <util/generic/hash.h> - -#include <cloud/bitbucket/private-api/yandex/cloud/priv/serverless/functions/v1/function_service.pb.h> -#include <cloud/bitbucket/private-api/yandex/cloud/priv/serverless/functions/v1/function_service.grpc.pb.h> -#include <cloud/bitbucket/private-api/yandex/cloud/priv/serverless/functions/v1/function.pb.h> - -#include <library/cpp/grpc/client/grpc_client_low.h> -#include <google/protobuf/text_format.h> -#include <exception> -#include <fmt/format.h> - -namespace NYql::NDq { -namespace NCloudFunction { - -using namespace yandex::cloud::priv::serverless::functions::v1; - -class TCloudFunctionGateway : public IDqFunctionGateway { -public: - using TPtr = std::shared_ptr<TCloudFunctionGateway>; - -private: - static constexpr TDuration TIMEOUT = TDuration::MilliSeconds(300); - - class TImpl : public std::enable_shared_from_this<TImpl> { - public: - TImpl(const TString& apiEndpoint, const TString& sslCaCert, NYdb::TCredentialsProviderPtr credentialsProvider) - : Client(std::make_unique<NGrpc::TGRpcClientLow>()) - , CredentialsProvider(std::move(credentialsProvider)) - { - NGrpc::TGRpcClientConfig grpcConf; - grpcConf.Locator = apiEndpoint; - grpcConf.EnableSsl = true; - grpcConf.SslCaCert = sslCaCert; - Connection = Client->CreateGRpcServiceConnection<FunctionService>(grpcConf); - } - - NThreading::TFuture<ListFunctionsResponse> List(const TString& folderId, const TString& functionName) { - auto promise = NThreading::NewPromise<ListFunctionsResponse>(); - auto callback = [promise, folderId, functionName](NGrpc::TGrpcStatus&& status, ListFunctionsResponse&& resp) mutable { - if (status.Ok()) { - promise.SetValue(std::move(resp)); - } else { - const TString exception = fmt::format("Failed to find cloud function '{}' at folder '{}'. Grpc status: {} ({})", - functionName, folderId, status.GRpcStatusCode, status.Msg); - promise.SetException(exception); - } - }; - - NGrpc::TCallMeta meta; - meta.Timeout = TIMEOUT; - meta.Aux.emplace_back("authorization", CredentialsProvider->GetAuthInfo()); - - ListFunctionsRequest req; - req.set_folder_id(folderId); - req.set_filter(TString{"name=\""} + UrlEscapeRet(functionName, true) + "\""); - Connection->DoRequest<ListFunctionsRequest, ListFunctionsResponse>( - std::move(req), std::move(callback), - &FunctionService::Stub::AsyncList, - meta - ); - return promise.GetFuture(); - } - - void Stop() { - Client.reset(); - } - private: - std::unique_ptr<NGrpc::TGRpcClientLow> Client; - std::unique_ptr<NGrpc::TServiceConnection<FunctionService>> Connection; - NYdb::TCredentialsProviderPtr CredentialsProvider; - }; - -public: - TCloudFunctionGateway(const TString& apiEndpoint, const TString& sslCaCert, - NYdb::TCredentialsProviderPtr credentialsProvider, - const TString& connectionName) - : Impl(std::make_shared<TImpl>(apiEndpoint, sslCaCert, credentialsProvider)) - , ConnectionName(connectionName) - { - } - - NThreading::TFuture<NDqFunction::TDqFunctionDescription> ResolveFunction(const TString& folderId, const TString& functionName) { - auto listResponse = Impl->List(folderId, functionName); - auto connectionName = ConnectionName; - return listResponse.Apply([folderId, functionName, connectionName] - (const NThreading::TFuture<ListFunctionsResponse>& future) -> NDqFunction::TDqFunctionDescription - { - auto functions = future.GetValue().Getfunctions(); - if (!functions.empty()) { - auto protoFunction = functions.at(0); - const google::protobuf::EnumDescriptor* descriptor = Function::Status_descriptor(); - TString status = descriptor->FindValueByNumber(protoFunction.Getstatus())->name(); - - return NDqFunction::TDqFunctionDescription{ - .Type = TDqFunctionType{CloudFunctionProviderName}, - .FunctionName = protoFunction.Getname(), - .Connection = connectionName, - .InvokeUrl = protoFunction.Gethttp_invoke_url(), - .Status = status - }; - } - throw yexception() << fmt::format("Failed to find cloud function '{}' at folder '{}'", functionName, folderId); - } - ); - } - - ~TCloudFunctionGateway() { - Impl->Stop(); - } - -private: - std::shared_ptr<TImpl> Impl; - const TString ConnectionName; -}; - -IDqFunctionGateway::TPtr CreateCloudFunctionGateway( - const TString& apiEndpoint, const TString& sslCaCert, - const THashMap<TString, TString>& secureParams, const TString& connectionName, - ISecuredServiceAccountCredentialsFactory::TPtr credentialsFactory) { - - const auto token = secureParams.find(connectionName); - if (token == secureParams.end()) { - throw yexception() << fmt::format("Can't find token by connection name '{}'", connectionName); - } - auto credProviderFactory = CreateCredentialsProviderFactoryForStructuredToken(credentialsFactory, token->second, true)->CreateProvider(); - return std::make_shared<TCloudFunctionGateway>(apiEndpoint, sslCaCert, credProviderFactory, connectionName); -} - -} // namespace NCloudFunction -}
\ No newline at end of file diff --git a/ydb/library/yql/providers/external_function/cloud_function/gateway/cloud_function_gateway.h b/ydb/library/yql/providers/external_function/cloud_function/gateway/cloud_function_gateway.h deleted file mode 100644 index dbe528fa32..0000000000 --- a/ydb/library/yql/providers/external_function/cloud_function/gateway/cloud_function_gateway.h +++ /dev/null @@ -1,30 +0,0 @@ -#pragma once - -#include <ydb/library/yql/providers/common/token_accessor/client/factory.h> -#include <ydb/library/yql/providers/external_function/gateway/dq_function_gateway.h> -#include <ydb/public/sdk/cpp/client/ydb_types/credentials/credentials.h> - -namespace NYql::NDq { -namespace NCloudFunction { - -constexpr TStringBuf CloudFunctionProviderName = "CloudFunction"; - -IDqFunctionGateway::TPtr CreateCloudFunctionGateway( - const TString& apiEndpoint, const TString& sslCaCert, - const THashMap<TString, TString>& secureParams, const TString& connectionName, - ISecuredServiceAccountCredentialsFactory::TPtr credentialsFactory); - -void RegisterCloudFunctionGateway(TDqFunctionGatewayFactory& factory, - const TString& apiEndpoint, const TString& sslCaCert, - ISecuredServiceAccountCredentialsFactory::TPtr credentialsFactory) { - - factory.Register(TString{CloudFunctionProviderName}, [apiEndpoint, sslCaCert, credentialsFactory] - (const THashMap<TString, TString>& secureParams, const TString& connectionName) { - return CreateCloudFunctionGateway(apiEndpoint, sslCaCert, - secureParams, connectionName, - credentialsFactory); - }); -} - -} -}
\ No newline at end of file diff --git a/ydb/library/yql/providers/external_function/common/CMakeLists.txt b/ydb/library/yql/providers/external_function/common/CMakeLists.txt deleted file mode 100644 index cf4fd061e4..0000000000 --- a/ydb/library/yql/providers/external_function/common/CMakeLists.txt +++ /dev/null @@ -1,20 +0,0 @@ - -# This file was gererated by the build system used internally in the Yandex monorepo. -# Only simple modifications are allowed (adding source-files to targets, adding simple properties -# like target_include_directories). These modifications will be ported to original -# ya.make files by maintainers. Any complex modifications which can't be ported back to the -# original buildsystem will not be accepted. - - - -add_library(providers-external_function-common) -target_compile_options(providers-external_function-common PRIVATE - -DUSE_CURRENT_UDF_ABI_VERSION -) -target_link_libraries(providers-external_function-common PUBLIC - contrib-libs-cxxsupp - yutil -) -target_sources(providers-external_function-common PRIVATE - ${CMAKE_SOURCE_DIR}/ydb/library/yql/providers/external_function/common/dq_function_types.cpp -) diff --git a/ydb/library/yql/providers/external_function/expr_nodes/CMakeLists.txt b/ydb/library/yql/providers/external_function/expr_nodes/CMakeLists.txt deleted file mode 100644 index 71b5d56f1c..0000000000 --- a/ydb/library/yql/providers/external_function/expr_nodes/CMakeLists.txt +++ /dev/null @@ -1,69 +0,0 @@ - -# This file was gererated by the build system used internally in the Yandex monorepo. -# Only simple modifications are allowed (adding source-files to targets, adding simple properties -# like target_include_directories). These modifications will be ported to original -# ya.make files by maintainers. Any complex modifications which can't be ported back to the -# original buildsystem will not be accepted. - - - -add_library(providers-external_function-expr_nodes) -target_link_libraries(providers-external_function-expr_nodes PUBLIC - contrib-libs-cxxsupp - yutil - yql-core-expr_nodes - contrib-libs-cxxsupp - yutil - contrib-libs-cxxsupp - yutil - contrib-libs-cxxsupp - yutil - tools-python3-src - contrib-libs-cxxsupp - yutil - python-symbols-libc - python-symbols-python - tools-python3-lib - contrib-libs-cxxsupp - yutil - tools-python3-src - library-cpp-resource - contrib-libs-cxxsupp - yutil - contrib-libs-cxxsupp - yutil - contrib-libs-cxxsupp - yutil - contrib-libs-cxxsupp - yutil - contrib-libs-cxxsupp - yutil - cpp-malloc-jemalloc - library-cpp-cpuid_check - src-Modules-_sqlite -) -target_sources(providers-external_function-expr_nodes PRIVATE - ${CMAKE_SOURCE_DIR}/ydb/library/yql/providers/external_function/expr_nodes/dq_function_expr_nodes.cpp - ${CMAKE_BINARY_DIR}/ydb/library/yql/providers/external_function/expr_nodes/dq_function_expr_nodes.gen.h - ${CMAKE_BINARY_DIR}/ydb/library/yql/providers/external_function/expr_nodes/dq_function_expr_nodes.decl.inl.h - ${CMAKE_BINARY_DIR}/ydb/library/yql/providers/external_function/expr_nodes/dq_function_expr_nodes.defs.inl.h - ${CMAKE_SOURCE_DIR}/library/python/symbols/module/module.cpp - ${CMAKE_SOURCE_DIR}/contrib/python/MarkupSafe/py3/markupsafe/_speedups.c -) -add_custom_command( - OUTPUT - ${CMAKE_BINARY_DIR}/ydb/library/yql/providers/external_function/expr_nodes/dq_function_expr_nodes.gen.h - ${CMAKE_BINARY_DIR}/ydb/library/yql/providers/external_function/expr_nodes/dq_function_expr_nodes.decl.inl.h - ${CMAKE_BINARY_DIR}/ydb/library/yql/providers/external_function/expr_nodes/dq_function_expr_nodes.defs.inl.h - DEPENDS - ${CMAKE_SOURCE_DIR}/ydb/library/yql/core/expr_nodes_gen/yql_expr_nodes_gen.jnj - ${CMAKE_SOURCE_DIR}/ydb/library/yql/providers/external_function/expr_nodes/dq_function_expr_nodes.json - ${CMAKE_BINARY_DIR}/ydb/library/yql/core/expr_nodes_gen/gen/gen - COMMAND - ${CMAKE_BINARY_DIR}/ydb/library/yql/core/expr_nodes_gen/gen/gen - ${CMAKE_SOURCE_DIR}/ydb/library/yql/core/expr_nodes_gen/yql_expr_nodes_gen.jnj - ${CMAKE_SOURCE_DIR}/ydb/library/yql/providers/external_function/expr_nodes/dq_function_expr_nodes.json - ${CMAKE_BINARY_DIR}/ydb/library/yql/providers/external_function/expr_nodes/dq_function_expr_nodes.gen.h - ${CMAKE_BINARY_DIR}/ydb/library/yql/providers/external_function/expr_nodes/dq_function_expr_nodes.decl.inl.h - ${CMAKE_BINARY_DIR}/ydb/library/yql/providers/external_function/expr_nodes/dq_function_expr_nodes.defs.inl.h -) diff --git a/ydb/library/yql/providers/external_function/provider/CMakeLists.txt b/ydb/library/yql/providers/external_function/provider/CMakeLists.txt deleted file mode 100644 index 5805205044..0000000000 --- a/ydb/library/yql/providers/external_function/provider/CMakeLists.txt +++ /dev/null @@ -1,30 +0,0 @@ - -# This file was gererated by the build system used internally in the Yandex monorepo. -# Only simple modifications are allowed (adding source-files to targets, adding simple properties -# like target_include_directories). These modifications will be ported to original -# ya.make files by maintainers. Any complex modifications which can't be ported back to the -# original buildsystem will not be accepted. - - - -add_library(providers-external_function-provider) -target_compile_options(providers-external_function-provider PRIVATE - -DUSE_CURRENT_UDF_ABI_VERSION -) -target_link_libraries(providers-external_function-provider PUBLIC - contrib-libs-cxxsupp - yutil - common-token_accessor-client - providers-common-provider - providers-external_function-expr_nodes - providers-external_function-common - providers-external_function-gateway - library-yql-core - yql-core-expr_nodes -) -target_sources(providers-external_function-provider PRIVATE - ${CMAKE_SOURCE_DIR}/ydb/library/yql/providers/external_function/provider/dq_function_load_meta.cpp - ${CMAKE_SOURCE_DIR}/ydb/library/yql/providers/external_function/provider/dq_function_intent_transformer.cpp - ${CMAKE_SOURCE_DIR}/ydb/library/yql/providers/external_function/provider/dq_function_provider.cpp - ${CMAKE_SOURCE_DIR}/ydb/library/yql/providers/external_function/provider/dq_function_datasource.cpp -) diff --git a/ydb/library/yql/providers/common/http_gateway/mock/CMakeLists.txt b/ydb/library/yql/providers/function/common/CMakeLists.txt index 2926e538fd..defe292fd4 100644 --- a/ydb/library/yql/providers/common/http_gateway/mock/CMakeLists.txt +++ b/ydb/library/yql/providers/function/common/CMakeLists.txt @@ -7,15 +7,14 @@ -add_library(common-http_gateway-mock) -target_compile_options(common-http_gateway-mock PRIVATE +add_library(providers-function-common) +target_compile_options(providers-function-common PRIVATE -DUSE_CURRENT_UDF_ABI_VERSION ) -target_link_libraries(common-http_gateway-mock PUBLIC +target_link_libraries(providers-function-common PUBLIC contrib-libs-cxxsupp yutil - providers-common-http_gateway ) -target_sources(common-http_gateway-mock PRIVATE - ${CMAKE_SOURCE_DIR}/ydb/library/yql/providers/common/http_gateway/mock/yql_http_mock_gateway.cpp +target_sources(providers-function-common PRIVATE + ${CMAKE_SOURCE_DIR}/ydb/library/yql/providers/function/common/dq_function_types.cpp ) diff --git a/ydb/library/yql/providers/external_function/common/dq_function_types.cpp b/ydb/library/yql/providers/function/common/dq_function_types.cpp index 405a75d41f..405a75d41f 100644 --- a/ydb/library/yql/providers/external_function/common/dq_function_types.cpp +++ b/ydb/library/yql/providers/function/common/dq_function_types.cpp diff --git a/ydb/library/yql/providers/external_function/common/dq_function_types.h b/ydb/library/yql/providers/function/common/dq_function_types.h index 7716f33613..7716f33613 100644 --- a/ydb/library/yql/providers/external_function/common/dq_function_types.h +++ b/ydb/library/yql/providers/function/common/dq_function_types.h diff --git a/ydb/library/yql/providers/function/expr_nodes/CMakeLists.txt b/ydb/library/yql/providers/function/expr_nodes/CMakeLists.txt new file mode 100644 index 0000000000..1fe82d4847 --- /dev/null +++ b/ydb/library/yql/providers/function/expr_nodes/CMakeLists.txt @@ -0,0 +1,69 @@ + +# This file was gererated by the build system used internally in the Yandex monorepo. +# Only simple modifications are allowed (adding source-files to targets, adding simple properties +# like target_include_directories). These modifications will be ported to original +# ya.make files by maintainers. Any complex modifications which can't be ported back to the +# original buildsystem will not be accepted. + + + +add_library(providers-function-expr_nodes) +target_link_libraries(providers-function-expr_nodes PUBLIC + contrib-libs-cxxsupp + yutil + yql-core-expr_nodes + contrib-libs-cxxsupp + yutil + contrib-libs-cxxsupp + yutil + contrib-libs-cxxsupp + yutil + tools-python3-src + contrib-libs-cxxsupp + yutil + python-symbols-libc + python-symbols-python + tools-python3-lib + contrib-libs-cxxsupp + yutil + tools-python3-src + library-cpp-resource + contrib-libs-cxxsupp + yutil + contrib-libs-cxxsupp + yutil + contrib-libs-cxxsupp + yutil + contrib-libs-cxxsupp + yutil + contrib-libs-cxxsupp + yutil + cpp-malloc-jemalloc + library-cpp-cpuid_check + src-Modules-_sqlite +) +target_sources(providers-function-expr_nodes PRIVATE + ${CMAKE_SOURCE_DIR}/ydb/library/yql/providers/function/expr_nodes/dq_function_expr_nodes.cpp + ${CMAKE_BINARY_DIR}/ydb/library/yql/providers/function/expr_nodes/dq_function_expr_nodes.gen.h + ${CMAKE_BINARY_DIR}/ydb/library/yql/providers/function/expr_nodes/dq_function_expr_nodes.decl.inl.h + ${CMAKE_BINARY_DIR}/ydb/library/yql/providers/function/expr_nodes/dq_function_expr_nodes.defs.inl.h + ${CMAKE_SOURCE_DIR}/library/python/symbols/module/module.cpp + ${CMAKE_SOURCE_DIR}/contrib/python/MarkupSafe/py3/markupsafe/_speedups.c +) +add_custom_command( + OUTPUT + ${CMAKE_BINARY_DIR}/ydb/library/yql/providers/function/expr_nodes/dq_function_expr_nodes.gen.h + ${CMAKE_BINARY_DIR}/ydb/library/yql/providers/function/expr_nodes/dq_function_expr_nodes.decl.inl.h + ${CMAKE_BINARY_DIR}/ydb/library/yql/providers/function/expr_nodes/dq_function_expr_nodes.defs.inl.h + DEPENDS + ${CMAKE_SOURCE_DIR}/ydb/library/yql/core/expr_nodes_gen/yql_expr_nodes_gen.jnj + ${CMAKE_SOURCE_DIR}/ydb/library/yql/providers/function/expr_nodes/dq_function_expr_nodes.json + ${CMAKE_BINARY_DIR}/ydb/library/yql/core/expr_nodes_gen/gen/gen + COMMAND + ${CMAKE_BINARY_DIR}/ydb/library/yql/core/expr_nodes_gen/gen/gen + ${CMAKE_SOURCE_DIR}/ydb/library/yql/core/expr_nodes_gen/yql_expr_nodes_gen.jnj + ${CMAKE_SOURCE_DIR}/ydb/library/yql/providers/function/expr_nodes/dq_function_expr_nodes.json + ${CMAKE_BINARY_DIR}/ydb/library/yql/providers/function/expr_nodes/dq_function_expr_nodes.gen.h + ${CMAKE_BINARY_DIR}/ydb/library/yql/providers/function/expr_nodes/dq_function_expr_nodes.decl.inl.h + ${CMAKE_BINARY_DIR}/ydb/library/yql/providers/function/expr_nodes/dq_function_expr_nodes.defs.inl.h +) diff --git a/ydb/library/yql/providers/external_function/expr_nodes/dq_function_expr_nodes.cpp b/ydb/library/yql/providers/function/expr_nodes/dq_function_expr_nodes.cpp index 895120d52e..895120d52e 100644 --- a/ydb/library/yql/providers/external_function/expr_nodes/dq_function_expr_nodes.cpp +++ b/ydb/library/yql/providers/function/expr_nodes/dq_function_expr_nodes.cpp diff --git a/ydb/library/yql/providers/external_function/expr_nodes/dq_function_expr_nodes.h b/ydb/library/yql/providers/function/expr_nodes/dq_function_expr_nodes.h index a9993ba665..1d3b8923c0 100644 --- a/ydb/library/yql/providers/external_function/expr_nodes/dq_function_expr_nodes.h +++ b/ydb/library/yql/providers/function/expr_nodes/dq_function_expr_nodes.h @@ -1,13 +1,13 @@ #pragma once -#include <ydb/library/yql/providers/external_function/expr_nodes/dq_function_expr_nodes.gen.h> +#include <ydb/library/yql/providers/function/expr_nodes/dq_function_expr_nodes.gen.h> #include <ydb/library/yql/core/expr_nodes/yql_expr_nodes.h> #include <ydb/library/yql/providers/common/provider/yql_provider_names.h> namespace NYql { namespace NNodes { -#include <ydb/library/yql/providers/external_function/expr_nodes/dq_function_expr_nodes.decl.inl.h> +#include <ydb/library/yql/providers/function/expr_nodes/dq_function_expr_nodes.decl.inl.h> class TFunctionDataSource: public NGenerated::TFunctionDataSourceStub<TExprBase, TCallable, TCoAtom> { public: @@ -34,7 +34,7 @@ public: } }; -#include <ydb/library/yql/providers/external_function/expr_nodes/dq_function_expr_nodes.defs.inl.h> +#include <ydb/library/yql/providers/function/expr_nodes/dq_function_expr_nodes.defs.inl.h> } // namespace NNodes } // namespace NYql diff --git a/ydb/library/yql/providers/external_function/expr_nodes/dq_function_expr_nodes.json b/ydb/library/yql/providers/function/expr_nodes/dq_function_expr_nodes.json index 16084c8755..16084c8755 100644 --- a/ydb/library/yql/providers/external_function/expr_nodes/dq_function_expr_nodes.json +++ b/ydb/library/yql/providers/function/expr_nodes/dq_function_expr_nodes.json diff --git a/ydb/library/yql/providers/external_function/gateway/CMakeLists.txt b/ydb/library/yql/providers/function/gateway/CMakeLists.txt index 7a707ccafd..eb9ba65b98 100644 --- a/ydb/library/yql/providers/external_function/gateway/CMakeLists.txt +++ b/ydb/library/yql/providers/function/gateway/CMakeLists.txt @@ -7,17 +7,17 @@ -add_library(providers-external_function-gateway) -target_compile_options(providers-external_function-gateway PRIVATE +add_library(providers-function-gateway) +target_compile_options(providers-function-gateway PRIVATE -DUSE_CURRENT_UDF_ABI_VERSION ) -target_link_libraries(providers-external_function-gateway PUBLIC +target_link_libraries(providers-function-gateway PUBLIC contrib-libs-cxxsupp yutil common-token_accessor-client - providers-external_function-common + providers-function-common cpp-threading-future ) -target_sources(providers-external_function-gateway PRIVATE - ${CMAKE_SOURCE_DIR}/ydb/library/yql/providers/external_function/gateway/dq_function_gateway.cpp +target_sources(providers-function-gateway PRIVATE + ${CMAKE_SOURCE_DIR}/ydb/library/yql/providers/function/gateway/dq_function_gateway.cpp ) diff --git a/ydb/library/yql/providers/external_function/gateway/dq_function_gateway.cpp b/ydb/library/yql/providers/function/gateway/dq_function_gateway.cpp index 518c0c9e40..518c0c9e40 100644 --- a/ydb/library/yql/providers/external_function/gateway/dq_function_gateway.cpp +++ b/ydb/library/yql/providers/function/gateway/dq_function_gateway.cpp diff --git a/ydb/library/yql/providers/external_function/gateway/dq_function_gateway.h b/ydb/library/yql/providers/function/gateway/dq_function_gateway.h index dd460c26ce..1404b7709c 100644 --- a/ydb/library/yql/providers/external_function/gateway/dq_function_gateway.h +++ b/ydb/library/yql/providers/function/gateway/dq_function_gateway.h @@ -1,7 +1,7 @@ #pragma once #include <ydb/library/yql/providers/common/token_accessor/client/factory.h> -#include <ydb/library/yql/providers/external_function/common/dq_function_types.h> +#include <ydb/library/yql/providers/function/common/dq_function_types.h> #include <library/cpp/threading/future/future.h> #include <unordered_map> diff --git a/ydb/library/yql/providers/function/provider/CMakeLists.txt b/ydb/library/yql/providers/function/provider/CMakeLists.txt new file mode 100644 index 0000000000..6daea33818 --- /dev/null +++ b/ydb/library/yql/providers/function/provider/CMakeLists.txt @@ -0,0 +1,30 @@ + +# This file was gererated by the build system used internally in the Yandex monorepo. +# Only simple modifications are allowed (adding source-files to targets, adding simple properties +# like target_include_directories). These modifications will be ported to original +# ya.make files by maintainers. Any complex modifications which can't be ported back to the +# original buildsystem will not be accepted. + + + +add_library(providers-function-provider) +target_compile_options(providers-function-provider PRIVATE + -DUSE_CURRENT_UDF_ABI_VERSION +) +target_link_libraries(providers-function-provider PUBLIC + contrib-libs-cxxsupp + yutil + common-token_accessor-client + providers-common-provider + providers-function-expr_nodes + providers-function-common + providers-function-gateway + library-yql-core + yql-core-expr_nodes +) +target_sources(providers-function-provider PRIVATE + ${CMAKE_SOURCE_DIR}/ydb/library/yql/providers/function/provider/dq_function_load_meta.cpp + ${CMAKE_SOURCE_DIR}/ydb/library/yql/providers/function/provider/dq_function_intent_transformer.cpp + ${CMAKE_SOURCE_DIR}/ydb/library/yql/providers/function/provider/dq_function_provider.cpp + ${CMAKE_SOURCE_DIR}/ydb/library/yql/providers/function/provider/dq_function_datasource.cpp +) diff --git a/ydb/library/yql/providers/external_function/provider/dq_function_datasource.cpp b/ydb/library/yql/providers/function/provider/dq_function_datasource.cpp index 0889cdb711..0889cdb711 100644 --- a/ydb/library/yql/providers/external_function/provider/dq_function_datasource.cpp +++ b/ydb/library/yql/providers/function/provider/dq_function_datasource.cpp diff --git a/ydb/library/yql/providers/external_function/provider/dq_function_intent_transformer.cpp b/ydb/library/yql/providers/function/provider/dq_function_intent_transformer.cpp index bce8645a9d..d978ffde02 100644 --- a/ydb/library/yql/providers/external_function/provider/dq_function_intent_transformer.cpp +++ b/ydb/library/yql/providers/function/provider/dq_function_intent_transformer.cpp @@ -1,7 +1,7 @@ #include "dq_function_provider.h" #include <ydb/library/yql/providers/common/transform/yql_visit.h> -#include <ydb/library/yql/providers/external_function/expr_nodes/dq_function_expr_nodes.h> +#include <ydb/library/yql/providers/function/expr_nodes/dq_function_expr_nodes.h> namespace NYql::NDqFunction { namespace { diff --git a/ydb/library/yql/providers/external_function/provider/dq_function_load_meta.cpp b/ydb/library/yql/providers/function/provider/dq_function_load_meta.cpp index 9f6b9beca1..9f6b9beca1 100644 --- a/ydb/library/yql/providers/external_function/provider/dq_function_load_meta.cpp +++ b/ydb/library/yql/providers/function/provider/dq_function_load_meta.cpp diff --git a/ydb/library/yql/providers/external_function/provider/dq_function_provider.cpp b/ydb/library/yql/providers/function/provider/dq_function_provider.cpp index fbcf9ce7cd..fbcf9ce7cd 100644 --- a/ydb/library/yql/providers/external_function/provider/dq_function_provider.cpp +++ b/ydb/library/yql/providers/function/provider/dq_function_provider.cpp diff --git a/ydb/library/yql/providers/external_function/provider/dq_function_provider.h b/ydb/library/yql/providers/function/provider/dq_function_provider.h index 3aa6566108..2bcfdc076c 100644 --- a/ydb/library/yql/providers/external_function/provider/dq_function_provider.h +++ b/ydb/library/yql/providers/function/provider/dq_function_provider.h @@ -1,8 +1,8 @@ #pragma once #include <ydb/library/yql/providers/common/token_accessor/client/factory.h> -#include <ydb/library/yql/providers/external_function/gateway/dq_function_gateway.h> -#include <ydb/library/yql/providers/external_function/common/dq_function_types.h> +#include <ydb/library/yql/providers/function/gateway/dq_function_gateway.h> +#include <ydb/library/yql/providers/function/common/dq_function_types.h> #include <ydb/library/yql/providers/common/provider/yql_data_provider_impl.h> #include <util/generic/string.h> diff --git a/ydb/library/yql/providers/external_function/provider/dq_function_provider_impl.h b/ydb/library/yql/providers/function/provider/dq_function_provider_impl.h index 6c37e858eb..6c37e858eb 100644 --- a/ydb/library/yql/providers/external_function/provider/dq_function_provider_impl.h +++ b/ydb/library/yql/providers/function/provider/dq_function_provider_impl.h |